Prévia do material em texto
• Pergunta 1 1 em 1 pontos Ao elicitar requisitos, o analista necessita identificar, especificar, classificar e priorizar requisitos de software. Cada uma dessas tarefas requer boa relação e constante comunicação com os clientes do software em construção, já que essa fase inicial de conhecimento de problemas e identificação de necessidades dos clientes e usuários é fundamental para o sucesso do projeto. Sobre as tarefas que o analista deve realizar durante a elicitação de requisitos, é correto afirmar que: Resposta Selecionada: .A identificação de requisitos compreende a utilização de diferentes técnicas para identificar, junto aos clientes e interessados pelo projeto, o problema a ser solucionado via a construção de um software e as necessidades de funcionalidades do software em construção. Resposta Correta: .A identificação de requisitos compreende a utilização de diferentes técnicas para identificar, junto aos clientes e interessados pelo projeto, o problema a ser solucionado via a construção de um software e as necessidades de funcionalidades do software em construção. Comentário da resposta: Resposta correta. A identificação de requisitos é a primeira tarefa da elicitação em que são utilizadas diferentes técnicas como reuniões, questionários, brainstorms entre outros como forma a capturar informações juntos aos clientes; informações estas que podem ser relacionadas ao problema ou a solução a ser implementada. • Pergunta 2 1 em 1 pontos Diagramas comportamentais são utilizados para representar, como o nome sugere, comportamentos do sistema. Esses comportamentos geralmente ilustram o funcionamento do sistema em diferentes estágios, seja mostrando a interação de funcionalidades com atores do sistema, ou mostrando a interação de funcionalidades uma com as outras, ou ainda explicitando o comportamento do sistema frente a mudança de estados de um objeto do sistema. Sobre os diagramas comportamentais, assinale a opção com a correta correspondência entre conceito e definição: (1) Diagrama de Atividades A) é um diagrama que, ao representar aspectos dinâmicos do software, explicita a interação de funcionalidades do software com atores do sistema e mesmo com demais funcionalidades existentes (2) Diagrama de Estados B) é um diagrama que, ao representar aspectos dinâmicos do software, explicita o fluxo de controle de uma atividade para outra, esta, podendo ser passos de casos de uso, fluxos de telas, rotinas específicas do programa entre outros (3) Diagrama de Casos de Uso C) é um diagrama que, ao representar aspectos dinâmicos do software, explicita a transição de estados que podem ser assumidos por determinado objeto significativo do software, geralmente a realização de ações com esse objeto são condicionadas ao estado assumido pelo objeto (4) Diagrama de Sequência D) é um diagrama que, ao representar aspectos dinâmicos do software, explicita a troca de mensagens entre objetos como forma a atingir um objetivo funcional no software Resposta Selecionada: .1-B; 2-C; 3-A e 4-D. Resposta Correta: .1-B; 2-C; 3-A e 4-D. Comentário da resposta: Resposta correta. Diagramas comportamentais representam diferentes aspectos dinâmicos do sistema, seja o fluxo de controle de atividades do sistema com o diagrama de atividades; ou a transição de estados e o controle de ações sobre objetos a depender de determinados estados com o diagrama de atividades; ou a interação dos atores com funcionalidades do sistema com o diagrama de casos de uso; ou a troca de mensagens entre objetos a fim de se concretizar a realização de uma funcionalidade com o diagrama de sequência. • Pergunta 3 1 em 1 pontos Diagramas de classes representam classes do software, seus atributos, métodos e relacionamentos que levam, de certa forma, a entender um pouco do próprio negócio e das entidades importantes e presentes no dia a dia da organização para o qual o software se destina. As classes do diagrama podem se relacionar uma com as outras a partir do uso de diferentes tipos de relacionamentos. A alternativa com o nome do relacionamento responsável por indicar que as informações de um objeto de uma classe precisam ser complementadas por informações de um objeto de outra classe é: Resposta Selecionada: .Agregação. Resposta Correta: .Agregação. Comentário da resposta: Resposta correta. A agregação é um tipo especial de associação utilizada para representação relações do tipo todo-parte. Com esse tipo de relacionamento é possível indicar que um objeto de uma classe “faz parte” de outro objeto de outra classe, quando instanciados. • Pergunta 4 1 em 1 pontos O projeto de arquitetura é uma das atividades que possuem maior impacto para o projeto quando o assunto é qualidade interna do produto de software a ser construído. Isso porque é durante o projeto de arquitetura de software que os conceitos, as funcionalidades e principalmente as não funcionalidades levantadas são transformadas em estruturas e relacionamentos a serem implementados. Uma boa arquitetura de software pode trazer maior agilidade durante a evolução do software e pode também garantir que funcionalidades sejam executadas conforme expectativas de desempenho estabelecidas pelos clientes. Com base no descrito, é possível afirmar que: Resposta Selecionada: .o projeto de arquitetura de um software tem forte relação com o cumprimento de requisitos não funcionais levantados. Resposta Correta: .o projeto de arquitetura de um software tem forte relação com o cumprimento de requisitos não funcionais levantados. Comentário da resposta: Resposta correta. Para a elaboração de um projeto de arquitetura, requisitos não funcionais, que descrevem características de qualidade, devem ser considerados. A partir deles é que será possível definir o máximo de camadas de mensagens permitido para o software de forma a garantir o desempenho requerido, ou ainda o algoritmo de criptografia utilizado para garantir os requisitos de segurança definidos, entre outros. • Pergunta 5 1 em 1 pontos Muitas vezes os diagramas de classes são utilizados para descrever conceitos do negócio. Essa utilização visa traduzir a comunicação advinda dos clientes para os responsáveis por implementar de fato as funcionalidades do sistema. Sendo utilizadas com esse propósito, detalhes de implementação são muitas vezes suprimidos do diagrama e o enfoca torna-se maior para as entidades significativas para o negócio, bem como para seus atributos e relacionamentos com demais entidades. Veja o exemplo abaixo de um diagrama sendo utilizado com o propósito de descrever um negócio de vendas de uma empresa. Fonte: Autora Sobre o diagrama, é correto afirmar que: Resposta Selecionada: .Produto e Embalagem estão relacionados com uma associação de agregação. Resposta Correta: .Produto e Embalagem estão relacionados com uma associação de agregação. Comentário da resposta: Resposta correta. Produto agrega informações de Embalagem e, por conta disso, possui um relacionamento de agregação com ela. A representação do losango em uma das extremidades do relacionamento faz referência ao relacionamento de agregação. • Pergunta 6 1 em 1 pontos Em sistemas web, o padrão de arquitetura MVC é o mais largamente utilizado para organização das partes constituintes do software. Ele tem como objetivo separar informações de apresentação, de suas validações frente as regras de negócio e das manipulações de dados na base de dados da aplicação. A simplicidade na separação de responsabilidades dentro do software fez com que diferentes frameworks para diferentes linguagens de programação implementassem o MVC o que levou a popularização do padrão ao redor do globo. Sobre o modelo MVC é correto o quese afirma em: Resposta Selecionada: .O MVC possui variações como o HMVC (hierarchical model-view- control) e o MVVM (model-view-viewmodel). Resposta Correta: .O MVC possui variações como o HMVC (hierarchical model-view- control) e o MVVM (model-view-viewmodel). Comentário da resposta: Resposta correta. Ao longo dos anos diferentes variações do MVC surgiram como forma a expandir a separação de responsabilidades de partes do programa. Exemplos disso são o HMVC que traz caraterísticas hierárquicas ao modelo precursor e o MVVM que trata de forma diferente a manipulação e ligação de dados numa camada viewmodel. • Pergunta 7 1 em 1 pontos Antes de implementar um software e posterior ao conhecimento do problema e das necessidades dos clientes, é uma boa prática realizar a modelagem do software a ser construído como forma a construir uma abstração da solução que seja entendida pela equipe de desenvolvimento. Ainda na fase de elicitação de requisitos, as informações capturadas e registradas são feitas utilizando basicamente a linguagem natural. Por si só, a linguagem natural é ambígua e essa ambiguidade, embora presente durante a interação com interessados pelo projeto, não é bem-vinda durante a construção do produto. A modelagem de software, então, permite que as informações anteriormente capturadas possam ser representadas em uma linguagem intermediária (nem linguagem natural e nem linguagem de máquina) que consiga expressar as necessidades levantadas. De acordo com Ian Sommerville (Sommerville, 2011), os modelos utilizados para descrever software podem ser classificados em: Resposta Selecionada: .modelo de contexto, modelo de interação, modelo estrutural e modelo comportamental. Resposta Correta: .modelo de contexto, modelo de interação, modelo estrutural e modelo comportamental. Comentário da resposta: Resposta correta. Modelo de contexto, de interação, estrutural e comportamental são os quatro tipos de modelos que podem ser construídos para software de acordo com Ian Sommerville. • Pergunta 8 1 em 1 pontos Por conta de sua versatilidade de uso, diagramas de atividades são um dos diagramas mais utilizados da UML. Podem representar processos de diferentes tipos (negócio, desenvolvimento etc.), sequência de passos a serem executados em um caso de uso entre outros, fluxos de interfaces gráficas, comandos e seus fluxos de programa entre outros. A atividade é, então, um comportamento que será executado seja por pessoas, telas ou o próprio sistema. Sobre diagramas de atividades, leia as afirmações a seguir e assinale a alternativa correta. I) O diagrama de atividades é utilizado para representar a estrutura de um software. II) A sincronização (Join) separa uma transição em várias de forma a paralelizar a execução de atividades. III) A bifurcação (Fork) concatena transições advindas de diferentes atividades que foram paralelizadas por conta de uma sincronização (Join). IV) Raias são usadas para separar atividades de diferentes sistemas. Resposta Selecionada: .I, II, III e IV são falsas. Resposta Correta: .I, II, III e IV são falsas. Comentário da resposta: Resposta correta. Todas afirmações são falsas. Diagramas de atividades representam comportamentos e não estruturas. As definições de Join e Fork foram invertidas na questão. Raias são utilizadas para separar atividades executadas por diferentes atores que podem ser unidades ou papéis organizacionais, ou mesmo outros sistemas, mas não se restringem a sistemas. • Pergunta 9 1 em 1 pontos A modelagem de sistemas pode ser realizada utilizando diferentes tipos de modelos. Durante muitos anos DFD (data-flow diagrams) foi utilizado para apoiar a modelagem de programas estruturados. Com o surgimento de diferentes paradigmas de programação, as necessidades por modelos diferenciados surgiram e, outras formas de modelagem torna-se mais adequadas para softwares baseados em OO (orientação a objetos). Sobre os diferentes tipos de classificação de modelos de software, assinale a opção com a correta correspondência entre classificação e definição: (1) Modelo de Contexto A) representa o ambiente de negócio e tecnológico no qual o sistema irá funcionar (2) Modelo de Interação B) representa o comportamento do sistema em relação a eventos aplicados em sua utilização (3) Modelo Estrutural C) representa a interação entre sistemas, componentes, módulos, usuários e negócio (4) Modelo Comportamental D) representa a estrutura de arquivos, dados e processos dentro do sistema Resposta Selecionada: .1-A; 2-C; 3-D e 4-B. Resposta Correta: .1-A; 2-C; 3-D e 4-B. Comentário da resposta: Resposta correta. Enquanto o modelo de contexto representa o ambiente organizacional no qual o software será implantado, o modelo de interação representa todas as interações necessárias para o software ocorrer conforme o planejado. O modelo estrutural, por sua vez, diz respeito a estrutura de organização do software e o modelo comportamental diz respeito a resposta do sistema a eventos que possam ocorrer durante a sua utilização. • Pergunta 10 1 em 1 pontos Baseadas em ideias de Grady Booch, James Rumbaugh e Ivar Jacobson, a UML (unified modeling language) surgiu para assumir o posto de padrão para modelagem de sistemas orientados a objetos. A existência de diagramas para diferentes propósitos faz com que o sistema modelado possa ser analisado por diferentes perspectivas. A opção que melhor apresenta a dupla diagrama-perspectiva é: Resposta Selecionada: .Diagrama de Sequência – Interação entre objetos. Resposta Correta: .Diagrama de Sequência – Interação entre objetos. Comentário da resposta: Resposta correta. O diagrama de sequência representa o sistema sob a perspectiva de interação entre objetos. O referido diagrama é um diagrama de interação, subgrupo dos diagramas de comportamento da UML.