Vous êtes sur la page 1sur 10

EXERCCIOSDEANLISEEDESENHOORIENTADOA OBJECTOS FICHADEEXERCICIOS2 PARTE 1

I) A empresa Auction encarrega-se da execuo de leiles. Um leilo um acto efectuado por um utilizador registado que tenha em sua posse uma obra de arte que pretenda vender. Um leilo tem uma data de incio, uma data de fim, um preo inicial, o nome do dono da obra de arte a ser leiloada, o nmero de licitaes efectuadas, local onde o produto poder ser levantado, e evoluo do leilo. Todas as obras de arte apresentadas devem pertencer a uma determinada categoria. Algumas categorias podero ser pinturas, esculturas, fotografias, cermica e vidro, livros e manuscritos, entre outras. Todas as obras de arte, esto devidamente identificadas, com nome da obra, nome do autor, dimenso, fotografia entre outros. Os autores so descritos pelo nome, data de nascimento, data da morte (se for o caso), nacionalidade, fotografia (se houver), lista das obras que produziu. Para o sistema, existem dois tipos de utilizadores, o registado e o no registado. partida, todos os utilizadores no esto registados. Quem quiser registar-se, tem que preencher um formulrio com os seus dados pessoais, incluindo o endereo de e-mail. Depois ser enviado, por e-mail, o username e a password que lhe dar acesso ao sistema. O utilizador no registado tambm pode: Pedir ajuda - A qualquer momento poder aceder a um mdulo de ajuda que explica todas as funcionalidades que o sistema oferece. Obter listagem de leiles Permite obter uma listagem de leiles a decorrer; Pesquisa simples relativamente a ttulos de leiles O ttulo do leilo ser o nome da obra, de maneira que o utilizador verifique se uma determinada obra, est a ser leiloada. O utilizador registado poder usufruir de todas as funcionalidades oferecidas ao utilizador no registado mais as seguintes: Licitar um leilo (obra de arte) Pode licitar um determinado leilo, necessitando para tal de referir o montante que oferece, username e a sua password. Propor um novo leilo Pode propor a leilo uma determinada obra de arte. O sistema deve ter um super utilizador responsvel pela gesto de tempos a atribuir a cada leilo. O objectivo realizar a anlise do sistema acima tendo em vista a automatizao do seu funcionamento. Resolva as ambiguidades da melhor forma possvel e construa: 1. Desenhar o diagrama de use cases; 2. Definir um diagrama de sequncia para o cenrio principal de cada use case; 3. Especificar o diagrama de classes com as operaes e os atributos principais; 4. Construir o diagrama de componentes. Questo terica 5. Construa um diagrama de actividade que represente o processo de desenvolvimento utilizando os diagramas do UML. 6. Quais as vantagens e desvantagens da anlise orientada a objectos com relao anlise estruturada? II) A empresa West End encarrega-se da reserva e venda de bilhetes de espectculos teatrais e filmes, alm de dar informao mais detalhada sobre os mesmos e possibilitar sua avaliao. Os espectculos so produzidos por Companhias Teatrais. O sistema dever fornecer vrias informaes sobre as companhias teatrais, as peas, os actores, os encenadores e os espectculos realizados.

As companhias teatrais so descritas pelo nome (e.g. Cornucpia, Royal Shakespeare Company), director, sede (e.g. Lisboa, Stratford upon Avon), e pelo ano de criao. Um espectculo teatral realizado por uma companhia, que apresenta uma determinada pea, num teatro (e.g Teatro da Comuna, Teatro Aberto), numa determinada temporada (e.g. de Outubro a Dezembro de 2001) e numa determinada hora. A pea teatral propriamente dita descrita por ttulo (e.g. A Casa de Benarda Alba, Jlio Csar), autor (e.g. Garcia Lorca, William Shakespeare), gnero (e.g. comdia, drama), estrutura (e.g. 3 actos, 5 actos curtos, 7 quadros), poca (e.g. sculo XIX, Imprio Romano), localizao (e.g. Espanha, Roma), personagens, e enredo. Actores e encenadores so descritos por nome, nacionalidade, anos de carreira, principais trabalhos anteriores, e em que companhias trabalharam ao longo da sua vida. Todas as informaes relativas s peas so fornecidas pelas companhias. Um filme exibido em vrias salas de cinemas (descrito por nome, endereo), em vrias sesses, a partir de uma determinada data. Um filme tem um nome (e.g. Moulin Rouge, Inteligncia Artificial), ano de produo, actores principais (e.g. Nicole Kidman, Jude Law), realizador, produtor, o estdio que produziu o filme (e.g. MGM, Dreamworks), e os prmios que recebeu (e.g. Oscar, Leo de Ouro, actor do ano da revista Caras). Todas as informaes relativas aos filmes so fornecidas pelas distribuidoras dos filmes, e os horrios, os preos e as salas so fornecidos pelos cinemas. Os filmes tem uma entrada fixa, mas os espectculos tm preos variados dependendo do lugar (e.g. 1 platia, 2 platia, balco, etc.).
Para o sistema, existem dois tipos de utilizadores, o registado e o no registado. partida, todos os utilizadores no esto registados. O utilizador no registado pode obter todas as informaes sobre espectculos e filmes. Tambm pode avaliar um filme ou espectculo. Cada avaliao composta por estrelas. Por exemplo, uma estrela indica que o filme mau, cinco estrelas diz que o filme excelente. Cada vez que uma avaliao submetida a mdia das avaliaes re-calculada e exibida no site para o evento.

