Documente Academic
Documente Profesional
Documente Cultură
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 Diagrama de Classes apresenta como as classes interagem entre si e qual a responsabilidade de cada classe na realizao das operaes solicitadas pelos atores.
DEFINIES
Classe
um grupo de objetos, sendo que cada objeto um exemplo de um determinado grupo. de Classes uma representao da estrutura e relaes das classes que servem de modelo para os objetos.
Diagrama
Nome
ser
iniciado
com
letra
Atributos
Visibilidade ou nvel de encapsulamento Nome (deve ser iniciado com letra minscula) Tipo de dados
Operaes ou mtodos
Visibilidade ou nvel de encapsulamento Nome (deve ser iniciado com letra minscula) Lista de parmetros (se houver) Tipo de retorno
Associaes entre si
Nome (opcional) Multiplicidades Navegabilidade (opcional)
ATRIBUTOS
Visibilidade
ou nvel de encapsulamento
- private (privado) # protected (protegido) + public (pblico) (em branco) default (pacote)
Nome
Tipo
de dados
So os mesmos tipos usados em Java: String, boolean, int, float, double, Date, etc
OPERAES OU MTODOS
Os mesmos usados para os atributos O nome do mtodo deve expressar a ao que realiza, por exemplo incluirAluno(). No deve possuir espaos e nem comear com dgitos Dever vir entre parnteses e separados por vrgula. Informa que tipo de dado o mtodo dever retornar aps a sua execuo. Se o mtodo no retornar nada, dever ser usada a palavra void no tipo de retorno.
Nome
Lista de parmetros
Tipo de retorno
representar o fato de que objetos podem se relacionar uns com os outros, utiliza-se a associao. que duas classes possuem uma ligao (link), significando por exemplo que elas "conhecem uma a outra.
Representa
ASSOCIAO
Representada atravs de um segmento de reta ligando as classes cujos objetos se relacionam.
Nome da Associao
Quando usado, dever ser escrito junto linha que representa a associao, normalmente um verbo (no obrigatrio).
Multiplicidades Cada associao em um diagrama de classes possui duas multiplicidades, uma em cada extremo da linha de associao. Navegabilidade ou direo de leitura indica como a associao deve ser lida
OPES DE MULTIPLICIDADE
Nome Apenas Um Zero ou Muitos Um ou Muitos Zero ou Um Intervalo Especfico Simbologia 1..1 (ou 1) (ou em branco) 0..* (ou *) 1..* 0..1 li..ls
CLASSE ASSOCIATIVA
uma classe que est ligada a uma associao, ao invs de estar ligada a outras classes. normalmente necessria quando duas ou mais classes esto associadas, e necessrio manter informaes sobre esta associao (histrico).
* empregado
* empregador
AGREGAO
um caso especial de associao e, conseqentemente, multiplicidades, nome da associao e papis, podem ser usados normalmente. para representar conexes que guardam uma relao todo-parte entre si. uma agregao, um objeto est contido no outro, ao contrrio de uma associao. se puder usar uma agregao, uma associao tambm poder ser utilizada.
Utilizada
Em
Onde
AGREGAO
Caractersticas
Empresa 1
Todo
atravs de uma linha conectando as classes relacionadas, com um losango perto da classe que representa o todo. Exemplo:
ESPECIALIZAO/GENERALIZAO
um tipo de relacionamento similar associao de mesmo nome em um Diagrama de Casos de Uso. objetivo identificar classes-me, chamadas gerais e classes-filhas, chamadas especializadas. ser capaz de incorporar os atributos e mtodos de uma outra classe previamente definida
Seu
Significa
EXEMPLO DE ESPECIALIZAO/GENERALIZAO
DIAGRAMA DE CLASSES
Demonstra
sistema.
Na
fase de anlise, tendo em mos o diagrama de casos de uso, podemos definir o diagrama de classes do sistema. modelo de classes evolui durante o desenvolvimento do sistema. medida que o sistema desenvolvido, o modelo de classes pode ser incrementado com novos detalhes.
Um curso pode ter muitas turmas, no entanto, uma turma se relaciona exclusivamente com um nico curso. Uma turma pode ter diversos alunos matriculados, no entanto uma matrcula refere-se exclusivamente a uma determinada turma. Cada turma tem um nmero mnimo de matrculas para iniciar o curso. Um aluno pode realizar muitas matrculas, mas cada matrcula refere-se exclusivamente a uma turma especfica e a um nico aluno.
CATEGORIZAO BCE
A categorizao propostas por Jacobson implica que cada objeto especialista em realizar um dos trs tipos de tarefas, a saber:
Comunicar-se com os atores (fronteira) Manter as informaes (entidade) Coordenar a realizao de um caso de uso (controle)
EXERCCIOS
1.
Luclia controla em Excel uma planilha com a sua lista de compras mensal. Ela cadastra o nome do produto, a unidade de compra, a quantidade prevista para um ms, a quantidade que efetivamente ser comprada, o preo estimado (atualizado todo ms) e o valor total de cada compra.
Produto Arroz Feijo Acar Carne Unidade Qtd Ms 5Kg Kg 5Kg Kg 2 6 3 6 Qtd Preo Compra estimado 1 6 2 7,5 10,00 3,50 3,60 11,00
mtodos
NOTAS
A quantidade de compra pode variar em virtude de sobra de um ms para o outro, ou da necessidade de um gasto maior no ms. Por exemplo: um almoo em famlia. As compras so feitas pela prpria Luclia. Por esse motivo, ela no v necessidade de relacionar as marcas dos produtos. Mensalmente, Luclia analisa o quanto pagou por cada produto, e se achar necessrio, atualiza o preo estimado de cada produto
SOLUO
EXERCCIOS
1.
Luclia no tem mais tempo de fazer as compras pessoalmente. Precisou detalhar o produto, de forma a lhe permitir delegar essa tarefa a outra pessoa. Alm disso, no quer que paguem um valor absurdo por algum produto. Sendo assim, incluiu em sua planilha as colunas preo mximo j comprado e preo mximo a pagar no ms corrente, onde esta ltima coluna calculada a partir da coluna anterior acrescida de 5%. O preo mximo j comprado inserido na planilha, a partir das compras efetivamente j realizadas
Quais so os atributos e/ou mtodos que precisam ser includos nas classes do exerccio anterior para refletir o novo cenrio?
SOLUO
Foram inseridos os atributos: precoMaxComprado e precoMaxAPagar e foi excludo o atributo: precoEstimado, essa informao ser obtida agora por meio do atributo precoMaxComprado
EXERCCIOS
1.
Luclia est assustada com a variao do preo de um supermercado para outro. Tem feito compras (ou pedido para fazer) em at trs supermercados diferentes. Sendo assim, resolveu melhorar sua planilha. Criou uma segunda planilha que contm o preo mais baixo que ela encontrou num determinado ms, indicando a que supermercado pertence.
Produto Arroz Arroz Arroz Feijo Feijo Ms de compra Julho Agosto Julho Agosto Valor 7,00 6,80 2,10 3,50 Supermercado XXX YYY XXX XXX YYY
Setembro 10,00
EXERCCIOS
1.
(Continuao)
Quais so os atributos e/ou mtodos que precisam ser includos nas classes do exerccio anterior para refletir o novo cenrio? Verifique se h necessidade de criar novas classes.
COMENTRIOS DA SOLUO
A atributo precoMaxComprado no mais lanado manualmente pelo usurio. Agora, ele obtido pelo mtodo: CalcularMaiorValor(p1: Produto), que verifica o maior valor pago dentre os ltimos meses para o produto em questo. Cada histrico de compra est associado a um supermercado e a um produto. Isso cria os relacionamentos da classe HistoricoCompra com a classe Produto e a classe Supermercado. Na classe HistoricoCompra que se armazena o valor pago a cada ms, indicando em que supermercado foi feita a compra.
SOLUO
EXERCCIOS
1.
Luclia quer saber qual o supermercado apresentou mais produtos baratos, num determinado ms.
a)
A resoluo dessa situao se d por meio da incluso de um mtodo. Sugira um nome para esse mtodo, indicando sua assinatura. A que classe pertence esse mtodo? Comente com seus colegas como seria o algoritmo para a implementao desse mtodos
c)
e)
SOLUO
b)
d)
EXERCCIOS
Luclia deseja desconsiderar o preo de um determinado ms para clculos de maior ou menor valor, ou ainda do supermercado mais vantajoso. Exemplos:
1. a)
Saber qual o Supermercado apresentou mais produtos baratos, num determinado ms. Supondo que ela comprou um produto numa promoo que ofereceu 50% de desconto, esse valor no pode ser parmetro para suas compras futuras. Para calcular o precoMaximoComprado, a aplicao pega o maior valor. Vamos supor que um determinado produto teve queda de preo. Isso significa que os meses de preo alto no podem ser considerados para a prxima compra
c)
Em que classe deve ser includo um atributo para resolver essa questo e qual o tipo desse atributo?
SOLUO
CLASSE FINAL