03 modelo de processo de software

22
Modelos de Processo de Software Modelagem e Ciclo de Vida

Upload: waldemar-roberti

Post on 06-Jun-2015

496 views

Category:

Education


3 download

DESCRIPTION

O que é e pra que serve um modelo de processo de software? Tópicos para discussão em aula.

TRANSCRIPT

  • 1. Modelos de Processo de Software Modelagem e Ciclo de Vida

2. Construindo um avio 3. Objetivos de hoje Introduzir modelos de processo de software Descrever uma variedade de modelos de processo e quando eles podem ser usados Descrever esboos de modelos de processo para engenharia de requisitos, desenvolvimento de software, teste e evoluo 4. O processo de software Um conjunto estruturado de atividades requeridas para desenvolver um sistema de software Especificao Projeto Validao Evoluo Um modelo de processo de software uma representao abstrata de um processo. Apresenta uma descrio de um processo de alguma perspectiva particular (viso) 5. O processo de software Processo inclui: Todas as principais atividades do processo Recursos - est sujeito a um conjunto de restries (como um cronograma) Produtos intermedirios e finais Subprocessos, com hierarquia ou organizados de algum modo Critrios de entrada e sada para cada atividade Sequncia de atividades, de modo que a ordem de execuo de uma para outra seja clara Conjunto de diretrizes que explicam os objetivos de cada atividade Restries e controles para cada atividade, recurso ou produto 6. Comunicao do cliente ao produto 7. Razes para modelar um processo Formar um entendimento comum Encontrar inconsistncias, redundncias e omisses Encontrar e avaliar atividades propostas mais adequadas aos objetivos Fazer um processo geral para uma situao particular na qual ele ser utilizado 8. O modelo de processo tradicional 9. Exemplos de modelos de processo de software O modelo cascata Desenvolvimento evolucionrio Desenvolvimento em fases (iterativo) Iterativo incremental Modelo em espiral 10. O modelo cascata (waterfall) 11. O modelo cascata atividades em sequncia Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance 12. O modelo cascata atividades em sequncia 13. Problemas do modelo cascata Partio inflexvel do projeto em diferentes estgios Isto faz com que seja difcil responder aos requisitos mutveis dos clientes Portanto, este modelo s apropriado quando os requisitos so bem entendidos 14. Desenvolvimento evolucionrio Desenvolvimento exploratrio O objetivo trabalhar com clientes e evoluir o sistema final de um esboo de especificao inicial. Deve comear com os requisitos que esto bem entendidos Preparao de prottipos descartveis Objetivo entender os requisitos do sistema. Deve comear com requisitos pobremente entendidos 15. Desenvolvimento evolucionrio Validation Final version Development Intermediate versions Specification Initial version Outline description Concurrent activities 16. Desenvolvimento evolucionrio Problemas Falta de visibilidade do processo Sistemas so, em geral, pobremente estruturados Habilidades especiais (ex. em linguagens para rpida preparao de prottipos ) podem ser requeridas Aplicabilidade Para sistemas interativos pequenos ou mdios Para partes de sistemas grandes (ex. a interface de usurio, um relatrio simples, etc.) Para sistemas de curto-prazo 17. Desenvolvimento em fases (iterativo) Requisitos do sistema sempre evoluem (mudam) no decorrer de um projeto A iterao do processo, onde estgios anteriores so retrabalhados, sempre parte de um processo para sistemas maiores Iterao pode ser aplicada para qualquer modelo de processo Duas abordagens (relacionadas) Desenvolvimento incremental Desenvolvimento espiral 18. Desenvolvimento iterativo e incremental Ao invs de entregar o sistema de uma nica vez, o desenvolvimento e a entrega dividida em incrementos com cada incremento entregando parte da funcionalidade requerida Os requisitos dos usurios so priorizados e os requisitos de maior prioridade so includos em incrementos iniciais Uma vez que o desenvolvimento de um incremento iniciado, os requisitos so congelados embora requisitos para incrementos posteriores possam continuar a evoluir 19. Desenvolvimento iterativo e incremental 20. Vantagens do desenvolvimento incremental O valor agregado ao Cliente est na entrega em cada incremento de modo que a funcionalidade do sistema estar disponvel mais cedo Incrementos iniciais funcionam como prottipos para ajudar a evocar requisitos para incrementos posteriores Menores riscos de falha no projeto em geral Os servios do sistema de alta prioridade tendem a receber a maioria dos testes 21. Desenvolvimento espiral Processo representado como uma espiral ao invs de uma seqncia de atividades com retorno Cada volta na espiral representa uma fase (iterao) no processo No existe um nmero de fases fixas as voltas na espiral so escolhidas de acordo com o que requerido Os riscos so explicitamente cotados e resolvidos durante todo o processo 22. Modelo espiral do processo de software