Baixe o app para aproveitar ainda mais
Prévia do material em texto
(COPESE ‒ UFPI ‒ 2020) Um técnico de TI da ALEPI que gerencia uma equipe de desenvolvimento de software na Assembleia eventualmente necessita fazer levantamento de requisitos da aplicação que está sendo desenvolvida. Sobre os requisitos de software, considere as seguintes afirmativas: I. Requisitos funcionais são aqueles que definem parte da funcionalidade do sistema e podem ser categorizados em três tipos: requisitos de produtos, requisitos organizacionais e requisitos externos. II. Requisitos não funcionais dizem respeito a restrições, aspectos de desempenho, interfaces com o usuário, confiabilidade, segurança, portabilidade e padrões. III. Requisitos organizacionais estão relacionados às metas da empresa, suas políticas estratégicas adotadas, assim como assuntos relacionados aos empregados da empresa com seus respectivos objetivos. IV. Requisitos de produto estão relacionados às restrições impostas por fatores externos ao sistema tais como restrições de interoperabilidade, éticas e legais. Marque a opção que corresponde somente às afirmativas verdadeiras. Apenas I e III Apenas II, III e IV Apenas I, II e III Apenas II e III Apenas I, III e I No diagrama de atividades temos as chamadas Partições ou Raias. Elas servem a várias funções. Assinale a alternativa que não indica uma destas funções: Invocam a execução de um comportamento nas atividades que estão dentro delas Cada uma delas tem um nome Podem representar partes de um processo de negócio numa organização Podem ser horizontais ou verticais Apresenta setores ou departamentos de uma organização Durante um levantamento de requisitos, um Analista em TI obteve a seguinte lista de requisitos: 1. O sistema, em todas as suas funções de consulta, não poderá exceder o tempo de resposta de até 15 milissegundos. NF 2. Os advogados devem ser capazes de pesquisar as listas de agendamento de todos os juízes. RF 3. O sistema deve gerar, a cada dia, para cada unidade do Tribunal, a lista dos juízes disponíveis para as consultas daquele dia. RF 4. O sistema de pesquisa de processos deve estar disponível para todas as unidades do Tribunal durante as horas normais de atendimento ao público (de segunda à sexta-feira, das 10h às 16h). Períodos de não operação dentro do horário normal de trabalho não podem exceder 10 segundos em um dia. NF Atribuindo-se RF para os Requisitos Funcionais e NF para os Não Funcionais, a lista de requisitos acima apresentada (1, 2, 3 e 4), pela ordem, descreve, respectivamente: NF - RF - RF - NF NF - RF - NF - RF RF - RF - NF - NF NF - NF - RF - RF NF - NF - RF - RF Em um software com diferentes interfaces com o usuário (ex.: web, Android, IOS), qual padrão podemos utilizar de modo a fornecer para os componentes de interação homem-máquina uma interface única e simplificada das operações do sistema? Template Method Facade Factory Method Adapter Strategy Assinale a alternativa com uma afirmativa verdadeira sobre o padrão GRASP Criador: Indica a classe mais recomendada para instanciar um objeto em uma relação de agregado x partes. Evita a criação de dependências em relação a estruturas de código condicionais (if-then-else ou switch-case). Recomenda que cada módulo deve ter uma responsabilidade bem-definida. Recomenda que as responsabilidades devem ser distribuídas pelos módulos de forma que as dependências entre eles sejam gerenciáveis. Evita a duplicação de algoritmos que apresentem a mesma estrutura, com alguns pontos de variação entre eles. O desenvolvimento de sistemas envolve um conjunto de recursos que precisam ser geridos (planejados, executados e controlados). Por isso, é um processo complexo e que deve ser organizado em atividades ou, ainda, em fases. Independentemente do processo que se use, existem as fases em que são realizadas as ações numeradas de I a IV, a seguir. I. Análise dos requisitos para compreender o que o sistema deve fazer. II. Identificação dos requisitos. III. Implementação do sistema numa linguagem de programação. IV. Projeto do sistema, sua estrutura, arquitetura, comportamento e escolha das tecnologias (linguagem, SGBD etc.). Assinale a alternativa que contém a ordem correta em que são executadas as ações no processo de desenvolvimento de um sistema computacional: IV, III, II, I. II, I, III e IV. II, I, IV e III. I, III, IV e II. I, II, III, IV. (TJ-MS ‒ 2017) Analise o diagrama de máquina de estado a seguir: Sobre o diagrama, é correto afirmar que O aluno no estado "Formado" é o aluno que cumpriu todos os créditos, e que nunca passou pelo estado "Transferido". O aluno no estado "Cursando" pode solicitar transferência a qualquer momento para outra universidade, e depois de transferido, pode retornar à faculdade de origem sem a necessidade de efetuar matrícula. O aluno no estado "Formado" é o aluno que cumpriu todos os créditos, e que nunca passou pelo estado "Desligado". O aluno no estado "Jubilado" é o aluno que tem dívidas financeiras com a universidade, e portanto, excedeu o tempo para cursar as disciplinas. O aluno no estado "Cursando" pode solicitar transferência a qualquer momento para outra universidade, e depois de transferido, só pode retornar à faculdade de origem efetuando outra matrícula. (Zeta () não necessita ser chamado para que épsilon () dê um retorno ao usuário.) É mais recomendado iniciar a modelagem da interação com a representação do recebimento da mensagem para ativação da operação de sistema no caso de uso. Por quê? Isso melhora a lógica do diagrama. Isso reduz o número de estruturas no diagrama. Isso separa a lógica do domínio e a lógica da interface. Isso reduz a complexidade do diagrama. Isso aumenta as possibilidades de uso do diagrama. Prova: FCC - 2019 - SEMEF Manaus - AM - Assistente Técnico de Tecnologia da Informação da Fazenda Municipal – Programador. Um programador necessita fazer a representação de um diagrama de objetos da UML 2.5, sendo que as sintaxes do nome de objeto e do valor de atributo nesse tipo de diagrama são: nome-objeto : nome-classe e nome-atributo = valor nome-objeto = nome-classe e nome-atributo := valor nome-objeto / nome-classe e nome-atributo // valor nome-objeto → nome-classe e nome-atributo → valor nome-objeto IS nome-classe e nome-atributo AS valor Qual a notação da UML para representar uma dependência num diagrama de classes? Uma seta tracejada ligando as classes envolvidas. Uma reta tracejada ligando as classes envolvidas. Uma reta curva ligando as classes envolvidas. Uma reta cheia ligando as classes envolvidas. Uma seta cheia ligando as classes envolvidas. Assinale a alternativa que define a intenção do Princípio da Segregação de Interfaces: Cada módulo deve estar aberto para extensões, mas fechado para modificações. Clientes de um módulo não devem ser forçados a depender de operações que eles não utilizem. Cada módulo deve ter uma, e apenas uma, razão para mudar. Um tipo deve poder ser substituído por qualquer um de seus subtipos, sem alterar o correto funcionamento do sistema. Entidades concretas devem depender de abstrações, e não de outras entidades concretas. Seja uma classe que implementa a visualização dos contatos de uma agenda telefônica. Nessa classe, encontramos tanto o código que monta e apresenta os aspectos visuais da agenda (lista de contatos), como o código que recupera os contatos do banco de dados. Assinale a alternativa que contenha o princípio SOLID que está sendo violado por essa construção de projeto: Princípio Open Closed Princípio de Substituição de Liskov Princípio da Inversão de Dependências Princípio da Segregação de Interfaces Princípio da Responsabilidade Única Modelos são ferramentas extremamente úteis quando desenvolvemos sistemas computacionais. Um dos benefícios é a possibilidade de servir como instrumento decomunicação das ideias para construção do sistema, entre membros da equipe de desenvolvimento e destes com os usuários. I. O programador precisa construir os programas e pode ter a necessidade de consultar determinado diagrama para um entendimento primordial das implementações. II. Os projetistas do software não precisam compreender a realidade dos requisitos para realizar seu trabalho. III. Os modelos de análise nascem a partir de um documento primordial, denominado Documento de Requisitos do Sistema. IV. Os usuários validam os modelos junto à equipe de desenvolvimento. Estão corretas as assertivas I e II. Estão corretas as assertivas II e IV. Estão corretas as assertivas I, II e IV. Estão corretas as assertivas I, III e IV. Somente a assertiva III está correta Qual dos passos abaixo não diz respeito à criação de um diagrama de interação: Identifique as conexões e relacionamentos entre eles, em seguida, categorize-os. Para cada operação, identifique os objetos que farão parte da sua interação. Identifique as classes de análise que serão modeladas no projeto. Determine o caso de uso que será modelado e identifique suas operações. Identifique a sequência de fluxos de mensagens na interação entre os objetos. (FUNCAB - DETRAN-PB - 2013) Na UML, são exemplos de diagramas comportamentais e diagramas estruturais, respectivamente: de Estado e de Classes. de Componentes e de Sequência. de Classes e de Colaboração. de Objetos e de Casos de Uso. de Colaboração e de Atividades. Assinale a opção que contenha o padrão GRASP que possui uma estrutura de solução similar ao padrão GoF Facade: Alta Coesão Controlador Criador Baixo Acoplamento Polimorfismo Assinale a alternativa que descreve o padrão GoF Adapter: Esse padrão permite a utilização de múltiplas implementações proprietárias da mesma funcionalidade, por meio de uma interface padronizada que é traduzida para as diferentes interfaces proprietárias. Esse padrão permite a criação de objetos duplicados, sem prejudicar a performance do sistema. Esse padrão esconde a complexidade do sistema e fornece uma interface mais simples para um módulo cliente. Esse padrão é utilizado para adaptar o estado de um objeto, permitindo que ele retorne a um estado anterior. Esse padrão constrói um objeto complexo, usando objetos simples e adaptáveis de forma sequencial. Ao modelar sistemas orientados a objetos, nos preocupamos em identificar os objetos que se relacionam com o domínio do problema do sistema em estudo. Nesse sentido, a UML oferece um conjunto de diagramas que permite modelar sistemas orientados a objeto. Sobre a UML, analise as assertivas: I. A UML é uma metodologia de desenvolvimento, que pode ser aplicada nas diferentes fases de um processo de desenvolvimento de software. II. A UML disponibiliza diagramas que permitem o entendimento do sistema sob diferes visões. III. Uma das visões, a de casos de uso, tem uma perspectiva externa, tal qual uma maquete de um empreendimento imobiliário. IV. A UML é dependente de tecnologia, podendo ser aplicada em contexto computacional específico. É correto apenas o que se afirma em: II e IV. I, II e III. II e III. I e II. III e IV Em relação ao diagrama de estados, analise a seguinte frase: “é desenhado como um losango em que chega uma ou mais transições (provenientes de estados diferentes) e de onde parte uma ou mais transições”. Estamos falando de: Ações Atividades Evento Condição de Guarda Ponto de Junção Um software deve ser integrado a diferentes API de reconhecimento de digitais oferecidas por diferentes fabricantes. Qual padrão podemos usar, de modo a permitir que os módulos desse software possam utilizar essas diferentes API a partir de uma mesma interface? Strategy Adapter Template Method Factory Method Façade Quando utilizamos a descrição de caso de uso do tipo expandida? Quando o caso de uso não tratar de exceções e não tiver complexidade em suas operações. A empresa de calçados "Bela Mulher Ltda" vende a clientes de Classe A, calçados femininos com exclusividade e sob medida. Na criação de um modelo de diagrama de classe é possível representar essa regra, pois é de grande valor na implementação dos procedimentos. Qual dos recursos do diagrama de classe expressa no modelo essa informação? Cardinalidade Multiplicidade Generalização Especialização Associação São exemplos de diagramas comportamentais: Caso de uso, Objetos, Estados e Interações. Classes, Atividades, Estados e Interações. Caso de Uso, Atividades, Componentes e Interações. Caso de uso, Atividades, Estados e Interações. Casos de Uso, Atividades, Estados e Distribuições. (ENADE − 2017 − CST − Análise e Desenvolvimento de Sistemas (Adaptada pelo Autor) "À medida que o projeto de uma interface do usuário evolui, quatro questões de projeto comuns quase sempre vêm à tona: tempo de resposta do sistema, recursos de ajuda ao usuário, informações de tratamento de erros e atribuição de nomes a comandos." PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 8. ed. São Paulo: AMGH, 2016 (adaptado). Nesse contexto, avalie as afirmações a seguir, a respeito das atividades de análise, incluindo requisitos e as atividades de projeto. I. Projeto de interfaces faz parte dos aspectos tecnológicos, estando assim associado às atividades de projeto. II. Tempo de resposta e recursos de ajuda ao usuário estão relacionados a requisitos não funcionais. III. Um requisito não funcional só pode estar associado a um único requisito funcional. IV. Uma interface eficiente não tem relação com requisitos não funcionais. É correto apenas o que se afirma em: I e II. I, II e III. I e III. II e IV. II, III e IV (INSTITUTO AOCP - EBSERH - 2017) Um recém-contratado analista é integrado a uma equipe de desenvolvimento de um projeto em andamento e lhe são apresentados os diagramas de modelagem. Entre todos esses diagramas, o diagrama a seguir é passado para esse analista reformular. Qual é o diagrama que ele terá que reformular? Diagrama de Estado Diagrama de Comunicação Diagrama de Sequência Diagrama de Pacote Diagrama de Atividade (DPE-RJ ‒ 2014) Considere o diagrama UML abaixo. De acordo com os conceitos da UML, de orientação a objetos e de padrão de projetos, é correto afirmar: Neste diagrama de objetos da UML PedidoDAO se refere a um objeto abstrato. As instruções pedido Pedido = new pedido(); PedidoDAO d = buildPedidoDAO(); d.inserirPedido (pedido); em condições ideais é um exemplo correto de implementação em linguagem Java. O método DAOBuilder possui os objetos responsáveis por construir o padrão de projeto a ser implementado em Java. O padrão de projeto utilizado pode ser claramente identificado como Fabric Method. Neste diagrama de classes da UML PedidoDAOCentral, PedidoDAOEscritorio e PedidoDAOLocal são classes concretas capazes de executar a operação inserirPedido. Assinale a alternativa com uma afirmativa verdadeira sobre o padrão GRASP Baixo Acoplamento: Recomenda que cada módulo deve ter uma responsabilidade bem-definida. Evita a criação de dependências em relação a estruturas de código condicionais (if-then-else ou switch-case) Recomenda que as responsabilidades devem ser distribuídas pelos módulos de forma que as dependências entre eles sejam gerenciáveis. Indica a classe mais recomendada para instanciar um objeto em uma relação de agregado x partes. Evita a duplicação de algoritmos que apresentem a mesma estrutura, com alguns pontos de variação entre eles. (FCC - TRT - 2008) Em um diagrama de classes, considere que Seguridade e Imóveis herdam características de Ativos. A classe ItemSuportado é superclasse de Imóveis, mas não de Ativos. Nesse cenário, o relacionamento geral em que se envolve Imóveis caracteriza-se por: ComposiçãoHerança Multipla Ocultação Dependência Polimorfismo No diagrama de componentes temos as interfaces. Estas são operações que especificam serviços de um componente. Assinale a alternativa que indica o que elas descrevem: A lista de serviços de um software As associações de um software O comportamento do software na interação com outros sistemas O comportamento do software visível externamente O comportamento interno do software Num diagrama de atividades são permitidas decisões. Que elementos entram ou saem destes elementos de decisão? Ações Condições de guarda Pontos de junção Eventos Métodos das classes ''Implementar em um único módulo aspectos de implementação de interface com o usuário, lógica do negócio e acesso a dados''. Assinale o padrão GRASP que está sendo diretamente violado por essa estratégia de implementação: Criador Controlador Polimorfismo Alta Coesão Baixo Acoplamento 'Encapsular uma família de algoritmos em um conjunto de classes que correspondem a diferentes implementações de uma mesma funcionalidade''. Assinale a opção com o nome do padrão que possui esse propósito: Adapter Factory Method Facade Template Method Strategy O contexto é um sistema de gestão de uma carteira de investimentos, no qual o usuário pode comprar e vender ações da bolsa, enviando uma ordem de compra ou venda a sua corretora. Considere os seguintes requisitos pertinentes ao contexto descrito anteriormente. I. Deve ser possível o envio de ordem de compra pelo sistema. II. Dever ser possível o envio de ordem de venda pelo sistema. III. A emissão da ordem deve ser segura e deve seguir protocolo específico. IV. A interface deve permitir destreza nas operações, pois estas precisam ser práticas e permitir agilidade. V. Deve ser possível ao investidor emitir posição financeira de seu saldo atualizado. VI. A segurança é fundamental para que dados financeiros não sejam alvos de ataques. Assinale a alternativa que contém apenas os requisitos não funcionais: II, III e V. I, II e V. I e IV. III, IV e VI. IV e VI (IBFC ‒ EBSERH ‒ 2016) A análise de requisitos é a primeira fase de desenvolvimento de software dividido em requisitos funcionais e requisitos não funcionais. Os requisitos não funcionais possuem vários tipos diferentes de classificação, tais como: (1) Requisitos de confiabilidade (2) Requisitos de produtos (3) Requisitos éticos (4) Requisitos de portabilidade Da relação apresentada existem somente o 1, 2 e 3 Da relação apresentada existem todos Da relação apresentada existem somente o 2, 3 e 4 Da relação apresentada existem somente o 1, 3 e 4 Da relação apresentada existem somente o 1, 2 e 4 De acordo com UML um estereótipo pode estender um elemento do tipo associação? Dê um exemplo e justifique a sua resposta. Sim. Por exemplo, considere o estereótipo «communicate» nas associações entre atores e casos de uso, usados nos diagramas de casos de uso. Uma associação com estereótipo permite caracterizar mais adequadamente o tipo de associação correspondente. A UML é bastante versátil e completa em termos dos diagramas que disponibiliza. Eles se classificam em estruturais e comportamentais, também denominados de estáticos e dinâmicos, respectivamente. Dentre os diagramas da UML, qual alternativa apresenta apenas os diagramas comportamentais, que mostram detalhes do funcionamento do sistema, sob um determinado ponto de vista? Casos de uso, atividades e componentes. Estrutura composta, classes e pacotes. Classes, casos de uso e pacotes. Casos de uso, atividades e sequência. Sequência, comunicação e objetos (FAURGS ‒TJ-RS ‒ 2018) Requisitos não funcionais - como o nome sugere - são requisitos que não estão diretamente relacionados com os serviços específicos oferecidos pelo sistema a seus usuários. Podem ser provenientes das características requeridas para o software, da organização que desenvolve o software ou de fontes externas. Os requisitos não funcionais que especificam ou restringem o comportamento do software - por exemplo, o seu desempenho, seus requisitos de proteção, seus requisitos de usabilidade e a taxa aceitável de falhas - são denominados requisitos: éticos externos organizacionais ambientais de produto No diagrama de atividades temos as chamadas Partições ou Raias. Elas servem a várias funções. Assinale a alternativa que não indica uma destas funções: Invocam a execução de um comportamento nas atividades que estão dentro delas Cada uma delas tem um nome Podem representar partes de um processo de negócio numa organização Podem ser horizontais ou verticais Apresenta setores ou departamentos de uma organização Quando um objeto muda de estado? Quando um caso de uso é executado. Quando o usuário faz suas escolhas no sistema. Quando a classe a que pertence executa seus métodos. Quando as classes são definidas. Quando acontece algum evento interno ou externo ao sistema. Um conceito relevante no contexto da orientação a objeto é o estado de um objeto. Tão relevante que a UML, dispõe desde suas primeiras versões, do diagrama de estados. A base do conceito de estado é o valor contido em cada atributo. Com base nesse contexto, analise as assertivas a seguir: I. O estado de um objeto nada mais é que o conjunto de valores de todos os seus atributos em um dado momento. II. Uma mensagem enviada a um objeto pode alterar o seu estado. III. Um objeto obrigatoriamente tem seu estado alterado durante seu ciclo de vida. Com base em sua avaliação, assinale a alternativa correta: Estão corretas as assertivas I e III. Estão corretas as assertivas II e III. Estão corretas as assertivas I, II e III. Estão corretas as assertivas I e II. Somente a assertiva I está correta. Indique a afirmativa que não diz respeito ao conceito de generalização/especialização? Tudo que a classe geral pode fazer, as específicas também podem. Permite atribuir propriedades particulares a um subconjunto das ocorrências de uma entidade genérica ou entidade pai. Relacionamentos entre um elemento mais geral e um ou mais elementos específicos. Atributos e métodos definidos na classe-mãe são herdados pela classe-filha. Não está associado ao conceito de herança Assinale a afirmativa verdadeira sobre padrões de projeto: Um padrão de projeto descreve uma solução que, embora não tenha sido utilizada anteriormente, parece ser adequada para o problema. Um padrão de projeto define uma forma padronizada de programação que os desenvolvedores devem seguir no desenvolvimento das aplicações. Um padrão de projeto descreve um problema recorrente em projetos de software e define a estrutura fundamental da solução em termos de módulos e interações entre eles. Um padrão de projeto define uma forma padronizada de elaborar modelos UML de projetos de software. Um padrão de projeto deve incluir o código fonte necessário para poder ser utilizado em um sistema. Fonte: FAURGS - 2018 - UFCSPA - RS - Analista de Tecnologia da Informação - Sistema de Informação Sobre Casos de Uso e Diagramas de Casos de Uso da UML 2.5, considere as seguintes afirmações. I - Casos de Uso e Diagrama de Casos de Uso UML ajudam a determinar a funcionalidade e as características do software sob o ponto de vista do usuário. II - Alguns Casos de Uso podem estar relacionados com outros. Por exemplo, há passos similares para gravar uma lista de músicas em um CD e carregar uma lista de músicas em um celular. Em ambos os casos, o usuário primeiro cria uma lista vazia e, em seguida, acrescenta as músicas de suas pastas na lista. Para evitar duplicação, normalmente é melhor criar um novo Caso de Uso representando a atividade duplicada e depois deixar que os outros casos INCLUAM esse novo Caso de Uso como um de seus passos. A inclusão é indicada nos Diagramas de Casos deUso por meio de uma seta tracejada identificada com "include" conectando um Caso de Uso a outro. III - No Diagrama de Casos de Uso, a figura do usuário representa um ator. Sistemas complexos tipicamente possuem mais de um ator. Os atores são conectados por linhas aos Casos de Uso que eles executam. Quais estão corretas? Apenas I. Apenas I e II. Apenas I e III. Apenas II e III. I, II e III. Em uma classe que implementa parte da lógica de negócio de um sistema, instanciamos um objeto de uma classe que implementa a recuperação de dados armazenados em um banco de dados relacional. Qual princípio SOLID está sendo violado nessa implementação? Princípio da Responsabilidade Única Princípio Open Closed Princípio da Segregação de Interfaces Princípio da Inversão de Dependências Princípio de Substituição de Liskov
Compartilhar