Quiz
Engenharia de Software
Create a free account to finish this quiz
Save your progress and see your final score.
Already have an account? Sign in
Questions in this quiz (18)
1Leia o excerto a seguir:
Outra maneira de se ver uma iteração e uma incrementação é perceber que o projeto como um todo se divide em miniprojetos menores (ou incrementos). Cada miniprojeto abrange os artefatos de levantamento de necessidades, de análise, de projeto, de implementação e de testes. Finalmente, o conjunto resultante de artefatos constitui o produto de software completo. Na realidade, cada miniprojeto é formado por algo mais do que simplesmente a abrangência dos artefatos. É essencial verificar se cada artefato é correto (o fluxo de trabalho de testes), e fazer as alterações necessárias para os artefatos relevantes. Esse processo de verificação e mudança, depois de uma nova verificação e de novas mudanças, e assim por diante, é claramente de natureza iterativa. Ele continua até que os membros da equipe de desenvolvimento estejam satisfeitos com todos os artefatos do miniprojeto (ou incremento) atual. Quando isso acontece, eles avançam para o incremento seguinte.
O fragmento fala sobre o modelo de ciclo de vida incremental, apresentando características sobre as iterações/incrementos. Uma das características que se destaca neste modelo é que o projeto é subdividido em etapas que atuam como miniprojetos, recebendo todas as etapas dos ciclos de vida propostos anteriormente. Com esta informação, é correto afirmar que:- Aa)
Com o modelo de ciclo de vida descrito, é impossível para o gerente de projetos calcular uma estimativa de custo e prazo. - Bb)
O modelo descrito reduz o prazo de entrega do produto de software. - Cc)
Com a utilização do modelo apresentado, os desenvolvedores criam produtos com divergências. - Dd)
Este modelo auxilia o gerente de projetos na percepção do custo do projeto. - Ee)
O modelo de ciclo de vida apresentado permite a redução de riscos do projeto de software.
- Aa)
2Analise o excerto a seguir:
Uma visão da modelagem de requisitos, chamada de análise estruturada, considera os dados e os processos que transformam os dados como entidades separadas. Os objetos de dados são modelados de maneira a definir seus atributos e relações. Processos que manipulam objetos de dados são modelados para mostrar como transformam os dados à medida que os objetos de dados fluem por sistema.
O excerto apresentado cita algumas características da análise estruturada. Com base no texto apresentado e no que você estudou até agora, analise as afirmativas a seguir:
I. A análise estruturada utiliza elementos para representar processos e dados.
II. É possível modelar, por meio de análise estruturada, como os processos manipulam e transformam os dados de um software.
III. A análise estruturada utiliza o conceito de objetos e classes.
IV. Com a análise estruturada, é possível modelar como os dados fluem pelo sistema.
Está(ão) correta(s):- Aa)
As afirmativas I e IV. - Bb)
As afirmativas I e II. - Cc)
As afirmativas I, II e IV. - Dd)
As afirmativas I, II e III. - Ee)
Somente a afirmativa IV.
- Aa)
3"É fato que os geradores de energia elétrica falham, porém com uma freqüência muito menor do que a dos programas de folha de pagamento. As pontes de vez em quando caem, mas com freqüência consideravelmente menor do que a dos sistemas operacionais. Acreditando que o projeto, a implementação e a manutenção de software possam ser colocados no mesmo patamar que as disciplinas de engenharia tradicionais, um grupo de estudos da OTAN cunhou, em 1967, o termo engenharia de software. A alegação de que criar software é similar a outras tarefas da engenharia foi endossada pela Conferência de Engenharia de Software da OTAN, realizada em Garmisch, na Alemanha" (NAUR; RANDELL; BUXTON, 1976).
O excerto trata da criação da Engenharia de Software ocorrida no ano de 1967. Esta foi criada como resposta para a Crise do Software. Das alternativas apresentadas, escolha aquela que define o objetivo da Engenharia de Software:- Aa)
O objetivo da engenharia de software é de permitir o seu desenvolvimento sem utilizar nenhum método ou técnica específica, deixando para o desenvolvedor o poder de decisão de todo o processo de criação. - Bb)
O objetivo da engenharia de software é de fazer a junção de responsabilidades presentes do lado do desenvolvedor com as do cliente. Assim, possíveis problemas ocorridos durante a criação de um software seria de responsabilidade de ambas as partes, não apenas do desenvolvedor. - Cc)
O objetivo da Engenharia de Software é produzir um sistema com poucas ou nenhuma falha, dentro de prazo e orçamento previstos, e que atenda às necessidades do cliente. O software também deve ser construído de forma a permitir uma fácil modificação e manutenção. - Dd)
O objetivo da engenharia de software é produzir hardware que permita a criação de sistemas computacionais em larga escala, facilitando com que o software seja executado sem falhas e respeitando as regras estabelecidas pela OTAN. - Ee)
O objetivo da engenharia de software é de facilitar a realização de testes em sistemas complexos que devem possuir alta precisão numérica nos resultados apresentados. Ela também busca reconhecer os elementos base necessários durante o teste de software.
- Aa)
4Leia atentamente o excerto a seguir:
"Uma falha de software [...] foi detectada em 9 de novembro de 1979. O Comando Estratégico da Força Aérea norte-americana entrou caoticamente em estado de alerta quando a rede de computadores do sistema mundial de controle e comando militar (WWMCCS, sigla para worldwide military command and control system) informou que a União Soviética havia lançado mísseis contra os Estados Unidos. O que realmente aconteceu foi que um ataque simulado foi interpretado como real, da mesma forma que ocorreria no filme Jogos de Guerra, cerca de cinco anos depois. Embora, compreensivelmente, o Ministério de Defesa dos Estados Unidos não tenha dado detalhes sobre qual foi precisamente o mecanismo por meio do qual as informações sobre o teste foram interpretadas como dados reais, parece razoável atribuir o problema a uma falha de software. O sistema como um todo não foi projetado para diferenciar situações reais daquelas simuladas, ou então a interface com o usuário não possuía as verificações necessárias para garantir que os usuários finais do sistema fossem capazes de estabelecer a diferença entre realidade e ficção. Em outras palavras, uma falha de software – se realmente o problema foi causado pelo software – poderia ter levado a civilização, como a conhecemos hoje, a um abrupto e trágico fim." SCHACH, Stephen R. Engenharia de software: os paradigmas clássico e orientado a objetos. 7. Ed. Porto Alegre: AMGH, 2009 (p. 25).
O excerto trata, de forma ampla, de um possível erro de software que poderia ter causado grandes problemas na relação entre os dois países. Na década de 1970, a Engenharia de Software não estava presente ainda no processo de criação de software, logo, este tipo de ocasião ocorria com maior regularidade. Podemos dizer que, nesta época, existia a Crise do software.
Dito isto, assinale a alternativa que descreve corretamente o que foi a Crise do software.- Aa)
Crise do software define o momento na década de 1960, quando a engenharia de software estava totalmente presente e existiam técnicas que permitam o seu desenvolvimento, seguindo padrões claros. - Bb)
Crise do software é compreendida como o momento em que um grupo de profissionais cria uma lista de princípios para tornar o desenvolvimento de software mais ágil e permite que nenhum destes tenha defeitos. - Cc)
Crise do software foi considerada o momento na história da humanidade em que a criação de software foi tão alta que não existiam computadores/hardwares suficientes para executar plenamente o sistema produzido. Com isso, a Engenharia de Software surgiu para aumentar a produção de computadores, resolvendo o problema. - Dd)
Crise do software pode ser considerada o maior acontecimento na história do software já que, a partir dela, foi possível realizar a criação de sistemas complexos utilizando somente princípios ágeis nos projetos. - Ee)
Crise do software expressa o momento na década de 1970 quando a engenharia de software era praticamente inexistente. Este termo expressa as dificuldades do desenvolvimento de software frente a alta demanda, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas para o desenvolvimento de sistemas.
- Aa)
5Analise o excerto a seguir:
"O modelo cascata supõe que todos os requerimentos podem ser coletados e reunidos durante a primeira fase de Requisitos. A comunicação com o usuário é colocada nesta fase inicial, onde o gerente de projetos deve fazer o seu melhor para coletar e entender as necessidades dos usuários. Após esta etapa, o processo segue em queda até a última etapa."
Conforme o excerto apresentado,selecione a opção que você julga correta para a situação na qual a fase de Coleta de Requisitos não é bem realizada.- Aa)
O usuário irá receber o software da maneira que espera ao final do projeto. - Bb)
É possível que o software entregue ao final do projeto possua funcionalidades adicionais, além daquelas que o cliente solicitou. - Cc)
A fase de análise de requisitos será realizada com sucesso, mas poderá exceder o tempo previsto. - Dd)
As fases subsequentes apresentarão problemas e inconsistências já que os requisitos não foram coletados de forma adequada - Ee)
O software que será entregue possuirá um desempenho superior ao que foi acordado com o cliente.
- Aa)
6Leia o excerto a seguir:
"O modelo [...] combina os fluxos de processo linear e paralelo dos elementos. Este modelo, aplica sequências lineares de forma escalonada, à medida que o tempo vai avançando. Cada sequência produz 'incrementos' entregáveis de software."
O excerto descreve um dos modelos de ciclo de vida existentes que utiliza uma abordagem de entregar fragmentos de software totalmente funcionais com o passar do tempo. Das opções apresentadas abaixo, selecione o modelo que é descrito no excerto.- Aa)
Modelo cascata. - Bb)
Modelo incremental. - Cc)
Modelo espiral. - Dd)
Modelo prototipação. - Ee)
Modelo V.
- Aa)
7Leia os quatro valores do manifesto ágil:
1) Indivíduos e interações mais que processos e ferramentas.
2) Software em funcionamento mais que documentação abrangente.
3) Colaboração com o cliente mais que negociação de contratos.
4) Responder a mudanças mais que seguir um plano.
Os valores do manifesto ágil deixam em evidência que os itens da esquerda (e em negrito) são mais importantes e devem ser mais considerados do que os itens da direita durante o desenvolvimento de software. Pela leitura dos valores, podemos concluir que:- Aa)
O manifesto ágil surgiu como forma de satisfazer uma necessidade de documentação exagerada. Assim, seus valores demonstram que os processos da engenharia de software são mais importantes que outras questões, como, por exemplo, as pessoas. - Bb)
A comunicação dentro do modelo ágil é deixada de lado quando existe a necessidade de criar rapidamente um sistema. De acordo com os valores, a comunicação e a colaboração com o cliente atrapalha. - Cc)
O modelo ágil, comparado com modelos tradicionais, facilita com que um projeto seja bem planejado e documentado. Nele, todos os requisitos iniciais não mudam e todo o projeto permanece o mesmo até o final. - Dd)
O manifesto ágil propõe uma visão mais prática, funcional e voltada para as pessoas de desenvolvimento de software e surgiu por meio de inúmeras experiências mal sucedidas dos modelos anteriores. - Ee)
Em um projeto ágil, dificilmente o que foi planejado não será executado. Todo o planejamento realizado, de acordo com os valores, deve ser seguido à risca, mesmo que o cliente não queira.
- Aa)
8Analise o excerto a seguir:
"A fase de projeto é melhor descrita através da divisão entre projeto lógico e projeto físico. Durante o projeto lógico, o analista de sistemas faz uso das informações da coleta de requisitos para projetar o sistema de forma independente de qualquer sistema de software ou hardware. Uma vez que o projeto de alto nível está completo, o analista inicia a transformação dele em um projeto físico, dependendo de especificações de hardware, software, linguagens de programação, etc."
O trecho apresenta uma explicação sobre a fase de projeto do modelo cascata. De acordo com o que o trecho afirma, é possível dizer que:- Aa)
Na fase de projeto lógico, o analista deve se preocupar em definir claramente a arquitetura de software que será utilizada para o sistema. - Bb)
Durante a fase de projeto físico, o analista deve se preocupar com qual (ou quais) linguagem de programação será utilizada para desenvolver o sistema. - Cc)
Na fase de projeto lógico, o analista deve definir claramente quais serão as plataformas que irão executar o sistema de software, bem como se o sistema será armazenado localmente ou disponibilizado na nuvem. - Dd)
Na fase de projeto físico, o analista deve se preocupar em planejar a criação do software em alto nível, sem se preocupar com detalhes técnicos. - Ee)
Na fase de projeto físico, o analista deve fazer a coleta de requisitos novamente para confirmar se a coleta de requisitos feita no início do ciclo de vida estava correta.
- Aa)
9Leia o excerto a seguir:
"Qualquer jornada complicada pode ser simplificada com auxílio de um mapa. Um projeto de software é uma jornada complicada, e a atividade de planejamento cria um "mapa" que ajuda a guiar a equipe na sua jornada. O mapa define o trabalho de engenharia de software, descrevendo as tarefas técnicas a serem conduzidas, os riscos prováveis, os recursos que serão necessários, os produtos resultantes a ser produzidos e um cronograma de trabalho."
No excerto extraído do livro, o autor deixa em evidência um "mapa", o qual auxilia e dá direção no desenvolvimento de software. Quando o autor utiliza o termo "mapa", podemos dizer que ele se refere:- Aa)
Ao gerente de projetos. - Bb)
Ao desenvolvedor. - Cc)
Ao modelo de desenvolvimento. - Dd)
Ao plano de projeto. - Ee)
Aos requisitos que foram coletados.
- Aa)
10Leia o seguinte trecho:
O handshake permite delegar requisitos detalhados para as equipes de software. As equipes precisam levantar os requisitos dos clientes (por exemplo, usuários do produto e especialistas na área), melhorando, com isso, a aceitação do produto. O handshake tende a melhorar a identificação, a análise e a escolha de variantes, além de promover uma negociação de ganho mútuo (ganha-ganha/win-win).
O texto apresenta um termo bastante utilizado durante a análise e coleta de requisitos, o handshake. Assinale a alternativa que descreve o significado deste termo no contexto da Engenharia de software.- Aa)
No handshake, o software é desenvolvido e apresentado para o cliente. Então, ele determina quais são os requisitos de software que devem ser novamente analisados para o novo desenvolvimento. - Bb)
No handshake, a equipe de software propõe soluções para os requisitos. Os representantes do cliente examinam as soluções propostas e os clientes podem aceitar ou não. - Cc)
É durante no handshake que são realizados os testes dos requisitos de software pelo time de desenvolvimento. - Dd)
É no handshake que o cliente analisa o sistema criado para informar ao time de desenvolvimento a forma na qual os testes devem ser realizados, obtendo, assim, alta qualidade de software. - Ee)
O handshake é um artefato que permite ao gerente de projetos estimar com precisão o tempo que um software levará para ser desenvolvido.
- Aa)
11Leia o excerto abaixo:
"O projeto de software abrange o conjunto de princípios, conceitos e práticas que levam ao desenvolvimento de um sistema ou produto de alta qualidade. Os princípios de projeto estabelecem uma filosofia que guia o trabalho que você deve desempenhar. Os conceitos de projeto devem ser entendidos antes que a mecânica da prática de projeto possa ser aplicada, e a prática de projeto em si conduz à criação de várias representações do software que servem como um guia para a atividade de construção que se segue."
O trecho apresentado fala sobre o conceito de projeto de software. Nele podemos destacar a citação de atividades que são criadas para guiar a construção do software. Com base nisso, marque a alternativa que descreve estas atividades:- Aa)
Criação da arquitetura do sistema, definição da linguagem de programação utilizada, coleta de informações do usuário e implementação do sistema. - Bb)
Definição da arquitetura do sistema, definição da linguagem de programação utilizada, definição do Sistema Gerenciador de Banco de Dados (SGBD) e elaboração do padrão de interface gráfica. - Cc)
Construção do sistema, coleta de requisitos, especificação de interface, testes de software, criação de diagramas, modelagem do sistema de informação e definição do banco de dados. - Dd)
Ajustes de componentes, projeto de arquitetura, projeto de interface, testes de software, implementação do sistema. - Ee)
Criação dos diagramas, implementação do código, construção do modelo de software, testes de software, testes de interface e testes de componente.
- Aa)
12Leia o excerto a seguir:
"Como o levantamento de requisitos é uma atividade evolutiva, nem todos os atores são identificados durante a primeira iteração. É possível identificar atores primários [Jac92] durante a primeira iteração e atores secundários quando mais fatos são aprendidos sobre o sistema."
O texto apresenta a identificação de dois tipos diferentes de atores, sendo os atores primários e os atores secundários. Sobre estas duas classificações, assinale a afirmativa correta.- Aa)
Atores primários dão suporte ao sistema para que os secundários possam executar os seus trabalhos. - Bb)
Os atores primários executam primeiro, enquanto os atores secundários executam após os primários. Existe também uma terceira e quarta categoria de atores, que não executam nenhuma atividade. - Cc)
Os primários dão suporte ao sistema para que os secundários possam realizar seu trabalho. Os secundários interagem para atingir a função necessária e obter o benefício desejado do sistema. - Dd)
Os primários interagem para atingir a função necessária e obter o benefício desejado do sistema. Os secundários dão suporte ao sistema para que os primários possam realizar seu trabalho. - Ee)
Os atores primários e secundários executam as mesmas tarefas, sendo o analista que escolhe qual o melhor nome para cada um deles. No entanto, não existe diferença entre eles.
- Aa)
13Quando os próprios desenvolvedores fazem os testes, podem ocorrer comportamentos viciados em que o desenvolvedor apenas testa partes que sabe que o funcionamento será adequado. Conforme a situação levantada nesta história e de acordo com o seu aprendizado sobre teste de software, assinale a afirmativa correta.
- Aa)
Os testes de software são realizados somente de forma superficial, assim não se perde muito tempo do projeto. - Bb)
Os testes de software não podem conter a presença de desenvolvedores, pois eles não são aptos a realizá-los, devem ser realizados apenas pelos testadores de software. - Cc)
Os testes de software, quando realizados pelo desenvolvedor, permitem que mais defeitos sejam encontrados. - Dd)
Os testes de software devem ser realizados diariamente pelos desenvolvedores. - Ee)
Os testes de software devem ser realizados seguindo uma metodologia, com uma equipe especializada em testes e sempre considerando a especificação inicial do software.
- Aa)
14Associe cada tipo de teste com a sua descrição a seguir:
( ) Cuida de problemas associados a aspectos relacionados com a integração, verificação e construção de programa.
( ) Proporciona a garantia final de que o software satisfaz a todos os requisitos funcionais, comportamentais e de desempenho.
( ) Usa intensamente técnicas de teste, com caminhos específicos na estrutura de controle de um componente para garantir a cobertura completa e a máxima detecção de erros.
( ) Verifica se todos os elementos se combinam corretamente e se a função/desempenho global do sistema é obtida.
1 - Teste de unidade.
2 - Teste de validação.
3 - Teste de integração.
4- Teste de sistema.- Aa)
1, 2, 4, 3. - Bb)
3, 2, 1, 4. - Cc)
3, 1, 4, 2. - Dd)
4, 2 ,3 ,1. - Ee)
1, 2, 3, 4.
- Aa)
15Leia o seguinte trecho:
Existem quatro tipos de manutenção de acordo com Lientz e Swanson: corretivo, adaptativo, perfectivo e preventivo [1980]. [...] A manutenção corretiva trata do reparo de falhas ou defeitos encontrados. [...] A manutenção adaptativa consiste em adaptar o software às mudanças no ambiente, como o hardware ou o sistema operacional. [...] A manutenção perfectiva garante principalmente a satisfação de requisitos de usuários novos ou alterados. [...] A manutenção preventiva diz respeito a atividades destinadas a aumentar a confiabilidade no sistema, como atualizar documentação, adicionar comentários e melhorar a estrutura modular do sistema.
O trecho apresenta uma descrição sobre as quatro classificações de manutenção de software existentes e as suas características. Imagine que um sistema foi criado para um banco, e agora são solicitadas alterações de cálculos de juros das contas bancárias dos clientes. Esta manutenção pode ser classificada em qual categoria?- Aa)
Manutenção preventiva. - Bb)
Manutenção adaptativa. - Cc)
Manutenção perfectiva. - Dd)
Manutenção corretiva. - Ee)
Manutenção criativa.
- Aa)
16Leia o excerto a seguir:
"Este diagrama da UML complementa o caso de uso por meio de uma representação gráfica do fluxo de interação em um cenário específico. Semelhante ao fluxograma, este diagrama usa retângulos com cantos arredondados para representar determinada função do sistema, setas para representar o fluxo através do sistema, losangos de decisão para representar uma decisão com ramificação (cada seta saindo do losango é identificada) e linhas horizontais cheias indicam as atividades paralelas que estão ocorrendo."
O excerto acima explica características sobre um determinado diagrama da UML. Sabemos que a UML possui cerca de 15 diferentes diagramas. Dos diagramas da UML, assinale qual foi descrito no texto apresentado.- Aa)
Diagrama de atividades. - Bb)
Diagrama de objetos. - Cc)
Diagrama de casos de uso. - Dd)
Diagrama de classes. - Ee)
Diagrama de componentes.
- Aa)
17Leia o excerto a seguir:
A manutenibilidade, no escopo da Engenharia de Software, é um aspecto da qualidade de software que se refere à facilidade em que um software pode ser modificado com o objetivo de corrigir defeitos, adequar-se a novos requisitos, aumentar a suportabilidade ou se adequar a um ambiente novo.
O excerto do artigo "Comparing approaches in AORE through ISO/IEC 9126" apresenta, de forma bastante, clara a definição do termo "Manutenibilidade". Este termo, é utilizado para mensurar a facilidade de manutenção de um software, sendo consideradas as capacidades de atualização, modificação, testes e adaptação do software. Considerando que alguns fatores aumentam a manutenibilidade de um sistema, informe quais dos itens a seguir são verdadeiros e quais são falsos em relação aos fatores que afetam positivamente a manutenibilidade:
( ) Uso de linguagens de programação padronizadas.
( ) Cuidado inadequado com o projeto, codificação e teste.
( ) Estruturas padronizadas de documentação.
( ) Indisponibilidade de pessoal qualificado de software.- Aa)
F, V, V, F. - Bb)
V, F, V, F. - Cc)
V, F, F, F. - Dd)
V, V, V, F. - Ee)
F, F, V, F.
- Aa)
18Leia o excerto a seguir:
A manutenção é considerada a fase mais dispendiosa e duradoura no ciclo de vida da maioria dos sistemas de software, onde mais de 50% de todos os custos decorrem das mudanças realizadas no software. Portanto, cada passo no desenvolvimento ou análise que pode ser automatizado pode economizar muito tempo e dinheiro. Por outro lado, as mudanças parcialmente implementadas apresentam riscos elevados. É provável que uma mudança no site cause efeitos colaterais indesejados, introduza novos erros e leve a mais instabilidade, em vez de melhorar o software. O desenvolvimento evolutivo de hoje e mudanças frequentes se tornaram uma rotina diária para arquitetos, programadores e líderes de projetos.
O excerto fala sobre a fase de manutenção de software e o seu peso no desenvolvimento de sistemas de software, bem como os problemas que excessivas manutenções podem causar. De acordo com o texto acima e o conhecimento adquirido sobre manutenção de software, assinale a alternativa correta.- Aa)
A manutenção de software é realizada de forma rápida, precisando de pouco tempo para realizá-la, quando comparada com outras fases do ciclo de vida de software. - Bb)
A manutenção de software melhora o sistema e torna ele livre de todas as falhas e defeitos. - Cc)
A manutenção de software não é necessária para dar continuidade no ciclo de vida do software. - Dd)
A manutenção de software é a fase que gera mais custo no ciclo de desenvolvimento de software. - Ee)
A manutenção de software é a fase em que os testadores de software realizam testes para descobrir falhas no sistema.
- Aa)
Information
- Description
- Quiz on Engenharia de Software, created by Gabriel Dos Anjos on 03/12/2020.
- Author
- Gabriel Dos Anjos
- Language
- Português
- Views
- 0
- Rating
- No ratings yet Rate this quiz