engenharia Flashcards
p1 engenharia
Quais são as principais diferenças entre os modelos de ciclo de vida de projeto: Cascata, Espiral, RUP e Ágil?
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.
Quais são as fases do RUP?
Iniciação
Elaboração
Construção
Transição
Como os conceitos de verificação e validação se relacionam com os testes de sistema e testes funcionais?
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
Qual é a diferença entre os modelos de distribuição SAAS e SWS?
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.
Como a SOA se relaciona com o SaaS?
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.
Quais são as diferenças entre os testes de sistema, integração, funcional e unidade?
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.
O que é a arquitetura MVC?
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).
Quais decisões de projeto permitirão ao nosso app implementar uma Arquitetura Orientada a Serviços (SOA)?
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.
O que é a arquitetura Shared-Nothing?
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.
O que é uma rota RESTful?
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
O que é um CRUD e a qual camada ele pertence?
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.
Qual a diferença entre BDD e TDD?
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.
O que é o Pivotal Tracker?
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.
Como escrever uma história de usuário?
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.”
Quais são os diferentes tipos de cenários em testes?
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.