Modelos de Processo de Software
Modelagem e Ciclo de Vida
Construindo um avião
Objetivos de hoje
 Introduzir modelos de processo de software
 Descrever uma variedade de modelos de processo e
quando e...
O processo de software
 Um conjunto estruturado de atividades requeridas
para desenvolver um sistema de software
 Especi...
O processo de software
 Processo inclui:
 Todas as principais atividades do processo
 Recursos - está sujeito a um conj...
Comunicação – do cliente ao produto
Razões para modelar um processo
 Formar um entendimento comum
 Encontrar inconsistências,
redundâncias e omissões
 Enco...
O modelo de processo tradicional
Exemplos de modelos de processo de
software
 O modelo cascata
 Desenvolvimento evolucionário
 Desenvolvimento em fases ...
O modelo cascata (waterfall)
O modelo cascata – atividades em sequência
Requirements
definition
System and
software design
Implementation
and unit test...
O modelo cascata – atividades em sequência
Problemas do modelo cascata
 Partição inflexível do projeto em diferentes estágios
 Isto faz com que seja difícil respon...
Desenvolvimento evolucionário
 Desenvolvimento exploratório
 O objetivo é trabalhar com clientes e evoluir o sistema
fin...
Desenvolvimento evolucionário
Validation
Final
version
Development
Intermediate
versions
Specification
Initial
version
Out...
Desenvolvimento evolucionário
 Problemas
 Falta de visibilidade do processo
 Sistemas são, em geral, pobremente estrutu...
Desenvolvimento em fases (iterativo)
 Requisitos do sistema sempre evoluem (mudam) no
decorrer de um projeto
 A iteração...
Desenvolvimento iterativo e incremental
 Ao invés de entregar o sistema de uma única vez, o
desenvolvimento e a entrega é...
Desenvolvimento iterativo e incremental
Vantagens do desenvolvimento incremental
 O valor agregado ao Cliente está na entrega em
cada incremento de modo que a fu...
Desenvolvimento espiral
 Processo é representado como uma espiral ao invés
de uma seqüência de atividades com retorno
 C...
Modelo espiral do processo de software
Upcoming SlideShare
Loading in...5
×

03 Modelo de processo de software

514

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
514
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

03 Modelo de processo de software

  1. 1. Modelos de Processo de Software Modelagem e Ciclo de Vida
  2. 2. Construindo um avião
  3. 3. Objetivos de hoje  Introduzir modelos de processo de software  Descrever uma variedade de modelos de processo e quando eles podem ser usados  Descrever esboços de modelos de processo para engenharia de requisitos, desenvolvimento de software, teste e evolução
  4. 4. O processo de software  Um conjunto estruturado de atividades requeridas para desenvolver um sistema de software  Especificação  Projeto  Validação  Evolução  Um modelo de processo de software é uma representação abstrata de um processo. Apresenta uma descrição de um processo de alguma perspectiva particular (visão)
  5. 5. O processo de software  Processo inclui:  Todas as principais atividades do processo  Recursos - está sujeito a um conjunto de restrições (como um cronograma)  Produtos intermediários e finais  Subprocessos, com hierarquia ou organizados de algum modo  Critérios de entrada e saída para cada atividade  Sequência de atividades, de modo que a ordem de execução de uma para outra seja clara  Conjunto de diretrizes que explicam os objetivos de cada atividade  Restrições e controles para cada atividade, recurso ou produto
  6. 6. Comunicação – do cliente ao produto
  7. 7. Razões para modelar um processo  Formar um entendimento comum  Encontrar inconsistências, redundâncias e omissões  Encontrar e avaliar atividades propostas mais adequadas aos objetivos  Fazer um processo geral para uma situação particular na qual ele será utilizado
  8. 8. O modelo de processo tradicional
  9. 9. Exemplos de modelos de processo de software  O modelo cascata  Desenvolvimento evolucionário  Desenvolvimento em fases (iterativo)  Iterativo incremental  Modelo em espiral
  10. 10. O modelo cascata (waterfall)
  11. 11. O modelo cascata – atividades em sequência Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance
  12. 12. O modelo cascata – atividades em sequência
  13. 13. Problemas do modelo cascata  Partição inflexível do projeto em diferentes estágios  Isto faz com que seja difícil responder aos requisitos mutáveis dos clientes  Portanto, este modelo só é apropriado quando os requisitos são bem entendidos
  14. 14. Desenvolvimento evolucionário  Desenvolvimento exploratório  O objetivo é trabalhar com clientes e evoluir o sistema final de um esboço de especificação inicial. Deve começar com os requisitos que estão bem entendidos  Preparação de protótipos descartáveis  Objetivo é entender os requisitos do sistema. Deve começar com requisitos pobremente entendidos
  15. 15. Desenvolvimento evolucionário Validation Final version Development Intermediate versions Specification Initial version Outline description Concurrent activities
  16. 16. Desenvolvimento evolucionário  Problemas  Falta de visibilidade do processo  Sistemas são, em geral, pobremente estruturados  Habilidades especiais (ex. em linguagens para rápida preparação de protótipos ) podem ser requeridas  Aplicabilidade  Para sistemas interativos pequenos ou médios  Para partes de sistemas grandes (ex. a interface de usuário, um relatório simples, etc.)  Para sistemas de curto-prazo
  17. 17. Desenvolvimento em fases (iterativo)  Requisitos do sistema sempre evoluem (mudam) no decorrer de um projeto  A iteração do processo, onde estágios anteriores são retrabalhados, é sempre parte de um processo para sistemas maiores  Iteração pode ser aplicada para qualquer modelo de processo  Duas abordagens (relacionadas)  Desenvolvimento incremental  Desenvolvimento espiral
  18. 18. Desenvolvimento iterativo e incremental  Ao invés 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 usuários são priorizados e os requisitos de maior prioridade são incluídos em incrementos iniciais  Uma vez que o desenvolvimento de um incremento é iniciado, os requisitos são congelados embora requisitos para incrementos posteriores possam continuar a evoluir
  19. 19. Desenvolvimento iterativo e incremental
  20. 20. Vantagens do desenvolvimento incremental  O valor agregado ao Cliente está na entrega em cada incremento de modo que a funcionalidade do sistema estará disponível mais cedo  Incrementos iniciais funcionam como protótipos para ajudar a evocar requisitos para incrementos posteriores  Menores riscos de falha no projeto em geral  Os serviços do sistema de alta prioridade tendem a receber a maioria dos testes
  21. 21. Desenvolvimento espiral  Processo é representado como uma espiral ao invés de uma seqüência de atividades com retorno  Cada volta na espiral representa uma fase (iteração) no processo  Não existe um número de fases fixas – as voltas na espiral são escolhidas de acordo com o que é requerido  Os riscos são explicitamente cotados e resolvidos durante todo o processo
  22. 22. Modelo espiral do processo de software
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×