Advertisement

Continuous Design Decision Support

  • Anja Kleebaum
  • Marco Konersmann
  • Michael Langhammer
  • Barbara PaechEmail author
  • Michael Goedicke
  • Ralf Reussner
Open Access
Chapter

Abstract

The main challenges of rational decision-making, documentation, and exploitation are intrusiveness of the activities and consistency between decisions and between decisions and artefacts. This chapter presents three approaches that address these challenges and that contribute to a continuous design decision support: They assist the design decision-making by using a catalogue of design patterns. Once the design decisions are documented, they are made visible in the program code and are accessible from other artefacts such as requirements to increase the developers’ awareness of the decisions and to enable an easy exploitation. In addition, short-cycled practices in continuous software engineering are used to support the documentation and exploitation of design decisions.

References

  1. [Alk+17a]
    Rana Alkadhi et al. “Rationale in Development Chat Messages: An Exploratory Study”. In:Proceedings of the 14th International Conference on Mining Software Repositories MSR ’17. Buenos Aires, Argentina: IEEE Press, 2017, pp. 436–446.isbn: 978-1-5386-1544-7. https://doi.org/10.1109/msr.2017.43.
  2. [Alk+18]
    Rana Alkadhi et al. “How do developers discuss rationale?” In:2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). Campobasso, Italy: IEEE, Mar. 2018, pp. 357–369. https://doi.org/10.1109/saner.2018.8330223.CrossRefGoogle Scholar
  3. [Cap+16]
    Rafael Capilla et al. “10 years of software architecture knowledge management: Practice and future”. In:Journal of Systems and Software116 (2016), pp. 191–205.issn: 01641212.https://doi.org/10.1016/j.jss.2015.08.054.CrossRefGoogle Scholar
  4. [Cle+13]
    Jane Cleland-Huang et al. “Decision-Centric Traceability of architectural concerns”.In:2013 7th International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE). San Francisco, CA, USA: IEEE, 2013, pp. 5–11.isbn: 978-1-4799-0495-2. https://doi.org/10.1109/TEFSE.2013.6620147.
  5. [Hes+15]
    Tom-Michael Hesse et al. “Documenting Implementation Decisions with Code Annotations”. In:27th International Conference on Software Engineering and Knowledge Engineering (SEKE’15). Pittsburgh, PA, USA, 2015, pp. 152–157. https://doi.org/10.18293/SEKE2015-084.
  6. [Hes+16]
    Tom-Michael Hesse et al. “Documented decision-making strategies and decision knowledge in open source projects: An empirical study on Firefox issue reports”. In:Information and Software Technology79 (2016), pp. 36–51.issn: 09505849.https://doi.org/10.1016/j.infsof.2016.06.003.CrossRefGoogle Scholar
  7. [HKR16]
    Tom-Michael Hesse, Arthur Kuehlwein, and Tobias Roehm. “DecDoc: A Tool for Documenting Design Decisions Collaboratively and Incrementally”. In:1st International Workshop on Decision Making in Software ARCHitecture (MARCH 2016). Venice, Italy: IEEE, 2016, pp. 30–37.isbn: 978-1-5090-2573-2. https://doi.org/10.1109/MARCH.2016.9.
  8. [HP16]
    Tom-Michael Hesse and Barbara Paech. “Documenting Relations Between Requirements and Design Decisions: A Case Study on Design Session Transcripts”. In:Requirements Engineering: Foundation for Software Quality: 22nd International Working Conference, REFSQ 2016. Ed. by Maya Daneva and Oscar Pastor. Vol. LNCS 9619. Gothenburg, Sweden: Springer, 2016. Chap. Documentin, pp. 188–204.isbn: 978-3-319-30282-9.https://doi.org/10.1007/978-3-319-30282-9_13.Google Scholar
  9. [Joh+18b]
    Jan Ole Johanssen et al. “Practitioners’ Eye on Continuous Software Engineering: An Interview Study”. In:Proceedings of the 2018 International Conference on Software and System Process. ICSSP ’18. Gothenburg, Sweden: ACM, 2018, pp. 41–50.isbn: 978-1-4503-6459-1.https://doi.org/10.1145/3202710.3203150.
  10. [Kle+18a]
    Anja Kleebaum et al. “Decision knowledge triggers in continuous software engineering”. In:Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering - RCoSE ’18. Gotheburg, Sweden: ACM Press, 2018, pp. 23–26.https://doi.org/10.1145/3194760.3194765.CrossRefGoogle Scholar
  11. [Kle+18b]
    Anja Kleebaum et al. “Tool Support for Decision and Usage Knowledge in Continuous Software Engineering”. In:3rd Workshop on Continuous Software Engineering. 2018, pp. 74–77. https://doi.org/10.11588/heidok.00024186.
  12. [Kon16]
    Marco Konersmann. “A Process for Explicitly Integrated Software Architecture”. In:Softwaretechnik-Trends 36.2 (2016). ISSN: 0720–8928.url:http://pi.informatik.uni-siegen.de/stt/36_2/01_Fachgruppenberichte/WSRE2016/WSRE2016_24_DFF_2016_paper_4.pdf.
  13. [Kon18]
    Marco Konersmann. “Explicitly Integrated Architecture - An Approach for Integrating Software Architecture Model Information with Program Code”. PhD thesis. University of Duisburg-Essen, Mar. 2018.Google Scholar
  14. [SAZ17]
    Mojtaba Shahin, Muhammad Ali Babar, and Liming Zhu. “Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices”. In:IEEE Access 5.Ci (2017), pp. 3909–3943.issn: 2169-3536. https://doi.org/10.1109/ACCESS.2017.2685629.CrossRefGoogle Scholar
  15. [ZCM07]
    Carmen Zannier, Mike Chiasson, and Frank Maurer. “A model of design decision making based on empirical results of interviews with software designers”. In:Information and Software Technology 49.6 (2007), pp. 637–653.issn: 09505849.https://doi.org/10.1016/j.infsof.2007.02.010.CrossRefGoogle Scholar
  16. [Zim+08]
    Olaf Zimmermann et al. “Combining Pattern Languages and Reusable Architectural Decision Models into a Comprehensive and Comprehensible Design Method”. In:Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008). Ed. by Philippe Kruchten, David Garlan, and Eoin Woods. Vancouver, BC, Canada: IEEE, Feb. 2008, pp. 157–166.isbn: 978-0-7695-3092-5. https://doi.org/10.1109/WICSA.2008.19.
  17. [Zim11]
    Olaf Zimmermann. “Architectural Decisions as Reusable Design Assets”. In:IEEE Software 28.1 (Jan. 2011), pp. 64–69.issn: 0740-7459.https://doi.org/10.1109/MS.2011.3.CrossRefGoogle Scholar

Copyright information

© The Author(s) 2019

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  • Anja Kleebaum
    • 1
  • Marco Konersmann
    • 2
  • Michael Langhammer
    • 4
  • Barbara Paech
    • 1
    Email author
  • Michael Goedicke
    • 3
  • Ralf Reussner
    • 4
  1. 1.Universität HeidelbergMathematikon - Institut für InformatikHeidelbergGermany
  2. 2.Institute for Software Technology, Research Group Software EngineeringUniversität Koblenz-LandauKoblenzGermany
  3. 3.paluno – The Ruhr Institute for Software TechnologySpecification of Software Systems, Universität Duisburg-EssenEssenGermany
  4. 4.Institute for Program Structures and Data OrganisationKarlsruhe Institute of Technology (KIT)KarlsruheGermany

Personalised recommendations