Difficulties and challenges in the incorporation of architectural practices

Authors

  • Flor de Maria Hernández Pérez SENA- Cauca
  • Julio Ariel Hurtado Algeria Universidad Del Cauca

DOI:

https://doi.org/10.18046/syt.v14i38.2290

Keywords:

Arquitectura software, QAW, ADD, atributos de calidad, tácticas arquitecturales, patrones arquitectónicos.

Abstract

The architecture software has become a key asset for software organizations because it facilitates achieving quality goals and developing of easy evolvable products. However, in small organizations, software architecture is usually a vague idea about the structure of solution. In this paper, a case of applying several methods of architecture (QAW, ADD and VaB) with small teams constituted by software developers, during a course of software development, is presented. Some difficulties to trace and correctly document the rationale associated with quality attributes, tactics architectural and selected patterns, were identified. It was established the difficulty of following an architectural process and to let consistent evidence about that, especially when the same specification generates conflict between the established attributes and tactics and patterns that going establishing..

Author Biographies

  • Flor de Maria Hernández Pérez, SENA- Cauca

    Systems Engineer from Universidad Cooperativa de Colombia (2007); Specialist in Computer Solutions Development  from Universidad del Cauca (2012); and candidate to Master of Computer Science at the University of Cauca. Member, since 2014, of IDIS research group, focused in research and development related with software engineering, at the Universidad del Cauca, and Innovatec, at the Centro de Teleinformática y Producción Industrial (SENA-Cauca), since 2015, where she also serves as a professor of higher education and as an instructor.

     

  • Julio Ariel Hurtado Algeria, Universidad Del Cauca

    Full professor at the University of Cauca (Department of Systems) and member of IDIS (research and development in software engineering), since 2005. He received his Ph.D in Computing Science from the Universidad de Chile (2012) and his degree in Electronics and Telecommunications Engineering from Universidad del Cauca (1997). His main research topics are: software engineering, software process models, software architecture, engineering models drivers and software product lines. His work has focused on applying techniques and approaches MDE SPL for designing and analysis of software process models 

     

References

ANSI/IEEE 1471-2000. IEEE Recommended practice for architectural description for software-intensive. Retrieved from: https://standards.ieee.org/findstds/standard/1471-2000.html

Barbacci, M., Ellison, R., Lattanze, A., Stafford, J., Weinstock, C., & Wood, W. (2003). Quality attributes workshops [3rd ed. - technical report
CMU/SEI-2003-TR-016 ESC-TR-2003-016]. Pittsburgh, PA: Carnegie Melon University. Available at: http://www.sei.cmu.edu/reports/03tr016.pdf

Bass, L., Clements, P., & Kazman, R. (2003). Software architecture in practice. Boston, MA: Addison-Wesley.

Bellomo, S., Nord, R., & Ozkaya, I. (2013). A study of enabling factors for rapid fielding combined practices to balance speed and stability. In: Proceedings of the ACM-IEEE International Conference on Software Engineering (pp. 982-991). Los Alamitos, CA: IEEE Computer Society.
Berlin-Heidelberg: Germany.

Booch, G., Maksimchuk, R., Engle, M., Young, B., Conallen, J., & Houston, K. (2007). Object-oriented analysis and design with applications. Upper Saddle River, NJ: Addison-Wesley

Bosch, J. (2004). Lecture Notes in Computer Science Vol. 3047. Software architecture: The next step (pp. 194-199).

Clements, P. & Bass, L. (2010). Using business goals to inform software architecture. In Proceedings of the 2010 18th IEEE International Requirements Engineering Conference, RE2010, (pp. 69-78). IEEE.

Clements, P., Bachman, F., Bass, L., Garlan, D., Ivers, J., Little, R., ... Stafford, J. (2010). Documenting software architectures: Views and beyond [2nd ed.]. Boston, MA: Pearson.

Cockburn, A. 2000. Selecting a project’s methodology. IEEE Software, 17(4), 64-71.

Conradi, R. & Fuggetta, A. (2002). Improving software process improvement. IEEE Software, 19(4), 92-99.

Curtis, B., Krasner, H., & Iscoe, N. (1988). A field study of the software design process for large systems. Communications of the ACM, 31(11), 1268-1287.

Escobar, A., Velandia, D. Ordoñez, H. & Cobos, C. (2015).A review of the impact on XP methodology of business model inclusion in requirements elicitation. Sistemas & Telemática, 13(33), 45-61. http://dx.doi.org/10.18046/syt.v13i33.2080

Garlan, D. (1995). An introduction to the Aesop system. Retrieved from: http://www.cs.cmu.edu/afs/cs/project/able/ftp/aesop-overview.pdf

Garlan, D., Monroe, R., Wile, D. (2000). ACME: Architectural description
of component-based systems. In: G. Leavens & M. Sitaraman [Eds.], Foundations of component-based systems (pp. 47-68). Cambridge, UK: Cambridge University Press

Gosselt, R. W. (2012). A maturity model based roadmap for implementing. In: 17th Twenty Student Conference on IT [online]. Retrieved from: http://referaat.cs.utwente.nl/conference/17/paper/7341/a-maturity-model-based-roadmap-for-implementing-togaf.pdf

