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! 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: Repetitividade; independência; autoavaliação; rapidez; pontualidade. Rapidez; autoavaliação; repetitividade; pontualidade; independência. Rapidez; autoavaliação; repetitividade; dependência; pontualidade. Independência; autoavaliação; repetitividade; pontualidade; rapidez. Rapidez; independência; repetitividade; autoavaliação; pontualidade. CORRETO Código da questão: 65400 O novo projeto de desenvolvimento de um sistema de compras pela internet está na fase de avaliação dos resultados, para tanto, você é o encarregado de planejar a aprovação o produto que está na fase de transição. Sobre a contribuição crítica de Paulo Freire em relação ao currículo, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) Na técnica de usabilidade Escala de Likert, são respondidas 10 perguntas, as quais podem ser feitas aleatoriamente, isto é, o aplicador será o responsável por numerar quais são as questões mais importantes a serem realizadas. ( ) A usabilidade em sistemas computacionais tem como responsabilidade tornar o código mais útil e fácil de utilizar, para que o usuário atinja seus objetivos o mais fácil e rápido possível. ( ) O modelo F trata-se de uma técnica capaz de medir como o usuário realiza uma leitura quando abre uma página Web, começando pela parte superior da página, em formato horizontal; depois, logo abaixo, uma leitura também em formato horizontal; por final, uma leitura realizada pela margem esquerda. ( ) O modelo F trata-se de uma técnica capaz de medir como o usuário realiza uma leitura quando abre uma página Web, começando pela parte central e, posteriormente, pela borda esquerda. ( ) A técnica de usabilidade Escala de Likert é utilizada para medir o grau de satisfação do usuário, ou seja, como ele conduz a utilização de um sistema. Assinale a alternativa que contenha a sequência correta. Alternativas: V – F – F – V – F. F – V – V – V – V. F – V – V – F – V. CORRETO V – F – F – F – F. F – V – F – V – F. 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. Resolução comentada: 3) 4) Código da questão: 65408 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: Entidades. Interface externa. Controladores. Caso de uso. CORRETO Interface interna. Código da questão: 65413 Sistemas computacionais, nos dias de hoje, devem ser pautados de confiabilidade, qualidade e com mínimos erros possíveis, mas apenas somente essas características não são capazes de medir a eficácia do software, pois ele deve ser dotado de uma boa usabilidade, que traz conforto e facilidade na sua utilização pelo usuário. Assinale a alternativa que demonstra as três premissas para que o sistema computacional tenha atingido a usabilidade desejada de acordo com a ISO 9241-11. Alternativas: Conforto, código-fonte livre de erros e análise de requisitos. Satisfação, eficácia e emoção. Emoção, eficácia e eficiência. Motivação, facilidade de uso e eficiência. Eficácia, satisfação e eficiência. CORRETO Código da questão: 65406 A segunda, a terceira e a quinta afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Primeira afirmativa: a Escala de Likert é utilizada para medir o grau de satisfação do usuário, o qual responde a um questionário contendo 10 perguntas, que não podem sofrer alterações em sua ordem cronológica. Quarta afirmativa: o modelo F trata-se de uma técnica capaz de medir como o usuário realiza uma leitura quando abre uma página Web, começando pela parte superior da página, em formato horizontal; depois, logo abaixo, uma leitura também em formato horizontal; por final, uma leitura realizada pela margem esquerda 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: A eficácia, a satisfação e a eficiência são objetivos específicos da usabilidade. A eficácia e a eficiência podem ser medidas utilizando testes de usabilidade em tarefas ou atividades. A primeira identifica se a tarefa cumpre o que foi prometido, enquanto a segunda diz respeito à identificação do ponto de vista do usuário, ou seja, se ele é capaz de cumprir uma tarefa de acordo com o tempo delimitado. Por fim, a satisfação é responsável por medir o grau de satisfação do usuário ao realizar uma atividade, seja em um produto ou sistema computacional. 5) 6) 7) 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: Deve ser criada a partir de verbos e, sempre que possível, não possuir variáveis próximo ao seu nome. Seu nome deve ser criado a partir de um substantivo composto e objetivo. 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 único, simples e objetivo, com forte representatividade. CORRETO Seu nome pode ser tanto um substantivo quanto um verbo, dependendo da escolha do programador. Código da questão: 65404 Sobre o princípio SOLID, deve ser aplicado para obter melhores benefícios na programação orientada a objetos. Sobre isso, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) O princípio SOLID tem como responsabilidade criar códigos mais fáceis de entender, sendo mais adaptáveis a ajustes e mudanças e amplamente aplicados em programação orientada a objetos. ( ) No princípio da substituição de Liskov, a classe base pode ser substituída por classes derivadas a qualquer momento. ( ) No princípio da responsabilidade única, uma classe deve possuir apenas uma responsabilidade.( ) No princípio da segregação da interface, as classes com características comuns podem se unir, a fim de formar classes mais organizadas e entendíveis. ( ) No princípio da inversão da dependência, módulos de alto nível não devem depender de níveis mais baixos. Assinale a alternativa que contenha a sequência correta. Alternativas: F – V – F – V – F. F – V – V – V – V. V – F – F – F – F. V – F – V – F – V. CORRETO V – F – V – F – F. Código da questão: 65415 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. 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 primeira, a terceira e a quinta afirmativas são verdadeiras Veja a forma correta das afirmativas falsas: Segunda afirmativa: em Liskov Substitution Principle (princípio da substituição de Liskov), uma classe derivada pode ser substituída por sua classe base, sem que isso afete a execução correta do programa. Quarta afirmativa: O Interface Segregation Principle (princípio da segregação da interface) afirma que classes muito grandes devem ser divididas em classes de tamanho menor e mais específicas, evitando a implementação de interfaces e métodos que não serão utilizados. 8) 9) Alternativas: Análise, desenvolvimento e treinamento. Escopo, tempo e custos. CORRETO Requisitos, tempo e custos. Escopo, planejamento e custos. Levantamento de requisitos, codificação e entrega. Código da questão: 65392 Técnicas de testes de usabilidade e experiência dos usuários são importantes em empresas de desenvolvimento, pois são capazes de auxiliar os desenvolvedores em diversos parâmetros que auxiliam na criação de sistemas com facilidade de uso, sempre objetivando uma maior qualidade. Sobre técnicas de usabilidade e de experiência do usuário, analise as afirmativas a seguir: I. A medidas de eficácia em testes de usabilidade podem ser por critérios de escala de satisfação e frequência de uso. II. As medidas de eficiência em testes de usabilidade podem ser por critérios de tempo para completar uma tarefa, ou tarefas completadas por unidade de tempo. III. São técnicas de usabilidade: entrevistas, questionários, grupo de foco, Card Sorting, eye tracking e técnicas de levantamento de requisitos. IV. A experiência do usuário está fortemente ligada à emoção, à motivação e à utilidade por parte do usuário. V. As medidas de satisfação em testes de usabilidade podem ser por critérios de escala de satisfação e frequência de uso e reclamações. Assinale a alternativa que apresenta corretamente quais afirmativas são corretas. Alternativas: I, III e IV, apenas. II, IV e V, apenas. CORRETO I e IV, apenas. I, II e V, apenas. I, II e III, apenas. Código da questão: 65410 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. 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: I. Medidas de eficiência em testes de usabilidade podem ser por critérios para medir o tempo para completar uma tarefa; tarefas completadas por unidade de tempo; custo monetário de realização da tarefa. III. Todas as técnicas mencionadas são para medir usabilidade, exceto técnicas de levantamento de requisitos. 10) ( ) 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 – F – F – V – F. V – V – F – F – V. V – F – F – V – V. CORRETO V – V – F – V – V. Código da questão: 65401 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. I e V, apenas. II, III e IV, apenas. Código da questão: 65396 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. 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. Arquivos e Links
Compartilhar