concordar com os termos e condies gerais impostas pela entidade que est a gerir o site. O utilizador registado pode reservar lugar(es), hora, dia, e o cinema ou teatro onde ser apresentado o filme ou espectculo. Uma vez feita a reserva, o respectivo pagamento dever ser feito por carto de crdito at 4 dias antes do show se o utilizador quiser receber os bilhetes por correio. Caso contrrio pode pagar at um dia antes e levantar os bilhetes na prpria bilheteira. Os utilizadores registados podem enviar comentrios, crticas ou reclamaes sobre o site, que devero ser respondidos pelo administrador do sistema. Alm da manuteno usual dos dados, o sistema deve fornecer Direco da West End algumas listagens. Como h muitas possibilidades, a prioridade agora fornecer: (a) uma listagem dos espectculos a serem realizados num determinado perodo, indicando para alm do nome do espectculo, o nome da companhia, actores e encenadores; (b) uma listagem dos filmes e espectculos que receberam prmios. O objectivo realizar a anlise e o desenho orientados a objectos do sistema acima tendo em vista a automatizao do seu funcionamento. Resolva as ambiguidades da melhor forma possvel e produza um documento que contenha (alm de uma introduo, de uma concluso e referncias): 1. Descrio dos actores e dos use cases (utilizar cenrios, e no caso dos secundrios descrever apenas os principais); 2. Diagrama de use cases; 3. Diagramas de sequncia OU colaborao; 4. Diagramas de classes (para anlise e desenho); 5. Diagramas de actividade; 6. Diagramas de transio de estados; 7. Diagrama de componentes; 8. Diagrama de instalao.

Quem quiser registar-se, tem que preencher um formulrio com os seus dados pessoais, e o endereo de e-mail. Alm disso, tem que

III) A ZipCar uma empresa de aluguer de automveis, ou, se preferir, um clube de compartilha de automveis, que promete revolucionar o trfego nova-iorquino (www.zipcar.com). O Focus Foley, o Beetle Barbie e o Golf Gustavo so alguns dos zipcars de fcil acesso aos membros daquela empresa. Pode parecer confuso, mas na verdade um sistema bem mais simples que o praticado pelas agncias tradicionais do ramo e j conta com mais de 2000 nova-iorquinos que, entretanto, se tornaram membros. O princpio simples: para qu aluguer um carro por um dia se precisa dele apenas por umas horas?
Este sistema foi fundado h cerca de trs anos, em Boston, e funciona assim: 100 zipcars esto estrategicamente estacionados por toda a cidade. Para os poder usar, basta tornar-se membro da ZipCar atravs de uma rpida inscrio on-line. Uma inscrio necessita dos dados da pessoa (nome, data nascimento, morada, telefone), nmero da carta de conduo e dados do carto de crdito. Cada membro recebe um carto magntico, 2-5 dias depois da inscrio, que funciona como chave do carro, e que, sendo reconhecido por um leitor magntico localizado no pra-brisas, autoriza a partida na hora previamente reservada pelos membros. Um veculo deve ser levantado numa garagem especfica, mas pode ser devolvido em qualquer garagem. Um funcionrio dever inspeccionar o veculo aquando da sua devoluo e registar qualquer irregularidade. A empresa cobra uma anuidade de 60 euros, alm de taxas dirias, para uso dos zipcars. Os pagamentos so processados diariamente para clientes individuais e semanalmente para as empresas. Estes pagamentos podem ser por carto de crdito ou por transferncia bancria. E no adianta enganar o sistema. O ano passado, um homem inscreveu-se usando um carto de crdito roubado e no devolveu um dos carros da empresa. Imediatamente foi enviado um sinal para ao computador de bordo do automvel (todos os zipcars tm um) impossibilitando a sua partida, e, em poucas horas o carro foi localizado atravs de um sistema de localizao que se comunica com o sistema da ZipCar. Na verdade, o conceito de zipcar no novo. Nalguns pases europeus servios parecidos so j oferecidos h pelos menos 15 anos. Entre os primos da ZipCar, esto a Greenwheels, em Amesterdo, a Sttat Auto em Berlim, e a Mobility,

