Buscar

ENGENHARIA DE SOFTWARE em perguntas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 98 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MATÉRIA ENGENHARIA DE SOFTWARE I
Pergunta 1 0 em 0,25 pontos
	 
	 
	 
	O diagrama de classes é um dos mais utilizado e importante da UML, servindo de apoio para a maioria dos outros diagramas. O diagrama de classes apresenta a estrutura estática ou fixa das classes onde ela representa abstrações do mundo real. Como o próprio nome diz, esse diagrama define a estrutura das classes utilizadas pelo sistema.
“Um diagrama de classes descreve os tipos de objetos presentes no sistema e os vários tipos de relacionamentos estáticos existentes entre eles”.
 Fonte: FOWLER, M. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. Tradução: João Tortello. 3. ed. Porto Alegre: Bookman, 2005. p. 52.
 
Marque a opção correta da composição de uma classe.
	 
	 
	 
	
		Resposta Selecionada:
	 
A) Nome da classe, variáveis e funções. Resposta incorreta, tente novamente. O paradigma da orientação a objetos normalmente é confundido com a programação estrutural ou linear. O paradigma da orientação a objetos possui uma estrutura-base para a construção das classes, procure identificá-las
	Resposta Correta:
	 
E) Nome da classe, atributos, métodos e visibilidade.
 
	Feedback da resposta:
	.
	 
	 
	 
Pergunta 2 0,25 em 0,25 pontos
	 
	 
	 
	Alguns diagramas da UML são de representações técnicas, que devem ser construídos para definição da arquitetura de sistemas e abstrações lógicas, a serem aplicados na programação. Por outro lado, a UML também possui diagramas que podem ser trabalhados junto ao cliente, pois melhoram o entendimento do sistema e das necessidades de projeto, sendo de fácil leitura e interpretação por todos os envolvidos no projeto.
Veja uma listagem de diagramas:
 
1. Diagrama de Caso de Uso
2. Diagrama de Classes
3. Diagrama de Atividades
4. Diagrama de Objetos
5. Diagrama de Sequência
 
Considerando as informações dadas, defina quais os diagramas que podem ser trabalhados junto ao cliente.
	 
	 
	 
	
		Resposta Selecionada:
	 
C) 1 e 3.
	Resposta Correta:
	 
C)1 e 3.
 
	Feedback da resposta:
	Resposta correta. O diagrama de Caso de Uso ajuda na identificação dos requisitos e o de atividade no entendimento do negócio, proporcionando uma visão sistêmica ao cliente, antes mesmo do produção.
	 
	 
	 
Pergunta 3 0,25 em 0,25 pontos
	 
	 
	 
	O RUP (Rational Unified Process ou Processo Unificado da Rational) é um processo definido com as melhores práticas da Engenharia de Software.
 
Representação do Ciclo de Vida RUP.
Fonte: RATIONAL. Software Corporation. Sobre o Rational Unified Process. São Paulo, 2002. p. 15.
Este ciclo tem como características: fases bem definidas, ciclo de iterações, prazo bem definido, esforço entre as etapas bem definidas, disciplinas e artefatos bem definidos, qualidade de desenvolvimento de software, baixo risco de desenvolvimento e permite desenvolvimento incremental.
De forma engraçada e curiosa, pela semelhança, os profissionais da área chamam a figura acima de “gráfico das baleias”. Observe que existe uma elevação ao relacionar as fases com as disciplinas, chamada de “barriga da baleia”.
O que significa esta elevação?
	 
	 
	 
	
		Resposta Selecionada:
	 
A) Esforço estimado em cada fase.
	Resposta Correta:
	 
A) Esforço estimado em cada fase.
 
	Feedback da resposta:
	Certa resposta. Com o gráfico, conseguimos analisar a quantidade de esforço estimado em cada fase. Como gestor de projetos, tenha sempre em mãos este gráfico, ele pode te ajudar a mensurar a quantidade de esforço necessário para a próxima fase do seu projeto.
	 
	 
	 
Pergunta 4 0,25 em 0,25 pontos
	 
	 
	 
	Os requisitos (no contexto da engenharia de software) representam o levantamento e abstrações de informações que contribuem com o processo de desenvolvimento de software e sua manutenção.
Os requisitos funcionais descrevem as funcionalidades (telas) que o sistema de informação deve ter.
 Veja o exemplo de um requisito funcional:
O XB Plus deve permitir que o gerente faça a abertura de conta para um novo cliente.
De forma a evitar ambiguidade ou interpretação incorreta das informações, a elaboração dos requisitos deve seguir um padrão. O padrão de construção adotado, no exemplo apresentado, está sublinhado.
 O que significam estes sublinhados na construção do requisito?
	 
	 
	 
	
		Resposta Selecionada:
	 
A) Sistema cuja funcionalidade deve ser desenvolvida; ator; funcionalidade.
	Resposta Correta:
	 
A) Sistema cuja funcionalidade deve ser desenvolvida; ator; funcionalidade.
 
	Feedback da resposta:
	Certa resposta. Manter um padrão de escrita dos requisitos funcionais evita erros e problemas de interpretação no momento de leitura do cliente, usuário ou membro da equipe.
	 
	 
	 
Pergunta 5 0 em 0,25 pontos
	 
	 
	 
	Leia o excerto a seguir.
 “A descoberta de requisitos é o processo de reunir informações sobre o sistema requerido e os sistemas existentes e separar dessas informações os requisitos de usuário e de sistema”.
 Fonte: SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 72.
A elicitação de requisitos visa identificar, especificar, classificar e priorizar. Analise as afirmativas a seguir e marque V, para as que julgar verdadeiras, e F, para as falsas.  
 (_) Especificação de requisitos: fase de elaboração e escrita dos requisitos funcionais, não funcionais e regras de negócio, para criar o documento de Análise de Sistema, que vai reunir as definições.
(_) Negociação dos requisitos: técnica muito utilizada na engenharia de software, para levantamento de informações, com o objetivo de abstrair a maior quantidade possível de requisitos de software.
(_) Identificação dos requisitos: fase na qual pode ser aplicada a técnica de brainstorming, na qual o cliente deseja expor todas as suas necessidades e problemas dentro da empresa, ou de seu departamento.
(_) Priorização dos requisitos: caso tenha problema em definir prioridades junto ao cliente, por exemplo, se ele quer definir tudo como prioritário, cabe aplicar uma técnica mais eficaz de classificação de prioridades, como a de MoSCoW.
Agora, assinale a alternativa que apresenta a sequência correta de respostas. 
	 
	 
	 
	
		Resposta Selecionada:
	 
E) V, V, V, V.
	Resposta Correta:
	 
B) V, F, V, V.
 
	Feedback da resposta:
	Resposta incorreta, tente novamente. Os requisitos de software são definidos pelos requisitos funcionais, não funcionais e regras de negócio. A negociação dos requisitos deve ocorrer de forma a priorizar as tarefas de maior relevância para os negócios.
	 
	 
	 
Pergunta 6 0,25 em 0,25 pontos
	 
	 
	 
	Como qualquer outra Engenharia, a de software possui uma série de metodologias certificadas e estudadas por cientistas de software, que estão disponíveis para utilização dentro das empresas.
Um artefato é algo concreto produzido dentro do processo de desenvolvimento de sistemas (documentos, diagramas, figuras e códigos). Segue uma lista de artefatos:
1. Proposta de Comercial de Software
2. Levantamento de Requisitos
3. Diagrama Relacional de Banco de Dados
4. Diagramas da UML
Com base na lista de artefatos apresentados, marque a opção que apresenta os artefatos elaborados na fase de análise de sistema:
	 
	 
	 
	
		Resposta Selecionada:
	 
A) 2, 3 e 4, apenas.
	Resposta Correta:
	 
A) 2, 3 e 4, apenas.
 
	Feedback da resposta:
	Sua resposta está correta. A proposta comercial de software é um artefato produzido pelo gestor comercial ou analista de negócios, mas está relacionada à área comercial e de negócios.
	 
	 
	 
 Pergunta 7 0,25 em 0,25 pontos
	 
	 
	 
	A modelagem de sistemas é uma das disciplinas do processo de produção de software, com maior efetividade na fase de elaboração. É um processo abstrato, que exige experiência e conhecimento, representado por modelos, tabelas, gráficos, diagramas ou fluxogramas, de maneira que cada artefato criado, apresente uma visão diferente para solução funcional que atenda a necessidade do cliente. Atualmente UML (Unified Modeling Language) é a principal técnica de modelagemna construção de sistemas de informação.
Fonte: Elaborada pelo autor, 2018.
Com base no diagrama apresentado, marque a opção que melhor descreve este diagrama.
	 
	 
	 
	
		Resposta Selecionada:
	 
C) O Caso de Uso descreve, de forma visual, um conjunto de funcionalidades presentes no sistema, ou que deve ser desenvolvido, com objetivo de apresentar uma parte do sistema, ou todo seu funcionamento.
	Resposta Correta:
	 
C)O Caso de Uso descreve, de forma visual, um conjunto de funcionalidades presentes no sistema, ou que deve ser desenvolvido, com objetivo de apresentar uma parte do sistema, ou todo seu funcionamento.
 
	Feedback da resposta:
	Certa resposta. Após a definição e validação dos requisitos do sistema, é criado o Diagrama de Caso de Uso, que é a representação visual dos requisitos levantados.
	 
	 
	 
 Pergunta 8 0 em 0,25 pontos
	 
	 
	 
	Os modelos de ciclo de vida para o desenvolvimento de software são formados por processos abstratos, que definem a forma de produção de um sistema. Ao longo do tempo foram criados diversos modelos, cada um com suas vantagens e desvantagens em relação ao processo, entrega do produto, negócio e satisfação do cliente. O princípio básico dos modelos de ciclo de vida para o desenvolvimento de software é definir as etapas e a ordem em que as atividades devem ser executadas. O modelo em cascata apresenta algumas características importantes, como vemos a seguir.   
