engenharia Flashcards

p1 engenharia

1
Q

Quais são as principais diferenças entre os modelos de ciclo de vida de projeto: Cascata, Espiral, RUP e Ágil?

A

Cascata: Processo linear, onde uma fase precisa ser concluída antes de iniciar a próxima.
Espiral: Focado em gerenciamento de risco, combinando elementos de cascata com iterações baseadas em prototipagem.
RUP: Processo iterativo, dividido em 4 fases (Iniciação, Elaboração, Construção, Transição), com várias iterações dentro de cada fase.
Ágil: Foco em ciclos curtos (sprints), desenvolvimento incremental com feedback constante e entrega contínua de valor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais são as fases do RUP?

A

Iniciação
Elaboração
Construção
Transição

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como os conceitos de verificação e validação se relacionam com os testes de sistema e testes funcionais?

A

Verificação: “Estamos construindo o sistema corretamente?” (foco no processo). Relacionado a testes de sistema que verificam se os componentes do sistema estão funcionando de acordo com a diretriz

Validação: “Estamos construindo o sistema certo?” (foco no produto). Relacionado a testes funcionais, que validam se o sistema atende às necessidades do usuário, se a diretriz estava certa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qual é a diferença entre os modelos de distribuição SAAS e SWS?

A

SaaS (Software as a Service): O software é entregue como um serviço pela web, sem a necessidade de instalação local. Exemplos incluem Google Docs, Salesforce.
SWS (Shrink-Wrapped Software): Software vendido em formato físico ou como um arquivo binário para instalação em dispositivos locais.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Como a SOA se relaciona com o SaaS?

A

A SOA (Arquitetura Orientada a Serviços) cria serviços independentes que podem ser utilizados por várias aplicações, promovendo a modularidade.
No contexto de SaaS, a SOA facilita a entrega de serviços como componentes distribuídos, que podem ser reutilizados em várias partes do sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais são as diferenças entre os testes de sistema, integração, funcional e unidade?

A

este de Sistema: Verifica o sistema completo como um todo, integrando todos os componentes se ele respeite/atende as necessidades dos clientes, faz o que foi prometido
Teste de Integração: Testa como diferentes módulos ou componentes interagem entre si.
Teste Funcional: Verifica se o sistema atende aos requisitos funcionais, simulando o uso real.
Teste de Unidade: Testa unidades individuais de código (como funções ou classes) isoladamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é a arquitetura MVC?

A

A arquitetura MVC (Model-View-Controller) separa a aplicação com base na sua funcionalidade em três componentes principais: Model (gerenciamento de dados), View (interface de usuário) e Controller (coordenação entre a View e o Model).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quais decisões de projeto permitirão ao nosso app implementar uma Arquitetura Orientada a Serviços (SOA)?

A

Definir serviços independentes e modulares.
Criar APIs bem definidas para comunicação entre serviços.
Adotar protocolos de comunicação padrão, como HTTP e JSON.
Focar em reuso de serviços e escalar componentes independentemente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é a arquitetura Shared-Nothing?

A

Shared-Nothing é uma arquitetura distribuída em que cada componente (servidor ou serviço) opera independentemente, sem compartilhar recursos como disco ou memória com outros componentes. Ideal para escalabilidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que é uma rota RESTful?

A

Uma rota RESTful segue os princípios da arquitetura REST, usando métodos HTTP padrão (GET, POST, PUT, DELETE) para realizar operações em recursos da web

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é um CRUD e a qual camada ele pertence?

A

CRUD (Create, Read, Update, Delete) refere-se às operações básicas de um banco de dados ou sistema. Ele está geralmente associado à camada de Model no MVC, pois é responsável pelo gerenciamento de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual a diferença entre BDD e TDD?

A

TDD (Test-Driven Development): Foco em escrever testes antes de implementar o código, com foco na lógica interna do sistema.
BDD (Behavior-Driven Development): Foco no comportamento da aplicação, escrevendo cenários de teste baseados em como o usuário espera que o sistema se comporte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que é o Pivotal Tracker?

A

O Pivotal Tracker é uma ferramenta de gerenciamento de projetos ágeis que ajuda a planejar, priorizar e rastrear o progresso das histórias de usuário e tarefas de um projeto de software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Como escrever uma história de usuário?

A

Como [tipo de usuário], Eu quero [funcionalidade], Para que [benefício].
Exemplo: “Como um usuário registrado, Eu quero adicionar uma tarefa, Para que eu possa organizar minhas atividades.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quais são os diferentes tipos de cenários em testes?

A

Explícito: Descreve completamente todas as informações necessárias, sem deixar suposições.
Implícito: Assume que certos aspectos do cenário são subentendidos.
Imperativo: Descreve exatamente como o comportamento será realizado, detalhando o passo a passo.
Declarativo: Foca em o que deve acontecer, deixando o como mais flexível.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

O que é um cenário explícito e como ele pode derivar cenários implícitos?

A

Um cenário explícito descreve claramente cada etapa e o resultado esperado. Cenários implícitos podem derivar dele, omitindo detalhes subentendidos ou assumidos, sem descrever todos os passos.

17
Q

Como o uso de clusters se associa ao SaaS em termos de comunicação, escalabilidade e confiabilidade?

A

Clusters permitem que os sistemas SaaS escalem horizontalmente, distribuindo a carga de trabalho entre vários servidores, aumentando a confiabilidade por meio de redundância e melhorando a comunicação entre os serviços.