Post on 19-Apr-2015
Revisão do Fluxo de Análise Revisão do Fluxo de Análise e Projetoe Projeto
Alexandre Monteiro
Objetivos desta parteObjetivos desta parte
Revisar conceitos utilizados no fluxo de análise e projeto
Dar uma visão geral das atividades, responsáveis e artefatos deste fluxo
O Fluxo de Análise e Projeto 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 artefatosVisã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 artefatosSobre 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 UsoRealizaçã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 Artefato Modelo de Análise e ProjetoProjeto
Modelo de Análise e ProjetoModelo 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 ProjetoAná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 Fluxo de Análise e Projeto SimplificadoSimplificado
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
AtividadeAtividadeAnalisar Caso de UsoAnalisar Caso de Uso
Analisar Caso de UsoAnalisar 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 atividadeObjetivos 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 artefatosVisã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 Atividade Projetar ArquiteturaProjetar Arquitetura
Projetar ArquiteturaProjetar 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 atividadeObjetivos 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!
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 artefatosVisão geral dos artefatos
AtividadeAtividadeProjetar Caso de UsoProjetar 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 atividadeObjetivos 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 artefatosVisã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
AtividadeAtividadeProjetar SubsistemaProjetar 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 atividadeObjetivos 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 artefatosVisã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 Atividade Projetar Classes Projetar Classes
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 atividadeObjetivos 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...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 artefatosVisã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