rup: fluxo de análise e projeto aspectos avançados em engenharia de software aula 4 fernanda...
TRANSCRIPT
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
Análise eprojeto
Modelo de análise e projeto
Documento daarquitetura
Modelo de caso de uso
Modelo de dadosDocumento requisitos
Glossário
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
Modelo de análise e projeto
Diagramas de Sequência Diagramas de Colaboração
Diagramas de Classe
Artefato Modelo de Análise e Projeto
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
Analisar caso de
usoProjetista
Projetista de banco de
dados
Revisar projeto
Projetar caso de
uso
Arquiteto
Revisor do projeto
Projetar base de dados
Projetar arquitetura
Projetar subsistema
Projetar classes
AtividadeAnalisar Caso de Uso
Analisar Caso de Uso
Analisar caso de usoProjetista
Projetista de banco de
dados
Revisar projeto
Projetar caso de
uso
Arquiteto
Revisor do projeto
Projetar base de dados
Projetar arquitetura
Projetar subsistema
Projetar classes
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
Modelo de análise e projeto
Documento daarquitetura
Modelo de caso de uso
Documento de requisitos
Glossário
Analisarcaso de uso
Realização de caso de uso
Classes de análise
Fonte: Rational
Atividade Projetar Arquitetura
Projetar Arquitetura
Analisar caso de usoProjetista
Projetista de banco de
dados
Revisar projeto
Projetar caso de
uso
Arquiteto
Revisor do projeto
Projetar base de dados
Projetar arquitetura
Projetar subsistema
Projetar classes
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çãoNo 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!
Modelo de análise e projeto(classes de análise)
Projetar ArquiteturaDocumento
de requisitos
Modelo de casos de uso
Documento daarquitetura
Mapeamento das classes de análise em elementos de projeto
Modelo de análise e projeto(classes de projeto e
subsistemas)
Visão geral dos artefatos
AtividadeProjetar Caso de Uso
Projetar Caso de Uso
Analisar caso de usoProjetista
Projetista de banco de
dados
Revisar projeto
Projetar caso de
uso
Arquiteto
Revisor do projeto
Projetar base de dados
Projetar arquitetura
Projetar subsistema
Projetar classes
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
Classes de projeto
ProjetarCaso de Uso
Caso de uso
Realização decaso de uso
Subsistemas de projetoDocumento derequisitos
Realização decaso de uso
Fonte: Rational
AtividadeProjetar Subsistema
Projetar Subsistema
Analisar caso de usoProjetista
Projetista de banco de
dados
Revisar projeto
Projetar caso de
uso
Arquiteto
Revisor do projeto
Projetar base de dados
Projetar arquitetura
Projetar subsistema
Projetar classes
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
Classes de projeto
Projeto de Subsistema
Realização de caso de uso
Subsistemas e e interfaces de projeto
Subsistemas e interfaces de projeto(atualizado)
Realização de caso de uso(atualizado)
Fonte: Rational
Atividade Projetar Classes
Projetar Classes
Analisar caso de usoProjetista
Projetista de banco de
dados
Revisar projeto
Projetar caso de
uso
Arquiteto
Revisor do projeto
Projetar base de dados
Projetar arquitetura
Projetar subsistema
Projetar classes
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
Classes de projeto
Projetar classesRealização de casos de uso
Requisitos não funcionais
Classes de projeto
Modelo de análise e projeto