Dificuldades e desafios na incorporação de práticas arquitectónicas

Autores

  • 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

Palavras-chave:

Arquitetura de software, QAW, ADD, atributos de qualidade, táticas arquiteturais, padrões arquitetônicos.

Resumo

A arquitetura de software tornou-se um elemento essencial nas organizações de desenvolvimento de software, permitindo atingir as metas de qualidade e obter produtos facilmente evoluíveis. No entanto, em pequenas organizações, arquitetura de software é geralmente uma vaga ideia sobre a estrutura da solução. Este artigo apresenta um estudo de caso de aplicação dos métodos de arquitetura QAW, ADD e VaB, com pequenas equipes de engenheiros desenvolvedores durante um curso de engenharia de software. Foram identificadas algumas dificuldades para rastrear e documentar devidamente o rationale associado a atributos de qualidade, táticas de arquitetura e padrões selecionados. Estabeleceu-se a dificuldade de seguir um processo de arquitetura e deixar evidência consistente do mesmo, especialmente quando a mesma especificação gera conflito entre os atributos estabelecidos e as tácticas e padrões que vão se estabelecendo.

Biografia do Autor

  • 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

    Universidad del Cauca

Referências

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

Publicado

2016-10-06

Edição

Seção

Case Report