Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
www.inatel.br Ciclos de Vida Cap. 6 – Ciclos de Vida Adaptado do material dos professores Guilherme A. B. Marcondes e Valeska P. P. Marcondes Baseado no livro: Engenharia de Software – Roger S. Pressman – Sexta Edição Prof. Afonso Celso Soares EC205 – Engenharia de Software I www.inatel.br Ciclos de Vida Definição IEEE Ciclo de vida é o período de tempo que começa quando o produto de software é concebido e finaliza quando o produto não está mais disponível para uso. Introdução Concepção Desenvolvimento Manutenção Retirada www.inatel.br Ciclos de Vida Introdução Concepção Desenvolvimento Manutenção Retirada Uso do Software - Análise dos Requisitos - Projeto - Implementação - Testes Entrega Manutenção Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Tipicamente, inclui: Análise dos Requisitos O que o sistema irá fazer? Análise/Projeto Como o sistema irá fazer? Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Teste O sistema está funcionando corretamente? Entrega Colocação para uso Manutenção Mudanças Retirada Aposentadoria Tipicamente, inclui (cont): Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Análise dos Requisitos O que o sistema irá fazer? Identificação dos problemas existentes Definição das necessidades dos usuários Líder de projeto, analistas com os usuários finais e o cliente Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Importância Requisitos incompletos, incorretos ou mal entendidos são as causas mais frequentes da baixa qualidade, ultrapassagem dos custos previstos e atraso na entrega do produto. Fases do Ciclo de Vida Análise dos Requisitos www.inatel.br Ciclos de Vida Análise / Projeto Como o sistema irá fazer? Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Implementação Codificação Testes unitários Fases do Ciclo de Vida Desenvolvedores Testadores Grupo de qualidade Grupo de Configuração www.inatel.br Ciclos de Vida Testes O sistema está funcionando corretamente? Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Entrega Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Manutenção Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Conclusão A maneira pela qual as fases apresentadas serão executadas varia dependendo do projeto É o Modelo de Ciclo de Vida que determina a maneira que as fases irão ocorrer Fases do Ciclo de Vida www.inatel.br Ciclos de Vida Modelos de Ciclos de Vida Sequencial/Clássico Cascata Incrementais Incremental RAD Evolucionários Por Protótipos Espiral Concorrente Processo Unificado Iterativo e Incremental (Rational Unified Process) Especializados Baseado em componentes Métodos formais Orientado a aspectos www.inatel.br Ciclos de Vida O p e r a t i o n a n d m a i n t e n a n c e Análise dos requisitos Projeto Implementaçao e testes unitários Integração e testes Operação e Manutenção Cascata (ou Clássico ou Sequencial) www.inatel.br Ciclos de Vida Adequado a situações nas quais os requisitos são estáveis e bem conhecidos. O modelo cascata tem um importante papel na engenharia de software.... Ele provê um template no qual as fases de análise, projeto, implementação, teste e manutenção podem ser inseridas, permanecendo como um amplo modelo para a engenharia de software. Cascata (ou Clássico ou Sequencial) Lembre-se www.inatel.br Ciclos de Vida Cascata (ou Clássico ou Sequencial) Vantagens Fácil de gerenciar: etapas bem definidas e sem sobreposição; Eficiente em casos nos quais o domínio de aplicação é bem entendido; Eficiente no desenvolvimento de projetos nos quais vários sistemas similares foram construídos anteriormente. www.inatel.br Ciclos de Vida Cascata (ou Clássico ou Sequencial) Desvantagens Dificuldade de adaptação a alterações após o início do processo. Divisão rígida do projeto em estágios distintos. Resposta lenta a mudanças. Em alguns casos, parte da equipe precisa esperar pela conclusão das atividades dos outros. Queda na produtividade. www.inatel.br Ciclos de Vida Objetivo principal: “Clarear” o entendimento dos requisitos Prototipação Fonte:http://www.diegomacedo.com.br/modelos-de-ciclo-de-vida/ www.inatel.br Ciclos de Vida Prototipação O paradigma de prototipagem começa com a definição dos requisitos. Um projeto rápido é realizado e concentra-se na representação daqueles aspectos que ficarão visíveis pelo cliente. O protótipo é criado e avaliado e é ajustado para satisfazer as necessidades do cliente. www.inatel.br Ciclos de Vida A principal desvantagem do modelo é que o cliente, muitas vezes, quer transformar o protótipo no sistema. Ele não entende que, no desenvolvimento do protótipo, a questão “qualidade” não foi considerada. Falta de visibilidade do processo. O resultado pode ser um sistema mal estruturado. Adequado quando há o acordo do cliente no uso de protótipos para a definição dos requisitos. Prototipação www.inatel.br Ciclos de Vida Aplicabilidade: Partes de sistemas de grande porte (ex. interface de usuário). Sistemas de vida curta. Quando o cliente tem as necessidades, mas não os detalhes. Prototipação www.inatel.br Ciclos de Vida Espiral Combina conceitos do desenvolvimento por protótipos com o ciclo de vida em cascata. A cada ciclo (volta na espiral) o software é incrementado e fica mais completo. Cada final de ciclo (volta) pode gerar uma entrega. Permite o uso de protótipos para redução de riscos em qualquer etapa. www.inatel.br Ciclos de Vida Espiral Fonte: Engenharia de Software – Roger S. Pressman – Sexta Edição Estimativa e cronograma Análise do projeto Codificação e teste Entrega e feedback Objetivos, restrições www.inatel.br Ciclos de Vida Espiral O modelo espiral é, atualmente a abordagem mais realística para desenvolvimento de software em grande escala, e usa uma abordagem que capacita a empresa que presta o serviço, e o cliente a entender e reagir aos riscos em cada etapa evolutiva. Porém esse tipo de modelo exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso. www.inatel.br Ciclos de Vida Espiral Desvantagens: Pode ser difícil convencer cliente de usá-lo. Da a sensação de não ser controlado. Exige competência na avaliação de riscos. Riscos não descobertos podem causar problemas no projeto. Vantagens: Possibilidade de combinar o modelo espiral com outros modelos de ciclo de vida; Ajuda a aumentar a qualidade pelo planejamento e análise dos riscos em cada fase; Maior visibilidade para a gerência, sobretudo na gerência de riscos. www.inatel.br Ciclos de Vida Liberação do software em pequenos “pedaços” chamados de INCREMENTOS. Incremental www.inatel.br Ciclos de Vida Incremental Incremento 1 Entrega do Incremento 1 Incremento 2 Entrega do Incremento 2 Incremento N Entrega do Incremento N Funcionalidade e Recursos do Software Tempo decorrido do Projeto www.inatel.br Ciclos de Vida Incremental Foco voltado para entrega de um produto operacional em cada incremento; Geralmente o 1° incremento é um produto essencial onde requisitos básicos são atendidos; Útil quando não há equipe disponível para implementação completa no prazo estabelecido; Os incrementos podem ser planejados para administrar riscos técnicos; www.inatel.br Ciclos de Vida Vantagens: O cliente consegue avaliar a funcionalidade do sistema logo nas primeiras versões. Redução dos riscos de projeto. Facilidade no processo de mudança dos requisitos Facilidade em melhorar e refinar o produto, obtendo um produto mais robusto. Os serviços do sistema considerados mais prioritários tendem a ser testados por mais tempo. Incremental www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Processo Unificado Proposto por Jacobson, Booch e Rumbaugh (autores da UML). Processo Unificado da Rational Dá maior importância à comunicação com o cliente e mecanismos para registrar sua visão (Casos de Uso). A UML daria apoio às atividades de engenharia de software, mas não ao processo. Por isto, foi proposto o Processo Unificado. www.inatel.br Ciclos de Vida Fases Fases Gráfico das baleias RUP® - Processo Unificado da Rational Processo Unificado www.inatel.br Ciclos de Vida Concepção Elaboração Construção Transição Especificação dos Requisitos (Escopo definido) Tempo Arquitetura definida e estável Funcionalidades implementadas e testadas Primeira versão do produto Marcos FASES Iteração 1 Iteração 2 Iterações preliminares Iteração n Iteração n+1 Iteração n+2 Iteração m Iteração m+1 RUP® - Processo Unificado da Rational Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Concepção Requisitos identificados (em colaboração com cliente e usuários finais). Proposta de rascunho da arquitetura. Proposta do plano a ser seguido no projeto. Descrição dos requisitos fundamentais de negócio por meio de casos de uso. Planejamento do projeto: recursos, riscos, cronograma e base para os incrementos (o que em cada um). Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Concepção Critérios para avaliação da fase: Entendimento de todos os requisitos? Acordo sobre as estimativas de custo, cronograma, prioridades, riscos e o processo de desenvolvimento? Todos os riscos foram identificados e existe um plano de contingência para eliminá-los ou reduzí-los? Arquitetura candidata? Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Concepção Exemplos de Artefatos : Documento de requisitos do sistema. Plano de desenvolvimento do sistema. Protótipos para eliminação de riscos. Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Elaboração Refina e expande os casos de uso preliminares. Modelagem completa do software. Revisão detalhada do plano elaborado. Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Elaboração Critérios para avaliação da fase: Estabilidade dos requisitos e da arquitetura? Os testes dos protótipos demonstram a solução para os principais riscos? Há o acordo do cliente com relação ao Documento de Requisitos, ao plano de desenvolvimento e a arquitetura Adotada? Recursos gastos versus o planejado ainda são aceitos? Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Elaboração Exemplos de Artefatos : Documento de arquitetura Protótipos para eliminação de riscos (arquitetura) Modelo de projeto e de dados Documento de requisitos contendo mais detalhes Plano de desenvolvimento revisado e atualizado Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Construção Codificação dos componentes de software. Testes unitários. Integração dos componentes e módulos. Testes de integração. Testes de aceitação baseado nos casos de uso. Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Construção Critérios para avaliação da fase: A release do produto está estável e madura o suficiente para ser entregue ao cliente e usuários finais? Recursos gastos versus o planejado ainda são aceitos? Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Construção Exemplos de Artefatos : A release do sistema pronta para o teste “beta” Os testes realizados e documentados para garantir a funcionalidade do sistema Rascunho de manuais e sistema de ajuda (Help) Modelo de projeto atualizado Modelo de dados atualizado Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Transição Entrega do software aos usuários finais. Testes realizados pelos usuários. Relatórios de feedback – defeitos e modificações. Criação/finalização das informações de apoio necessárias: manuais, guias de instalação, guias de solução de problemas, etc.). Na conclusão desta fase, o software torna-se uma versão utilizável. Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Transição Critérios para avaliação da fase: Objetivos foram alcançados? Deve ser começado um novo ciclo? A release disponibilizada atende às necessidades de negócio? O usuário está satisfeito? Recursos gastos versus o planejado ainda são aceitos? Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Transição Exemplos de Artefatos : O código fonte completo de acordo com os requisitos Manuais e/ou sistema de ajuda completos e revisados Toda a documentação atualizada e revisada Material de treinamento Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Após a Transição (Produção) Software é monitorado. Relatórios de defeitos e modificações. Pode envolver um novo ciclo de desenvolvimento ou algumas releases adicionais para a manutenção. Processo Unificado www.inatel.br Ciclos de Vida RUP® - Processo Unificado da Rational Observações importantes: As fases não são exclusivamente sequenciais. Elas podem acontecer de forma simultânea. Pro exemplo, ainda na fase de construção, algumas atividades de transição já foram iniciadas. Nem tudo se aplica a todos os projetos. Sempre é necessária uma avaliação caso a caso. Processo Unificado www.inatel.br Ciclos de Vida O produto está sendo utilizado e a fase de manutenção é iniciada. Pode envolver um novo ciclo de desenvolvimento ou algumas releases adicionais para a manutenção Avaliação da fase de Transição RUP® - Processo Unificado da Rational Processo Unificado www.inatel.br Ciclos de Vida Conheça os vários modelos existentes. Conheça bem o que o projeto propõe. Escolha o modelo que mais se adapte ao projeto. Dicas para Escolha www.inatel.br Ciclos de Vida Considerações De acordo com a NBR ISO/IEC 12207:1998, o ciclo de vida é a “Estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento, operação e manutenção de um produto de software, abrangendo a vida do sistema, desde a definição de seus requisitos até o término de seu uso.” O modelo de ciclo de vida é a primeira escolha a ser feita no processo de software. A partir desta escolha definir-se-á desde a maneira mais adequada de obter as necessidades do cliente, até quando e como o cliente receberá sua primeira versão operacional do sistema. Não existe um modelo ideal. O perfil e complexidade do negócio do cliente, o tempo disponível, o custo, a equipe, o ambiente operacional são fatores que influenciarão diretamente na escolha do ciclo de vida de software a ser adotado. * * * * Análise dos Requisitos - Esta fase focaliza o "o quê" o sistema irá fazer. Envolve o levantamento dos requisitos junto ao cliente e usuários finais e planejamento inicial do projeto de software. Projeto - Focaliza-se o "como" será feito. Envolve o projeto de software. Implementação - Envolve a codificação do sistema e testes unitários. * Teste - Envolve o teste de integração, teste do sistema e teste de aceitação. Entrega - Entrega do software desenvolvido e testado para o cliente. Manutenção - Esta fase começa a partir da entrega. Concentra-se nas "mudanças" (correção de defeitos, adaptação e melhoramento funcional). As fases do ciclo de vida podem se sobrepor, ou seja, elas não precisam acontecer sequencialmente. A maneira que estas fases irão ocorrer, depende do modelo de ciclo de vida adotado para o projeto. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar