Buscar

Gabarito - UNIVESP - 2021 - Prova - Engenharia de Software

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 7 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 7 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

GABARITO 
DISCIPLINA 
EES001 - Engenharia de Software 
APLICAÇÃO 
06/10/2021 
CÓDIGO 
DA PROVA P014/P015 
 
QUESTÕES OBJETIVAS 
Questão 1.1 
Métodos ágeis têm como objetivo apoiar o desenvolvimento, em um curto período de tempo, 
de softwares que agreguem valor à sociedade. Esses métodos definem abstrações de processos que 
são geradores de software com funcionalidades parciais (incrementos), e, a cada incremento, novas 
funcionalidades são incluídas. 
Nesse contexto, analise as afirmações abaixo e indique quais podem ser consideradas boas práticas 
para o método ágil XP: 
 
1. Fazer planejamento incremental, colocando os requisitos em cartões de história que são 
incluídas em releases com prioridades relativas e tempo de desenvolvimento. 
2. Analisar consistência, uma vez que diferentes requisitos não podem entrar em conflito. 
3. Entregar pequenas releases, desenvolvendo um conjunto mínimo de funcionalidades útil para 
fornecer o valor do negócio. Releases do sistema são frequentemente e gradualmente 
adicionadas ao primeiro release. 
4. Considerar testabilidade, uma vez que os requisitos devem poder ser validados sobre o sistema 
após ser implementado. 
5. Desenvolver projetos simples para atender às necessidades atuais do usuário e nada mais. 
 
Estão corretas apenas: 
a) 1, 2 
b) 2, 4, 5 
c) 1, 3, 5 
d) 1, 2, 3 
e) 3, 4 
 
RESOLUÇÃO 
A resposta correta é: 1, 3, 5 são boas práticas para o método ágil XP. 
 
JUSTIFICATIVA 
As boas práticas para o método ágil XP são: 
1. planejamento incremental: colocar os requisitos em cartões de história que são incluídas em 
releases com prioridades relativa e tempo de desenvolvimento. 
2. pequenas releases: desenvolver um conjunto mínimo de funcionalidades útil para fornecer o 
valor do negócio. Releases do sistema são frequentemente e gradualmente adicionadas ao 
primeiro release. 
3. projeto simples: desenvolver cada projeto para atender às necessidades atuais do usuário e 
nada mais. 
4. desenvolvimento test-first: fazer testes iniciais automatizados para escrever os testes para 
uma nova funcionalidade. 
5. refatoração: refatorar o código continuamente para encontrar melhorias de código. Isso 
mantém o código simples e manutenível. 
6. programação em pares: programar em dois para ter backup do código e ideias. 
7. propriedade coletiva: trabalhar em grupos com ideias compartilhadas. 
8. integração contínua: ao concluir o trabalho em uma tarefa, esse trabalho deve ser integrado 
ao sistema como um todo. 
9. ritmo sustentável: trabalhar em ritmo saudável sem hora extra. 
10. cliente no local: trazer o cliente para a equipe de desenvolvimento de modo que possa 
resolver dúvidas de requisitos 
 
Consistência e testabilidade são problemas que afetam a qualidade do produto de processo e final, 
porém não são listados em aula como prática de XP. 
 
 
Questão 1.2 
Especificação de software, desenvolvimento de software, validação de software e evolução de 
software são as principais atividades de qualquer modelo de processo de engenharia de software. 
Considerando o contexto apresentado, qual atividade pretende garantir que o software é o produto 
(ou solução) que o cliente quer? 
a) Depuração de software. 
b) Manutenção de software. 
c) Validação de software. 
d) Evolução de software. 
e) Codificação de software. 
 
RESOLUÇÃO 
A resposta correta é: Validação de software. 
 
JUSTIFICATIVA 
• Depuração é uma subatividade de teste cujo objetivo é buscar um erro anunciado. 
• Codificação de software é a atividade em que os modelos de projeto são transformados 
em código. 
• Validação de software é a atividade em que o software é verificado para garantir que é 
o que o cliente quer. 
• Evolução ou manutenção de software são atividades de alteração do software para 
refletir a mudança de requisitos do cliente e do mercado. 
 
 
 
Questão 1.3 
O primeiro modelo do processo de desenvolvimento de software a ser publicado foi derivado de 
processos mais gerais da engenharia de sistemas ou mesmo da engenharia de produtos 
manufaturados. Esse modelo é um exemplo de um processo dirigido a planos, e seus principais 
estágios refletem diretamente e sequencialmente as atividades principais do desenvolvimento de 
software. A descrição apresentada refere-se a qual modelo? 
 
Modelo em cascata. 
Modelo ágil. 
Modelo UML. 
Modelo Orientado a Reuso. 
Modelo de Sistemas. 
 
RESOLUÇÃO 
A resposta correta é: Modelo em cascata. 
 
