Um Simulador Estocástico de Processo de Software Baseado em Conhecimento
Resumo
A capacidade de entendimento de como o processo se comporta em termos de desempenho, além da oportunidade de verificação “a priori” do impacto de mudanças no processo, tornam a simulação uma ferramenta com potencial para tomada de decisão nas organizações. Este artigo apresenta um modelo de simulação de processo de software baseado nos conceitos de Histórico de Processo de Software, Raciocínio Baseado em Casos (analogia) e Simulação de Monte Carlo. O modelo encontra-se implementado e integrado em um Ambiente Automatizado, explora os recursos já disponíveis na plataforma para extrair e executar modelos de simulação com base no histórico da organização.
Palavras-chave:
Simulador Estocástico, Processo de Software, Raciocínio Baseado em Casos
Referências
Abdel-Hamid, T.; e Madnick, S. (1991) Software Project Dynamics: An Integrated Approach, Facsimile Edition, Prentice-Hall.
Bandinelli, S.; Di Nitto, E.; Fugetta, A.; Lavazza, L. (1994) Coupled vs Decoupled User Interaction Environments in PSEEs. In 9th International Software Process Workshop, Reston.
Barros, M.O.; Werner, C. M. L.; Travassos, G.H. (2000a) Applying System Dynamics to Scenario Based Software Risk Management, In International System Dynamics Conference, Bergen, Norway.
Barros, M.O.; Werner, C. M. L.; Travassos, G.H. (2000b) “Illium: Uma ferramenta de Simulação de Modelos Dinâmicos de Projetos de Software”, In XIV Simpósio Brasileiro de Engenharia de Software, Caderno de Ferramentas, p. 355-358, João Pessoa, PB, Brasil.
Bauer, W. F. (1958) “The Monte Carlo Method”. In: Journal of the Society for Industrial and Applied Mathematics, volume 6, number 4, pages 438-451, December.
Boehm, B. (1981) Software Engineering Economics. Prentice Hall, 1st edition.
Boehm, B.; Abts, C.; Brown, A. W.; Chulani, S.; Clark, B. K.; Horowitz, E.; Madachy, R.; Reifer, D.; Steece, B. (2000) Software cost estimation with Cocomo II. Prentice Hall, 1st edition.
Clements, P. C. (2005) “Project management in a software product line organization”. In: Software, IEEE. volume 22, issue 5, pages 54 – 62.
CMU/SEI. (2006) “CMMI® for Development, Version 1.2”. Carnegie Mellon University, Software Engineering Institute, Pittsburgh. Disponível em: http://www.sei.cmu.edu/publications/documents/06.reports/06tr008.html .
Dantas, A. R.; Barros, M. O.; Werner, C. M. L. (2004) A Simulation-Based Game for Project Management Experiential Learning. In International Conference On Software Engineering and Knowledge Engineering, Banff, Canada.
Delany, S. J.; Cunningham, P.; e Wilke, W. (1998) The Limits of CBR in Software Project Estimation. In 6th German Workshop on Case-Based Reasoning, Berlin, Germany.
Delany, S. J.; Cunningham, P. (2000) “The Application of Case-Based Reasoning to Early Software Project Cost Estimation and Risk Assessment”. University of Dublin, Trinity College, Department of Computer Science. Technical Report. 2000. Disponível em: http://www.cs.tcd.ie/publications/tech-reports/tr-index.00.php . Acesso em: jan. 2008.
Derniame, J. C. (1992) Software Process Technology. In Second European Workshop, EWSPT '92, Trondheim, Norway. Springer-Verlag, September.
Drappa, A.; Ludewig, J. (2000) Simulation in Software Engineering Training. In 22nd International Conference On Software Engineering, ICSE '00. Limerick, Ireland: IEEE Computer Society. p. 199.
França, B. B. N. de. (2007) Proposta de um Modelo de Simulação de Processo de Software para o Ambiente WebAPSEE. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Faculdade de Computação, UFPA, Belém. Disponível em: http://labes.ufpa.br/breno/files/simulation/TCCBrenoFinal.pdf .
Fuggetta, A. (2000) Software Process: A Roadmap. In 22th International Conference On Sosftware Engineering, Ireland. Ireland, ACM Press.
Goldsman, D. (2007) Introduction to Simulation. In Winter Simulation Conference (WSC’07). Washington DC, USA.
ISO/IEC. (2004) ISO/IEC 15504-3: Information Technology – Process Assessment, - Part 3: Guidance on performing an assessment. Geneve.
Jacobson, I.; Booch, G.; Rumbaugh, J. (1999) The Unified Software Development Process. Massachusetts: Addison Wesley Longman, Inc.
Kellner, M. I.; Madachy, R. J; Raffo, D. M. (1999) “Software Process Simulation Modeling: Why? What? How?” In The Journal of Systems and Software, number 46, pages 91-105.
Lakey, P. B. (2003) A Hybrid Software Process Simulation Model for Project Management. In Process Simulation Modeling Workshop (ProSim’03). Portland, Oregon, USA.
Lima, A. M.; França, B. B. N. de; Costa, A.; Sales, E. O.; Lima Reis, C. A.; Reis, R. Q. (2006) Gerência Flexível de Processos de Software com o Ambiente WebAPSEE. In 19o Simpósio Brasileiro de Engenharia de Software, Florianópolis. Sessão de Ferramentas.
Lima Reis, C. A. (2003) Uma Abordagem Flexível para Execução de Processos de Software Evolutivos. Tese de Doutorado – PPGC, Universidade Federal do Rio Grande do Sul, Porto Alegre.
Little, T. (2006) “Schedule Estimation and Uncertainty Surrounding the Cone of Uncertainty”. In IEEE Software. May-June. Volume 23, Issue 3. pages 48- 54.
Martin, R. H. and Raffo, D. (2000) “A Model of the Software Development Process Using Both Continuous and Discrete Models”. In Software Process: Improvement and Practice, volume 5, number 2-3, pages 147-157. John Wiley & Sons, Ltd.
Martin, R. H. and Raffo, D. (2001) “Application of a hybrid process simulation model to a software development project”. In The Journal of Systems and Software, volume 59, pages 237-246.
McConnel, S. (2006) Software Estimation: Demystifying the Black Art (Best Practices). Microsoft Press.
Mi, P.; Scacchi, W. (1990) “A Knowledge-Based Environment for Modeling and Simulating Software Engineering Process”. In Knowledge and Data Engineering, IEEE Transactions, volume 2, pages 283-289.
Raffo, D.; Nayak, U.; Wakeland, W. (2005) Implementing Generalized Process Simulation Models. In 6th Process Simulation Modeling Workshop (ProSim’05). St. Louis, Missouri, USA.
Raffo, D. (1999) Getting the Benefits from Software Process Simulation. In International Conference on Software Engineering and Knowledge Engineering (SEKE’99), Kaiserslautern, Germany, June.
Raffo, D. M.; Vandeville, J. V.; Martin, R. H. (1999) “Software Process Simulation to achieve higher CMM levels”. In The Journal of Systems and Software, number 46, pages 163-172.
Scacchi, W. (1999) “Experience with software process simulation and modeling”. In Journal of Systems and Software, number 46, pages 183-192.
Shepperd, M.; Schofield, C. e Kitchenham, B. (1996) Effort Estimation Using Analogy. In 18th International Conference on Software Engineering (ICSE '96), Berlin, Germany. pages 170-178.
Shepperd, M.; Schofield, C. (1997) “Estimating Software Project Effort Using Analogies”. In IEEE Transactions on Software Engineering, volume 23, number 12, pages 736-743.
Softex. (2006) MPS.BR – Melhoria de Processo do Software Brasileiro, Guia Implementação, v.1.0, Softex, Brasil.
Softex. (2008) MPS.BR – Melhoria de Processo do Software Brasileiro. Disponível em: http://www.softex.org.br/mpsbr .
TI Inside. (2007) “TCU recomenda exigência de certificado nacional de software em licitações”. Secretaria de Comunicação Social - Presidência da República, Outubro. Disponível em: http://www.presidencia.gov.br/estrutura_presidencia/Subsecretaria/noticias/clipping/ noticias/assunto10/nt14ago2c/ . Acesso em: dez. 2007.
Von Wangenheim, C. G.; Von Wangenheim, A. (2003) Raciocínio Baseado em Casos. Editora Manole Ltda.
Bandinelli, S.; Di Nitto, E.; Fugetta, A.; Lavazza, L. (1994) Coupled vs Decoupled User Interaction Environments in PSEEs. In 9th International Software Process Workshop, Reston.
Barros, M.O.; Werner, C. M. L.; Travassos, G.H. (2000a) Applying System Dynamics to Scenario Based Software Risk Management, In International System Dynamics Conference, Bergen, Norway.
Barros, M.O.; Werner, C. M. L.; Travassos, G.H. (2000b) “Illium: Uma ferramenta de Simulação de Modelos Dinâmicos de Projetos de Software”, In XIV Simpósio Brasileiro de Engenharia de Software, Caderno de Ferramentas, p. 355-358, João Pessoa, PB, Brasil.
Bauer, W. F. (1958) “The Monte Carlo Method”. In: Journal of the Society for Industrial and Applied Mathematics, volume 6, number 4, pages 438-451, December.
Boehm, B. (1981) Software Engineering Economics. Prentice Hall, 1st edition.
Boehm, B.; Abts, C.; Brown, A. W.; Chulani, S.; Clark, B. K.; Horowitz, E.; Madachy, R.; Reifer, D.; Steece, B. (2000) Software cost estimation with Cocomo II. Prentice Hall, 1st edition.
Clements, P. C. (2005) “Project management in a software product line organization”. In: Software, IEEE. volume 22, issue 5, pages 54 – 62.
CMU/SEI. (2006) “CMMI® for Development, Version 1.2”. Carnegie Mellon University, Software Engineering Institute, Pittsburgh. Disponível em: http://www.sei.cmu.edu/publications/documents/06.reports/06tr008.html .
Dantas, A. R.; Barros, M. O.; Werner, C. M. L. (2004) A Simulation-Based Game for Project Management Experiential Learning. In International Conference On Software Engineering and Knowledge Engineering, Banff, Canada.
Delany, S. J.; Cunningham, P.; e Wilke, W. (1998) The Limits of CBR in Software Project Estimation. In 6th German Workshop on Case-Based Reasoning, Berlin, Germany.
Delany, S. J.; Cunningham, P. (2000) “The Application of Case-Based Reasoning to Early Software Project Cost Estimation and Risk Assessment”. University of Dublin, Trinity College, Department of Computer Science. Technical Report. 2000. Disponível em: http://www.cs.tcd.ie/publications/tech-reports/tr-index.00.php . Acesso em: jan. 2008.
Derniame, J. C. (1992) Software Process Technology. In Second European Workshop, EWSPT '92, Trondheim, Norway. Springer-Verlag, September.
Drappa, A.; Ludewig, J. (2000) Simulation in Software Engineering Training. In 22nd International Conference On Software Engineering, ICSE '00. Limerick, Ireland: IEEE Computer Society. p. 199.
França, B. B. N. de. (2007) Proposta de um Modelo de Simulação de Processo de Software para o Ambiente WebAPSEE. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Faculdade de Computação, UFPA, Belém. Disponível em: http://labes.ufpa.br/breno/files/simulation/TCCBrenoFinal.pdf .
Fuggetta, A. (2000) Software Process: A Roadmap. In 22th International Conference On Sosftware Engineering, Ireland. Ireland, ACM Press.
Goldsman, D. (2007) Introduction to Simulation. In Winter Simulation Conference (WSC’07). Washington DC, USA.
ISO/IEC. (2004) ISO/IEC 15504-3: Information Technology – Process Assessment, - Part 3: Guidance on performing an assessment. Geneve.
Jacobson, I.; Booch, G.; Rumbaugh, J. (1999) The Unified Software Development Process. Massachusetts: Addison Wesley Longman, Inc.
Kellner, M. I.; Madachy, R. J; Raffo, D. M. (1999) “Software Process Simulation Modeling: Why? What? How?” In The Journal of Systems and Software, number 46, pages 91-105.
Lakey, P. B. (2003) A Hybrid Software Process Simulation Model for Project Management. In Process Simulation Modeling Workshop (ProSim’03). Portland, Oregon, USA.
Lima, A. M.; França, B. B. N. de; Costa, A.; Sales, E. O.; Lima Reis, C. A.; Reis, R. Q. (2006) Gerência Flexível de Processos de Software com o Ambiente WebAPSEE. In 19o Simpósio Brasileiro de Engenharia de Software, Florianópolis. Sessão de Ferramentas.
Lima Reis, C. A. (2003) Uma Abordagem Flexível para Execução de Processos de Software Evolutivos. Tese de Doutorado – PPGC, Universidade Federal do Rio Grande do Sul, Porto Alegre.
Little, T. (2006) “Schedule Estimation and Uncertainty Surrounding the Cone of Uncertainty”. In IEEE Software. May-June. Volume 23, Issue 3. pages 48- 54.
Martin, R. H. and Raffo, D. (2000) “A Model of the Software Development Process Using Both Continuous and Discrete Models”. In Software Process: Improvement and Practice, volume 5, number 2-3, pages 147-157. John Wiley & Sons, Ltd.
Martin, R. H. and Raffo, D. (2001) “Application of a hybrid process simulation model to a software development project”. In The Journal of Systems and Software, volume 59, pages 237-246.
McConnel, S. (2006) Software Estimation: Demystifying the Black Art (Best Practices). Microsoft Press.
Mi, P.; Scacchi, W. (1990) “A Knowledge-Based Environment for Modeling and Simulating Software Engineering Process”. In Knowledge and Data Engineering, IEEE Transactions, volume 2, pages 283-289.
Raffo, D.; Nayak, U.; Wakeland, W. (2005) Implementing Generalized Process Simulation Models. In 6th Process Simulation Modeling Workshop (ProSim’05). St. Louis, Missouri, USA.
Raffo, D. (1999) Getting the Benefits from Software Process Simulation. In International Conference on Software Engineering and Knowledge Engineering (SEKE’99), Kaiserslautern, Germany, June.
Raffo, D. M.; Vandeville, J. V.; Martin, R. H. (1999) “Software Process Simulation to achieve higher CMM levels”. In The Journal of Systems and Software, number 46, pages 163-172.
Scacchi, W. (1999) “Experience with software process simulation and modeling”. In Journal of Systems and Software, number 46, pages 183-192.
Shepperd, M.; Schofield, C. e Kitchenham, B. (1996) Effort Estimation Using Analogy. In 18th International Conference on Software Engineering (ICSE '96), Berlin, Germany. pages 170-178.
Shepperd, M.; Schofield, C. (1997) “Estimating Software Project Effort Using Analogies”. In IEEE Transactions on Software Engineering, volume 23, number 12, pages 736-743.
Softex. (2006) MPS.BR – Melhoria de Processo do Software Brasileiro, Guia Implementação, v.1.0, Softex, Brasil.
Softex. (2008) MPS.BR – Melhoria de Processo do Software Brasileiro. Disponível em: http://www.softex.org.br/mpsbr .
TI Inside. (2007) “TCU recomenda exigência de certificado nacional de software em licitações”. Secretaria de Comunicação Social - Presidência da República, Outubro. Disponível em: http://www.presidencia.gov.br/estrutura_presidencia/Subsecretaria/noticias/clipping/ noticias/assunto10/nt14ago2c/ . Acesso em: dez. 2007.
Von Wangenheim, C. G.; Von Wangenheim, A. (2003) Raciocínio Baseado em Casos. Editora Manole Ltda.
Publicado
02/06/2008
Como Citar
FRANÇA, Breno Bernard Nicolau de; REIS, Rodrigo Quites.
Um Simulador Estocástico de Processo de Software Baseado em Conhecimento. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 7. , 2008, Florianópolis.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2008
.
p. 247-262.
DOI: https://doi.org/10.5753/sbqs.2008.15547.