ABSTRACT
The success of a software project is strongly related with architectural design. However, designing the right Software Architecture is a very subjective task and takes a long time, being much influenced by architect's experience and the quality of requirements engineering. This architectural knowledge, usually, is not documented, since it is considered tacit knowledge of architects or other stakeholders, and eventually dissipates. The objective of this paper is to present a tool that supports young architects by recommending a suitable architectural style, based on the system's requirements, particularly the quality attributes of the system. The tool encompasses both trade-off resolution over quality attributes and recommendation of architectural styles based on quality attributes. The proposed solution has been evaluated in the context of a specific domain of Learning Management System (LMS), in order to illustrate the tool support in the execution of an architectural design process.
- T. Al-Naeem, I. Gorton, M. A. Babar, F. Rabhi, and B. Benatallah. A quality-driven systematic approach for architecting distributed software applications. In In Proceedings of ICSE 2005, pages 244--253. ACM Press, 2005. Google ScholarDigital Library
- M. A. Babar and I. Gorton. A tool for managing software architecture knowledge. In Proceedings of SHARK-ADI 2007, pages 11--, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- L. Bass, P. Clements, and R. Kazman. Software Architecture in pratice 3rd Edition. Addison-Wesley Publishing Company, Reading, Massachusetts, 2012. Google ScholarDigital Library
- L. Bass and R. Kazman. Architecture-based development. Technical Report 007, Carnegie Mellon University, Pittsburgh, PA, apr. 1999.Google Scholar
- J. Bosch. Software architecture: The next step. In F. Oquendo, B. Warboys, and R. Morrison, editors, EWSA, volume 3047 of LNCS, pages 194--199. Springer, 2004.Google Scholar
- Drools. Drools - overview. http://www.drools.org/. {Accessed: 2014-09-25}.Google Scholar
- A. Egyed and P. Grunbacher. Identifying requirements conflicts and cooperation: How quality attributes and automated traceability can help. IEEE Software, 21(6):50--58, 2004. Google ScholarDigital Library
- G. Elahi and E. Yu. A semi-automated decision support tool for requirements trade-off analysis. In Proceedings of COMPSAC 2011, pages 466--475, 2011. Google ScholarDigital Library
- D. Falessi, G. Cantone, R. Kazman, and P. Kruchten. Decision-making techniques for software architecture design: A comparative survey. ACM Comput. Surv., 43(4):33:1--33:28, Oct. 2011. Google ScholarDigital Library
- I. O. for Standarization. Iso standard 9126: Software engineering - product quality, parts 1, 2 and 3, 2001.Google Scholar
- D. Garlan and M. Shaw. An introduction to software architecture. Technical Report 166, Carnegie Mellon University, Pittsburgh, PA, jan. 1994. Google Scholar
- K. Henningsson and C. Wohlin. Understanding the relations between software quality attributes - a survey approach. In Proceedings of ICSQ 2002, Ottawa - Canada, 2002.Google Scholar
- P. Jackson. Introduction To Expert Systems. Addison Wesley, Harlow, England, 3rd edition, 1998. Google ScholarDigital Library
- A. Jansen, J. S. van der Ven, P. Avgeriou, and D. K. Hammer. Tool support for architectural decisions. In Proceedings of WICSA 2007, Mumbai, India, 2007. Google ScholarDigital Library
- B. K. Mahesh Parmar W. U. Khan. An Architectural Decision Tool Based on Scenarios and Non-functional Requirements. In IJACSA, 2(2), 2011.Google Scholar
- F. Martensson. Trade-off examples inside software engineering and computer science. In L. Lundberg, M. Mattsson, and C. Wohlin, editors, Software quality attributes and trade-offs. Blekinge Institute of Technology, Karlskrona, Sweden, 2005.Google Scholar
- F. Ricci, L. Rokach, and B. Shapira. Introduction to Recommender Systems Handbook. In Recommender Systems Handbook, chapter 1, pages 1--35. Springer US, Boston, MA, 2011.Google ScholarCross Ref
- P. C. Rick Kazman, Mark Klein. Atam: Method for architecture evaluation. Technical report, CMU/SEI, Aug. 2000.Google Scholar
- H. B. Rocha, E. d. B. Costa, P. H. d. S. Brito, and M. T. C. Cavalcante. A reference model for virtual learning environments web: Bringing the perspectives of author and publisher. In Proceedings of EDULEARN 2013, pages 1014--1021. IATED, 1--3 July, 2013 2013.Google Scholar
- G. Ruhe. Software engineering decision support -- a new paradigm for learning software organizations. In S. Henninger and F. Maurer, editors, LSO, volume 2640 of LNCS, pages 104--113. Springer, 2002.Google Scholar
- I. C. L. Silva, P. H. Brito, B. Neto, E. Costa, and H. Rocha. A tool for trade-off resolution on architecture-centered software development. In Proceedings of SEKE 2014, pages 35--38, Skokie, IL, USA, 2014. KSI Graduate School.Google Scholar
- D. Tofan and M. Galster. Capturing and making architectural decisions: An open source online tool. In Proceedings of ECSAW 2014, pages 33:1--33:4, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- J. Ven, A. Jansen, J. Nijhuis, and J. Bosch. Design decisions: The bridge between rationale and architecture, volume Rationale Management in Software Engineering, pages 329--348. Springer Berlin Heidelberg, 2006.Google Scholar
Index Terms
- A decision-making tool to support architectural designs based on quality attributes
Recommendations
Associating architectural issues with quality attributes: a survey on expert agreement
ECSAW '16: Proccedings of the 10th European Conference on Software Architecture WorkshopsThe architectural decision-making process is a complex and crucial endeavor in companies that develop large and distributed software systems. In this process, choosing and evaluating a solution for each architectural issue depends on decision drivers. ...
Architectural Decisions as Reusable Design Assets
Architectural decisions are design decisions that are hard to make or costly to change. Hence, mature software engineering and architecture design methods emphasize the importance of architectural decision-making and capture. Capturing decisions after ...
Preserving architectural decisions through architectural patterns
Architectural decisions have emerged as a means to maintain the quality of the architecture during its evolution. One of the most important decisions made by architects are those about the design approach such as the use of patterns or styles in the ...
Comments