RUP: Fluxo de Análise e
Projeto
Aspectos Avançados em
Engenharia de Software
Aula 4
Fernanda Campos
RUP – Fluxo de análise e projeto

Visão geral das
• Atividades
• Responsáveis
• Artefatos
O Fluxo de Análise e Projeto
Os objetivos do fluxo:
• Transformar os requisitos em um projeto (inicialmente
abstrato) do sistema
• Desenvolver uma arquitetura robusta
• Adaptar o projeto levando em consideração os requisitos
da futura implementação
Fonte: Rational
Visão geral dos artefatos
Modelo de análise
e projeto
Modelo de caso
de uso
Glossário
Documento
requisitos
Análise e
projeto
Documento da
arquitetura
Modelo de dados
Mapeamento das
classes de análise
em elementos de
projeto
Sobre os artefatos





A construção do modelo de análise e projeto é o principal
objetivo deste fluxo de atividades
O modelo de análise e projeto contém as realizações de casos
de uso
O mapeamento das classes de análise em classes de projeto é
um artefato temporário do desenvolvimento
O documento da arquitetura é opcional e é usado para descrever
em detalhes uma determinada arquitetura
A elaboração do modelo de dados está fora do escopo do curso,
mas pode conter, por exemplo, o mapeamento do modelo OO
para o relacional
Realização de Caso de Uso

Descreve como o caso de uso é realizado,
associando o caso de uso com classes e
outros elementos de projeto

Em UML, uma realização de caso de uso
pode ser representada através de um
conjunto de diagramas:
•
•
diagrama de classe
diagramas de interação
• diagrama de seqüência
• diagrama de colaboração
Artefato Modelo de Análise e
Projeto
Diagramas de Sequência
Diagramas de Colaboração
Modelo de análise e projeto
Diagramas de Classe
Modelo de Análise e Projeto

Pode ser um só artefato
• evoluindo de uma visão abstrata (nas
atividades de análise), para uma visão
detalhada (nas atividades de projeto)

Podem ser feitos dois artefatos
• um modelo de análise
• um modelo de projeto (inicia igual à última
versão do modelo de análise e evolui
independentemente)
Análise X Projeto

Análise
• Foco no problema
• Comportamento
•
•
•
(caixa preta, sem
detalhes de
implementação)
Estrutura do sistema
Requisitos
funcionais
Modelo simples

Projeto
•
•
•
•
•
Foco em uma solução
Operações e atributos
Representação próxima
do código
Requisitos não
funcionais (exemplo:
desempenho), além dos
funcionais
Modelo complexo
Fonte: Rational
Fluxo de Análise e Projeto
Simplificado
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Projetista de
banco de
dados
Analisar
caso de
uso
Projetar
caso de
uso
Projetar
classes
Projetar
base de
dados
Revisar
projeto
Atividade
Analisar Caso de Uso
Analisar Caso de Uso
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Analisar caso
de uso
Projetista de
banco de
dados
Projetar
caso de
uso
Projetar
classes
Projetar
base de
dados
Revisar
projeto
Objetivos desta atividade


Encontrar classes de análise (fronteira,
controle e entidade) e distribuir
comportamento dos casos de uso entre estas
(utilizando diagramas de seqüência e/ou
colaboração)
Para cada classe, descrever suas
responsabilidades, atributos e associações
Esta atividade é realizada para cada caso de uso!
Visão geral dos artefatos
Glossário
Documento de
requisitos
Modelo de caso de uso
Documento da
arquitetura
Analisar
caso de uso
Classes de análise
Realização de caso de uso
Modelo de análise e projeto
Fonte: Rational
Atividade
Projetar Arquitetura
Projetar Arquitetura
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Analisar caso
de uso
Projetista de
banco de
dados
Projetar
caso de
uso
Projetar
classes
Projetar
base de
dados
Revisar
projeto
Objetivos desta atividade

Avaliar o conjunto das classes de
análise

Definir elementos de projeto (classes de
projeto e subsistemas) e organizá-los
em pacotes

Definir a estrutura da aplicação
No final do projeto da arquitetura tudo deve estar
pronto para que os projetistas possam detalhar as
realizações dos casos de uso de maneira uniforme!
Visão geral dos artefatos
Mapeamento das
classes de análise em
elementos de projeto
Modelo de casos
de uso
Documento
de requisitos
Modelo de análise e projeto
(classes de análise)
Projetar
Arquitetura
Documento da
arquitetura
Modelo de análise e projeto
(classes de projeto e
subsistemas)
Atividade
Projetar Caso de Uso
Projetar Caso de Uso
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Analisar caso
de uso
Projetista de
banco de
dados
Projetar
caso de
uso
Projetar
classes
Projetar
base de
dados
Revisar
projeto
Objetivos desta atividade

Refinar as realizações de casos de uso
(elaboradas na análise de casos de uso)
incluindo os elementos de projeto
•

Incorporando persistência nas realizações
O objetivo final é ter um modelo consistente
que sirva de referência para a implementação
do caso de uso
Visão geral dos artefatos
Documento de
requisitos
Realização de
caso de uso
Subsistemas de projeto
Projetar
Caso de Uso
Realização de
caso de uso
Classes de projeto
Caso de uso
Fonte: Rational
Atividade
Projetar Subsistema
Projetar Subsistema
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Analisar caso
de uso
Projetista de
banco de
dados
Projetar
caso de
uso
Projetar
classes
Projetar
base de
dados
Revisar
projeto
Objetivos desta atividade

Identificar elementos internos ao subsistema
(classes e outros subsistemas) que realizem a
interface do subsistema
•


O comportamento da interface deve ser distribuído entre
estes elementos, de forma análoga à análise e ao projeto
de casos de uso
Este processo pode gerar novas dependências
do subsistema com elementos externos
A atividade é realizada uma vez para cada
subsistema, podendo ser recursiva (gerando
outros subsistemas)
Visão geral dos artefatos
Subsistemas e e interfaces de projeto
Subsistemas e interfaces de projeto
(atualizado)
Projeto de
Subsistema
Realização de caso de uso
Realização de caso de uso
(atualizado)
Classes de projeto
Fonte: Rational
Atividade
Projetar Classes
Projetar Classes
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Analisar caso
de uso
Projetista de
banco de
dados
Projetar
caso de
uso
Projetar
classes
Projetar
base de
dados
Revisar
projeto
Objetivos desta atividade



Detalhar a estrutura interna (atributos e
operações) das classes de projeto
Identificar classes e relacionamentos adicionais
Garantir que as classes fornecem o
comportamento necessário à realização dos
casos de uso
Realizada para cada classe da iteração corrente
Na prática...

Os passos desta atividade são realizados
simultaneamente às atividades de projeto:
• projeto da arquitetura;
• projeto de casos de uso e
• projeto de subsistemas

Aqui o objetivo é rever o que foi feito,
refinando e acrescentando detalhes
Visão geral dos artefatos
Requisitos não
funcionais
Classes de projeto
Realização de casos de uso
Projetar
classes
Classes de projeto
Modelo de
análise e projeto
Download

Aspectos_Engenharia_de_Software-2009_-_aula4