Você está na página 1de 20

Ciclo de Vida de

Desenvolvimento de Sistemas
de Informação (CVDSI)
Processo de Desenvolvimento de Software
• Sequência coerente de práticas que tem por objectivo o
desenvolvimento de sistemas.

Implementaçã
Especificação Construção Testes
o

• Método/metodologia de desenvolvimento = Linguagem de


Modelação (UML) + Processo e Desenvolvimento de SIs
Falhas que podem ocorrer no PDSI
• Estudo de Viabilidade - Viabilidade mal feita
• Análise - Requisitos não documentados / Incompletos / Mal especificados
/ Falta de Envolvimento de utilizadores
• Desenho - Má interpretação da especificação dos requisitos / má
especificação da estrutura de dados / Falta de avaliação do desenho
• Desenvolvimento – Falta de padrões na codificação / Má interpretação
do documento de desenho
• Teste – Modelos de teste insuficientes / Falta de grupo de controlo de
qualidade do sistema / Número insuficiente de testadores
• Manutenção –Falta de manutenção
Ciclo de Vida de Desenvolvimento de
Sistemas de Informação
• Etapas usadas no processo de desenvolvimento de Sistemas de
Informação.

Desenvo
Definiçã Estudo
lviment
o do de Desenh Implem Manute
Análise o/ Teste
Problem Viabilida o entação nção
Constru
a de
ção
Tipos de CVDSI
• Linear

• Por Etapas/Desenho por parte

• Evolucionário

• Prototipagem
Linear
Modelo em Cascata (Waterfall Model)
•  Popularizado na década de 1970;
• Composto por uma sequência de atividades;
• Uma atividade começa a executar quando a outra termina;
• Resultado de uma etapa é utilizado na etapa seguinte;
• Guiado por documentos;
• Ciclo de vida mais antigo e mais utilizado.
Modelo em Cascata
Vantagens • Desvantagens

• Dificuldade de manter a serialização


• Oferece uma maneira de tornar proposta pelo modelo
o processo mais visível; • Dificuldade de se concluir a etapa de
análise de requisitos, devido a
• Facilita o planeamento de modificações nos requisitos do software
software. (requisitos deveriam ser congelados ao fim
da análise)
• A primeira versão do software só estará
disponível após o término das fases de
análise, projeto, codificação e testes,
aumentando o tempo de latência entre o
início do projeto e a criação de sua
primeira versão.
Incremental
Incremental (Cont.)
• Combinação entre os modelos linear e prototipagem;
• O desenvolvimento é dividido em etapas, denominadas
“incrementos”;
• Em cada incremento é realizado todo o ciclo do desenvolvimento
de software;
• Cada etapa produz um sistema totalmente funcional;
Incremental (Cont.)
• Tipos de Incrementos:
• Evolutivos: Produtos de cada etapa de desenvolvimento são
aproveitados em cada nova passagem pela etapa.

• Descartáveis: Produtos das etapas de desenvolvimento são descartados,


cada novo protótipo é construído do início.

• Operacional: Requisitos são elucidados através de protótipos e o


produto final é construído paralelamente a construção dos protótipos.
Incremental - Evolutivo
Incremental (Cont.)
Vantagens Desvantagens

• Existe um risco menor de • O processo pode não ser muito


fracasso do software; claro;
• Reduz a chance de mudança de • A gestão do software é
requisito; complicada: O sistema não é
especificado à priori;
• A estrutura do produto tende a se
corromper com a adição de
incrementos: o produto final pode
tornar-se mal estruturado.
Espiral
Espiral (Cont.)
• É um metamodelo, visto que qualquer ciclo de vida pode ser
utilizado na fase de desenvolvimento.
• Foi criado visando abranger as melhores características do
modelo clássico e da prototipagem;
• Dividido em quatro fases;
• Essas fases são repetidas várias vezes;
Espiral (Cont.)
Vantagens Desvantagens

• Possibilidade de melhorar o • Modelo relativamente novo;


sistema a cada iteração; • Modelo mais complexo.
• Diminui manutenção.
Prototipagem
Prototipagem (Cont.)
• O objetivo é entender os requisitos do utilizador;

• Versão simplificada de um produto de software, geralmente


criada sem um processo formal de desenvolvimento, utilizada
para elucida ou validar os requisitos do produto.
Prototipagem (Cont.)
Vantagens Desvantagens

• Protótipos contribuem para melhorar


a especificação dos requisitos;
• Custo elevado;
• Partes do protótipo podem vir a ser • Atraso no desenvolvimento do
usadas no desenvolvimento do software.
sistema final.O objetivo é entender os
requisitos do utilizador;
• Versão simplificada de um produto de
software, geralmente criada sem um
processo formal de desenvolvimento,
utilizada para elucida ou validar os
requisitos do produto.
Ferramentas CASE (Computer-Aided
System Engineering)

• Upper CASE (Front-end)

• Lower CASE (Back-end)

• I-CASE (Full life Cycle)

Você também pode gostar