Modelos de processos de software

download Modelos de processos de software

If you can't read please download the document

Transcript of Modelos de processos de software

Slide 1


Engenharia de Software

Unidade II Processos de Software [Parte I]
Objetivo: Apresentar os principais paradigmas e modelos de processos de software, demonstrando o ciclo de vida do desenvolvimento de software e enfatizando os processos de especificao de requisitos, projeto, implementao, testes e mudanas

Prof. Ncio de Lima Veras

Processos de Desenvolvimento de Software

Vimos anteriormente que os processos definem uma estrutura, que consiste em reas de processos chave.

Percebemos tambm que Sommerville subdivide em quatro atividades bsicas:Especificao;

Desenvolvimento;

Validao; e

Evoluo.

Partindo disso, muitos modelos j foram propostos...

Roteiro...

Ento para esta aula, veremos:Definies de processos e modelos de processos de software;

Alguns modelos existentes:Cascata;

Evolucionrio;

Desenvolvimento incremental;

Espiral; e

Prototipao.

Definies

Processo de software: uma seqncia coerente de prticas que objetiva o desenvolvimento ou evoluo de sistemas de software. Estas prticas englobam as atividades de especificao, projeto, implementao, testes e caracterizam-se pela interao de ferramentas, pessoas e mtodos.

Modelo de processo de software:Um modelo de processo de software uma representao abstrata de um processo. Ele apresenta uma descrio de um processo a partir de uma perspectiva especfica.

O Modelo em Cascata

Primeiro modelo publicado do processo de desenvolvimento de software;

Originou-se de outros processos de engenharia;

Retrata um desenvolvimento gradual e possui seqncia de passos em ordem que devem ser seguidos.

O Modelo em Cascata:
Principais Estgios

Anlise e Definio de Requisitos: as funes, as restries e os objetivos do sistema so estabelecidos por meio de consulta aos usurios do sistema. Em seguida, so definidos em detalhes e servem como uma especificao do sistema.

O Modelo em Cascata:
Principais Estgios

Projeto de Sistemas e Software: o processo de projeto de sistemas agrupa os requisitos em sistemas de hardware e software. Envolve a identificao e a descrio das abstraes fundamentais do sistema de software e suas relaes.

O Modelo em Cascata:
Principais Estgios

Implementao e Testes de Unidade: Durante este estgio, o projeto do software compreendido como um conjunto de programas ou unidades de programa. O teste de unidade envolve verificar se cada uma das unidades atendem sua especificao.

O Modelo em Cascata:
Principais Estgios

Integrao e Teste de sistemas: as unidades de programa ou programas individuais so integrados e testados como um sistema completo a fim de garantir que os requisitos de software foram atendidos. Depois do teste, o software entregue ao cliente.

O Modelo em Cascata:
Principais Estgios

Operao e manuteno: O sistema instalado e colocado em operao. Envolve corrigir erros que no foram descobertos em estgios anteriores, melhorando a implemen-tao e descobrindo novos requisitos

O Modelo em Cascata: Problemas

Particionamento inflexvel do projeto em fases distintas;

Isso torna difcil responder a requisitos do usurio que mudam;

Portanto, esse modelo apropriado somente quando os requisitos so bem compreendidos;

O modelo Evolucionrio

Tem com base a ideia de desenvolver uma implementao inicial, expor o resultado ao comentrio do usurio e fazer seu aprimoramento por meio de muitas verses, at que tenha sido desenvolvido;

A especificao, desenvolvimento e validao so executados concorrentemente para gerar um retorno rpido;

O modelo Evolucionrio

Pode ser:Exploratrio: tem como objetivo trabalhar com o cliente a fim de explorar seus requisitos e entregar um sistema final. So feitas partes inicias e acrescentadas novas de acordo com o desenvolvimento.

Prottipos descartveis: tenta compreender os melhor os requisitos a partir de prottipos e ento desenvolver uma especificao de requisitos completa.

