Abstract
Software architecture knowledge is an important asset in today’s projects, as it serves to share the main design decisions among the project stakeholders. Architectural knowledge is commonly captured by the Software Architecture Document (SAD), an artifact that is useful but can also be costly to produce and maintain. In practice, the SAD often fails to fulfill its mission of addressing the stakeholders’ information needs, due to factors such as: detailed or high-level contents that do not consider all stakeholders, outdated documentation, or documentation generated late in the lifecycle, among others. To alleviate this problem, we propose a documentation strategy that seeks to balance the stakeholders’ interests in the SAD against the efforts of producing it. Our strategy is cast as an optimization problem called ”the next SAD version problem” (NSVP) and several search-based techniques for it are discussed. A preliminary evaluation of our approach has shown its potential for exploring cost-benefit tradeoffs in documentation production.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ruping, A.: Agile Documentation: A Pattern Guide to Producing Lightweight Documents for Software Projects. John Wiley & Sons (2003)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley Professional (2012)
Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley Professional (2010)
ISO/IEC/IEEE: ISO/IEC/IEEE 42010: Systems and software engineering - architecture description. C/S2ESC. IEEE Computer Society (2011)
Parnas, D.L.: Precise documentation: The key to better software. In: Nanz, S. (ed.) The Future of Software Engineering, Springer, pp. 125–148. Springer (2010)
Falessi, D., Briand, L.C., Cantone, G., Capilla, R., Kruchten, P.: The value of design rationale information. ACM Trans. Softw. Eng. Methodol. 22(3), 21 (2013)
Diaz-Pace, J.A., Nicoletti, M., Schiaffino, S., Villavicencio, C., Sanchez, L.E.: A stakeholder-centric optimization strategy for architectural documentation. In: Cuzzocrea, A., Maabout, S. (eds.) MEDI 2013. LNCS, vol. 8216, pp. 104–117. Springer, Heidelberg (2013)
Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: A practical method for documenting software architectures. In: Proceedings of the 25th ICSE (2003)
Bagnall, A., Rayward-Smith, V., Whittley, I.: The next release problem. Information and Software Technology 43(14), 883–890 (2001)
Zhang, Y., Harman, M., Mansouri, S.A.: The multi-objective next release problem. In: Proceedings of the 9th GECCO, pp. 1129–1137. ACM, New York (2007)
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings Working Conf. on Software Architecture, pp. 109–120 (2005)
Mitchell, R.K., Agle, B.R., Wood, D.J.: Toward a theory of stakeholder identification and salience: Defining the principle of who and what really counts. Academy of Management Review 22, 853 (1997)
Farenhorst, R., van Vliet, H.: Experiences with a wiki to support architectural knowledge sharing. In: Proc. 3rd Wikis4SE, Portugal (2008)
Bachmann, F., Merson, P.: Experience using the web-based tool wiki for architecture documentation. Technical Report CMU/SEI-2005-TN-041, SEI, CMU (2005)
Lattanze, A.: Architecting Software Intensive Systems: A Practitioners Guide. Taylor & Francis (2008)
Rozanski, N., Woods, E.: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives, 2nd edn. Addison-Wesley (2011)
Koning, H., Vliet, H.V.: Real-life it architecture design reports and their relation to ieee std 1471 stakeholders and concerns. Auto. Soft. Eng. 13, 201–223 (2006)
Diwekar, U.: Introduction to Applied Optimization, 2nd edn. Springer Publishing Company, Incorporated (2010)
Berre, D.L., Parrain, A.: The SAT4J library, release 2.2. JSAT 7(2-3), 59–64 (2010)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. Trans. Evol. Comp. 6(2), 182–197 (2002)
Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: Trends, techniques and applications. ACM Comput. Surv. 45(1), 1–11 (2012)
Durillo, J.J., Zhang, Y., Alba, E., Harman, M., Nebro, A.J.: A study of the bi-objective next release problem. Empirical Softw. Eng. 16(1), 29–60 (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Diaz-Pace, J.A., Nicoletti, M., Schiaffino, S., Vidal, S. (2014). Producing Just Enough Documentation: The Next SAD Version Problem. In: Le Goues, C., Yoo, S. (eds) Search-Based Software Engineering. SSBSE 2014. Lecture Notes in Computer Science, vol 8636. Springer, Cham. https://doi.org/10.1007/978-3-319-09940-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-09940-8_4
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09939-2
Online ISBN: 978-3-319-09940-8
eBook Packages: Computer ScienceComputer Science (R0)