na Suia. Tambm em alguns pases asiticos j se experimentaram sistemas similares. Nos EUA existem 15 empresas idnticas espalhadas por 20 cidades. O sucesso parece ser maior em cidades densamente povoadas, onde o preo do estacionamento e o seguro anual so proibitivos e o trfego uma dor de cabea constante. Todo o sistema funciona on-line. Para alm das inscries e alugueres on-line, os interessados dispem ainda de um conjunto de funcionalidades teis como: procurar os edifcios-garagem mais prximos de um determinado ponto na cidade (definido pelo estado, cidade, rua e cdigo postal) onde se encontram zipcars; listar os edifciosgaragem da cidade fornecidos pela ZipCar; consultar condies de aluguer e preos.

a) Especificao do domnio do problema

A especificao do domnio do problema inclui: 1. Modelo de Use Cases Descrio dos actores e use cases Diagrama de use cases 2. Diagramas de actividades 3. Diagramas de sequncia 4. Diagrama de classes para anlise
b) Especificao do domnio da soluo

A especificao do domnio da soluo inclui: 5. Arquitectura do sistema 6. Diagrama de classes para desenho 7. Diagramas de transio de estados 8. Diagrama de componentes
IV) Considere a descrio abaixo, de um sistema de suporte ao reparo de buracos de uma cidade: Os cidados podem obter acesso a um site da Web e relatar a localizao e gravidade dos buracos. medida que os buracos so relatados eles so registrados num "sistema de reparo do departamento de obras pblicas" e lhes atribudo um nmero

de identificao, armazenado por endereo da rua, tamanho (numa escala de 1 a 10), localizao (no meio da rua, na calada, etc.), distrito (determinado pelo endereo da rua) e prioridade de reparo (determinada pelo tamanho do buraco). Dados da ordem de servio so associados com cada buraco e incluem a localizao e tamanho do buraco, nmero de identificao da equipe de reparo, nmero de pessoas na equipe, equipamento atribudo, horas aplicadas no reparo, estado do buraco (trabalho em andamento, reparado, reparo temporrio, no reparado), quantidade de material de enchimento usado e custo do reparo (calculado a partir de horas aplicadas, quantidade de pessoas, material e equipamento usados). Finalmente, um arquivo de danos criado para conter informao sobre danos relatados devido ao buraco e incluem nome do cidado, endereo, nmero do telefone, tipo de dano e quantia em reais de prejuzo causado pelo dano. O SARB um sistema on-line; todas as consultas devem ser feitas interactivamente.

tempo e cada cliente pode retornar itens das duas categorias possveis na mesma ocasio. Uma vez que podem existir muitos tipos e tamanhos diferentes de garrafas e latas, o sistema tem que checar (para cada item) que tipo foi retornado. O sistema registrar quantos itens cada cliente retorna e, quando o cliente pede um recibo, o sistema imprimir o que ele depositou, o valor dos itens retornados e o valor total de retorno a ser pago para o cliente. O sistema tambm usado por um operador. O operador quer saber quantos itens de cada tipo foram retornados durante o dia. Ao fim do dia, o operador pede uma impresso do nmero total de itens retornados naquele dia. O operador deve tambm ser capaz de alterar informao no sistema, tais quais os valores de retorno dos itens. Se algo errado acontece, por exemplo uma lata fica entalada ou o papel do recibo terminou, o operador deve ser chamado atravs de um alarme sonoro. VI) EXERCICIOS ADICIONAIS a) Por que o modelo de objectos se apresenta como um modelo promissor para o desenvolvimento de software confivel e robusto? b) O que encapsulamento? c) Quais as vantagens de se utilizar a herana? d) O que uma classe filha (sub-classe) herda de uma classe me (super classe)? e) Descreva os mecanismos de associao, herana e agregao entre classes. f) Represente as classes Pessoa, Professor e Aluno. De dois atributos relevantes a cada uma delas e um mtodo (ou comportamento). Estabelea os relacionamentos (associao, herana ou agregao) entre elas. g) Com base no enunciado do problema da abaixo faa: a. O Diagrama de Caso de Uso; b. O Caso de Uso de Consulta de Saldo;

