Simulación del proceso de desarrollo de software: una aproximación con Dinámica de Sistemas y el Método de Larman
Resumen
Poner en marcha cualquier proyecto de software involucra el consumo de recursos críticos. El ingeniero de software no puede experimentar con procesos de desarrollo sin ponerlos en marcha en proyectos reales, debido al tiempo que ello conlleva y a los elementos implicados, de modo que es importante contar con herramientas para pre-visualizar el resultado de la ejecución del proceso y cómo las variables de entorno le afectan, buscando anticipar en qué condiciones se va a desplegar el proceso. Este artículo presenta el modelado y simulación de un proceso de desarrollo de software por medio del enfoque de la Dinámica de Sistemas (DS), que permite representar gráficamente los elementos intervinientes en el proceso e incorporar la cantidad relevante de parámetros involucrados. Se tomó como referencia el modelo de estimación de costes COCOMO, que cuenta con una fundamentación teórico-práctica que avala su fiabilidad. Para la construcción del modelo, la referencia de sistema real fue el proceso software de Craig Larman (Método de Larman). El modelo de simulación presentado permite hacer estimaciones iniciales del comportamiento del proceso software, y de los elementos que lo conforman, durante el transcurso de un tiempo de simulación configurable. Se analizan variables de estado del sistema, que permiten concluir sobre efectos de los parámetros en el comportamiento del sistema en general, y se lleva a cabo un estudio de escenarios. El modelo deriva en una herramienta de soporte a los equipos de gestión, y a las empresas que hacen de la Gestión de Proyectos Tecnológicos su negocio principal.
Descargas
Citas
W. D. Yu, “A Modeling Approach to Software Cost Estimation,” IEEE J. Sel. Areas Commun., vol. 8, pp. 309–314, 1990.
C. Smith, “Improving Service While Controlling Costs,” IEEE Softw., vol. March, pp. 95–96, 1991.
C. Alejandro and M. Ruiz, “Coverage of ISO/IEC 12207 Software Lifecycle Process by a Simulation-Based Serious Game,” in SPICE 2016: Software Process Improvement and Capability Determination, 2016, pp. 56–70, doi: https://doi.org/10.1007/978-3-319-38980-6_5.
M. I. Kellner, R. J. Madachy, and D. M. Raffo, “Software process simulation modeling: Why? What? How?,” J. Syst. Softw., vol. 46, no. 2–3, pp. 91–105, 1999, doi: 10.1016/S0164-1212(99)00003-5.
S. T. Acuña and M. I. Sánchez-Segura, New Trends in Software Process Modeling. Singapore: World Scientific Publishing Co. Pte. Ltd., 2006.
A. Greasley, Simulation modelling for business. Routledge, 2017.
M. I. Lunesu, J. Münch, M. Marchesi, and M. Kuhrmann, “Using simulation for understanding and reproducing distributed software development processes in the cloud,” Inf. Softw. Technol., vol. 103, no. July, pp. 226–238, 2018, doi: 10.1016/j.infsof.2018.07.004.
G. L. Dugarte-Peña, “Modelado y Simulación de un Proceso de Desarrollo de Software dirigido por el Método de Craig Larman: Una aplicación de la dinámica de sistemas. (Modelling and Simulation of a Craig Larman Methods’ Software Development Process: A System Dynamics Approach,” Universidad Carlos III de Madrid, 2015.
J. A. García-García, J. G. Enríquez, and F. J. Domínguez-Mayo, “Characterizing and evaluating the quality of software process modeling language: Comparison of ten representative model-based languages,” Comput. Stand. Interfaces, vol. 63, no. October 2018, pp. 52–66, 2019, doi: 10.1016/j.csi.2018.11.008.
R. Vicente, “Modelamiento semántico con Dinámica de Sistemas en el proceso de desarrollo de software,” Iber. J. Inf. Syst. Technol., no. 10, pp. 19–33, Dec. 2012, doi: 10.4304/risti.10.19-34.
S. Robertson, “Learning from Other Disciplines,” 2005.
I. Jacobson, G. Booch, and J. E. Rumbaugh, The unified software development process. Boston, MA: Addison-Wesley Longman Publishing Co., Inc., 1999.
C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd ed. Prentice Hall, 2004.
G.-L. Dugarte-Peña, “Software Engineering under the prism of System Dynamics,” in XXIII Jornadas. Internacionales de Ingeniería de Sistemas. Universidad Católica de Santa María., 2016.
G. H. Travassos and M. Barros, “Contributions of In Virtuo and In Silico Experimentes for the Future of Empirical Studies in Software Engineering,” 2nd Work. Work. Ser. Empir. Softw. Eng. Futur. Empir. Stud. Softw. Eng., no. January, pp. 1–14, 2003.
Ventana Systems, “VENSIM.” Ventana Systems, 2011.
J. M. García, Teoría y ejercicios prácticos de Dinámica de Sistemas. Independently Published, 2018.
USC COCOMO II: User´s manual. Center for Software Engineering, USC, 2003.
B. Boehm, “COCOMO II Model Definition Manual,” vol. 87, no. 5 Suppl, p. i, 2012, doi: 10.4269/ajtmh.2012.875suppack.
J. Sterman, Business Dynamics: Systems Thinking and Modeling for a Complex World. USA: McGraw-Hill, 2000.
B. B. Nicolau De França and G. Horta Travassos, “Reporting guidelines for simulation-based studies in software engineering,” IET Semin. Dig., vol. 2012, no. 1, pp. 156–160, 2012, doi: 10.1049/ic.2012.0019.
H. Zhang, B. A. Kitchenham, and D. Pfahl, “Reflections on 10 Years of Software Process Simulation Modeling: A Systematic Review,” in Making Globally Distributed Software Development a Success Story, Q. Wang, D. Pfahl, and D. M. Raffo, Eds. Springer, 2008, pp. 345–356.
H. Zhang, B. Kitchenham, and D. Pfahl, “Software Process Simulation Modeling: Facts, Trends and Directions,” 2008 15th Asia-Pacific Softw. Eng. Conf., pp. 59–66, 2008, doi: 10.1109/APSEC.2008.50.
X. Ferré-Grau and M.-I. Sanchez-Segura, “Desarrollo Orientado a Objetos con UML,” pp. 1–38, 2013.
M.-I. Sanchez-Segura, A. Jordan, F. Medina-Dominguez, and G.-L. Dugarte-Peña, “Software Engineers must speak the Systemic Intangible Process Assets Language,” 2016.
Derechos de autor 2020 Innovación y Software
Esta obra está bajo licencia internacional Creative Commons Reconocimiento 4.0.
Los autores ceden en exclusiva el derecho de publicación de su artículo a la Revista Innovación y Software, que podrá editar o modificar formalmente el texto aprobado para cumplir con las normas editoriales propias y con los estándares gramaticales universales, antes de su publicación; asimismo, nuestra revista podrá traducir los manuscritos aprobados a cuantos idiomas considere necesario y difundirlos en varios países, dándole siempre el reconocimiento público al autor o autores de la investigación.