Você está na página 1de 38

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES

lucelia.com@gmail.com

Externamente ao sistema, os atores visualizam resultados de clculos, relatrios produzidos, confirmaes de requisies solicitadas, etc. Internamente, os objetos do sistema colaboram uns com os outros para produzir os resultados esperados pelos atores. O ia!rama de "lasses apresenta como as classes intera!em entre si e qual a responsabilidade de cada classe na realiza#o das operaes solicitadas pelos atores.

DEFINIES
Classe

um grupo de objetos, sendo que cada objeto um exemplo de um determinado grupo. de Classes uma representa!"o da estrutura e rela!#es das classes que ser$em de modelo para os objetos.

Diagrama

$% "&$%%E% *O%%+E),

O I$'($)$

-ome

%empre deve mai.scula

ser

iniciado

com

letra

$tributos
/isibilidade ou n0vel de encapsulamento -ome 1deve ser iniciado com letra min.scula2 3ipo de dados

$% "&$%%E% O *O%%+E),

I$'($)$

Operaes ou m4todos
/isibilidade ou n0vel de encapsulamento -ome 1deve ser iniciado com letra min.scula2 &ista de par5metros 1se 6ouver2 3ipo de retorno

$ssociaes entre si
-ome 1opcional2 )ultiplicidades -ave!abilidade 1opcional2

E7E)*&O 8 I$'($)$

E "&$%%E%

ATRIBUTOS
Visibilidade

ou nvel de encapsulamento

9 private 1privado2 : protected 1prote!ido2 ; public 1p.blico2 1em branco2 default 1pacote2
Nome

emonstram as caracter0sticas dos objetos

Tipo

de dados

%#o os mesmos tipos usados em <ava, %trin!, boolean, int, float, double, ate, etc=

OPERAES OU

!TO"OS

Visibilidade ou nvel de encapsulamento


Os mesmos usados para os atributos O nome do m4todo deve expressar a a#o que realiza, por exemplo incluir$luno12. -#o deve possuir espaos e nem comear com d0!itos ever vir entre par>nteses e separados por v0r!ula. Informa que tipo de dado o m4todo dever retornar aps a sua execu#o. %e o m4todo n#o retornar nada, dever ser usada a palavra void no tipo de retorno.

Nome

#ista de pa$%met$os

Tipo de $eto$no

%SS&'I%(& EN)*E '+%SSES


*ara

representar o fato de que objetos podem se relacionar uns com os outros, utiliza9se a associa#o. que duas classes possuem uma li!a#o 1lin?2, si!nificando por exemplo que elas @con6ecem uma a outraA.

(epresenta

%SS&'I%(&
(epresentada atrav4s de um se!mento de reta li!ando as classes cujos objetos se relacionam.

Nome da Associa&'o

Buando usado, dever ser escrito junto C lin6a que representa a associa#o, normalmente um verbo 1n#o 4 obri!atrio2.

ultiplicidades "ada associa#o em um dia!rama de classes possui duas multiplicidades, uma em cada extremo da lin6a de associa#o. Nave(abilidade ou di$e&'o de leitu$a indica como a associa#o deve ser lida

&,ES DE -.+)I,+I'ID%DE
Nome %penas .m 2ero ou -uitos .m ou -uitos 2ero ou .m Inter$alo Espec56ico Simbologia /../ 0ou /1 0ou em branco1 3..4 0ou 41 /..4 3../ li..ls

E7E-,+& 8 N&-E DE %SS&'I%(&, -.+)I,+I'ID%DE, DI*E(& DE +EI).*% E ,%, IS

'+%SSE %SS&'I%)I9%

uma classe que est: ligada a uma associa!"o, ao in$s de estar ligada a outras classes. normalmente necess:ria quando duas ou mais classes est"o associadas, e necess:rio manter in6orma!#es sobre esta associa!"o 0;ist<rico1.

Emprego salrio dataContratao Pessoa nome telefone endereo

* empregado

* empregador

Empresa razoSocial endereo