Transforme essa descrio em documento de especificao de requisitos, em que os requisitos esto todos escritos da seguinte forma: O sistema SARB deve fazer...xxxx. Identifique os casos de uso do sistema de reparos de buracos e elabore o seu diagrama de casos de uso essencial. Elabore o Diagrama de Sequncia da operao criarOrdemServio. A partir das respostas das questes anteriores elabore Diagramas de Colaborao (para a operao criarOrdemServio) e de Classes do sistema SARB.

Tarefa: Definir os casos de uso para o sistema descrito abaixo


V) O problema abaixo foi escolhido por ser fcil de ser descrito e entendido. Deve ser visto como um exemplo didctico, e no como um sistema real.

O sistema controla uma mquina de reciclagem para garrafas e latas. A mquina pode ser usada por vrios clientes ao mesmo

O Diagrama de Sequncia para este Caso de Uso acima.


c.

Enunciado: O sistema de caixa automtico permite que clientes realizem saques e verifiquem seus saldos, de acordo com as seguintes regras de negcio: i. ii.
iii.

igual ou inferior ao saldo disponvel. Vale a poltica do banco de que uma conta no aceita uma operao de saque quando a conta tem saldo zerado. O dinheiro liberado no dispensador de notas do caixa. vii. Em uma operao de saque, a quantidade de dinheiro disponvel no caixa deve ser maior ou igual quantia solicitada. Se o saldo de uma conta zerado durante uma operao de saque, a conta torna-se inactiva. Os clientes que vo operar o caixa electrnico esto devidamente cadastrados no bando e suas contas esto activas. As informaes adicionais sobre as contas e seus clientes esto armazenadas em um Cadastro de Contas do Banco que interage com o Sistema de Caixa Automtico.

quando uma conta criada no banco, o seu saldo maior que zero. um cliente ode possuir vrias contas no banco. o cliente acessa uma conta atravs do terminal de um caixa electrnico. o cliente deve fornecer o nmero da sua conta e a senha referente mesma. para a realizao do saque, o cliente utiliza um terminal para solicitar um valor inteiro de dinheiro. O cliente pode sacar qualquer quantia do caixa, desde que a mesma seja x.
viii.

ix.

iv. v.

vi.

PARTE 2
1. Qual a diferena entre uma classe e um objecto? 2. Assinale verdadeiro ou falso em cada uma das alternativas abaixo. Se a alternativa for falsa, justifique sua resposta. a) A interface de uma classe o conjunto de mensagens que pode ser enviada classe. b) O conjunto de valores dos atributos de um objecto define o estado do objecto c) O estado de um objecto, uma vez que o objecto tenha sido instanciado, deve permanecer inalterado durante toda a execuo do programa. d) A herana possibilita evitar a duplicao de cdigo e) Atravs do mecanismo de herana possvel herdar os mtodos pblicos existentes na superclasse ou modific-los, mas no possvel acrescentar novos mtodos interface. f) O modificador de visibilidade private faz com que os atributos e mtodos declarados com este modificador possam ser acessados somente pela prpria classe e pelas classes herdeiras; g) O modificador de visibilidade protected faz com que os atributos e mtodos declarados com este modificador possam ser acessados pela prpria classe, por objectos desta classe e pelas classes herdeiras, mas no por objectos instanciados a partir de classes herdeiras; h) Em uma aplicao OO s pode haver uma nica instncia de cada classe (um objecto) em memria num dado instante de tempo 3. Em uma classe, um atributo privado s pode ser alterado por um mtodo da prpria classe. O princpio da orientao a objectos expresso nesta frase : A) herana B) polimorfismo C) encapsulamento D) estado do objecto E) troca de mensagens 4. Prover acesso a um objecto somente atravs dos seus mtodos mantendo privados os detalhes de implementao chamado de: A) encapsulamento. B) herana

