Metodologias de desenvolvimento Flashcards
O que é Engenharia de Software?
É uma disciplina que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, após sua entrada em produção.
Quais são os princípios da Engenharia de Software?
AFF DG
Abstração: existe uma preocupação da identificação de um determinado fenômeno da realidade.
Formalidade: o software deve ser desenvolvido seguindo passos definidos.
Flexibilização: permite que o software possa ser alterado, sem causar problemas na execução.
Decomposição: o problema pode ser dividido em partes.
Generalização: o problema é resolvido de forma genérica, de modo que possa ser reutilizado em outras situações.
O que precisa ser aplicado e que é associado ao desenvolvimento?
Processos, métodos e ferramentas, sendo que o que sustenta a Engenharia de Software é o foco na qualidade.
O que é modelo de ciclo de vida de software?
São as fases pelas quais um software passa desde o seu início até o seu fim e como essas fases se relacionam.
Quais são as fases genéricas da produção de software?
Planejamento
Análise e especificação de requisitos
Projeto
Implementação
Testes
Entrega e Implantação
Operação
Manutenção
Descreva a fase de Planejamento.
O objetivo do planejamento de projeto é fornecer uma estrutura que possibilite ao gerente fazer estimativas razoáveis de recursos, custos e prazos. À medida que o projeto progride, o planejamento deve ser detalhado e atualizado regularmente.
Descreva a fase de Análise e Especificação de Requisitos.
Nesta fase, o processo de levantamento de requisitos é intensificado. O escopo deve ser refinado e os requisitos mais bem definidos.
Modelo do que o software tem que fazer (e não como fazê-lo).
Descreva a fase de Projeto.
Esta fase é responsável por incorporar requisitos tecnológicos aos requisitos essenciais do sistema, modelados na fase anterior e, portanto, requer que a plataforma de implementação seja conhecida.
Envolve duas grandes etapas: projeto da arquitetura do sistema (geralzão) e projeto detalhado (cada componente).
Descreva a fase de Implementação.
A fase de implementação realiza a tarefa de traduzir o projeto para uma forma passível de execução pela máquina, isto é, cada unidade de software do projeto detalhado é implementada.
Descreva a fase de Testes.
Inicialmente, cada unidade de software implementada deve ser testada e os resultados documentados. A seguir, os diversos componentes devem ser integrados sucessivamente até se obter o sistema. Finalmente, o sistema como um todo deve ser testado.
Descreva a fase de Entrega e Implementação.
O propósito desta fase é estabelecer que o software satisfaz os requisitos dos usuários. Isto é feito instalando o software e conduzindo testes de aceitação. Quando o software tiver demonstrado prover as capacidades requeridas, ele pode ser aceito e a operação iniciada.
Descreva a fase de Operação.
Nesta fase, o software é utilizado pelos usuários no ambiente de produção, isto é, no ambiente real de uso do usuário.
Descreva a fase de Manutenção.
Indubitavelmente, o software sofrerá mudanças após ter sido entregue para o usuário. Alterações ocorrerão porque erros foram encontrados, porque o software precisa ser adaptado para acomodar mudanças em seu ambiente externo, ou porque o cliente necessita de funcionalidade adicional ou aumento de desempenho.
Quais são as principais características do Modelo Cascata?
É uma abordagem sistemática com forte ênfase na documentação.
Uma fase só se inicia após o término e aprovação da fase anterior.
É apropriado para quando os requisitos já estão bem definidos e compreendidos.
Quais são as vantagens do modelo Cascata?
É simples de entender e fácil de aplicar.
Fixa pontos específicos para entrega de artefatos.
Funciona bem para equipes tecnicamente fracas.
É fácil de gerenciar, devido a sua rigidez.
Realiza documentação extensa por cada fase ou estágio.
Possibilita boa aderência a outros modelos de processo.
Funciona bem com projetos pequenos e com requisitos bem conhecidos.