Você está na página 1de 8

Ciclo de vida

Fase de definio
Anlise e Especificao
Estudo de Viabilidade
Estimativas Planejamento
Fase de desenvolvimento
Design
Implementao e integrao
Verificao e Validao
Fase de operao
Distribuio, Instalao e Configurao
Utilizao e administrao
Manuteno corretiva, evolutiva e adaptativa
Fase de retirada
Migrao, reengenharia, engenharia reversa
Engenharia de Software, 2006 Jair C Leite

Ciclo de vida: fases x atividades


Atividades
(variam de acordo
com o modelo Possvel distribuio
de processo) de tarefas em cada
Atividade x Fases
migrao

evoluo

manuteno

testes

Implementao

design

especificao

definio desenvolvimento operao retirada Fases (tempos)

Engenharia de Software, 2006 Jair C Leite


Fase de Definio
deve-se analisar os requisitos, recursos e
restries para
apresentar solues,
estudar a viabilidade,
planejar e gerenciar o desenvolvimento
a partir de estimativas e anlise de riscos
que se utilizam de mtricas
Esta fase encerra-se com o contrato de
desenvolvimento.

Engenharia de Software, 2006 Jair C Leite

Fase de desenvolvimento
Design de Software
Design conceitual, design da interface de usurio,
design da arquitetura de software, design de
algoritmos e estruturas de dados
Implementao e integrao
Codificao, compilao, integrao e verificao
de programas (testes, inspeo, depurao)
Verificao da qualidade
Testes beta, avaliao de usabilidade, avaliao
de desempenho, etc.

Engenharia de Software, 2006 Jair C Leite


Fase de Operao
Distribuio e entrega
Instalao e configurao
Utilizao
Manuteno
Corretiva correo de erros
Evolutiva ou adaptativa novas verses
Novos requisitos
novas situaes de operao hardware, sistemas
operacionais

Engenharia de Software, 2006 Jair C Leite

Especificao de software (definio)


Processo de estabelecer quais servios so
necessrios e quais as restries esto associados
ao desenvolvimento e operao do sistema.
Processo de Engenharia de Requisitos
Estudo de viabilidade
Econmica relao custo/benefcio;
Tcnica tecnologia e capacitao;
Jurdica aspectos legais.
Levantamento e anlise de requisitos
Entrevista, observao, reunies
Especificao de requisitos
Documento contendo os requisitos do usurio e do sistema
funcionais e no-funcionais
Validao de requisitos
Avaliao do documento de requisitos pertinncia,
consistncia e integralidade.
Engenharia de Software, 2006 Jair C Leite
Processo de Engenharia de
Requisitos
Feasibility Requirements
study elicitation and
analysis
Requir ements
specification
Feasibility Requirements
report validation
System
models
User and system
requirements

Requirements
document

Fonte: Ian Sommerville

Engenharia de Software, 2006 Jair C Leite

Design de Software
Processo de converter a especificao num conjunto
de modelos que descrevem a estrutura e o
comportamento do software, particionado em
unidades abstratas.
Descreve como o software ser realizado.
Modelos de processo mais atuais consideram que o
design pode ocorrer simultaneamente com a
especificao e com a implementao
Atividades - Viso tradicional:
Arquitetura, Especificao abstrata; Design das interfaces;
Design de componentes; Design de algoritmos e estruturas
de dados;
Atividades Viso moderna:
Todas as anteriores e mais: Design conceitual e design das
interfaces de usurio. Muitas vezes ocorrem na definio.
Engenharia de Software, 2006 Jair C Leite
Processo de design de software

Requirements
specification

Design activities

Architectural Interface Component Data Algorithm


Abstract
design design design structure design
specification
design

Software Data
System Interface Component Algorithm
specification structure
architecture specification specification specification
specification

Design products

Fonte: Ian Sommerville

Engenharia de Software, 2006 Jair C Leite

Implementao: programao e
depurao
Traduzir o design num programa removendo os
erros.
A codificao deve refletir a estrutura e o
comportamento descrito no design.
As unidades abstratas deve ser codificadas
independentemente e depois integradas.
necessrio um controle e gerenciamento de
verses.
No existe um modelo especfico para o processo de
programao.
A depurao ocorre durante a programao
utilizando algumas tcnicas e ferramentas.
Engenharia de Software, 2006 Jair C Leite
Verificao e Validao de software
Verificao e validao destina-se a mostrar
que o sistema est de acordo com a especificao
que ele atende s expectativas de clientes e
usurios.
Diferentes formas de verificao
Inspeo analtica e reviso de modelos,
documentos e cdigo fonte.
Testes de correo, desempenho, confiabilidade
robustez, usabilidade
Diferentes etapas
Desde a definio at a operao do software.
Engenharia de Software, 2006 Jair C Leite

Testes e o processo de software

Requir ements System System Detailed


specification specification design design

System Sub-system Module and


Acceptance
integration integration unit code
test plan
test plan test plan and tess

Acceptance System Sub-system


Service
test integration test integration test

Fonte: Ian Sommerville

Engenharia de Software, 2006 Jair C Leite


O processo de testes

Unit
testing
Module
testing
Sub-system
testing
System
testing
Acceptance
testing

Component Integration testing User


testing testing

Fonte: Ian Sommerville Engenharia de Software, 2006 Jair C Leite

Evoluo de software
O software normalmente precisa evoluir, por variados motivos:
Mudanas no domnio de aplicao implicam em novos requisitos
Surgimento de novas tecnologias de software e hardware
A evoluo de um software para uma nova verso ter:
Manuteno corretiva
Migrao para uma plataforma mais avanada
Incorporao de novas funcionalidades

Define system Assess existing Propose system Modify


requirements systems changes systems

Existing New
systems system

Fonte: Ian Sommerville Engenharia de Software, 2006 Jair C Leite


Ferramentas e ambientes de software
CASE Computer-aided Software Engineering
Apiam diversas atividades do desenvolvimento e do
gerenciamento de software.
Tipos de ferramentas
Planejamento PERT, estimativas, planilhas
Editores de texto, de diagramas e modelos, de programas
Compiladores, integradores e depuradores
Ferramentas de prototipao visual
Ferramentas de testes
Ferramentas de documentao
Ferramentas de reengenharia
Ferramentas de requisitos descrio, validao,
rastreamento, etc.
Gerenciadores de configurao e mudanas

Engenharia de Software, 2006 Jair C Leite

Classificao de tecnologias CASE


CASE
technology

Tools Workbenches Environments

File Integrated Process-centred


Editors Compilers
comparators environments environments

Analysis and
Programming Testing
design

Multi-method Single-method General-purpose Language-specific


workbenches workbenches workbenches workbenches

Engenharia de Software, 2006 Jair C Leite

Você também pode gostar