Você está na página 1de 29

Engenharia de Software I

Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br

Processo de Desenvolvimento de Software

Conceito de processo
?Processo um conjunto de passos parcialmente ordenados, constitudos por atividades, mtodos, praticas e transformaes, usado para atingir uma meta.

Um processo uma receita que seguida por um projeto.


?Projeto(abstrato) -> Processo(receita) -> Produto

Desenvolvimento de Software SW I

Conceito de processo

O processo o instrumento capaz de responder a qualquer momento:


?O que feito?
(Produto)

?Como feito?
(Passos)

?Por quem feito?


(Agente)

?O que usa?
(Insumos)

?O que Produz?
(resultados)

Desenvolvimento de Software SW I

Conceito de processo

O processo pode ter mais ou menos detalhes; Um processo pode permitir paralelismo entre passos.
Passo 2a Passo 2a Passo 1 Passo 1 Passo 2b Passo 2b Passo 3 Passo 3

Desenvolvimento de Software SW I

Processo de Software
? Na engenharia de software, processos podem ser definidos para atividades como:
Desenvolvimento; Manuteno; Aquisio; Contratao de software;

Em um processo de desenvolvimento de software, o ponto de partida para a arquitetura de um processo a escolha de um modelo de ciclo de vida.

Desenvolvimento de Software SW I

Processo de Software

Modelo de ciclo de vida Codifica-remenda


?ciclo mais catico; ?utiliza-se de uma ou at nenhuma especificao ?estilo codifica/remenda ?modelo de alto risco no permite assumir compromissos confiveis

Desenvolvimento de Software SW I

Ciclo de Vida Cascata

Requisitos Requisitos Anlise Anlise Desenho Desenho Implementao Implementao Testes Testes

Desenvolvimento de Software SW I

Processo de Software

Modelo de Ciclo de Vida Cascata


?Subprocessos so executados em estrita seqncia
Define pontos de controle que facilitam a gesto dos projetos

?Da mais confiabilidade; ?Processo rgido e burocrtico ?Possui baixa visibilidade para o cliente ?Possui uma variante que permite reviso e alterao de resultados das fases anteriores ?A realimentao entre fases torna difcil a gerencia do projeto(nesse ciclo de vida)

Desenvolvimento de Software SW I

Variante do Ciclo de Vida em Cascata

Requisitos Requisitos

Anlise Anlise Desenho Desenho Implementao Implementao

Testes Testes

Desenvolvimento de Software SW I

Ciclo de Vida em Espiral

Desenvolvimento de Software SW I

Processo de Software

Modelo de Ciclo de Vida em Espiral


?Desenvolvido em uma srie de interaes ?Cada interao uma nova volta no espiral ?Diminui perodos de construo ?Necessita de uma gesto de sofisticada

Desenvolvimento de Software SW I

Ciclo de Vida Prototipao Evolutiva Prototipao

Planejamento de Interao

Requisitos

Anlise

Desenho

Avaliao de Interao

Teste

Desenho

Desenvolvimento de Software SW I

Processo de Software

Prototipao Evolutiva
?Construo de uma serie de verses provisrias (prottipos);
Os prottipos ajudam a colher requisitos;

?Modelo de vida Prototipagem evolutiva


Cliente recebe verses finalizadas de partes do produto

?Requer gesto sofisticada; ?Requer equipe disciplinada; ?Aplica processos geis tipo XP

Desenvolvimento de Software SW I

Entrega Evolutiva

Requisitos

Anlise

Desenho Arquitetnico

Desenho Detalhado

Implementao

Avaliao da Interao

Testes

Desenvolvimento de Software SW I

Ciclo de Vida de Entrega Evolutiva


?Combinao entre cascata e prototipagem; ?Definir ponto de avaliao por parte do usurio; ?Fornece realimentao da decises tomadas.

Desenvolvimento de Software SW I

Ciclo de vida dirigido por ferramentas CASE


?Impem processos rgidos que podem se adequar para tipos bem especficos de produtos; ?Qualidade do processo depende fundamentalmente da qualidade da ferramenta.

Desenvolvimento de Software SW I

Processos de Desenvolvimento de Software

Processo Pessoal de Software - PSP


?O PSP (Personal Software Process) uma nova tecnologia da SEI(Instituto de Engenharia de Software) que traz disciplina prtica individual de engenheiros de software. Isto faz com que eles melhorem drasticamente a qualidade, a previsibilidade e o ciclo de tempo de seus produtos. ?O PSP foi desenvolvido por Watts Humphrey no Instituto de Engenharia de Software (SEI).

Desenvolvimento de Software SW I

Processo Pessoal de Software - PSP