Yin, R. (2009). Case study research. London, UK: Sage.
ISO/IEC 12207:2008. Systems and software engineering -- Software life cycle processes. Geneva, Switzerland: ISO/IEC. Available at: http://www.iso.org/iso/catalogue_detail?csnumber=43447

Josey, A. (2011). TOGAF Version 9.1 Enterprise Edition. Reading, UK: The Open Group.

Juran, J. M. (1988). Juran on planning for quality. New York, NY: Free press.

Kazman, R. (1996). Tool support for architecture analysis and design. In: Joint proceedings of the Second International Software Architecture Workshop (ISAW-2) and International Workshop on Multiple Perspectives in Software Development (Viewpoints ’96) on SIGSOFT ’96 Workshops (pp. 94-97). New York, NY: ACM. doi: 10.1145/243327.243618

Kazman, R., Gagliardi, M., & Wood, W. (2012). Scaling up software architecture analysis. Journal of Systems and Software, 85(7), 1511-1519. doi:10.1016/j.jss.2011.03.050.

Kazman, R., Klein, M., & Clements, P. (2000).ATAM: Method for architecture evaluation (No. CMU/SEI-2000-TR-004). Pittsburgh PA: Carnegie-Mellon University.

Kruchten, P. (1995). Architectural blueprints—The “4+ 1” view model of software architecture. Tutorial Proceedings of Tri-Ada, 95, 540-555.

Losavio, F. & Guillén, D. (2003). Diseño arquitectónico de sistemas distribuidos. Rapide, 15(1). Retrieved from: http://www.dcc.uchile.cl/~mmarin/revista-sccc/sccc-web/Vol5/wis1.pdf

Lungu, M., Lanza, M., & Nierstrasz, O. (2014). Evolutionary and collaborative software architecture recovery with softwarenaut. Science of Computer Programming 79, 204-223.

Medvidovic, N. & Taylor, R. (2000). A classification and comparison framework for software architecture description languages. IEEE Software Engineering, 26(1), 70-93.

Medvidović, N., Oreizy, P., & Taylor, R. (1997). Reuse of off-the-shelf components in c2-style architectures. In: Software Engineering (ICSE 1997), 19th International Conference on, (pp. 692-700). doi:10.1109/ICSE.1997.610496.

Muñoz, L. & Hurtado, J. (2012). XA: An XP extension for supporting architecture practices. In: 2012 7th Colombian Computing Congress, CCC 2012 (p. 5). IEEE. doi:10.1109/ColombianCC.2012.6398012

Navarro, A., Fernández, J., & Morales, J. (2013). Revisión de metodologías ágiles para el desarrollo de software. Prospectiva, 11(2), 30-39.

OMG. (2011). OMG unified modeling language (OMG UML), superstructure, version 2.4.1. Retrieved from: http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF/

Rational Software (2004). Rational unified process: Best practices for software development teams [white paper TP026B, Rev 11/01]. Cupertino, CA: Rational Software. Available at: https://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/1251_bestpractices_TP026B.pdf

Reynoso, C. (2004). Introducción a la arquitectura de software. Recuperado de: http://carlosreynoso.com.ar/archivos/carlos-reynoso-introduccion-a-la-arquitectura-de-software.pdf

Rumbaugh, J., Jacobson, I., & Booch, G. (1999). El lenguaje unificado de modelado: manual de referencia. Madrid, España: Addison-Wesley.

Sangwan, R., Neill, C., Bass, M., & El Houda, Z. (2008). Integrating a software architecture-centric method into object-oriented analysis and design. Journal of Systems and Software, 81(5), 727-746.

Shaw, M. & Garlan, D. (1996). Software architecture: Perspectives on an emerging discipline. Upper Saddle River: Prentice Hall.

Tang, A., Babar, M. A., Gorton, I., & Han, J. (2006). A survey of architecture design rationale. Journal of systems and software, 79(12), 1792-1804.

Vestal, S. & Krueger, J. (2000, Jan. 1). Technical and historical overview of MetaH. Retrieved from: http://aadl.sei.cmu.edu/aadl/documents/Technical%20and%20Historical%20Overview%20of%20MetaH.pdf

Vestal, S. (n.d). The MetaH AADL toolset. Retrieved from: http://www51.honeywell.com/aero/technology/common/documents/MetaH.pdf

Williams, B. & Carver, C. (2010). Characterizing software architecture changes: A systematic review. Information and Software Technology 52(1), 31-51. http://dx.doi.org/10.1016/j.infsof.2009.07.002.

Wojcik, R. Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R., & Wood, B. (2006, November). Attribute driven design (ADD), versión 2.0 [technical report CMU/SEI-2006-TR-023 ESC-TR-2006-023]. Pittsburgh, PA: Carnegie Mellon University. Available at: http://www.sei.cmu.edu/reports/06tr023.pdf

Zachman, J. (1987). A framework for information systems architecture. IBM Systems Journal, 26(3): 454-470.

Downloads

Published

2016-10-06

Issue

Section

Case Report