Prévia do material em texto
20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 1/10 AO2 Entrega 19 de jun de 2022 em 23:59 Pontos 6 Perguntas 10 Disponível 9 de jun de 2022 em 0:00 - 19 de jun de 2022 em 23:59 Limite de tempo Nenhum Instruções Este teste não está mais disponível, pois o curso foi concluído. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 60 minutos 4,8 de 6 Pontuação deste teste: 4,8 de 6 Enviado 13 de jun de 2022 em 23:49 Esta tentativa levou 60 minutos. Pergunta 1 0 / 0,6 pts 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. Leia o texto a seguir: O desenvolvimento do sistema está completo quando ele pode ser considerado operacional, isto é, quando o sistema está sendo utilizado pelos usuários em um ambiente real de produção. Qualquer trabalho efetuado para modificar o sistema, depois que ele estiver em operação, é considerado como manutenção. Fonte: PFLEEGER, S. L. Engenharia de Software: Teoria e Prática. 2. ed. São Paulo: Prentice Hall, 2004. Considerando as motivações para sua aplicação e as características do processo de manutenção de software, avalie as afirmações que seguem: I. Por ser aplicada em um produto acabado, a manutenção não requer outro procedimento para sua efetivação além do ajuste do código. II. O processo de manutenção inclui a tomada de medidas preventivas para não seja necessária a aplicação de novas manutenções futuras. A+ A A- https://famonline.instructure.com/courses/20389/quizzes/89768/history?version=1 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 2/10 Resposta correta III, apenas. I e III, apenas. Você respondeu II e III, apenas. Alternativa incorreta. A afirmação I não é correta, já que o processo de manutenção prevê tratamento dos novos requisitos, elaboração de projeto, codificação e aplicações de testes no código alterado. Por isso, não se trata apenas de aplicar ajustes no código. A afirmação II é incorreta, pois menciona medidas preventivas para novas manutenções sejam evitadas. Na verdade, a manutenção faz parte do processo de evolução do sistema e não deve ser encarada como algo a ser evitado a todo custo. A prevenção aplicável é para que a manutenção acabe não alterando para baixo o desempenho de uma função, seja aquela que passou pela manutenção, seja outra que sofreu consequência colateral da manutenção. A afirmação III está correta, a modalidade perfectiva da manutenção visa aprimorar as funções já existentes, quando este for um procedimento viável. Essas ações incluem, por exemplo, o aumento de desempenho de uma função ou sua melhor adequação à real necessidade do usuário. I, II e III. II, apenas. Pergunta 2 0,6 / 0,6 pts III. Um dos objetivos a serem atingidos por meio da aplicação da manutenção é a melhoria nas funções já implementadas no sistema. É correto o que se afirma em: Leia a situação hipotética abaixo: Você trabalha no atendimento da área de TI e acaba de ser notificado sobre um problema no sistema mais importante da empresa. Já não é a primeira vez que esse sistema apresenta problemas, entretanto a última vez que isso aconteceu houve uma demora muito grande para que a manutenção fosse realizada e disponibilizada para o usuário. Com isso, o usuário cobrava pela correção do problema, e você solicitava tais ajustes aos desenvolvedores, mas, no final, você percebeu que usuário e desenvolvedores atribuíram a demora a você. Como Pfleeger (2004) afirma que a manutenibilidade é uma característica do sistema passível de ser medida pelo tempo médio gasto para a realização de reparos no sistema, você acredita ser possível demonstrar que a manutenibilidade deste sistema não está boa. Considerando a situação apresentada, assinale a opção correta. A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 3/10 O tempo perdido devido ao atraso de outros setores envolvidos na manutenção, o tempo exigido para que a equipe de manutenção analise o problema e o tempo necessário para que essas mudanças sejam, de fato, efetivadas, são informações irrelevantes para medir a manutenibilidade. O tempo exigido para que a equipe de manutenção analise o problema e o tempo necessário para que essas mudanças sejam, de fato, efetivadas, são as únicas informações necessárias para medir a manutenibilidade. Correto! Pode-se dizer que se você registrar o momento em que o problema é relatado pelo usuário e o tempo necessário para que essas mudanças sejam, de fato, efetivadas, você já tem algumas informações relevantes para medir a manutenibilidade de um sistema. A alternativa está correta, pois para que a medição da manutenibilidade seja possível, Pfleeger (2004) recomenda o registro das informações: o momento em que o problema é relatado pelo usuário; tempo perdido devido ao atraso de outros setores envolvidos na manutenção; tempo exigido para que a equipe de manutenção analise o problema; tempo necessário para especificar quais mudanças deverão ser feitas no sistema; tempo necessário para que as mudanças sejam, efetivadas; tempo necessário para documentar as mudanças feitas. Todas estas informações devem ser reunidas e compiladas para que possam ser úteis às tomadas de decisões relativas à manutenibilidade. Outro fator importante é a documentação das mudanças, fator fundamental para que a manutenibilidade do software ocorra de forma ideal. Quando há um problema em um software operacional (que está em produção), deve-se resolver o problema o quanto antes, pois uma vez realizada a manutenção e o problema solucionado, torna-se irrelevante documentar quais mudanças foram feitas. Quando há um problema em um software operacional (que está em produção) é importante registrar a ocorrência, sendo que, não se deve ter preocupação com o tempo que vai levar, a prioridade é o ajuste e a documentação do ajuste. Pergunta 3 0,6 / 0,6 pts Gerente do projeto. Testador. Correto! Desenvolvedor. Leia o texto a seguir: Em um passado não tão remoto, época em que os processos de software mais largamente utilizados eram baseados no modelo tradicional, sua função era específica e sua atuação se dava em apenas uma fase do projeto de criação do software. Com a chegada das metodologias ágeis, seu papel ganhou mais relevância e sua atuação se estende em várias etapas do processo, do tratamento dos requisitos até a entrega do produto. Assinale a alternativa que contém a função que condiz com a descrição feita no texto fornecido. A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 4/10 Alternativa correta. Em ambientes de desenvolvimento tradicional, o desenvolvedor (até então chamado Programador) era unicamente responsável por traduzir em código-fonte as funções desenhadas na fase de projeto. Via de regra, não havia participação deste profissional nas fases de requisitos e nem de projeto. Com o advento das metodologias ágeis, a função do desenvolvedor assumiu natureza interdisciplinar e sua participação se dá em todas as etapas de um projeto. Cleaner. Coach. Pergunta 4 0,6 / 0,6 pts 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. Correto! A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. Alternativa correta. Leia o texto a seguir: Os pesquisadores procuram melhores meios de medir a manutenibilidade, com base nas informações sobre os produtos; eles estão desenvolvendo novos modelospara nos mostrar as interconexões entre produtos, processos e recursos. De maneira semelhante, os modelos nos ajudarão a saber quanto esforço é necessário para manter um sistema, e quando é apropriado descartar ou rejuvenescer um sistema legado. Fonte: PFLEEGER, S. L. Engenharia de Software: Teoria e Prática. 2. ed. São Paulo: Prentice Hall, 2004. Considerando a abordagem das organizações em relação a seus sistemas legados, avalie as seguintes asserções e a relação proposta entre elas. I. As organizações que contam com sistemas legados normalmente optam por continuar com eles por grandes períodos. PORQUE II. Os processos estruturados em sistema legado são difíceis de modelar em um sistema mais novo, mesmo com aplicações de técnicas de requisitos e projeto. A respeito dessas asserções, assinale a alternativa correta: A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 5/10 A asserção I é verdadeira, pois há motivos justos para que uma organização mantenha um sistema legado em funcionamento. Boa parte destes motivos têm fundamento em questões financeiras e no risco que a organização assumirá ao desativar um sistema que vem funcionando e recebendo a devida manutenção. A asserção II é falsa, pois tenta associar o motivo da não desativação de um sistema legado à dificuldade em reconstruir os processos do sistema legado em um sistema mais novo. A dificuldade alegada na proposição não procede, pois com a correta aplicação das técnicas de requisitos e de projeto, esse alegado obstáculo será superado. As asserções I e II são ambas proposições falsas. Pergunta 5 0,6 / 0,6 pts As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Correto! A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. Alternativa correta. A asserção I é verdadeira, já que ao executar um teste, a equipe espera encontrar defeitos no programa para que, em momento posterior, eles sejam corrigidos e não venham a se manifestar quando estiverem em operação no cliente. A asserção II é falsa, pois um procedimento de teste que não retorna defeitos não indica que eles não existem, mas que o procedimento foi mal executado, seja no curso de suas etapas ou na seleção dos casos de teste. Leia o texto a seguir: Os testes de software são uma função de controle de qualidade com um objetivo principal [...]. O papel da SQA é o de garantir que os testes sejam planejados apropriadamente e conduzidos eficientemente de modo que se tenha a maior probabilidade possível de alcançar seu objetivo primário. Fonte: PRESSMAN, R.; MAXIM, B. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016. Considerando o objetivo da aplicação dos testes, avalie as seguintes asserções e a relação proposta entre elas. I. O objetivo a ser alcançado em um procedimento de teste é o de encontrar defeitos no programa. PORQUE II. Um teste que não retorna defeitos no programa indica que este programa está livre de defeitos. A respeito dessas asserções, assinale a opção correta: A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 6/10 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 ambas proposições falsas. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Pergunta 6 0,6 / 0,6 pts Correto! As asserções I e II são ambas proposições falsas. Alternativa correta. A asserção I estabelece relação incorreta entre uma suposta disponibilidade de tempo maior e a consequente qualidade superior dos produtos criados sob o paradigma tradicional. Esta qualidade superior, inclusive, é colocada em perspectiva comparativa com a qualidade obtida nos produtos criados sob o paradigma ágil. Leia o texto a seguir: Cada estágio é, por si só, um processo (ou coleção de processos) que pode ser descrito como conjunto de atividades. E cada atividade envolve restrições, resultados e recursos. Por exemplo, a análise e definição dos requisitos precisa ter como entrada inicial uma declaração das funções e características desejadas para o produto, expressas pelo usuário. O resultado final desse estágio é um conjunto de requisitos, mas pode haver produtos intermediários à medida que o diálogo entre o usuário e o desenvolvedor resulta em mudanças e alternativas. Fonte: PFLEEGER, S. L. Engenharia de Software: Teoria e Prática. 2. ed. São Paulo: Prentice Hall, 2004. Considerando os princípios que fundamentam o processo tradicional e o processo ágil de software, mais as suas respectivas abordagens em relação à qualidade de seus produtos, avalie as seguintes asserções e a relação proposta entre elas. I. O Modelo em Cascata vem se mostrando mais adequado às demandas menos urgentes de criação de software, posto que, embora suas etapas demandem tempo maior para cumprimento, o produto final obtido tem atingido qualidade superior ao produto similar construído sob o paradigma de desenvolvimento ágil. PORQUE II. As metodologias ágeis de desenvolvimento, como o próprio nome sugere, estruturam suas etapas para que entreguem produtos intermediários o mais rapidamente possível, a fim de sanar necessidades específicas do cliente, o que acaba influenciando negativamente na qualidade do produto final. A respeito dessas asserções, assinale a alternativa correta: A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 7/10 A asserção II também é falsa, pois associa o termo ágil à “pressa”, o que não procede. A agilidade, inclusive, normalmente influencia positivamente na qualidade do produto final. 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. 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 verdadeiras, mas a II não é uma justificativa da I. Pergunta 7 0 / 0,6 pts Resposta correta Considerado o modelo cascata, a fase de requisitos do produto final costuma ser um documento de requisitos contendo todos os requisitos elicitados, analisados, especificados e validados. No modelo cascata, a fase de implementação é o momento de modelar o novo sistema, gerando várias representações ou modelos diferentes de soluções possíveis para o projeto. Isso pode ser feito por meio de três fases: arquitetura, detalhamento da arquitetura e testes. Na fase de implementação do modelo cascata todas as linguagens de programação adotadas pela organização são utilizadas juntas. Na fase de manutenção do modelo cascata, o objetivo é transformar os modelos elaborados em códigos de programas de computador. É neste momento que são aplicadas as diversas linguagens de programação. Você respondeu Leia o texto abaixo: Pressman e Maxim (2016, p. 33), dizem que um fluxo de processos descreve, em relação a uma sequência e ao tempo, como são organizadas as ações e tarefas de cada atividade. Existem vários tipos de fluxo de processos: o fluxo paralelo, onde as atividades acontecem simultaneamente, já no fluxo linear, as atividades são executadas uma após a outra, ou seja, é necessário que uma atividade acabe para que a próxima seja iniciada, por exemplo. Existem ainda os fluxos evolucionário e interativo. O modelo cascata foi um dos tipos mais utilizado até os anos 2000 e é considerado um modelo linear. Uma das formas de nomear as fases de um processo em cascata é: requisitos; projeto; implementação; teste e manutenção. Cada uma das etapas nomeadas anteriormente gera produtos, que ao final do projeto comporão os entregáveis do projeto, sendo que o primeiro produto a ser produzido é o documento de Requisitos de Software. Com base nesses requisitos,serão elaborados os modelos arquiteturais da solução de software, que guiarão o desenvolvimento efetivo do software. Ao fim da implementação o software deve ser testado, e após o aceite do usuário será disponibilizado para produção. Considerando o texto acima, assinale a alternativa correta. A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 8/10 Na fase de testes do modelo cascata, os testes do que foi produzido na fase de implementação são realizados. O objetivo é executar um programa com o objetivo de revelar a presença de defeitos. Aqui são realizados diversos tipos de teste exceto os testes unitários. A alternativa está incorreta, pois na fase de testes, é verdade que são realizados os testes do que foi produzido na fase de implementação. Assim como o objetivo dessa etapa é executar um programa com o objetivo de revelar a presença de defeitos. Entretanto, os testes unitários podem ser realizados tanto nesta etapa, mas também, em algumas situações ou estratégias de condução de projeto, os testes unitários podem ser realizados ainda na etapa de implementação, durante o desenvolvimento do programa. É correto afirmar que na fase de requisitos o produto final pode ser o SRS, que contém vários tópicos abordando os requisitos que foram elicitados, analisados, especificados e validados, seguindo um processo de Requisitos de Software. Pergunta 8 0,6 / 0,6 pts I e II apenas. Correto! II e III apenas. Alternativa correta. Leia o texto a seguir: Quando se elabora um produto ou sistema, é importante seguir uma série de passos previsíveis – um roteiro que ajude a criar um resultado de alta qualidade dentro do prazo estabelecido. Fonte: PRESSMAN, R.; MAXIM, B. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016. Considerando os conceitos de Processos, Fases e Atividades e suas aplicações na Engenharia de Software, avalie as afirmações que seguem: I. Um processo de software corresponde a divisão de uma atividade e agrupa ações com um objetivo comum. II. É por meio da execução de uma atividade que a equipe poderá produzir artefatos intermediários do produto final. III. O fluxo dos processos caracteriza a organização das ações que se desenrolam em cada atividade. É correto o que se afirma em: A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 9/10 A afirmação I está incorreta, pois o conceito expresso na afirmação é o de uma fase, e não do processo em si. Um processo de software, na verdade, é uma sequência definida por meio da qual se pretende construir um software. A afirmação II é correta, pois uma atividade prevê a existência de entradas e recursos para a produção de um artefato, que corresponde a um documento ou um serviço produzido durante o processo. A afirmação III é correta, pois é o fluxo dos processos de fato reflete a organização dos procedimentos em cada tarefa daquele processo. I, II e III. II apenas. III apenas. Pergunta 9 0,6 / 0,6 pts Aumento da Complexidade. Evolução. Correto! Mudança Contínua. Alternativa correta. O primeiro item da Lei da Evolução dos Sistemas – chamado Mudança Contínua – é o que está descrito no texto dado. Esse item estabelece que um programa que esteja em plena operação não deverá permanecer estático. Ao contrário disso, as mudanças que visam aprimoramento ou expansão das funcionalidades devem ser constantemente aplicadas. Manutenibilidade. Autorregulação. Pergunta 10 0,6 / 0,6 pts Leia o texto a seguir: Considerando o contexto da gestão das mudanças, um dos itens da Lei da Evolução dos Sistemas estabelece que, uma vez em operação, um sistema deverá sofrer mudanças de forma regular e que um sistema nunca estará completo, daí a necessidade de evoluir. Assinale a alternativa que contém o nome dado a este item da Lei da Evolução dos Sistemas. Leia o texto abaixo: O Guide to the Software Engineering Body of Knowledge, conhecido pela sigla SWEBOK, é um documento criado sob o patrocínio da IEEE Computer Society e publicado pela mesma com a finalidade de servir de referência em assuntos considerados, de forma generalizada pela comunidade, como pertinentes a área de A+ A A- 20/03/2024, 10:56 AO2: Engenharia de Software https://famonline.instructure.com/courses/20389/quizzes/89768?module_item_id=431480 10/10 Análise, Elicitação, Especificação e Validação. Especificação, Análise, Elicitação e Validação. Especificação, Elicitação, Análise e Validação. Elicitação, Especificação, Análise e Validação. Correto! Elicitação, Análise, Especificação e Validação. A alternativa está correta, pois para proposta do SWEBOK, quando o projeto está na fase Requisitos de Software, primeiro é necessário Elicitar os requisitos, que são as ações relacionadas ao levantamento dos requisitos, ele pode ser realizado utilizando diversas técnicas, como com entrevistas. Depois disso, os requisitos serão analisados, questionados e amadurecidos, para que em um terceiro momento, possam ser finalmente especificados. A especificação dos requisitos é o momento em que todo o trabalho é documentado formalmente. Finalmente, após a especificação, os requisitos podem ser validados pelos seus responsáveis. Pontuação do teste: 4,8 de 6 Engenharia de Software. Por isso em seu conteúdo mais recente, o SWEBOK V3 publicado em 2014, foi sumarizado em 15 KAs (knowledge areas, em português, áreas de conhecimento) referentes a Engenharia de Software. Em sua 1ª versão publicada em 2004 haviam 10 KAs específicos a área citada anteriormente. O SWEBOK surgiu através de uma parceria entre o IEEE, a Computer Society e ACM a fim de promover a profissionalização da Engenharia de Software (https://pt.wikipedia.org/wiki/Engenharia_de_software) e criar um consenso sobre as áreas de conhecimento da Engenharia de Software e seu escopo. Sendo iniciado em 1998 pelo Software Engineering Coordinating Committee (SWECC) e financiado por organizações como a ACM, a Boeing, o Conselho Canadense de Engenheiros Profissionais, Construx Software, MITRE Corporation, entre outras. O SWEBOK é recomendado para diversos tipos de público, em todo o mundo, com o objetivo de ajudar organizações a terem uma visão consistente da Engenharia de Software. É endereçado a gerentes, engenheiros de software, às sociedades profissionais, estudantes, professores e instrutores desta área de conhecimento. O SWEBOK apresenta uma classificação hierárquica dos tópicos tratados pela Engenharia de Software (https://pt.wikipedia.org/wiki/Engenharia_de_Software) , onde o nível mais alto são as Áreas do Conhecimento. Fonte: https://pt.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge (https://pt.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge) . Acesso: 09/03/2021. Quando falamos sobre a área de conhecimento Requisitos de Software do SWEBOK, quais são seus processos em ordem de execução durante um projeto? A+ A A- https://pt.wikipedia.org/wiki/Engenharia_de_software https://pt.wikipedia.org/wiki/Engenharia_de_software https://pt.wikipedia.org/wiki/Engenharia_de_software https://pt.wikipedia.org/wiki/Engenharia_de_Software https://pt.wikipedia.org/wiki/Engenharia_de_Software https://pt.wikipedia.org/wiki/Engenharia_de_Software https://pt.wikipedia.org/wiki/Engenharia_de_Software https://pt.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge https://pt.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge https://pt.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge https://pt.wikipedia.org/wiki/Software_Engineering_Body_of_Knowledge