Modelos de processos de software

18,609 views
18,387 views

Published on

Published in: Education
2 Comments
7 Likes
Statistics
Notes
  • Olá, no Modelo de Entrega por Estágio você realiza entregas de partes do sistema pré-estabelecidas (como no Scrum e em uma construção predial) como se fossem pré-moldados. Já no modelo de Entrega Evolutiva, as entregas são evoluções de uma versão anterior de forma iterativa (como no modelo incremental).
    Resumidamente e a 'grosso' modo, é isso. P.S.: desculpe a demora em responder.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • bom dia!
    o que seria o Modelo de Entrega por Estágios e Modelo por Entrega Evolutiva?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
18,609
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
536
Comments
2
Likes
7
Embeds 0
No embeds

No notes for slide

Modelos de processos de software

  1. 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 especificação de requisitos, projeto, implementação, testes e mudanças Prof. Nécio de Lima Veras
  2. 2. Processos de Desenvolvimento de Software <ul><li>Vimos anteriormente que os processos d efinem uma estrutura, que consiste em áreas de processos chave.
  3. 3. Percebemos também que Sommerville subdivide em quatro atividades básicas: </li><ul><li>Especificação;
  4. 4. Desenvolvimento;
  5. 5. Validação; e
  6. 6. Evolução. </li></ul><li>Partindo disso, muitos modelos já foram propostos... </li></ul>
  7. 7. Roteiro... <ul><li>Então para esta aula, veremos: </li><ul><li>Definições de processos e modelos de processos de software;
  8. 8. Alguns modelos existentes: </li><ul><li>Cascata;
  9. 9. Evolucionário;
  10. 10. Desenvolvimento incremental;
  11. 11. Espiral; e
  12. 12. Prototipação. </li></ul></ul></ul>
  13. 13. Definições <ul><li>Processo de software: </li><ul><li>“ É uma seqüência coerente de práticas que objetiva o desenvolvimento ou evolução de sistemas de software. Estas práticas englobam as atividades de especificação, projeto, implementação, testes e caracterizam-se pela interação de ferramentas, pessoas e métodos”. </li></ul><li>Modelo de processo de software: </li><ul><li>“ Um modelo de processo de software é uma representação abstrata de um processo. Ele apresenta uma descrição de um processo a partir de uma perspectiva específica”. </li></ul></ul>
  14. 14. O Modelo em Cascata <ul><li>Primeiro modelo publicado do processo de desenvolvimento de software;
  15. 15. Originou-se de outros processos de engenharia;
  16. 16. Retrata um desenvolvimento gradual e possui seqüência de passos em ordem que devem ser seguidos. </li></ul>
  17. 17. <ul>O Modelo em Cascata : Principais Estágios </ul><ul><ul><li>Análise e Definição de Requisitos: as funções, as restrições e os objetivos do sistema são estabelecidos por meio de consulta aos usuários do sistema. Em seguida, são definidos em detalhes e servem como uma especificação do sistema. </li></ul></ul>
  18. 18. O Modelo em Cascata : Principais Estágios <ul><ul><li>Projeto de Sistemas e Software: o processo de projeto de sistemas agrupa os requisitos em sistemas de hardware e software. Envolve a identificação e a descrição das abstrações fundamentais do sistema de software e suas relações. </li></ul></ul>
  19. 19. O Modelo em Cascata : Principais Estágios <ul><ul><li>Implementação e Testes de Unidade: Durante este estágio, 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 especificação. </li></ul></ul>
  20. 20. O Modelo em Cascata : Principais Estágios <ul><ul><li>Integração e Teste de sistemas: as unidades de programa ou programas individuais são 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. </li></ul></ul>
  21. 21. O Modelo em Cascata : Principais Estágios <ul><ul><li>Operação e manutenção: O sistema é instalado e colocado em operação. Envolve corrigir erros que não foram descobertos em estágios anteriores, melhorando a implemen-tação e descobrindo novos requisitos </li></ul></ul>
  22. 22. O Modelo em Cascata : Problemas <ul><li>Particionamento inflexível do projeto em fases distintas;
  23. 23. Isso torna difícil responder a requisitos do usuário que mudam;
  24. 24. Portanto, esse modelo é apropriado somente quando os requisitos são bem compreendidos; </li></ul>
  25. 25. O modelo Evolucionário <ul><li>Tem com base a ideia de desenvolver uma implementação inicial, expor o resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas versões, até que tenha sido desenvolvido;
  26. 26. A especificação, desenvolvimento e validação são executados concorrentemente para gerar um retorno rápido; </li></ul>
  27. 27. O modelo Evolucionário <ul><li>Pode ser: </li><ul><li>Exploratório : tem como objetivo trabalhar com o cliente a fim de explorar seus requisitos e entregar um sistema final. São feitas partes inicias e acrescentadas novas de acordo com o desenvolvimento.
  28. 28. Protótipos descartáveis : tenta compreender os melhor os requisitos a partir de protótipos e então desenvolver uma especificação de requisitos completa. </li></ul></ul>
  29. 29. O modelo Evolucionário <ul><li>Problemas: </li><ul><li>O processo não é visível: como o sistema é desenvolvido rapidamente, não há tempo de documentar as versões;
  30. 30. Os sistemas são mal-estruturados: mudanças constantes podem corromper a estrutura do software;
  31. 31. Requer ferramentas e técnicas especiais: que nem sempre são disponíveis ou são aplicáveis ao caso. </li></ul></ul>
  32. 32. O modelo Evolucionário <ul><li>Aplicabilidade: </li><ul><li>Para sistemas interativos pequenos ou de médio porte
  33. 33. Para partes de sistemas grandes (p.ex., a interface com o usuário)
  34. 34. Para sistemas de vida curta. </li></ul></ul>
  35. 35. O modelo Desenvolvimento Incremental <ul><li>É uma variação do modelo Cascata; </li></ul>
  36. 36. O modelo Desenvolvimento Incremental <ul><li>A ideia é alargar pouco-a-pouco ;
  37. 37. Analogia à construção de uma mansão; </li></ul>
  38. 38. O modelo Desenvolvimento Incremental <ul><li>Vantagens: </li><ul><li>Redução dos riscos envolvendo custos a um único incremento.
  39. 39. Redução do risco de lançar o projeto no mercado fora da data planejada. Identificando os riscos numa fase inicial o esforço despendido para gerenciá-los ocorre cedo, quando as pessoas estão sob menos pressão do que numa fase final de projeto.
  40. 40. Aceleração 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.
  41. 41. Reconhecimento de uma realidade freqüentemente ignorada: as necessidades dos usuários e os requisitos correspondentes não podem ser totalmente definidos no início do processo.
  42. 42. Este modelo de operação facilita a adaptação a mudanças de requisitos. </li></ul></ul>
  43. 43. O modelo Desenvolvimento Incremental <ul><li>Desvantagens: </li><ul><li>Dificuldade de gerenciamento. Isso ocorre porque as fases de do ciclo podem estar ocorrendo de forma simultânea.
  44. 44. O usuário pode se entusiasmar excessivamente com a primeira versão do sistema e pensar que tal versão já corresponde ao sistema como um todo.
  45. 45. Como todo modelo esta sujeito a riscos de projeto: </li><ul><li>O projeto pode não satisfazer aos requisitos do usuário.
  46. 46. A verba do projeto pode acabar.
  47. 47. O sistema de software pode não ser adaptável, manutenível ou extensível.
  48. 48. O sistema de software pode ser entregue ao usuário tarde demais. </li></ul></ul></ul>
  49. 49. O modelo Espiral <ul><li>O processo é representado como uma espiral, em vez de uma seqüência de atividades com caminhos de retorno
  50. 50. Cada volta na espiral representa uma fase no processo
  51. 51. Não há fases fixas, tais como especificação ou projeto </li><ul><li>As voltas na espiral são escolhidas dependendo do que for exigido </li></ul><li>Os riscos são explicitamente avaliados e resolvidos durante todo o processo </li></ul>
  52. 52. O modelo Espiral
  53. 53. O modelo Espiral: Setores <ul><li>Definição do objetivo </li><ul><li>Identificam-se os objetivos específicos da fase </li></ul><li>Avaliação e redução de risco </li><ul><li>Os riscos são avaliados e são adotadas as atividades para reduzir os ricos principais </li></ul><li>Desenvolvimento e avaliação </li><ul><li>É escolhido um modelo de desenvolvimento para o sistema, que pode ser qualquer um dos modelos genéricos </li></ul><li>Planejamento </li><ul><li>O projeto é revisado e a próxima fase da espiral é planejada </li></ul></ul>
  54. 54. O modelo Prototipação <ul><li>Busca, principalmente, velocidade no desenvolvimento;
  55. 55. O cliente “enxerga” telas e relatórios resultantes do software, com os quais ele terá alguma pequena interação.
  56. 56. O usuário deve ser envolvido para opinar sobre as telas e relatórios do software, de maneira que se consiga torná-lo quase que co-autor do desenvolvimento responsabilizando-o também, desta forma, pelo sucesso final do software, uma vez que terá tido participação ativa na montagem do mesmo. </li></ul>
  57. 57. O modelo Prototipação <ul>Análise de Requisitos </ul><ul>Desenvolvimento de Protótipo </ul><ul>Experimentação </ul><ul>Revisão </ul><ul>Detalhamento </ul><ul>Codificação e Testes </ul><ul>Implantação </ul><ul>Manutenção </ul>
  58. 58. O modelo Prototipação <ul><li>Perigos: </li><ul><li>Cliente “empolgar-se”;
  59. 59. Pressão a fim de que concessões de implementações ocorram para a urgência da implantação, sugerindo-se que o protótipo seja evoluído e entre rapidamente em funcionamento. </li></ul></ul>
  60. 60. Exercícios

×