© 2008

Rationale-Based Software Engineering


Table of contents

  1. Front Matter
    Pages i-xxxv
  2. Introduction

  3. Uses for Rationale

    1. Front Matter
      Pages 78-78
    2. Pages 91-101
    3. Pages 113-122
  4. Rationale and Software Engineering

  5. Frameworks for Rationale-Based Software Engineering

    1. Front Matter
      Pages 212-212

About this book


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 Mistrík describe in detail the capture and use of design rationale in software engineering to improve the quality of software. Their book is the first 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.


Design Process Design Rationale Empirical Software Engineering Requirements Engineering Software Design Software Engineering Software Lifecycle Software Maintenance Software Reuse architecture design development testing validation

Authors and affiliations

  1. 1.School of Eng. & Appl. Science Computer Science & Systems AnalysisMiami UniversityOxfordUSA
  2. 2.School of Information Sciences and Technology 504 Rider I BuildingPenn State UniversityUniversity ParkUSA
  3. 3.College Architecture & PlanningUniversity of ColoradoBoulderUSA
  4. 4.Independent ConsultantHeidelbergGermany

About the authors

Janet E. Burge is an Assistant Professor at Miami University Computer Science and Systems Analysis Department. Her major research interests are in Software Engineering and Artificial Intelligence. Her primary research area is in Design Rationale, with a focus on Design Rationale for Software Maintenance. She received her PhD in Computer Science from WPI in 2005, her M.S in Computer Science from WPI in 1999, and her B.S. in Computer Science from Michigan Technological University in 1984.

John M. Carroll is the Edward M. Frymoyer Chair Professor of Information Sciences and Technology at the Pennsylvania State University. His research interests include methods and theory in human-computer interaction, particularly as applied to networking tools for collaborative learning and problem solving, and the design of interactive information systems. He serves on several editorial boards for journals, handbooks, and series and is Editor-in-Chief of the ACM Transactions on Computer-Human Interactions. He received the Rigo Award and the CHI Lifetime Achievement Award from ACM, the Silver Core Award from IFIP, and the Alfred N. Goldsmith Award from IEEE. He is a fellow of the ACM, IEEE, and HFES.

Raymond McCall is an Associate Professor in the Department of Planning and Design at the University of Colorado, Denver. His major areas of research are in design rationale methods and systems. Since 1992, most of his research has concentrated on the use of rationale to support the design of artifacts for human exploration of space. For much of this time he collaborated with NASA contractors and with employees of the Johnson Space Center in Houston. He has nearly 30 years of experience in design rationale usage in architectural design, planning, policy making and software design. He created the first hypertext systems for support of design rationale in the 1970s and 1980s and was the first to integrate support for rationale capture and delivery into 3D computer-aided design systems.

Ivan Mistrí­k is an independent consultant for software-intensive systems engineering. He has 40 years experience in both software and systems engineering as an information systems developer, R&D leader, research analyst, and ICT management consultant. He is the author or co-author of more than 80 articles and papers in international journals, conferences, books and workshops and was an editor of the Special Issue on "Relating Software Requirements and Architectures" published in 2005.

Bibliographic information

Industry Sectors
Chemical Manufacturing
IT & Software
Finance, Business & Banking
Energy, Utilities & Environment


"This book provides researchers and practitioners in Software Design Rationale with a new standard reference, critiquing the state of the art, and proposing a roadmap of pragmatic ways forward." - Simon Buckingham Shum, The Open University, UK