%=*E=%(&

um caso especial de associa!"o e, conseq>entemente, multiplicidades, nome da associa!"o e papis, podem ser usados normalmente. para representar conex#es que guardam uma rela!"o todo-parte entre si. uma agrega!"o, um objeto est: contido no outro, ao contr:rio de uma associa!"o. se puder usar uma agrega!"o, uma associa!"o tambm poder: ser utili?ada.

.tili?ada

Em

&nde

%=*E=%(&
'aracter5sticas

particulares@ %grega!#es s"o assimtricas@ se um objeto % parte de um objeto A, A n"o pode ser parte de %.

Empresa D

3odo

D..E epartamento *arte

N&)%(& ,%*% .-% %=*E=%(&


*epresentada

atra$s de uma lin;a conectando as classes relacionadas, com um losango perto da classe que representa o todo. Exemplo@

ES,E'I%+I2%(&B=ENE*%+I2%(&

um tipo de relacionamento similar C associa!"o de mesmo nome em um Diagrama de 'asos de .so. objeti$o identi6icar classes8m"e, c;amadas gerais e classes86il;as, c;amadas especiali?adas. ser capa? de incorporar os atributos e mtodos de uma outra classe pre$iamente de6inida

Seu

Signi6ica

E7E-,+& DE ES,E'I%+I2%(&B=ENE*%+I2%(&

DI%=*%-% DE '+%SSES
Demonstra

sistema.

a estrutura est:tica das classes de um

Na

6ase de an:lise, tendo em m"os o diagrama de casos de uso, podemos de6inir o diagrama de classes do sistema. modelo de classes e$olui durante o desen$ol$imento do sistema. medida que o sistema desen$ol$ido, o modelo de classes pode ser incrementado com no$os detal;es.

&

E7E-,+& 8 '&N)*&+E DE '.*S&S


esenvolva o ia!rama de "lasses para um sistema de cursos de informtica equivalente ao mdulo de matr0cula de acordo com os se!uintes fatos,

+m curso pode ter muitas turmas, no entanto, uma turma se relaciona exclusivamente com um .nico curso. +ma turma pode ter diversos alunos matriculados, no entanto uma matr0cula refere9se exclusivamente a uma determinada turma. "ada turma tem um n.mero m0nimo de matr0culas para iniciar o curso. +m aluno pode realizar muitas matr0culas, mas cada matr0cula refere9se exclusivamente a uma turma espec0fica e a um .nico aluno.

E7E-,+& DE DI%=*%-% DE '+%SSES

CATEGORIZAO BCE

A categorizao ro o!ta! or Jaco"!o# i$ %ica &'e ca(a o")eto * e! ecia%i!ta e$ rea%izar '$ (o! tr+! ti o! (e tare,a!- a !a"er.
Co$'#icar/!e co$ o! atore! 0,ro#teira1 Ma#ter a! i#,or$a2e! 0e#ti(a(e1 Coor(e#ar a rea%izao (e '$ ca!o (e '!o 0co#tro%e1

E3EM4LO 5 DIAGRAMA DE CLASSES USA6DO BCE

E3EM4LO 5 DIAGRAMA DE CLASSES USA6DO BCE

E3ERC7CIOS
D.

&uc4lia controla em Excel uma planil6a com a sua lista de compras mensal. Ela cadastra o nome do produto, a unidade de compra, a quantidade prevista para um m>s, a quantidade que efetivamente ser comprada, o preo estimado 1atualizado todo m>s2 e o valor total de cada compra.
Produto Arroz =ei)o A@car Car#e Unidade Qtd Ms 89g 9g 89g 9g : > ? > Qtd Preo Compra estimado ; > : A-8 ;<-<< ?-8< ?->< ;;-<<

Identifique as classes, atributos, relacionamentos desse cenrio

m4todos

6OTAS
$ quantidade de compra pode variar em virtude de sobra de um m>s para o outro, ou da necessidade de um !asto maior no m>s. *or exemplo, um almoo em fam0lia. $s compras s#o feitas pela prpria &uc4lia. *or esse motivo, ela n#o v> necessidade de relacionar as marcas dos produtos. )ensalmente, &uc4lia analisa o quanto pa!ou por cada produto, e se ac6ar necessrio, atualiza o preo estimado de cada produto

SOLUO

E3ERC7CIOS
D.

&uc4lia n#o tem mais tempo de fazer as compras pessoalmente. *recisou detal6ar o produto, de forma a l6e permitir dele!ar essa tarefa a outra pessoa. $l4m disso, n#o quer que pa!uem um valor absurdo por al!um produto. %endo assim, incluiu em sua planil6a as colunas Fpreo mximo j compradoA e Fpreo mximo a pa!arA no m>s corrente, onde esta .ltima coluna 4 calculada a partir da coluna anterior acrescida de GH. O Fpreo mximo j compradoA 4 inserido na planil6a, a partir das compras efetivamente j realizadas

Buais s#o os atributos eIou m4todos que precisam ser inclu0dos nas classes do exerc0cio anterior para refletir o novo cenrioJ

SOLUO

Koram inseridos os atributos, preco)ax"omprado e preco)ax$*a!ar e foi exclu0do o atributo, precoEstimado, essa informa#o ser obtida a!ora por meio do atributo preco)ax"omprado

E3ERC7CIOS
D.

&uc4lia est assustada com a varia#o do preo de um supermercado para outro. 3em feito compras 1ou pedido para fazer2 em at4 tr>s supermercados diferentes. %endo assim, resolveu mel6orar sua planil6a. "riou uma se!unda planil6a que cont4m o preo mais baixo que ela encontrou num determinado m>s, indicando a que supermercado pertence.
Produto Arroz Arroz Arroz =ei)o =ei)o Ms de compra J'%Bo Ago!to J'%Bo Ago!to Valor A-<< >-C< :-;< ?-8< Supermercado 333 DDD 333 333 DDD

