Please enable JavaScript.
Coggle requires JavaScript to display documents.
Processos e Ciclos de Vida da Engenharia de Software, O que é um Processo…
Processos e Ciclos de Vida da Engenharia de Software
O que é Engenharia de Software?
É a engenharia responsável por todos os aspectos de desenvolvimento de um software
É uma
tecnologia em camadas
cuja a base é o foco na qualidade
Ciclo de Vida
O que é:
Representação abstrata de um processo de software
Cada modelo representa apenas um processo sob certo ponto de vista e por isso fornece informações parciais
Sugere um roteiro com pontos necessários para o desenvolvimento de um software de qualidade
Certas atividade sempre deve aparecer e elas são atividades de:
Definição
do problema
Construção
de solução
Manutenção
do software após a entrega
Possui 9 fases que são:
Planejamento
,
Análise e Especificação de requisitos
,
Projeto
,
Implementação
,
Testes
,
Entrega e implantação
,
Operação
,
Manutenção
e
Descontinuação
Pode ser
sequencial
,
iterativo
ou
hibrido
O que é um Processo de Software?
É o que mantem as "camadas de tecnologia" unidas.
Combinação de ferramentas, procedimentos e atividades focadas na produção de um software
Conjunto de etapas que auxilia na criação de um produto de qualidade
O que ele faz:
.Prescreve a ordem e frequência de cada etapa
.Especifica critérios para mudança de fase
.Define o produto final de cada fase
Como Escolher:
Tenha em mente as seguintes informações:
1-Característica da aplicação
2-As tecnologias que serão empregadas
3-Onde será desenvolvido
4-O perfil da equipe criadora
Quando o escolhe se define o Ciclo de vida
Modelo iterativo
Desenvolve versões cada vez mais completas: Desenvolve uma versão inicial que será comentada pelo usuário e a refina até que se torne adequada
Vantagens
O cliente possui um acesso precoce do projeto inicial
O desenvolvedor entende melhor o que é pedido e o entrega em um "prazo curto"
Desvantagens
O Cliente pensa estar usando o produto final
Concessões equivocadas do desenvolvedor para entrega rápida do protótipo
Descartar o protótipo pode ser visto como perda de tempo para o cliente
Problemas
Falta de visibilidade
Software mal estruturado
Habilidades especiais podem ser solicitadas
Modelo Sequencial
Estilo cascata, abordagem sistemática e sequencial
"O resultado de uma fase é a entrada da próxima"
Problemas
Dificuldade de estabelecer todos os requisitos no início do processo
Inflexível quanto a mudanças em um processo que já está em andamento
Projeto executável apenas em etapas mais avançadas
Software
O que é?
É a associação do programa, dos dados de documentação e as configurações utilizadas no código
Modelo hibrido
Separação das fases e disciplinas
Desenvolvimento Ágil
Agilidade
Entregar versões funcionais em prazos curtos
Estar preparado para requisitos mutantes
Pessoal de negócios e desenvolvedores juntos
Cliente é considerado parte da equipe (visão nós e eles)
Troca de informações através de conversas diretas
Plano de projeto deve ser flexível
O ciclo de vida se adapta conforme as necessidades do Engenheiro
Planejamento
: define-se estimativa iniciais de recursos, custos e prazos; escopo do software e um plano de projeto
Análise e Especificação de Requisitos
: Escopo do projeto é melhorado, define-se o domínio do problema e da solução e define a função do software
Projeto
: Envolve
arquitetura de software
e
projeto detalhado
Implementação
: Torna o projeto executável pela máquina
Teste
: testa unidade e o software como um todo e documenta os resultados
Entrega e Implantação
: o software é instalado em ambiente de produção, o principal objetivo é realizar o teste de aceitação
Operação
: após a aceitação é utilizado de fato no ambiente de produção
Manutenção
: Adaptação, correção evolução
Descontinuação
:
aposentar
o software
O modelo iterativo espiral possui vantagens como o gerenciamento de riscos cedo e ao longo do processo, prototipação para redução de riscos, evolução do software conforme o projeto anda e o planejamento é construído sobre o processo