Prévia do material em texto
11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 1/13 AO2 Iniciado: 11 dez em 16:03 Instruções do teste Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0,6 ptsPergunta 1 Os benefícios podem ser: 1 - Melhoria no atendimento dos requisitos; 2 – Diminuição nos prazos de projetos; 3 – Facilidade de acomodar mudanças ao longo do projeto. Leia o texto a seguir: As metodologias para gestão do desenvolvimento de software (http://computerworld.uol.com.br/tecnologia/2008/07/02/polos-de-desenvolvimento- no-sudeste-ganham-vida-propria) servem para não tornar a tarefa, complexa por natureza, um verdadeiro caos. O problema é que, dependendo do projeto, os métodos tradicionais podem deixar os desenvolvedores amarrados a requisitos desatualizados, que não correspondem às reais necessidades do cliente. Em mercados altamente competitivos, ou em momentos de crise econômica, a flexibilidade e a facilidade de mudar o rumo são qualidades muito valiosas para serem deixadas de lado. Existem outros tipos de metodologias, denominadas ágeis (do inglês agile), que, ao contrário, oferecem ao desenvolvedor total flexibilidade e aproximam a equipe de tecnologia da informação do usuário final do software, seja ele um cliente interno ou externo. Com esse tipo de metodologia, a homologação dos projetos é feita em etapas, o que resulta em tempos de entrega mais curtos, geralmente de três a seis semanas, e a capacidade de promover alterações rapidamente. Fonte:Disponível em:< https://computerworld.com.br/acervo/metodologias- de-desenvolvimento-qual-a-mais-adequada/ (https://computerworld.com.br/acervo/metodologias-de-desenvolvimento-qual-a- mais-adequada/) > Acesso em: 08/04/2021. Quais os três benefícios da adoção de metodologias no desenvolvimento de software? A+ A A- http://computerworld.uol.com.br/tecnologia/2008/07/02/polos-de-desenvolvimento-no-sudeste-ganham-vida-propria https://computerworld.com.br/acervo/metodologias-de-desenvolvimento-qual-a-mais-adequada/ 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 2/13 Os benefícios podem ser: 1 - Melhoria no atendimento dos requisitos; 2 – Utilização de processos e padrões; 3 – Diminuição de erros ao longo do desenvolvimento. Os benefícios podem ser: 1 - Melhoria no atendimento dos requisitos; 2 – Utilização de processos e padrões; 3 – Trazer o cliente para dentro da equipe. Os benefícios podem ser: 1 - Melhoria no atendimento dos requisitos; 2 – Diminuição nos prazos de projetos; 3 – Diminuição de erros ao longo do desenvolvimento. Os benefícios podem ser: 1 – Diminuição nos custos dos projetos; 2 – Diminuição nos prazos de projetos; 3 – Diminuição de erros ao longo do desenvolvimento. 0,6 ptsPergunta 2 Leia o texto a seguir: Qualidade de Produto No contexto de produtos de software, o termo qualidade se refere a atributos positivos, desejáveis, de sistemas de software. Naturalmente, a noção de qualidade é subjetiva, de modo que indivíduos diferentes podem ter percepções de qualidade distintas sobre um mesmo produto. Tal subjetividade não impede que, ao longo do tempo, diversos indivíduos e organizações tenham buscado sistematizar o conceito de qualidade de software, dando origem a modelos de qualidade. Modelos de qualidade de software definem um conjunto de características a serem consideradas para se avaliar a qualidade de um software [ISO/IEC 2001]. Exemplos de modelos de qualidade incluem o modelo de Boehm [Boehm et al. 1976], o modelo de Cavano e McCall [Cavano and McCall 1978], o modelo FURPS+ [Grady 1992] e a ISO/IEC 9126 [ISO/IEC 2001]. No modelo de Cavano e McCall, as características de qualidade são agrupadas em três dimensões: revisão do produto: manutenibilidade, flexibilidade e testabilidade; transição do produto: portabilidade, reusabilidade e interoperabilidade; operação do produto: corretude, confiabilidade, eficiência, integridade e usabilidade. Ainda que antigo, o modelo de Cavano e McCall propõe uma classificação ainda hoje relevante — basta observar que o padrão ISO 9126 usa o modelo como uma das fontes de inspiração. Além disso, cada dimensão se refere a atributos de qualidade que são especialmente relevantes para um stakeholder: a dimensão de A+ A A- 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 3/13 A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições falsas. revisão é relevante para desenvolvedores; transição, para administradores de sistemas; operação, para o usuário. SOUZA E GOMES, R. R.; CHEVEZ, C. F.G.; BITTENCOURT, R. A. Reabertura de Defeitos Corrigidos: Impactos e Prevenção Observe as asserções abaixo: I. O modelo Cano e Mcall é antigo, mas prático, atual e relevante, ainda serve como modelo para normas como a ISO 9126. PORQUE II. Propõe uma classificação relevante para os dias de hoje e dimensões que se referem a atributos de qualidade que são relevantes para os stakeholders. Escolha a alternativa correta: 0,6 ptsPergunta 3 Leia o texto a seguir: A adoção do modelo CMMI estagiado implica que a organização deve atingir cada nível de maturidade na seqüência em que o modelo apresenta, iniciando a primeira meta pelo nível 2 de maturidade. Para tanto, a organização deve demonstrar o atendimento às exigências das seguintes áreas de processos: Planejamento de projetos - estabelecer e manter planos com as atividades e os produtos de trabalho do desenvolvimento e manutenção de todos os projetos, A+ A A- 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 4/13 Desenvolvedores Operações Projetos Equipes Usuários cada qual segundo seu escopo, elaborar os orçamentos e cronogramas. Prevê também a formalização do compromisso, através das revisões periódicas e com a disponibilização dos recursos; Monitoramento e controle de projetos - fornecer o entendimento do progresso do projeto e identificar os desvios, os riscos, os dados de controle e as ações corretivas; Medições e análises - Desenvolver e manter as medições necessárias para prover informações de gerenciamento adequadas à organização; Gerenciamento de requisitos - identificar os requisitos funcionais e não funcionais do produto e as correspondentes mudanças; Gerenciamento de configuração - identificar os itens de configuração dos produtos finais e de seus componentes (baselines), sua integridade e mudanças; Gerenciamento da qualidade do produto e do processo - prover a visibilidade objetiva e a comunicação adequada do andamento e da qualidade do processo e dos produtos de trabalho e final; Gerenciamento dos acordos de fornecimento - gerenciar a aquisição de produtos, a seleção dos fornecedores e cumprir mutuamente as responsabilidades e manter os registros do aceite e de transferência. (Fonte: Disponível em: http://www.scielo.br/scielo.php? script=sci_arttext&pid=S0103-65132008000200006 (http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0103-65132008000200006) . Acesso em: 05 de mar. de 2020) O CMMI é um modelo de maturidade de software que de acordo com o texto baseia o segundo nível em: 0,6 ptsPergunta 4 Leia o texto e analise as planilhas a seguir: A+ A A- http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0103-65132008000200006 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 5/13 Criar cargos Criar custos Criar horas Criar vagas Mas quanto tempo eu preciso para fazer uma Gestão Total da Qualidade eficaz? Para responder à pergunta, vamos mostrarprimeiro um exemplo de cálculo custo/hora mostrando os gastos com os processos dentro de uma empresa que não utiliza softwares para automatização da Gestão Total da Qualidade. Confira: (Fonte: Disponível em: http://www.8idea.com.br/blog/automatize-a-gestao- total-da-qualidade-software-8quali/ (http://www.8idea.com.br/blog/automatize- a-gestao-total-da-qualidade-software-8quali/) . Acesso em: 05 de mar. de 2020 Analisando as planilhas acima, o que é preciso para conseguir implantar qualidade total? A+ A A- http://www.8idea.com.br/blog/automatize-a-gestao-total-da-qualidade-software-8quali/ 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 6/13 Criar indicadores 0,6 ptsPergunta 5 são os itens que melhorariam a performance do software permitindo tempos de respostas mais adequados às necessidades indicadas pelos usuários. são os itens que melhorariam o software; por exemplo, a usabilidade, interface amigável etc. são os itens que melhorariam a disponibilidade do software garantindo o mínimo possível de interrupções no funcionamento do software. Leia o texto a seguir: Requisitos de Software Antigamente dizia-se que requisitos eram sinônimos de funções, ou seja, tudo que o software deveria fazer funcionalmente. No entanto, atualmente assumiu-se que requisitos de software é muito mais do que apenas funções. Requisitos são, além de funções, objetivos, propriedades, restrições que o sistema deve possuir para satisfazer contratos, padrões ou especificações de acordo com o(s) usuário(s). De forma mais geral um requisito é uma condição necessária para satisfazer um objetivo. Portanto, um requisito é um aspecto que o sistema proposto deve fazer ou uma restrição no desenvolvimento do sistema. Vale ressaltar que em ambos os casos devemos sempre contribuir para resolver os problemas do cliente e não o que o programador ou um arquiteto deseja. Dessa forma, o conjunto dos requisitos como um todo representa um acordo negociado entre todas as partes interessadas no sistema. Isso também não significa que o programador, arquiteto ou um analista bem entendido no assunto de tecnologia não possam contribuir com sugestões e propostas que levem em conta o desejo do cliente. Fonte: Disponível em:<https://www.devmedia.com.br/introducao-a-requisitos- de-software/29580 (https://www.devmedia.com.br/introducao-a-requisitos-de- software/29580) > Acesso em: 08/04/2021. Os requisitos de software são divididos em requisitos funcionais e não funcionais. Os requisitos funcionais são os requisitos que definem as funções que o cliente precisa e quer dentro do software encomendado. Já os requisitos não funcionais A+ A A- https://www.devmedia.com.br/introducao-a-requisitos-de-software/29580 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 7/13 são os itens que melhorariam a usabilidade do software permitindo uma experiência melhor para os usuários. são os itens que melhorariam a segurança do software, minimizando possíveis vulnerabilidades. 0,6 ptsPergunta 6 Leia o texto abaixo: Não existe bala de prata Como começamos a afirmar no parágrafo anterior, desenvolvimento de software é diferente de qualquer outro produto de Engenharia, principalmente quando se compara software com hardware. Frederick Brooks, Prêmio Turing em Computação (1999) e um dos pioneiros da área de Engenharia de Software, foi um dos primeiros a chamar a atenção para esse fato. Em 1987, em um ensaio intitulado "Não Existe Bala de Prata: Essência e Acidentes em Engenharia de Software" (link), ele discorreu sobre as particularidades da área de Engenharia de Software. Segundo Brooks, existem dois tipos de dificuldades em desenvolvimento de software: dificuldades essenciais e dificuldades acidentais. As essenciais são da natureza da área e dificilmente serão superadas por qualquer nova tecnologia ou método que se invente. Daí a menção à bala de prata no título do ensaio. Diz a lenda que uma bala de prata é a única maneira de matar um lobisomem, desde que usada em uma noite de lua cheia. Ou seja, por causa das dificuldades essenciais, não podemos esperar soluções milagrosas em Engenharia de Software, na forma de balas de prata. O interessante é que, mesmo conhecendo o ensaio de Brooks, sempre surgem novas tecnologias que são vendidas como se fossem balas de prata. Segundo Brooks, as dificuldades essenciais são as seguintes: Complexidade: dentre as construções que o homem se propõe a realizar, software é uma das mais desafiadoras e mais complexas que existe. Na verdade, como dissemos antes, mesmo construções de engenharia tradicional, como um satélite, uma usina nuclear ou um foguete, são cada vez mais dependentes de software. Conformidade: pela sua natureza software tem que se adaptar ao seu ambiente, que muda a todo momento no mundo moderno. Por exemplo, se as leis para recolhimento de impostos mudam, normalmente espera-se que os sistemas sejam rapidamente adaptados à nova legislação. Brooks comenta A+ A A- 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 8/13 I e II III e IV II e III II e IV I e IV que isso não ocorre, por exemplo, na Física, pois as leis da natureza não mudam de acordo com os caprichos dos homens. Facilidade de mudanças (changeability): que consiste na necessidade de evoluir sempre, incorporando novas funcionalidades. Na verdade, quanto mais bem sucedido for um sistema de software, mais demanda por mudanças ele recebe. Invisibilidade: devido à sua natureza abstrata, é difícil visualizar o tamanho e consequentemente estimar o desafio de construir um sistema de software. (Fonte: Disponível em: https://engsoftmoderna.info/cap1.html (https://engsoftmoderna.info/cap1.html) . Acesso em: 12 mar. 2020) Considerando as informações apresentadas, avalie as afirmações abaixo: I. De acordo com Brooks existem dois tipos de dificuldades em desenvolvimento de software: são as dificuldades essenciais e dificuldades acidentais. II. Complexidade, Conformidade, facilidade de mudanças, invisibilidade são fatores sobre dificuldades essenciais segundo Brooks. III. É possível obter soluções milagrosas no que se refere a desenvolvimento de software. IV. Conformidade é o fato que o ambiente tem que adaptar ao software, toda estrutura tem que ser alterada para atender o software. É correto o que se afirma apenas em: 0,6 ptsPergunta 7 Leia o texto a seguir: Você acaba de entrar em uma nova equipe na área de TI da empresa onde trabalha, trata-se da equipe de testes de sistemas financeiros. Seu novo coordenador, Marcos te chama para te apresentar seu primeiro trabalho. A+ A A- https://engsoftmoderna.info/cap1.html 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 9/13 Você terá de realizar os testes unitários, de integração de software, de sistemas de software, e de aceite, pois o pacote de software só é completamente testado quando da implantação do mesmo, na empresa compradora do pacote. Você realizará os testes unitários e de aceite, pois é preciso testar cada programa que compõe o pacote de software e obter o aceite do usuário de negócio sobre o alinhamento do resultado em relação aos requisitos. Você realizará os testes de integração, de sistemas, e de aceite, pois como trata-se de pacote de software, os testes unitários precisam ter sido feitos antes do lançamento do pacote no mercado. Você realizará os testes unitários e de sistemas, pois esses testes precisam ser realizados somente pela empresa que compra o pacote de software. Você realizará os testes de integração e de aceite, pois os testes de integração e aceite precisam ser feitos somente pela empresa que compra o pacote. Você irá trabalhar no projeto de integração do software XPTO, que faz todo o tratamento de notas fiscais, desde a emissão delas, até o pagamento dos impostos devidos sobre as vendas. O XPTO é um pacote de software pronto que está sendo integradoao ambiente já existente da empresa, você irá realizar os testes do módulo inteiro de emissão de notas fiscais. Para realizar este trabalho, você considerará os principais tipos de testes: Testes Unitários, testes de integração de software, sendo que este último é muito semelhante aos testes de sistemas de software, e finalmente, testes de aceite de software que são realizados pelos usuários que definem os requisitos de software. Considerando as informações apresentadas, selecione a opção correta. 0,6 ptsPergunta 8 Leia o texto a seguir : Gerenciamento de Qualidade no RUP O gerenciamento de qualidade é feito para estas finalidades: Identificar indicadores adequados (métricas) com qualidade aceitável Identificar medidas adequadas a serem usadas na avaliação da qualidade A+ A A- 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 10/13 As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. 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 é uma justificativa da I. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Identificar e abordar adequadamente questões que afetam a qualidade o mais cedo e eficaz possível O gerenciamento da qualidade é implementado em todas as disciplinas, fluxos de trabalho, fases e iterações do RUP. Em geral, o gerenciamento da qualidade durante o ciclo de vida significa que você implementa, mede e avalia tanto a qualidade do processo como a do produto. Alguns dos esforços gastos para gerenciar a qualidade em cada disciplina estão realçados na lista a seguir: O gerenciamento da qualidade na disciplina de Requisitos inclui a análise do conjunto de artefatos de requisitos em busca da consistência (entre padrões de artefatos e outros artefatos), clareza (comunica as informações claramente a todos os acionistas, envolvidos e outras funções) e precisão (o nível apropriado de detalhe e precisão). (Fonte: Disponível em: http://mds.cultura.gov.br/core.base_rup/guidances/supportingmaterials/conti (http://mds.cultura.gov.br/core.base_rup/guidances/supportingmaterials/continuously . Acesso em: 05 de mar. de 2020) Considerando o texto acima, avalie as asserções a seguir: I. O gerenciamento de qualidade do RUP, pode ser implantado em todas disciplinas, fluxos de trabalho, fases e iterações do RUP. Porque II. O gerenciamento de qualidade cuida de ciclos de vida e isso quer dizer que você implementa, mede e avalia tanto a qualidade do processo como a do produto. A respeito das asserções acima assinale a alternativa correta: 0,6 ptsPergunta 9 A+ A A- http://mds.cultura.gov.br/core.base_rup/guidances/supportingmaterials/continuously_verify_quality_86A48171.html 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 11/13 Vamos ler o texto: Em março o Stack Overflow publicou a Pesquisa para Desenvolvedores de 2018 e, pela primeira vez, incluiu perguntas sobre ética. A boa notícia é que para pergunta "os desenvolvedores têm obrigação de considerar as implicações éticas de seu código?" quase 80% responderam "sim". No entanto, apenas 20% se sentiram responsáveis por seu código antiético. 40% escreveriam código antiético se solicitado (a maioria disse que "depende" - o que eu leio como 'sim' - "mas eu me sentiria mal"), e apenas 50% denunciariam código antiético se o vissem. Se o código tivesse pouco impacto no mundo, talvez isso não fosse um problema. Se eu escrever um algoritmo que prejudique 100 pessoas, isso é ruim, mas o efeito é limitado. No entanto, se eu fizer a mesma coisa no Facebook ou no Google com bilhões de usuários, o resultado será muito mais grave. O aumento na escala pode ser ruim e bom. A maioria de nós não trabalha para empresas de hiper escala, mas o objetivo geralmente é crescer, e cultura é algo difícil de mudar. Tomar atalhos ou usar práticas duvidosas no começo podem parecer algo justificado ou pragmático (como a decisão de Uber de testar um carro autônomo sem licença), mas é notoriamente difícil escalar de volta dessa escorregada ética mais tarde. (Fonte: Disponível em: https://www.infoq.com/br/articles/developers-tech- ethics/ (https://www.infoq.com/br/articles/developers-tech-ethics/) . Acesso em: 04 de mar. de 2020) De acordo com o texto acima, avalie as asserções abaixo e a relação proposta entre elas: I. Usar ética na criação de códigos é certo e aprovado por desenvolvedores. Porque II. Em casos de empresas grandes como Google e Facebook, prejudicariam governos e milhões de usuários. A respeito das asserções acima, assinale a alternativa correta: A+ A A- https://www.infoq.com/br/articles/developers-tech-ethics/ 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 12/13 A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 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 é uma justificativa da I. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. 0,6 ptsPergunta 10 Leia o texto a seguir: De quem é a culpa da má qualidade dos softwares? Acho que todos já ouvimos falar sobre modelos de maturidade como CMMI ou MPS.BR e processos como o RUP, Scrum ou XP. Quase sempre isso vem acompanhado de comentários críticos e pessimistas de como a nossa empresa está longe de ser madura e prover produtos de qualidade. Por outro lado, mesmo empresas que investem em maturidade do processo muitas vezes esquecem que ele não é uma bala de prata. Não existe processo ótimo sem ótimas pessoas. É um mito industrial a possibilidade de criar um processo perfeito que seja independentemente do nível e da maturidade dos indivíduos envolvidos. Isso pode ser bem observado na literatura sobre processos. Processos “pesados” ou rígidos são recomendados quando há equipes imaturas, sem experiência e disciplina adequadas. Já com equipes experientes, maduras e disciplinadas quase não existe necessidade de processo. Por isso é que os processos ágeis, por exemplo, somente são recomendados quando há pessoas muito competentes envolvidas no projeto. Como disse meu orientador: “coloque uma equipe de juniors num processo ágil, eles vão começar a estimar usando planning poker e provavelmente vão continuar jogando poker até o final do projeto”. O mesmo é aplicável a empresas que disponibilizam salas de entretenimento, por exemplo. Muita gente gostaria de trabalhar no Google e ter uma sala com videogame, mas o que geralmente não se pensa é que quaisquer vagas nesse tipo de empresa são preenchidas por pessoas maduras e focadas, que possuem muito compromisso e dedicação. (Fonte: Disponível em: http://luizricardo.org/2012/10/psp-personal-software- process/ (http://luizricardo.org/2012/10/psp-personal-software-process/) . A+ A A- http://luizricardo.org/2012/10/psp-personal-software-process/ 11/12/2022 16:30 Teste: AO2 https://famonline.instructure.com/courses/24295/quizzes/110307/take 13/13 Salvo em 16:30 IV e I I e III III e IV II e III I e II Acesso em: 05 de mar. de 2020) Depois de ler o texto acima-, considere as afirmações abaixo: I. Investir em processos de maturidade não necessariamente vai excluir todos os problemas da empresa II. Os processos não podem ser melhorados sem as pessoas III. Processos “pesados” ou rígidos são recomendados quando há equipes maduras, com experiência e disciplina adequadas IV. A culpa pela falta de qualidade e organização em uma empresa é mantido na diretoria É correto o que se afirma apenas em: Enviar teste A+ A A-