Engenharia de Software

Ciclo de vida

Planejamento

Analise de requisitos

Projeto

Implementação

Testes

Implantação

Operação

Manutenção

Modelo ágil

click to edit

Metodologias Ágeis se desenvolveram em um esforço para sanar fraquezas reais e perceptíveis da Engenharia de Software
Convencional.

Princípios

Envolvimento do cliente: Os clientes devem estar envolvidos no processo de desenvolvimento. Seu papel é fornecer e
priorizar novos requisitos dos sistema e avaliar suas iterações.

Entrega incremental: O software desenvolvido em incremento com o cliente, especificando os requisitos para serem incluídos em cada um.

Pessoas não processos: As habilidades da equipe de desenvolvimento devem ser reconhecidas e exploradas. Os membros da equipe tem a liberdade de desenvolver suas próprias maneiras de trabalhar.

Aceitar as mudanças: Deve-se ter em mente que os requisitos do sistema vão mudar. Por isso o sistema projetado de
acomodar tais mudanças.

Manter a simplicidade: Foco na simplicidade, tanto do software a ser desenvolvido como do processo de
desenvolvimento. Trabalhar de forma ativa para eliminar a complexidade do sistema.

Modelo Tradicional

Objetivo principal: Orientado em atividades e centrado em processo.

Tipo de projeto: Estáveis e com baixo nível de mudança.

Tamanho: Aplicável em projetos de todos os tamanhos. Mais eficiente em projetos grandes.

Gerente do projeto: Controle total do projeto.

Equipe de projeto: Atuações com papeis claros e bem definidos

Cliente: Participa das fases iniciais de requisitos e das validações do produto.

Planejamento: Detalhado e os envolvidos tem o papel de validação, não participam da elaboração do planejamento.

Modelos de processo

click to edit

Modelo sequencial Linear: Organiza o processo em uma sequência linear de fases.

Modelo de prototipação: Todo o requisitos de sistema não tem que ser completamente determinado
antecipadamente

Desenvolvimento Rápido de aplicação: A “alta velocidade” é conseguida através de uma abordagem de
construção baseada em componentes.

Modelo espiral: Usa a Prototipação, em qualquer etapa da evolução do produto,
como mecanismo de redução de riscos

Modelo incremental:“O modelo incremental entrega uma série de versões chamadas de
incrementos, que fornecem progressivamente mais funcionalidade para
os clientes à medida que cada incremento é entregue”.

Desenvolvimento formal de sistemas: O desenvolvimento formal de sistemas é uma abordagem do
desenvolvimento de software que tem algo em comum com
o modelo Sequencial Linear, mas cujo processo de
desenvolvimento tem como base a transformação
matemática formal de uma especificação de sistemas em
um programa executável.

Desenvolvimento orientado a reuso: Na maioria dos projetos de software, ocorre algum reuso
de software. Isso, em geral, acontece informalmente,quando as pessoas que trabalham no projeto conhecem
projetos ou códigos similares àquele exigido.