Please enable JavaScript.
Coggle requires JavaScript to display documents.
Engenharia de software-II-processo- Feito por João Victor Ipirajá (Modelos…
Engenharia de software-II-processo- Feito por João Victor Ipirajá
Ciclo de vida
Descreve a vida do produto de software desde a concepção até a implementação, entrega, utilização e manutenção
Fases de um processo de criação de software
Requisitos
Projetol
Desenvolvimento
Testes
Verificação
o produto foi construído de acordo com os requisitos e especificações do projeto
você construiu a coisa corretamente
Tipos
Unit
Integration
System
Validação
o produto realmente satisfaz as necessidades do cliente
Evolução
Ou manutenção
Modelos de processo
Cascata(Water Fall)
Um dos primeiros
O desenvolvimento de um estágio terminar antes do próximo começar
Simples, mas não reflete,efetivamente, o modo como o código é desenvolvido
Boa parte do sistema não vai está disponível até um ponto adiantado no cronograma do projeto
Deveria ter uma fase de planejamento
Elaborar estimativas
Faltam um conjunto de processos de apoio
Derivado do mundo real
Fases
Análise
Projeto
Implementação
Testes
Manutenção
Suposições falsas
Clientes sabem o que querem
Desenvolvedores sabem como construí-lo
Nada mudará ao longo do caminho
Há tempo suficiente para proceder
sequencialmente.
Modelo em V
Ministério de Defesa da Alemanha,
1992
Formato
Verificação
Análise de requisitos
Projeto do sistema
Projeto do programa
Codificação
Validação
Teste de integração e unidade
Teste de sistema
teste de aceitação
operação de manutenção
Base:
Codificação
Pontos
Vantagem
É um modelo fácil de aprender
A relação entre as etapas do desenvolvimento e os distintos tipos de testes facilita a localização de falhas
Especifica bem os papéis dos distintos tipos de teste à realizar.
Envolve o usuário nos testes..
Desvantagem
O cliente deverá ter paciência pois obterá o produto no final do ciclo
Os testes podem ser caros e,às vezes, não são efetivos
O produto final obtido pode não refletir todos os requisitos do usuário
Não pode repetir a sequência de passos se este não vai bem.
Deve-se realizar novamente todo o processo de validação e verificação
Prototipação
Colhe os requisitos e faz uma protótipo
Se o cliente aprovar, transformação em projeto final
Se não aprovar, basta refinar os requisitos funcionais, técnicos e estéticos do novo protótipo
Várias equipes trabalhando paralelamente
Protótipo = Esboço, rascunho
Modelo transformacional
Aplica uma série de transformações para uma especificação em um sistema que pode ser fornecido
podem conter
mudanças nas representações de dados
seleção de algoritmos
otimização
Compilação
Entretanto forma deve ser expressa especificamente
Desenvolvimento em fases: incrementos e iterações
É mais fácil compreender um problema complexo,implementando e avaliando soluções incompletas
levaram ao desenvolvimento de
métodos incrementais e iterativos
Quebre um grande problema em pedaços menores(incrementos) e os priorize.
Em cada iteração o desenvolvimento se dá de forma mais aprofundada.
Procure o feedback do cliente e, se necessário, mude de rumo com base em uma melhor compreensão do sistema.
Modelo de componentes
Baseado no reuso sistemático
Desenvolvimento para reuso
Envolve generalizar os componentes existentes
Desenvolvimento com reúso.
desenvolver novas aplicações usando componentes(ou serviços) existentes
Componente = padronizado e independente
Composto
Implantável
Documentado
Como você envoca esse componente?
Quais são os métodos?
Qual interface?
O que ele vai te retornar?
CBSE- Component-based Software Engineering
Espiral
Refinamento gradual a cada volta na espiral
Modelo evolutivo e cíclico
Setores
Planejamento
Análise de Riscos
Verificação
Execução
Ideia
Ter um fluxo contínuo de produtos produzidos e disponíveis para análise do usuário.
Criar um metamodelo(moldável)
Barry Boeh
Fornece potencial para o rápido desenvolvimento do software
Fases
Análises de riscos e prototipagem
Modelo cascata + prototipação + análise de riscos
Sistema cada vez mais seguros
Análise dos erros e planejamento
Vantagens
Estimativas tornam-se realísticas
É mais versátil para lidar com mudanças que desenvolvimento de software geralmente exige
Fácil de decidir quando testar
Não faz distinção entre desenvolvimento e manutenção
Desvantagem
Difícil compreensão pelos clientes.
A avaliação de riscos exige muita experiência e confiança para o sucesso.
Por poder levar ao desenvolvimento em paralelo de múltiplas partes do projeto, cada uma sendo abordada de modo diferenciado, por isso pode variar o tempo e o custo de cada sistema
RUP
criado pela Rational Software Corporation e adquirido em fevereiro de 2003 pela IBM
são tratadas questões sobre
Planejamento,
Levantamento de requisitos
Análise
Implementação,
Teste
Implantação do software.
Fases
Fase de Concepção / Iniciação
: Esta fase do RUP abrange as tarefas de comunicação com o cliente e planejamento.
É feito um plano de projeto avaliando
as estimativas de custo e prazos
estabelecendo as prioridades
levantamento dos requisitos do sistema
os possíveis riscos
Fase de Elaboração
: Abrange a Modelagem do modelo genérico do processo.
analisar de forma mais detalhada a análise do domínio do problema, revisando os riscos que o projeto pode sofrer e a arquitetura do projeto começa a ter sua forma básica
O plano do projeto é confiável?"
Os custos são admissíveis?
Fase de Construção
: Desenvolve ou Adquire os componentes de Software.
O principal objetivo desta fase é a construção do sistema de software
Fase de Transição
: Abrange a entrega do software ao usuário e a fase de testes.
O objetivo desta fase é disponibilizar o sistema, tornando-o disponível e compreendido pelo usuário final