1. As fases do modelo cascata são bem definidas: Comunicação, Planejamento, Modelagem, Construção e Implantação;
2. O modelo cascata não possui pontos de controle bem definidos, o que permite alta probabilidade de retrabalho, já que não funciona no formato de espiral e prototipagem.
3. No ciclo de cascata, as fases são bem definidas, por isso, só será possível passar para uma próxima fase, caso tenha a aprovação do cliente e do setor de auditoria (Ponto de Controle). Diante dessa aprovação não é permitido voltar em fases anteriores, tendo baixa possibilidade de retrabalho.
4. No modelo de cascata ao passar de uma fase para outra é feita uma auditoria na fase finalizada, para que ela tenha um alto nível de qualidade. Este procedimento é chamado de Pontos de Controle.
Diante as características apresentadas, assinale a opção que apresenta somente afirmativas verdadeiras.
	 
	 
	 
	
		Resposta Selecionada:
	 
C) 1 e 3, apenas.
	Resposta Correta:
	 
A) 1, 3 e 4, apenas.
 
	Feedback da resposta:
	 
Resposta incorreta. Lembre-se que: os pontos de controle são incluídos em modelos que possuem fases bem definidas. Este ponto de controle é importante para garantir a qualidade da fase finalizada e evitar ter retrabalho em fases futuras. Pense nisso!
	 
	 
	 
Pergunta 9 0,25 em 0,25 pontos
	 
	 
	 
	A arquitetura do projeto é um fator essencial para o sucesso. Antes do desenvolvimento propriamente dito é necessário definir algumas diretrizes:
 a) tipos de arquiteturas disponíveis;
b) vantagens e desvantagens de cada arquitetura;
c) definição da arquitetura apropriada para o sistema proposto.
Certamente que cada tipo de arquitetura possui suas vantagens e desvantagens, então, cabe fazer um estudo do tipo de aplicação a ser desenvolvida para a definição da arquitetura que será utilizada.
O padrão MVC (modelo-visão-controlador, do inglês Model-View-Controller) é largamente utilizado na produção de sistema. Este padrão consiste na atribuição de responsabilidades para as classes e suas interações. 
Sobre as características do padrão MVC, marque a alternativa correta.
	 
	 
	 
	
		Resposta Selecionada:
	 
D) As classes de Fronteira ou Visão (View) tem como responsabilidade a interação com o usuário do sistema, se ela acionada via mouse, teclado ou outro tipo de periférico.
	Resposta Correta:
	 
D) As classes de Fronteira ou Visão (View) tem como responsabilidade a interação com o usuário do sistema, se ela acionada via mouse, teclado ou outro tipo de periférico.
 
	Feedback da resposta:
	Sua resposta está correta. O padrão MVC (modelo-visão-controlador, do inglês Model-View-Controller) é utilizado na produção de sistema. Este padrão consiste na atribuição de responsabilidades para as classes e suas interações.
	 
	 
	 
Pergunta 10 0 em 0,25 pontos
	 
	 
	 
	A Programação eXtrema (eXtreme Programming), ou somente XP, é uma metodologia aplicável em pequenos e médias equipes. Normalmente a XP é adotada quando os requisitos são vagos, de difícil definição, ou que sofrem constantes mudanças. Neste ambiente, a utilização de metodologias ágeis ganha força, permitindo ajustes ao longo do desenvolvimento e possibilitando pequenas entregas que serão imediatamente incorporadas e disponibilizadas para os usuários.
A programação em pares é uma das práticas da XP que pode ser aplicada pelos gestores e desenvolvedores. Nela, se trabalha em pares, em um mesmo computador.
 Marque a alternativa que melhor descreve a programação em par.
	 
	 
	 
	
		Resposta Selecionada:
	 
C) A programação em par tem a característica de trabalhar, continuamente, desenvolvimento e código conjunto, produzindo pequenas mudanças nos casos de testes que apresentaram.
	Resposta Correta:
	 
A) Em tarefas complexas, a programação em par em um mesmo computador, pode ser utilizada de forma a diminuir a quantidade de erros e gerar valor agregado para o sistema.
 
	Feedback da resposta:
	Resposta incorreta. A programação em par é feita por dois programadores e apenas um computador, ou seja, são duas pessoas pensando, ao mesmo tempo, em um determinado problema. Pense nas vantagens que esta situação pode ter.
	 
	 
	 
 
 
 1
Lucas
· Expert
· 
· 
· Administradores
·  83
· 72 posts
Postado July 2, 2019
Pergunta 1  0,25 em 0,25 pontos
	 
	 
	 
	Leia o trecho abaixo.
 
“Um sistema sociotécnico que é útil, ou até essencial para uma organização, mas que foi desenvolvido com uso de tecnologias ou métodos obsoletos. Pelo fato destes sistemas frequentemente executarem funções críticas para o negócio, eles precisam ser mantidos”.
 
Fonte: SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 533.
 
Com o que estudamos no capítulo, podemos compreender que existem alguns sistemas que são necessários para a empresa e embora sejam antigos, não podem ser facilmente descartados, sem grandes impactos.
 
Estamos falando de um sistema?
	 
	 
	 
	
		Resposta Selecionada:
	e. 
Legado.
	Resposta Correta:
	e. 
Legado.
 
	Feedback da resposta:
	Resposta correta. É interessante analisar o contexto de uso de sistemas legados, pois, embora não traga mais tantas vantagens para a empresa, pode estar tão integrado aos processos cotidianos, que sua troca, pode ser muito complexa, seu uso deve ser muito analisado e tentar migrá-lo deve ser analisado com muito cuidado.
	 
	 
	 
Pergunta 2 0,25 em 0,25 pontos
	 
	 
	 
	“Testes de desenvolvimento incluem todas as atividades de testes que são realizadas pela equipe de desenvolvimento do sistema. O testador do software geralmente é o programador que o desenvolveu, embora nem sempre seja assim.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 147.
A ordem correta é:
 
Durante o desenvolvimento, o teste pode ocorrer em três níveis de granularidade.  Associe os níveis de granularidade da coluna da esquerda com as situações expostas na coluna à direita:
	 
	 
	 
	
		Resposta Selecionada:
	a. 
3, 1, 2;
	Resposta Correta:
	a. 
3, 1, 2;
 
	Feedback da resposta:
	Sua resposta está correta. Esta correta a relação das situações expostas com a classificação da granularidade dos testes, sendo do nível centrado nas classes do código, relação entre componentes e testes globais do sistema.
	 
	 
	 
Pergunta 3 0,25 em 0,25 pontos
	 
	 
	 
	Sobre a metodologia de desenvolvimento que utiliza TDD, verificamos que existe uma ordem para realizar a implementação e os testes, ou seja, em um momento, você está, efetivamente, criando um teste, em outro, está implementando o código fim, em separado. Este processo é essencial para oTDD, pois é por ele que se consegue o teste, criado com o código implementado, e, de forma incremental, vai sendo construído o código. Sobre isso, analise as afirmações abaixo.
 
1.       Execute o teste (não há código de implementação, o teste não é aprovado).
2.       Escreva o teste.
3.       Escreva apenas o código de implementação suficiente para fazer o teste passar.
4.       Execute novamente os testes.
 
Assinale a alternativa que apresenta a sequência correta para executar o TDD.
	 
	 
	 
	
		Resposta Selecionada:
	b. 
2; 1; 3; 4.
	Resposta Correta:
	b. 
2; 1; 3; 4.
 
	Feedback da resposta:
	Resposta correta. A resposta está correta, para executar o TDD, deve-se sempre implementar o teste, antes do código para ser testado, mesmo que ele não exista.
	 
	 
	 
Pergunta 4 0,25 em 0,25 pontos
	 
	 
	 
	“Testes de desenvolvimento incluem todas as atividades de testes que são realizadas pela equipe de desenvolvimento do sistema [...um determinado tipo de teste] em que você identifica os grupos de entradas que possuem características comuns e devem ser tratados da mesma maneira. Você deve escolher os testes dentro de cada um desses grupos.”.
SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 147.
 
Para que se possa garantir a qualidade dos testes é fundamental  escolher uma metodologia. A metodologia citada acima é considerada teste de:
	 
	 
	 
	
		Resposta Selecionada:
	d. 
partição;
	Resposta Correta:
	d. 
partição;
 
	Feedback da resposta:
	Sua resposta está correta. É correto afirmar que, quando se identificam grupos com características em comum para que sejam executados os testes, conforme descrito no enunciado, é considerado um teste de partição.
	 
	 
	 
Pergunta 5 0,25 em 0,25 pontos
	 
	 
	 
	Considerando a realidade de desenvolvimento de uma empresa, é comum ter de tratar com diferentes tipos de manutenção, conforme mencionamos o código tem um tempo de vida e uso, e durante este tempo de vida, pode necessitar de alterações para manter-se. Como exemplo, abaixo temos alguns tipos de manutenções que podem ser realizadas em algum sistema, durante sua vida, por algum motivo. Considere as seguintes informações:
 
·         alteração de código, devido a erros no sistema;
·         alterando o sistema para funcionar em outro browser;
·         desenvolvendo uma nova funcionalidade;
·         refatorando o código, para evitar um problema futuro.
 
De acordo com as definições acima, estamos falando, respectivamente de quais tipos de manutenção?
	 
	 
	 
	
		Resposta Selecionada:
	b. 
Corretiva, adaptativa, evolutiva e preventiva.
	Resposta Correta:
	b. 
Corretiva, adaptativa, evolutiva e preventiva.
 
 
	Feedback da resposta:
	Resposta correta. O conhecimento das diferentes formas de manutenção é fundamental para o trato com o cliente no contexto de manutenção de software, entender que corretiva é erro, adaptativa é infra, evolutiva é melhoria e preventiva é alterar, para evitar problemas futuros, é um bom começo.
	 
	 
	 
Pergunta 6 0,25 em 0,25 pontos
	 
	 
	 
	“O desenvolvimento dirigido a testes (TDD, do inglês Test-Driven Development) é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 155.
 
A sequência correta é:
Conforme enunciado acima e estudado no curso, associe as boas práticas do TDD da coluna da esquerda com as situações expostas na coluna à direita:
	 
	 
	 
	
		Resposta Selecionada:
	c. 
3, 4, 1, 5, 2;
	Resposta Correta:
	c. 
