Teoria Geral de Sistemas 2 Conceito Corresponde as fases ou atividades executadas em um projeto de desenvolvimento de sistemas. Principais Objetivos: Facilita o entendimento do sistema em seu desenvolvimento (analistas e programadores) Introduz consistncia entre projetos com metodologias diferentes Organiza as atividades do gerente do projeto em relao ao controle e a tomada de decises. So conhecidos como: ciclo de vida clssico (bottom-up) semi-estruturado estruturado prototipado
3 Ciclo de Vida Clssico Uso da implementao bottom-up (testamos os mdulos, os subsistemas e ao final o sistema). Nada esta terminado at que esteja totalmente pronto. Erros mais srios (interface entre subsistemas) so encontrados ao final dos testes do projeto. Demandam maior tempo de depurao e testes. Fases organizadas sequencialmente, sem alteraes em relao a mudanas no ambiente.
Requisitos do Sistema Requisitos do Software Operaes Testes Codificao Projeto de Programas Anlise Modelo em Cascata de desenvolvimento de sistemas 4 A fase de levantamento e a fase de anlise podem ser reunidas em uma s fase. Pode no haver uma fase chamada estudo do hardware se for garantido que qualquer novo sistema pode ser implementado em um computador existente sem causar srios impactos operacionais. As fases preliminares de projeto e de projeto detalhado podem ser reunidas em uma nica fase chamada projeto. Algumas das fases de teste podem ser agrupadas numa s fase. Assim, o ciclo de vida de um projeto de uma organizao individual pode ter cinco, sete ou doze fases, mas, ainda continuar sendo da variedade clssica.
5 O que caracteriza o ciclo de vida de um projeto como clssico so duas caractristicas: uma forte tendncia implantao bottom-up do sistema a insistncia na progresso linear e seqencial entre uma fase e a seguinte. Obs: O uso da implementao bottom-up uma das maiores fraquezas do ciclo de vida do projeto clssico. No se conhece a origem dessa abordagem, porm pode ter sido emprestada de indstrias de fabricao em linha de montagem. Nada est terminado at que esteja totalmente pronto. Assim, se o projeto estiver atrasado e o prazo final coincidir com o meio do teste de sistema, no haver nada para mostrar ao usurio exceto uma enorme pilha de listagem de programas.
6 Os erros mais triviais so encontrados no incio do perodo de teste e os erros mais srios so encontrados no final. Tais erros podem levar modificao de muitos mdulos, e podem ter um devastador impacto no programa na hora em que todos se sentem cansados e irritados de ter trabalho de maneira exaustiva por tantos meses. A depurao de erros tende a ser extremamente difcil durante os estgios finais dos testes do sistema. A depurao a arte de descobrir onde est o erro (e a determinao subseqente de como corrigi-lo). Quando um erro descoberto durante a fase de testes de sistema de um projeto bottom-up muitas vezes extremamente difcil dizer qual o mdulo que contm o erro.
7 O projeto normalmente sofre grandes atrasos. A segunda principal fraqueza do ciclo de vida do projeto clssico sua insistncia em que as fases se organizem seqencialmente uma em seguida outra. Na realidade, muitas organizaes formalizam essa noo com um ritual conhecido como congelamento das especificaes ou congelamento dos documentos do projeto.
8 Projeto Semi Estruturado
Comeando no final da dcada de 70 e no incio da dcada de 80 houve um crescente reconhecimento de que as tcnicas como projeto estruturado, programao estruturada e implementao top-down deveriam ser oficialmente reconhecidas no ciclo de vida de projetos. Esse reconhecimento conduziu ao ciclo de vida de projeto semi- estruturado. Nele aparecem duas evidentes caractersticas ausentes na abordagem clssica: A seqncia bottom-up substituda pela implementao top- down, uma abordagem onde os mdulos de alto nvel so codificados e testados em primeiro lugar, seguidos pelos mdulos detalhados de baixo nvel. H, tambm, uma forte indicao de que a programao estruturada ser usada como mtodo real de codificao.
9 A implementao top-down significa que alguma codificao e alguns testes ocorram paralelamente. Isso certamente representa um importante afastamento das fases seqncias que vimos no ciclo de vida clssica. Em particular, pode significar uma realimentao entre a atividade de codificao e de teste e a de depurao de erros. Talvez mais importante, o uso da implementao top-down leva os implementadores e os analistas de sistemas a consultar os usurios aps as especificaes terem sido cerimoniosamente congeladas. Desse modo, torna-se mais difcil que o usurio aponte erros e equvocos relacionados ao que foi acordado. 10 Existe um detalhe final sobre o ciclo de vida semi- estruturado: uma parte significativa do trabalho que ocorre sob o ttulo de "projeto estruturado" realmente um esforo manual para corrigir especificaes narrativas mal feitas. Codificao e testes dos mdulos ocorrem paralelamente. Realimentao entre as atividades de codificao, testes e depurao de erros. Realimentao entre o processo de implementao e anlise causados por erros na especificao do sistema pelo usurio. Correo das especificaes narrativas mal feitas (documento entregue pelos analistas aos projetistas).
11 Ciclo de Vida Estruturado O "Projeto" significa estabelecer a forma ou o mtodo de uma soluo que nos auxilie na tomada de decises. Vantagens de um sistema estruturado: Com um projeto estruturado mais fcil conseguir sistemas de baixo custo, pois dividimos em pequenas poes para que possam ser facilmente controladas e seus problemas solucionados separadamente. Minimizamos a manuteno, pois com os sistemas divididos em pequenas pores eles so facilmente controlados 12 Diferenas entre Clssicos, Semi- Estruturados e Estruturados
Segundo YOURDOM, Uma caracterstica do Ciclo de Vida de um Projeto Clssico que ele se baseia em tcnicas ultrapassadas. isto , ele no faz uso de Projeto estruturado e da programao estruturada.
Outros problemas esto normalmente associados ao ciclo de vida do projeto clssico seqencial. Durante muitos meses (ou anos) que se leva para desenvolver o sistema, o usurio pode mudar de idia sobre o que o sistema deve fazer. Durante o perodo que se leva para desenvolver o sistema, certos aspectos do ambiente do usurio podem se alterar (p.ex., a economia, a competio ou os regulamentos do governo que afetam as atividades do usurio).
13 O Ciclo de Vida de Projeto semi-estruturado, substitui o Clssico porque houve um reconhecimento de tcnicas como Projeto Estruturado, Programao Estruturada e Implementao top-down. O ciclo de vida de Projeto estruturado, difere dos outros porque no dividido por fases, mas sim por atividades. Ele no um fluxograma; no existe implicao que toda a atividade N deva terminar antes do incio da atividade.
14 Concluso
Enfatizamos que o ciclo de vida de projeto de modo algum responsvel pelo projeto. Ele no libera o gerente da difcil responsabilidade de tomar decises, avaliar alternativas, travar batalhas polticas, negociar com usurios recalcitrantes, levantar o moral de programadores desanimados ou qualquer das provaes e tribulaes relacionadas ao projeto. A nica ajuda que o ciclo da vida do projeto pode dar organizar as atividades do gerente, tornando mais provvel que os problemas sejam atacados no momento apropriado.