C) modularidade D) polimorfismo. 5. O conceito de classes derivadas est presente em: A) encapsulamento. B) herana. C) ocultao de dados. D) tipos abstractos de dados. 6. Herana uma maneira de A) adicionar novas caractersticas a classes existentes, sem ter de reescrev-las. B) melhorar o encapsulamento dos dados. C) organizar os dados. D) passar argumentos para os objectos das classes. 7. Para ser acessvel a um mtodo em uma subclasse, um atributo na superclasse deve ser: A) default B) protected C) public D) public ou protected 8. Qual a diferena entre private e protected? A) membros privados no podem ser acessados pelas subclasses, mas os membros protected podem. B) membros private e membros protected na superclasse podem ambos ser acessados pelas subclasses. C) membros protected de uma classe podem ser acessados por instncias de objectos desta classe. D) membros protected no podem ser acessados pelas subclasses, mas os membros privados podem. 9. A definio correcta em Java para uma classe TestClass que no pode ter subclasses : A) final class TestClass { } B) abstract class TestClass { } C) native class TestClass { } D) static class TestClass { } E) private class TestClass { } 10. A respeito do construtor default de uma classe em Java, pode-se afirmar que: A) toda classe em Java tem um construtor default B) a classe tem de ter pelo menos um construtor definido para ter um construtor default C) uma classe tem um construtor default se ela no define nenhum outro construtor D) toda classe em Java herda um construtor default da classe Object E) a linguagem Java no tem o conceito de um construtor default

locomotivas ou trens. Um trem formado por vages e locomotivas. Podem existir vages e locomotivas estacionadas em uma linha sem estarem na formao de um trem. Uma estao ferroviria tem uma sigla e uma descrio (que no precisa obrigatoriamente possuir um valor). Uma linha ferroviria tem um nmero (que a diferencia de outra linha dentro da mesma estao), uma extenso em metros e uma descrio (que no precisa obrigatoriamente ter um valor). Um vago descrito por um nmero de srie, tipo, capacidade de carga (valor default igual a 3000 ton), comprimento entre testeiras e comprimento dos engates (um nico valor correspondendo aos dois lados). Uma locomotiva descrita por um nmero de srie, capacidade de trao e comprimento. Um trem descrito por um prefixo (ex: NAG1010) e data/hora de formao. Um trem formado em uma estao ferroviria de origem e tem como destino, uma outra estao ferroviria, ou seja, a estao de origem no pode ser igual estao de destino. Todo trem formado por pelo menos uma locomotiva e um vago. A cada 40 vages, um trem tem que ter uma locomotiva adicional. Um trem no pode ter mais do que 150 recursos (vages e locomotivas). Elabore um diagrama de classes (UML) ilustrando os conceitos (classes, atributos e relacionamentos) e restries mencionados no texto. No esquea de colocar os tipos, valor default e multiplicidade dos atributos.
Exerccio 4-1: descreva a posio do diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Quando eles so utilizados? Para que so utilizados? Exerccio 4-2: construa um modelo de casos de uso para a seguinte situao fictcia: "Estamos criando um servio de entregas. Nossos clientes podem nos requisitar a entrega de volumes. Alguns volumes so considerados de maior valor por nossos clientes, e, portanto, eles querem ter tais volumes segurados durante o transporte. Contratamos uma companhia de seguro para segurar volumes de valor". Exerccio 4-3: Considere a seguinte narrativa do caso de uso Realizar Saque. Identifique os erros existentes nesta narrativa. Construa uma nova verso deste caso de uso que no contenha os erros encontrados. A operao de um caixa electrnico tem incio a partir de uma sesso em que o cliente selecciona a opo de realizar saque. O cliente ento escolhe uma quantia a ser retirada, a partir de um conjunto de opes de quantia disponveis. O sistema verifica se a conta correspondente tem saldo suficiente para satisfazer a requisio. Seno, uma mensagem adequada reportada, o que acarreta na execuo da extenso. Se h

11. Uma estao ferroviria composta por 1 ou


mais linhas ferrovirias. Em uma linha ferroviria podem estar estacionados diversos recursos ferrovirios. Recursos ferrovirios so vages,

