Vous êtes sur la page 1sur 5

Exerccio 5-1: Descreva a posio do diagrama de classes no processo de desenvolvimento incremental e iterativo.

Quando
eles so utilizados? Para que so utilizados?
Seo 5.6, pg. 127 do livro.

Exerccio 5-2: Considere a tcnica CRC. Discuta a relao existente entre as dimenses espaciais usuais de um carto CRC e a
distribuio quase uniforme das responsabilidades.
Na modelagem de cartes CRC, utiliza-se cartes de tamanho fixo (normalmente com as dimenses aproximadas de 10cm x
15cm). O fato de as dimenses utilizadas serem as mesmas para todo carto contribui para uma distribuio mais uniforme das
responsabilidades. Isso porque quando o carto CRC correspondente a uma certa classe j foi todo preenchido com
responsabilidades, e uma nova responsabilidade deve ser atribuda, hora de o modelador considerar a criao de uma nova
classe para cumprir com essa responsabilidade, ou ento atribuir essa responsabilidade a uma outra classe..

Exerccio 5-3: construa o modelo de classes de domnio de um sistema de informaes


para controlar o campeonato da Frmula 1.
Restries:
Um piloto no troca de equipe durante uma temporada
Um mecnico no troca de equipe durante uma temporada

Exerccio 5-4: Desenhe um diagrama de classes com relacionamentos, nomes de papis e multiplicidades para as seguintes
situaes:
Uma Pessoa pode ser casada com outra Pessoa;
Uma Disciplina pr-requisito para outra Disciplina;
Uma Pea pode ser composta de diversas outras Peas.
Exerccio 5-5: Considere o diagrama de classes a seguir, que exibe uma classe associativa entre as classes Pessoa e Empresa.
Crie um diagrama de classes equivalente ao fornecido abaixo, mas sem utilizar uma classe associativa.

Exerccio 5-6: Construa um diagrama de classes inicial para a seguinte situao: Pacotes so enviados de uma localidade a
outra. Pacotes tm um peso especfico. Localidades so caracterizadas pelas facilidades de transporte (por exemplo,
ferrovirias, aeroportos e auto-estradas). Algumas localidades so vizinhas, isto , existe uma rota direta de transporte entre tais
localidades. A rota de transporte entre as localidades tem um certo comprimento (a distncia entre as localidades). Trens,
avies e caminhes so usados para o transporte de pacotes. Cada um destes meios de transporte pode suportar uma carga
mxima de peso. A cada momento, durante o seu transporte, necessrio saber a posio (localidade) de cada pacote. Tambm
necessrio manter o controle de que meio de transporte est sendo utilizado em cada parte da rota para um certo pacote.

Restries:
Uma rota liga facilidades de um mesmo tipo
Trens so usados em rotas entre ferrovias
Avies so usados em rotas entre aeroportos
Caminhes so usados em rodovias
Exerccio 5-7: Considere o seguinte discurso relativo a um sistema de partidas de tnis: "Num torneio de tnis, cada partida
jogada entre 2 jogadores. Pretende-se manter informao sobre o nome e idade dos jogadores; data da partida e atribuio dos
jogadores s partidas. O mximo de partidas que um jogador poder realizar 6 e o mnimo 1. Desenhe o diagrama de classes
correspondente.

Exerccio 5-8: Desenhe um diagrama equivalente ao da Figura 5-10 de duas formas:


a) Utilizando uma classe ordinria para substituir a classe associativa.
b) Utilizando uma associao ternria.

Exerccio 5-9: Identifique classes e/ou relacionamentos a partir das seguintes regras do negcio:
a) Pedidos so compostos de vrios itens de pedido.
b) Um item de pedido diz respeito a um e exatamente um produto.
c) Um pedido pode conter at 20 itens.

Exerccio 5-10: Considere um sistema de software para controlar um hotel. Normalmente, um hspede ocupa um quarto por
estadia. Mas, suponha que uma nova regra foi criada no negcio: agora, um hspede pode utilizar at trs quartos. Desenhe o
diagrama de classe para essas duas situaes.
a) hspede ocupa um quarto
b) hspede ocupa at trs quartos

Exerccio 5-11: Reflita sobre a seguinte afirmao: "O tamanho do carto CRC ajuda a limitar e a restringir a complexidade
das classes identificadas nas sesses CRC".
Em um modelo de classes, as responsabilidades atribudas aos objetos devem ser distribudas o mais uniformemente possvel.
Em muitos casos, um modelo no qual h uma classe que seja responsvel pela maioria das atribuies do sistema muito
provavelmente est mal balanceado quanto distribuio de responsabilidades. Sempre que o modelador precisar de mais do
que as dimenses usuais de um carto CRC para enumerar as responsabilidades de uma classe, ele deve ser questionar se esta
classe no est sobrecarregada com muitas responsabilidades.

