skip to main content
Skip header Section
Rationale-Based Software EngineeringMay 2008
Publisher:
  • Springer Publishing Company, Incorporated
ISBN:978-3-540-77582-9
Published:09 May 2008
Pages:
316
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Many decisions are required throughout the software development process. These decisions, and to some extent the decision-making process itself, can best be documented as the rationale for the system, which will reveal not only what was done during development but the reasons behind the choices made and alternatives considered and rejected. This information becomes increasingly critical as software development becomes more distributed and encompasses the corporate knowledge both used and refined during the development process. The capture of rationale helps to ensure that decisions are well thought out and justified and the use of rationale can help avoid the mistakes of the past during both the development of the current system and when software products (architecture and design, as well as code) are reused in future systems. Burge, Carroll, McCall, and Mistrk describe in detail the capture and use of design rationale in software engineering to improve the quality of software. Their book is the firs t comprehensive and unified treatment of rationale usage in software engineering. It provides a consistent conceptual framework and a unified terminology for comparing, contrasting and combining the myriad approaches to rationale in software engineering. It is both an excellent introductory text for those new to the field and a uniquely valuable reference for experienced rationale researchers. The book covers the use of rationale for decision making throughout the software lifecycle, starting from the first decisions in a project and continuing through requirements definition, design, implementation, testing, maintenance, redesign and reuse.

Cited By

  1. Farshidi S, Jansen S and Deldar M (2021). A decision model for programming language ecosystem selection, Information and Software Technology, 139:C, Online publication date: 1-Nov-2021.
  2. ACM
    Safwan K and Servant F Decomposing the rationale of code commits: the software developer’s perspective Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (397-408)
  3. Kurtanović Z and Maalej W (2018). On user rationale in software engineering, Requirements Engineering, 23:3, (357-379), Online publication date: 1-Sep-2018.
  4. Alkadhi R, Laţa T, Guzman E and Bruegge B Rationale in development chat messages Proceedings of the 14th International Conference on Mining Software Repositories, (436-446)
  5. ACM
    Kumar S, Wallace C and Young M Mentoring trajectories in an evolving agile workplace Proceedings of the 38th International Conference on Software Engineering Companion, (142-151)
  6. ACM
    Schubanz M Design rationale capture in software architecture Proceedings of the 19th international doctoral symposium on Components and architecture, (31-36)
  7. ACM
    Briand L, Falessi D, Nejati S, Sabetzadeh M and Yue T (2014). Traceability and SysML design slices to support safety inspections, ACM Transactions on Software Engineering and Methodology, 23:1, (1-43), Online publication date: 1-Feb-2014.
  8. Gruhn V and Book M Tamed Agility in Developing Mobile Business Systems Proceedings of the 10th International Conference on Mobile Web Information Systems - Volume 8093, (1-8)
  9. ACM
    Falessi D, Briand L, Cantone G, Capilla R and Kruchten P (2013). The value of design rationale information, ACM Transactions on Software Engineering and Methodology, 22:3, (1-32), Online publication date: 1-Jul-2013.
  10. ACM
    Book M, Grapenthin S and Gruhn V Seeing the forest and the trees Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, (1-4)
  11. Guzzi A Documenting and sharing knowledge about code Proceedings of the 34th International Conference on Software Engineering, (1535-1538)
  12. Guzzi A and Begel A Facilitating communication between engineers with CARES Proceedings of the 34th International Conference on Software Engineering, (1367-1370)
  13. Rogers B, Gung J, Qiao Y and Burge J Exploring techniques for rationale extraction from existing documents Proceedings of the 34th International Conference on Software Engineering, (1313-1316)
  14. ACM
    Burge J, Gannod G and Connor H Using rationale to drive product line architecture configuration Proceedings of the 6th International Workshop on SHAring and Reusing Architectural Knowledge, (29-36)
  15. Faily S and Fléchais I The secret lives of assumptions Proceedings of the Third international conference on Human-centred software engineering, (111-118)
  16. ACM
    Nowak M, Pautasso C and Zimmermann O Architectural decision modeling with reuse Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge, (13-20)
  17. ACM
    Wang W and Burge J Using rationale to support pattern-based architectural design Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge, (1-8)
  18. Huggins J and Wallace C Abstract state machines and the inquiry process Fields of logic and computation, (405-413)
  19. ACM
    Daughtry J, Burge J, Carroll J and Potts C (2009). Creativity and rationale in software design, ACM SIGSOFT Software Engineering Notes, 34:1, (27-29), Online publication date: 31-Jan-2009.
Contributors
  • Colorado College
  • Pennsylvania State University
  • University of Colorado Boulder

Recommendations