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.