Baixe o app para aproveitar ainda mais
Prévia do material em texto
Qualidade de software com Clean Code e técnicas de usabilidade Professor(a): Stella Marys Dornelas Lamounier (Mestrado acadêmico) 1) 2) Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova! Identificar requisitos é uma das principais atividades durante o ciclo de desenvolvimento de um sistema computacional. Em relação aos requisitos funcionais, analise as afirmativas a seguir: I. Requisitos funcionais são declarações de serviços que o sistema deve fornecer. II. Requisitos funcionais são responsáveis por aspectos de segurança, compatibilidade e confiabilidade. III. Requisitos funcionais podem descrever soluções em termos de tarefas ou serviços para o usuário, e não com atividades de implementação. IV. Uma das principais características dos requisitos funcionais é a especificação da portabilidade de software. V. Requisitos funcionais podem estabelecer explicitamente o que o sistema não deve fazer. Assinale a alternativa que apresenta corretamente quais afirmativas são corretas. Alternativas: I, III e V, apenas. CORRETO III, IV e V, apenas. I, II e III, apenas. II, III e IV, apenas. I e V, apenas. Código da questão: 65396 Metodologias ágeis têm sido amplamente utilizadas nas empresas de desenvolvimento de software para criar sistemas com bastante cooperação entre os membros, focadas em desenvolvimentos simples, curtos e, principalmente, dotados de flexibilidade para alterar o projeto a ser criado. Você já imaginou como seria produtivo e eficaz um ambiente de desenvolvimento de software com essas características? Analisando o contexto sobre metodologias ágeis, a estória de usuários se equivale ao quê? Assinale a alternativa correta. Alternativas: A uma lista detalhada de itens e requisitos que o sistema deve conter. A uma história contada pelo analista para o desenvolvedor. São especificações simples e informais que relatam as necessidades do cliente. CORRETO A uma documentação de software. A um projeto de codificação do sistema. Código da questão: 65397 Resolução comentada: As afirmativas II e IV estão incorretas, pois tratam de especificações relacionadas a requisitos não funcionais, isto é, a qualidades ou restrições do sistema. Resolução comentada: A estória tem um papel importantíssimo para as empresas que utilizam as metodologias ágeis de desenvolvimento, pois elas são capazes de identificar as funcionalidades, o valor agregado e as necessidades do cliente. É um método informal e simples de captar a perspectiva do usuário final de formal geral, sem se prender a detalhes. 3) 4) 5) Para o novo membro da equipe de desenvolvimento da empresa HOKAIDO, o código-fonte deve oferecer qualidade ao seu leitor e possuir algumas premissas básicas. Com relação ao conceito de código limpo e suas práticas, assinale a alternativa que representa a criação de uma classe limpa e de fácil entendimento. Alternativas: Seu nome deve ser criado a partir de um substantivo único, simples e objetivo, com forte representatividade. CORRETO Seu nome pode ser tanto um substantivo quanto um verbo, dependendo da escolha do programador. Deve ser criada a partir de verbos e, sempre que possível, não possuir variáveis próximo ao seu nome. Deve ser criada a partir de verbos e, sempre que possível, possuir variáveis próximo ao seu nome. Seu nome deve ser criado a partir de um substantivo composto e objetivo. Código da questão: 65404 Testes de software também devem possuir aparência limpa e organizada para que o profissional, ao executá-los, tenha clareza de suas funcionalidades. Uma das técnicas utilizadas para manter estes requisitos é a F.I.R.S.T., na qual __________ representa que os testes devem ser executados rapidamente, contendo __________, para que um teste jamais necessite de outro para a sua execução, podendo ter __________ quantas vezes necessário e, por fim, possuindo __________ e __________. Assinale a alternativa que completa adequadamente as lacunas. Alternativas: Rapidez; autoavaliação; repetitividade; pontualidade; independência. Rapidez; autoavaliação; repetitividade; dependência; pontualidade. Rapidez; independência; repetitividade; autoavaliação; pontualidade. CORRETO Independência; autoavaliação; repetitividade; pontualidade; rapidez. Repetitividade; independência; autoavaliação; rapidez; pontualidade. Código da questão: 65400 Padrões de qualidade vêm sendo estudados ao longo do tempo em diferentes lugares do mundo, inclusive pela equipe de desenvolvimento de software do gerente TABATA. Existem três áreas essenciais que formam a chamada “Restrição Tripla”, que devem ser levadas em consideração quando se deseja atingir a qualidade em softwares. Quais são essas áreas? Assinale a alternativa correta. Alternativas: Requisitos, tempo e custos. Escopo, planejamento e custos. Resolução comentada: As classes devem sempre ser criadas a partir de substantivos; não serem derivadas de prefixo; nunca possuírem espaços ou caracteres especiais; nomearem bem uma classe, o que é garantia de um código limpo e bem entendível. Resolução comentada: A técnica F.I.R.S.T. é composta por cinco premissas: Fast (rapidez): os testes devem ser executados com a maior agilidade possível; Independência (Independent): jamais um teste deve depender do outro, pois, se o primeiro falar, o outro também falhará posteriormente; Repetitividade (Repeatabel): deve ser repetível em qualquer ambiente ou quando achar necessário; possuir sua própria Autoavaliação (self-validating), seguindo uma lógica exata para sua saída desejada; por fim, Pontualidade (timely): testes jamais deverão ser responsáveis pelo atraso na entrega do projeto. 6) 7) Escopo, tempo e custos. CORRETO Análise, desenvolvimento e treinamento. Levantamento de requisitos, codificação e entrega. Código da questão: 65392 Criar sistemas computacionais com qualidade vai muito além de saber programar de forma correta. O experiente desenvolvedor Kanebo acredita que se deve saber utilizar instrumentos e técnicas que trazem clareza, objetividade e compreensão para dentro do código, que são cruciais para a utilização do Clean Code. Sobre a técnica de Código Limpo (Clean Code), analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) Para se caracterizar como Código Limpo, a escrita deve ser entendida por qualquer pessoa que, ao utilizá-lo, compreenda perfeitamente o que ele representa, ou seja, o próprio código deve demonstrar as suas funcionalidades. ( ) Utilizar comentários ao longo do código é uma excelente prática para deixá-lo bem entendível, uma vez que, quanto mais comentários forem inseridos, mais fácil será entender o que o sistema realiza. ( ) Códigos limpos foram criados junto às primeiras linguagens de programação. ( ) Nomes de classes em códigos limpos devem ser escritos utilizando sempre substantivos simples pequenos e de fácil entendimento sobre sua responsabilidade. ( ) Métodos em Código Limpo jamais devem possuir em seu nome caracteres especiais e devem ser escritos em forma de verbos. Assinale a alternativa que contenha a sequência correta. Alternativas: V – F – V – V – V. V – V – F – F – V. V – F – F – V – F. V – F – F – V – V. CORRETO V – V – F – V – V. Código da questão: 65401 Ter conhecimento sobre técnicas de testes e sua empregabilidade é de extrema importância para que a entrega do sistema tenha a qualidade tão desejada pelo cliente, de acordo com Maria Silva, gerente de qualidade. Essas técnicas têm passado por inúmeras transformações e adaptações ao longo do tempo. Assinale a alternativa que representa a técnica para a criação de testes de software muito antes da criação do código-fonte. Alternativas: MDB. LDD. BDD. Resolução comentada:Para que haja um equilíbrio na restrição tripla, é importante atender às necessidades dos clientes, as quais estão implícitas ou explicitas no ESCOPO, ser disponibilizado no tempo que foi programado (PRAZO) e, por fim, ter preços e custos compatíveis (CUSTO). Resolução comentada: A primeira, a quarta e a quinta afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Segunda afirmativa: comentários são importantes, mas deverão ser feitos de maneira bem sucinta. Utilizá-los apenas quando o próprio código não consegue expressar o que realmente faz. Terceira afirmativa: nas primeiras linguagens de programação, não havia sequer uma estrutura para a criação de sistemas computacionais, não se falava em ciclos de vida de software, quem programava era a própria pessoa que executava o sistema, deste modo, não havia preocupação em criar códigos bem entendíveis aos olhos do programador. 8) 9) TDA. TDD. CORRETO Código da questão: 65399 Além de técnicas de Clean Code que possibilitam a criação de códigos mais entendíveis e de fácil manutenção, outra técnica bastante utilizada nas empresas de desenvolvimento para que as classes sejam divididas em camadas é a Clean Architecture, a qual, em uma de suas camadas, possui como responsabilidade representar as regras de negócios puras e simples, o que se pode fazer com um aplicativo. Como essa camada é conhecida? Assinale a alternativa correta. Alternativas: Controladores. Caso de uso. CORRETO Interface externa. Entidades. Interface interna. Código da questão: 65413 O Design de Experiência do usuário trata métodos utilizados em empresas de desenvolvimento, em especial, na criação de projetos web para projetar produtos de software que, através de experiências, sentimentos, emoções e interações do ponto de vista do usuário, são capazes de aumentar a satisfação com a utilização do produto. Assinale a alternativa que apresenta características da técnica de Formato F, muito aplicada em UX. Alternativas: É realizada uma leitura por parte do usuário, primeiramente, na parte superior em movimento horizontal; logo abaixo, é realizada a leitura horizontal; por fim, o leitor tende a finalizar com uma leitura direcionada à margem esquerda. CORRETO Possui uma leitura extensa de toda a página web, para que seja entendido todo o contexto pelo usuário final. É uma técnica realizada pelos profissionais de programação, com a qual são capazes de diagnosticar pontos falhos de usabilidade. A técnica define que a leitura de um projeto é realizada a partir do cabeçalho e, posteriormente, passa para o lado direito da página. É verificada uma leitura sempre da parte inferior para a superior da página, deste modo, o leitor é capaz de entender o que o site lhe proporciona. Resolução comentada: A TDD é uma técnica moderna usada concomitante ao Clean Code em empresas que utilizam a metodologia ágil de desenvolvimento de software. Seus testes de unidade são criados antes mesmo do código-fonte, deste modo, fica mais fácil a percepção de erros em blocos menores de códigos. Resolução comentada: Esta camada contém regras de negócios específicas do aplicativo. Ele encapsula e implementa todos os casos de uso do sistema, os quais coordenam o fluxo de dados para as entidades, que os manipulam para usar suas regras de negócios em toda a empresa, a fim de atingir os objetivos do caso de uso. Resolução comentada: É uma leitura de hierarquia, em que o usuário começa buscando a aplicação de palavras- chave no topo. Quando ele encontra algo do seu interesse, começa uma leitura em formato horizontal e, posteriormente, pela borda esquerda. Raramente, um leitor realiza uma leitura completa da aplicação. 10) Código da questão: 65412 Clean Code aplica um novo estilo de desenvolvimento pautado em boas práticas, para que o código fique sempre muito bem entendível e de fácil manutenção, gerando, assim, muito menos retrabalho. Leia as afirmativas a seguir e associe as duas colunas conforme os requisitos desta boa prática de criação de código limpo: Assinale a alternativa que traz a associação correta entre as colunas. Alternativas: I – A; II – C; III – B. I – C; II – B; III – A. CORRETO I – C; II – A; III – B. I – B; II – C; III – A. I – B; II – A; III – C. Código da questão: 65416 Resolução comentada: Arquivos e Links
Compartilhar