O Fluxo de Análise e Projeto
© Alexandre Vasconcelos
[email protected]
[email protected]
Centro de Informática da UFPE/
Qualiti Software Processes
1/29
Objetivos desta parte


Apresentar conceitos utilizados no fluxo de
análise e projeto
Dar uma visão geral das atividades,
responsáveis e artefatos deste fluxo
2/29
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 3/29
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
4/29
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
5/29
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
6/29
Artefato Modelo de Análise e
Projeto
Diagramas de Sequência
Diagramas de Colaboração
Modelo de análise e projeto
Diagramas de Classe
7/29
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)
8/29
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: IBM Rational
9/29
O Fluxo de Atividades
Projetar
Arquitetura
Arquiteto de
Software
Analista de
Sistemas
Projetista de
Banco de Dados
Revisor de
projeto
Analisar
Casos de Uso
Projetar
Casos de Uso
Projetar
Subsistemas
Projetar
classes
Revisar
Projeto
Projetar
Base de Dados
10/29
Atividade: Analisar Caso de Uso
Projetar
Arquitetura
Arquiteto de
Software
Analista de
Sistemas
Projetista de
Banco de Dados
Revisor de
projeto
Analisar
Casos de Uso
Projetar
Casos de Uso
Projetar
Subsistemas
Projetar
classes
Revisar
Projeto
Projetar
Base de Dados
11/29
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!
12/29
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
13/29
Fonte: Rational
Atividade: Projetar Arquitetura
Projetar
Arquitetura
Arquiteto de
Software
Analista de
Sistemas
Projetista de
Banco de Dados
Revisor de
projeto
Analisar
Casos de Uso
Projetar
Casos de Uso
Projetar
Subsistemas
Projetar
classes
Revisar
Projeto
Projetar
Base de Dados
14/29
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!
15/29
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) 16/29
Atividade: Projetar Caso de Uso
Projetar
Arquitetura
Arquiteto de
Software
Analista de
Sistemas
Projetista de
Banco de Dados
Revisor de
projeto
Analisar
Casos de Uso
Projetar
Casos de Uso
Projetar
Subsistemas
Projetar
classes
Revisar
Projeto
Projetar
Base de Dados
17/29
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
18/29
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
19/29
Fonte: Rational
Atividade: Projetar Subsistema
Projetar
Arquitetura
Arquiteto de
Software
Analista de
Sistemas
Projetista de
Banco de Dados
Revisor de
projeto
Analisar
Casos de Uso
Projetar
Casos de Uso
Projetar
Subsistemas
Projetar
classes
Revisar
Projeto
Projetar
Base de Dados
20/29
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)
21/29
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
22/29
Atividade: Projetar Classes
Projetar
Arquitetura
Arquiteto de
Software
Analista de
Sistemas
Projetista de
Banco de Dados
Revisor de
projeto
Analisar
Casos de Uso
Projetar
Casos de Uso
Projetar
Subsistemas
Projetar
classes
Revisar
Projeto
Projetar
Base de Dados
23/29
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
24/29
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
25/29
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
26/29
Projeto em Equipe

A partir do esboço do documento de requisitos
Parte 1: Faça a análise (produzindo diagramas de
interação e um VOPC com estereótipos,
responsabilidades e associações para 3 casos de uso
slecionados; identifique classes persistentes)
 Parte 2: Faça o projeto da arquitetura identificando
subsistemas, interfaces, pacotes e camadas. Produza
um diagrama de pacotes, relacione classes de análise
com elementos de projeto, e agrupe elementos de
projeto em camadas.

27/29
Projeto em Equipe
 Parte
3: Faça o projeto de um caso de uso,
refazendo os diagramas de interação e o VOPC
já incluindo elementos de projeto (deve ilustrar
inclusão de persistência e interfaces de
subsistemas)
 Parte 4: Faça o projeto de um subsistema e de
uma classe
28/29
O Fluxo de Análise e Projeto
© Alexandre Vasconcelos
[email protected]
[email protected]
Centro de Informática da UFPE/
Qualiti Software Processes
29/29
Download

O Fluxo de Análise e Projeto - Sefaz-AL