Você está na página 1de 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

Você também pode gostar