Prévia do material em texto
Questão 1 Respondida Os Diagramas de classes estão entre os tipos mais úteis de diagramas UML, pois mapeiam de forma clara a estrutura de um determinado sistema ao modelar suas classes, seus atributos, operações e relações entre objetos. Analise o diagrama de classes a seguir: Assinale a alternativa que apresenta os elementos destacados, na ordem numérica expressa: 1- agregação; 2- composição; 3- atributos; 4- Generalização(herança); 1- multiplicidade; 2- composição; 3- atributos; 4- Generalização(herança); Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 PróximaAnterior Correção da Prova Online Tamanho da fonte 1- multiplicidade; 2- agregação; 3- atributos; 4- composição; 1- composição; 2- herança; 3- métodos; 4- Generalização(herança); 1- multiplicidade; 2- agregação; 3- métodos; 4- Generalização(herança); 1- multiplicidade; 2- agregação; 3- métodos; 4- Generalização(herança); Sua resposta 1- Multiplicidade: Indica quantas instâncias de uma classe podem estar associadas a outra, esclarecendo as restrições de relacionamento entre as classes, como um usuário possuir vários carros.2- Agregação: Representa uma relação "todo- parte" onde as partes podem existir independentemente do todo, exemplificado por um departamento que possui vários funcionários, mas onde os funcionários podem existir sem o departamento.3- Métodos: São operações que os objetos da classe podem executar, essenciais para definir o comportamento da classe e suas interações com outros objetos.4- Generalização (Herança): Descreve uma hierarquia onde uma classe generalizada (superclasse) transmite características para classes mais especializadas (subclasses), facilitando a reutilização de código e a organização de atributos e métodos comuns. Questão 2 Respondida A Linguagem Unificada de Modelagem é uma linguagem padrão para modelagem orientada a objetos. Ela surgiu da fusão de três grandes métodos, do BOOCH, OMT (Rumbaugh) e OOSE (Jacobson). Esta linguagem de modelagem não proprietária de terceira geração, não é um método de desenvolvimento. A Linguagem Unificada de Modelagem possui diagramas que representam o visões de um sistema.A UML possui um diagrama que complementa o diagrama de caso de uso e é utilizado como uma técnica que descreve a lógica de procedimento e os fluxos que ocorrem no sistema. Esse diagrama, de várias formas, desempenha um papel semelhante aos fluxogramas, mas a principal diferença entre esse diagrama e a notação de fluxograma é que o diagrama suporta comportamento paralelo. Assinale a alternativa que corresponde o diagrama da UML que o texto se refere. Máquina de Estados. Atividades. Sequência. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte Distribuição. Componentes. Atividades. Sua resposta O diagrama de atividades, um dos componentes comportamentais da Unified Modeling Language (UML), é essencial para visualizar o fluxo de controle ou o fluxo de objetos entre atividades dentro de um sistema. Ele é semelhante a um fluxograma e destaca como as operações são sequenciadas, mostrando a progressão de uma atividade para a próxima. Este diagrama é particularmente útil para modelar processos de negócios e fluxos de trabalho, permitindo que os desenvolvedores visualizem as dependências e a ordem das operações. Os elementos típicos de um diagrama de atividades incluem estados de início e fim, ações, decisões de fluxo, e transições, que juntos descrevem o caminho que os dados ou objetos percorrem no sistema. Além disso, barras de sincronização podem ser usadas para modelar ações paralelas, proporcionando uma maneira eficaz de representar e analisar a concorrência dentro dos processos. Ao incorporar esses elementos, o diagrama de atividades oferece uma visão clara e detalhada do comportamento dinâmico do sistema, facilitando a compreensão e a gestão de processos complexos. Questão 3 Respondida As máquinas de estados, representadas pelo Diagrama de Máquina de Estados, são empregadas para a modelagem dos aspectos dinâmicos de um sistema. Normalmente isso envolve a especificação do tempo de vida das instâncias de uma classe, um caso de uso ou um sistema inteiro. Essas instâncias poderão responder a eventos como sinais, operações ou a passagem de tempo, e quando ocorre um evento, uma atividade ocorre, dependendo do estado atual de um objeto. Analise as asserções a seguir e a relação proposta entre elas. I. Uma atividade é uma execução não-atômica em andamento em uma máquina de estados. As atividades resultam em alguma ação, formada por computações atômicas executáveis que resultam em uma alteração do estado do modelo ou no retorno de um valor. O estado de um objeto é a condição ou situação durante a vida de um objeto durante a qual ele satisfaz alguma condição, realiza alguma atividade ou aguarda um evento. PORQUE II. Máquinas de estados bem-estruturadas são como algoritmos bem-estruturados: são eficientes, simples, adaptáveis e compreensíveis. A respeito dessas asserções, assinale a alternativa correta. As asserções I e II são proposições verdadeiras, mas a II não complementa a I. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte As asserções I e II são proposições verdadeiras e a II complementa a I. A asserção I é uma proposição verdadeira e a II, falsa. A asserção I é uma proposição falsa e a II, verdadeira. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras e a II complementa a I. Sua resposta As asserções I e II abordam o funcionamento e a importância da estruturação adequada das máquinas de estados na modelagem UML. A asserção I descreve uma atividade dentro de uma máquina de estados como uma série de operações não atômicas que alteram o estado do modelo ou retornam um valor, detalhando como os estados dos objetos mudam ou respondem a eventos ao longo do tempo. A asserção II argumenta que máquinas de estados bem estruturadas, assim como algoritmos eficientes, devem ser simples, adaptáveis e fáceis de entender, o que contribui significativamente para a eficiência e manutenibilidade do sistema. Juntas, essas asserções mostram que uma boa estrutura de máquina de estados não só suporta a execução eficaz de atividades como também facilita a compreensão e a gestão do sistema, sendo ambas as asserções verdadeiras e complementares. Questão 4 Respondida Considerando que os casos de uso estão definidos, é importante evoluir com a modelagem comportamental do sistema, para uma melhor compreensão da lógica de funcionamento de cada caso de uso. A UML não estabelece qual técnica de modelagem comportamental ou de interação é a ideal para especificar cada caso de uso. Você como Analista de Sistemas ou de acordo com a metodologia de desenvolvimento da empresa que deve definir qual técnica de modelagem comportamental da UML é a melhor a ser adotada, conforme as características ou aplicabilidade de cada caso de uso. Os elementos de um Diagrama de Atividades não podem ser divididos para demostrarem fluxos de controle paralelos, ou fluxos de controle sequenciais. podem ser desenvolvidos sem a necessidade dos diagramas de casos de uso. não podem ser utilizados em conjunto/dependência de outros diagramas UML. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte podem ser divididos para demostrarem fluxos de controle paralelos, ou fluxos de controle sequenciais. não possuem um padrão definido e são modelados de acordo com as técnicas do desenvolvedor. podem ser divididos para demostrarem fluxos de controle paralelos, ou fluxos de controle sequenciais. Sua resposta A resposta corretaé: podem ser divididos para demonstrarem fluxos de controle paralelos, ou fluxos de controle sequenciais.Justificativa:O Diagrama de Atividades da UML é utilizado para modelar o fluxo de controle de um conjunto de atividades que representam a execução de um sistema, processo de negócio, caso de uso ou procedimento específico. Ele permite dividir o fluxo de controle em diferentes caminhos, demonstrando tanto fluxos sequenciais quanto paralelos. Isso significa que é possível representar condições de decisão (fluxos sequenciais) e atividades concorrentes (fluxos paralelos) dentro do mesmo diagrama, proporcionando uma visão clara do comportamento dinâmico do sistema ou processo modelado. Essa flexibilidade torna o Diagrama de Atividades uma técnica robusta para especificar o comportamento de casos de uso complexos, permitindo a representação de cenários variados de interação entre os elementos do sistema. Questão 5 Respondida Considere que uma equipe de Analistas de Sistemas da Defensoria está trabalhando em um projeto com base no UP. Eles estão atuando em uma atividade cujo objetivo é descrever o que o sistema deve fazer, permitindo que desenvolvedores e clientes opinem na descrição. Um documento visual, na forma de use cases, é criado, no qual os atores representam os usuários e outros sistemas com os quais o sistema em desenvolvimento irá interagir. Os use cases são descritos em detalhes, mostrando como o sistema interage com os atores e o que faz nestas interações. Os Analistas estão trabalhando na disciplina Requisitos. fase Transição. disciplina Elaboração. fase Análise e Design. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte disciplina Gerenciamento do Projeto. disciplina Requisitos. Sua resposta O correto é disciplina Requisitos porque essa atividade está relacionada à elicitação e especificação de requisitos do sistema, que é uma das principais responsabilidades da disciplina de Requisitos no UP. Nessa fase, os analistas de sistemas trabalham em estreita colaboração com os clientes e usuários finais para entender suas necessidades e requisitos para o sistema em desenvolvimento. A criação de casos de uso, como mencionado na descrição, é uma prática comum na modelagem de requisitos no RUP, pois os casos de uso são uma ferramenta eficaz para capturar os requisitos funcionais do sistema e descrever como ele interage com os usuários e outros sistemas. Portanto, essa atividade se encaixa bem na disciplina de Requisitos dentro do contexto do UP. Questão 6 Sem resposta Na modelagem da atividade de Análise ou da atividade de Projeto, a melhor indicação de uso do Diagrama de Máquina de Estados é para modelar o comportamento dos objetos das classes que possuem estados relevantes, o qual o comportamento das classes de objetos é afetado e modificado pelos diferentes estados, consequentes dos eventos disparados durante a execução dos casos de uso do sistema. Assinale a alternativa correta que indica os elementos básicos de um Diagrama de Máquina de Estados. Estados, Transições de Estados, Estado Inicial e Estado Final. Estados, Objeto, Classe, Atributo e Operação. Objeto, Classe, Atributo, Operação e Mensagem. Estados, Transições de Estados, Atividade e Ação. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte Estado Inicial, Estado Final, Classe, Atributo e Operação. Estados, Transições de Estados, Estado Inicial e Estado Final. Sua resposta O Diagrama de Máquina de Estados na UML é utilizado para modelar o comportamento dinâmico dos objetos que possuem estados relevantes dentro de um sistema de software. Os elementos básicos deste diagrama são: Estados, que representam as condições ou situações distintas pelas quais um objeto pode passar ao longo do tempo; Transições de Estados, que indicam as mudanças de um estado para outro em resposta a eventos específicos; Estado Inicial, que define o estado inicial do objeto quando ele é criado ou quando um novo ciclo de vida é iniciado; e Estado Final, que representa o término do ciclo de vida do objeto ou o estado final que ele alcança após completar uma sequência de eventos.Esses elementos são essenciais para capturar e visualizar como os objetos se comportam em resposta a eventos que ocorrem durante a execução dos casos de uso do sistema. O Diagrama de Máquina de Estados proporciona uma representação clara e precisa dos estados possíveis de um objeto e das transições entre esses estados, contribuindo para uma melhor compreensão e implementação do comportamento dinâmico do sistema de software modelado. Questão 7 Sem resposta Para desenvolver um sistema computacional, é necessário um padrão para que cada integrante da equipe tenha o mesmo entendimento e visualização da representação gráfica, bem como os aspectos representados. Todo projeto de desenvolvimento de software inicia-se pela fase de obtenção dos requisitos. Os requisitos de software estão concentrados em um documento que possui tudo que o cliente espera do produto final, e posteriormente a modelagem dos requisitos evolui com a especificação de diferentes técnicas de modelagem que demostram toda interação dos elementos do sistema em diferentes perspectivas. A Unified Modeling Language (UML) suporta a criação e documentação de toda a análise gerada para o software desenvolvido.Sobre a classificação das técnicas de modelagem da UML, julgue os itens a seguir: I. Diagramas estruturais: responsáveis pelo tratamento de aspectos estruturais, sob o ponto de vista de um sistema ou de suas classes. Seu objetivo é a visualização, especificação, construção e documentação de aspectos estáticos do software. II. Diagramas comportamentais: responsáveis pela descrição e modelagem do aspecto dinâmico do software. III. Diagramas de interação: representa o subgrupo dos diagramas comportamentais, usamos para mostrar a interação entre os objetos que realizam os casos de uso do sistema. IV. Diagramas funcionais: responsáveis pela descrição das funcionalidades do sistema, ou seja, os serviços e/ou processos do software. Estão corretos os itens: I e II. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte II e III. III e IV. I, II e III. I, II, III e IV. I, II e III. Sua resposta A afirmação IV é falsa porque não existe na UML uma categoria específica de diagramas chamada "diagramas funcionais". Na UML, os diagramas são geralmente classificados em estruturais e comportamentais, como descrito nas afirmações I, II e III. No entanto, a descrição de "diagramas funcionais" não corresponde a uma categoria oficial de diagramas na UML. O termo "funcionais" geralmente se refere à natureza das funcionalidades do sistema, mas na UML, essas funcionalidades são geralmente modeladas através de diagramas comportamentais, como diagramas de atividades, diagramas de sequência, diagramas de comunicação, entre outros, e não por uma categoria separada de "diagramas funcionais". Questão 8 Sem resposta No sistema da loja de materiais de construção, quando o sistema recebe um pedido, é necessário checar o estoque para verificar a disponibilidade. A funcionalidade de comparar mais material não é obrigatória e depende da necessidade de reposição. Analise o diagrama a seguir: Para complementar corretamente esse caso de uso, assinale a alternativa que apresenta o tipo de relação correta. Agora, assinale a alternativa que apresenta a resposta CORRETA: 1- include; 2- include; 1- include; 2- extend; Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte 1- extend; 2-extend; 1- extend;2-include; 1- associação simples; 2- associação simples 1- include; 2- extend; Sua resposta Include:O relacionamento include é utilizado quando um caso de uso incorpora o comportamento de outro, essencialmente dizendo que uma instância do caso de uso "incluso" é uma parte necessária do caso de uso "includente". Por exemplo, se vários casos de uso diferentes requerem um processo de autenticação, esse processo pode ser modelado como um caso de uso separado chamado "Autenticar Usuário". Outros casos de uso que precisam dessa autenticação então incluiriam "Autenticar Usuário". Isso evita a duplicação da mesma funcionalidade em múltiplos casos de uso e centraliza a gestão dessa funcionalidade comum. O uso do include é uma forma de modularização que reforça a coesão e facilita a manutenção do sistema.Extend:O relacionamento extend é usado para adicionar comportamentos que podem não ser sempre necessários. Um caso de uso que "estende" outro faz isso de maneira condicional, dependendo de determinadas situações de execução. Essa abordagem é útil para funções que são opcionais ou necessárias apenas sob certas condições. Por exemplo, um caso de uso principal pode ser "Processar Pedido", e um caso de uso que o estende poderia ser "Aplicar Desconto", que só é executado se o cliente possuir um cupom válido. Diferente do include, o extend permite a adição de funcionalidades sem alterar o comportamento original do caso de uso sendo estendido, oferecendo flexibilidade e adaptabilidade. Questão 9 Sem resposta Analise as afirmativas a seguir relativas ao paradigma da orientação a objetos. I - O princípio do encapsulamento preconiza que um objeto deve esconder a sua complexidade interna. II - Uma mensagem de um objeto A para um objeto B indica que A realizou uma tarefa requisitada por B. III - A existência da mesma operação polimórfica definida em duas classes, ClasseA e ClasseB, implica necessariamente que ou ClasseA seja subclasse de ClasseB, ou que ClasseB seja subclasse de ClasseA. É correto APENAS o que se afirma em: I. II. I e II. I e III. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Próxima Correção da Prova Online Tamanho da fonte II e III. I. Sua resposta I - Correta. O princípio do encapsulamento na orientação a objetos preconiza que um objeto deve esconder a sua complexidade interna, expondo apenas uma interface bem definida para interagir com outros objetos. Isso significa que os detalhes internos de implementação de um objeto devem ser ocultados, permitindo que ele seja modificado sem afetar outros objetos que o utilizam. II - Esta afirmativa descreve o conceito de envio de mensagem na orientação a objetos, que está correto, mas não se trata de um princípio fundamental do paradigma da orientação a objetos. III - Esta afirmativa está incorreta. A existência da mesma operação polimórfica definida em duas classes não implica necessariamente que uma classe seja subclasse da outra. O polimorfismo permite que várias classes possam implementar a mesma operação de maneiras diferentes, sem a necessidade de herança direta entre elas. Portanto, a relação de herança não é uma implicação direta do polimorfismo. Questão 10 Sem resposta A modelagem de sistemas faz uso de modelos que se inter- relacionam e se completam para obter uma visão holística da solução e as orientações para desenvolver a programação na linguagem mais adequada. A visão do sistema possui três perspectivas: estrutural, funcional e temporal. Na engenharia de software, a modelagem deve ser utilizada para engenharia de todo tipo de sistema, e quanto maior e mais complexo for o sistema, maior será a relevância da modelagem para atendimento aos requisitos. Tomando como referência as orientações sobre modelagem orientada a objetos, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas. ( ) A análise orientada a objetos, faz uso de um conjunto de diagramas estruturais e comportamentais, e deve ser utilizada apenas em médios e grandes sistemas. ( ) Dependendo da natureza do sistema, alguns modelos podem ser mais importantes e adequados do que outros e podem ser especificados em diferentes níveis de precisão. ( ) Para os sistemas centrados no uso de interfaces gráficas, o Graphical User Interface (GUI), são importantes as visões estáticas e dinâmicas dos casos de uso, e em sistemas de execução crítica em tempo real, a visão dinâmica do processo tende a ser mais importante. ( ) A UML (Unified Modeling Language) privilegia a descrição da modelagem de sistemas de software em três perspectivas principais de visões, sendo: a estrutural que enfatiza a visão estática do sistema; a funcional que prioriza as funcionalidades do sistema; e a temporal que prioriza a especificação dos eventos. Assinale a alternativa que apresenta a sequência correta. Prova final ANÁLISE ORIENTADA A OBJETOS Acertos 10 de 10 Nota 50 pontos Corretas Erradas 1 2 3 4 5 6 7 8 9 10 Anterior Concluir correção Correção da Prova Online Tamanho da fonte V – V – F – F. V – F – V – V. V – F – V – F. F – F – V – V. F – V – V – V. F – V – V – V. Sua resposta A resposta correta para as afirmativas é F – V – V – V. Vamos justificar cada uma delas:(F): A análise orientada a objetos não está restrita apenas a médios e grandes sistemas. Ela pode ser utilizada em sistemas de diferentes tamanhos, dependendo da complexidade e dos requisitos do sistema em questão. Pequenos sistemas também podem se beneficiar da modelagem orientada a objetos para uma melhor organização e estruturação do software.(V): Dependendo da natureza do sistema, certos modelos podem ser mais relevantes e adequados do que outros. Além disso, esses modelos podem ser especificados em diferentes níveis de precisão para atender aos requisitos específicos do sistema e às necessidades dos stakeholders.(V): Em sistemas centrados no uso de interfaces gráficas (GUI), é crucial ter uma visão tanto estática quanto dinâmica dos casos de uso. Isso ajuda a compreender não apenas a estrutura das telas e elementos visuais, mas também como eles interagem dinamicamente com o usuário. Por outro lado, em sistemas de execução crítica em tempo real, como sistemas embarcados ou sistemas de controle, a visão dinâmica do processo é fundamental para entender o comportamento temporal e a resposta do sistema a eventos externos.(V): A UML de fato privilegia a descrição da modelagem de sistemas de software em três perspectivas principais de visões: estrutural, funcional e temporal. A visão estrutural enfatiza a organização estática do sistema, a visão funcional prioriza as funcionalidades e comportamentos do sistema, e a visão temporal foca na especificação de eventos e na sequência temporal das operações do sistema.