Prévia do material em texto
1. Ao construir um software, é necessário conhecer a aplicação na qual será utilizado. É, também, fundamental compreender os princípios e o processo para guiar como e quanto cada atividade será realizada e, consequentemente, o ator que executará cada uma das atividades. No entanto, os sistemas de informação são estruturas complexas, abstratas, mutáveis e intangíveis. Logo, não é possível medir com objetividade um software, nem fazer a abstração de um sistema de computador sem perder informações. Estas afirmativas refletem aspectos sobre a possibilidade de medir um software, se é realmente possível medir o tamanho de um software pela quantidade de linhas, ou como um software é mais confiável que outro, ou como medir a sua usabilidade. Sobre natureza do software, assinale a alternativa CORRETA: FONTE: MENDES, Antonio. Natureza do software e a necessidade de princípios e processo. 2015. Disponível em: <http://www.devmedia.com.br/natureza-do-software-e-a-necessidade-de- principios-e-processo-engenharia-de-software-25/17144>. Acesso em: 30 ago. 2017. RICARDO, Luiz. Reflexões sobre a natureza do software e das estimativas de software. 2012. Disponível em: <http://luizricardo.org/2012/09/reflexoes-sobre-a-natureza-do-software-e-das- estimativas-de-software/>. Acesso em: 30 ago. 2017. a) Construir um software leva pouco tempo. b) Os sistemas são responsáveis por distribuir a informação. c) As falhas são baixas no início do ciclo de vida de software. d) Um software se desgasta ao longo do tempo igualmente a um hardware. 2. Foi durante a década de 1970 que o termo "crise do software" surgiu, período em que a engenharia de software praticamente inexistia. Os problemas estavam relacionados com a forma de trabalho da equipe, dúvidas com relação aos requisitos, entre outros, porém não eram só estes os motivos. Com relação às consequências para a crise de software, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Surgiu devido à alta demanda por softwares, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validos. ( ) Software de baixa qualidade, projetos com prazos e custos maiores que os planejados, software não atendendo aos requisitos dos stakeholders, custos e dificuldades no processo de manutenção. ( ) Devido ao grande número de sistemas web complexos e robustos, trazendo alto custo de manutenção. ( ) Insatisfação dos usuários, baixa usabilidade, falta de treinamento no uso dos sistemas e da inexistência de fontes hipermídias que favoreçam a interatividade dos usuários com as informações. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - F. b) V - F - F - V. c) V - V - V - F. d) F - F - V - F. 3. Os anos 1970 foram anos de grandes mudanças. Na área de desenvolvimento de software não foi diferente. No início dessa década, o grande crescimento da produção de softwares deparou- se com um sério problema: a falta de técnicas predefinidas para o desenvolvimento de sistemas. Esta falta de conhecimento acarretou projetos de software de baixa qualidade, com códigos de difícil manutenção, com orçamentos e prazos que não condiziam com a realidade. Como esta situação relatada ficou conhecida? a) Crise de Software. b) Crise Digital de 1970. c) Crise da Engenharia do Software. d) Crise de Projeto. 4. A engenharia de software é uma tecnologia em camadas, tendo na base o foco na qualidade. Ela tem por finalidade entabular uma abordagem metodizada de desenvolvimento, por meio de ferramentas e técnicas adequadas. Baseado nas camadas de engenharia de software, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Na fase de processos, busca-se o desenvolvimento do produto dentro do prazo estabelecido. ( ) A camada que une o foco de qualidade com os métodos é chamada de processos. ( ) A camada da engenharia responsável por fornecer suporte automatizado ou semiautomatizado é a camada métodos. ( ) A camada da engenharia responsável por fornecer informações técnicas para o desenvolvimento é a camada ferramenta. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. b) V - V - F - F. c) F - V - V - F. d) F - F - V - V. 5. A complexidade no desenvolvimento de softwares vem apresentando um crescimento vertiginoso nos últimos anos, principalmente pela quantidade de requisitos definidos frente às restrições de custo e prazo impostos pelos clientes. O gerenciamento de uma atividade, sempre exige planejamento. Com o gerenciamento dos requisitos não é diferente. Por ser uma atividade que dispende muito tempo. Segundo Sommerville (2011), o gerente deve decidir sobre os seguintes pontos: identificação de requisitos, processo de gerenciamento de mudanças, políticas de rastreabilidade e suporte de ferramentas CASE. Sobre estes pontos, analise as sentenças a seguir: I- Identificação de requisitos: deverá identificar cada requisito de forma única para serem feitas as avaliações de rastreabilidade através da referência cruzada entre os requisitos. II- Processo de gerenciamento de mudanças: contempla as atividades de análise de problema e especificação de mudanças, análise de mudança e custos e implementação de mudanças, a fim de poder avaliar o impacto e o custo das mudanças. III- Políticas de rastreabilidade: servem para definir os relacionamentos entre os requisitos do projeto com os demais requisitos do produto e como esses registros devem ser mantidos. IV- Suporte de ferramentas CASE: serve para automatizar o gerenciamento de requisitos através do suporte da inteligência artificial via aprendizagem por cenários e sistemas de banco de dados. Assinale a alternativa CORRETA: FONTE: SOMMERVILLE, I. Engenharia de software. 9. ed. Pearson Education, 2011. a) As sentenças I, II e IV estão corretas. b) As sentenças I, II e III estão corretas. c) As sentenças II, III e IV estão corretas. d) Somente a sentença III está correta. 6. A crise de software foi uma época da história da Engenharia de Software (ES) em que os problemas de escopo, prazo, custo e qualidade atingiram limites indesejáveis. Contudo, foi neste momento que a comunidade do software decidiu focar os estudos no processo, de forma a disciplinar o desenvolvimento de software. Sobre a crise do software, assinale a alternativa CORRETA: a) Os requisitos dos stakeholders sempre eram atendidos. b) Durante esse período, os softwares diminuíram de complexidade. c) Os sistemas de informação era produzidos com maior qualidade durante esta época. d) O processo de manutenção sofre muito com custos e dificuldades. 7. Segundo Pressman (2011, p. 40), "Uma metodologia (framework) de processo estabelece o alicerce para um processo de engenharia de software completo, por meio da identificação de um pequeno número de atividades estruturais aplicáveis a todos os projetos, independentemente de tamanho ou complexidade". Para este mesmo autor, uma metodologia de processo genérico para engenharia de software compreende cinco atividades: comunicação, planejamento, modelagem, construção e emprego. A respeito destas atividades, analise as sentenças a seguir: I- Planejamento: serve para compreender os objetivos das partes interessadas para com o projeto e fazer o levantamento das necessidades que ajudarão a definir as funções e características do software. II- Construção: combina geração de código (manual ou automatizada) e testes necessários para revelar erros na codificação. III- Emprego: o software é entregue ao cliente, que avalia o produto e fornece feedback, baseado na avaliação. Assinale a alternativa CORRETA: FONTE: PRESSMANN, Roger S. Engenharia de software: uma abordagem profissional. 7. ed. Porto Alegre: AMGH, 2011. a) As sentenças I e III estão corretas. b) Somente a sentença I está correta. c)Somente a sentença II está correta. d) As sentenças II e III estão corretas. 8. Os softwares podem ser definidos e desenvolvidos para diversas áreas de aplicabilidade, suas funcionalidades são executar funções, disponibilizar resultados específicos, gerenciar uma grande gama de dados e informações. Um desafio da tecnologia da informação é disponibilizar para os usuários/clientes, softwares de qualidade, que sejam confiáveis, fáceis de utilizar e que tenham interoperabilidade. Uma categoria de software em específico utiliza algoritmos não numéricos, utilizados no desenvolvimento da robótica, sistemas especialistas, redes neurais e jogos. Com relação a essa categoria de software, analise as opções a seguir: I- Linhas de produtos. II- Aplicação embutida. III- Inteligência artificial. IV- Engenharia web. Assinale a alternativa CORRETA: a) As opções I e III estão corretas. b) Somente a opção III está correta. c) As opções I, II e IV estão corretas. d) Somente a opção II está correta. 9. Segundo o dicionário Aurélio (1999), o termo Engenharia significa a arte de aplicar conhecimentos científicos e empíricos e certas habilitações específicas à criação de estruturas, dispositivos e processos que se utilizam para converter recursos naturais em formas adequadas ao atendimento das necessidades humanas. A respeito das características e da importância da engenharia de software, analise as sentenças a seguir: I- É quem define métodos sistemáticos para o desenvolvimento de software, buscando melhorar e amadurecer as técnicas e as ferramentas utilizadas no ambiente de desenvolvimento para aumentar sua produtividade e qualidade de desenvolvimento. II- É uma disciplina da engenharia de sistemas que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de levantamento e especificação de requisitos até a implantação e manutenção. III- É um conjunto de atividades, parcial ou totalmente ordenadas, com a finalidade de obter um produto de software de qualidade e cumprir corretamente os contratos de desenvolvimento. IV- A Engenharia de Software originou-se conceitualmente no período da quarta era da evolução do software, fora do período em que a crise do software existia, momento da busca de desenvolvimento ágil para que projetos fossem entregues dentro de custo e prazo adequados. Assinale a alternativa CORRETA: FONTE: FERREIRA, Aurélio Buarque de Holanda. Dicionário Aurélio Básico da Língua Portuguesa. Rio de Janeiro: Nova Fronteira, 1999. a) As sentenças II e IV estão corretas. b) As sentenças I e IV estão corretas. c) As sentenças I, II e III estão corretas. d) As sentenças I, III e IV estão corretas. 10.Os sistemas de informação são um conjunto de comandos escritos em uma determinada linguagem de programação como, por exemplo, JAVA ou PHP. Os comandos escritos pelos programadores criam rotinas dentro do programa, a fim de permitir o funcionamento e atingir os seus objetivos, os quais foram propostos pelos clientes e usuários. Sobre as aplicações do software, assinale a alternativa CORRETA: a) O software básico é caracterizado por algoritmos de processamento numérico, dependentes da coleta e processamento de dados científicos. b) Os sistemas de tempo real possuem a capacidade de monitorar, analisar e controlar eventos do mundo real, respondendo aos estímulos em um tempo predeterminado. c) Um software científico é conhecido por utilizar algoritmos numéricos para resolver problemas complexos, que não apresentam facilidades de análise direta. d) Os softwares de inteligência artificial são desenvolvidos para uso pessoal, como, por exemplo, planilhas do Excel.