JUSTIFICATIVA 
O primeiro modelo do processo de desenvolvimento de software a ser publicado foi derivado de 
processos mais gerais da engenharia de sistemas. Por causa do encadeamento entre uma fase e outra, 
esse modelo é conhecido como modelo em cascata, ou ciclo de vida de software. O modelo em cascata 
é um exemplo de um processo dirigido a planos. 
 
 
Questão 1.4 
Segundo Sommerville, existem basicamente dois tipos de produtos de software, os Produtos 
Genéricos (PG) e os Produtos Sob Encomenda (PSE). 
 
Relacione o tipo de produto da coluna I com a respectiva situação, característica, contexto ou definição 
exemplificados na coluna II: 
 
COLUNA I COLUNA II 
1. Produtos Genéricos (PG) 
2. Produtos Sob Encomenda (PSE) 
[ ] vendidos no mercado para serem adquiridos 
por qualquer cliente. 
[ ] chamados também de softwares de 
prateleira. 
[ ] sistemas solicitados por um cliente 
considerando requisitos específicos. 
[ ] ferramentas de banco de dados. 
[ ] sistema de controle de saúde para uma 
empresa específica. 
[ ] sistemas antivírus. 
 
 Assinale a alternativa que apresenta a sequência correta: 
a) 1 - 1 - 2 - 1 - 2 - 1 
b) 1 - 2 - 2 - 1 - 1 - 2 
c) 2 - 1 - 2 - 2 - 2 - 1 
d) 1 - 1 - 2 - 1 - 2 - 2 
e) 2 - 2 - 1 - 1 - 1 - 1 
 
 
RESOLUÇÃO 
A resposta correta é: 1 – 1 – 2 – 1 – 2 - 1. 
 
JUSTIFICATIVA 
Produtos Genéricos (PG) são aqueles sistemas do tipo stand-alone, os quais são vendidos no mercado 
para serem adquiridos por qualquer cliente que tenha interesse nas funcionalidades que este fornece. 
Eles também são chamados também de softwares de prateleira, por exemplo, ferramentas de banco 
de dados, antivírus, processadores de texto, entre outros. Incluem também algumas aplicações para 
um propósito específico, mas apoiada por requisitos que praticamente não se modificam, como 
sistemas de contabilidade, entre outros. 
Produtos Sob Encomenda (PS) são aqueles sistemas solicitados por um cliente em particular, para 
serem desenvolvidos por uma empresa de software para uso exclusivo. Por exemplo, um sistema de 
controle de saúde para uma empresa específica. 
 
 
Questão 1.5 
Modelagem de sistema é o processo de desenvolvimento de modelos abstratos de um sistema. Cada 
modelo apresenta uma visão ou perspectiva diferente do sistema. Os modelos são usados durante o 
processo de engenharia de requisitos para ajudar a extrair e analisar os requisitos do sistema. O uso 
de diagramas definidos em UML tornou-se uma linguagem de modelagem-padrão para modelagem 
orientada a objetos, a qual fornece diferentes tipos de diagramas para apoiar a criação de diferentes 
modelos de sistema. 
 
Considerando o contexto apresentado, qual é o diagrama que mostra as interações entre os atores e o 
sistema, e entre os componentes do sistema, considerando principalmente a ordem em que elas 
acontecem? 
a) Diagramas de atividade. 
b) Diagramas de casos de uso. 
c) Diagramas de sequência. 
d) Diagramas de classe. 
e) Diagramas de estado. 
 
RESOLUÇÃO 
A resposta correta é: Diagrama de sequência. 
 
JUSTIFICATIVA 
• Diagramas de atividade mostram as atividades envolvidas em um processo ou no 
processamento de dados. 
• Diagramas de casos de uso mostram as interações entre um sistema e seu ambiente. 
• Diagramas de sequência mostram as interações entre os atores e o sistema,e entre os 
componentes do sistema, considerando a ordem em que elas ocorrem. 
• Diagramas de classe mostram as classes de objeto no sistema e as associações entre elas. 
• Diagramas de estado mostram como o sistema reage aos eventos internos e externos. 
 
 
 
Questão 1.6 
Uma empresa de tecnologia desenvolveu um sistema para manipulação e visualização de imagens 
médicas, radiologia, tomografia, ultrassom, entre outros. O sistema é usado por diversos hospitais e 
clínicas utilizando um padrão universal conhecido com DICOM (Digital Imaging and Communications in 
Medicine). Esse padrão permite que diferentes sistemas e ambientes compartilhem essas imagens. 
 
Analisando a descrição desse sistema, podemos afirmar que: 
a) o software para manipulação e visualização de imagens é um produto sob encomenda. 
b) o software para manipulação e visualização de imagens foi desenvolvido para uso exclusivo de 
um determinado cliente. 
c) o software para manipulação e visualização de imagens pode ser considerado um software 
genérico. 
d) o software para manipulação e visualização de imagens pode ser considerado um software 
embutido. 
e) DICOM, por ser um padrão, garante que o software desenvolvido seja considerado um 
software de prateleira. 
 
