Baixe o app para aproveitar ainda mais
Prévia do material em texto
A2 - June, 2020 1) A construção do Diagrama de Classe de um sistema representa as associações existentes entre as classes de negócio nele utilizadas e serve como base para a implementação do software. Neste contexto, considere que uma pessoa não qualificada em desenvolvimento de sistemas recebeu as Regras de Negócio (RN) descritas a seguir para construção do Diagrama de Classe para uma academia de dança. • RN01 - As aulas são compostas por até 30 alunos inscritos, formando casais que não podem ser alterados durante a aula. • RN02 - Para efeito de planejamento, todas as aulas de um determinado ano são cadastradas sempre no mês de junho do ano anterior, sendo iniciadas as inscrições dos alunos apenas três meses depois. • RN03 - Ao realizar o cadastramento de um novo aluno, ele será automaticamente inscrito em 10 aulas na data e horário que desejar. Tendo produzido o diagrama a seguir baseado nestas regras: Ao ser implementado, vários erros foram identificados, sendo produzidas as seguintes afirmativas que tentam justificar ou explicar tais erros: I – As multiplicidades da associação “Inscrito” deveriam ser inferior 0 e a superior muitas para ambas as classes. II – A multiplicidade da associação “Casal” deve ser 1..1, pois, segundo a RN, os casais não podem ser alterados durante a aula. III – Ao utilizar a multiplicidade 0..* na associação “Inscrito”, não foi mais possível controlar o máximo de 30 alunos por aula. IV – Da forma como foi construído, um aluno, para realizar uma aula, deve necessariamente ter outro aluno, formando um casal. V – Da forma como foi construído, uma aula deve ter pelo menos um casal inscrito, podendo este casal se inscrever em várias aulas. Está correto apenas o que se afirma em: • A) III, IV e V estão corretas. • B) I, III e V estão corretas. • C) II, III e IV estão corretas. • D) I, II e V estão corretas. • E) I, II e IV estão corretas. Justification: Resposta correta:III, IV e V estão corretas. III – Ao utilizar a multiplicidade 0..* na associação “Inscrito”, não foi mais possível controlar o máximo de 30 alunos por aula. Correta. Com a multiplicidade superior sendo muitas em uma mesma aula, a RN01 está sendo desrespeitada. As multiplicidades corretas seriam: 10..* aulas para alunos inscritos e 0..30 alunos inscritos em uma aula. IV – Da forma como foi construído, um aluno, para realizar uma aula, deve necessariamente ter outro aluno, formando um casal. Correta. Gera um problema quando um aluno é inscrito e ainda não realizou nenhuma aula. V – Da forma como foi construído, uma aula deve ter pelo menos um casal inscrito, podendo este casal se inscrever em várias aulas. Correta. Foi utilizada a multiplicidade inferior 1. Esta representação contraria a implementação correta da RN02. Distratores: I – As multiplicidades da associação “Inscrito” deveriam ser inferior 0 e a superior muitas para ambas as classes. Incorreta. Ao realizar esta multiplicidade, não estariam sendo respeitadas as regras de negócios. A multiplicidade correta seria um aluno estar inscrito em no mínimo 10 e no máximo muitas aulas (10..*) e uma aula ter no mínimo 0 e no máximo 30 alunos (0..30). II – A multiplicidade da associação “Casal” deve ser 1..1, pois, segundo a RN, os casais não podem ser alterados durante a aula. Incorreta. A associação 1..1 indica que um aluno deve formar um casal sempre com outro aluno, independente da aula. A associação correta seria multiplicidade inferior 0 representada no momento da inscrição do aluno que ainda não realizou nenhuma aula e multiplicidade superior muitas, pois um aluno poderia formar um casal com outros alunos. • 2) O objetivo do Diagrama e da tabela de Transição de Estado é representar as mudanças que cada instância de uma classe pode ter em um determinado momento, sendo estas mudanças feitas através dos eventos representados no diagrama e na tabela. Neste contexto, analise o Diagrama de Transição de Estado da classe “Exemplar de livro” que compõe o sistema de Automação de Empréstimos de Livros em uma Biblioteca Universitária, representado a seguir: Analisando o exposto, julgue as afirmações a seguir: I – O fato do estado inicial do livro ser “Disponível”, significa que, ao ser cadastrado, um exemplar irá sempre receber este estado. II – Sempre que um exemplar for reservado, o diagrama mostra que ele deverá ser sempre emprestado. III – Sempre que houver a devolução de um exemplar, ele deverá ser analisado, podendo ser disponibilizado para empréstimo ou não. IV – Um exemplar de um livro, quando disponível, deverá ser sempre reservado, para depois ser emprestado. V – O Descarte é o último evento que ocorre para uma instância da classe. Está correto apenas o que se afirmar em: • A) II, IV e V estão corretas. • B) I, III e V estão corretas. • C) I, II e V estão corretas. • D) II, III e IV estão corretas. • E) I, III e IV estão corretas. Justification: Resposta correta: I, III e V estão corretas. I – O fato do estado inicial do livro ser “Disponível”, significa que, ao ser cadastrado, um exemplar irá sempre receber este estado. Correta. Este estado é representado no diagrama como sendo o primeiro após o símbolo inicial do diagrama. III – Sempre que houver a devolução de um exemplar, ele deverá ser analisado, podendo ser disponibilizado para empréstimo ou não. Correta. Esta ação é representada através do evento “Devolução” (de “Emprestado” para “Em análise”), sendo este o único evento que altera o estado de “Emprestado”. V – O Descarte é o último evento que ocorre para uma instância da classe. Correta. O evento "Descarte" muda o estado para “Inutilizado”, sendo este o estado final do exemplar. Distratores: II – Sempre que um exemplar for reservado, o diagrama mostra que ele deverá ser sempre emprestado. Incorreta. Segundo o diagrama, a reserva pode ser cancelada, sendo esta ação representada pelo evento “Reserva Cancelada”, alterando o estado de “Reservado” para “Disponível”. IV – Um exemplar de um livro, quando disponível, deverá ser sempre reservado, para depois ser emprestado. Incorreta. Um exemplar, quando disponível, poderá ser reservado (evento Reserva) ou emprestado (evento Empréstimo). • 3) A construção do Diagrama de Classe de um sistema representa as associações existentes entre as classes de negócio nele utilizadas e serve como base para a implementação do software. Considere que uma pessoa não qualificada em desenvolvimento de sistemas recebeu as Regras de Negócio (RN) descritas a seguir para construção do Diagrama de Classe para uma loja que presta serviço de banho e tosa em animais de pequeno porte. • RN01 – Devem ser considerados todos os clientes responsáveis pelos animais. • RN02 – Não deve haver duplicidade de registro de telefones. • RN03 – Deve ser feito o registro histórico dos animais caso ele mude de clientes responsáveis. Tendo produzido o diagrama abaixo baseado nestas regras: Ao ser implementado, vários erros foram identificados, sendo produzidas as seguintes afirmativas que tentam justificar ou explicar estes erros. I – A RN01 não foi respeitada, pois a multiplicidade foi definida de forma equivocada. II – O diagrama permite que a RN02 seja implementada de forma correta, bastando apenas garantir a unicidade do dado. III – Para que a RN02 seja implementada, deve ser alterada a multiplicidade superior para muitos em ambas as classes, sem representar a classe associativa. IV – Para que a RN03 seja implementada, deve haver uma classe associativa com o período em que o animal permaneceu com cada responsável. V – O atributo Histórico deve ser definido no Cliente, pois representa o período com que o animal esteve com ele. Está correto apenas o que se afirma em: • A) II, III e V estão corretas. • B) III, IV e V estão corretas. • C) I, III e IV estão corretas. • D) I, II e V estão corretas. • E) I, II e IV estão corretas. Justification: Resposta correta:I, III e IVestão corretas. I – A RN01 não foi respeitada, pois a multiplicidade foi definida de forma equivocada. Correta. Da forma como foi feita, um animal possui apenas um cliente responsável, contrariando a RN01. III – Para que a RN02 seja implementada, deve ser alterada a multiplicidade superior para muitos em ambas as classes, sem representar a classe associativa. Correta. A classe associativa é representada apenas quando ela possui atributos. IV – Para que a RN03 seja implementada, deve haver uma classe associativa com o período em que o animal permaneceu com cada responsável. Correta. O histórico de propriedade do animal está associado ao animal e clientes responsáveis. Deve ser criada uma classe associativa entre estas classes com este atributo. Distratores: II – O diagrama permite que a RN02 seja implementada de forma correta, bastando apenas garantir a unicidade do dado. Incorreta. O modelo apresenta um telefone para apenas um cliente. Caso um animal possua mais de um responsável e estes possuam o mesmo telefone, o sistema não dará a resposta correta. A multiplicidade correta seria 1.* e não 1. V – O atributo Histórico deve ser definido no Cliente, pois representa o período com que o animal esteve com ele. Incorreta. O histórico é uma informação que pertence ao animal e ao cliente, devendo ser criada uma classe associativa entre estas classes com este atributo. • 4) O diagrama de sequência descreve a lógica de um caso de uso através da interação entre os objetos das classes envolvidas utilizando um conjunto de elementos gráficos que ajudam no seu entendimento. Para que haja melhor entendimento da lógica, além dos recursos gráficos, outros elementos — identificados como operadores — são utilizados, que indicam as repetições, condições etc., em alguns casos são utilizadas “sentinelas”, que representam as condições com que fragmentos de código são realizados. Diante disso, relacione a primeira coluna (operadores) com a segunda coluna (significado): 1 - alt (_) O fragmento pode ser executado várias vezes. 2 - opt (_) Cada fragmento é executado em paralelo. 3 - loop (_) Conjunto de fragmentos que serão executados caso a condição seja verdadeira. 4 - par (_) Faz referência a uma interação definida em outro diagrama. 5 - ref (_) Fragmento será executado se a condição for verdadeira, não existindo outro fragmento caso ela seja falsa. Marque a alternativa que apresenta a sequência correta das associações de cima para baixo. • A) 3, 4, 2, 1, 5. • B) 2, 5, 1, 3, 4. • C) 3, 4, 2, 5, 1. • D) 3, 4, 1, 5, 2. • E) 4, 3, 1, 5, 2. Justification: Resposta correta:3, 4, 1, 5, 2 alt - Múltiplos fragmentos alternativos; somente aquele cuja condição for verdadeira será executado. Utilizado para representar os fluxos alternativos da descrição do caso de uso. Opt - Opcional; o fragmento é executado somente se a condição fornecida for verdadeira. Equivalente a um alt, com apenas um caminho. Loop - Laço; o fragmento pode ser executado várias vezes e a sentinela indica a base da iteração. Utilizado para representar as repetições existentes na descrição do caso de uso. Par - Paralelo; cada fragmento é executado em paralelo. Representa situações em que não existe dependência entre os módulos. ref - Referência; refere-se a uma interação definida em outro diagrama. Utilizado para chamada de módulos ou casos de usos externos àquele que está sendo representado. • 5) O paradigma da orientação a objetos realiza a representação em um sistema de software de uma coleção de agentes interconectados chamados objetos, sendo cada um deles responsável por realizar tarefas específicas. Neste contexto, leia as afirmativas a seguir que representam algumas definições ou objetivos para objetos e classes. I - Os objetos realizam tarefas por meio da requisição de serviços a outros objetos. II – As classes são organizadas em hierarquia. III – Um objeto representa um repositório de instâncias de uma classe. IV – Os atributos de uma classe estão associados ao seu comportamento. Está correto apenas o que se afirma em: • A) I, II e IV estão corretas. • B) II e III estão corretas. • C) I e III estão corretas. • D) I e IV estão corretas. • E) I e II estão corretas. Justification: Resposta correta: I e II estão corretas. I - Os objetos realizam tarefas por meio da requisição de serviços a outros objetos. Correta. Os objetos das classes trocam mensagens através de um modelo de associação entre as classes que representam. II – As classes são organizadas em hierarquia. Correta. Esse tipo de hierarquização é realizado por meio da implementação de heranças. Distratores: III – Um objeto representa um repositório de instâncias de uma classe. Incorreta. A classe representa o repositório de seus objetos ou instâncias. IV – Os atributos de uma classe estão associados ao seu comportamento. Incorreta. São os métodos de uma classe que representam o seu comportamento. Os atributos são representados pelas suas características. • 6) O diagrama de sequência de um caso de uso representa as interações entre os objetos que o compõem. Tendo como base a descrição deste caso de uso, são detalhadas as ações que devem ser realizadas pela aplicação para atender a requisição feita pelo ator. Estas ações descrevem a interação dos objetos nas diversas camadas de visão utilizadas na implementação. Neste contexto, analise o diagrama de caso de uso a seguir, cujo ator principal (Gerente) realiza as interações para a obtenção de um relatório de atendimentos por funcionário. Com base neste diagrama, analise as afirmativas a seguir: I – A implementação utiliza o padrão MVC, sendo utilizados sete níveis: três de visão, um de controle e duas classes de negócio. II – No diagrama, não foram utilizadas as mensagens de retorno, por serem opcionais em razão da possibilidade de “poluir” o diagrama. III – É correto executar o método “Validaperiodo ()” (item 4.1) na própria interface, pois é um método que não está relacionado diretamente ao negócio. IV – A interação entre as camadas pode ser feita partindo as ações do ator para o controle de forma direta. V – O método “BuscarFunc()” (item 3.1.1) deve ter como parâmetro a identificação do funcionário (MatrFunc) informada pelo ator na interface. Está correto apenas o que se afirma em: • A) I, III e IV estão corretas. • B) III, IV e V estão corretas. • C) I, II e IV estão corretas. • D) I, II e V estão corretas. • E) II, III e V estão corretas. Justification: Resposta correta: II, III e V estão corretas. II – No diagrama, não foram utilizadas as mensagens de retorno, por serem opcionais em razão da possibilidade de “poluir” o diagrama. Correta. O uso das mensagens de retorno é opcional em razão da não representação dos fluxos de exceção no diagrama e considerar que as ações serão realizadas corretamente. III – É correto executar o método “Validaperiodo ()” (item 4.1) na própria interface, pois é um método que não está relacionado diretamente ao negócio. Correta. Este método realiza as validações do período da consulta informado na interface, não sendo considerado como um método do negócio. V – O método “BuscarFunc()” (item 3.1.1) deve ter como parâmetro a identificação do funcionário (MatrFunc) informada pelo ator na interface. Correta. Para que o método “BuscarFunc()” possa recuperar os dados do funcionário informado pelo ator, é necessário especificar qual é este funcionário através da sua matrícula. Distratores: I – A implementação utiliza o padrão MVC, sendo utilizados sete níveis: três de visão, um de controle e duas classes de negócio. Incorreta. Em razão da utilização do padrão MVC, são utilizados os três níveis propostos por: Visão com 3 diferentes objetos, Controle com 1 objeto e Modelo com 2 objetos. IV – A interação entre as camadas pode ser feita partindo as ações do ator para o controle de forma direta. Incorreta. A única interação do ator é feita apenas através da interface, ela deve acionaro controle e, este, os métodos definidos na camada de negócio. • 7) A orientação a objeto apresenta um conjunto de conceitos que permitem criar um padrão de documentação que permeia todas as etapas de desenvolvimento de um software. Diante disso, relacione a primeira coluna (Conceitos) com a segunda coluna (Definições). 1 - Instância (_) Modela a informação persistente. 2 - Herança (_) Permite o uso de forma independente. 3 - Encapsulamento (_) Herda atributos e métodos. 4 - Polimorfismo (_) Representada por um objeto. 5 - Classes (_) Várias implantações em uma única interface. Marque a alternativa que apresenta a sequência correta de associações de cima para baixo. • A) 3, 4, 2, 1, 5. • B) 2, 1, 5, 4, 3. • C) 5, 3, 1, 2, 4. • D) 5, 3, 2, 1, 4. • E) 3, 1, 2, 4, 5. Justification: Resposta correta: 5, 3, 2, 1, 4. A Instância é representada por um elemento (objeto) da classe associada. A Herança é utilizada sempre que uma classe herda atributos ou métodos de outras classes. O encapsulamento ocorre quando o método de uma classe é desenvolvido de forma que possa ser utilizado por outros métodos ou classes, bastando conhecer a sua interface. O Polimorfismo representa os vários tipos de implementações realizados por um método, abstraindo-os de uma única interface. A Classe representa um conjunto de comportamentos e atributos utilizados pela aplicação. • 8) Também conhecida como conectiva, multiplicidades entre classes representa a informação dos limites inferior e superior da quantidade de associações com que um objeto pode estar associado a outro. Cada associação no diagrama de classes possui duas multiplicidades, definida em cada extremo da linha de associação. Dentro do contexto da multiplicidade, pode-se afirmar que: • A) O uso de conectividade com valores específicos significa que os limites são utilizados apenas na documentação. • B) Ao definir um limite inferior maior que zero, representa que este valor sempre deve ser usado no modelo. • C) Uma conectividade 10..20 significa que a associação das instâncias das classes irão ocorrer 10 ou 20 vezes. • D) No Diagrama de Classe os limites inferiores e superiores sempre são representados por números. • E) Utilizar “muitos” na conectividade representa que o limite superior não possui um valor específico ou é desconhecido. Justification: Resposta correta: Utilizar “muitos” na conectividade representa que o limite superior não possui um valor específico ou é desconhecido. Correta. O limite superior é utilizado quando não é conhecida a quantidade máxima de associações que a instância de uma classe pode ter com a outra classe. Distratores: Ao definir um limite inferior maior que zero, representa que este valor sempre deve ser usado no modelo. Incorreta. O limite inferior representa a cardinalidade mínima. Este valor representa a quantidade de associações que a classe pode ter e varia da mínima até a máxima. No Diagrama de Classe, os limites inferiores e superiores sempre são representados por números. Incorreta. Quando o limite superior é indefinido, o símbolo * é utilizado. Uma conectividade 10..20 significa que a associação das instâncias das classes irão ocorrer 10 ou 20 vezes. Incorreta. Representa que as instâncias irão se associar entre 10 a 20 vezes entre as classes. O uso de conectividade com valores específicos significa que os limites são utilizados apenas na documentação. Incorreta. Estes limites são utilizados como regra de negócio e implementados na aplicação.
Compartilhar