Universidade Cruzeiro do Sul

Propaganda
FACULDADE DE TECNOLOGIA DE
SÂO CAETANO DO SUL
Lista 4 de Engenharia de Software III
Instruções Gerais:

A Lista deve ser realizada manualmente em folha de sulfite.

A Lista pode ser realizada em grupo, mas a entrega deve ser individual.

O aluno deve entregar a Lista assim que entrar na aula de 25/09/2012.

Para cada exercício em branco ou com supostas “enrolações”, será descontado 1 ponto do Total da Nota
das Listas, conforme explicado no primeiro dia de aula.

Listas com respostas suspeitas de plágio serão devidamente anuladas e “zeradas”. O aluno poderá ser
convidado para resolver alguma questão durante a aula com o objetivo de validar os exercícios da Lista.
1- Explique o conceito de assinatura. O retorno faz ou não parte da assinatura? Fundamente a tua resposta.utilizando uma
referência confiável.
2a) Modele uma classe parametrizada para resolver os problemas da situação abaixo. Explique a solução adotada.
2b) Apresente a estrutura básica de código em JAVA, C# ou C++ para implementar a solução.
3- Um Sistema X possui 4 Casos de Uso: A,B,C e D.
3a) Modele uma VCP com categorização BCE para cada caso de uso.
3b) Modele um único diagrama de classes a partir das VCPs.
3c) Modele no diagrama um controlador responsável por receber todas as requisições e por despachar cada requisição para
o devido controlador de caso de uso.
4- Leia o Caso de Uso “Realizar Saque” e Analise o Diagrama de Classes abaixo.
Fluxo Principal:
1- O cliente escolhe no menu principal do terminal a opção “Efetuar Saque”.
2- O cliente escolhe se o saque será efetuado da conta corrente ou conta poupança.
3- O cliente informa a quantia desejada.
4- O sistema verifica se o saldo da conta é suficiente para realizar a transação.
5- O sistema subtrai o valor solicitado da conta do cliente.
Fluxo Alternativo (3):
4a) Se o valor solicitado for superior ao saldo da conta, o sistema informa que não é possível realizar o saque. Em
seguida, volta ao passo 3 do Fluxo Principal.
4a) Construa um diagrama de seqüência para o caso de uso “Realizar Saque”.
4b) Refaça o diagrama de classes, completando o mesmo de tal forma que ele contemple o caso de uso e o diagrama de
seqüência.. Não esqueçam da categorização BCE.
4c) Faça a especificação dos atributos e dos métodos no diagrama de classes. (Vide até o slide 24)
5- Leia o texto sobre o “baralho” e analise o diagrama de classes logo abaixo.
O baralho é um conjunto de cartas que são utilizadas em jogos variados, de acordo com a preferência dos jogadores.
Normalmente, o baralho possui 52 cartas, distribuídas em 4 grupos chamados de naipes, os quais possuem 13 cartas de
valores numéricos diferentes. Os valores numéricos vão de 2 a 10, além de um “Ás”, que corresponde a 1, um valete
(representado pela letra J, vale 11), uma Rainha (letra Q, vale 12) e um Rei (letra K, vale 13).
Os naipes (símbolos) do baralho são: espadas(♠), paus(♣), copas(♥) e ouro(♦). Acredita-se que o baralho foi criado pelo
francês Jacquemin Gringonneur, sob encomenda do rei Carlos VI de França. Assim, Gringonneur teria criado o baralho para
representar as divisões sociais da França através dos naipes. Copas representaria o clero; o ouro, a burguesia; a espada, os
militares; e o paus, os camponeses.
As cartas do baralho têm um lado com diversas cores e símbolos, chamado de face, e o outro com um padrão comum a
todas as cartas, além disso, existe a carta coringa (jocker), que possibilita vantagens especiais a quem fica com ela.
Os jogos de baralho ficaram famosos na Idade Média, onde os senhores feudais começaram a apostar terras e escravos,
promovendo a riqueza de alguns e a pobreza de outros, de forma quase instantânea e iniciando aí a compulsão pelos jogos
de azar.
5a) Qual o problema apresentado no diagrama de classes?
5b) Qual seria a solução para este problema? Explique.
5c) Represente a solução num diagrama de classes.
5d) Apresente a estrutura básica de código em JAVA, C# ou C++ para implementar a solução do exercício.
6- Analise o diagrama abaixo.
6a) Qual problema ocorre no relacionamento entre as classes do diagrama? Explique.
6b) Apresente duas soluções para o problema encontrado, sendo cada uma em um diagrama de classes de projeto.
Quais as vantagens da solução utilizada?
6c) Apresente a estrutura básica de código em JAVA, C# ou C++ para implementar a solução do exercício.
7- Qual a diferença entre biblioteca, componente e framework? Fundamente a tua resposta.utilizando uma referência
confiável.
8- Qual a diferença entre Classe Parametrizada e Multiobjetos? Fundamente a tua resposta.utilizando uma referência
confiável.
Download