dinheiro suficiente, os nmeros da conta e da agncia do cliente so enviados ao banco, que aprova ou desaprova a transaco. Se a transaco aprovada, a mquina libera a quantia correspondente e emite um recibo. Se a transaco desaprovada, a extenso Informar Falha executada. O banco notificado, independentemente de uma transaco aprovada ter sido completada ou no pela mquina. Se a transaco completada, o banco realiza o dbito na conta do cliente (Bjork, 1998). Exerccio 4-4: qual a notao da UML para um caso de uso? Qual a notao da UML para um actor? Qual a notao utilizada na UML para o relacionamento de generalizao? Exerccio 4-5: defina o que significa um actor. O que significa um actor estar associado a um caso de uso por um relacionamento de comunicao? Exerccio 4-6: qual o objectivo dos diagramas de casos de uso? Exerccio 4-7: defina o conceito de requisito. Que tipos de requisitos existem? Explique o que realizado na fase de levantamento de requisitos de um sistema de informaes. Exerccio 4-8: que tipo de relacionamento possvel entre um actor e um caso de uso? Que tipo de relacionamento pode haver entre casos de uso? Que tipo de relacionamento pode haver entre actores? Exerccio 4-9: descreva a(s) diferena(s) entre os relacionamentos de incluso, de extenso e de herana? Exerccio 4-10: considere um sistema de controle de uma biblioteca. Fornea a descrio narrativa para os seguintes casos de uso: Reservar Livro (situao em que um usurio faz a reserva de um livro), Obter Emprstimo de Livro (situao em que um usurio pega um exemplar de livro emprestado), Cancelar Reserva (situao em que um usurio cancela uma reserva) e Devolver Cpia (situao em que um usurio devolve uma cpia anteriormente adquirida). Exerccio 4-11: durante a execuo de um caso de uso, podem ocorrer excepes. Considere o caso de uso Realizar Pedido, no qual pode ser que o cliente solicite um produto que est fora de estoque. Como voc modelaria tal situao? Desenhe um diagrama de casos de uso. Exerccio 4-12: construa o modelo de casos de uso para a seguinte situao. Tente identificar tambm regras de negcio que se apliquem situao, de acordo com o texto fornecido. Uma rede de televiso est requisitando um sistema para gerenciar informaes sobre uma de suas produes televisivas (por exemplo, uma minissrie ou uma novela).

Uma produo televisiva tem uma verba e composta de cenas. Cenas so escolhidas em uma determinada sequncia. Cada cena tem uma durao em minutos e gravada em uma ou mais fitas. Cada fita possui um nmero de srie e uma capacidade (medida em minutos que podem ser gravados na mesma). Deseja-se saber em que fita(s) se encontra uma determinada cena. Cada cena pode ter sido gravada muitas vezes (futuramente, na edio da obra, o produtor seleccionar uma dessas tomadas de cena para compor a verso final da produo televisiva). Deve-se manter o registro de todas as cenas filmadas, de quais actores e dubls participaram de cada cena. Deseja-se saber tambm, que dubl substituiu que actor em cada cena. Para uma produo televisiva como um todo, deseja-se manter a informao de quais outros funcionrios, os chamados funcionrios de apoio, participaram das filmagens. Esses funcionrios podem ser de diversos tipos (cmeras, iluminadores, contra-regras etc.). Alm disso, pode haver funcionrios de apoio que exeram mais de uma funo na mesma produo televisiva. Actores e dubls negociam seus salrios individualmente, em cada produo televisiva em que participam. Os demais funcionrios tm um salrio fixo por funo. necessrio tambm armazenar essas informaes para ter uma ideia do consumo de recursos em relao verba. Aps o trmino de uma obra, o sistema deve produzir um relatrio com o valor a ser pago para cada funcionrio. O sistema tambm deve produzir um relatrio de informaes sobre as cenas de uma obra televisiva, e sobre que actores, dubls e demais funcionrios participaram dessa obra televisiva. Exerccio 4-13: o seguinte documento de requisitos foi adaptado do livro (Wirfs-Brock et aI, 1991). Leia o texto com ateno. A seguir, elabore um modelo de casos de uso inicial para o sistema. O GNU Editor um editor grfico interactivo. Com ele, usurios podem criar e editar desenhos compostos de linhas, rectngulos, elipses e texto. H dois modos de operao do editor. Apenas um modo de operao est activo em um dado momento. Os dois modos de operao so: modo de seleco e modo de criao. Quando o modo de seleco est activado, os elementos grficos podem ser seleccionados com o cursor do mouse. Um ou mais elementos grficos podem ser seleccionados e manipulados; se vrios elementos grficos forem seleccionados, eles podem ser manipulados como se fossem um nico elemento grfico. Elementos que tenham sido seleccionados desse modo so definidos como a "seleco actual". A seleco actual indicada visualmente atravs da exibio dos pontos de controle para o elemento. Um clique seguido de um arrasto de mouse sobre um ponto de controle modifica o elemento ao qual o ponto de controle est associado. Quando o modo de criao est activado, a seleco actual est vazia. O usurio pode

