RUP: Fluxo de Análise e Projeto Aspectos Avançados em Engenharia de Software Aula 4 Fernanda...

Post on 17-Apr-2015

118 views 0 download

Transcript of RUP: Fluxo de Análise e Projeto Aspectos Avançados em Engenharia de Software Aula 4 Fernanda...

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