Escolar Documentos
Profissional Documentos
Cultura Documentos
• Objetivos
• Processos de software
• Atividades fundamentais
• Modelos de processo de software
Modelos de processos de
desenvolvimento de software
Engenharia de software 2
1
6/15/2020
• Pelo fato de software, como todo capital, ser conhecimento incorporado, e pelo fato de que • Especificação de Software
este conhecimento ser, inicialmente disperso, tácito, latente e em considerável medida
• Projeto e implementação de Software
incompleto, o desenvolvimento de software é um processo de aprendizado social.
• Esse processo é um diálogo no qual o conhecimento, que deverá tornar-se o software, é • Validação de Software
coletado, reunido e incorporado ao software.
• Evolução de Software
• Tal processo possibilita a interação entre usuários e projetistas e ferramentas em evolução
(tecnologia). Trata-se de um processo iterativo no qual a própria ferramenta em evolução
serve como meio de comunicação, com cada nova iteração do dialogo extraindo mais
conhecimento útil das pessoas envolvidas.
Howard Baetjer
Software as Capital: An Economic Perspective on Software Engineering, 1997
Relatório
de Viabilidade Modelos
Requisitos de
de Sistema
Usuário e
de Sistema
Documento
De Requisitos
2
6/15/2020
Produtos de Projeto
conformidade com a sua especificação e cumpre os requisitos do cliente. – Estamos construindo o produto correto?”
– O sistema atende às expectativas do cliente/usuário
• Envolve verificar e analisar processos do sistema e testes.
• Verificação
• Sistema de testes envolve executar o sistema com casos de teste que
• Estamos construindo o produto corretamente?”
são obtidos a partir da especificação dos dados reais que serão
– O software está de acordo com suas especificações
processado pelo sistema.
– As especificações do software nem sempre estão de acordo com as expectativas dos
usuários
3
6/15/2020
Especificação
Especificação
De Projeto de Projeto
de
Requisitos Sistema detalhado
Sistema
Processo de software
4
6/15/2020
• Modelo em cascata
• Modelo em Cascata
Definição Resultado de uma fase alimenta a outra
– Separa e distingue as fases de especificação e desenvolvimento De Requisitos
Mais antigo
• Principais estágios
• Principais estágios: – Implementação e Testes de Unidade:Durante este estágio, o projeto do
– Análise e Definição de Requisitos:as funções, as restrições e os objetivos do software é compreendido como um conjunto de programas ou unidades de
sistema são estabelecidos por meio de consulta aos usuários do sistema. Em programa. O teste de unidade envolve verificar se cada uma das unidades
seguida, são definidos em detalhes e servem como uma especificação do atendem à sua especificação
sistema.
5
6/15/2020
– Problemas
• Particionamento Inflexível do projeto em fases distintas
• Isso torna difícil responder à evolução das necessidades dos clientes
• Portanto, este modelo é apropriado apenas quando os requisitos são bem
compreendidos.
• Logo no início é difícil (raro) estabelecer explicitamente todos os requisitos
Benefícios?
6
6/15/2020
• Vantagens
– O custo de acomodar as mudanças nos requisitos do cliente é reduzido.
Definir Requisitos Atribuir Requisitos Projetar Arquitetura
Iniciais aos Incrementos de Sistema – È mais fácil obter feedback dos clientes sobre o desenvolvimento realizado. Onde existe
uma dificuldade natural dos clientes de avaliar a evolução do software através de
documentos.
Desenvolver Incremento Validar Integrar Validar
De Sistema Incremento Incremento Sistema – Possibilidade de obter entrega e implementação rápida de software útil ao cliente.
• Desvantagens
Sistema Final
– O processo com ou um todo não é visível.
Sistema Incompleto – A estrutura do sistema tende a se degradar com a adição de novos incrementos.
– Não é indicado para sistemas muito grandes.
7
6/15/2020
RUP RUP
8
6/15/2020
RUP RUP
• Fases • Concepção
– Concepção: ênfase no escopo do sistema – A fase de concepção contém os workflows necessários que as partes
RUP RUP
• Construção • Aspectos
– Na fase de construção, começa o desenvolvimento físico do software, – Não é adequado para todos os tipos de desenvolvimento
produção de códigos, testes alfa e beta. Deve-se aceitar testes, e processos de – Desenvolvimento iterativo.
– Nesta fase ocorre a entrega ("deployment") do software, é realizado o plano de – Registro constante do fluxo do projeto
implantação e entrega, acompanhamento e qualidade do software. Produtos – Os maiores riscos são atacados primeiro, diminuindo as chances de fracasso do projeto
9
6/15/2020
• Prototipação
O ICONIX é um processo baseado em modelagem com UML.
• Espiral
Possui uma característica exclusiva chamadaTraceability of Requiriments
• Baseado em aspectos
(Rastreabilidade dos Requisitos), que através de seus mecanismos, permite
• Agentes
checar em todas as fases se os requisitos estão sendo atendidos .
Ele se destaca por ter um processo não tão burocrático como o RUP, ou seja,
não gera tanta documentação. E apesar de ser um processo simples como o XP,
não deixa a desejar na Análise e Projeto (Design).
10
6/15/2020
11
6/15/2020
Perguntas Sites
12