Aula 00 Flashcards

1
Q

O que é software

A

Software é um conjunto de programas, dados de documentação e configuração associados necessários para que um sistema funcione.

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

O que é engenharia de software?

A

Engenharia de software é a aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção de software.

A engenharia de software não está relacionada apenas com os processos técnicos de desenvolvimento
de software, mas também com atividades como o gerenciamento de projeto de software e o desenvolvimento de ferramentas, métodos e teorias que apoiem a produção de software

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

Qual a meta principal da Engenharia de Software?

A

Desenvolver sistemas de software com boa relação custo-benefício.

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

Quais são os princípios fundamentais da engenharia de software? (5)

A

Os princípios fundamentais são:

Formalidade: o software deve ser desenvolvido de acordo com passos bem definidos e seguidos de maneira precisa.

Abstração: onde se busca identificar e entender um fenômeno da realidade sem entrar em detalhes específicos, focando apenas nos aspectos mais importantes e relevantes para o contexto.

Decomposição: em que se divide o problema em partes, de maneira que cada uma possa ser resolvida de uma forma mais específica;

Generalização: em que se divide o problema em partes, de maneira que cada uma possa ser resolvida de uma forma mais específica;

Flexibilização: em que se divide o problema em partes, de maneira que cada uma possa ser resolvida de uma forma mais específica;

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

O que é qualidade de software?

A

Qualidade de software é garantir que o software atenda aos requisitos funcionais e não funcionais de maneira eficiente e sem erros.

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

O que é ciclo de vida de software?

A

Ciclo de vida de software é o conjunto de fases que o software atravessa desde sua concepção até sua retirada de produção.

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

Quais são os principais modelos de ciclo de vida de software?

A

modelos sequenciais, modelos incrementais
e modelos evolutivo.

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

Quais são as fases do ciclo de vida de software?

A

Ele contém cinco fases: comunicação, planejamento, modelagem,
construção e implantação.

ou

As fases são:

Planejamento: Define o escopo, objetivos e cronograma do projeto. Inclui a estimativa de recursos necessários e a elaboração de um plano de ação.

Análise e Especificação de Requisitos: Identifica as necessidades e expectativas do cliente, documentando o que o sistema deve fazer e as suas restrições.

Projeto: Transforma os requisitos em uma solução técnica. Inclui o design da arquitetura do sistema, interfaces e banco de dados.

Implementação: Desenvolve o código conforme o projeto definido. A programação do software é feita nesta etapa.

Testes: Avalia se o software funciona corretamente e atende aos requisitos especificados, identificando e corrigindo defeitos.

Entrega e Implantação: O software é disponibilizado aos usuários, podendo envolver treinamentos e adaptações ao ambiente real de operação.

Operação: O sistema é utilizado em ambiente de produção, atendendo aos usuários em suas atividades diárias.

Manutenção: Envolve correções de erros, melhorias e adaptações do software para novas necessidades ou ambientes tecnológicos.

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

Quais são as características do modelo em cascata?

A

O modelo em cascata é sequencial e linear, onde cada fase começa somente após a conclusão da fase anterior.

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

Quais são as vantagens do modelo em cascata?

A

Clareza e Simplicidade: As fases são bem definidas e fáceis de entender.

Facilidade de Gerenciamento: O controle de cada fase é linear, facilitando o acompanhamento do progresso.

Documentação Completa: Há uma documentação detalhada em todas as etapas.

Previsibilidade: Prazos e custos são mais fáceis de estimar.

Adequado para Projetos Estáveis: Funciona bem quando os requisitos são claros e fixos.

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

Quais são as desvantagens do modelo em cascata?

A

Dificuldade de Mudanças: Alterar requisitos após o início é complicado.

Pouca Flexibilidade: Não é ideal para projetos onde os requisitos mudam frequentemente.

Riscos Altos: Problemas ou erros só são descobertos tardiamente, após o desenvolvimento.

Feedback Tardio: O cliente só vê o produto final no final do processo.

Demora na Entrega: O produto só é entregue quando todas as fases são concluídas.

Problemas de Integração: A integração pode ser problemática devido à falta de testes intermediários.

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

Qual a diferença entre o modelo iterativo e o incremental?

A

No modelo incremental, o sistema é desenvolvido em partes funcionais;

No modelo iterativo, ele é refinado a cada ciclo com feedbacks constantes.

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

Quais são as vantagens do modelo iterativo e incremental?

A

Flexibilidade: Facilita mudanças durante o desenvolvimento.

Feedback Contínuo: O cliente participa em cada iteração.

Entrega Antecipada: Partes do sistema podem ser usadas antes da conclusão total.

Menor Risco: Problemas são detectados e corrigidos cedo.

Prioridade nas Funções: Funcionalidades mais importantes podem ser entregues primeiro.

Testes Contínuos: Erros são encontrados e resolvidos ao longo do processo.

Melhoria Contínua: Cada ciclo permite ajustes e melhorias antes de seguir.

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

Quais são as desvantagens do modelo iterativo e incremental?

A

Planejamento Complexo: Exige reavaliação constante e pode ser difícil de gerenciar.

Escopo Expansivo: Mudanças contínuas podem aumentar o escopo do projeto.

Alto Envolvimento do Cliente: Depende de feedback constante, o que pode ser difícil.

Integração Frequente: Pode causar problemas de compatibilidade técnica.

Possível Retrabalho: Mudanças podem gerar retrabalho nas fases futuras.

Complexidade de Versões: Difícil de gerenciar várias versões em desenvolvimento.

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

Como o desenvolvimento incremental difere do modelo cascata?

A

No desenvolvimento incremental, o software é entregue em partes funcionais, enquanto no cascata, o software é entregue após a finalização de todas as fases.

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

O que é o modelo RAD?

A

RAD é um modelo de desenvolvimento iterativo e incremental que enfatiza ciclos curtos de desenvolvimento com uso intensivo de componentes reutilizáveis.

17
Q

Quais são as vantagens do RAD?

A

Desenvolvimento Rápido: Permite criar protótipos rapidamente, acelerando o tempo de entrega.

Feedback Constante: Envolvimento contínuo dos usuários garante que o produto atenda às suas necessidades.

Flexibilidade: Facilita mudanças durante o desenvolvimento.

Redução de Retrabalho: Iterações rápidas permitem correções e ajustes antecipados.

Foco nas Funcionalidades: As partes mais importantes do sistema são entregues primeiro.

O RAD é ideal para projetos que exigem rapidez e flexibilidade.

18
Q

Quais são as desvantagens do RAD?

A

Menor Controle: A flexibilidade pode dificultar o gerenciamento do escopo do projeto.

Dependência do Cliente: Requer um envolvimento ativo e contínuo dos usuários, o que pode ser desafiador.

Qualidade do Produto: O foco na velocidade pode comprometer a qualidade final do software.

Dificuldade em Escalar: Pode ser difícil adaptar o modelo para projetos grandes ou complexos.

Requisitos Técnicos: Necessita de ferramentas e tecnologias avançadas que nem sempre estão disponíveis.