Você está na página 1de 8

Ciclo de vida

Fase de definio Fase de desenvolvimento Fase de operao Fase de retirada


- Design - Implementao e integrao - Verificao e Validao - Distribuio, Instalao e Configurao - Utilizao e administrao - Manuteno - corretiva, evolutiva e adaptativa - Migrao, reengenharia, engenharia reversa
Engenharia de Software, 2006 Jair C Leite

- Anlise e Especificao - Estudo de Viabilidade - Estimativas Planejamento

Ciclo de vida: fases x atividades


(variam de acordo com o modelo de processo)
migrao evoluo manuteno testes Implementao design especificao definio desenvolvimento operao retirada

Atividades

Possvel distribuio de tarefas em cada Atividade x Fases

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 study Requirements elicitation and analysis Requir ements specification Requirements validation System models User and system requirements Requirements document

Feasibility report

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; - 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

Atividades - Viso moderna:

Processo de design de software


Requiements specific tion Design actvities Architectual design Abstract specific tion Interface design Component design Data structue design Algorithm design

System architectue

Software specific tion

Interface specifiction

Component specific tion Design poducts

Data structue specific tion

Algorithm specifiction

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 - Desde a definio at a operao do software.
Engenharia de Software, 2006 Jair C Leite

Diferentes etapas

Testes e o processo de software

Requir ements specification

System specification

System design

Detailed design

Acceptance test plan

System integration test plan

Sub-system integration test plan

Module and unit code and tess

Service

Acceptance test

System integration test

Sub-system 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 testing
Fonte: Ian Sommerville

Integration testing

User testing

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 requirements

Assess existing systems

Propose system changes

Modify systems

Existing systems

New system
Engenharia de Software, 2006 Jair C Leite

Fonte: Ian Sommerville

Ferramentas e ambientes de software


CASE - Computer-aided Software Engineering Apiam diversas atividades do desenvolvimento e do Tipos de ferramentas
gerenciamento de software.
- 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

Editors

Compilers

File comparators

Integrated environments

Process-centred environments

Analysis and design

Programming

Testing

Multi-method workbenches

Single-method workbenches

General-purpose workbenches

Language-specific workbenches

Engenharia de Software, 2006 Jair C Leite