Abstract
Context/Motivation: Developers make many important decisions as they address given requirements during system design. Each decision is explained and justified by decision-related knowledge. Typically, this knowledge is neither captured in a structured way, nor linked to the respective requirements in detail. Then, it is not obvious, how design decisions realize the given requirements and whether they further refine or shape them. Thus, the relations and alignment of requirements and design cannot be assessed properly. Problem/Question: While there are several studies on decision-making in general, there does not exist a study uncovering how decision-related knowledge emerges based on requirements. Such a study is important to understand the intertwined relations of requirements and design decisions as well as how requirement descriptions could be enhanced with feedback from design decision-making. Principal Idea/Results: We applied a flexible documentation approach for decision-related knowledge on discussion transcripts of two design sessions with professional designers. We analyzed the discussions for decision-related knowledge and documented it together with its relations to the given requirements. Several complex and incrementally growing knowledge structures for decisions were found to emerge in relation to the given requirements. Also, we uncovered that decision-related knowledge contained uncertainties about requirements and further refined them. Contribution: Our study uncovers detailed relations between requirements and design decisions and thereby improves the understanding of their mutual impact on each other. We also derive recommendations for the cooperation between requirements engineers and designers in practice. In addition, we demonstrate that our documentation approach for decision-related knowledge provides a comprehensive view on decisions and their relations to requirements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Baker, A., van der Hoek, A.: Ideas, subjects, and cycles as lenses for understanding the software design process. Des. Stud. 31(6), 590–613 (2010)
Ball, L.J., Onarheim, B., Christensen, B.T.: Design requirements, epistemic uncertainty and solution development strategies in software design. Des. Stud. 31(6), 567–589 (2010)
Chen, L., Babar, M.A., Nuseibeh, B.: Characterizing architecturally significant requirements. IEEE Softw. 30(2), 38–45 (2013)
Cleland-Huang, J., Mirakhorli, M., Czauderna, A., Wieloch, M.: Decision-centric traceability of architectural concerns. In: International Workshop on Traceability in Emerging Forms of Software Engineering, pp. 5–11. IEEE (2013)
Falessi, D., Cantone, G., Kazman, R., Kruchten, P.: Decision-making techniques for software architecture design. ACM Comput. Surv. 43(4), 1–28 (2011)
Hesse, T.M., Gaertner, S., Roehm, T., Paech, B., Schneider, K., Bruegge, B.: Semiautomatic security requirements engineering and evolution using decision documentation, heuristics, and user monitoring. In: First International Workshop on Evolving Security and Privacy Requirements Engineering (ESPRE) at RE2014, pp. 1–6. IEEE (2014)
Hesse, T.M., Kuehlwein, A., Paech, B., Roehm, T., Bruegge, B.: Documenting implementation decisions with code annotations. In: 27th International Conference on Software Engineering and Knowledge Engineering, pp. 152–157. KSI Research Inc (2015)
Hesse, T.M., Paech, B.: Supporting the collaborative development of requirements and architecture documentation. In: 3rd Internatioal Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks) at RE2013, pp. 22–26. IEEE (2013)
van der Hoek, A., Petre, M., Baker, A.: Workshop “Studying Professional Software Design” at University of California, Irvine (2010). http://www.ics.uci.edu/design-workshop/. Accessed in October 2015
Jackson, M.: Representing structure in a software system design. Des. Stud. 31(6), 545–566 (2010)
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: 5th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 109–120. IEEE (2005)
Kavakli, E., Loucopoulos, P.: Information modeling methods and methodologies: advanced topics of database research. In: Krogstie, J., Halpin, T., Siau, K. (eds.) Goal Modeling in Requirements Engineering: Analysis and Critique of Current Methods, pp. 102–124. Idea Group Publishing, UK (2005)
Ko, A.J., Chilana, P.K.: Design, discussion, and dissent in open bug reports. In: Proceedings of the 2011 iConference, pp. 106–113 (2011)
Kruchten, P., Lago, P., van Vliet, H.: Building up and reasoning about architectural knowledge. In: Hofmeister, C., Crnković, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 43–58. Springer, Heidelberg (2006)
Ngo, T., Ruhe, G.: Decision support in requirements engineering. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 267–286. Springer, Heidelberg (2005)
Nuseibeh, B.: Weaving together requirements and architectures. Computer 34(3), 115–119 (2001)
Paech, B., Delater, A., Hesse, T.M.: Integrating project and system knowledge management. In: Ruhe, G., Wohlin, C. (eds.) Software Project Management in a Changing World, pp. 157–192. Springer, Heidelberg (2014)
Petre, M., van der Hoek, A.: Software Designers in Action: A Human-Centric Look at Design Work. CRC Press, Saarbrucken (2013)
Runeson, P., Höst, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering. Guidelines and Examples. Wiley, Hoboken (2012)
Shaw, M.: The role of design spaces. Software 29(1), 46–50 (2012)
Tang, A., Aleti, A., Burge, J., van Vliet, H.: What makes software design effective? Des. Stud. 31(6), 614–640 (2010)
Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79(12), 1792–1804 (2006)
Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw. 80(6), 918–934 (2007)
Tyree, J., Akerman, A.: Architecture decisions: demystifying architecture. Software 22(2), 19–27 (2005)
Zannier, C., Chiasson, M., Maurer, F.: A model of design decision making based on empirical results of interviews with software designers. Inf. Softw. Technol. 49(6), 637–653 (2007)
Acknowledgment
This work was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP1593: Design For Future — Managed Software Evolution. Results described in this paper are based upon videos and transcripts initially distributed for the 2010 international workshop “Studying Professional Software Design”, as partially supported by NSF grant CCF-0845840.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Hesse, TM., Paech, B. (2016). Documenting Relations Between Requirements and Design Decisions: A Case Study on Design Session Transcripts. In: Daneva, M., Pastor, O. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2016. Lecture Notes in Computer Science(), vol 9619. Springer, Cham. https://doi.org/10.1007/978-3-319-30282-9_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-30282-9_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-30281-2
Online ISBN: 978-3-319-30282-9
eBook Packages: Computer ScienceComputer Science (R0)