seleccionar um objecto grfico a partir de um conjunto de objectos grficos predefinidos. A criao de um elemento de texto: a posio do primeiro caractere do texto determinada pela posio na qual o usurio clica o boto do mouse. O modo de criao desactivado quando o usurio clica o mouse fora do elemento de texto. Os pontos de controle para um elemento de texto so posicionados nos quatro cantos da regio em que o texto inserido. O arrasto desses pontos de controle muda a regio. Os outros elementos que podem ser criados pelo usurio so linhas, rectngulos e elipses. O elemento apropriado comea quando o boto do mouse pressionado e se completa quando o boto do mouse liberado. Esses dois eventos criam o "ponto de partida" e o "ponto de parada" A "criao de linha" define uma linha do ponto de partida at o ponto de parada. Esses so os pontos de controle. O arrasto de um ponto de controle modifica o ponto extremo correspondente. A "criao de rectngulo" define um rectngulo tal que dois dos cantos do rectngulo diametralmente opostos do rectngulo correspondem ao ponto de partida e ao ponto de parada. Os cantos do rectngulo formam os pontos de controle. O arrasto de um ponto de controle modifica o canto correspondente. A "criao de elipse define uma elipse que est contida dentro de um rectngulo definido pelos dois pontos definidos acima. O raio maior da elipse metade do comprimento do rectngulo, e o seu raio menor metade da altura do rectngulo. Os pontos de controle so os cantos do rectngulo que contm a elipse. O arrasto de um ponto de controle modifica o canto correspondente. Ser assumido que o programa deve fornecer uma tela grfica do diagrama sendo criado, e que um mouse e um teclado sero utilizados como dispositivos de entrada. Exerccio 4-14: considere a seguinte declarao obtida de um gerente de uma empresa que comercializa livros por correio durante o levantamento de requisitos para construo de um sistema de software: "Aps a ordem de compra do cliente ter sido registrada, o vendedor envia uma requisio ao depsito com detalhes da ordem de compra." Quais actores em potencial podem ser identificados a partir desse texto? Exerccio 4-15: considere o exemplo de relacionamento de extenso entre casos de uso apresentado na Seco 4.1.3.3 , que descreve relacionamentos de extenso entre os casos de uso Editar Documento e os extensores Corrigir Ortografia e Substituir Texto. Desenhe um diagrama de casos de uso para essa situao. Como voc faria para estender seu diagrama de casos de uso com um novo requisito, a saber, permitir que o editor de textos possibilite a criao de um ndice remissivo sobre um documento sendo editado? Exerccio 4-16: em uma empresa, vrios projectos so realizados. Os cinquenta empregados da empresa trabalham em pelos menos um projecto.

H um sistema implantado na empresa que permite aos participantes de um determinado projecto marcarem suas horas de trabalho. Esse sistema tambm permite que outra pessoa, ao fim do ms, gere os relatrios com os totais de horas trabalhadas de cada participante. Quantos actores voc definiria para esse sistema? E quantos papis? Exerccio 4-17: O TurboNote+ um programa shareware que permite aos seus usurios criar mensagens de lembrete que permanecem na rea de trabalho de seus computadores. (Esse programa funciona como uma verso electrnica daqueles bloquinhos de papel cujas folhas podem ser afixadas na parede.) Ao criar uma nova folhinha no Turbo-Note+, o usurio pode preench-la com texto. As folhinhas podem ser movidas pela rea de trabalho, conforme a vontade do usurio. As folhinhas permanecem na rea de trabalho. Toda vez que o usurio inicia o seu computador, as folhinhas esto l, na rea de trabalho. Quando no so mais necessrias, as folhinhas podem ser removidas. Se o usurio escrever uma expresso aritmtica em uma folhinha, o resultado da expresso exibido. Desenhe o diagrama de casos de uso para o TurboNote+. Exerccio 4-18: suponha que um sistema de vendas deve gerar de forma automtica um conjunto de estatsticas para a directoria da empresa no ltimo dia til de cada ms. Desenhe o diagrama de casos de uso para essa situao. H mais de uma maneira de represent-la? Exerccio 4-19: Na utilizao da Internet, normalmente um usurio utiliza um programa navegador (browser) que, por sua vez, se comunica com um ou mais servidores Web para fornecer as pginas nas quais o usurio est interessado. O que est errado no diagrama a seguir? Desenhe novos diagramas para representar correctamente a situao, considerando duas alternativas de escopo. Na primeira, o programa navegador o sistema. Na segunda, a Internet o sistema. Exerccio 4-20: assinale V ou F para as seguintes assertivas: ( ) pessoas com o mesmo cargo em uma empresa podem representar papis de diversos actores. ( ) um actor pode representar pessoas de diferentes cargos. Exerccio 4-21: altere os seguintes "nomes de casos de uso" de acordo com as nomenclaturas apresentadas neste captulo: a) Cliente realiza transferncia de fundos em um caixa electrnico. b) Clientes compram livros na livraria. c) produzido um relatrio de vendas para o gerente. d) Hspede se registra em um hotel. Exerccio 4-22: desenhe diagramas de casos de uso para os seguintes sistemas: a) A biblioteca de sua universidade.

