Prévia do material em texto
AOL 1- Engenharia de Software e Gestão de Times Ágeis - 1. “Métodos utilizados para elaboração de sistemas computacionais dando prioridade a sua coesão, isto porque estes métodos são desenvolvidos a partir de princípios matemáticos que garantem a sua exatidão na capacidade de expressão das ideias vinculadas ao projeto de software.” Fonte: DEVMEDIA. Como usar os Métodos Formais no desenvolvimento de Software. Disponível em: <https://www.devmedia.com.br/como-usar-os-metodos-formais-no-desenvolvimento-de-software/31339>. Acesso em: 31 mar. 2019. O trecho acima trata da conceituação dos métodos formais. A partir dessas informações e do conteúdo estudado a respeito, é correto afirmar que a especificação formal se caracteriza por: 1. realizar a elaboração de um protótipo funcional do sistema para atestar a capacidade de atender as demandas do cliente. 2. tratar da arquitetura do sistema, com os mais variados elementos e observando suas interfaces, e relacionamentos entre eles. 3. adotar a avaliação do sistema desenvolvido para verificar se foi idealizado atendendo a todos os requisitos. 4. gerar a base estrutural do código, partindo da etapa de refinação, servindo como referência para a implementação do sistema. 5. identificar os requisitos funcionais, que definem o que o software deve fazer, e não funcionais, que estabelecem como o software vai executar as suas rotinas. Resposta correta 2. Leia o trecho abaixo: “Gerentes com responsabilidades sobre software, assim como gerentes da maioria das áreas, frequentemente estão sob pressão para manter os orçamentos evitar deslizes nos cronogramas e elevar a qualidade. Como uma pessoa que está se afogando e se agarra à crença em um mito do software para aliviar a pressão (mesmo que temporariamente)”. Fonte: PRESSMAN, Roger S; MAXIM, Bruce R. Engenharia de Software: Uma Abordagem Profissional. 8 ed. Porto Alegre: Amgh, 2016, p. 23. Considerando essas informações e o conteúdo estudado, é possível afirmar que o trecho acima está relacionado ao: 1. Mito da Documentação. 2. Mito da Programação. 3. Mitos do Cliente. 4. Mito de Gerenciamento. Resposta correta 5. Mito de Profissional. 3. Leia o trecho a seguir: “[...] é um sistema microprocessado no qual o computador é completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla. Diferente de computadores de propósito geral, como o computador pessoal, realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos.” Fonte: EMBEED ARCHITECTS. O que é um sistema embarcado. Disponível em: http://www.embarc.com.br/p1600.aspx. Acesso em: 23 Abr. 2019. Considerando essas informações e o conteúdo estudado, podemos afirmar que estamos nos referindo ao conceito de: 1. Controles Embutidos. Resposta correta 2. Programas CAD. 3. Stand Alone. 4. Hardware. 5. Software. 4. “Uma forma de utilizar o modelo cascata é quando precisamos fazer adaptações ou aperfeiçoamentos em um sistema já existente. Por exemplo, quando temos um sistema já pronto e precisamos fazer uma adaptação porque alguma lei governamental foi alterada ou criada”. Fonte: DEVMEDIA. Introdução ao Modelo Cascata. Disponível em: <https://www.devmedia.com.br/introducao-ao- modelo-cascata/29843>. Acesso em 31 mar. 2019. O trecho acima trata de uma das utilizações do método cascata. Baseado no conteúdo e no trecho citado, podemos afirmar que o modelo Cascata também se caracteriza por: 1. conceituar que a forma que o projeto será traduzido está relacionada à etapa de manutenção. 2. entender que os profissionais de qualquer área do conhecimento possuem os atributos para compreender a origem dos programas desenvolvidos. 3. ser um modelo que se origina de uma abordagem sistemática, sequencial ao desenvolvimento do software. Resposta correta 4. considerar o fato de que um software compõe um sistema mais restrito, através da Análise e Engenharia de Sistemas. 5. prever, através da codificação, possíveis mudanças que o software sofrerá após a entrega ao cliente final. 5. “Metodologia de desenvolvimento ágil é uma forma de construir software que possibilita obter as vantagens do sistema antes de ele estar pronto. Também encoraja os desenvolvedores a se aprimorarem constantemente. São utilizadas para agilizar o trabalho dos desenvolvedores e gerar melhoria contínua para os processos.” Fonte: CRONAPP. Metodologias ágeis de desenvolvimento de software: saiba mais sobre o assunto. Disponível em: <https://www.cronapp.io/pt-br/metodologias-ageis-de-desenvolvimento-de-software/>. Acesso em: 31 mar. 2019. Considerando as informações apresentadas e os conteúdos estudados, é possível afirmar que os processos de desenvolvimento rápido de software objetivam: 1. verificar as versões mais atuais do sistema e apresentá-las em um espaço longo de tempo. 2. ser desenvolvidos em uma série limitada de versões, onde os usuários finais pouco se envolvam na especificação e verificação de cada versão. 3. implementar o processo de desenvolvimento e a comunicação de maneira formal, ampliando o uso de documentação. 4. desenvolver softwares úteis ao mercado e que sejam produzidos envolvendo um conjunto de incrementos que incluam uma nova funcionalidade do sistema. Resposta correta 5. apresentar procedimentos de especificação e implementação que sejam aplicados de maneira dispersa. 6. Leia o trecho a seguir: “Utilizando o GitLab, uma equipe de engenharia de software pode colaborar com a equipe de operações para criar e entregar softwares de forma mais eficiente. As diferentes fases dos DevOps são: gerenciamento, planejamento, criação, verificação, pacotes, release, configuração, monitoração e segurança.” Fonte: IG SÃO PAULO. Se sua empresa possui necessidades de DevOps, conheça o Gitlab. Disponível em: https://tecnologia.ig.com.br/2019-03-01/devops-gitlab.html. Acesso em: 23 mar. 2019. O trecho acima trata da eficiência dos softwares desenvolvidos pela empresa mencionada. Assim, considerando as informações apresentadas e os conteúdos estudados, pode-se afirmar que um dos aspectos que torna a área de Engenharia de Software relevante está relacionado à: 1. Análise de curto prazo. 2. Rigidez na seleção de técnicas. 3. Evolução de Sistemas Complexos. 4. Criação formal de Sistemas Web. 5. Exigência da aquisição de softwares. Resposta correta 7. “A reutilização de software se baseia no uso de conceitos, produtos ou soluções previamente elaboradas ou adquiridas para criação de um novo software, visando melhorar significativamente a qualidade e a produtividade”. Fonte: DEVMEDIA. Reutilização de Software. Revista Engenharia de Software Magazine, n. 39. Disponível em: <https://www.devmedia.com.br/reutilizacao-de-software-revista-engenharia-de-software-magazine- 39/21956>. Acesso em: 31 mar. 2019. Assim, considerando as informações apresentadas e os conteúdos estudados, analise as tarefas das unidades de software e associe-as às suas respectivas características: 1) Reuso de Sistema. 2) Reuso de Componentes. 3) Reuso de objetos e funções. ( ) Define qual os elementos que compõem um software e implementam uma única função podem ser reusados. ( ) Acontece quando esses componentes, alterando o seu tamanho independentemente de serem subsistemas ou objetos únicos, possam ser reusados. ( ) Ocorre quando um determinado sistema é reusado na integra, ou seja, na sua totalidade, em outros sistemas. Agora, assinale a alternativa que apresenta a sequência correta: 1. 2, 3, 1. 2. 1, 2, 3. 3. 3, 2, 1. Resposta correta 4. 3, 1, 2. 5. 2, 1, 3. 8. Leia o trecho a seguir: “Nos anos 60, a expressão ‘crise de software’ começou a ser utilizada para denominar o conjunto de problemas encontrados no processo de desenvolvimento de software. Entretanto, mesmo com o surgimento da engenharia de software, muitos desses problemas persistiram e são recorrentes até os dias atuais”. Fonte: CABRAL, AdemilsonAngelo; SILVA, Diego Bezerra da; SOUZA, Alan Pinheiro de. A problemática do desenvolvimento de software: crise ou calamidade crônica? Disponível em: <http://revistaconexao.aems.edu.br/wp- content/plugins/download-attachments/includes/download.php?id=1614>. Acesso em: 23 mar. 2019. Com base nessas informações e o no conteúdo estudado, é possível verificar que os problemas relacionados à produção de software ainda não estão plenamente solucionados. Uma das situações que explicam as causas de a crise de software perdurar até os dias atuais está relacionado ao(s): 1. processo de maturação na formação profissional se encontrar em andamento. Resposta correta 2. projetos bem elaborados e de alto nível gerenciável. 3. custo final do produto que é rígido às alterações. 4. tempo hábil disponível para a captura de dados relevantes. 5. nível de precisão na estipulação de prazos. 9. Leia o excerto a seguir: “[...] é a distribuição de serviços de computação – servidores, armazenamento, bancos de dados, redes, software, análises, inteligência e muito mais pela Internet, proporcionando inovações mais rápidas, recursos flexíveis e economia na escala.” Fonte: MICROSOFT AZURE. O que é computação em nuvem? Disponível em: https://azure.microsoft.com/pt- br/overview/what-is-cloud-computing/. Acesso em: 23 abr. 2019. Considerando essas informações e o conteúdo estudado, pode-se afirmar que o trecho acima se refere ao conceito de: 1. Software. 2. Sistemas Web. 3. Computação em Nuvem. Resposta correta 4. Programas CAD. 5. Hardware. 10. “[...] o engenheiro de software atua no desenvolvimento de programas, sua manutenção e adequação a diferentes processos produtivos, de forma a garantir maior desempenho e produtividade.” Fonte: GUIA DO ESTUDANTE. Engenharia de Software. Disponível em: <https://guiadoestudante.abril.com.br/profissoes/engenharia-de-software/>. Acesso em: 31 mar. 2019. Este trecho refere-se às atribuições de um profissional da área de Engenharia de Software. A partir dessas informações e do conteúdo estudado a respeito, é possível afirmar que o objetivo da Engenharia de Software é: 1. utilizar métodos de maneira distinta desde que utilize um conjunto de ferramentas que automatizem esses métodos. 2. abortar ações relacionadas e planejamento e estimativa de projetos, além da avaliação de requisitos. 3. disponibilizar um software que se caracterize por ser de baixo custo e que ofereça confiabilidade e eficiência. Resposta correta 4. dispensar o uso de técnicas que garantam a qualidade do software e a introdução de uma mentalidade que envolva coordenação. 5. extinguir as ferramentas que ofereçam apoio, seja de forma automatizada ou não, aos métodos aplicados.