UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 2009 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim
1) (30 pontos) A empresa de biotecnologia chamada InGen, conseguiu clonar dinossauros através de DNA
extraído de mosquitos fossilizados em âmbar. Todas as raças de dinossauros eram de grande estatura. O
dinossauro tirannosaurus que significa "lagarto tirano rei" é um animal carnívoro e bípede (locamoção em
duas pernas). Se por um lado as pernas de um tiranossauro eram bem desenvolvidas e fortes, por outro lado
seus braços eram fracos, pequenos e praticamente inúteis, pois nem ao menos alcançavam a boca. O
dinossauro velociraptor que significa "ladrão veloz" é um animal carnívoro e bípede. Este animal recebe
grande atenção da comunidade científica porque possuía pernas de diversas colorações. Era um dos
dinossauros mais ágeis que já existiram, pois caminhava sobre dois dedos, sendo o último de sua pata um
dedo modificado, onde se encontra a mais famosa das características do velociraptor: a chamada "garra
terrível", que media de 7 à 11 centímetros. O dinossauro triceratops que significa "cabeça com três chifres" é
um animal herbívoro e quadrúpede. Este animal ficou conhecido como o principal inimigo do tirannosaurus.
Os indivíduos dessa espécie variavam o tamanho de seus três chifres em sua cabeça, além do tamanho do
escudo no alto da mesma. O pterodáctilo que significa "dedo com asa ou dedo voador" era carnívoro e
adaptado para voar. Os pterodáctilos possuíam bicos de diversos tamanho, sendo que somente alguns deles
tinham uma crista. Uma característica importante é que o tamanho do dedo do pterodáctilo define o
tamanho de sua asa. Todos esses dinossauros eram habitantes de uma ilha costa­riquenha chamada Nublar.
Nesta ilha um milionário chamado John Hammond construiu um zoológico chamado "Jurassic Park". Para
manter a segurança do zoológico todos os dinossauros eram monitorados por uma coleira que indicava em
uma unidade de tempo sua localização em coordenada de latitude e longitude. Através desta coordenada era
possível identificar em que setor da ilha o animal se encontrava. Para organizar o monitoramento, a ilha foi
dividida em várias regiões que são compostas por vários setores. Os setores são marcações quadradas de
qualquer tamanho (qualquer lado) e que possuem uma latitude e longitude central. Toda região tem um
nome e somente uma montanha, ou um planalto ou uma planície ou uma depressão. A maior montanha da
ilha era o Cerro Chirripó com mais de 3.820m de altura. O planalto mais importante era o Vale Central com
mais de 10 km de comprimento. A menor planície era o Pântano Sombrio com retenção mensal de água
superior à 0,99 cm3/cm3. A depressão Poço Sem Fim é formada por uma inclinação de 240m de
comprimento com um ângulo de 72 graus. Existem rios e os lagos, sendo que um mesmo rio ou um mesmo
lago pode estar em vários setores da ilha. Um rio é a Corredeira das Pedras onde a água alcança a
velocidade máxima de 20km/h. O Lago Negro é um lago com mais de 100m de profundidade. Na ilha
existiam várias montanhas, planaltos, planícies, depressões, lagos e rios. Construa o diagrama de classes de
UML adicionando a visita de turistas na ilha que realizam uma trilha escoltado por um caçador, em uma
data, sendo que o passeio percorre vários setores. Omita métodos de leitura e escrita nos atributos (gets e
sets) para atributos privados da classe. Nesta modelagem não existe classe sem membro e objetos com uma
única instância.
2) (30 pontos) Construa um diagrama em UML usando o padrão de projeto Mediador (Mediator) para
promover acoplamento fraco entre Classe A e Classe B, assim não haverá referencia explícita de um ao
outro, permitindo variar sua interação independentemente. Implemente esse diagrama na linguagem C++.
Somente declare o que deve estar dentro de cada classe, pois não será avaliado declarações fora do escopo
da classe (ex: pacotes, inclusões de arquivos, etc). UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 2009 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim
3) (30 pontos) Implemente as classes da figura (a) com os relacionamentos abaixo na linguagem
C++. Somente declare o que deve estar dentro de cada classe, pois não será avaliado declarações fora do
escopo da classe (ex: pacotes, inclusões de arquivos, etc). Em seguida, construa uma aplicação em C++ que
aloca dinamicamente os objetos da figura (b). Responda: Qual o nome desse padrão de projeto.
(a) Classes
(b) Objetos
4) (10 pontos) Construa um diagrama em UML usando o padrão de projeto Ponte (Bridge) para que as duas
abstrações possam variar independentemente.
UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 2010 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim
1) (30 pontos) Introdução: No futuro, as riquezas minerais da Terra acabaram e a gananciosa humanidade cria a
primeira expedição em 2129d.C para localizar riquezas em outros sistemas interestelar. Nesta expedição a lua de
Polyphemus chamada Pandora desperta grande interesse, pois, mesmo sendo menor do que a Terra, possui um campo
magnético radicalmente grande. Isto acontece pela presença de um supercondutor de alta temperatura que não existe
na Terra chamado unobtanium que é valiosíssimo e útil para diversas aplicações de tecnologia. Especificação: Vinte e cinco anos se passam e empresas como a RDA (Resources Development Administration)
licenciada pelo registro ABC123E promovem a exploração de Pandora. Cada empresa cria várias colônias em Pandora,
como por exemplo, a Colônia Extrassolar 01 da RDA que é apelidada de Portal do Inferno. Quase todas as colônia são
pressurizadas, mas quando isto não acontece, os humanos necessitam usar máscaras que filtram os gases nocivos. As
colônias são formadas por containers de diversos tamanhos que abrigam: laboratórios, residencias e depósitos. Um
laboratório é caracterizado por um nome, uma sigla e tem uma finalidade. Uma residência é caracterizada por nome,
sigla, uma quantidade de camas e banheiros. O depósito é caracterizado por nome, sigla e pode ser de material de
mineração, ou de material bélico, ou de veículos espaciais. Uma colônia pertence a somente uma jazida de unobtanium
mas, uma jazida por ter mais de uma colônia. As jazidas unobtanium são demarcadas por retângulo que registra sua
base, altura, latitude e a longitude do ponto central. Infelizmente, a exploração das reservas tem um violento impacto
na natureza que gera ilhas de deserto retangulares em meio às florestas tropicais do planeta após a finalização da
exploração. Conforme os recursos se esgotam numa jazida, os humanos partem para a seguinte. As jazidas estão
espalhadas por várias regiões e em algumas são povoadas pelos Na'vi. Os Na'vis são seres de Pandora semelhantes a
humanóides com mais de 3 metros de altura que possuem uma grande calda que equilibra seu corpo, além de pele azul
marinho e um quantidade de bioluminescentes que mostram seu humor. Um Na'vi só pode pertecer a um clã onde
ocupa uma função. Por exemplo, o clã Omaticaya que tem como rei Eytucan, a rainha Mo'at e Neytiri é a princesa. As
árvores ocupam papéis importantes na vida dos Na'vi: espiritualidade, moradia e terapêutico. A espiritualidade é
celebrada na Árvore da Alma e pela Árvore das Vozes. A árvore da Alma, supostamente, permite que qualquer criatura
possas se ligar diretamente a Eywa. Eywa é a divindade máxima daquela cultura, que se mistura ao próprio poder da
natureza. O que se sabe é que a árvore de fato tem a capacidade de se concectar diretamente ao sistema nervoso de
todas criaturas vivas. A Árvore das Vozes permite que as "vozes" de seus antepassados sejam ouvidas, por meio de
contato nervoso com a árvore. A Árvore­Lar é usada pelos vários clãs Na'vi como sua moradia. Geralmente tem mais de
100 anos de idade, uma altura que permitem abrigar uma cerca quantidade de habitantes em seus espaços. A Árvore da
Vida pode gerar ou não sementes que tem propriedades terapêuticas. As árvores e as jazidas são encontradas em todas
as regiões de Pandora como: Montanhas, Vales e Planícies. As montanhas são de diversas alturas em Pandora e podem
ou não se movimentar lentamente no ar, como os icebergs num oceano, como por exemplo, as montanhas Aleluia. Isto
acontece por causa dos grandes efeitos magnéticos do unobtanium contido dentro da montanha. As montanhas são
habitadas por seres chamados Banshee que são animais que voam até uma determinada altura e possuem uma cor
predominante. Os banshees podem servir de transporte ao Na'vi que consegue dominá­lo em conexão "cerebral", em um
rito de passagem aos aspirantes à guerreiros. É extremamente difícil de montar em um banshees, por isso, conseguir
domá­lo representa assumir uma posição de prestígio no clã. Uma outra região é o vale que pode ou não possuir água
em seu canal e tem uma profundidade máxima. Um exemplo, é o vale dos Thanators, que são habitados por seres
perigosos chamadas Thanators. Esses animais ferozes são os predadores que ocupam o topo da cadeia alimentar em
Pandora. Eles lembram panteras da Terra, e possuem uma força e velocidade de deslocamento máxima. O vale também
é o lar do Leonopteryx que é um predador dos ares, listrado por duas cores e suas asas podem chegar a 24,5 metros
quando abertas. As planícies são regiões onde podem ou não existir rios ou lagos e desenvolvem a mais variada flora. A
planície Campo Largo, é o lar dos seres Direhorses que lembram os cavalos terrenos, eles possuem duas finas e longas
antenas e seis patas compridas. Todos os seres e árvores de Pandora podem se conectar entre si e durante esta conexão
pode existir uma relação de domínio ou de comunicação ou de reprodução. Por fim, uma jazida é explorada utilizando
vários maquinários como escavadeiras e caminhões. Um escavadeira é a E984A que suporta um peso operacional de
125t, com potência do motor 512 kW e tem uma pá com capacidade 8,00 m³. Um caminhão é o T282B que suporta um
peso operacional de 600t, com potência de motor 1024kW e caçamba com capacidade de 64,00 m³. Na exploração das
jazidas as colônias empregam Mineradores, Militares e Cientístas. Um militar é o Coronel Miles Quaritch que é
especializado em armamento. Um minerador é o Duck Nuke que tem como função explosão de rochas. Uma cientísta é
a botânica Dra. Grace Augustine. Os cientistas trabalham em um laboratório onde desenvolvem pesquisas. A pesquisa
tem um nome, tem associado vários equipamentos e pode ou não retornar resultados. Os equipamentos são
caracterizados por um nome, possuem uma utilidade e consomem uma quantiade de energia. Um resultado de pesquisa
é o Avatar, um ser híbrido, entre humano e Na'vi. Para criar um Avatar é necessário que um humano compartilhe seu
material genético que permite através de conexões neurais o controle do corpo do Avatar. Thomas era um cientista que
compartilhou material genético para criar um dos Avatares, no entanto, acabou morrendo em Pandora. Para não perder
o investimento com o Avatar, foi chamado o seu irmão gêmeo Jake Sully, um ex­fuzileiro paraplégico. Construa o
diagrama de classes em UML para a especificação do filme descrito acima sem levar em consideração a introdução.
Adicione a batalha entre humanos e Na'vi em uma determinada região. Omita métodos manipuladores de
relacionamentos entre as classes e métodos gets e sets para atributos privados da classe. Nesta modelagem não existem
classes vazias, ou seja, uma classe sem campos ou sem métodos e nem classes com uma única instância.
UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 2010 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim
2) (25 pontos) O universo subdivide­se em vários aglomerados de galáxias, que se subdividem em grupos de galáxias,
que se subdivide em galáxias, que se subdivide em sistemas estelares que contém objetos astronômicos. Os
aglomerados possuem um nome e são formados por inúmeros grupos de galáxias que estão interagindo
gravitacionalmente uns com os outros de duas maneiras: chocando­se entre si ou equilibradas à uma certa distância.
Os grupos possuem um nome, abrangem cerca de 3 à 5 milhões de anos luz de diâmetro e são formados por inúmeras
galáxias. Uma galáxia é um aglomerado de bilhões de sistemas que giram em torno de um centro de massa comum. As
galáxias possuem um nome e dividem­se em vários tipos morfológicos: galáxias espirais, galáxias elípticas, galáxias
irregulares e galáxias anãs. Os sistemas possuem um nome e são formados por aglomerações de objetos astronômicos,
mas sempre possuem um objeto astronômico central. O objeto astronômico possui um nome, latitude galática,
longitude galática, massa, se desloca a uma velocidade e gera um campo gravitacional. Um objeto astronômico pode
girar em torno de outro objeto astronômico. Os objetos astronômicos podem ser planeta, estrela, cometa, planetóide,
nebulosas ou buracos negros. a) Construa um diagrama em UML usando o padrão de projeto Compositor onde seja possível identificar qual é o maior
objeto astronômico de qualquer subdivisão. Omita métodos gets e sets para atributos privados da classe e os métodos
manipuladores de relacionamentos entre as classes. Neste diagrama não existem classes vazias, ou seja, uma classe sem
campos ou sem métodos.
b) Implemente uma aplicação em C++ (main) que satisfaça a frase a seguir: “A lua Pandora (planetóide) gira ao redor
do gigante planeta gasoso Polyphemus que por sua vez gira ao redor da estrela de Alfa Centauri 'A'. Todos esses objetos
astronômicos fazem parte do sistema de Alfa Centauri da galáxia Via Láctea que por sua vez faz parte do aglomerado
do Grupo Local que constitui o Super Aglomerado Local”.
3) (20 pontos) Implemente as classes com os relacionamentos abaixo na linguagem
C++. Somente declare o que deve estar dentro de cada classe, pois não será avaliado declarações fora do escopo da
classe (ex: pacotes, inclusões de arquivos, etc). 4) (25 pontos) A empresa Petrolix está implantando um sistema para gerenciar a atualização dos seus produtos
derivados do petróleo que são: botijão de gás e barril de gasolina. Os botijões de gás são caracterizados pela pressão
medida no envasamento e um valor de venda. O barril de gasolina é caracterizado pelo volume medido no
envasamento e um valor de venda. O problema é que os valores de venda desses derivados sofrem reajustes conforme a
oscilação da cotação do dólar ou da produção mensal do petróleo. Quando o valor da cotação do dólar muda, 40%
desse percentual de aumento ou decremento atualiza o valor dos produtos. Quando a produção mensal de petróleo
muda, 60% desse percentual de aumento ou decremento atualiza o valor dos produtos. Construa o diagrama UML
usando o padrão de projeto Observador que reajusta os produtos mencionados. Omita métodos manipuladores de
relacionamentos entre as classe e métodos gets e sets para atributos privados da classe não usados pelo padrão. No
entanto, todos métodos que caracterizam o padrão devem ser declarados e implementados no diagrama UML usando a
linguagem C++. Neste diagrama não existem classes vazias, ou seja, uma classe sem campos ou sem métodos.
"Tudo o que Eywa dá é emprestado e será preciso devolver"
Neytiri (princesa do clã Omaticaya)
UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 20112 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim
Introdução: A Federação Unida dos Planetas foi fundada após descoberta da Dobra Estelar que permitiu aos
humanos expandir para fora Sistema Solar entrando em contato com outros Seres.
Especificação: O governo da federação é exercido pelo conselho que é composto de vários membros que
escolhem um presidente. Qualquer Ser que faz parte da federação pode é eleito em uma data estelar para
uma mandato no conselho. Os seres que fazem parte da federação são: Andorianos, Klingons, Vulcanos e
Humanos. Andorianos são insetóides, bípedes e não humanoides com capacidade auditiva definida pelo
tamanho de duas antenas que na verdade são ramificações de nervos sensoriais. Sua retina é muito sensível
e não é capaz de captar cores por isso desenvolveu a capacidade de enxergarem em infravermelho. Shendro
Thelev é um andoriano que tornou­se comandante. Klingons são mamíferos, bípedes e humanoides que são
criados para tornarem­se grandes guerreiros desenvolvem o conceito de honra. A beleza na raça Klingons é
definida pela quantidade de rugas na testa que formam aglomerados de peles (quanto mais rugas mais
bonito). A camada extra de musculatura em seu coração proporcionar grande força. Worf foi o primeiro
klingon a se graduar na academia. Vulcanos são mamíferos, bípedes e humanoides que desde crianças são
iniciados na filosofia da lógica para desenvolver sua uma grande capacidade logica e telepática. A densidade
de seus músculo conferem grande agilidade. Spock foi o primeiro dessa raça a entrar na frota estelar.
Humanos são humanoides mamíferos e bípedes que diferem dos demais seres por deixar que seus
sentimentos emocionais influenciem suas tomadas de decisões. James Tiberius Kirk foi um humano que
tornou­se capitão de uma nave estelar. Todo ser é natural de um planeta como por exemplo: Terra que é um
planeta da classe M, orbita a estrela Sol, com atmosfera rarefeita e com temperatura agradável; Vulcano que
é um planeta da classe H, orbita o planeta 40 Eridani, com atmosfera rarefeita e com temperatura elevada;
Andor que é um planeta da classe M, orbita o planeta Epsilon Indi, com atmosfera árida e com temperatura
elevada. Outras estrelas conhecidas são: Mintaka de cor azul escuro composta por átomos ionizados de hélio
com temperatura de 46.464°K; Procyon de cor branca composta por hidrogênio e ferro com temperatura de
6.666°K; Alpha Centauri B de cor laranja composta por metais neutros com temperatura de 4.422°K. Estrelas
e planetas são objetos atronômicos que pertencem a uma galáxia. A Galáxia contém um diâmetro e uma
espessura em anos­luz. Exemplos de galáxia são: Via Láctea, Galáxia de Andrômeda e Galáxia Starburst.
Toda Galáxia administrada por um almirante é dividida politicamente pela Federação em quatro quadrantes.
Cada quadrante tem um nome (alfa, beta, gama e delta) e é administrada por um comodoro. Como os
quadrantes são muito extensos estes também são divididos em setores caracterizados por um número que o
identifica, uma latitude e longitude galática. Todos os setores tem um diâmetro de 20 anos­luz. A federação
recruta Seres para um programa de treinamento para que possam assumir alguma patente na federação.
Cada academia tem um nome, está localizada em um planeta e tem um ponto forte de ensino. As patentes
são assumidas pelos Seres e são de 4 tipos: tenente, capitão, comodoro e almirante. O tenente tem
conhecimento de uma quantidade de mapas para auxiliar a navegação de uma nave da federação. O capitão
tem uma quantidade de anos­luz de navegação. O comodoro tem quantidade de anos na administração de
quadrantes. O almirante tem quantidade honras recebidas. Para defender as fronteiras da federação existem
diversas naves que tem uma capacidade de realizar a dobra espacial. A dobra impulsiona a nave a navegar
em múltiplos superiores à velocidade da luz e evita os problemas associados a dilatação do tempo. Naves
importantes da federação são: USS Enterprise com número de registro NCC­1701, lançada em 2245 do
estaleiro de São Francisco e comandada pelo humano James Tiberius Kirk; USS Challenger com número de
registro NCC­71099, lançada em 2377 do estaleiro de Utopia Planitia e comandada pelo humano Geordi La
Forge; USS Venture com número de registro NCC­2011, lançada em 2292 do estaleiro de São Francisco e
comandada pelo humano Owen Paris. Toda nave tem uma tripulação de Seres patenteados. Finalmente, os
Borgs são seres não aliados a federação. Esses seres são uma espécie humanóides e bípedes com implantes
cibernéticos que possibilitam ter uma consciência coletiva. Cada Borg tem implantes cibernéticos os quais
variam dependendo da tarefa designada ao individuo. Esses seres assimilam outros seres em sua consciência
coletiva através dos implantes cibernéticos permitindo que escutem o pensamento de milhares, que lhe
transmite a tarefa que deve ser cumprida. A rainha Borg é o único borg que detém sua individualidade
sendo que os demais não a detém.
1) (45 pontos) Construa o diagrama de classes em UML para a especificação da série Star Trek descrito
acima sem levar em consideração a introdução. Omita métodos manipuladores de relacionamentos entre as
classes e métodos gets e sets para atributos privados da classe. Nesta modelagem não existem classes vazias,
ou seja, uma classe sem campos ou sem métodos, e nem classes com uma única instância.
UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 2012 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim
2) (20 pontos) Agentes do FBI de uma divisão chamada Fringe investigam e solucionam casos estranhos,
relacionados com "o padrão". Fazem parte desta divisão agentes e cientistas. Alguns agentes são: a agente Olivia
Dunham, 26 anos, formada pela Universidade da Carolina do Norte em Chapel Hill em Psicologia e tem a
capacidade de recordar sequências de números e de contar cartas; o agente especial encarregado Phillip Broyles,
48 anos, formado como militar da Academia das Forças Armadas Americanas e desenvolveu a capacidade de
identificar crimes relacionados aos padrões; o falecido agente Charlie Francis, 34 anos, formado em direito pela
Universidade da Cidade de Nova Iorque e tinha grande habilidade em investigar inquéritos criminais. Alguns
cientistas são: o biólogo Walter Bishop (QI de 196), 58 anos, formado em Harvard, fez mestrado em biologia em
Oxford, doutorado em química no Instituto de Tecnologia de Massachusetts, publicou 198 trabalhos, sendo que
nunca fraudou nenhum resultado; o químico Peter Bishop (QI de 190) formado pelo Instituto de Tecnologia de
Massachusetts, fez mestrado e doutorado em química no Instituto de Tecnologia de Massachusetts, publicou 5
trabalhos, sendo que 2 destes trabalhos são fraudes. Os agentes e cientistas podem ser do Universo Real ou do
Universo Alternativo e podem sofrer de um mal chamado de vibração prejudicial harmônica que o incapacita por
um determinado tempo. O tempo em segundos da incapacitação no universo alternativo é a idade multiplicada
pela constante 666. No universo real o tempo em segundos da incapacitação é a idade multiplicada pela
constante 77. Construa um diagrama em UML usando o padrão de projeto Ponte (Bridge) para desacoplar as duas
abstrações para que possam variar independentemente. Omita métodos gets e sets para atributos privados da
classe e os métodos manipuladores de relacionamentos entre as classes. Neste diagrama não existem classes
vazias, ou seja, uma classe sem campos ou sem métodos. Implemente uma aplicação java (main) que satisfaça a
frase a seguir: “Qual é o tempo da incapacitação vibração prejudicial harmônica da agente no Universo Real
Astrid Farnsworth”.
2) (15 pontos) Implemente as classes com os relacionamentos abaixo na linguagem Java e responda qual é o
padrão de construção caracterizado. Somente declare o que deve estar dentro de cada classe, pois não será
avaliado declarações fora do escopo da classe (ex: pacotes, inclusões de arquivos, etc). 4) (20 pontos) A rede McMineiro fabrica quatro tipos de lanches: X­Burger, X­Tudo, Frango­Simples e Frango
Tudo. O X­Burger é feito com 2 hambúrgueres, 3 folhas alface, 3 fatias de queijo, 50g de molho especial, 1 rodela
cebola, 3 fatias de picles e um pão de leite com gergelim. O X­Tudo é feito com 2 hambúrgueres, 2 folhas alface, 2
fatias de queijo, 50g de maionese, 1 ovo, 3 fatias de bacon e um pão de leite com gergelim. O Frango­Simples é
feito com 1 filé de frango empanado, 5 folhas de alface, 2 fatias de queijo, 75g de maionese e uma pão de leite.
O Frango­Tudo é feito com 2 filés de frango empanado, 2 fatias de queijo, 60g de molho especial, 1 ovo, 3 fatias
de bacon e um pão de leite com gergelim. As lanchonetes da franquia são de dois tipos McMineiro Galinha e o
McMineiro Vaquinha. Ambas lanchonetes somente fabricam lanches, no entanto, o McMineiro Galinha fabrica
somente lanches de frango e o McMineiro Vaquinha fabrica somente lanches de hambúrguer. Construa um
diagrama em UML usando o padrão de projeto fábrica abstrata. Omita métodos gets e sets para atributos privados
da classe e os métodos manipuladores de relacionamentos entre as classes. Neste diagrama não existem classes
vazias, ou seja, uma classe sem campos ou sem métodos.
"As necessidades de muitos sobrepõem­se às necessidades de poucos... Ou a de um só." Comandante Spock
UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 2013 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim
Introdução: No mundo mágico, crianças a partir de 11 anos de idade são ensinadas a arte da
magia durante 7 anos.
Especificação: Na Inglaterra moderna, moram juntos: Válter Dursley que nasceu em 28/11/1948 é
grisalho e gordo; Petunia Dursley que nasceu em uma data não divulgada é loira e magra; Duda
Dursley que nasceu em 22/06/1980, tem cabelos pretos moreno e é gordo; e Harry Potter que
nasceu em 31/07/1980, tem cabelos castanhos, é magro, e é um bruxo. Bruxos são pessoas
capazes de manipular a magia que se manifesta através feitiços, itens mágicos e poções. Exemplos
de feitiços são: Wingardium Leviosa que levita objetos; Avada Kedavra que é uma maldição
imperdoável que causa morte instantânea na vítima; Crucio que é uma maldição imperdoável que
causa enormes dores psicológicas e físicas na vítima; Imperio que é uma maldição imperdoável que
provoca controle das ações na vítima; Expelliarmus que é usado para derrubar a varinha da mão do
outro bruxo. Exemplos de itens mágicos: Berrador é uma carta que berra uma mensagem;
Desiluminador é um isqueiro que suga as luzes do ambiente; Horcruxe é um objeto que guardam
parte da alma do bruxo; Penseira é uma bacia que serve para rever lembranças; Pena de Repetição
Rápida é uma pena comum que escreve tudo que é dito para ela. Exemplos de poções são:
Amortentia é a poção do amor que tem brilho perolado e gera uma apaixonite que dura por 72
horas; Felix Felicis é a sorte líquida que tem cor de ouro e gera 12 horas de sorte; Polissuco que
tem cor marron e serve para transformar uma pessoa em outra, necessitando de algo da pessoa que
se pretende transformar com duração de até 1 hora. Outros bruxos e bruxas que conseguem
manipular a magia são: Ronald Weasley que nasceu em 1/03/1980 tem cabelos vermelhos e é
magro; Hermione Granger que nasceu em 19/09/1979, tem cabelos castanhos claros, e é magra;
Neville Longbottom que nasceu em 30/07/1980, tem cabelos preto e é gordo. Alguns bruxos são de
sangue puro (pai e mãe são bruxo) e outros bruxos são de sangue mestiço (pai ou mão são bruxos)
e outros ainda são de sangue trouxa (pai e mãe não são bruxo). Os bruxo podem assumir uma ou
mais das seguintes profissões, a partir de uma data: Professores dominam uma especialidade de
uma área da magia; Aurores aplicam técnicas investigativas e possuem em seu currículo a
quantidade de bruxos que apreenderam praticando as artes das trevas; Comerciantes são atuantes
no comércio ou são atuantes na área financeira; Escritores escrevem livros e escrevem matérias em
jornais; Esportista praticam algum esporte. Somente bruxos podem estudar em escolas de magia
como a: Escola de Magia e Bruxaria de Hogwarts localizada na Inglaterra que tem como diretor o
professor Albus Percival Wulfric Brian Dumbledore; Academia de Magia Beauxbatons localizada na
França que tem como diretora a professora Madame Olympe Maxime; Instituto Durmstrang
localizada na Suécia que tem como diretor o professor Igor Karkaroff; e Brazilian Wizarding
School, localizada no Brasil que não se sabe quem é o diretor. Todas essas escolas foram fundadas a
séculos atrás e seus alunos são selecionados para morar em uma das suas casas. Hogwarts, por
exemplo, tem 4 casas: Grifinória tem como símbolo um leão, usa as cores vermelho e dourado, e
sua professora responsável é Minerva McGonagall. Corvinal tem como símbolo uma águia, usa as
cores azul e bronze, e seu professor responsável é Filius Flitwick. Sonserina tem como símbolo uma
serpente e usa as cores verde e prata, e seu professor responsável é Severus Snape. Lufa­Lufa tem
como símbolo uma texugo e usa as cores amarelo e preto, e sua professora responsável é Pomona
Sprout. A cada ano a casa forma um time de quadribol, usando seus alunos para compor os sete
jogadores: um goleiro que realiza horas de treinamentos e uma quantidade de defesas, evitando
que os artilheiros marquem gols; um apanhador que realiza horas de treinamentos e uma
quantidade de captura do pomo de ouro; dois batedores que realizam horas de treinamentos e uma
quantidade de rebatida dos balaços com seus bastões, para dificultar a movimentação dos
artilheiros e do apanhador do time adversário; três artilheiros que realizam horas de treinamentos
e marcam uma quantidade de gols. Um partida de quadribol é realizada em um data, envolve 2
times das casas e tem um total de pontos de cada time. UNIFEI
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
Prova 2013 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim
1) (50 pontos) Construa o diagrama de classes em UML para a especificação da série Harry Potter descrito
acima sem levar em consideração a introdução. Omita métodos manipuladores de relacionamentos entre as
classes e métodos gets e sets para atributos privados da classe. Nesta modelagem não existem classes vazias,
ou seja, uma classe sem campos ou sem métodos, e nem classes com uma única instância.
2) (40 pontos) Implemente as classes com os relacionamentos abaixo na linguagem Java. Somente declare o
que deve estar dentro de cada classe, pois não será avaliado declarações fora do escopo da classe (ex:
pacotes, inclusões de arquivos, etc). 3) (10 pontos ) Usando a modelagem do exercício anterior, construa uma classe chamada App que tem um
método main que insere o objeto da classe B na lista de um objeto da classe D.
“O mundo não se divide em pessoas boas e más. Todos temos luz e trevas dentro de nós. O que importa é o lado o qual decidimos agir.
Isso é o que realmente somos!.” Sirius Black.
Download

Faça o Modelo Entidade Relacionamento para os seguintes