Es capítulo 2 - processos de software
-
Upload
felipe-oliveira -
Category
Education
-
view
152 -
download
2
description
Transcript of Es capítulo 2 - processos de software
Engenharia de Software
Processos de SoftwareFelipe Cunha; Yugo Alencar
Tópicos1. Objetivos e conceitos2. Modelos de Processo de SW
1. Modelo Cascata2. Modelo Incremental3. Modelo Orientado a Reuso
3. Atividades do Processo de SW1. Especificação2. Projeto e implementação3. Validação4. Evolução
4. Lidando com mudanças1. Prototipação2. Entrega incremental3. Modelo espiral de Boehm
5. Rational Unified Process-RUP
321 54
Objetivos e conceitos
Conjunto de atividades relacionadas que levem à Produção de software
Atividades Básicas à todos os Processos
Especificação de Software
Projeto e Implementação de Software
Validação de Software
Evolução de Software
Categorias de Processos de Softwares
Dirigidos a planos
Ageis
321 54
Modelos de Processos de SW
Modelo Cascata
Modelo Incremental
Modelo Orientado a Reuso
Modelo Cascata
Dirigido a plano
Foi o primeiro a ser adotado pelos desenvolvedores
Possui um conjunto de fases bem definidas que correspondem àsetapas do ciclo de vida do software
Não há mistura de fases: uma fase só começa quando a anteriorTermina
Ao final de cada fase, um ou mais documentos devem seraprovados pela equipe de desenvolvimento
Estágios
Análise e definição de requisitos
Projeto de sistema
Implementação e testes unitarios
Integração e testes do sistemas
Operação e manutenção
Principais Problemas
Projetos reais raramente seguem o fluxo seqüencial
Dificuldade em congelar os requisitos no início e em acomodar mudanças dinâmicas
O cliente precisa ter paciência
Modelo Incremental
Desenvolver uma implementação inicial, apresentarao cliente e continuar por meio de varias versõesaté o fim do sistema.
Vantagens
Menor custo de mudanças nos requisitos
O cliente pode avaliar o sistema em estágio inicial (feedback mais fácil)
Existe um risco menor de fracasso completo do sistema
Problemas
Processo não visível
A estrutura tende a se degradar
321 54
Atividades do Processo de Software
Processo de software: inclui atividades:
Objetivo: especificarprojetarimplementar testarevoluir
Técnicas
Gerência
Colaboração
Especificação
Projeto e implementaç
ão
Validação Evolução
Como organizar essas atividades ?
Especificação
Especificação de software é a atividade de compreensão e definição dos serviços requisitados do sistema e de identificação de restrições relativas à operação e ao desenvolvimento do sistema
Estudo de viabilidade
Elicitação e análise de requisitos
Especificação de requisitos
Validação de requisitos
Relatório de viabilidade
Modelos de sistema Requisitos de
usuários e de sistema
Documentação de requisitos
Especificação
Projeto e implementação de software
É o processo de conversão de uma especificação do sistema em um sistema executável, isso inclui o projeto do software e a programação do software.
Informação de plataforma
Especificação de requisitos
Descrição de dados
Arquitetura de sistema
Especificação de Banco de dados
Especificação de interface
Especificação de componentes
Projeto de arquitetura
Projeto de interface
Projeto de componentes
Projeto de Banco de dados
Entradas de projeto
Atividades de projeto
Saídas de projeto
Projeto e implementação
Validação de software
É o processo de verificação que objetiva mostrar que um software se adéqua a suas especificações ao mesmo tempo que satisfaz as especificações do cliente.
Teste de componente Teste de sistema Teste de aceitação
Validação
Especificação dos requisitos
Especificação do sistema
Projeto do sistema
Projeto detalhado
Serviço Teste de aceitação
Teste de integração do
sistema
Teste de integração do sub-sistema
Código e teste unitário e de
módulo
Plano de testes de aceitação
Plano de testes de integração do
sistema
Plano de teste de integração do
sub-sistema
Fases de testes dirigido a planos
Evolução do software
É o processo de evoluir o software durante seu período de vida em resposta às mudanças de requisitos e às necessidades do cliente.
Definir requisitos de
sistema
Avaliar sistemas existentes
Propor mudanças de
sistema
Modificar sistemas
Sistemas existentes
Novo sistema
Evolução do software
321 54
Lidando com mudanças
Lidando com mudanças
• Mudanças de negócios levar a requisitos novos e alterados do sistema
• As novas tecnologias abrem novas possibilidades para melhorar as implementações
• Plataformas novas exigem alterações de aplicativos
Mudança leva a reformular de modo que os custos de mudança incluem tanto retrabalho, bem como os custos de implementação de novas funcionalidades
321 54
Rational Unified Process-RUP
Rational Unified Process-RUP
É um modelo constituido quatro fases distintas no processo de software
Concepção
Definir o escopo do software
Descobrir os casos de uso críticos
Estimar por alto o custo e o cronograma de todoo projeto
Levantar os potenciais riscos
Elaboração
Detalhar a maioria dos requisitos
Construir a arquitetura do sistema
Produzir protótipos evolucionários oudescartáveis
Elaboração
Detalhar a maioria dos requisitos
Construir a arquitetura do sistema
Produzir protótipos evolucionários oudescartáveis
Construção
Produzir a versão para testes
Ênfase na produção de software operacional
Envolve análise, projeto e implementação dos requisitos
Transição
Validar o sistema em relação às expectativas dos usuários
Testes e operacionalização do software(geralmente, em paralelo com o sistema legado)
Treinamento de usuários
Correção de erros, pequenas melhorias, pequenos ajustes
Obrigado!
Referências
Ian Sommerville. Engenharia de Software, 9a. Edição. 2011