As melhorias conseguidas varia para cada engenheiro, mas todos recebem condies para melhorar nos seguintes aspectos:
? criatividade: O engenheiro consegue expandir a sua mente para o que pode ser feito, no ao que ele est acostumado a fazer e, empiricamente, acha que o melhor; ? Fazer planos: Cada engenheiro levado a planejar seus projetos e at o seu dia-a-dia para aproveitar melhor o pouco tempo que dado para o desenvolvimento de algum software; ? Gerenciar Planos: Procurar cumprir o que foi estabelecido; ? Reduzir defeitos: O engenheiro procura, a cada fase do processo de software, fazer preveno e correo de erros para manter um projeto de qualidade at seu final.

Desenvolvimento de Software SW I

Processo Pessoal de Software - PSP

Um PSP o que voc define para seu prprio uso pessoal. A idia que cada um diferente e o processo que trabalha melhor para um engenheiro provavelmente no ser timo para outros. O PSP ensinado aos engenheiros atravs de sete passos de processo progressivos e so organizados como mostrado na figura:

Desenvolvimento de Software SW I

Processo Pessoal de Software - PSP

PSP0 e PSP0.1 : Nvel de dados:


? ? ? ? ? ? Registro de tempos; Registro de defeitos; Padronizao dos tipos de defeito; Padronizao de codificao; Medio de Tamanho; Proposio de Melhoria de Processo

PSP 3 PSP 3

PSP2.1 PSP2.1
PSP 2 PSP 2

PSP1 e PSP1.1 : Nvel de planejamento;


? ? ? ? Estimativa de tamanho; Relatrio de Testes; Planejamento de tarefas; Planejamento de Cronograma

PSP 1 PSP 1

PSP1.1 PSP1.1

PSP0.1 PSP0.1
PSP 0 PSP 0

PSP2 e PSP2.1 : Gerenciamento de qualidade;


? Reviso de cdigo; ? Reviso de Desenho; ? Modelo de Desenho;

PSP3 : Ciclo e Otimizao


? Desenvolvimento cclico

Desenvolvimento de Software SW I

Processo Pessoal de Software - PSP

Desenho Desenho Planejamento Planejamento Reviso de Reviso de Desenho Desenho

Desenho de Desenho de Alto Nvel Alto Nvel Reviso do Reviso do Desenho de Desenho de Alto Nvel Alto Nvel

Codificao Codificao

Desenvolvimento Desenvolvimento

Reviso de Cdigo Reviso de Cdigo

PostPost-mortem Post-mortem

Teste Teste

Integrao Integrao

Reavaliao e Reavaliao e reciclagem reciclagem

Desenvolvimento de Software SW I

Processo de Software para Times - TSP


?O TSP surgiu como seqncia natural do PSP ?O TSP usa um modelo espiral ?No TSP cada desenvolvedor pode desempenhar um ou dois papeis de gerenciais, alm de dividir a carga de desenvolvimento; ?Papis
Gerente de desenvolvimento Planejamento Qualidade Processo suporte

Desenvolvimento de Software SW I

Processo de Software para Times - TSP

Fase do TSP:
?Lanamento ?Estratgia ?Planejamento ?Requisitos ?Desenho ?Implantao ?Testes ?Post-Mortem

Desenvolvimento de Software SW I

Processo Unificado - UP
?Proposto pelos criadores da UML ?Possui estrutura matricial
fase - ciclos fluxo de trabalho - atividades tcnicas (subprocessos)

Caractersticas centrais do UP
?Dirigido por caso de uso; ?Centrado na arquitetura; ?Interativo e incremental;

Desenvolvimento de Software SW I

Processo Unificado - UP

Um produto comercial baseado no processo unificado o RUP(Rational Unified Process)

O RUP no deve ser confundido com o UP, ele possui estrutura de fluxos diferentes

O RUP consiste em aproximadamente 3.200 arquivos, o que evidencia a diferena em nvel de detalhes entre esses processos

Desenvolvimento de Software SW I

Processo Unificado - UP

Fases
? Concepo : Fase na qual se justifica a execuo de um projeto de desenvolvimento de software, do ponto de vista do negocio do cliente ? Elaborao : Fase na qual o produto e detalhado o suficiente para permitir um planejamento acurado da fase de construo. ? Construo : Fase na qual construda uma verso completamente operacional ? Transio : Fase na qual o produto colocado a disposio do usurios.

Desenvolvimento de Software SW I

Processo Unificado - UP

Fluxos
? Requisitos : Fluxo que visa obter um conjunto de requisitos de um produto, acordado entre cliente e fornecedor. ? Anlise : Fluxo cujo objetivo detalhar, estruturar e validar os requisitos, de forma que esses possam ser usados como base para o planejamento detalhado. ? Desenho : Fluxo cujo objetivo formar um modelo estrutural do produto que sirva de base para a implementao. ? Implementao : Fluxo cujo objetivo realizar o desenho em termos de componentes de cdigo. ? Testes : Fluxo cujo objetivo e verificar os resultados da implementao.

Desenvolvimento de Software SW I

Referncias
? Cap 2 do Livro Engenharia de Software.
Autor Wilson de Pdua Paula Filho

? http://campus.fortunecity.com/princeton/117/psp/psp.htm

Desenvolvimento de Software SW I

Você também pode gostar