3, 4, 1, 5, 2;
 
	Feedback da resposta:
	Sua resposta está correta. É muito importante para o desenvolvedor em sistema ter um conhecimento sólido sobre processos de gestão de testes para que os aplicativos sejam desenvolvidos com alto padrão de qualidade.
	 
	 
	 
Pergunta 7 0,25 em 0,25 pontos
	 
	 
	 
	“O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados fictícios. Os resultados do teste são verificados à procura de erros, anomalias ou informações sobre os atributos não funcionais do programa.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 144.
 Para se executar uma eficiente massa de testes, Sommerville (2011) propõe um fluxo formal de testes a ser seguido. Coloque na ordem correta as etapas do fluxo de teste:
1- Preparar dados do teste.
2- Projetar casos de teste.
3- Comparar resultados para casos de teste.
4- Executar programa com dados de teste.
A ordem correta das etapas do fluxo de teste é:
	 
	 
	 
	
		Resposta Selecionada:
	d. 
2, 1, 4, 3;
	Resposta Correta:
	d. 
2, 1, 4, 3;
 
	Feedback da resposta:
	Sua resposta está correta. É correta a ordem escolhida, pois para que os testes sejam realizados de forma satisfatória e que consigam abordar todas as situações possíveis, o fluxo deve seguir as etapas conforme indicado.
	 
	 
	 
Pergunta 8 0,25 em 0,25 pontos
	 
	 
	 
	Existem diferentes níveis de testes em desenvolvimento, em nível de código. Destes, os de caixa branca, que visam analisar o que foi implementado, sobressaem-se, principalmente, por três vertentes: 
 
·         os que testam objetos, métodos ou classes individualmente;
·         os que analisam sua integração, ou seja, como os blocos de código funcionam, quando juntos;
·         por fim, os testes de um sistema todo, considerando o código como um todo.
 
Exemplos desses testes, seriam:
 
·         testar um método de uma classe;
·         testar uma classe chamando outra, que acessa o banco;
·         testar desde a tela, passando por uma classe que chama uma terceira indo até o banco.
 
Dentre as alternativas a seguir, marque a que apresenta os exemplos na sequência, pela ordem de testes.
	 
	 
	 
	
		Resposta Selecionada:
	d. 
Unitário; Componentes; Sistema.
	Resposta Correta:
	d. 
Unitário; Componentes; Sistema.
 
	Feedback da resposta:
	Resposta correta. A sequência traz primeiro, a unidade ou classe, portanto Unitário, que se unem em componentes que tem de ser testados novamente, para ver se funcionam bem em conjunto, por último o teste de sistema, para verificar se os componentes trabalham bem em conjunto.
	 
	 
	 
Pergunta 9 0,25 em 0,25 pontos
	 
	 
	 
	Ao contrário de outro tipo de teste, que tem uma relação muito próxima da codificação, este considera somente as entradas e as saídas. Pode ser aplicado em qualquer nível de teste, em todo o sistema, em um componente, ou um teste unitário. Como é um teste que se preocupa somente com a saída, ele não depende do tipo de linguagem, além disso, pode ser automatizado, um sistema externo pode realizar os testes de uma forma previamente configurada.
 
Esta definição refere-se a qual tipo de teste?
	 
	 
	 
	
		Resposta Selecionada:
	b. 
Caixa preta.
	Resposta Correta:
	b. 
Caixa preta.
 
	Feedback da resposta:
	Resposta correta. Assim como dito no enunciado, o teste de caixa preta considera que o que o sistema deve receber e o que ele deve retornar, não tem interação com o código, e se o código mudar, em tese, não deve mudar os resultados do teste de caixa preta.
	 
	 
	 
Pergunta 10 0,25 em 0,25 pontos
	 
	 
	 
	“A manutenção de software é o processo geral de mudança em um sistema depois que ele é liberado para uso. O termo geralmente se aplica ao software customizado em que grupos de desenvolvimento separados estão envolvidos antes e depois da liberação.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 170.
 Sobre a manutenção de software é correto afirmar:
 I – As manutenções feitas no software podem ser simples mudanças para correção de erros de codificação, até mudanças mais extensas para correção de erros de projeto.
II – A manutenção evolutiva compreende a incorporação de novos requisitos que atendem às necessidades não levantadas inicialmenteno projeto, mas necessários devido às mudança nas regras de negócio.
III – A manutenção adaptativa compreende corrigir erros que foram enviados para a produção, mas que não foram devidamente analisados e testados na fase inicial do projeto.
IV – A manutenção corretiva não é desejável, pois se supõem que todos os testes executados antes da produção já foram devidamente realizados e todas as situações de erro já foram abordados.
V – A manutenção preventiva é executada com a intenção de antecipar problemas futuros que possam acarretar erros em tempo de execução e que merecem ser tratados.
 Os enunciados verdadeiros são:
	 
	 
	 
	
		Resposta Selecionada:
	b. 
I, II, IV, V;
	Resposta Correta:
	b. 
I, II, IV, V;
 
	Feedback da resposta:
	Sua resposta está correta. Os processos de manutenção foram corretamente identificados conforme a sua aplicabilidade e situação exposta. É muito importante para o desenvolvedor saber aplicar cada tipo de manutenção à situação necessária.
	 
	 
	 
 
 1
Noob_TI
· Membro
· 
· 
· Usuários
·  17
· 19 posts
Postado September 4, 2019
·         Pergunta 1
0 em 0,25 pontos
	 
	 
	 
	O teste de usuário é o momento que o sistema tem maturidade de uso, depois de realizadas algumas sugestões do cliente (GALLOTTI, G. M. A. Qualidade de Software. São Paulo: Pearson, 2017). 
Das alternativas abaixo, assinale a que descreve a característica do tipo de teste de usuário denominado teste de Homologação.
	 
	 
	 
	
		Resposta Selecionada:
	 
.Momento em que o sistema é testado pelo usuário em conjunto com os desenvolvedores para estar o máximo próximo dos requisitos.
	Resposta Correta:
	 
.Momento final quando usuários testam se o sistema pode ser usado, realizado em um intervalo definido de tempo.
 
	Feedback da resposta:
	Resposta incorreta. Este teste decide se o sistema será ou não pago. Observe as assertivas levando em consideração esta informação.
	 
	 
	 
·         Pergunta 2
0,25 em 0,25 pontos
	 
	 
	 
	Os testes de software não podem ser ilimitados. É preciso ter uma fase de encerramento do processo de teste (GALLOTTI, G. M. A. Qualidade de Software. São Paulo: Pearson, 2017). 
Das alternativas abaixo, assinale a que descreve sobre a fase de encerramento de testes de software.
	 
	 
	 
	
		Resposta Selecionada:
	 
.Ao final dos testes é importante analisar os pontos críticos e registrar, para gerar uma base interna histórica, com os devidos relatórios.
	Resposta Correta:
	 
.Ao final dos testes é importante analisar os pontos críticos e registrar, para gerar uma base interna histórica, com os devidos relatórios.
 
	Feedback da resposta:
	Resposta correta. Assim como a implementação, o teste do software também precisa ser encerrado. Assim, consiste em avaliar todo o sistema e registrar as informações.
	 
	 
	 
·         Pergunta 3
0 em 0,25 pontos
	 
	 
	 
	Conseguir ver os testes em execução pode ser importante para a análise do sistema. Porém também pode não ter esta importância, pois depende do objetivo que está associado ao teste do software. (PRESSMAN, R. Engenharia de Software. 8. ed. Porto Alegre: AMGH, 2016). Considerando os tipos de processo de teste durante o desenvolvimento, avalie as afirmações a seguir. 
I.         O teste de caixa preta importa-se somente com o resultado do teste, o resultado que é apresentado em sua saída. 
II.        O teste de caixa branca executa testes na parte interna do sistema, com análise sobre os fluxos internos. 
III.      O teste de regressão analisa como era o sistema antes de uma alteração realizada no código. 
IV.      O teste de carga verifica que o sistema pode ser ilimitado quanto às linhas de código presentes. 
V.        O teste de segurança analisa o sistema quanto aos ataques, vulnerabilidades ou outro tipo de ameaça. 
Agora, assinale a alternativa que apresenta informações corretas quanto ao processo de desenvolvimento de teste.
	 
	 
	 
	
		Resposta Selecionada:
	 
.I, II, III, IV e V.
	Resposta Correta:
	 
.I, II e V.
 
	Feedback da resposta:
	Sua resposta está incorreta. Cada designação tem um conceito associado. Observe o nome de cada teste e faça relação com um conceito que o nome possui (Caixa preta, caixa branca, regressão, carga e segurança).
	 
	 
	 
·         Pergunta 4
0,25 em 0,25 pontos
	 
	 
	 
	As leis de evolução de um software podem ser aplicadas em qualquer software, de forma geral para momentos de tomada de decisão, de planejamento, desenvolvimento e manutenção, conhecidas como as leis de Lehman (SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Education, 2011). 
Das alternativas abaixo, assinale a que descreve as características de algumas das leis de Lehman.
	 
	 
	 
	
		Resposta Selecionada:
	 
.Qualidade em declínio: a qualidade é diminuída ao menos que sejam adaptados às mudanças nos ambientes operacionais.
	Resposta Correta:
	 
.Qualidade em declínio: a qualidade é diminuída ao menos que sejam adaptados às mudanças nos ambientes operacionais.
 
	Feedback da resposta:
	Resposta correta. As leis de Lehman são aplicadas para qualquer software, em vários momentos de se desenvolvimento e em fases de alteração.
	 
	 
	 
·         Pergunta 5
0,25 em 0,25 pontos
	 
	 
	 
	Analise as afirmativas abaixo e a relação entre elas: 
I. O processo de mudança e evolução em um software é inevitável 
PORQUE 
II. O software como qualquer produto, tem um tempo de vida. 
Analisando as afirmações acima, conclui-se que:
	 
	 
	 
	
		Resposta Selecionada:
	 
.As duas afirmações são verdadeiras, e a segunda justifica a primeira.
	Resposta Correta:
	 
.As duas afirmações são verdadeiras, e a segunda justifica a primeira.
 
	Feedback da resposta:
	Resposta correta. Nenhum produto sobrevive sem alterações devido aos novos recursos. Para um software 
