UNIFEI

Propaganda
UNIFEI
Disciplina
Professor
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
CCO02 – Engenharia de Software II
Enzo Seraphim
Lista de Exercícios sobre Padrões de Projeto – Operação
1) Uma fita pode estar em um dos estados: alugada, em manutenção ou disponível para locação. Toda fita
mantém a data de início do estado que se encontra. A fita que está alugada é caracterizada pela matricula do
cliente. A fita que está em manutenção é caracterizada por defeito. A fita que está disponível é caracterizada
pela prateleira que se encontra. 2) A água pode ser encontrada em 3 estados: sólido, liquido e gasoso. Se a água esta na temperatura abaixo
de 0 graus está no estado sólido, se está acima de de 100 graus encontra­se no estado gasoso e no intervalo
de 0 à 100 encontra­se no estado liquido. Faça um ou mais métodos para calcular o volume da água se for
passado para o estado acima ou abaixo.
3) Implemente na linguagem java o modelo UML abaixo.
4) Implemente na linguagem java o modelo UML abaixo e responda quais os 3 padrões usados. Para cada
padrão identificado, caracterize quais são as classes e métodos envolvidos. UNIFEI
Disciplina
Professor
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
CCO02 – Engenharia de Software II
Enzo Seraphim
Lista de Exercícios sobre Padrões de Projeto – Operação
5) A empresa Parmaleite industrializa derivados do leite. O leite pode estar bom para consumo, coalhado e
estragado. Quando o leite está bom para o consumo, existe menos de 1milhão de bactérias por litro.
Quando o leite está coalhado, existe entre 1milhão e 10 milhões de bactérias por litro. Quando o leite está
estragado e portanto impróprio para o consumo, existe mais de 10 milhões de bactérias por litro. Se o leite
está bom para o consumo é medido a sua quantidade e gordura. Se o leite está coalhado é medido a
quantidade de soro por litro. Se o leite está estragado é medido sua acidez. Faça a modelagem em UML e
implemente na linguagem java.
6) Abaixo é apresentado uma aplicação que faz várias requisições: emagrece, engorda e sabedoria. No
entanto, essa aplicação não possibilita criar filas de requisições (log). Construa um diagrama UML uma
solução usando o padrão Comando que suporte criar filas de requisições. Apresente a Classe App no
diagrama UML, mas não considere na implementação na linguagem Java. Dica: as classes Caminhada,
Leitura e Refeicao não devem ser alteradas.
7) Implemente na linguagem Java as classes do diagrama UML abaixo. 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). Responda: Qual o nome desse padrão de projeto.
8) Pessoas que foram atingidas por raios gama são condenadas a uma vida compartilhada com os seus dois
lados: selvagem e civilizado. O lado selvagem evolui as características de resistência, agilidade e
regeneração. O lado civilizado evolui as características de raciocínio dedutivo e grau de observação que
ajuda nas ocasiões de fuga. A transição entre civilizado e selvagem acontece quando a pessoa acumula uma
quantidade de 80% de raiva, sendo que abaixo dessa quantidade o selvagem torna­se civilizado novamente.
Uma pessoa que foi atingida pelos raios gama enquanto salvava um adolescente durante o teste militar foi o
cientista Dr. Robert Bruce Banner. Construa um diagrama de classes usando o padrão de projeto Estado.
Implemente as classes na linguagem Java, mas 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
Disciplina
Professor
Universidade Federal de Itajubá
Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI
CCO02 – Engenharia de Software II
Enzo Seraphim
Lista de Exercícios sobre Padrões de Projeto – Operação
9) Em um país distante existe uma população de indíviduos chamados flangus. Os flangus tem uma energia
vital chamada glob que aumenta ou diminui em decorrência a 2 eventos: comer ou dormir. Assim, um
flangus somente pode estar se alimentando ou dormindo. A comida dos flangus podem ser de dois tipos: a
aglobina, mais calórica, incrementa o glob de um flangus em 3 unidades e é representada pela letra “a”; e a
oglobina, menos calórica, incrementa o glob de um flangus em 1 unidade e é representada pela letra “o”.
Um flangus dorme sempre por um período fixo de sono e caso não tenha comida próximo ele volta a dormir
por mais um período. Cada período de sono, um flangus consome sua energia vital em 2 unidades e é
representada pela letra “s”. Faça uma modelagem em UML usando um padrão de software para processar
uma expressão que representa a vida de um flangus e retorne sua energia vital (glob). Por exemplo, a s o o a
s s, retorna o valor 2.
10) Implemente na linguagem Java as classes do diagrama UML abaixo. 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). Responda: Qual o nome desse padrão de projeto.
Download