Processo de desenvolvimento proposto
Eliane Martins
Criação: mar/2011
Eliane Martins - Instituto de Computação - UNICAMP
Tópicos
• O processo ROPES
Eliane Martins - Instituto de Computação - UNICAMP
2
Referências
• B.P.Douglass. Doing Hard Time: Developing
Real-Time Systems with UML, Objects,
Frameworks and Patterns. Addison-Wesley.
Object Technology Series. 1999 (cap. 4)
• B.P.Douglass. ROPES: Rapid Object-Oriented
Process for Embedded Systems. Obtido mar/2010
em http://citeseerx.ist.psu.edu
Eliane Martins - Instituto de Computação - UNICAMP
3
Processo base
• ROPES: Rapid Object-Oriented Process for
Embedded Systems
–
–
–
–
Proposto por Bruce Powel Douglass em 1999
Baseado em artefatos da UML
Voltado para sistemas embarcados e de tempo real
Ênfases:
• Tempo de resposta curto
• Validação desde cedo no ciclo de vida
• Baixo risco
Eliane Martins - Instituto de Computação - UNICAMP
4
O processo ROPES
A cada iteração:
novo protótipo
[Extraído de Douglass99, pg167]
Eliane Martins - Instituto de Computação - UNICAMP
5
Fases e Artefatos
Fases de uma iteração
Análise
Artefatos
Documento de Requisitos
Classes de Análise
Casos de uso
Cenários
Vetores de teste
Projeto
Modelo de arquitetura
Modelo Intermediário
Modelo de Projeto Detalhado
Tradução
Componentes da Aplicação
Testes
Falhas de Análise
Falhas de Projeto
Falhas de Tradução
Aplicação Testada
Eliane Martins - Instituto de Computação - UNICAMP
6
Análise
Análise
Análise de
Requisitos
Análise de
Sistemas
Análise de
Objetos
Eliane Martins - Instituto de Computação - UNICAMP
7
Análise
Análise de
Requisitos
• Identificar casos de uso e atores
• Decompor casos de usos
• Identificar eventos externos
Análise
Análise de
Sistemas
• Definir cenários que caracterizam o
comportamento do sistema
• Identificar restrições: interfaces
com outros sistemas, desempenho, ...
• Lista de perigos
Análise de
Objetos
Eliane Martins - Instituto de Computação - UNICAMP
8
Análise
Análise de
Requisitos
• Identificar unidades de processamento
(larga escala) e seus componentes
Análise
Análise de
Sistemas
• Modelar comportamento dos
componentes (modelo de estados)
• Determinar quais componentes são de
hw, quais de sw
Análise de
Objetos
• Validar o comportamento do sistema
utilizando modelos executáveis
Eliane Martins - Instituto de Computação - UNICAMP
9
Análise
Análise de
Requisitos
Análise
Análise de
Sistemas
• Identificar os objetos
• Identificar as classes correspondentes
aos objetos
• Modelar a interação entre objetos que
atendam aos casos de uso
• Identificar comportamento de objetos
reativos
• Identificar as operações e atributos
Análise de
Objetos
• Validar os objetos usando os cenários
definidos em sub-fase anterior
• Associar às operações das classes as
restrições de desempenho, ...
Eliane Martins - Instituto de Computação - UNICAMP
10
Projeto
Projeto
Arquitetural
Projeto
Projeto
Intermediário
Projeto
Detalhado
Eliane Martins - Instituto de Computação - UNICAMP
11
Projeto
• Definir componentes e sua distribuição
• Aplicar padrões arquiteturais para:
Projeto
Arquitetural
- Tratamento de erros global
- Tratamento de inocuidade (safety)
Projeto
- Tolerância a falhas
Projeto
Intermediário
Projeto
Detalhado
Eliane Martins - Instituto de Computação - UNICAMP
12
Projeto
Projeto
Arquitetural
Projeto
• Detalhar as colaborações entre objetos
Projeto
Intermediário
• Aplicar padrões de projeto
Projeto
Detalhado
Eliane Martins - Instituto de Computação - UNICAMP
13
Projeto
Projeto
Arquitetural
Projeto
Projeto
Intermediário
Projeto
Detalhado
• Definir implementação das relações
entre objetos
• Definir contratos para as operações e
para as classes
• Definir modelo de tratamento de
exceções para as classes
• Definir precisamente os tipos e
domínios de valores de atributos
• Definir algoritmos para operações mais
complexas
Eliane Martins - Instituto de Computação - UNICAMP
14
Tradução
• Definir implementação das relações
entre objetos
• Definir contratos para as operações e
para as classes
Tradução
• Definir modelo de tratamento de
exceções para as classes
• Definir precisamente os tipos e
domínios de valores de atributos
• Definir algoritmos para operações mais
complexas
• Preparar, projetar e executar os Testes
de Unidade
Eliane Martins - Instituto de Computação - UNICAMP
15
Testes
• Criar planos de testes:
- Testes de Integração
Testes
- Testes Validação
• Projetar, implementar e executar os
casos de teste
Eliane Martins - Instituto de Computação - UNICAMP
16
Download

Processo de desenvolvimento proposto