não é diferente.
	 
	 
	 
·         Pergunta 6
0,25 em 0,25 pontos
	 
	 
	 
	Os testes de software são importantes tanto no momento de analisar as estruturas do sistema, quanto no momento de união destas estruturas através dos componentes que fazem parte do sistema completo (GALLOTTI, G. M. A. Qualidade de Software. São Paulo: Pearson, 2017). 
Das alternativas abaixo, assinale a que descreve as características de casos de testes de software.
	 
	 
	 
	
		Resposta Selecionada:
	 
.O caso de teste de software permite analisar a fase em que a implementação já está em um elevado grau de completude.
	Resposta Correta:
	 
.O caso de teste de software permite analisar a fase em que a implementação já está em um elevado grau de completude.
 
	Feedback da resposta:
	Resposta correta. O uso de casos de teste de software 
permite que o sistema esteja mais próximo da realidade, com a integração das partes.
	 
	 
	 
·         Pergunta 8
0,25 em 0,25 pontos
	 
	 
	 
	Nos dias atuais, todas as empresas utilizam algum tipo de sistema, com o emprego de mais recursos em softwares competitivos, com mais velocidade e uma melhoria nos processos administrativos (SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Education, 2011). 
Das alternativas abaixo, assinale a que descreve sobre o ciclo de vida do software no processo de evolução de software.
	 
	 
	 
	
		Resposta Selecionada:
	 
.A fase de Evolução consiste no momento do sistema estar pronto para uso, e que o cliente pode detectar alguns pontos que podem melhorar.
	Resposta Correta:
	 
.A fase de Evolução consiste no momento do sistema estar pronto para uso, e que o cliente pode detectar alguns pontos que podem melhorar.
 
	Feedback da resposta:
	Resposta correta. O ciclo de vida de software tem as mesmas fases de qualquer desenvolvimento de produto, com início, meio e fim.
	 
	 
	 
·         Pergunta 9
0,25 em 0,25 pontos
	 
	 
	 
	O teste de usuário é o momento que o sistema tem maturidade de uso, depois de realizadas algumas sugestões do cliente (GALLOTTI, G. M. A. Qualidade de Software. São Paulo: Pearson, 2017). 
Das alternativas abaixo, assinale a que descreve a característica do tipo de teste de usuário denominado teste Beta.Resposta Selecionada:
	 
.Momento em que o sistema é disponibilizado para usuários com experiência do negócio, mesmo que não esteja acabado.
	Resposta Correta:
	 
.Momento em que o sistema é disponibilizado para usuários com experiência do negócio, mesmo que não esteja acabado.
 
	Feedback da resposta:
	Resposta correta. Esta versão mesmo que não esteja acabada pode ser utilizada no ambiente real e revelar a associação com a infraestrutura.
	 
	 
	 
·         Pergunta 10
0 em 0,25 pontos
	 
	 
	 
	O teste de usuário é o momento que o sistema tem maturidade de uso, depois de realizadas algumas sugestões do cliente (GALLOTTI, G. M. A. Qualidade de Software. São Paulo: Pearson, 2017). 
Das alternativas abaixo, assinale a que descreve a característica do tipo de teste de usuário denominado teste Alfa.
	 
	 
	 
	
		Resposta Selecionada:
	 
.Momento em que o sistema é disponibilizado para teste no ambiente de trabalho do usuário, para o seu uso de forma real.
	Resposta Correta:
	 
.Momento em que o sistema é testado pelo usuário em conjunto com os desenvolvedores para estar o máximo próximo dos requisitos.
 
	Feedback da resposta:
	Resposta incorreta. Este teste consiste em verificar as principais funcionalidades, de acordo com os requisitos propostos.
	 
	 
	 
 
 1
Noob_TI
· Membro
· 
· 
· Usuários
·  17
· 19 posts
Postado September 13, 2019
Segue atividade 2 para a galera que só suga e não posta nada 
 
 
·         Pergunta 1
0,25 em 0,25 pontos
	 
	 
	 
	Diagramas de Casos de Uso são diagramas comportamentais da UML que representam de forma fácil as diferentes funcionalidades do software, seus atores e interações entre eles.  Por ser de fácil assimilação é comum que clientes tenham acesso aos diagramas de Casos de Uso do sistema e consigam entender e mesmo fazer ajustes no que é representado. Observe o diagrama abaixo e assinale a alternativa correta em relação ao representado.
Fonte: Autora
	 
	 
	 
	
		Resposta Selecionada:
	 
.Professor e aluno participam do caso de uso de “visualizar notas”.
	Resposta Correta:
	 
.Professor e aluno participam do caso de uso de “visualizar notas”.
 
	Feedback da resposta:
	Resposta correta. O relacionamento de um ator com um caso de uso é representado por uma linha cheia ligando os dois, no exemplo, podemos ver que tanto Aluno quanto Professor possuem essa ligação com o caso de uso “visualizar notas” e por isso ambos participam do referido caso de uso.
	 
	 
	 
·         Pergunta 2
0,25 em 0,25 pontos
	 
	 
	 
	Ao elicitar requisitos, o analista necessita identificar, especificar, classificar e priorizar requisitos de software. Cada uma dessas tarefas requer boa relação e constante comunicação com os clientes do software em construção, já que essa fase inicial de conhecimento de problemas e identificação de necessidades dos clientes e usuários é fundamental para o sucesso do projeto. Sobre as tarefas que o analista deve realizar durante a elicitação de requisitos, é correto afirmar que:
	 
	 
	 
	
		Resposta Selecionada:
	 
.A identificação de requisitos compreende a utilização de diferentes técnicas para identificar, junto aos clientes e interessados pelo projeto, o problema a ser solucionado via a construção de um software e as necessidades de funcionalidades do software em construção.
	Resposta Correta:
	 
.A identificação de requisitos compreende a utilização de diferentes técnicas para identificar, junto aos clientes e interessados pelo projeto, o problema a ser solucionado via a construção de um software e as necessidades de funcionalidades do software em construção.
 
	Feedback da resposta:
	Resposta correta. A identificação de requisitos é a primeira tarefa da elicitação em que são utilizadas diferentes técnicas como reuniões, questionários, brainstorms entre outros como forma a capturar informações juntos aos clientes; informações estas que podem ser relacionadas ao problema ou a solução a ser implementada.
	 
	 
	 
·         Pergunta 3
0,25 em 0,25 pontos
	 
	 
	 
	Antes de implementar um software e posterior ao conhecimento do problema e das necessidades dos clientes, é uma boa prática realizar a modelagem do software a ser construído como forma a construir uma abstração da solução que seja entendida pela equipe de desenvolvimento. Ainda na fase de elicitação de requisitos, as informações capturadas e registradas são feitas utilizando basicamente a linguagem natural. Por si só, a linguagem natural é ambígua e essa ambiguidade, embora presente durante a interação com interessados pelo projeto, não é bem-vinda durante a construção do produto. A modelagem de software, então, permite que as informações anteriormente capturadas possam ser representadas em uma linguagem intermediária (nem linguagem natural e nem linguagem de máquina) que consiga expressar as necessidades levantadas. De acordo com Ian Sommerville (Sommerville, 2011), os modelos utilizados para descrever software podem ser classificados em:
	 
	 
	 
	
		Resposta Selecionada:
	 
.modelo de contexto, modelo de interação, modelo estrutural e modelo comportamental.
	Resposta Correta:
	 
.modelo de contexto, modelo de interação, modelo estrutural e modelo comportamental.
 
	Feedback da resposta:
	Resposta correta. Modelo de contexto, de interação, estrutural e comportamental são os quatro tipos de modelos que podem ser construídos para software de acordo com Ian Sommerville.
	 
	 
	 
·         Pergunta 4
0,25 em 0,25 pontos
	 
	 
	 
	Diagramas de Casos de Uso são diagramas que apresentam de maneira visual as diferentes funcionalidades do sistema, o relacionamento entre elas e a participação de diferentes atores humanos e não-humanos com as funcionalidades do sistema. O diagrama é comumente utilizado em fases iniciais do processo de desenvolvimento do software, isso porque por apresentar uma sintaxe simples, o diagrama acaba sendo de fácil entendimento para os interessados do projeto. Sobre o diagrama de Casos de Uso, leia as afirmações a seguir e escolha a alternativa correta.
I) Diagramas de Casos de Uso são diagramas comportamentais da UML.
II) O relacionamento de inclusão (include) de um Caso de Uso em outro faz com que o Caso de Uso incluído tenha seus passos executados também na chamada do Caso de Uso que o incluiu.
III) A herança entre atores no diagrama de Casos de Uso diz respeito a herança de participação (relacionamento) do ator herdado com outros Casos de Uso com os quais se relaciona.
IV) Em um diagrama de Casos de Uso, a delimitação da fronteira do sistema é realizada com o uso de um retângulo que envolve os Casos de Uso representados e exclui os atores.
	 
	 
	 
	
		Resposta Selecionada:
	 
.I, II, III e IV são verdadeiras.
	Resposta Correta:
	 
.I, II, III e IV são verdadeiras.
 
	Feedback da resposta:
	Resposta correta. Diagramas de casos de uso são diagramas que representam comportamento do software em relação à interação de atores com diferentes funcionalidades do software e de funcionalidades entre si. Os atores podem herdar relacionamentos de outros atores via o uso de herança entre atores. Já os relacionamentos podem ser realizados como forma a incluir a realização de um caso de uso em outro (include) ou de estender um caso de uso com a chamada opcional de um outro caso de uso (extend). Na representação com o diagrama, usamos o retângulo como forma a delimitar a fronteira do software sendo modelado, não sendo, portanto, adequado a representação de atores dentro dessa fronteira.
	 
	 
	 
·         Pergunta 5
0,25 em 0,25 pontos
	 
	 
	 
	Padrões de arquitetura ou estilos arquiteturais são projetos de alto nível de software que organizam “blocos” de estruturas e funcionalidades do software de maneira coesa e estabelecem formas específicas de comunicação entre eles. Os padrões de arquitetura existem como forma de resolver problemas comuns de desenvolvimento e manutenção de software e estão geralmente relacionados com características de qualidade requeridas para o software.  São exemplos de padrões de arquitetura:Resposta Selecionada:
	 