O modelo Evolucionrio

Problemas:O processo no visvel: como o sistema desenvolvido rapidamente, no h tempo de documentar as verses;

Os sistemas so mal-estruturados: mudanas constantes podem corromper a estrutura do software;

Requer ferramentas e tcnicas especiais: que nem sempre so disponveis ou so aplicveis ao caso.

O modelo Evolucionrio

Aplicabilidade:Para sistemas interativos pequenos ou de mdio porte

Para partes de sistemas grandes (p.ex., a interface com o usurio)

Para sistemas de vida curta.

O modelo Desenvolvimento Incremental

uma variao do modelo Cascata;

O modelo Desenvolvimento Incremental

A ideia alargar pouco-a-pouco;

Analogia construo de uma manso;

O modelo Desenvolvimento Incremental

Vantagens:Reduo dos riscos envolvendo custos a um nico incremento.

Reduo do risco de lanar o projeto no mercado fora da data planejada. Identificando os riscos numa fase inicial o esforo despendido para gerenci-los ocorre cedo, quando as pessoas esto sob menos presso do que numa fase final de projeto.

Acelerao do tempo de desenvolvimento do projeto como um todo, porque os desenvolvedores trabalham de maneira mais eficiente quando buscam resultados de escopo pequeno e claro.

Reconhecimento de uma realidade freqentemente ignorada: as necessidades dos usurios e os requisitos correspondentes no podem ser totalmente definidos no incio do processo.

Este modelo de operao facilita a adaptao a mudanas de requisitos.

O modelo Desenvolvimento Incremental

Desvantagens:Dificuldade de gerenciamento. Isso ocorre porque as fases de do ciclo podem estar ocorrendo de forma simultnea.

O usurio pode se entusiasmar excessivamente com a primeira verso do sistema e pensar que tal verso j corresponde ao sistema como um todo.

Como todo modelo esta sujeito a riscos de projeto: O projeto pode no satisfazer aos requisitos do usurio.

A verba do projeto pode acabar.

O sistema de software pode no ser adaptvel, manutenvel ou extensvel.

O sistema de software pode ser entregue ao usurio tarde demais.

O modelo Espiral

O processo representado como uma espiral, em vez de uma seqncia de atividades com caminhos de retorno

Cada volta na espiral representa uma fase no processo

No h fases fixas, tais como especificao ou projetoAs voltas na espiral so escolhidas dependendo do que for exigido

Os riscos so explicitamente avaliados e resolvidos durante todo o processo

O modelo Espiral

O modelo Espiral: Setores

Definio do objetivoIdentificam-se os objetivos especficos da fase

Avaliao e reduo de riscoOs riscos so avaliados e so adotadas as atividades para reduzir os ricos principais

Desenvolvimento e avaliao escolhido um modelo de desenvolvimento para o sistema, que pode ser qualquer um dos modelos genricos

PlanejamentoO projeto revisado e a prxima fase da espiral planejada

O modelo Prototipao

Busca, principalmente, velocidade no desenvolvimento;

O cliente enxerga telas e relatrios resultantes do software, com os quais ele ter alguma pequena interao.

O usurio deve ser envolvido para opinar sobre as telas e relatrios do software, de maneira que se consiga torn-lo quase que co-autor do desenvolvimento responsabilizando-o tambm, desta forma, pelo sucesso final do software, uma vez que ter tido participao ativa na montagem do mesmo.

O modelo Prototipao

Anlise de Requisitos

Desenvolvimentode Prottipo

Experimentao

Reviso

Detalhamento

Codificao e Testes

Implantao

Manuteno

O modelo Prototipao

Perigos:Cliente empolgar-se;

Presso a fim de que concesses de implementaes ocorram para a urgncia da implantao, sugerindo-se que o prottipo seja evoludo e entre rapidamente em funcionamento.

Exerccios