b) c)

O seu aparelho celular. Um sistema de validao de cartes de crdito.

iterativo. Quando eles so utilizados? Para que so utilizados? 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. Exerccio 5-3: construa o modelo de classes de domnio de um sistema de informaes para controlar o campeonato da Frmula 1. 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 4-23: suponha que exista um caso de uso Pagar Pedido em um sistema, que realizado pelo actor Cliente. Neste caso de uso, o cliente realiza o pagamento de um pedido realizado em algum momento do passado. Considerando este caso de uso, voc pode pensar em algum outro caso de uso do sistema? Exerccio 4-24: considere o modelo de casos de uso inicial para o Sistema de Controle Acadmico (Seco 4.7.3). Modifique esse modelo para contemplar as seguintes novidades:

a. O coordenador informa equipe de desenvolvimento que h datas inicial e final prestabelecidas dentro de um semestre para que um professor possa lanar notas ou fornecer sua disponibilidade de carga horria para semestre lectivo seguinte. E o prprio coordenador que deve estabelecer essas datas.
b. Da mesma forma, h um perodo para realizao de inscries e outro para cancelamentos das mesmas. Fora desses perodos, o sistema no deve aceitar tais operaes. O coordenador tambm deve ter a possibilidade de definir esses perodos. c. O coordenador declara que precisa ser informado pelo sistema (por e-mail, por exemplo) quando este ltimo cria uma nova lista de espera para uma determinada disciplina. Exerccio 4-25: considere novamente o Sistema de Controle Acadmico. Suponha que o analista de sistemas identificou uma nova regra de negcio, descrita a seguir: Inscrio em Projecto Final (RN07) Descrio: Para se inscrever na disciplina de "Projecto Final de Curso", o aluno precisa ter, no mnimo, 100 crditos concludos. Para contemplar essa regra do negcio, o analista de sistemas resolveu criar um caso de uso Realizar Inscrio em Projecto Final e faz-lo herdeiro do caso de uso Realizar Inscrio, atravs de um relacionamento de generalizao. Veja a figura a seguir. Discuta essa soluo. Ela correcta? Fornea a descrio do caso de uso herdeiro.

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 autoestradas). Algumas localidades so vizinhas, isto , existe uma rota directa 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. 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-1: Descreva a posio do diagrama de classes no processo de desenvolvimento incremental e

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 exactamente 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. Exerccio 5-11: Reflicta sobre a seguinte afirmao: "O tamanho do carto CRC ajuda a limitar e a restringir a complexidade das classes identificadas nas sesses CRC". Exerccio 5-12: Reflicta 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". Exerccio 5-13: A seguir, so enumeradas diversas responsabilidades tpicas de serem encontradas em objectos de um sistema de software. Discuta qual das categorias de objectos (fronteira, controle ou entidade) mais adequada para cumprir com cada uma dessas responsabilidades: a) Criao ou destruio de um objecto. b) Formao ou destruio de associaes entre objectos de entidade. c) Obteno ou modificao de valores de atributos de um objecto de entidade. d) Exibio de mensagens para o actor. e) Realizao de clculos complexos. 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 projectos. Para fins de clculo da remunerao preciso saber quantas horas ele trabalha em cada projecto. Os empregados podem se ligar ou se desligar de um projecto a qualquer momento, mas preciso guardar o histrico de participao dos empregados nos projectos Jonas3: Identificar as classes de domnio para o caso de uso abaixo. Para cada classe identificada, relacionar os atributos, responsabilidades e associaes que voc conseguir identificar. Construir o diagrama de classes Realizar Inscrio (CSU01) Sumrio: Aluno usa o sistema para realizar inscrio cm disciplinas. Actor Primrio: Aluno Actores Secundrios: Sistema de Facturao 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 prrequisitos. 3. O Aluno selecciona as disciplinas desejadas e as submete para inscrio. 4. Para cada disciplina seleccionada, 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 Facturao e o caso de uso termina. Fluxo Alternativo (4): Incluso em lista de espera a. Se no h oferta disponvel para alguma disciplina seleccionada 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 Excepo (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 seleccionar, 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

10