.Cliente-Servidor e Camadas.
	Resposta Correta:
	 
.Cliente-Servidor e Camadas.
 
	Feedback da resposta:
	Resposta correta. Cliente-Servidor e Camadas são dois tipos distintos de estilos arquiteturais: o primeiro que organiza a arquitetura em um código a ser executado no servidor e outro código a ser executado no cliente que faz requisições àquele; o segundo que organiza a arquitetura do código em diferentes camadas coesas com pontos específicos de comunicações entre elas.
	 
	 
	 
·         Pergunta 6
0 em 0,25 pontos
	 
	 
	 
	O projeto de arquitetura é uma das atividades que possuem maior impacto para o projeto quando o assunto é qualidade interna do produto de software a ser construído. Isso porque é durante o projeto de arquitetura de software que os conceitos, as funcionalidades e principalmente as não funcionalidades levantadas são transformadas em estruturas e relacionamentos a serem implementados. Uma boa arquitetura de software pode trazer maior agilidade durante a evolução do software e pode também garantir que funcionalidades sejam executadas conforme expectativas de desempenho estabelecidas pelos clientes. Com base no descrito, é possível afirmar que:
	 
	 
	 
	
		Resposta Selecionada:
	 
.a evolução do software é realizada durante o projeto de arquitetura do software.
	Resposta Correta:
	 
.o projeto de arquitetura de um software tem forte relação com o cumprimento de requisitos não funcionais levantados.
Resposta correta. Para a elaboração de um projeto de arquitetura, requisitos não funcionais, que descrevem características de qualidade, devem ser considerados. A partir deles é que será possível definir o máximo de camadas de mensagens permitido para o software de forma a garantir o desempenho requerido, ou ainda o algoritmo de criptografia utilizado para garantir os requisitos de segurança definidos, entre outros. 
Feedback da resposta
	
	Sua resposta está incorreta. 
O projeto de arquitetura ocorre antes da realização da codificação uma vez que é ele que provê o planejamento das estruturas a serem implementadas para o software. Por não haver codificação nessa fase, mas sim somente o seu planejamento, não é nele que ocorrem evoluções nem refatorações do software. Uma vez que o software só existirá após a codificação, não é possível então durante o projeto de arquitetura sejam realizadas verificações dinâmicas (testes) no software. Muito embora a refatoração objetive aumentar a qualidade interna do produto, ela é uma atividade corretiva e não preventiva como é o caso do projeto de arquitetura, não podendo então ser tratadas como sinônimos.
	 
	 
	 
·         Pergunta 7
0,25 em 0,25 pontos
	 
	 
	 
	Brainstorms, role playing, reuniões e questionários são técnicas muito utilizadas para capturar informações junto aos clientes de um projeto de desenvolvimento de software. Cada uma delas apresentam particularidades que fazem com que o seu uso dependa das características do ambiente, clientes e equipe de desenvolvimento em que planejam ser aplicadas. Essas técnicas são utilizadas durante a:
	 
	 
	 
	
		Resposta Selecionada:
	 
.identificação de requisitos.
	Resposta Correta:
	 
.identificação de requisitos.
 
	Feedback da resposta:
	Resposta correta. É logo no início que o levantamento de requisitos é realizado junto aos clientes e interessados pelo projeto e, por esse motivo, o uso dessas técnicas de captura de informações é realizado durante a identificação de requisitos.
	 
	 
	 
·         Pergunta 8
0 em 0,25 pontos
	 
	 
	 
	Por conta de sua versatilidade de uso, diagramas de atividades são um dos diagramas mais utilizados da UML. Podem representar processos de diferentes tipos (negócio, desenvolvimento etc.), sequência de passos a serem executados em um caso de uso entre outros,  fluxos de interfaces gráficas, comandos e seus fluxos de programa entre outros. A atividade é, então, um comportamento que será executado seja por pessoas, telas ou o próprio sistema. Sobre diagramas de atividades, leia as afirmações a seguir e assinale a alternativa correta.
I) O diagrama de atividades é utilizado para representar a estrutura de um software.
II) A sincronização (Join) separa uma transição em várias de forma a paralelizar a execução de atividades.
III) A bifurcação (Fork) concatena transições advindas de diferentes atividades que foram paralelizadas por conta de uma sincronização (Join).
IV) Raias são usadas para separar atividades de diferentes sistemas.
	 
	 
	 
	
		Resposta Selecionada:
	 
.Apenas II e III são falsas. Sua resposta está incorreta. Todas afirmações são falsas. As atividades são utilizadas naturalmente para representar aspectos dinâmicos do software, não podendo então serem usadas para representar estrutura. Embora as definições apresentadas nos itens (II) e (III) estejam corretas, elas estão sendo utilizadas para definir o conceito errado. A correta definição de Join é o que se apresenta em (III) e a de Fork é o que se apresenta em (II). Um diagrama de atividades representa atividades que podem ser executadas pelo sistema sendo descrito ou ainda por diferentes atores que interagem com o sistema em questão. Para descrever essa separação de responsabilidades (que não se limitam a ser de sistemas), raias podem ser utilizadas
	Resposta Correta:
	 
.I, II, III e IV são falsas. Resposta correta. Todas afirmações são falsas. Diagramas de atividades representam comportamentos e não estruturas. As definições de Join e Fork foram invertidas na questão. Raias são utilizadas para separar atividades executadas por diferentes atores que podem ser unidades ou papéis organizacionais, ou mesmo outros sistemas, mas não se restringem a sistemas.
 
	Feedback da resposta:
	.
	 
	 
	 
·         Pergunta 9
0,25 em 0,25 pontos
	 
	 
	 
	Em sistemas web, o padrão de arquitetura MVC é o mais largamente utilizado para organização das partes constituintes do software. Ele tem como objetivo separar informações de apresentação, de suas validações frente as regras de negócio e das manipulações de dados na base de dados da aplicação. A simplicidade na separação de responsabilidades dentro do software fez com que diferentes frameworks para diferentes linguagens de programação implementassem o MVC o que levou a popularização do padrão ao redor do globo. Sobre o modelo MVC é correto o que se afirma em:
	 
	 
	 
	
		Resposta Selecionada:
	 
.O MVC possui variações como o HMVC (hierarchical model-view-control) e o MVVM (model-view-viewmodel).
	Resposta Correta:
	 
.O MVC possui variações como o HMVC (hierarchical model-view-control) e o MVVM (model-view-viewmodel).
 
	Feedback da resposta:
	Resposta correta. Ao longo dos anos diferentes variações do MVC surgiram como forma a expandir a separação de responsabilidades de partes do programa. Exemplos disso são o HMVC que traz caraterísticas hierárquicas ao modelo precursor e o MVVM que trata de forma diferente a manipulação e ligação de dados numa camada viewmodel.
	 
	 
	 
·         Pergunta 10
0 em 0,25 pontos
	 
	 
	 
	Diagramas comportamentais são utilizados para representar, como o nome sugere, comportamentos do sistema. Esses comportamentos geralmente ilustram o funcionamento do sistema em diferentes estágios, seja mostrando a interação de funcionalidades com atores do sistema, ou mostrando a interação de funcionalidades uma com as outras, ou ainda explicitando o comportamento do sistema frente a mudança de estados de um objeto do sistema.  Sobre os diagramas comportamentais, assinale a opção com a correta correspondência entre conceito e definição:
	(1) Diagrama de Atividades
	A) é um diagrama que, ao representar aspectos dinâmicos do software, explicita a interação de funcionalidades do software com atores do sistema e mesmo com demais funcionalidades existentes
	(2) Diagrama de Estados
	B) é um diagrama que, ao representar aspectos dinâmicos do software, explicita o fluxo de controle de uma atividade para outra, esta, podendo ser passos de casos de uso, fluxos de telas, rotinasespecíficas do programa entre outros
	(3) Diagrama de Casos de Uso
	C) é um diagrama que, ao representar aspectos dinâmicos do software, explicita a transição de estados que podem ser assumidos por determinado objeto significativo do software, geralmente a realização de ações com esse objeto são condicionadas ao estado assumido pelo objeto
	(4) Diagrama de Sequência
	D) é um diagrama que, ao representar aspectos dinâmicos do software, explicita a troca de mensagens entre objetos como forma a atingir um objetivo funcional no software
	 
	 
	 
	
		Resposta Selecionada:
	 
.1-D; 2-C; 3-A e 4-B.
	Resposta Correta:
	 
.1-B; 2-C; 3-A e 4-D.
 
	Feedback da resposta:
	Sua resposta está incorreta. Diagramas de atividades não enfatizam troca de mensagens entre elementos do programa, mas sim fluxo de atividades, uma vez que seus componentes principais são atividades e não unidades do sistema. Diagrama de estados apresentam informações acerca de um objeto do sistema e das ações que levam esse objeto a mudar de estado, não há então qualquer explicitação de interação entre atores e funcionalidades ou ainda de fluxo de atividades. Diagramas de casos de uso não entram no mérito de apresentar informações sobre objetos, mas sim sobre funcionalidades sobre uma perspectiva mais geral. Por outro lado, diagramas de sequência são mais detalhistas e entram no detalhe da troca de informações entre unidades do sistema, não podendo então ser usados para descrição de funcionalidades ou atividades mais gerais.
	 
	 
	 
 
 1
Luciano Paiva
· Membro
· 
· 
· Usuários
·  6
· 7 posts
Postado September 20, 2019
         Pergunta 1
2,5 em 2,5 pontos
	 
	 
	 
	Em uma reunião para o início de desenvolvimento de um sistema, foi determinado que um dos requisitos do produto fosse a exibição de informações em planilhas eletrônicas. A equipe de desenvolvimento tem várias funções no processo de produção de um sistema, e a documentação é um processo importante, no qual, a equipe de desenvolvimento atua elaborando diversos diagramas. Um diagrama em especial é utilizado na fase de requisitos para contextualizar o uso das funcionalidades e necessidades pelos atores.
 
