Você está na página 1de 18

Utilizando UML e Padres

Captulo 14 Projeto de Objetos

Objetivos
Entender a modelagem dinmica e esttica de
projeto de objetos.
Experimentar a modelagem gil ou uma ferramenta
CASE UML para desenhar.

O que vem a seguir?

Introduo
Como desenvolvedores projetam objetos?
Codificar
Cdigo direto a partir de um modelo mental
Ambiente Integrado de Desenvolvimento (IDE)

Desenhar, depois codificar.


Ferramentas de desenvolvimento (IDE)
Modelagem UML em quadro ou em ferramentas CASE

Apenas desenhar
Assuma que a ferramenta CASE ir gerar cdigo para voc.
Exemplo: Model Driven Architecture (MDA) da OMG.

Introduo
A abordagem mais popular com a UML a de
Desenhar, depois codificar.
Nesse caso, a sobrecarga de desenho deve valer o
esforo.

Neste curso, trabalharemos com o desenho leve de


objetos antes de codificar

Modelagem gil e desenho leve UML


Um dos objetivos da modelagem gil
reduzir sobrecarga de desenho e modelar para
entender e comunicar, em vez de para documentar.
[Ambler02]

Modelagem gil e desenho leve UML


Abordagem simples para uso de UML como
rascunho:
Uso de vrios quadros brancos cobrindo grandes
reas de parede
Pincis atmicos
Cmeras digitais
Impressoras

Modelagem gil e desenho leve UML


No aconselhvel na modelagem gil:
Desenhar muitos modelos visuais
Desenhar modelos formais
Tempo melhor gasto codificando.

Aconselhvel na modelagem gil:


Modelar com outros membros do time
Criar diagramas em paralelo
Exemplo: diagramas de classes e seqncia em paralelo

Carregar as fotos digitais de desenhos em parede


wiki interna com artefatos do projeto, por exemplo.

Ferramentas CASE UML


Modelagem gil em quadros usando uma
ferramenta CASE UML integrada a uma IDE podem
ser complementares.
muito til ter uma ferramenta CASE UML que faa
engenharia reversa.
Diagramas essenciais:
classes, seqncia, pacotes.

Quanto tempo gastar desenhando UML


antes de codificar?
Diretriz para uma iterao de 3 semanas:
Reserve no mximo 1 dia no incio de cada iterao da
Fase de Elaborao
Para uma sesso de modelagem
modelagem dinmica e esttica dos requisitos da iterao.

No dia anterior sesso de modelagem subseqente:


Faa engenharia reversa da base de cdigo produzida
durante a iterao
Gerando os diagramas de classe, pacotes e seqncia para
referncia eles durante a sesso de modelagem.

Projeto de objetos: o que so modelagem


esttica e dinmica?
H duas espcies de modelos de objetos
Dinmicos e estticos

Modelo esttico
Ajuda a projetar a definio dos pacotes, nomes das
classes, atributos e assinaturas dos mtodos
No definem o corpo dos mtodos

Diagrama de Classes UML

Outros diagramas estticos na UML


Diagrama de Pacotes
Diagrama de Implantao.

Projeto de objetos: o que so modelagem


esttica e dinmica?
Modelo dinmico
Ajuda a projetar a lgica, o comportamento do
cdigo ou o corpo do mtodo
Diagramas UML de Seqncia ou Comunicao
Tendem a ser os diagramas mais difceis e
importantes a se criar.

Outros diagramas dinmicos na UML


Diagrama de mquina de estados
Diagrama de atividades.

Modelagem esttica versus dinmica

O modelo dinmico essencial, j que envolve atribuio de responsabilidades

Diretriz

Empregue um tempo significativo fazendo diagramas


de interao, no apenas diagrama de classes.
Ignorar esta diretriz uma pior-prtica muito
comum em relao UML.

A importncia da habilidade de projeto de


objetos sobre a habilidade com notao UML
As habilidades de projeto de objetos so o que conta
No saber a notao UML

A habilidade de
conhecimento de:

projeto

de

objetos

Princpios de atribuio de responsabilidades


Padres de projeto

exige

Outras tcnicas de projeto de objetos:


Cartes CRC
Cartes CRC uma tcnica popular para o projeto de
objetos
Classe, Responsabilidade, Colaborador
Criada por Kent Beck e Ward Cunningham

Cartes de papel onde se escrevem


responsabilidades e colaboradores das classes
Cada carto representa uma classe

as

Outras tcnicas de projeto de objetos:


Cartes CRC

Outras tcnicas de projeto de objetos:


Cartes CRC