Software Engineering Using RATionale

Many decisions have to be made when developing a software system and a successful outcome depends on how well thought out these decisions were. One way that the decisions made, and alternatives considered, can be captured is in the rationale for the system. The rationale goes beyond standard documentation by capturing the developers' intent and all alternatives considered rather than only those selected. While the potential usefulness of this information is seldom questioned, it typically is not captured in practice. We feel that the key to motivating capture is to provide compelling uses and tool support integrated with the development environment. Here we describe the Software Engineering Using RATionale system which inferences over the rationale to evaluate decision alternatives and perform impact assessment when requirements, development criteria, and assumptions change.

[1]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[2]  Björn Regnell,et al.  Is a Design Rationale Vital when Predicting Change Impact? A Controlled Experiment on Software Architecture Evolution , 2000, PROFES.

[3]  E. Jeffrey Conklin,et al.  A process-oriented approach to design rationale , 1991 .

[4]  Christopher Tong,et al.  Artificial Intelligence in Engineering Design , 1992 .

[5]  Alistair G. Sutcliffe,et al.  Experience with SCRAM, a SCenario Requirements Analysis Method , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[6]  Jonathan Cagan,et al.  Formal Engineering Design Synthesis , 2005 .

[7]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[8]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[9]  Ana Cristina Bicharra Active design documents: a new approach for supporting documentation in preliminary routine design , 1992 .

[10]  Mark Klein An Exception Handling Approach to Enhancing Consistency, Completeness, and Correctness in Collaborative Requirements Capture , 1997 .

[11]  Thomas F. Stahovich,et al.  Artificial intelligence for design , 2001 .

[12]  Frank Maurer,et al.  Integrating software process models and design rationales , 1996, Proceedings of the 11th Knowledge-Based Software Engineering Conference.

[13]  Barry Boehm,et al.  A collaborative spiral software process model based on Theory W , 1994, Proceedings of the Third International Conference on the Software Process. Applying the Software Process.

[14]  Steven P. Reiss,et al.  Constraining software evolution , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[15]  Gerardo Canfora,et al.  A Design Rationale Based Environment for Cooperative Maintenance , 2000, Int. J. Softw. Eng. Knowl. Eng..

[16]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[17]  Frank Maurer,et al.  Coordinating System Development Processes , 1996 .

[18]  William C. Regli,et al.  Capturing communication and context in the software project lifecycle , 2003 .

[19]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[20]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[21]  John M. Carroll,et al.  Design rationale: concepts, techniques, and use , 1996 .

[22]  Tom Rodden,et al.  Group support for the recording and sharing of maintenance rationale , 1993, Softw. Eng. J..

[23]  Bernd Bruegge,et al.  Object Oriented Software Engineering, Conquering Complex and Changing Systems , 2002 .

[24]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[25]  M. Levery Outsourcing maintenance-a question of strategy , 1998 .

[26]  Stuart C. Shapiro,et al.  Encyclopedia of artificial intelligence, vols. 1 and 2 (2nd ed.) , 1992 .

[27]  Jintae Lee,et al.  Extending the Potts and Bruns model for recording design rationale , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[28]  Vasant Dhar,et al.  Representing and maintaining process knowledge for large-scale systems development , 1994, IEEE Expert.

[29]  Jintae Lee,et al.  Design Rationale Systems: Understanding the Issues , 1997, IEEE Expert.

[30]  Ho-Won Jung,et al.  Measuring Software Product Quality: A Survey of ISO/IEC 9126 , 2004, IEEE Softw..

[31]  Duvvuru Sriram,et al.  Artificial intelligence in engineering design (Volume I): design representation and models of routine design , 1992 .

[32]  Alistair G. Sutcliffe,et al.  Requirements rationales: integrating approaches to requirement analysis , 1995, Symposium on Designing Interactive Systems.

[33]  Prasanta K. Bose,et al.  A model for decision maintenance in the WinWin collaboration framework , 1995, Proceedings 1995 10th Knowledge-Based Software Engineering Conference.

[34]  R. N. Charette,et al.  Managing Risk in Software Maintenance , 1997, IEEE Softw..

[35]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[36]  Maarten Sierhuis,et al.  Hypermedia support for argumentation-based rationale: 15 years on from gIBIS and QOC , 2005 .

[37]  Amy J. Ko,et al.  Eliciting design requirements for maintenance-oriented IDEs: a detailed study of corrective and perfective maintenance tasks , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[38]  Meliha Handzic,et al.  Managing Software Engineering Knowledge , 2010, Springer Berlin Heidelberg.

[39]  David C. Brown,et al.  Rationale-Based Support for Software Maintenance , 2006 .

[40]  Michael Rovatsos,et al.  Handbook of Software Engineering and Knowledge Engineering , 2005 .

[41]  S. Toulmin The uses of argument , 1960 .

[42]  Laurent Karsenty,et al.  An empirical evaluation of design rationale documents , 1996, CHI.

[43]  Giovanni Cantone,et al.  Documenting design decision rationale to improve individual and team design decision making: an experimental evaluation , 2006, ISESE '06.

[44]  Kelly G. Shaver,et al.  Principles of social psychology , 1977 .

[45]  Yan Jin,et al.  An information value based approach to design procedure capture , 2006, Adv. Eng. Informatics.

[46]  Feniosky Peña-Mora,et al.  Augmenting design patterns with design rationale , 1997, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.