Qual seria o diagrama que descreveria este entendimento do sistema, entre o cliente e a equipe de desenvolvimento?
	 
	 
	 
	
		Resposta Selecionada:
	O diagrama seria o de caso de uso.
O diagrama seria montado seguindo essa ordem e especificando cada item conforme seus objetivos.
Objetivo:
Requisito:
Atores:
Prioridades:
Pré-condições:
Frequencia de uso:
Criticalidade:
Condição de Entrada:
Fluxos Alternativos:
Restrições:
Regras de Negocio:
	Resposta Correta:
	O Caso de Uso é utilizado logo no início do projeto, envolvendo o cliente, permite criar uma abstração do sistema, que pode ser visualizada tanto pelo desenvolvedor, quanto pelo cliente. O Caso de Uso e cenários mostram os atores e como eles acionam funcionalidades no sistema.
	Feedback da resposta:
	 
	
	
	
ostado April 12, 2020
· Pergunta 1
0,25 em 0,25 pontos
	 
	 
	 
	Como qualquer outra Engenharia, a de software possui uma série de metodologias certificadas e estudadas por cientistas de software, que estão disponíveis para utilização dentro das empresas.
Um artefato é algo concreto produzido dentro do processo de desenvolvimento de sistemas (documentos, diagramas, figuras e códigos). Segue uma lista de artefatos:
1. Proposta de Comercial de Software
2. Levantamento de Requisitos
3. Diagrama Relacional de Banco de Dados
4. Diagramas da UML
Com base na lista de artefatos apresentados, marque a opção que apresenta os artefatos elaborados na fase de análise de sistema:
	
	
	
	
		Resposta Selecionada:
	a. 
2, 3 e 4, apenas.
	Resposta Correta:
	a. 
2, 3 e 4, apenas.
	Feedback da resposta:
	Sua resposta está correta. A proposta comercial de software é um artefato produzido pelo gestor comercial ou analista de negócios, mas está relacionada à área comercial e de negócios.
	
	
	
 
· Pergunta 2
0,25 em 0,25 pontos
	 
	 
	 
	O diagrama de classes é um dos mais utilizado e importante da UML, servindo de apoio para a maioria dos outros diagramas. O diagrama de classes apresenta a estrutura estática ou fixa das classes onde ela representa abstrações do mundo real. Como o próprio nome diz, esse diagrama define a estrutura das classes utilizadas pelo sistema.
“Um diagrama de classes descreve os tipos de objetos presentes no sistema e os vários tipos de relacionamentos estáticos existentes entre eles”.
 Fonte: FOWLER, M. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. Tradução: João Tortello. 3. ed. Porto Alegre: Bookman, 2005. p. 52.
 
Marque a opção correta da composição de uma classe.
	
	
	
	
		Resposta Selecionada:
	e. 
Nome da classe, atributos, métodos e visibilidade.
	Resposta Correta:
	e. 
Nome da classe, atributos, métodos e visibilidade.
	Feedback da resposta:
	Resposta correta. Além do nome da classe, atributos, métodos e visibilidade, podemos declarar seus relacionamentos, herança e dependências. Essa estrutura tem como base o paradigma da orientação a objetos, na criação das classes.
	
	
	
 
· Pergunta 3
0,25 em 0,25 pontos
	 
	 
	 
	O RUP (Rational Unified Process ou Processo Unificado da Rational) é um processo definido com as melhores práticas da Engenharia de Software.
 
Representação do Ciclo de Vida RUP.
 
Fonte: RATIONAL. Software Corporation. Sobre o Rational Unified Process. São Paulo, 2002. p. 15.
Este ciclo tem como características: fases bem definidas, ciclo de iterações, prazo bem definido, esforço entre as etapas bem definidas, disciplinas e artefatos bem definidos, qualidade de desenvolvimento de software, baixo risco de desenvolvimento e permite desenvolvimento incremental.
De forma engraçada e curiosa, pela semelhança, os profissionais da área chamam a figura acima de “gráfico das baleias”. Observe que existe uma elevação ao relacionar as fases com as disciplinas, chamada de “barriga da baleia”.
O que significa esta elevação?
 
	
	
	
	
		Resposta Selecionada:
	a. 
Esforço estimado em cada fase.
	Resposta Correta:
	a. 
Esforço estimado em cada fase.
	Feedback da resposta:
	Certa resposta. Com o gráfico, conseguimos analisar a quantidade de esforço estimado em cada fase. Como gestor de projetos, tenha sempre em mãos este gráfico, ele pode te ajudar a mensurar a quantidade de esforço necessário para a próxima fase do seu projeto.
	
	
	
 
· Pergunta 4
0,25 em 0,25 pontos
	 
	 
	 
	Leia o excerto a seguir.
 “A descoberta de requisitos é o processo de reunir informações sobre o sistema requerido e os sistemas existentes e separar dessas informações os requisitos de usuário e de sistema”.
 Fonte: SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 72.
A elicitação de requisitos visa identificar, especificar, classificar e priorizar. Analise as afirmativas a seguir e marque V, para as que julgar verdadeiras, e F, para as falsas.  
 (_) Especificação de requisitos: fase de elaboração e escrita dos requisitos funcionais, não funcionais e regras de negócio, para criar o documento de Análise de Sistema, que vai reunir as definições.
(_) Negociação dos requisitos: técnica muito utilizada na engenharia de software, para levantamento de informações, com o objetivo de abstrair a maior quantidade possível de requisitos de software.
(_) Identificação dos requisitos: fase na qual pode ser aplicada a técnica de brainstorming, na qual o cliente deseja expor todas as suas necessidades e problemas dentro da empresa, ou de seu departamento.
(_) Priorização dos requisitos: caso tenha problema em definir prioridades junto ao cliente, por exemplo, se ele quer definir tudo como prioritário, cabe aplicar uma técnica mais eficaz de classificação de prioridades, como a de MoSCoW.
Agora, assinale a alternativa que apresenta a sequência correta de respostas. 
	
	
	
	
		Resposta Selecionada:
	b. 
V, F, V, V.
	Resposta Correta:
	b. 
V, F, V, V.
	Feedback da resposta:
	Resposta correta. A definição dos requisitosé uma das partes mais críticas do processo de desenvolvimento de software. Técnicas de levantamento de requisitos são utilizadas a todo momento, com o objetivo de coletar e abstrair informações.
	
	
	
 
· Pergunta 5
0,25 em 0,25 pontos
	 
	 
	 
	Os modelos de ciclo de vida para o desenvolvimento de software são formados por processos abstratos, que definem a forma de produção de um sistema. Ao longo do tempo foram criados diversos modelos, cada um com suas vantagens e desvantagens em relação ao processo, entrega do produto, negócio e satisfação do cliente. O princípio básico dos modelos de ciclo de vida para o desenvolvimento de software é definir as etapas e a ordem em que as atividades devem ser executadas. O modelo em cascata apresenta algumas características importantes, como vemos a seguir.   
1. As fases do modelo cascata são bem definidas: Comunicação, Planejamento, Modelagem, Construção e Implantação;
2. O modelo cascata não possui pontos de controle bem definidos, o que permite alta probabilidade de retrabalho, já que não funciona no formato de espiral e prototipagem.
3. No ciclo de cascata, as fases são bem definidas, por isso, só será possível passar para uma próxima fase, caso tenha a aprovação do cliente e do setor de auditoria (Ponto de Controle). Diante dessa aprovação não é permitido voltar em fases anteriores, tendo baixa possibilidade de retrabalho.
4. No modelo de cascata ao passar de uma fase para outra é feita uma auditoria na fase finalizada, para que ela tenha um alto nível de qualidade. Este procedimento é chamado de Pontos de Controle.
Diante as características apresentadas, assinale a opção que apresenta somente afirmativas verdadeiras.
	
	
	
	
		Resposta Selecionada:
	a. 
1, 3 e 4, apenas.
	Resposta Correta:
	a. 
1, 3 e 4, apenas.
	Feedback da resposta:
	Resposta correta. Você conseguiu relacionar diversas características importantes dentro dos modelos existentes. O modelo de cascata possui uma baixa possibilidade de retrabalho, pois uma das principais características deste ciclo é a definição clara dos pontos de controle, ao passar de uma fase para outra.
	
	
	
 
· Pergunta 6
0,25 em 0,25 pontos
	 
	 
	 
	Os requisitos (no contexto da engenharia de software) representam o levantamento e abstrações de informações que contribuem com o processo de desenvolvimento de software e sua manutenção.
Os requisitos funcionais descrevem as funcionalidades (telas) que o sistema de informação deve ter.
 Veja o exemplo de um requisito funcional:
O XB Plus deve permitir que o gerente faça a abertura de conta para um novo cliente.
De forma a evitar ambiguidade ou interpretação incorreta das informações, a elaboração dos requisitos deve seguir um padrão. O padrão de construção adotado, no exemplo apresentado, está sublinhado.
 O que significam estes sublinhados na construção do requisito?
	
	
	
	
		Resposta Selecionada:
	a. 
Sistema cuja funcionalidade deve ser desenvolvida; ator; funcionalidade.
	Resposta Correta:
	a. 
Sistema cuja funcionalidade deve ser desenvolvida; ator; funcionalidade.
	Feedback da resposta:
	Certa resposta. Manter um padrão de escrita dos requisitos funcionais evita erros e problemas de interpretação no momento de leitura do cliente, usuário ou membro da equipe.
	
	
	
 
· Pergunta 7
0,25 em 0,25 pontos
	 
	 
	 
	A modelagem de sistemas é uma das disciplinas do processo de produção de software, com maior efetividade na fase de elaboração. É um processo abstrato, que exige experiência e conhecimento, representado por modelos, tabelas, gráficos, diagramas ou fluxogramas, de maneira que cada artefato criado, apresente uma visão diferente para solução funcional que atenda a necessidade do cliente. Atualmente UML (Unified Modeling Language) é a principal técnica de modelagem na construção de sistemas de informação.
 
Fonte: Elaborada pelo autor, 2018.
Com base no diagrama apresentado, marque a opção que melhor descreve este diagrama.
 
	
	
	
	
		Resposta Selecionada:
	c. 
