Ciclo de Vida Clássico da Engenharia de Software

4.901 visualizações

Publicada em

Aula 03 - Engenharia de Software - Ciclo de Vida Clássico da Engenharia de Software

Publicada em: Educação
  • Seja o primeiro a comentar

Ciclo de Vida Clássico da Engenharia de Software

  1. 1. 19/8/2013 1 1 Engenharia de Software Tecnologia em Gestão da Tecnologia da Informação Prof. Eduardo José dos Santos edu.santos@aedu.com Aula 03 • Revisão; • Ciclo de Vida Clássico de Desenvolvimento de Software; • Atividade Complementar; • Referências. Roteiro
  2. 2. 19/8/2013 2 • Engenharia Software; • Abrangência e Justificativas; • Metodologias: • Clássica; • Cascata; • XP. PRESSMAN, Roger S. Engenharia de Software. 6ª ed. São Paulo: Prentice Hall, 2009. Livro-texto: página 32.
  3. 3. 19/8/2013 3 • Ciclos de Vida do Software • Ciclos de Vida: • Paradigma da Engenharia de Software que corresponde aos ciclos (fases) em que o software é construído/elaborado; • Versão simplificada da realidade; • Modelos existentes possuem diferentes graus de sofisticação e complexidade; • Um processo bem estruturado permite a criação de base estável para a criatividade. • Ciclos de Vida: • Existem diversos, alguns cobrem apenas concepção ao desenvolvimento, enquanto outros cobrem: concepção, desenvolvimento, implantação e manutenção.
  4. 4. 19/8/2013 4 Para escolha de um Ciclo de Vida de software: natureza do projeto e da aplicação; métodos e ferramentas a serem usados; controles e produtos que precisam ser entregues. Ciclo de Vida Clássico (Cascata) • Modelo mais antigo e o mais amplamente usado da Engenharia de Software; • Modelado em função do ciclo da engenharia convencional; • Requer uma abordagem sistemática, sequencial ao desenvolvimento de software.
  5. 5. 19/8/2013 5 Ciclo de Vida Clássico (Cascata) Requer uma abordagem sistemática sequencial ao desenvolvimento de software. Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção 1. Análise e Engenharia de Sistemas: Estabelecimento dos requisitos para todos os elementos do sistema (hardware, pessoas, banco de dados, etc...); Envolve a coleta dos requisitos em nível do sistema, com uma pequena quantidade de projeto e análise de alto nível; Ciclo de Vida Clássico 1. Análise e Engenharia de Sistemas: Quanto mais dados forem coletados em nível de sistema, menor será a probabilidade de haver “bugs”, o que consequentemente diminuirá os futuros reparos; Também conhecido como estudo de viabilidade. Ciclo de Vida Clássico
  6. 6. 19/8/2013 6 2. Análise de Requisitos de Software: o processo de coleta dos requisitos é intensificado e concentrado especificamente no software; deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidos; os requisitos (para o sistema e para o software) são documentados e revistos com o cliente antes de iniciar o projeto; Ciclo de Vida Clássico 2. Análise de Requisitos de Software: Detalhar o domínio das informações e da funcionalidade requerida para o software; Definir cada detalhe para poder construir uma estrutura envolvendo tamanho, tipo, volume, consistências, inter-relação, entre outras. Ciclo de Vida Clássico 2. Análise de Requisitos de Software: Ciclo de Vida Clássico
  7. 7. 19/8/2013 7 3. Projeto: tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação se inicie; Ciclo de Vida Clássico 3. Projeto: se concentra em 4 atributos do programa: Estrutura de Dados, Arquitetura de Software, Detalhes Procedimentais e Caracterização de Interfaces. É documentado e torna-se parte da configuração do software; Traduz quanto à qualidade antes de iniciar a codificação. Ciclo de Vida Clássico 4. Codificação: tradução das representações do projeto para uma linguagem “artificial” resultando em instruções executáveis pelo computador; se o projeto estiver bem detalhado, a codificação pode ser executada mecanicamente. Ciclo de Vida Clássico
  8. 8. 19/8/2013 8 5. Testes e Integração: Concentra-se: nos aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas; nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados. Ciclo de Vida Clássico 5. Testes e Integração: junção de várias unidades de programas e recursos envolvidos; resultado deve concordar com o projeto ou resultado exigido; Depois de testado, o software é entregue ao usuário/cliente. Ciclo de Vida Clássico 6. Manutenção e Operação: indubitavelmente o software deverá sofrer mudanças depois que for entregue ao cliente; causas das mudanças: erros, adaptação do software para acomodar mudanças em seu ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho. Ciclo de Vida Clássico
  9. 9. 19/8/2013 9 6. Manutenção e Operação: o Tipos de manutenção: Manutenção corretiva: corrige os erros não detectados; Manutenção adaptativa: adaptação da aplicação às mudanças do ambiente; Manutenção evolutiva: adição de novas características e qualidades do software. Ciclo de Vida Clássico 6. Manutenção: A manutenção de software reaplica cada uma das etapas precedentes do ciclo de vida a um programa existente, e não a um novo. Ciclo de Vida Clássico • Vantagens: Minimiza o tempo de planejamento; Funciona bem para equipes tecnicamente mais fracas. Ciclo de Vida Clássico
  10. 10. 19/8/2013 10 • Principais problemas: Inflexível; Apenas a fase final produz um deliverable que não é um documento; Torna-se difícil voltar atrás para corrigir erros; Ciclo de Vida Clássico • Principais problemas: Projetos reais raramente seguem fluxo sequencial que o modelo propõe; Muitas vezes é difícil para o cliente declarar todas as exigências explicitamente; Uma versão de trabalho não estará disponível até um ponto tardio do cronograma do projeto. Ciclo de Vida Clássico Embora o Ciclo de Vida Clássico tenha fragilidades, ele é significativamente melhor do que uma abordagem casual ao desenvolvimento de software; É o mais antigo e o mais amplamente usado da Engenharia de Software. CONCLUSÕES
  11. 11. 19/8/2013 11 Dúvidas Trabalho Fonte: SIAE Referências • Roger S. Pressman. ENGENHARIA DE SOFTWARE. Makron Books. (1995) . • Kotonya, Gerald; Sommerville, Ian. Requeriments Engineering: Processes and Tecniques - John Wiley & Sons. (1998). • IEEE – Computer Society. http://www.computer.org • Sommerville, Ian. ENGENHARIA DE SOFTWARE, 8ª edição. (2007).

×