Escolar Documentos
Profissional Documentos
Cultura Documentos
○ Telecomunicações
○ Sistemas Industriais
2
Contextualização
● Ao longo do tempo, desenvolvimento de software vêm enfrentando cenários
onde ...
○ as aplicações são cada vez mais complexas...
4
Um pouco mais formal...
● Engenheiros de software devem adotar uma abordagem sistemática e
organizada para realizar seu trabalho, e usar ferramentas e técnicas
apropriadas de acordo com
○ o problema a ser resolvido,
○ restrições de desenvolvimento
○ recursos disponíveis.
5
Objetivos de Engenharia de Software
● Obter software de qualidade
7
Processo de desenvolvimento de software
● Um conjunto estruturado de atividades necessárias para se desenvolver um
sistema de software
○ Especificação;
○ Projeto;
○ Implementação
○ Validação;
○ Evolução (Manutenção).
9
Modelos genéricos de processos
● Modelo Cascata
○ Clara separação entre as fases de especificação e desenvolvimento.
● Desenvolvimento evolucionário
○ Especificação, desenvolvimento e validação são intercalados.
○ Protótipos e feedback rápido do cliente
● Desenvolvimento formal
○ Especificação formal matemática do sistema
○ Transformações e verificação
● Desenvolvimento orientado a reuso
○ Componentes reutilizáveis
○ Integração dos componentes
Modelo Cascata na Prática
Definição de
Requisitos
Análise &
Projeto
Implementação &
Testes
Integração &
Testes
Operação &
Manutenção
Modelo espiral
Modelo espiral de Boehm
15
Modelo iterativo e incremental
● Desenvolvimento em “mini-cascatas”.
Definição
Definiçãode
de
Requisitos
Requisitos
Análise
Análise&&
Projeto
Projeto
Implementaç
ão &
Testes
Definição
Definiçãode
de
Requisitos Integração
Integração&&
Requisitos
Testes
Testes
Análise
Análise&&
Projeto Operação
Operação&&
Projeto
Manutenção
Manutenção
Implementaç
ão &
Testes
Definição
Definiçãode
de
Requisitos Integração
Integração&&
Requisitos
Testes
Testes
Análise
Análise&&
Projeto Operação
Operação&&
Projeto
Manutenção
Manutenção
Implementaç
ão &
Testes
Integração
Integração&&
Testes
Testes
Operação
Operação&&
Manutenção
Manutenção
Modelo iterativo e incremental
● Iterativo: o sistema de software é desenvolvido em vários passos
similares.
17
Modelo iterativo e incremental
vantagens e desvantagens
■ Incentiva a participação do usuário. 👍
■ Riscos do desenvolvimento podem ser mais bem gerenciados. 👍
◻ Um risco de projeto é a possibilidade de ocorrência de algum evento que cause prejuízo ao
processo de desenvolvimento, juntamente com as conseqüências desse prejuízo.
◻ Influências: custos do projeto,cronograma, qualidade do produto, satisfação do cliente, etc.
18
Processo Unificado
➢ Iniciação: identificar
entidades (pessoas e
sistemas) que vão interagir
com o sistema.
➢ Elaboração: compreensão do
problema, estabelecer um
framework, desenvolver
plano de projeto, identificar
os riscos.
➢ Construção: envolve projeto,
programação e testes.
➢ Transição: transferência do19
sistema dos desenvolvedores
para usuários.
Processo Unificado
20
Atividades típicas de um projeto de software
Especificação de Atividades
Requisitos
Projeto de
Projeto Especificação Projeto de Projeto de Base de Projeto de
Arquitetural Abstrata Interface Componentes Dados Algoritmos
Artefatos
Detalhamento de Atividades
● Projeto de arquitetura:
● Especificação abstrata:
● Projeto de interface:
22
Detalhamento de Atividades
● Projeto de componentes:
● Projeto de algoritmos:
23
Análise versus Projeto
● Na fase de análise é focado no problema, em
O QUÊ o sistema deve fornecer para atender os requisitos do cliente
24
Objetivos da fase de Projeto
● Detalhar os modelos de análise
25
Análise X Projeto
● Análise ● Projeto
○ Foco no problema ○ Foco em uma solução
○ Comportamento (caixa ○ Operações e atributos
preta, sem detalhes de s
implementação) s
○ Estrutura geral da ○ Representação próxima do
arquitetura do sistema código
○ Modelo simples ○ Modelo complexo
lo: desempenho), além dos
funcionais
Bibliografia
● Capítulos 1 e 2: Livro de UML do Eduardo Bezerra.
27