O Caso de Uso descreve, de forma visual, um conjunto de funcionalidades presentes no sistema, ou que deve ser desenvolvido, com objetivo de apresentar uma parte do sistema, ou todo seu funcionamento.
	Resposta Correta:
	c. 
O Caso de Uso descreve, de forma visual, um conjunto de funcionalidades presentes no sistema, ou que deve ser desenvolvido, com objetivo de apresentar uma parte do sistema, ou todo seu funcionamento.
	Feedback da resposta:
	Certa resposta. Após a definição e validação dos requisitos do sistema, é criado o Diagrama de Caso de Uso, que é a representação visual dos requisitos levantados.
	
	
	
 
· Pergunta 8
0,25 em 0,25 pontos
	 
	 
	 
	A Programação eXtrema (eXtreme Programming), ou somente XP, é uma metodologia aplicável em pequenos e médias equipes. Normalmente a XP é adotada quando os requisitos são vagos, de difícil definição, ou que sofrem constantes mudanças. Neste ambiente, a utilização de metodologias ágeis ganha força, permitindo ajustes ao longo do desenvolvimento e possibilitando pequenas entregas que serão imediatamente incorporadas e disponibilizadas para os usuários.
A programação em pares é uma das práticas da XP que pode ser aplicada pelos gestores e desenvolvedores. Nela, se trabalha em pares, em um mesmo computador.
 Marque a alternativa que melhor descreve a programação em par.
	
	
	
	
		Resposta Selecionada:
	a. 
Em tarefas complexas, a programação em par em um mesmo computador, pode ser utilizada de forma a diminuir a quantidade de erros e gerar valor agregado para o sistema.
	Resposta Correta:
	a. 
Em tarefas complexas, a programação em par em um mesmo computador, pode ser utilizada de forma a diminuir a quantidade de erros e gerar valor agregado para o sistema.
	Feedback da resposta:
	Correto. Você entendeu as vantagens dessa estratégia no desenvolvimento do sistema. A programação em par, feita por dois programadores em apenas um computador, é utilizada para resolver problemas e tarefas complexas dentro do projeto.
	
	
	
 
· Pergunta 9
0,25 em 0,25 pontos
	 
	 
	 
	A arquitetura do projeto é um fator essencial para o sucesso. Antes do desenvolvimento propriamente dito é necessário definir algumas diretrizes:
 a) tipos de arquiteturas disponíveis;
b) vantagens e desvantagens de cada arquitetura;
c) definição da arquitetura apropriada para o sistema proposto.
 
 
Certamente que cada tipo de arquitetura possui suas vantagens e desvantagens, então, cabe fazer um estudo do tipo de aplicação a ser desenvolvida para a definição da arquitetura que será utilizada.
O padrão MVC (modelo-visão-controlador, do inglês Model-View-Controller) é largamente utilizado na produção de sistema. Este padrão consiste na atribuição de responsabilidades para as classes e suas interações. 
Sobre as características do padrão MVC, marque a alternativa correta.
	
	
	
	
		Resposta Selecionada:
	d. 
As classes de Fronteira ou Visão (View) tem como responsabilidade a interação com o usuário do sistema, se ela acionada via mouse, teclado ou outro tipo de periférico.
	Resposta Correta:
	d. 
As classes de Fronteira ou Visão (View) tem como responsabilidade a interação com o usuário do sistema, se ela acionada via mouse, teclado ou outro tipo de periférico.
	Feedback da resposta:
	Sua resposta está correta. O padrão MVC (modelo-visão-controlador, do inglês Model-View-Controller) é utilizado na produção de sistema. Este padrão consiste na atribuição de responsabilidades para as classes e suas interações.
	
	
	
 
· Pergunta 10
0,25 em 0,25 pontos
	 
	 
	 
	Alguns diagramas da UML são de representações técnicas, que devem ser construídos para definição da arquitetura de sistemas e abstrações lógicas, a serem aplicados na programação. Por outro lado, a UML também possui diagramas que podem ser trabalhados junto ao cliente, pois melhoram o entendimento do sistema e das necessidades de projeto, sendo de fácil leitura e interpretação por todos os envolvidos no projeto.
Veja uma listagem de diagramas:
 
1. Diagrama de Caso de Uso
2. Diagramade Classes
3. Diagrama de Atividades
4. Diagrama de Objetos
5. Diagrama de Sequência
 
Considerando as informações dadas, defina quais os diagramas que podem ser trabalhados junto ao cliente.
	
	
	
	
		Resposta Selecionada:
	c. 
1 e 3.
	Resposta Correta:
	c. 
1 e 3.
	Feedback da resposta:
	Resposta correta. O diagrama de Caso de Uso ajuda na identificação dos requisitos e o de atividade no entendimento do negócio, proporcionando uma visão sistêmica ao cliente, antes mesmo do produção.
	
	
	
 1
Spidey96
· Expert
· 
· 
· Usuários
·  61
· 70 posts
Postado April 12, 2020
· Pergunta 1
0,25 em 0,25 pontos
	 
	 
	 
	“A manutenção de software é o processo geral de mudança em um sistema depois que ele é liberado para uso. O termo geralmente se aplica ao software customizado em que grupos de desenvolvimento separados estão envolvidos antes e depois da liberação.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 170.
 Sobre a manutenção de software é correto afirmar:
 I – As manutenções feitas no software podem ser simples mudanças para correção de erros de codificação, até mudanças mais extensas para correção de erros de projeto.
II – A manutenção evolutiva compreende a incorporação de novos requisitos que atendem às necessidades não levantadas inicialmente no projeto, mas necessários devido às mudança nas regras de negócio.
III – A manutenção adaptativa compreende corrigir erros que foram enviados para a produção, mas que não foram devidamente analisados e testados na fase inicial do projeto.
IV – A manutenção corretiva não é desejável, pois se supõem que todos os testes executados antes da produção já foram devidamente realizados e todas as situações de erro já foram abordados.
V – A manutenção preventiva é executada com a intenção de antecipar problemas futuros que possam acarretar erros em tempo de execução e que merecem ser tratados.
 Os enunciados verdadeiros são:
	
	
	
	
		Resposta Selecionada:
	b. 
I, II, IV, V;
	Resposta Correta:
	b. 
I, II, IV, V;
	Feedback da resposta:
	Sua resposta está correta. Os processos de manutenção foram corretamente identificados conforme a sua aplicabilidade e situação exposta. É muito importante para o desenvolvedor saber aplicar cada tipo de manutenção à situação necessária.
	
	
	
 
· Pergunta 2
0,25 em 0,25 pontos
	 
	 
	 
	Sobre a metodologia de desenvolvimento que utiliza TDD, verificamos que existe uma ordem para realizar a implementação e os testes, ou seja, em um momento, você está, efetivamente, criando um teste, em outro, está implementando o código fim, em separado. Este processo é essencial para o TDD, pois é por ele que se consegue o teste, criado com o código implementado, e, de forma incremental, vai sendo construído o código. Sobre isso, analise as afirmações abaixo.
 
1. Execute o teste (não há código de implementação, o teste não é aprovado).
2. Escreva o teste.
3. Escreva apenas o código de implementação suficiente para fazer o teste passar.
4. Execute novamente os testes.
 
Assinale a alternativa que apresenta a sequência correta para executar o TDD.
	
	
	
	
		Resposta Selecionada:
	b. 
2; 1; 3; 4.
	Resposta Correta:
	b. 
2; 1; 3; 4.
	Feedback da resposta:
	Resposta correta. A resposta está correta, para executar o TDD, deve-se sempre implementar o teste, antes do código para ser testado, mesmo que ele não exista.
	
	
	
 
· Pergunta 3
0,25 em 0,25 pontos
	 
	 
	 
	Existem diferentes níveis de testes em desenvolvimento, em nível de código. Destes, os de caixa branca, que visam analisar o que foi implementado, sobressaem-se, principalmente, por três vertentes: 
 
. os que testam objetos, métodos ou classes individualmente;
. os que analisam sua integração, ou seja, como os blocos de código funcionam, quando juntos;
. por fim, os testes de um sistema todo, considerando o código como um todo.
 
Exemplos desses testes, seriam:
 
. testar um método de uma classe;
. testar uma classe chamando outra, que acessa o banco;
. testar desde a tela, passando por uma classe que chama uma terceira indo até o banco.
 
Dentre as alternativas a seguir, marque a que apresenta os exemplos na sequência, pela ordem de testes.
	
	
	
	
		Resposta Selecionada:
	d. 
Unitário; Componentes; Sistema.
	Resposta Correta:
	d. 
Unitário; Componentes; Sistema.
	Feedback da resposta:
	Resposta correta. A sequência traz primeiro, a unidade ou classe, portanto Unitário, que se unem em componentes que tem de ser testados novamente, para ver se funcionam bem em conjunto, por último o teste de sistema, para verificar se os componentes trabalham bem em conjunto.
	
	
	
 
· Pergunta 4
0,25 em 0,25 pontos
	 
	 
	 
	“Testes de desenvolvimento incluem todas as atividades de testes que são realizadas pela equipe de desenvolvimento do sistema [...um determinado tipo de teste] em que você identifica os grupos de entradas que possuem características comuns e devem ser tratados da mesma maneira. Você deve escolher os testes dentro de cada um desses grupos.”.
SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 147.
 
Para que se possa garantir a qualidade dos testes é fundamental  escolher uma metodologia. A metodologia citada acima é considerada teste de:
	
	
	
	
		Resposta Selecionada:
	d. 
partição;
	Resposta Correta:
	d. 
partição;
	Feedback da resposta:
	Sua resposta está correta. É correto afirmar que, quando se identificam grupos com características em comum para que sejam executados os testes, conforme descrito no enunciado, é considerado um teste de partição.
	
	
	
 
· Pergunta 5
0,25 em 0,25 pontos
	 
	 
	 
	Considerando a realidade de desenvolvimento de uma empresa, é comum ter de tratar com diferentes tipos de manutenção, conforme mencionamos o código tem um tempo de vida e uso, e durante este tempo de vida, pode necessitar de alterações para manter-se. Como exemplo, abaixo temos alguns tipos de manutenções que podem ser realizadas em algum sistema, durante sua vida, por algum motivo. Considere as seguintes informações:
 