Exerccio 5-12: Reflita e discuta com algum colega sobre a seguinte afirmao: "Atributos so similares a associaes. Um
atributo de uma classe apenas uma notao para associ-la a um conceito que tem um valor atmico".
Observe o seguinte diagrama de classes:

e sua implementao em Java:

class Livro {
String titulo;
String ISBN;
Exemplar exemplar[];
}

class Exemplar {
double preco;
String codigo;
}

Observe um atributo como ttulo e uma associao como exemplar. Qual a diferena entre elas? Observe que ambas so
implementadas como atributos da classe Livro. Olhando apenas para a implementao da classe em Java, no possvel dizer
se, no diagrama de classes, o projetista representou cada uma delas como um atributo da classe ou como uma associao com
uma outra classe.
Ento, qual a diferena entre um atributo e uma associao?
Da perspectiva conceitual, no h nenhuma diferena. Um atributo carrega somente outro tipo de notao que voc pode usar,
se lhe parecer conveniente. Atributos, normalmente tm um nico valor. Normalmente, um diagrama no indica se um atributo
opcional ou mandatrio, embora voc possa por a multiplicidade depois do nome do atributo entre colchetes, por exemplo:
dateReceived[0..1] : Date.
A diferena ocorre nos nveis de especificao e implementao. Os atributos implicam em navegao somente do tipo ao
atributo. Alm disso, implcito que o tipo contm sua prpria cpia do atributo, implicando em que atributos tm semntica
de valor ao invs de referncia.
No momento, melhor pensar em atributos como tipos simples de dados, tais como Strings, datas, quantias, inteiros e reais.

Exerccio 5-13: A seguir, so enumeradas diversas responsabilidades tpicas de serem encontradas em objetos de um sistema
de software. Discuta qual das categorias de objetos (fronteira, controle ou entidade) mais adequada para cumprir com cada
uma dessas responsabilidades:
a) Criao ou destruio de um objeto.
b) Formao ou destruio de associaes entre objetos de entidade.
c) Obteno ou modificao de valores de atributos de um objeto de entidade.
d) Exibio de mensagens para o ator.
e) Realizao de clculos complexos.
a) entidade
b) controle
c) controle
d) fronteira
e) controle

Jonas 1: Modelar a situao: Uma pessoa ao longo da vida, tem vrios empregos, em empresas diferentes. Para a Previdncia,
importante saber a data de admisso e a data de resciso de contrato com cada uma dessas Empresas

Jonas 2: Modelar a situao: Um empregado pode trabalhar em vrios projetos. Para fins de clculo da remunerao preciso
saber quantas horas ele trabalha em cada projeto. Os empregados podem se ligar ou se desligar de um projeto a qualquer
momento, mas preciso guardar o histrico de participao dos empregados nos projetos

Jonas3: Identificar as classes de domnio para o caso de uso abaixo. Para cada classe identificada, relacionar os atributos,
operaes e associaes que voc conseguir identificar. Construir o diagrama de classes

Realizar Inscrio (CSU01)


Sumrio: Aluno usa o sistema para realizar inscrio cm disciplinas.
Ator Primrio: Aluno
Atores Secundrios: Sistema de Faturamento
Precondies: O Aluno est identificado pelo sistema.
Fluxo Principal
1. O Aluno solicita a realizao de inscrio.
2. O sistema apresenta as disciplinas disponveis para o semestre corrente e para as quais o aluno tem pr-requisitos.
3. O Aluno seleciona as disciplinas desejadas e as submete para inscrio.
4. Para cada disciplina selecionada, o sistema aloca o aluno em uma turma que apresente uma oferta para tal disciplina.
5. O sistema informa as turmas nas quais o Aluno foi alocado. Para cada alocao, o sistema informa o professor, os horrios e
os respectivos locais das aulas de cada disciplina.
6. O Aluno confere as informaes fornecidas.
7. O sistema envia os dados sobre a inscrio do aluno para o Sistema de Faturamento e o caso de uso termina.
Fluxo Alternativo (4): Incluso em lista de espera
a. Se no h oferta disponvel para alguma disciplina selecionada pelo aluno, o sistema reporta o fato e fornece a possibilidade
de inserir o Aluno em uma lista de espera.
b. Se o Aluno aceitar, o sistema o insere na lista de espera e apresenta a posio na qual o aluno foi inserido na lista. O caso de
uso retorna ao passo 4.
c. Se o Aluno no aceitar, o caso de uso prossegue a partir do passo 4.
Fluxo de Exceo (4): Violao de RN01
a. Se o Aluno atingiu a quantidade mxima de inscries (RN01), o sistema informa ao aluno a quantidade de disciplinas que
ele pode selecionar, e o caso de uso retorna ao passo 2.
Ps-condies: O aluno foi inscrito em uma das turmas de cada uma das disciplinas desejadas, ou foi adicionado a uma ou
mais listas de espera.
Regras de Negcio: RN01, RNO2. RNO3

Livro do Eduardo Bezerra, Figura 5-26, pgina 131