Vous êtes sur la page 1sur 14

Mdulo II

Modelagem Classes de
Projeto
Prof. Ismael H F Santos

April 08

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

FPSW-Java

April 05

Modelo
Iteraes
de Analise

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Modelagem de Interaes - anlise


Somente aps a construo de diagramas

de interao para os cenrios de um caso


de uso, pode-se ter certeza de que todas
as responsabilidades que os objetos
devem cumprir foram identificadas.
Ivar Jacobson, 1995

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Diagramas da UML

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

44

Introduo
Para prosseguir na anlise do SSOO,

desejvel ter uma noo mais concreta do


comportamento.
comportamento
O comportamento de um SSOO derivado de
seu modelo de casos de uso.
fonte para encontrar conceitos para o modelo
conceitual.
fonte para para identificao dos eventos de
sistema.

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

55

Eventos de Sistema
evento de sistema alguma ocorrncia no ambiente
do sistema e para o qual este sistema deve realizar
alguma ao quando da ocorrncia do evento.

Um

No contexto de casos de uso, eventos de sistema

correspondem s aes do ator no cenrio de determinado


caso de uso.

No caso particular em que o ator um ser humano e existe


uma interface grfica, os eventos do sistema so resultantes
de aes desse ator sobre essa interface grfica (i.e., sobre
os objetos de fronteira).

O eventos do sistema so representados em diagramas

de seq
seqncia de sistema (DSS).
April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

66

Diagramas de Seqncia do
Sistema
O DSS utilizado para especificar graficamente o

comportamento externamente visvel de um caso de uso.

Mostra os atores que interagem com o sistema, o sistema


(como uma caixa preta) e eventos de sistema que os
atores geram.
Os eventos de sistema so apresentados na ordem em que
ocorrem no cenrio do caso de uso.

De acordo com o Processo Unificado, devemos criar um

DSS para cada fluxo de caso de uso relevante.


April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Resumo do relacionamento entre


artefatos da anlise
Caso de Uso:
Comprar Itens
...
1. Este caso de
uso comea...

Caixa

Casos de Uso

Comprar Itens
verso 1

:Sistema

entrarItem(CUP, quantidade)
terminarVenda()

Sistema

registrarPagamento(quantia)

DSS
DSSs
Operao:
entrarItem

Cat
Catlogo
de contratos
April 05

Operao:
terminarVenda

entrarItem()
terminarVenda()
entrarPagamento()

Opera
Operaes de sistema

...
Ps-condies . . .
Ps-condies:
...
...
Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

88

FPSW-Java

April 05

Modelo
Iteraes
de Projeto

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Modelagem de Interaes - Projeto


Somente aps a construo de diagramas

de interao para os cenrios de um caso


de uso, pode-se ter certeza de que todas
as responsabilidades que os objetos
devem cumprir foram identificadas.
Ivar Jacobson, 1995

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

10

O que j temos?
Os artefatos de anlise:
Modelo de casos de uso
Modelo de classes de anlise (idia inicial das
classes que participam em cada caso de uso)
.
Diagramas de seqncia de sistema
Catlogo de contratos da operaes de
sistema (sabemos quais so as operaes de
sistema para cada caso de uso).

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

11
11

Do que precisamos agora?


Precisamos agora estudar o que acontece dentro de cada

caso de uso quando ele realizado.

Aspectos dinmico da modelagem (envio de mensagens)

No contexto particular de execuo de cada operao de

sistema, so relevantes as seguintes perguntas:

Quais as responsabilidades de cada objeto?


Como os objetos esto arquiteturalmente dispostos?
Que objetos enviam mensagens para que outros?
Precisamos de outros objetos ainda no identificados?
Quais as conseqncias sobre os modelos j construdos?

O modelo de intera
interaes da fase de projeto construdo

para responder s questes anteriores.


April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

12
12

Modelo de Interaes de projeto


O modelo de interaes de projeto representa como o

SSOO age internamente para que atores atinjam seus


objetivos na realizao dos caso de uso.
Esse modelo apresenta os objetos e mensagens envolvidos

na realizao dos casos de uso.