. alteração de código, devido a erros no sistema;
. alterando o sistema para funcionar em outro browser;
. desenvolvendo uma nova funcionalidade;
. refatorando o código, para evitar um problema futuro.
 
De acordo com as definições acima, estamos falando, respectivamente de quais tipos de manutenção?
 
	
	
	
	
		Resposta Selecionada:
	b. 
Corretiva, adaptativa, evolutiva e preventiva.
 
	Resposta Correta:
	b. 
Corretiva, adaptativa, evolutiva e preventiva.
 
	Feedback da resposta:
	Resposta correta. O conhecimento das diferentes formas de manutenção é fundamental para o trato com o cliente no contexto de manutenção de software, entender que corretiva é erro, adaptativa é infra, evolutiva é melhoria e preventiva é alterar, para evitar problemas futuros, é um bom começo.
	
	
	
 
· Pergunta 6
0,25 em 0,25 pontos
	 
	 
	 
	“O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados fictícios. Os resultados do teste são verificados à procura de erros, anomalias ou informações sobre os atributos não funcionais do programa.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 144.
 Para se executar uma eficiente massa de testes, Sommerville (2011) propõe um fluxo formal de testes a ser seguido. Coloque na ordem correta as etapas do fluxo de teste:
1- Preparar dados do teste.
2- Projetar casos de teste.
3- Comparar resultados para casos de teste.
4- Executar programa com dados de teste.
A ordem correta das etapas do fluxo de teste é:
	
	
	
	
		Resposta Selecionada:
	d. 
2, 1, 4, 3;
	Resposta Correta:
	d. 
2, 1, 4, 3;
	Feedback da resposta:
	Sua resposta está correta. É correta a ordem escolhida, pois para que os testes sejam realizados de forma satisfatória e que consigam abordar todas as situações possíveis, o fluxo deve seguir as etapas conforme indicado.· Pergunta 7
0,25 em 0,25 pontos
	 
	 
	 
	Ao contrário de outro tipo de teste, que tem uma relação muito próxima da codificação, este considera somente as entradas e as saídas. Pode ser aplicado em qualquer nível de teste, em todo o sistema, em um componente, ou um teste unitário. Como é um teste que se preocupa somente com a saída, ele não depende do tipo de linguagem, além disso, pode ser automatizado, um sistema externo pode realizar os testes de uma forma previamente configurada.
 
Esta definição refere-se a qual tipo de teste?
	
	
	
	
		Resposta Selecionada:
	b. 
Caixa preta.
	Resposta Correta:
	b. 
Caixa preta.
	Feedback da resposta:
	Resposta correta. Assim como dito no enunciado, o teste de caixa preta considera que o que o sistema deve receber e o que ele deve retornar, não tem interação com o código, e se o código mudar, em tese, não deve mudar os resultados do teste de caixa preta.
	
	
	
 
· Pergunta 8
0,25 em 0,25 pontos
	 
	 
	 
	“Testes de desenvolvimento incluem todas as atividades de testes que são realizadas pela equipe de desenvolvimento do sistema. O testador do software geralmente é o programador que o desenvolveu, embora nem sempre seja assim.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 147.
A ordem correta é:
 
Durante o desenvolvimento, o teste pode ocorrer em três níveis de granularidade.  Associe os níveis de granularidade da coluna da esquerda com as situações expostas na coluna à direita:
	
	
	
	
		Resposta Selecionada:
	a. 
3, 1, 2;
	Resposta Correta:
	a. 
3, 1, 2;
	Feedback da resposta:
	Sua resposta está correta. Esta correta a relação das situações expostas com a classificação da granularidade dos testes, sendo do nível centrado nas classes do código, relação entre componentes e testes globais do sistema.
	
	
	
 
· Pergunta 9
0,25 em 0,25 pontos
	 
	 
	 
	Leia o trecho abaixo.
 
“Um sistema sociotécnico que é útil, ou até essencial para uma organização, mas que foi desenvolvido com uso de tecnologias ou métodos obsoletos. Pelo fato destes sistemas frequentemente executarem funções críticas para o negócio, eles precisam ser mantidos”.
 
Fonte: SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 533.
 
Com o que estudamos no capítulo, podemos compreender que existem alguns sistemas que são necessários para a empresa e embora sejam antigos, não podem ser facilmente descartados, sem grandes impactos.
 
Estamos falando de um sistema?
	
	
	
	
		Resposta Selecionada:
	e. 
Legado.
	Resposta Correta:
	e. 
Legado.
	Feedback da resposta:
	Resposta correta. É interessante analisar o contexto de uso de sistemas legados, pois, embora não traga mais tantas vantagens para a empresa, pode estar tão integrado aos processos cotidianos, que sua troca, pode ser muito complexa, seu uso deve ser muito analisado e tentar migrá-lo deve ser analisado com muito cuidado.
	
	
	
 
· Pergunta 10
0,25 em 0,25 pontos
	 
	 
	 
	“O desenvolvimento dirigido a testes (TDD, do inglês Test-Driven Development) é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código.”.
 SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011. p. 155.
 
A sequência correta é:
Conforme enunciado acima e estudado no curso, associe as boas práticas do TDD da coluna da esquerda com as situações expostas na coluna à direita:
	
	
	
	
		Resposta Selecionada:
	c. 
3, 4, 1, 5, 2;
	Resposta Correta:
	c. 
3, 4, 1, 5, 2;
	Feedback da resposta:
	Sua resposta está correta. É muito importante para o desenvolvedor em sistema ter um conhecimento sólido sobre processos de gestão de testes para que os aplicativos sejam desenvolvidos com alto padrão de qualidade.
	
	
	
 2
DOREA
· Membro
· 
· 
· Usuários
·  3
· 5 posts
Postado October 26, 2020
· Pergunta 1
0 em 1 pontos
	 
	 
	 
	Para saber se um teste é funcional é preciso estabelecer uma metodologia adequada para o que se quer de informação, e assim ter cobertas todas as possibilidades desejadas (SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Education, 2011).
Das alternativas abaixo, assinale a que informa corretamente sobre os tipos de teste durante o desenvolvimento.
	
	
	
	
		Resposta Selecionada:
	 
.Ao executar teste de qualidade com uso de valor, não existe limite para ser definido, pois assim é possível avaliar o maior número de valores.
	Resposta Correta:
	 
.Sempre é importante testar o que é correto como resultado e também o que deve e precisa estar errado como informação final do teste de qualidade.
	Feedback da resposta:
	Resposta incorreta. Se um teste durante o processo de desenvolvimento do software não tiver parâmetros de limite e valores acertados poderão mostrar apenas o que a pessoa que está testando quer ver.
	
	
	
 
· Pergunta 2
0 em 1 pontos
	 
	 
	 
	O uso de sistemas legados ainda é muito utilizado porque permite resolver problemas do cotidiano da empresa com sucesso (PRESSMAN, R. Engenharia de Software. 8. ed. Porto Alegre: AMGH, 2016).
Das alternativas abaixo, assinale a que descreve algumas características que devem ser consideradas em um software legado.
	
	
	
	
		Resposta Selecionada:
	 
.É complemento para a empresa, uso de tecnologia obsoletas e usa atualmente.
	Resposta Correta:
	 
.Não serve à empresa, mais de 20 anos feito, sem pessoal especialista.
	Feedback da resposta:
	Resposta incorreta. Sistema legado é associado a tempos de outras tecnologias, que as boias práticas atuais não abrangem.
	
	
	
 
· Pergunta 3
1 em 1 pontos
	 
	 
	 
	Nos dias atuais, todas as empresas utilizam algum tipo de sistema, com o emprego de mais recursos em softwares competitivos, com mais velocidade e uma melhoria nos processos administrativos (SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Education, 2011).
Das alternativas abaixo, assinale a que descreve sobre o ciclo de vida do software no processo de evolução de software.
	
	
	
	
		Resposta Selecionada:
	 
.A fase de Evolução consiste no momento do sistema estar pronto para uso, e que o cliente pode detectar alguns pontos que podem melhorar.
	Resposta Correta:
	 
.A fase de Evolução consiste no momento do sistema estar pronto para uso, e que o cliente pode detectar alguns pontos que podem melhorar.
	Feedback da resposta:
	Resposta correta. O ciclo de vida de software tem as mesmas fases de qualquer desenvolvimento de produto, com início, meio e fim.
	
	
	
 
· Pergunta 4
0 em 1 pontos
	 
	 
	 
	Analise as afirmativas abaixo e a relação entre elas:
I. Como a manutenção é inevitável, precisa ser mantida
PORQUE
II. Um sistema não pode ser descartado, mesmo que não tenha mais como agregar valor.
Analisando as afirmações acima, conclui-se que:
	
	
	
	
		Res posta Selecionada:
	 
.As duas afirmações são verdadeiras, e a segunda justifica a primeira.
	Resposta Correta:
	 
.A primeira afirmação é verdadeira, e a segunda é falsa.
	Feedback da resposta:
	Resposta incorreta. Se não serve mais, não precisa efetuar manutenção.
	
	
	
 
· Pergunta 5
1 em 1 pontos
	 
	 
	 
	Teste é o ato destinado a mostrar que o programa faz o que foi proposto fazer, para descobrir defeitos, antes do uso. (SOMMERVILLE, I. Engenharia de Software . 9. ed. São Paulo: Pearson Education, 2011).
Com relação ao teste de desenvolvimento, assinale a alternativa que informa corretamente sobre as suas características.
	
	
	
	
		Resposta Selecionada:
	 
.Durante o processo de teste de desenvolvimento, o código precisa estar com o mínimo de qualidade.
	Resposta Correta:
	 
.Durante o processo de teste de desenvolvimento, o código precisa estar com o mínimo de qualidade.
	Feedback da resposta:
	Resposta correta. Como é um teste realizado com uma boa parte do sistema já feito, é preciso ter algo correto e bem feito.
	
	
	
 
· Pergunta 6
1 em 1 pontos
	 
	 
	 
	O TDD ( Test-Driven Development – Desenvolvimento Dirigido a Testes) auxilia na validação do código e dos

Continue navegando