rup: fluxo de análise e projeto aspectos avançados em engenharia de software aula 4 fernanda...

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

Upload: internet

Post on 17-Apr-2015

118 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Aspectos Avançados em Engenharia de Software

Aula 4

Fernanda Campos

Page 2: 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

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

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

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

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

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

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

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

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

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

Modelo de análise e projeto

Diagramas de Sequência Diagramas de Colaboração

Diagramas de Classe

Artefato Modelo de Análise e Projeto

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

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)

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

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

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

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

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

AtividadeAnalisar Caso de Uso

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

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

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

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!

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

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

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

Atividade Projetar Arquitetura

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

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

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

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!

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

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

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

AtividadeProjetar Caso de Uso

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

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

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

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

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

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

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

AtividadeProjetar Subsistema

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

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

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

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)

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

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

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

Atividade Projetar Classes

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

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

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

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

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

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

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

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