Sete$"ro ;<-<<

E3ERC7CIOS
;E

0Co#ti#'ao1

Buais s#o os atributos eIou m4todos que precisam ser inclu0dos nas classes do exerc0cio anterior para refletir o novo cenrioJ /erifique se 6 necessidade de criar novas classes.

COME6TFRIOS DA SOLUO

$ atributo preco)ax"omprado n#o 4 mais lanado manualmente pelo usurio. $!ora, ele 4 obtido pelo m4todo, "alcular)aior/alor1pD, *roduto2, que verifica o maior valor pa!o dentre os .ltimos meses para o produto em quest#o. "ada 6istrico de compra est associado a um supermercado e a um produto. Isso cria os relacionamentos da classe Listorico"ompra com a classe *roduto e a classe %upermercado. -a classe Listorico"ompra 4 que se armazena o valor pa!o a cada m>s, indicando em que supermercado foi feita a compra.

SOLUO

E3ERC7CIOS
D.

&uc4lia quer saber qual o supermercado apresentou mais produtos baratos, num determinado m>s.

a2

$ resolu#o dessa situa#o se d por meio da inclus#o de um m4todo. %u!ira um nome para esse m4todo, indicando sua assinatura. $ que classe pertence esse m4todoJ "omente com seus cole!as como seria o al!oritmo para a implementa#o desse m4todos

c2

e2

SOLUO

b2

obter)ercado)ais/antajoso1mes, int2,%upermercado "lasse Listorico"ompra

d2

E3ERC7CIOS
&uc4lia deseja desconsiderar o preo de um determinado m>s para clculos de maior ou menor valor, ou ainda do supermercado mais vantajoso. Exemplos,
D. a2

%aber qual o %upermercado apresentou mais produtos baratos, num determinado m>s. %upondo que ela comprou um produto numa promo#o que ofereceu GMH de desconto, esse valor n#o pode ser par5metro para suas compras futuras. *ara calcular o preco)aximo"omprado, a aplica#o pe!a o maior valor. /amos supor que um determinado produto teve queda de preo. Isso si!nifica que os meses de preo alto n#o podem ser considerados para a prxima compra

c2

Em que classe deve ser inclu0do um atributo para resolver essa quest#o e qual o tipo desse atributoJ

SOLUO

"lasse, Listorico"ompra $tributo, valido*ara$nalise,boolean

CLASSE =I6AL

Você também pode gostar