RESOLUÇÃO 
A resposta correta é: o software para manipulação e visualização de imagens pode ser considerado um 
software genérico. 
 
 
JUSTIFICATIVA 
No capítulo 1 do livro de Sommerville, das páginas 2 a 6, o autor divide em um primeiro momento o 
desenvolvimento de software em dois tipos: genéricos e sob encomenda. O sistema descrito no 
enunciado caracteriza um software genérico conforme a descrição a seguir. 
 
1. Produtos genéricos. Existem sistemas stand-alone, produzidos por uma organização de 
desenvolvimento e vendidos no mercado para qualquer cliente que esteja interessado em 
comprá-los. Exemplos desse tipo de produto incluem softwares para PCs, como ferramentas de 
banco de dados, processadores de texto, pacotes gráficos e gerenciamento de projetos. 
Também incluem as chamadas aplicações verticais projetadas para um propósito específico, 
como sistemas de informação de bibliotecas, sistemas de contabilidade ou sistemas de 
manutenção de registros odontológicos. 
2. Produtos sob encomenda. Estes são os sistemas encomendados por um cliente em 
particular. Uma empresa de software desenvolve o software especialmente para esse cliente. 
Exemplos desse tipo de software são sistemas de controle de dispositivos eletrônicos, sistemas 
escritos para apoiar um processo de negócio específico e sistemas de controle de tráfego 
aéreo. 
 
 
Questão 1.7 
Um padrão de arquitetura é uma descrição abstrata de boas práticas experimentadas e testadas em 
diferentes sistemas e ambientes. Atualmente, padrões de arquitetura são amplamente utilizados como 
uma forma de apresentar, compartilhar e reusar o conhecimento sobre sistemas de software. 
Considerando o contexto apresentado, qual das arquiteturas é usada quando existem várias maneiras 
de visualizar e interagir com dados? 
a) Arquitetura MVC. 
b) Arquitetura em camadas. 
c) Arquitetura de repositório. 
d) Arquitetura cliente-servidor. 
e) Arquitetura duto e filtro. 
 
RESOLUÇÃO 
A resposta correta é: Arquitetura MVC. 
 
JUSTIFICATIVA 
• A arquitetura MVC separa a apresentação e a interação dos dados do sistema. O sistema é 
estruturado em três componentes lógicos que interagem entre si. Modelo, Visão e Controlador. 
Recomendada para usar quando existem várias maneiras de visualizar e interagir com dados. 
• A arquitetura em camadas organiza o sistema em camadas com a funcionalidade relacionada 
associada a cada camada. É usada na construção de novos recursos em cima de sistemas 
existentes; quando o desenvolvimento está espalhado por várias equipes, com a responsabilidade 
de cada equipe em uma camada de funcionalidade; quando há um requisito de proteção 
multinível. 
• Na arquitetura de repositório, todos os dados em um sistema são gerenciados em um repositório 
central, acessível a todos os componentes do sistema. A arquitetura de repositório é usada 
quando se tem um sistema no qual grandes volumes de informações são gerados e precisam ser 
armazenados por um longo tempo. 
• Em uma arquitetura cliente-servidor, a funcionalidade do sistema está organizada em serviços — 
cada serviço é prestado por um servidor. Os clientes são os usuários desses serviços e acessam os 
servidores para fazer uso deles. É usado quando os dados em um banco de dados compartilhado 
precisam ser acessados a partir de uma série de locais. 
• Na arquitetura duto e filtro, o processamento dos dados em um sistema está organizado de modo 
que cada componente de processamento (filtro) seja discreto e realize um tipo de transformação 
de dados. Os dados fluem (como em um duto) de um componente para outro para 
processamento. Esse tipo de arquitetura é usado em aplicações de processamento de dados 
(tanto as baseadas em lotes quanto as baseadas em transações) em que as entradas são 
processadas em etapas separadas para gerarem saídas relacionadas. 
 
 
QUESTÃO DISSERTATIVA 
 
Questão 2 
Atualmente, sistemas distribuídos estão presentes para atender diferentes demandas. Defina o 
conceito de arquitetura orientada a serviços (SOA, do inglês Service-Oriented Architectures). Também cite 
e descreva os principais padrões SOA. 
 
RESOLUÇÃO 
As arquiteturas orientadas a serviços (SOA, do inglês Service-Oriented Architectures) são uma forma de 
desenvolvimento de sistemas distribuídos em que os componentes de sistema são serviços 
autônomos, executando em computadores geograficamente distribuídos. Usando um serviço web, as 
organizações que desejam disponibilizar suas informações para outros programas podem fazê-lo 
definindo e publicando uma interface de web services. 
 
Os principais padrões para SOA de web são: 
1. SOAP. Esse é um padrão de trocas de mensagens que oferece suporte à comunicação entre 
os serviços. 
2. WSDL. A linguagem de definição de web service (do inglês Web Service Definition Language) é 
um padrão para a definição de interface de serviço. 
3. WS-BPEL. Esse é um padrão para uma linguagem de workflow. 
 
RUBRICAS | CRITÉRIOS DE CORREÇÃO 
Atribua 40% da nota para a descrição do SOA e 20% da nota para cada padrão citado e descrito 
corretamente.

Continue navegando