Patterns of Software Development Process
DOI:
https://doi.org/10.9781/ijimai.2011.146Keywords:
Software, PatternsAbstract
This article presents a set of patterns that can be found to perform best practices in software processes that are directly related to the problem of implementing the activities of the process, the roles involved, the knowledge generated and the inputs and outputs belonging to the process. In this work, a definition of the architecture is encouraged by using different recurrent configurations that strengthen the process and yield efficient results for the development of a software project. The patterns presented constitute a catalog, which serves as a vocabulary for communication among project participants [1], [2], and also can be implemented through software tools, thus facilitating patterns implementation [3]. Additionally, a tool that can be obtained under GPL (General Public license) is provided for this purpose.Downloads
References
[1] Jessop, A., Pattern language: A framework for learning. European Journal of Operational Research, Volume 153, Issue 2, 1 March 2004, pp. 457-46.
[2] Seffah, A., The evolution of design patterns in HCI: from pattern languages to pattern-oriented design. ACM PEICS '10: Proceedings of the 1st International Workshop on Pattern-Driven Engineering of Interactive Computing Systems. 2010.
[3] Christensen. H. B., Frameworks: putting design patterns into perspective. ACM ITiCSE '04: Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education. 2004.
[4] Gamma, E., Helm, R., Ralph, J., & Vlissides, J. Design Patterns.Addison Wesley. 1994.
[5] Larman, C. UML y Patrones. Pearson. 2003.
[6] Dikel, D., Kane, D., & Wilson, J. Software Architecture. Prentice Hall. 2001.
[7] Shaw, M., & David, G. Software Architecture. Prentice Hall. 1996.
[8] Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., & Stal, M. Pattern-Oriented, Software Architecture. John Wiley & Sons. 2002.
[9] Fowler, M. Analysis Patterns. Addison Wesley. 1997.
[10] Abdullah, N. N. B., Honiden, S., Sharp, H., Nuseibeh, B., Notkin, D., Communication patterns of agile requirements engineering. Proceedings of the 1st Agile Requirements Engineering Workshop, AREW'11 - In Conjunction with ECOOP'11 , art. no. 1. 2011.
[11] Fowler, M. (2011, octubre). Martin Fowler. Disponible en http://martinfowler.com/articles/writingPatterns.html
[12] Royce, W. W., Managing the development of large software systems. Proc. of IEEE WESCON . 1970. pp. l-9
[13] Laplante, P., Neill, C., The Demise of the Waterfall Model Is Imminent. ACM Queue, Volume 1 Issue 10. 2004.
[14] Pressman, R. Ingenieri de Software. Mc Graw Hill. 2002.
[15] Forsberg, K., Mooz, H., The relationship of system engineering to the project cycle. At NCOSE, Chattanooga, Tennessee. 1991.
[16] Ruparelia N. B., Software development lifecycle models. ACM SIGSOFT Software Engineering Notes , Volume 35 Issue 3. 2010.
[17] Emami, M. S., Ithnin, N. B., Ibrahim, O., Software process engineering: Strengths, weaknesses, opportunities and threats. Networked Computing (INC), 2010 6th International Conference on. 2010.
[18] Graham., DR. Incremental development: review of nonmonolithic lifecycle development models. Information and Software Technology, Volume 31, Issue 1, January-February 1989, pp. 7-20.
[19] Madhavji, N. H., The Process Cycle. Software Engineering Journal, September 1991.
[20] Boehm, B. W., A spiral model of software development and enhancement. IEEE Computer. Vol 21 No 5. 1988. pp. 61-72
[21] Voinov, A., Bousquet, F., Modelling with stakeholders. Environmental Modelling & Software, Volume 25, Issue 11, November 2010. pp. 1268- 1281.
[22] Manifesto for Agile Software Development http://www.agilemanifesto.org/.
[23] Power, K., Stakeholder Identification in Agile Software Product Development Organizations: A Model for Understanding Who and What Really Counts. AGILE Conference, 2010. 2010. pp 87 – 94.
[24] Kulkarni, V., A Conceptual Model for Capturing Stakeholders' Wish List. Computer Science and Software Engineering, 2008 International Conference on. 2008. pp. 275 – 278.
[25] Williams, C., Wagstrom, P., Ehrlich, K., Gabriel, D., Klinger, T., Martino, J., Tarr, P. Supporting enterprise stakeholders in software projects. ACM CHASE '10: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering. 2010.
[26] Huffman Hayes, J., Do you like Pina Coladas? How improved communication can improve software quality. Software, IEEE. 2003. pp 90 – 92.
[27] Hall, T., Wilson, D., Rainer, A., Jagielska, D., Communication: the neglected technical skill?. SIGMIS CPR '07: Proceedings of the 2007 ACM SIGMIS CPR conference on Computer personnel research: The global information technology workforce. 2007.
[28] Pikkarainen, M., Haikara, J., Salo, O., Abrahamsson, P., and Still, J., The impact of agile practices on communication in software development. Empirical Software Engineering, Volume 13, Number 3. 2008. Pp 303-307.
[29] Haibin Zhu, MengChu Zhou, Seguin, P., Supporting Software Development With Roles. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on. 2006. pp 1110 – 1123.
[30] Brooks, F. P. Jr., The Mythical Man-Month. Addison - Wesley, 1995.
[31] Biddle B. J. and Thomas E. J., Role Theory: Concepts and Research, Wiley, 1966.
[32] Leontief, W., Input-output economics. Oxford University Press. 1966- 1986.
[33] Cheng, C., Dumitrescu, A., Schroeder, P., Generating small combinatorial test suites to cover input-output relationships. Proceedings. Third International Conference on Quality Software. 2003. Pp 76-82.
[34] Hoare C. A. R., An axiomatic basis for computer programming. Communications of the ACM. 1969.
[35] Kermarrec, Y., Zein, O., Le Pors, E., Grisvard, O., Towards the use of requirements as valuable inputs for complex system design. Information and Communication Technologies: From Theory to Applications, 2008. ICTTA 2008. 3rd International Conference on. 2008.
[36] Osogami, M., Yamanishi, T., Uosaki, K., A method of input-output conditions for automatic program generation using Petri nets. SICE Annual Conference (SICE), 2011 Proceedings of. 2011. pp. 2415 – 2420.
[37] Nasution, M. F. F., Weistroffer, H. R., Documentation in Systems Development: A Significant Criterion for Project Success. System Sciences, 2009. HICSS '09. 42nd Hawaii International Conference on. 2009. pp 1-9.
[38] de Boer, R. C., van Vliet, H., Writing and Reading Software Documentation: How the development process may affect understanding. Cooperative and Human Aspects on Software Engineering, 2009. CHASE '09. ICSE Workshop on. 2009. pp. 40-47.
[39] Correia, F. F., Aguiar, A., Sereno, H., Flores, N., Patterns for consistent software documentation. ACM PLoP '09: Proceedings of the 16th Conference on Pattern Languages of Programs. 2009.
[40] Rochimah, S., Kadir, W. M. N., Abdullah, A. H., An Evaluation of Traceability Approaches to Support Software Evolution. Software Engineering Advances, 2007. ICSEA 2007. International Conference on. 2007.
[41] Schwarz, H., Towards a Comprehensive Traceability Approach in the Context of Software Maintenance. Software Maintenance and Reengineering, 2009. CSMR '09. 13th European Conference on. 2009. pp 339-342.
[42] Aversano, L., Marulli, F., Tortorella, M., Recovering Traceability Links between Business Process and Software System Components. Program Comprehension (ICPC), 2010 IEEE 18th International Conference on. 2010. pp. 52-53.
[43] Rus, I., and Lindvall, M., Knowledge Management in Software Engineering. IEEE Software, vol. 19, no. 3, 2002, pp. 26–38.
[44] Dingsoyr, T., Bjornson, F.O., Shull, F., What Do We Know about Knowledge Management? Practical Implications for Software Engineering. Software, IEEE . 2009. pp. 100-103.
[45] Reihlen, M., Nikolova, N., Knowledge production in consulting teams. Scandinavian Journal of Management, Volume 26, Issue 3, September 2010. pp. 279-28.
[46] Nonaka, I. A Dynamic Theory of Organizational Knowledge Creation. Aroganization Science, 1994. pp. 14- 37.
[47] Dakhli, S., Ben Chouikha, M., The knowledge-gap reduction in software engineering. Research Challenges in Information Science, 2009. RCIS 2009. Third International Conference on. 2009. pp. 287- 294.
[48] Bolaños, S. “SPML”, Registro de Soporte lógico – software, Librotomo-partida 13-28-279, 4-marzo-2011.
[49] Engels, G., Schäfer, W., Balzer, R., Gruhn, V., Process-centered software engineering environments: academic and industrial perspectives. ICSE '01: Proceedings of the 23rd International Conference on Software Engineering. 2001.
[50] Derniame, J. C., Kaba, B. A., Wastell, D., Software process: principles, methodology, and technology. Springer-Verlag Berlin Heidelberg. 1999.
Downloads
Published
-
Abstract103
-
PDF17






