Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ciclo de Vida Clássico da Engenharia de Software

5,737 views

Published on

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

Published in: Education
  • Login to see the comments

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).

×