Prévia do material em texto
Conceitos da engenharia de software
https://marathoncode.blogspot.com/2012/07/uma-breve-historia-da-engenharia-de_10.html
https://www.youtube.com/embed/0JgQGJ92uI8
https://biblioteca-a.read.garden/viewer/9788563308443/capa
https://biblioteca-a.read.garden/viewer/9786558040118/6
1) O que foi a Crise de Software?
A) A Crise de Software permitiu o desenvolvimento de software de alta qualidade já que houve
um aumento da concorrência.
B) A Crise de Software foi um termo que surgiu nos anos 70. O termo expressava as dificuldades
do desenvolvimento de software frente ao rápido crescimento da demanda por software.
C) A Crise de Software foi acompanhada pela Crise de Hardware, que acabou gerando inúmeros
desempregos na década de 70.
D) A Crise de Software foi um termo criado para expressar momentos em que um sistema
apresenta processamento lento.
E) A Crise de Software ocorreu após a Segunda Guerra Mundial quando nenhum software era
vendido.
2) Qual foi o motivo da criação da Engenharia de Software?
A) A Engenharia de Software foi criada porque nenhum software disponível antes da Engenharia
de Software conseguia realizar cálculos complexos.
B) A Engenharia de Software foi criada para permitir o uso de elementos da engenharia de forma
controlada e sistemática no desenvolvimento de software. Também para evitar a Crise de
Software.
C) A Engenharia de Software foi criada para acelerar o desenvolvimento de software no Brasil.
D) A Engenharia de Software foi criada para facilitar o uso de software.
E) A Engenharia de Software foi criada para permitir que a produção de novos sistemas
tivessemais elementos gráficos e amigáveis ao usuário.
3) Com a introdução da Engenharia de Software, o que mudou no processo de desenvolvimento
de software?
A) Iniciou-se o uso de técnicas e metodologias sistemáticas e controladas já presentes na
engenharia e amplamente utilizadas em outras áreas.
B) A Engenharia de Software melhorou o entendimento do desenvolvedor na leitura dos requisitos
de Software.
C) Aumentaram as vendas de sistemas de software na década de 80.
D) Permitiu que mais pessoas pudessem ter acesso a sistemas de software.
E) Removeu da criação de software as técnicas e metodologias sistemáticas e controladas já
presentes na engenharia e amplamente utilizadas em outras áreas.
4)
João, dono de uma empresa de software, tem que criar um sistema para um cliente. Até o
momento, o cliente fez apenas uma ligação informando o tipo de software que ele quer. Qual a
primeira coisa que João deve fazer?
A) Ir para a sua empresa e começar a programar imediatamente.
B) Modelar algumas telas do sistema e perguntar ao cliente a sua opinião.
C) Contratar uma grande equipe de desenvolvedores para criar o software o mais rápido
possível.
D) Entender o negócio do cliente e realizar reuniões para mensurar o que ele precisa.
E) Informar para o cliente que em um mês o sistema estará em pleno funcionamento, além de
informar qual será o custo do sistema.
5) Qual é a base dos elementos da Engenharia de Software?
A) Métodos.
B) Ferramentas.
https://marathoncode.blogspot.com/2012/07/uma-breve-historia-da-engenharia-de_10.html
https://www.youtube.com/embed/0JgQGJ92uI8
https://biblioteca-a.read.garden/viewer/9788563308443/capa
C) Foco na qualidade.
D) Processo.
E) Conceitual.
Conhecer as fases do ciclo de vida de software
1) O que é um ciclo de vida de software?
A) Ciclo de vida de software refere-se aos estágios de concepção, projeto, criação e
implementação de um software.
B) Ciclo de vida de software refere-se aos estágios de levantamento de requisitos.
C) Ciclo de vida de software refere-se ao tempo de implementação estimado pelo analista.
D) Ciclo de vida de software refere-se aos estágios de análise do software.
E) Ciclo de vida de software ocorreu antes da Crise do Software, em 1970.
2) Em qual fase do ciclo de vida de software são definidas as questões técnicas, como banco de
dados, localização, hardware e linguagens de programação?
A) Na fase de projeto.
B) Na fase de levantamento de requisitos.
C) Na fase de implementação.
D) Na fase de testes e manutenção.
E) Em nenhuma fase, estas questões são decididas pelo programador.
3) No ciclo de vida de software, o que é realizado na etapa de "levantamento das necessidades"?
A) É realizada a implementação do sistema.
B) É realizada uma verificação de todas as necessidades do cliente.
C) É realizada a análise de requisitos.
D) São realizados testes no sistema para verificar quais as necessidades de implementação.
E) É a etapa onde o sistema é entregue para o usuário/cliente.
4) A figura ilustra um modelo de desenvolvimento de software no qual o fluxo é visto como um fluir
constante através das fases. Esse modelo utiliza como entrada as informações obtidas nas fases
anteriores e cada fase só inicia após o término da que antecede (não existindo fases em
paralelo). Com base nessas informações, qual é o modelo apresentado na figura?
A) Modelo V.
B) Cascata.
C) Espiral.
D) Prototipagem.
E) Incremental.
5) Qual é o maior problema encontrado no modelo cascata?
A) Nenhum. O sistema cascata foi utilizado durante anos e até o momento não precisou de
correções.
B) É um modelo bastante simples.
C) O sistema prevê a revisão das fases e é totalmente iterativo.
D) Apresenta o problema de reatividade a mudanças.
E) O modelo cascata é top-down e isso faz com que o software seja construído de maneira
incorreta
Entender a fase de projeto (modelagem) de um sistema
https://www.devmedia.com.br/modelagem-de-sistemas-atraves-de-uml-uma-visao-geral/27913
https://www.macoratti.net/proc_sw1.htm
Qual destes conceitos se refere ao diagrama de atividades?
A) Estes diagramas utilizam como primitivas atores, casos de uso e relacionamentos.
B) É um diagrama de estado no qual considera-se que todos, ou a grande maioria dos estados,
representam as execuções de atividades.
C) Este é um dos principais diagramas da UML e dos projetos de software, pois eles descrevem o
esqueleto do sistema sendo projetado.
D) Considerado uma evolução do diagrama de sequências, este descreve a colaboração que é
realizada entre os objetos através da comunicação.
E) É um grafo dirigido cujos nodos representam estados e cujos arcos representam transições
entre estados.
2)
O diagrama de estados é um grafo dirigido cujos nodos representam estados e cujos arcos
representam transições entre estados. Qual das imagens abaixo mostram um diagrama de
estados?
A) Diagrama de sequencia
b) Diagrama de classe
https://www.devmedia.com.br/modelagem-de-sistemas-atraves-de-uml-uma-visao-geral/27913
https://www.macoratti.net/proc_sw1.htm
c) diagrama de estados
d) diagrama de caso de uso
e) diagrama de atividade
O uso de diagramas apresenta uma grande quantidade de vantagens para um projeto de
software. Das vantagens apresentadas abaixo, qual possui uma relação direta com questões
de visão arquitetural do software, permitindo o entendimento de módulos e partes do
sistema?
A) Visão mais abrangente do sistema.
B) Facilita o levantamento de informações.
C) Facilita o entendimento pelos desenvolvedores.
D) Permite esclarecer as atribuições de cada elemento do sistema.
E) Permite o desenvolvimento de software dentro do prazo estipulado.
4)
Qual é a primeira atividade que deve ser realizada durante a fase de projeto e que
representa como o sistema será composto, considerando suas diversas partes?
A) Representação da arquitetura do sistema
B) Modelagem de interfaces.
C) Projeto de componentes.
D) Criação do modelo de projeto.
E) Implementação e programação do sistema.
5)
Podemos definir a fase de projeto como "a transformação de requisitos de software em uma
descrição". Considerando isso, qual das alternativas melhor descreve a entrada e a saída de
uma fase de projeto?
A) Entrada: especificação de requisitos. Saída: modelos e artefatos que documentam as
principais decisõestomadas.
B) Entrada: modelos e artefatos que documentam as principais decisões tomadas. Saída:
especificação de requisitos.
C) Entrada: dados do cliente. Saída: requisitos de software.
D) Entrada: requisitos de software. Saída: software pronto para ser entregue.
E) A entrada e a saída da fase de projeto de um sistema são módulos de sistemas que são
criados de forma iterativa.
Analisar e desenvolver Plano de Projeto
https://biblioteca-a.read.garden/viewer/9786558040118/4
https://www.elirodrigues.com/2016/04/23/como-fazer-um-plano-de-projeto-completo-com-
exemplos-e-template/
1) O que é um plano de projeto de software?
https://biblioteca-a.read.garden/viewer/9786558040118/4
https://www.elirodrigues.com/2016/04/23/como-fazer-um-plano-de-projeto-completo-com-exemplos-e-template/
https://www.elirodrigues.com/2016/04/23/como-fazer-um-plano-de-projeto-completo-com-exemplos-e-template/
A) É um documento que contém um conjunto de informações e permite não apenas executar o
projeto, mas também monitorar seu progresso e verificar se o executado está em
conformidade com o planejado.
B) Trata-se de um roteiro de utilização do sistema.
C) Ele define e coleta medidas (do processo, do projeto e do produto). Auxilia na entrega do
software de acordo com os requisitos; pode ser usada com as demais atividades
(metodológicas e de apoio).
D) Engloba as atividades necessárias para criar artefatos como, por exemplo, modelos,
documentos, logs, formulários e listas.
E) O plano de projeto é um documento nada essencial para o sucesso de um projeto e não é
utilizado em nenhum momento do desenvolvimento.
2) Projeto é a única maneira pela qual podemos transformar precisamente os requisitos dos
envolvidos em um produto ou sistema de software finalizado.
Qual elemento do plano de projeto descreve os objetivos do projeto a ser desenvolvido e as
restrições que afetam seu gerenciamento?
A) Análise de riscos.
B) Organização do projeto.
C) Introdução.
D) Divisão do trabalho.
E) Cronograma do projeto.
3) Qual das características do plano de projeto permite que o time de desenvolvedores, analistas,
gerentes e outros membros entendam qual seu papel no projeto?
A) Um plano de projeto possui um roadmap dos artefatos a serem entregues.
B) Um plano de projeto possui uma linguagem 'comum' para comunicação das atividades do
projeto e responsabilidades do time, bem como a rastreabilidade e relatórios dessas
atividades.
C) Um plano de projeto possui mecanismos de resolução de conflitos e mitigação ou atenuação
de riscos.
D) Um plano de projeto possui um escopo de projeto bem definido.
E) Um plano de projeto possui o código fonte do software.
4) Pedro é gerente de um projeto e criou, junto ao seu time, um plano de projeto para um novo
software que será desenvolvido. Dos itens a seguir, quais podem estar presentes em um
plano de projeto, ajudando Pedro a pensar, prever e talvez evitar possíveis problemas que
podem ocorrer durante o projeto e afetar o resultado final?
A) A descrição de como os processos de gerência serão utilizados.
B) O monitoramento e controle das mudanças.
C) Os baselines para cronograma, custo e qualidade.
D) O calendário para recursos utilizados.
E) O mapeamento de riscos de projeto.
5) Um plano de projeto de acordo com o PMBOK é um documento formal e aprovado, utilizado
para orientar a execução e o controle do projeto. Sobre plano de projeto podemos afirmar
que:
A) Possuem mecanismos de geração de relatório, que são documentos gerenciais que devem ser
produzidos para o projeto.
B) A organização de projeto descreve as seções do documento, os objetivos do projeto e os
custos do projeto.
C) O cronograma estabelece a partição do projeto em atividades e identifica os milestones e os
resultados associados a cada atividade.
D) A análise de riscos define as restrições que afetam o gerenciamento do projeto e mostra as
dependências entre as atividades.
E) A agenda do projeto mostra a estimativa de tempo necessário para chegar a cada milestone e
concluir todas as atividades. É utilizado também para calcular os custos dos envolvidos no
projeto.
Manutenção de Software
https://www.devmedia.com.br/manutencao-de-software-definicoes-e-dificuldades-artigo-revista-
sql-magazine-86/20402
1) Qual das descrições apresentadas define melhor a manutenção de software?
A) É o processo de melhoria e otimização de um sistema já desenvolvido, como também é o
reparo dos seus defeitos.
B) É o processo em que o software é testado em busca de falhas.
C) É a etapa em que o software é desenvolvido pelos programadores.
D) É o processo de análise das necessidades do cliente.
E) É a fase que existe o planejamento do projeto realizado pelo gerente de projetos.
2) Um sistema de controle de vendas foi entregue para o cliente após passar por uma bateria
de testes. O cliente, após dois meses de uso, notou que um dos cálculos realizados durante a
preparação do relatório de vendas diário estava errado. Então, foi solicitada a manutenção
desse software com o objetivo de ajustar esse cálculo. Essa solicitação foi de qual tipo de
manutenção?
A) Manutenção evolutiva.
B) Manutenção corretiva.
C) Manutenção adaptativa.
D) Manutenção preventiva.
E) Manutenção total.
3) Por que é importante que a manutenção do software seja prevista durante o planejamento
da criação?
A) Devido à manutenção ser realizada mais rapidamente do que a implementação do software.
B) Para que o software seja inutilizado antes do previsto.
C) Para que os desenvolvedores finalizem o projeto mais rapidamente.
D) Devido à manutenção de software, geralmente, possuir um custo mais elevado do que o
próprio desenvolvimento.
E) Para que os defeitos e falhas não sejam encontrados.
4) O processo de manutenção de software, em alguns casos, enfrenta problemas que dificultam
todo o processo. Qual é a principal causa desses problemas?
A) A maioria dos problemas com a manutenção do software é causada pelo uso de testes
unitários.
B) A maioria dos problemas com a manutenção do software é causada por implementações bem
estruturadas e codificadas, pois utiliza padrões de projetos e conceitos bem definidos.
C) A maioria dos problemas com a manutenção do software é causada pela existência de uma
documentação vasta e bem elaborada.
D) A maioria dos problemas com a manutenção do software é causada por um planejamento.
E) A maioria dos problemas com a manutenção do software é causada por deficiências na
maneira como ele foi planejado e desenvolvido.
5) O que significa manutenibilidade?
A) Manutenibilidade pode ser definida como a forma de manutenção do software.
B) Manutenibilidade pode ser definida como o conjunto de técnicas utilizadas para verificar se o
software atende às necessidades do cliente.
C) Manutenibilidade pode ser definida como a facilidade com que o software pode ser
entendido, corrigido, adaptado e/ou melhorado.
D) Manutenibilidade pode ser definida como o conjunto de técnicas de implementação de
software.
https://www.devmedia.com.br/manutencao-de-software-definicoes-e-dificuldades-artigo-revista-sql-magazine-86/20402
https://www.devmedia.com.br/manutencao-de-software-definicoes-e-dificuldades-artigo-revista-sql-magazine-86/20402
E) Manutenibilidade pode ser definida como a possibilidade de um software obter manutenção
Análise e preparo da lista de requisitos
https://www.ateomomento.com.br/priorizacao-de-requisitos/
http://www.linhadecodigo.com.br/artigo/1685/a-importancia-do-levantamento-de-requisitos-no-
sucesso-dos-projetos-de-software.aspx
1) Os requisitos de software são classificados em três níveis de prioridade durante a preparação
da lista de requisitos, sendo essencial, importante e desejável. Das alternativas abaixo, qual
justifica esta classificação de requisitos em diferentes níveis de prioridades?
A) Os recursos destinados para projetos são limitados e, em alguns casos, é necessário deixar de
lado alguns dos requisitos levantados para entregar osoftware com a qualidade esperada, mas
não completo.
B) A priorização de requisitos de software permite que o software desenvolvido execute com
melhor desempenho.
C) Devido ao tempo disponível para a criação de software, muitos projetos utilizam a
classificação dos requisitos em diferentes níveis de prioridade para que o projeto dure mais
tempo, agregando valor ao produto.
D) Devido à limitação de recursos e tempo, os requisitos são priorizados para que os mais
importantes sejam desenvolvidos primeiro e os menos importantes depois.
E) A priorização deve ocorrer para que o projeto finalize com custos mais altos que o previsto.
2) Especificação de Requisitos de Software incluir tanto os requisitos de usuário para um sistema
quanto uma especificação detalhada dos requisitos de sistema. Sobre os possíveis usuários do
Documento de Requisitos de Software podemos afirmar:
A) Clientes de sistemas – não tem acesso aos documentos de requisitos, pois este é um
documento utilizado pelos desenvolvedores, gerentes e testadores.
B) Engenheiros de sistema – usam os requisitos para compreender qual sistema será
desenvolvido
C) Gerentes – especificam e leem os requisitos para verificar se eles atendem às suas
necessidades.
D) Engenheiros de teste de sistema – usam os requisitos somente em planos de testes e em
testes de usabilidade.
E) Engenheiro de manutenção de sistema – profissional que trabalha com sistemas legados,
principalmente quando não existe o documento de requisitos.
3) O que é um requisito de negócio?
A) É um diagrama com tarefas associadas à cada papel de usuário.
B) É aquilo que existe independente do sistema/software.
C) Consistem de uma coleção de narrativas de situações no domínio que favorecem o
levantamento de informações, a identificação de problemas e a antecipação das soluções.
D) São requisitos que descrevem, em termos do negócio, o que deve ser entregue ou conseguido
para fornecer valor.
E) Representação do fluxo de informação.
4) O que é um requisito de usuário?
A) São requisitos que estabelecem detalhadamente as funções e restrições do sistema.
B) São solicitações do próprio cliente sobre o produto, como quantidade, tipo ou data de
entrega.
C) São basicamente as declarações, em linguagem natural e diagramas, sobre os serviços que o
sistema oferece e as restrições para a sua operação. Escrito para os usuários.
D) São requisitos definidos pelas tarefas que eles realizam.
E) É uma base precisa para a estimativa dos recursos (custo, pessoal, prazos, ferramentas e
equipamentos).
5) Qual das abordagens listadas necessita que o analista ou engenheiro de software seja
https://www.ateomomento.com.br/priorizacao-de-requisitos/
http://www.linhadecodigo.com.br/artigo/1685/a-importancia-do-levantamento-de-requisitos-no-sucesso-dos-projetos-de-software.aspx
http://www.linhadecodigo.com.br/artigo/1685/a-importancia-do-levantamento-de-requisitos-no-sucesso-dos-projetos-de-software.aspx
inserido no ambiente da empresa/cliente para fazer o levantamento de requisitos?
A) Observação in loco/etnografia.
B) Encontros.
C) Entrevista.
D) Ligação.
E) Contato.
Conhecer os modelos tradicionais
Qual o maior problema encontrado no modelo cascata?
A) Dificuldade em detectar alterações e melhorias durante o desenvolvimento.
B) Dificuldade em criar um protótipo.
C) Alto custo de desenvolvimento.
D) Dificuldade de gerenciamento do projeto.
E) Pouca documentação do produto.
2)
O que o modelo prototipação tentou corrigir nos modelos anteriores?
A) Falta de linearidade dos modelos anteriores.
B) O problema de comunicação entre os usuários e os desenvolvedores.
C) A falta de reúso de software.
D) A complexidade de criar software sem o uso de um modelo.
E) Os testes eram realizados antes da implementação, então o modelo modificou a ordem.
3)
Quais são as desvantagens do uso de um modelo prototipação?
A) Dificuldade de comunicação com o usuário.
B) Muita documentação.
C) Alto custo de projeto e retrabalho.
D) Ao final do projeto, os usuários geralmente não gostam do sistema.
E) O resultado geralmente é um sistema difícil de usar.
4)
O modelo espiral combinou dois modelos, o cascata e o protótipo. Além disso, ele adicionou
mais um elemento que forneceu mais segurança na criação de software. Qual elemento foi
este?
A) Criação de documentação.
B) Análise de requisitos.
C) Testes de software.
D) Protótipo de software.
E) Análise de risco.
5)
Qual a diferença do protótipo descartável e do evolutivo no modelo prototipação?
A) O protótipo descartável é criado temporariamente e depois não é mais utilizado. Já o
evolutivo utiliza o próprio sistema como protótipo e, ao longo do tempo, evolui até chegar no
produto final.
B) O protótipo descartável utiliza o próprio sistema como protótipo e, ao longo do tempo, evolui
até chegar no produto final. Já o evolutivo é criado temporariamente e depois não é mais
utilizado.
C) Nenhuma, os dois representam a mesma coisa.
D) Um deles depende da análise de risco para ser utilizado.
E) O protótipo descartável precisa de testes de software enquanto o evolutivo não.
Conhecer Modelo Incremental
https://biblioteca-a.read.garden/viewer/9788582602089/1
https://biblioteca-a.read.garden/viewer/9788563308443/capa
https://biblioteca-a.read.garden/viewer/9786558040118/4
1) No primeiro incremento do modelo incremental, que tipo de solução é oferecida ao cliente?
A) São oferecidos elementos do sistema que permitem a operação básica ao usuário.
B) É oferecido um sistema completo, com todas as funcionalidades.
C) É oferecida apenas a documentação do sistema.
D) É oferecido apenas um protótipo de telas para o cliente saber como o sistema será
implementado.
E) Não é oferecido um sistema funcional, já que este modelo linear só oferece o produto ao final
de todo o projeto.
2) O que é esperado do cliente ao término de cada incremento?
A) Um manual de utilização do sistema.
B) Descarte do protótipo.
C) Uso exaustivo do sistema para encontrar erros.
D) Uso, avaliação e feedback sobre o sistema.
E) Pagamento pelo projeto.
3) No final do último incremento, o que é esperado na entrega?
A) Apenas uma parte, incremento ou uma funcionalidade básica do sistema que esteja em
funcionamento e bem testada.
B) Um sistema parcialmente funcional.
C) Espera-se um sistema completo e funcional.
D) Espera-se que o cliente tenha as funcionalidades básicas do sistema funcionando bem e
testadas, mas não funções complementares
E) Espera-se um sistema que não atenda a nenhum dos requisitos.
4) Qual destas é uma vantagem do modelo incremental?
A) Podem surgir problemas com a integração de cada entrega incremental.
B) Usuários podem solicitar modificações no sistema durante o desenvolvimento.
C) Os usuários podem ver um protótipo de tela antes do desenvolvimento do sistema.
D) O sistema é entregue somente no final do projeto de forma integral.
E) O custo do projeto é sempre respeitado.
5) Qual destas opções é uma desvantagem do modelo incremental?
A) O orçamento previsto do projeto pode ser ultrapassado.
B) O sistema é desenvolvido respeitando os prazos.
C) Redução de riscos de atraso da entrega.
D) As partes entregues durante os incrementos não oferecem integração.
E) O projeto é alinhado com as necessidades do cliente.
Teste de Software
1) Qual destas definições representa um teste de software?
A) O teste do software é a investigação do software a fim de fornecer informações sobre sua
qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o
produto para encontrar seus defeitos.
B) Os testes de software são ações tomadas para que um projeto demore mais do que o
esperado, não sendo necessário em projetos críticos.
C) Os testes de software são realizados no início do projeto, antes da implementação do
software.
D) Testes de software buscam demonstrar a incapacidade dos desenvolvedores na criação de
soluções de qualidade.
https://biblioteca-a.read.garden/viewer/9788582602089/1https://biblioteca-a.read.garden/viewer/9788563308443/capa
https://biblioteca-a.read.garden/viewer/9786558040118/4
E) Testes de software são um conjunto de atividades realizadas somente pelo cliente quando
recebe o produto.
2) O comportamento interno do componente de software trabalha diretamente sobre o
códigofonte do componente de software para avaliar aspectos como teste de condição, teste de
fluxo de dados, teste de ciclos, teste de caminhos lógicos e códigos nunca executados. Das
técnicas apresentadas a seguir, qual avalia esse comportamento interno do componente de
software?
A) Teste de caixa-preta.
B) Teste de caixa-branca.
C) Regressão.
D) Técnicas não funcionais.
E) Caixa-cinza.
3) Qual é a fase de teste em que se testam as menores unidades de software desenvolvidas
(pequenas partes ou unidades do sistema)
A) Teste de aceitação.
B) Teste de sistema.
C) Teste de operação.
D) Teste de integração.
E) Teste de unidade.
4) O que é TDD na Engenharia de Software?
A) É um ciclo de vida desenvolvido para facilitar a criação de testes.
B) TDD é uma técnica de testes de software utilizada pelos usuários dos sistemas.
C) TDD é um modelo clássico da Engenharia de Software e não é mais utilizado.
D) TDD é um sistema usado para testar software de forma automatizada.
E) O TDD é uma técnica de desenvolvimento de software que se baseia na criação inicial de
testes de software antes mesmo do desenvolvimento.
5) O ciclo de vida de testes de software tem cinco fases: planejamento, preparação,
especificação, execução e entrega. Qual fase tem como objetivo elaborar e revisar os casos e
roteiros de testes?
A) Planejamento.
B) Preparação.
C) Execução.
D) Especificação.
E) Entrega
Modelo de Análise de Software (Orientada a Objetos)
https://www.devmedia.com.br/artigo-engenharia-de-software-2-analise-orientada-a-objetos/9150
1)
Selecione a alternativa que melhor descreve os elementos em que se baseiam os métodos
orientados a objetos:
A) São baseados no hardware, já que necessitam de uma análise de baixo nível para exploração
dos sistemas computacionais.
B) São baseados em estruturas e procedimentos.
C) São baseados em abstrações, cujo objetivo é fazer um sistema parecer mais complexo que o
necessário.
D) São baseados em elementos como variáveis e funções.
E) São baseados nos conceitos de objetos e atributos, totalidades e partes, classes e membros.
2) Durante a análise orientada a objetos, qual preocupação um engenheiro de software deve ter
para garantir que o produto criado apresente mais facilidade de criação e manutenção?
https://www.devmedia.com.br/artigo-engenharia-de-software-2-analise-orientada-a-objetos/9150
A) Em identificar quais serão os atores do sistema.
B) Em criar um diagrama de atividades.
C) Em identificar quais serão os casos de uso sistema.
D) Em conhecer a linguagem de programação, banco de dados e a arquitetura de hardware em
que o sistema será implementado.
E) Em fazer uma modelagem de forma clara e bem organizada.
Acompanhe a seguinte situação:
A loja "Compre X" precisa que um sistema seja criado para registrar os produtos comprados,
vendas e controlar as comissões dos vendedores.
- Neste sistema, os estoquistas vão realizar todo o cadastro de novos produtos, inserindo
todas as informações necessárias. Além disso, os produtos adquiridos da loja "Compre X"
serão automaticamente inseridos no sistema pelo módulo X.
- Os vendedores irão inserir informações de venda, para automaticamente os produtos
serem removidos do estoque.
- O gerente poderá realizar a análise das vendas, estoque e comissões dos vendedores.
- Já os administradores terão acesso a todas as operações dos outros usuários, além de
poder inserir vendedores, gerentes e estoquistas.
Neste sistema, todos os usuários deverão realizar login.
Identifique quais são as possíveis classes para a situação descrita:
A) Carro, Motorista e Passageiro.
B) Loja, Produto, Vendedor, Venda e Estoque.
C) Inserir vendedores e calcular comissão.
D) Realizar venda, remover produto do estoque e vender.
E) Cor, preço e data de compra.
4)
Selecione quais destas alternativas não corresponde ao uso do modelo de análise orientada
a objetos.
A) Facilidade de criação de sistemas complexos.
B) Facilidade de extensão do sistema.
C) Maior facilidade de implementação do sistema pelos desenvolvedores.
D) Facilidade de modificação do sistema.
E) Facilidade de entendimento do sistema.
5) Qual o objetivo principal do diagrama de objetos?
A) O objetivo é mostrar os objetos que foram instanciados das classes.
B) O objetivo é mostrar as classes que foram criadas no sistema.
C) O objetivo é demonstrar o sistema em forma de estruturas de funções.
D) É o mesmo objetivo do diagrama de casos de uso e de atividades, que são muito similares.
E) O objetivo é a especificação do comportamento do software, do ponto de vista funcional, ou
seja, das suas funcionalidades.
Modelo de Análise de Software (Análise Estruturada)
1) O que é um DFD?
A) É um diagrama de fluxo de dados, utilizado para mostrar as relações entre os dados,
processos que transformam esses dados e o limite entre o que pertence ao sistema e o que
está fora dele.
B) É uma ferramenta utilizada para modelar as bases de dados.
C) Trata-se de um conceito definido na década de 70 para expressar a dificuldade no
desenvolvimento de software.
D) O DFD é uma prática da Engenharia de Software para a criação de sistemas baseados em
testes de software.
E) É uma listagem de dados que mostram como os dados do sistema são formados.
Analise o DFD extraído do livro "Engenharia de Software: Os Paradigmas Clássicos & Orientado
a
Objetos" página 337:
Agora, informe o que significa o elemento com o conteúdo "process_orders (processamento de
pedidos)":
A) O elemento representa um dado de entrada.
B) O elemento representa um dado de saída.
C) O elemento representa um fluxo.
D) O elemento representa uma função.
E) O elemento representa uma tela do sistema modelado.
3) Quais dos itens a seguir é uma limitação da análise estruturada quando comparada com
outros métodos existentes?
A) A Análise estruturada utiliza modelos computacionais, diferente da Orientada a Objetos, que
usa elementos do mundo real, chamados de objetos.
B) A análise estruturada é baseada em estruturas de dados que dificultam a implementação do
sistema.
C) Não é possível representar um sistema simples com a análise estruturada.
D) Não é possível realizar testes de software quando usamos a análise estruturada para modelar
um sistema.
E) A análise estruturada não utiliza ferramentas da engenharia de software, dificultando sua
utilização.
4) Qual dos itens a seguir é uma vantagem da análise estruturada quando comparada com
outras abordagens?
A) A análise estruturada e o DFD permitem a estimativa de custo menor e de tempo maior para
um projeto.
B) Com a análise estruturada, o projeto atinge uma qualidade maior.
C) Através do diagrama de fluxo de dados, é possível se ter uma ideia mais clara do sistema
proposto.
D) Como a análise estruturada não se baseia em dados e processos, ela torna mais fácil a
modelagem de um sistema.
E) A análise estruturada obtém vantagem, pois não inclui a ferramenta DFD.
5) Em um dicionário de dados, o que os símbolos { } significam?
A) Significam que é constituído por determinado elemento.
B) Enquadram componentes opcionais.
C) Enquadram comentários.
D) Eles enquadram componentes que se repetem zero ou mais vezes.
E) Separam alternativas.
Modelos Tradicionais X Métodos Ágeis
https://www.youtube.com/embed/5oFzY1_-pXI
https://www.youtube.com/embed/XfvQWnRgxG0
https://www.youtube.com/embed/3Smbhnmue7Y
https://www.youtube.com/embed/ALvpFMcL-dI
1) O que foi o manifesto ágil?
A) Foi uma manifestação política contra a criação de software.
B) Foi um conjunto de princípios e valores criados para ajudar a desenvolver software de maiorqualidade.
C) Concentra-se na capacidade de se especificar software em um alto nível de abstração, que
esteja próximo à linguagem natural ou de se usar uma notação que comunique uma função
significativa.
D) É um método que adota a filosofia do “serial para o que é amplo” e “iterativa para o que é
particular” para o desenvolvimento de software.
E) É uma ferramenta organizada em quatro atividades metodológicas: planejamento, projeto,
codificação e testes.
2) Os métodos ágeis possuem um conjunto amplo de ferramentas e técnicas. Um deles possui
uma característica muito interessante, que é o uso de um quadro branco e pequenos papéis
coloridos que representam tarefas. Ele é utilizado para ajudar o time a gerenciar as
atividades que devem ser realizadas ao longo de um determinado período de tempo. Quais
dos itens abaixo representa a técnica descrita?
A) Kanban.
B) Scrum.
C) XP (Extreme Programming).
D) Modelo cascata.
E) Processo Unificado Ágil (AUP).
3)
"É muito mais importante que o cliente esteja plenamente satisfeito com o software e que
ele possa, durante o projeto, solicitar mudanças para obter vantagens competitivas do que
ter um plano/projeto bem definido e seguí-lo até o final para depois entregar o software ao
cliente". Dos valores expressos no manifesto ágil, qual deles que justifica essa afirmação?
A) Indivíduos e interações mais que processos e ferramentas.
B) Colaboração com o cliente mais que negociação de contratos.
C) Software em funcionamento mais que documentação abrangente.
D) Documentação e controle do planejamento mais que fornecer um software de qualidade.
E) Responder a mudanças mais que seguir um plano.
4) No fluxo de processo do scrum, o que significa "backlog"?
A) Consiste em unidades de trabalho solicitadas para atingir um requisito estabelecido no
https://www.youtube.com/embed/5oFzY1_-pXI
https://www.youtube.com/embed/XfvQWnRgxG0
https://www.youtube.com/embed/3Smbhnmue7Y
https://www.youtube.com/embed/ALvpFMcL-dI
registro de trabalho e que precisa ser ajustado dentro de um prazo já fechado.
B) São reuniões curtas (tipicamente 15 minutos), realizadas diariamente pela equipe scrum.
C) É uma lista com prioridades dos requisitos ou funcionalidades do projeto que fornecem valor
comercial ao cliente.
D) É a pessoa responsável por conduzir a reunião em equipe e avaliar as respostas de cada
integrante.
E) É a entrega do incremento de software ao cliente para que a funcionalidade implementada
possa ser demonstrada e avaliada por ele.
5) Qual é a preocupação que devemos ter ao utilizar os métodos ágeis?
A) Em criar uma vasta documentação do produto.
B) Devemos analisar se as mudanças solicitadas são possíveis.
C) Seguir os processos definidos no início do projeto.
D) Evitar reuniões com o time e conversas com o cliente para não desviar o foco do
planejamento.
E) Entregar o software somente quando ele estiver perfeito e com todas as funcionalidades.
Os processos de gerenciamento de projetos são agrupados em cinco categorias. Renata é a
gerente de projeto de desenvolvimento de software e está executando atividades para determinar,
documentar e gerenciar as necessidades e requisitos das partes interessadas, a fim de atender
todos os objetivos do projeto. Sendo assim, Renata está realizando um processo do grupo de:
a.execução
b.encerramento
c.planejamento
d.monitoramento e controle
e.iniciação
Considerando a visão tradicional da engenharia de software sobre o gerenciamento de
mudanças, qual das afirmações abaixo está correta?
a.Depois que uma solicitação de mudança é enviada, ela deve receber ação imediata e é
automaticamente atribuída para um membro da equipe de desenvolvimento iniciar sua
implementação.
b.Um registro de solicitação de mudança é uma informação sucinta, independente do tamanho do
projeto, sendo necessário apenas descrever um breve texto que contenha a mudança requerida.
.
O processo de gerenciamento de mudança é iniciado quando alguém submete uma solicitação de
mudança, que pode ser um relatório de bug, em que os sintomas do bug são descritos, ou um
pedido para que novas funcionalidades sejam adicionadas ao sistema.
d.Em métodos ágeis, os clientes não devem se envolver diretamente na decisão de uma
mudança ser implementada ou não.
e.Todas as solicitações de mudança devem ser passadas com uma análise detalhada para a
equipe de desenvolvimento.