Baixe o app para aproveitar ainda mais
Prévia do material em texto
Evolução dos softwares: aplicação da Engenharia de Software em sistemas emergentes Professor(a): Anderson da Silva Marcolino (Doutorado) Boas ferramentas e recursos digitais (sites) para a criação de jogos digitais auxiliam na redução de custos e esforços na concepção de tais softwares. Sobre ferramentas e sites adotados no desenvolvimento de jogos digitais, leia e associe as duas colunas: Assinale a alternativa que traz a associação correta entre as duas colunas: Alternativas: I – B; II – C; III – A. I – A; II – B; III – C. I – B; II – A; III – C. checkCORRETO I – C; II – A; III – B. I – C; II – B; III – A. Resolução comentada: Blender é uma ferramenta de modelagem de elementos gráficos 3-D. Os modelos nele criados são importados no Unity, que é a ferramenta em que o jogo será programado. As texturas aplicadas tanto nos modelos 3-D quanto nos cenários são criadas no Gimp, um editor de imagens de código aberto e gratuito. Código da questão: 58352 2) O termo engenharia de software foi cunhado pela primeira vez em 1968, durante a crise do software. Sobre os motivos que levaram à criação e ao uso da engenharia de software em tal período, assinale a alternativa correta. Alternativas: A engenharia de sistemas surge como meio de reduzir a complexidade no desenvolvimento de software, que, com o surgimento de novos componentes de hardware, resultou no aumento da complexidade dos softwares. A engenharia de software surge como meio de formalizar a profissão de engenheiro na área de construção de produtos de software. A engenharia de software surge como meio de formalizar a profissão de engenheiro na área de construção de produtos de hardware. A engenharia de software surge como meio de reduzir a complexidade no desenvolvimento de software, que, com o surgimento de novos componentes de hardware, resultou no aumento da complexidade de tais soluções. checkCORRETO A engenharia de software surge como meio de reduzir a complexidade no desenvolvimento de hardware, que, com o surgimento de novos componentes de software, resultou no aumento da sua complexidade. Resolução comentada: A engenharia de software não tem como objetivo formalizar a profissão de engenheiro de software. Ela surge como meio de reduzir os problemas da crise de software. Os produtos desenvolvidos já não tinham mais a qualidade esperada, dificultando o acompanhamento da evolução do hardware. Para reduzir a complexidade e garantir melhoria na qualidade de tais software, a engenharia de software busca concentrar métodos e definir processos para a implementação com qualidade de produtos. Código da questão: 58335 3) O documento de desenho do jogo, do termo em inglês game design document, é um artefato essencial para a condução das diferentes etapas para a implementação de um jogo digital. Sobre os principais itens documentados neste artefato, assinale a alternativa correta. Alternativas: Esse documento recebe as especificações principais para a criação de um jogo, bem como a definição das tecnologias adotadas, padrões de desenvolvimento, arquiteturais e, principalmente, os elementos específicos integrados a um produto de software de jogo digital. O cronograma das atividades da criação do jogo digital é definido e mantido no item que discorre sobre história e personagens do jogo digital. O item de visão geral do jogo especifica, em conjunto com os diagramas de casos de uso da UML, quais são os elementos que serão traduzidos para requisitos funcionais e não funcionais. checkCORRETO Gameplay e mecânicas de jogo é o único item que requer gerenciamento e equipe de desenvolvimento específica. O documento de desenho de jogos pode ser substituído pelo diagrama de atividades da UML. Resolução comentada: o documento de desenho do jogo recebe não apenas as especificações principais de um jogo, mas todas elas. Como é essencial para o desenvolvimento de produtos de software de qualidade, não pode ser substituído por um diagrama de atividades da UML, contudo, recomenda-se que tal diagrama seja parte integrante deste documento. Adicionalmente, este servirá para guiar o gerenciamento das equipes dos diferentes artefatos de software a serem desenvolvidos. Eles não se restringem apenas ao gameplay e mecânicas do jogo. Finalmente, o cronograma das atividades é mantido no gerenciamento, e tal como todas as demais partes do documento de desenho do jogo, leva em consideração a visão geral do jogo que, juntamente com modelos UML, designam quais são os elementos que serão traduzidos para requisitos funcionais e não funcionais. Código da questão: 58354 4) A engenharia de software surgiu como uma disciplina da área da tecnologia da informação para suprir as necessidades das indústrias de software que não conseguiam desenvolver soluções de qualidade, mediante o aumento de complexidade no desenvolvimento de tais soluções, a acompanhar a evolução do hardware. Sobre a engenharia de software, assinale a alternativa correta. Alternativas: Os quatro pilares da engenharia de software são: análise, projeto desenvolvimento e testes A engenharia de software se preocupa com todos os aspectos da produção de um software, com objetivo de se obter uma solução de qualidade e bem- sucedido. checkCORRETO A engenharia de software objetiva atender a todos os aspectos de desenvolvimento de sistemas computacionais. A engenharia de software não se preocupa com a aplicação de tecnologias e práticas de gerência de projetos, economia, ética e outras áreas. Apesar de importante, as abordagens ad hoc são mais efetivas do que as abordagens da engenharia de software nas etapas de concepção de software. Resolução comentada: A engenharia de software, ao contrário da engenharia de sistemas, que se preocupa tanto com software e hardware, tem seu foco somente em software, aplicando e desenvolvendo métodos que possam ser adotados nas cinco principais etapas de concepção de software: análise, projeto, desenvolvimento, teste e manutenção. Seu objetivo é obter um software de qualidade e bem-sucedido, ou seja, que atenda a todas as demandas das partes envolvidas. Código da questão: 58340 5) As plataformas móveis ou os sistemas operacionais móveis especificam o tipo de tecnologia que será adotada para o desenvolvimento de aplicativos móveis nativos ou que pacotes devem ser integrados no desenvolvimento de aplicativos não nativos ou genéricos. Sobre aplicativos móveis e as plataformas móveis, leia e associe as duas colunas: Assinale a alternativa que traz a associação correta entre as duas colunas: Alternativas: I – B; II – C; III – A. I – C; II – A; III – B. I – B; II – A; III – C. checkCORRETO I – A; II – B; III – C. I – C; II – B; III – A. Resolução comentada: Android e iOS são plataformas móveis ou sistemas operacionais móveis. Os seus fabricantes disponibilizam kits de desenvolvimento com bibliotecas e linguagens de programação específicas para a criação dos chamados aplicativos nativos, ou seja, que são desenvolvidos única e exclusivamente utilizando tais tecnologias. Logo, os chamados aplicativos genéricos, não nativos, são implementados considerando apenas as bibliotecas, ou seja, um pacote com funcionalidades específicas, da respectiva plataforma em que deverá ser instalado e executado. Código da questão: 58345 6) Sobre os principais processos definidos e apoiados pela engenharia de software na implementação de produtos de software, considere as seguintes afirmações e classifique-as em verdadeiras (V) ou falsas (F): ( ) O processo de desenvolvimento abrange as atividades de programação do produto de software, considerando o projeto arquitetural. ( ) O processo de análise é apoiado por métodos como o de prototipação e diagramas da UML, para o levantamentode requisitos. ( ) O processo de projeto define, considerando diagramas da UML e abordagens e métodos da engenharia de sistemas, a arquitetura do software a ser desenvolvido. ( ) No processo de manutenção, são identificadas novas demandas para a evolução do software ou até mesmo identificação de problemas a serem corrigidos. ( ) No processo de testes, os requisitos são testados para, posteriormente, seguirem para o desenvolvimento. Assinale a alternativa que contenha a sequência correta: Alternativas: F – V – V – F – F. V – F – F – F – V. V – V – F – V – F. checkCORRETO V – F – F – V – F. F – V – V – F – V. Resolução comentada: o processo de projeto, tal como os demais, utiliza abordagens e métodos da engenharia de software. No contexto do processo de testes, não são os requisitos que são testados, mas sim o que foi desenvolvido no processo de desenvolvimento, seguindo então para correções no processo anterior, ou seguindo para implantação/instalação em ambiente de produção. Código da questão: 58337 7) Sobre a engenharia de software, podemos afirmar que: I. Provê apoio ao desenvolvimento de software ou sistemas de computação, por meio de métodos de especificação, desenvolvimento e manutenção de software. II. Os métodos, no contexto dos pilares da engenharia de software permitem a informatização das atividades e tarefas, por meio do apoio de ferramentas de software. III. O engenheiro de software é o profissional que busca elencar as necessidades dos stakeholders. IV. Um diagrama de nível de abstração baixo possui mais detalhes que um diagrama com nível de abstração alto. V. Na etapa de análise, costuma-se utilizar o diagrama de casos de uso. Este diagrama tem o propósito de auxiliar o analista e sua equipe na descoberta de requisitos e no alinhamento mais preciso das necessidades dos stakeholders. São verdadeiras: Alternativas: II – IV – V. II – III – V. I – III – V. I – IV – V. checkCORRETO I – II – IV. Resolução comentada: a afirmação I é verdadeira pois a engenharia de software apoia o desenvolvimento de software ou sistemas de computação, considerando diferentes métodos de especificação, desenvolvimento e manutenção de software; a IV é correta, pois um diagrama com maior nível de detalhamento, ou seja, com nível de abstração mais baixo, representa um maior número de detalhes, enquanto que um diagrama com nível de abstração alto apresenta uma quantidade menor de detalhes; e a questão V está correta, pois é na etapa de análise que utiliza-se o diagrama de casos de uso para facilitar a comunicação e o alinhamento dos requisitos com os stakeholders. A afirmação II é incorreta, pois os métodos, no contexto dos pilares da engenharia de software, referem-se à formalização das atividades e tarefas que englobam cada processo. Finalmente, a afirmação III é incorreta, pois é o analista que busca elencar as necessidades dos stakeholders. Código da questão: 58339 8) As soluções de software abrangem diferentes tecnologias, dentre elas a internet e os dispositivos móveis, além dos computadores de mesa. Cada uma dessas tecnologias apresenta especificidades e, deste modo, características únicas. Sobre os sistemas emergentes, especialmente aplicativos móveis e aplicações web, assinale a alternativa correta. Alternativas: Tanto aplicações web quanto aplicativos móveis são multiusuários, independente de se conectarem ou não com a internet. Aplicativos móveis são mais lentos que as aplicações web. Um aplicativo móvel utiliza a internet para executar tarefas, o que possibilita atender vários usuários ao mesmo tempo. Um aplicativo móvel é um pacote que executa uma tarefa específica para um usuário final, já uma aplicação web pode ser projetada para atender vários usuários por meio da internet. checkCORRETO Uma aplicação web pode ser instalada nos computadores, não necessitando do navegador ou de acesso à internet para ser utilizada. Resolução comentada: tanto aplicativos móveis quanto aplicações web podem utilizar a internet para executar suas tarefas. Contudo, apenas as aplicações web são multiusuários, ou seja, suportam vários usuários, podendo ser acessadas sem a necessidade de instalação, por meio dos navegadores, ou por meio de instaladores e, em ambos os casos, a conexão com a internet é imprescindível, já que são aplicações web, remetendo à dependência indissociável com a conexão à rede mundial de computadores. Por outro lado, os aplicativos móveis são utilizados por usuários finais, mas, considerando que um dispositivo móvel é pessoal, o uso de tais aplicativos é realizado por um único usuário. Código da questão: 58342 9) Os modelos de processo de software definem a sequência e como as diferentes etapas de implementação podem ser organizadas. Estas etapas, por sua vez, podem ser utilizadas no contexto de metodologias ágeis, DevOps e outras. Considerando os modelos de processo de software, assinale a alternativa correta. Alternativas: No modelo em cascata, o processo de desenvolvimento se concentra principalmente na integração de componentes, gerando um produto final. No modelo incremental, somente quando todos os requisitos não funcionais tiverem sido implementados no produto de software, o produto final será implantado em ambiente de produção. No modelo incremental, também chamado revolucionário, várias versões são desenvolvidas até que o produto de software esteja concluído. No modelo baseado em componentes, a prática de reúso é realizada por meio da utilização de componentes já desenvolvidos, reduzindo o tempo de implementação e finalização do produto. checkCORRETO No modelo em cascata, as etapas são executadas fora de ordem. Resolução comentada: no modelo em cascata, as etapas são executadas ordenadamente, não concentrando o processo de desenvolvimento em componentes. Já o modelo incremental é também conhecido como evolucionário, gerando várias versões do produto, até que este esteja concluído. É neste modelo que, somente quando todos os requisitos (funcionais e não funcionais) tiverem sido implementados, que o software poderá ser implantado em ambiente de produção. Finalmente, o modelo baseado em componentes objetiva o reúso de componentes já desenvolvidos, o que reduz o tempo de finalização. Código da questão: 58362 10) A engenharia de software é estabelecida sobre quatro pilares: ________ abrange software e aplicações que apoiam os métodos e processos, facilitando a condução das atividades; os métodos referem-se à formalização das atividades e tarefas que englobam cada ________; processo refere-se à sistematização dos ___________ para que o software atenda ao fim para o qual foi criado; e _____________, que é obtida por meio da união dos esforços humanos com ferramentas, métodos e processos. É a qualidade que define um bom ____________. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Ferramentas; qualidade; métodos; qualidade; hardware. Ferramentas; processo; métodos; qualidade; software. checkCORRETO Sistemas; processo; métodos; qualidade; hardware. Ferramentas; software; processos; qualidade; método. Processos; ferramenta; métodos; qualidade; hardware. Resolução comentada: As ferramentas abrangem software e aplicações que apoiam os métodos e processos, e são os métodos que englobam cada processo, e estes sistematizam os métodos de modo a definir um bom software. Código da questão: 58336
Compartilhar