Prévia do material em texto
Questão 1/6 - Engenharia de Software Considere a seguinte informação: “O RUP é um modelo flexível, que pode ser instanciado de diferentes maneiras para criar processos que se assemelhem a qualquer um dos modelos de processos”. Após esta avaliação, caso queira ler o texto integralmente, ele está disponível em: SOMMERVILLE, I. Engenharia de Software. 10 ed. São Paulo: Pearson Education do Brasil, 2018. De acordo com a informação apresentada, assinale a alternativa correta que corresponde às quatro fases do modelo de processos RUP. Nota: 0.0Você não pontuou essa questão A Definição dos requisitos / Projeto do sistema e do software / Implementação e teste de unidade / Integração e teste de sistema Você assinalou essa alternativa (A) B Concepção / Elaboração / Construção / Transição Comentário: A alternativa correta é a letra B. As quatro fases do modelo de processos RUP são a Concepção, Elaboração, Construção e Transição. (Aula 1 – página 21) C Fase de requisitos / Fase de design arquitetural / Fase de design detalhado / Implementação D Requisitos / Design arquitetural / Design detalhado / Codificação e mudança E Requisitos do protótipo / Projeto do protótipo / Sistema do protótipo / Teste Questão 2/6 - Engenharia de Software Na aula 06, estudamos sobre a cultura DevOps. De acordo com Muniz et al. (2020), DevOps refere - se a: Nota: 16.7 A Desenvolvimento (Dev) equipe responsável pela identificação dos requisitos com o cliente, pela análise, pelo projeto e pela codificação Operações (Ops) equipe responsável somente pelo monitoramento do projeto. B Desenvolvimento (Dev) equipe responsável pela identificação dos requisitos com o cliente, pela análise, pelo projeto, pela codificação e pelos testes. Operações (Ops) equipe responsável por apenas 20% da implementação em produção, pelo monitoramento e pela solução de incidentes e problemas. C Desenvolvimento (Dev) equipe responsável somente pelo projeto, pela codificação e sem olhar para os testes. Operações (Ops) equipe responsável pela implementação em produção, pelo monitoramento e pela solução de incidentes e problemas. D Desenvolvimento (Dev) equipe responsável somente pelo projeto, pela codificação e sem olhar para os testes. Operações (Ops) equipe responsável por apenas 20% da implementação em produção, pelo monitoramento e pela solução de incidentes e problemas. E Desenvolvimento (Dev) equipe responsável pela identificação dos requisitos com o cliente, pela análise, pelo projeto, pela codificação e pelos testes. Operações (Ops) equipe responsável pela implementação em produção, pelo monitoramento e pela solução de incidentes e problemas. Você assinalou essa alternativa (E) Você acertou! Desenvolvimento (Dev): equipe responsável pela identificação dos requisitos com o cliente, pela análise, pelo projeto, pela codificação e pelos testes. Operações (Ops): equipe responsável pela implantação em produção, pelo monitoramento e pela solução de incidentes e problemas. Texto da aula 6, página 3. Questão 3/6 - Engenharia de Software O Método FDD, ou Desenvolvimento Dirigido por Funcionalidade, é um método ágil que enfatiza o uso de orientação a objetos. Esse modelo foi apresentado em 1997, por Peter Coad e Jeff de Luca, como a evolução de um processo mais antigo (Wazlawick, 2013, p. 46). Esse método é dividido em duas fases, que são: Nota: 16.7 A Construção: implica pensar um pouco (em geral de uma a duas semanas) antes de começar a construir o software. Concepção e planejamento :desenvolvimento iterativo do produto em ciclos de uma a duas semanas. B Concepção e planejamento: implica pensar um pouco (em geral de uma a duas semanas) antes de começar a construir o software. Construção:desenvolvimento iterativo do produto em ciclos de uma a duas semanas. Você assinalou essa alternativa (B) Você acertou! Texto da Aula 02 página 9 C Concepção e planejamento: corresponde a construir e testar o software utilizando linguagem e técnica de teste orientadas a objetos. Construção: em que se preconiza o uso da modelagem orientada a objetos. D Concepção e planejamento: que corresponde a realizar o design orientado a objetos do sistema. Construção: preconiza o uso da modelagem orientada a objetos. E Concepção e planejamento:corresponde a construir e testar o software utilizando linguagem e técnica de teste orientadas a objetos. Construção: desenvolvimento iterativo do produto em ciclos de cinco semanas. Questão 4/6 - Engenharia de Software Considere o seguinte extrato de texto: “Na análise de pontos de função o termo arquivo não significa um arquivo do sistema operacional, tabela de banco de dados ou entidade no modelo de dados, refere-se a um grupo de dados logicamente relacionados e reconhecido pelo usuário”. Após esta avaliação, caso queira ler o texto integralmente, ele está disponível em: VAZQUEZ, C. E.; SIMÕES, G. S.; ALBERT, R. M. Análise de ponto de função: medição, estimativa e gerenciamento de projetos de software. São Paulo: Érica, 2009. De acordo com os conteúdos estudados na Aula 4 sobre métrica de software, considere que em um projeto de melhoria será acrescentado três campos a um arquivo lógico interno. Esse arquivo possui 48 campos anteriormente à manutenção, sendo classificado como de complexidade simples e contribuindo em 7 pontos de função. Apresente o cálculo e quantos pontos de função esse arquivo contribuirá para o tamanho do projeto de melhoria? Nota: 0.0Você não pontuou essa questão Gabarito: Para a resposta ser válida, o aluno deve apresentar o seguinte cálculo: como o arquivo possui 1 registro e 48 campos, sendo considerado de complexidade simples e contribuindo com 7 pontos, ao serem adicionados mais 3 campos ao mesmo arquivo, ele passará a ter 51 campos. De acordo com a tabela de complexidade das funções tipo dados, um arquivo que possui 1 registro com mais de 50 campos a complexidade é média. Sendo assim, conforme a tabela de pontuação das funções tipo dados, e sabendo que se trata de um arquivo lógico interno, a pontuação das funções com complexidade média vale 10 pontos. Desse modo, como o arquivo já estava contribuindo com 7 pontos e agora passa a valer 10, sua contribuição atual será de 3 pontos para o projeto de melhoria. (Aula 4 – páginas 5 e 6). Resposta:Após a adição de três campos ao arquivo, que já era considerado simples, ele originalmente contribuia com 7 pontos de função, agora, com os novos campos, o total de campos internos chegou a 51. Usando uma fórmula simples, calculamos: 7 + (51*5) = 262 pontos de função. Portanto, após a melhoria, o arquivo agora acrescenta 262 pontos de função ao tamanho do projeto. Quantidade caracteres resposta: 366 Comentário do revisor:Bom dia Nenhuma proximidade com a resposta correta, por exemplo o cálculo esta incompleto e quanto ao ponto de função um arquivo que possui 1 registro com mais de 50 campos a complexidade é média. Como o arquivo já estava contribuindo com 7 pontos e agora passa a valer 10, sua contribuição atual será de 3 pontos (Aula 4 – páginas 5 e 6). Questão 5/6 - Engenharia de Software Considere o extrato de texto a seguir: “Programação Extrema, ou XP, é um modelo ágil inicialmente adequado a equipes pequenas e médias e baseado em uma ‘serie de valores, princípios e regras”. Após esta avaliação, caso queira ler o texto integralmente, ele está disponível em: WAZLAWICK, R. S. Engenharia de Software: Conceitos e Práticas. São Paulo: Elsevier, 2013. Conforme os conteúdos estudados na Aula 2 sobre métodos ágeis, apresente sucintamente e com suas palavras no mínimo três práticas do método XP e suas aplicações, que dizem respeito ao relacionamento com o cliente, a gerência do projeto, a programação e os testes. Nota: 15.0Você pontuou parcialmente essaquestão Gabarito: Para a resposta ser válida, o aluno deve apresentar no mínimo três práticas do método XP, tais como: - Jogo de planejamento: semanalmente, a equipe deve se reunir com o cliente para priorizar as funcionalidades a serem desenvolvidas. Cabe ao cliente identificar as principais necessidades e à equipe de desenvolvimento estimar quais podem ser implementadas no ciclo semanal que se inicia. Ao final da semana, essas funcionalidades são entregues ao cliente. Esse tipo de modelo de relacionamento com o cliente é adaptativo, em oposição aos contratos rígidos usualmente estabelecidos. - Metáfora: é preciso conhecer a linguagem do cliente e seus significados. A equipe deve aprender a se comunicar com o cliente na linguagem que ele compreende. - Equipe coesa: o cliente faz parte da equipe de desenvolvimento e a equipe deve ser estruturada de forma que eventuais barreiras de comunicação sejam eliminadas. - Reuniões em pé: reuniões em pé tendem a ser mais objetivas e efetivas. - Design simples: implica atender a funcionalidade solicitada pelo cliente sem sofisticar desnecessariamente. Deve-se fazer aquilo que o cliente precisa, não o que o desenvolvedor gostaria que ele precisasse. Por vezes, design simples pode ser confundido com design fácil. Nem sempre o design simples é o mais fácil de se implementar, e o design fácil pode não atender às necessidades ou então gerar problemas de arquitetura. - Versões pequenas: a liberação de pequenas versões do sistema pode ajudar o cliente a testar as funcionalidades de forma contínua. O XP leva esse princípio ao extremo, sugerindo versões ainda menores do que as de outros processos incrementais. - Ritmo sustentável: trabalhar com qualidade um número razoável de horas por dia (não mais de 8). Horas extras só são recomendadas quando efetivamente trouxerem aumento de produtividade, mas não podem ser rotina. - Posse coletiva: o código não tem dono e não é necessário pedir permissão a ninguém para modificá-lo. - Programação em pares: a programação é sempre feita por duas pessoas em cada computador, em geral um programador mais experiente e um aprendiz. O aprendiz deve usar a máquina, enquanto o mais experiente deve ajudá-lo a evoluir em suas capacidades. Com isso, o código gerado terá sempre sido verificado por pelo menos duas pessoas, reduzindo drasticamente a possibilidade de erros. - Padrões de codificação: a equipe deve estabelecer e seguir padrões de codificação, de forma que o código pareça ter sido todo desenvolvido pela mesma pessoa, mesmo que tenha sido feito por dezenas delas. - Testes de aceitação: são testes planejados e conduzidos pela equipe em conjunto com o cliente para verificar se os requisitos foram atendidos. - Desenvolvimento orientado a teste: antes de programar uma unidade, devem-se definir e implementar os testes pelos quais ela deverá passar. - Refatoração: não se deve fugir da refatoração quando ela for necessária. Ela permite manter a complexidade do código em um nível gerenciável, além de ser um investimento que traz benefícios em médio e longo prazo. Resposta:PROGRAMAÇÃO EM DUPLA - No XP, dois programadores trabalham juntos no mesmo código, promovendo a colaboração e a identificação precoce e de problemas. MELHORIA CONTÍNUA DO CÓDIGO: O XP enfatiza a importânciade sempre aprimorar o códico-fonte, garantindo que ele permaneça de alta qualidade e fácil de manter. REUNIÕES DIÁRIAS EM PÉ: São reuniões diárias e curtas onde a equipe compartilha o progresso, desafios e metas do dia. isso ajuda na comunicação interna e na resolução rápida de problemas. Quantidade caracteres resposta: 496 Questão 6/6 - Engenharia de Software Leia o seguinte fragmento de texto: “O método Crystal Clear propõe, entre outras coisas, o uso de radiadores de informação, como quadros e murais à vista de todos, acesso fácil a especialistas de domínio, eliminação de distrações, cronograma de desenvolvimento [...] e ajuste do método quando necessário”. Após esta avaliação, caso queira ler o texto integralmente, ele está disponível em: WAZLAWICK, R. S. Engenharia de Software: Conceitos e Práticas. São Paulo: Elsevier, 2013. Considerando os conteúdos estudados na Aula 2 sobre métodos ágeis, escreva sucintamente e com suas palavras quais são os três níveis do ciclo de vida do método Crystal Clear. Nota: 0.0Você não pontuou essa questão Gabarito: Para a resposta ser válida, o aluno deve escrever que o ciclo de vida do método Crystal Clear é organizado nos seguintes três níveis: Iteração: composto por estimação, desenvolvimento e celebração, que costuma durar poucas semanas. Entrega: formado por várias iterações, que no espaço máximo de dois meses vai entregar funcionalidades úteis ao cliente. Projeto: formado pelo conjunto de todas as entregas. (Aula 2 – página 14). Resposta:Crystal Yellow: é como o começo, para times pequenos e projetos simples, a ideia é que a equipe se comunique bastante, frente a frente. Crystal orange: Aqui já é um passo além, para projetos médios e um pouco mais complicados, a equipe começa a lidar com riscos e faz uma documentação mais leve. Crystal Clear: é o nível avançado, para projetos grades e comlexos, o gerenciamento é mais rigoroso e a documentação é mais complexa. Quantidade caracteres resposta: 431 Comentário do revisor:Bom dia Para a resposta ser válida, deveria descrever sobre o ciclo de vida do método Crystal Clear que são organizados nos seguintes três níveis: Iteração, Entrega e Projeto Iteração: È composto por estimação, desenvolvimento e celebração, que geralmente duram algumas semanas. Entrega: Consiste de várias iterações, onde no máximo 2 meses, já irá entregar funcionalidades para o cliente. Projeto: Conjunto de todas as entregas.