CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS FUNDAMENTOS DE TECNOLOGIA DA INFORMAO Produo Textual Interdisciplinar Portfolio Modelo de Processo de Software - Cascata
Breves 2013
Breves 2013
FUNDAMENTOS DE TECNOLOGIA DA INFORMAO Produo Textual Interdisciplinar Portfolio Modelo de Processo de Software - Cascata
Trabalho apresentado ao Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas Universidade Norte do Paran - UNOPAR, para as disciplinas de Sistemas de Computao e Informao - Adaptao, tica, Poltica e Sociedade - Adaptao, Interao Humano-computador - Adaptao, Segurana da Informao - Adaptao, Metodologia Cientfica, Processo de Negcio e Software, Introduo ao Desenvolvimento de Sistemas Web e Seminrios II.
WANDERLEY NUNES CRISTO
SUMRIO 1 Introduo ........................................................................................................... 3 2 Objetivo ............................................................................................................... 4 3 Modelo Cascata ou Cl ssico ............................................................................. 5 3.1 Descri o do Modelo ...................................................................................... 6 3.2 As Diferentes Etapas de Desenvolvimento .................................................. 7 3.2.1 Anlise e Definio dos Requisitos ........................................................... 7 3.2.2 Impl ementao ............................................................................................ 7 3.2.3 Teste do Sistema ......................................................................................... 8 3.2.4 Manuteno ................................................................................................. 8 4 Problemas ........................................................................................................... 9 5 Domni o de Aplicaes .................................................................................... 10 5.1 Vantagens do Model o ................................................................................... 10 5.2 Desvantagens do Modelo ............................................................................ 10 6 Modelo Cascata eo Php (Hypertext Preprocessor) ....................................... 11 7 Concluso ......................................................................................................... 12 Referncias .............................................................................................................. 13
3 1 INTRODUO O modelo em cascata um modelo de desenvolvimento de software sequencial no qual o desenvolvimento visto como um fluir constante para frente (como uma cascata) atravs das fases de anlise de requisitos, projeto, implementao, testes (validao), integrao, e manuteno de software. A origem do termo cascata frequentemente citado como sendo um artigo publicado em 1970 por W. W. Royce; ironicamente, Royce defendia um abordagem iterativa para o desenvolvimento de software e nem mesmo usou o termo cascata. Royce originalmente descreve o que hoje conhecido como o modelo em cascata como um exemplo de um mtodo que ele argumentava ser um risco e um convite para falhas.
4 2 OBJETIVO Este trabalho tem por objetivo levar o aluno a conhecer as principais caractersticas do Modelo de Processo de Software Cascata. Apresentando um pouco de sua histria, de seu desenvolvimento, de suas vantagens e desvantagem e por fim apresentar um uma linguagem de programao onde poderamos utilizar esse modelo de processo de software.
5 3 MODELO CASCATA OU CLSSICO O modelo cascata ou clssico, que tambm conhecido por abordagem top-down, foi proposto por Royce em 1970. At meados da dcada de 1980 foi o nico modelo com aceitao geral. Esse modelo foi derivado de modelos de atividade de engenharia com o fim de estabelecer ordem no desenvolvimento de grandes produtos de software. Comparado com outros modelos de desenvolvimento de software, este mais rgido e menos administrativo. O modelo cascata um dos mais importantes modelos, e referncia para muitos outros modelos, servindo de base para muitos projetos modernos. A verso original deste modelo foi melhorada e retocada ao longo do tempo e continua sendo muito utilizado hoje em dia. Grande parte do sucesso do modelo cascata est no facto dele ser orientado para documentao. No entanto deve salientar-se que a documentao abrange mais do que arquivo de texto, abrange representaes grficas ou mesmo simulao. Uma abordagem incorporando processos, mtodos e ferramentas deve ser utilizada pelos criadores de software. Esta abordagem muitas vezes designada de Abordagem do Processo de Desenvolvimento. Existem trs abordagens de modelos de processo de desenvolvimento de software. Elas tentem colocar ordem numa atividade inerentemente catica. Uma vez definido o modelo de ciclo de desenvolvimento, existem trs abordagens para implement-lo: Cascata pura; Incremental; Evolucionria. Toda esta seco constitui uma interpretao do disposto na referncia [FAI96].
6 3.1 DESCRIO DO MODELO
O modelo Cascata um modelo de engenharia projectado para ser aplicado no desenvolvimento do software. A ideia principal que o dirige que as diferentes etapas de desenvolvimento seguem uma sequncia: a sada da primeira etapa flu para a segunda etapa e a sada da segunda etapa flu para a terceira e assim por diante. As actividades a executar so agrupadas em tarefas, executadas sequencialmente, de forma que uma tarefa s poder ter incio quando a anterior tiver terminado. O modelo em cascata tem a vantagem que s avana para a tarefa seguinte quando o cliente valida e aceita os produtos finais da tarefa atual. O modelo pressupe que o cliente participa activamente no projecto e que sabe muito bem o que quer. Este modelo minimiza o impacto da compreenso adquirida no decurso de um projecto, uma vez que se um processo no pode voltar atrs de modo a alterar os modelos e as concluses das tarefas anteriores, normal que as novas ideias sobre o sistema no sejam aproveitadas. Numa tentativa de resolver este tipo de problema foi definido um novo tipo de processo baseado no clssico em cascata, designado por modelo em cascata revisto, cuja principal diferena consiste em
7 prever a possibilidade de a partir de qualquer tarefa do ciclo se poder regressar a uma tarefa anterior de forma a contemplar alteraes funcionais e/ou tcnicas que entretanto tenham surgido, em virtude de um maior conhecimento que entretanto se tenha obtido. O risco desta abordagem que, na ausncia de um processo de gesto do projecto e de controlo das alteraes bem definido, podemos passar o tempo num ciclo infinito, sem nunca se atingir o objectivo final, ou seja disponibilizar o sistema a funcionar.
3.2 AS DIFERENTES ETAPAS DE DESENVOLVIMENTO 3.2.1 ANLISE E DEFINIO DOS REQUISITOS Nesta etapa, estabelecem-se os requisitos do produto que se deseja desenvolver, o que consiste usualmente nos servios que se devem fornecer, limitaes e objetivos do software. Sendo isso estabelecido, os requisitos devem ser definidos de uma maneira apropriada para que sejam teis na etapa seguinte. Esta etapa inclui tambm a documentao e o estudo da facilidade e da viabilidade do projeto com o fim de determinar o processo de incio de desenvolvimento do projeto do sistema; pode ser vista como uma concepo de um produto de software e tambm como o incio do seu ciclo de vida. O projeto do sistema um processo de vrios passos que se centraliza em quatro atributos diferentes do sistema: estrutura de dados, arquitetura do software, detalhes procedais e caracterizao das interfaces. O processo de projeto representa os requisitos de uma forma que permita a codificao do produto ( uma prvia etapa de codificao). Da mesma maneira que a anlise dos requisitos, o projeto documentado e transforma-se em uma parte do software.
3.2.2 IMPLEMENTAO Esta a etapa em que so criados os programas. Se o projeto
8 possui um nvel de detalhe elevado, a etapa de codificao pode implementar-se automaticamente. A princpio, sugere-se incluir um teste unitrio dos mdulos nesta etapa; nesse caso, as unidades de cdigo produzidas so testadas individualmente antes de passar a etapa de integrao e teste global. 3.2.3 TESTE DO SISTEMA Concluda a codificao, comea a fase de teste do sistema. O processo de teste centraliza-se em dois pontos principais: as lgicas internas do software e as funcionalidades externas. Esta fase decide se foram solucionados erros de comportamento do software e assegura que as entradas definidas produzam resultados reais que coincidam com os requisitos especificados. 3.2.4 MANUTENO Essa etapa consiste na correo de erros que no foram previamente detectados, em melhorias funcionais e de preferncia e outros tipos de suporte. A etapa de manuteno parte do ciclo de vida do produto de software e no pertence estritamente ao seu desenvolvimento. Melhorias e correes podem ser consideradas como parte do desenvolvimento. As etapas descritas so as principais, porm existem sub-etapas dentro de cada etapa, as quais diferem muito de um projeto para outro. Tambm possvel que certos projetos de software exijam a incorporao de uma etapa extra ou a separao de uma etapa em outras etapas. Com certeza, todas essas variaes do modelo Cascata possuem o mesmo conceito bsico: a ideia de que uma etapa fornece sada que sero usadas como entradas para a etapa seguinte. Portanto, o processo de desenvolvimento de um produto de software de acordo com o modelo Cascata simples de conhecer e controlar. Outras atividades que tambm so levadas em considerao em cada uma das etapas de desenvolvimento do software: a documentao, a verificao e a administrao das etapas serem documentos. A verificao, por sua vez, necessria para que uma etapa fornea os dados corretos para a etapa seguinte. J a administrao, efetua a gesto e o controle da etapa.
9 4 PROBLEMAS O ciclo de vida Cascata o paradigma mais visto e mais amplamente empregue na engenharia de software, porm sua aplicabilidade, em muitos campos, tem sido questionada. Entre os problemas que surgem quando se aplica o modelo so: Na realidade, os projetos raramente seguem o fluxo sequencial que o modelo prope. A interao sempre necessria e est presente, criando problemas na aplicao do modelo; Em princpio, difcil para o cliente especificar os requisitos explicitamente, o que acarreta a incerteza natural do incio de qualquer projeto; O cliente deve ser paciente, pois uma verso funcional no estar disponvel at o final do desenvolvimento. Qualquer erro ou mal-entendido, se no for detectado at que o software seja revisado, pode ser desastroso. Apesar desses problemas, o modelo Cascata tem um lugar bem definido e importante nos trabalhos de engenharia de software. Ele fornece um padro do qual se encaixam mtodos para a anlise, projeto, codificao e manuteno.
10 5 DOMNIO DE APLICAES O modelo Cascata aplica-se bem em situaes em que o software a ser desenvolvido simples, os requisitos so bem conhecidos, a tecnologia usada bem acessvel e os recursos para o desenvolvimento esto disponveis.
5.1 VANTAGENS DO MODELO Torna o processo de desenvolvimento estruturado. Tem uma ordem sequencial de fases. Cada fase cai em cascata na prxima e cada fase deve estar terminada antes do incio da seguinte; Todas as atividades identificadas nas fases do modelo so fundamentais e esto na ordem certa; Esta abordagem atualmente a norma e provavelmente permanecer como tal nos prximos tempos. 5.2 DESVANTAGENS DO MODELO No fornece feedback entre as fases e no permite a atualizao ou redefinio das fases anteriores; No suporta modificaes nos requisitos; No prev a manuteno; No permite a reutilizao; excessivamente sincronizado; Se ocorrer um atraso todo o processo afetado; Faz aparecer o software muito tarde. O modelo conduz a uma rgida diviso de trabalho (analistas, arquitetos, programadores, controladores de qualidade, programadores de manuteno); S o chefe do projeto tem uma viso global do problema; Quando algo corre mal, a culpa dos outros... Ningum se sente realmente responsvel.
11 6 MODELO CASCATA EO PHP (HYPERTEXT PREPROCESSOR) PHP (Hypertext Preprocessor, originalmente Personal Home Page) uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicaes presentes e atuantes no lado do servidor, capazes de gerar contedo dinmico na World Wide Web. Nesse contexto por ser uma linguagem muito utilizada atualmente e bastante dinmica preciso termos tudo muito bem definidos desde o incio do planejamento at a concluso. Pois, dessa forma no momento de realizar a manuteno do software no teremos problemas. Alm disso, os projetos construdos com PHP so simples e pequenos comparados com outras linguagens usadas na construo de sistemas ERPs, por exemplo. E, para o desenvolvimento em PHP os requisitos exigidos so mnimos, o que para o planejamento com com modelo Cascata muito bem atendido.
12 7 CONCLUSO Para o planejamento com qualquer modelo de processo de software preciso estudar muito bem o objetivo do software a ser desenvolvido para a partir da iniciar o planejamento do mesmo, analisando os requisitos, como vai se dar a implementao, os testes e as futuras manutenes para o funcionamento perfeito do software. Em geral o Modelo Cascata possui uma caracterstica que, pessoalmente, gosto muito, pois podemos amarrar tudo no planejamento do software, ou seja, antes de sua implementao. Para softwares desenvolvidos com PHP, esse modelo aplica-se muito bem, pois por ser uma linguagem interpretada muito comum mudanas bruscas no projetos o que proporciona problemas no desenvolvimento do mesmo.
13 REFERNCIAS WIKIPEDIA, Modelo em Cascata. Disponvel em: (http://pt.wikipedia.org/wiki/Modelo_em_cascata) Acesso em: 01 de setembro de 2013. Engenharia de Software I, Model o Cascata. Universidade do Vale do Sapuca 2005. BLOGSPOT, Modelo em Cascata. Disponvel em: (http://modelocascata.blogspot.com.br/) Acesso em: 01 de setembro de 2013. WIKIPEDIA, PHP. Disponvel em: (http://pt.wikipedia.org/wiki/PHP) Acesso em: 01 de setembro de 2013.