Sua correta construo depende:
Muito da experincia do modelador;
De aspectos micro e macro arquiteturais;
Da aplicao de princpios e padres de software.
April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

FPSW-Java

April 05

13
13

Modelo de
Classes
de Projeto

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

14

Modelo de classes de projeto


Perfection (in design) is achieved not when

there is nothing more to add, but rather


when there is nothing more to take away.
Eric Raymond, The Cathedral and the Bazaar

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

15

Refinamento de classes de
fronteira
Durante a anlise, considera-se que h uma nica

classe de fronteira para cada ator; durante o projeto,


algumas dessas classes resultam em vrias outras.
Interface com seres humanos:

Projeto da interface grfica produz o detalhamento das


classes.
Padres arquiteturais (MVC, MVP, etc)

Interface com outros sistemas ou equipamentos: definir

classes (subsistema) para encapsular o protocolo de


comunicao.

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

16
16

Refinamento de classes de entidade


Um aspecto importante para classes de entidade a

persistncia.

Pois (principalmente em sistemas de informao),


objetos de entidade devem ser armazenados de modo
persistente.

Deve ser selecionada uma estratgia de persistncia

para esses objetos.

Camada de prevalncia
Frameworks ORM
Padres Arquiteturais de Fontes de Dados (EAA)
etc.

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

17
17

Refinamento de classes de controle


No projeto, uma classe de controle pode se transformar

em duas ou mais classes.

Essas classes iro formar a camada da aplicao


(application layer) ou camada de servios (service layer).

Nesse refinamento (e de qualquer classe proveniente

da anlise), possvel a aplicao de padres de


software.

Padres de projeto (GoF, EAA)


Padres arquiteturais

April 05

Catlogo J2EE
Catlogo EAA
MVC, MVP
Domain Driven Design (DDD),
etc
Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

18
18

Identificao de novas classes


Alm do refinamento de classes preexistentes, outros

aspectos demandam a identificao de novas classes


durante o projeto.

Persistncia de objetos
Distribuio e comunicao (RMI, CORBA, DCOM, WEB)
Autenticao/Autorizao
Logging
Configuraes
Threads
Classes para testes (Test Driven Development)
Uso de bibliotecas, componentes e frameworks

Concluso: a tarefa de identificao (reuso?) de classes

no termina na anlise.
April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

FPSW-Java

April 05

19
19

Estudo
De
Caso

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

20

10

Estudo de Caso SCA


Caso de uso: Fornecer Grade de Disponibilidades
Ator Primrio: Professor
Sumrio:

Professor fornece a sua grade de


disponibilidade (disciplinas que deseja lecionar,
juntamente com dias e horrios em que est disponvel)
para o prximo semestre letivo.

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

21
21

SCA Modelo de Classes

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

22

11

Estudo de Caso SCA (cont.)


Fluxo Principal
1. Professor fornece sua matrcula para validao.
2. Sistema apresenta a lista de disciplinas disponveis
(conforme RN04).
3. Professor informa cada disciplina que deseja lecionar no
prximo semestre letivo.
4. Sistema apresenta a lista de dias da semana e de horrios
do semestre letivo seguinte.
5. Professor informa cada disponibilidade para o prximo
semestre letivo.
6. Professor confirma o registro de sua grade.
7. Sistema registra a grade fornecida e o caso de uso termina.

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

23
23

Estudo de Caso SCA (cont.)


Formulrio (objeto de fronteira) do caso de uso

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

24
24

12

Estudo de Caso SCA (cont.)


Nesse caso de uso, h os seguintes eventos de sistema:
solicitao de validao de matrcula de professor;
solicitao de adio de uma disciplina grade;
solicitao de adio de um item de disponibilidade (dia,
hora inicial e hora final) grade;
As operaes de sistema correspondentes so:
validarProfessor(matrcula);
adicionarDisciplina(nomeDisciplina);
adicionarItemDisponibilidade(dia, horaInicial, horaFinal).
registrarGrade()

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

25
25

Estudo de Caso SCA (cont.)


VCP

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

26
26

13

Estudo de Caso SCA (cont.)


DS - validarMatricula

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

27
27

Estudo de Caso SCA (cont.)


DS - adicionarDisciplina

April 05

Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

28
28

14