Ebook: Rationale Management in Software Engineering
- Tags: Software Engineering, Management of Computing and Information Systems, Models and Principles
- Year: 2006
- Publisher: Springer-Verlag Berlin Heidelberg
- Edition: 1
- Language: English
- pdf
Thirty years ago, I first entered the dark realm of software engineering, through a prior interest in documentation. In those days, documentation pretty much meant functional specifications. The idea that stakeholders in a system (its implementers, its end-users, its maintainers, and so forth) might want something other than an alphabetic list of function definitions was just taking hold. There was an exciting (to me) vision of stakeholders accessing and contributing to explanations of how and why aspects of a system work as they do, tradeoff analysis of concomitant downsides, and perhaps even accounts of why other possible approaches were not followed. There were many challenges to overcome in achieving this vision. The most formidable is the belief that people do not like to create or use do- mentation. This negative image of documentation is (unfortunately) more than just the bias of a few incorrigible system developers. It is more like a deep truth about human information behavior, about how human beings construe and act towards information. Humans are, by default, active users of information; they want to try things out, and get things done. When documentation is interposed as a prerequisite between people and a desired activity, they try to skip through it, circumvent it, or undermine it. Desi- ing information to suit the needs and interests of its users is an abiding challenge, but we have come a long way from functional specifications as the only answer.
The emphasis on new and changing technologies and process models in today’s software development obscures the fact that software engineering remains primarily a human-based activity with the success of a software project largely depending on decisions made by humans during engineering. Rationale management is concerned with making these design and development decisions explicit to all stakeholders involved.
The book begins with a historical survey of different rationale approaches. It is followed by four parts describing the fundamental problems and possible solution approaches in rationale management, rationale management during requirements engineering, rationale management during software architecting, and rationale management for organizing reusable bodies of knowledge.
The result is a detailed summary of research on design rationale. It provides researchers with an excellent state-of-the-art overview, and professional software engineers will find many examples, resources and incentives to enhance their ability to make decisions during all phases of the software lifecycle.
The chapters in this volume show how design rationale can be incorporat
The emphasis on new and changing technologies and process models in today’s software development obscures the fact that software engineering remains primarily a human-based activity with the success of a software project largely depending on decisions made by humans during engineering. Rationale management is concerned with making these design and development decisions explicit to all stakeholders involved.
The book begins with a historical survey of different rationale approaches. It is followed by four parts describing the fundamental problems and possible solution approaches in rationale management, rationale management during requirements engineering, rationale management during software architecting, and rationale management for organizing reusable bodies of knowledge.
The result is a detailed summary of research on design rationale. It provides researchers with an excellent state-of-the-art overview, and professional software engineers will find many examples, resources and incentives to enhance their ability to make decisions during all phases of the software lifecycle.
The chapters in this volume show how design rationale can be incorporat
Content:
Front Matter....Pages i-xx
Front Matter....Pages 49-52
Rationale Management in Software Engineering: Concepts and Techniques....Pages 1-48
Three Studies of Design Rationale as Explanation....Pages 53-71
Effective Design Rationale: Understanding the Barriers....Pages 73-90
Rationale as a By-Product....Pages 91-109
Hypermedia Support for Argumentation-Based Rationale....Pages 111-132
Front Matter....Pages 133-136
A Hybrid Approach to Upstream Requirements: IBIS and Cognitive Mapping....Pages 137-154
From DREAM to Reality: Specificities of Interactive Systems Development With Respect To Rationale Management....Pages 155-172
The WinWin Approach: Using a Requirements Negotiation Tool for Rationale Capture and Use....Pages 173-190
Design Rationale in Exemplary Business Process Modeling....Pages 191-208
Promoting and Supporting Requirements Engineering Creativity....Pages 209-230
Front Matter....Pages 231-236
A Framework for Supporting Architecture Knowledge and Rationale Management....Pages 237-254
Capturing and Using Rationale for a Software Architecture....Pages 255-272
Rationale-Based Support for Software Maintenance....Pages 273-296
The Role of Rationale in the Design of Product Line Architectures – A Case Study from Industry....Pages 297-312
The Role and Impact of Assumptions in Software Engineering and its Products....Pages 313-328
Design Decisions: The Bridge between Rationale and Architecture....Pages 329-348
Front Matter....Pages 349-352
Reusable Rationale Blocks: Improving Quality and Efficiency of Design Choices....Pages 353-371
Defining Agile Patterns....Pages 373-390
Capturing and Reusing Rationale Associated with Requirements Engineering Process Improvement: A Case Study....Pages 391-408
Using Patterns for Sharing Requirements Engineering Process Rationales....Pages 409-427
Back Matter....Pages 429-432
The emphasis on new and changing technologies and process models in today’s software development obscures the fact that software engineering remains primarily a human-based activity with the success of a software project largely depending on decisions made by humans during engineering. Rationale management is concerned with making these design and development decisions explicit to all stakeholders involved.
The book begins with a historical survey of different rationale approaches. It is followed by four parts describing the fundamental problems and possible solution approaches in rationale management, rationale management during requirements engineering, rationale management during software architecting, and rationale management for organizing reusable bodies of knowledge.
The result is a detailed summary of research on design rationale. It provides researchers with an excellent state-of-the-art overview, and professional software engineers will find many examples, resources and incentives to enhance their ability to make decisions during all phases of the software lifecycle.
The chapters in this volume show how design rationale can be incorporat
Content:
Front Matter....Pages i-xx
Front Matter....Pages 49-52
Rationale Management in Software Engineering: Concepts and Techniques....Pages 1-48
Three Studies of Design Rationale as Explanation....Pages 53-71
Effective Design Rationale: Understanding the Barriers....Pages 73-90
Rationale as a By-Product....Pages 91-109
Hypermedia Support for Argumentation-Based Rationale....Pages 111-132
Front Matter....Pages 133-136
A Hybrid Approach to Upstream Requirements: IBIS and Cognitive Mapping....Pages 137-154
From DREAM to Reality: Specificities of Interactive Systems Development With Respect To Rationale Management....Pages 155-172
The WinWin Approach: Using a Requirements Negotiation Tool for Rationale Capture and Use....Pages 173-190
Design Rationale in Exemplary Business Process Modeling....Pages 191-208
Promoting and Supporting Requirements Engineering Creativity....Pages 209-230
Front Matter....Pages 231-236
A Framework for Supporting Architecture Knowledge and Rationale Management....Pages 237-254
Capturing and Using Rationale for a Software Architecture....Pages 255-272
Rationale-Based Support for Software Maintenance....Pages 273-296
The Role of Rationale in the Design of Product Line Architectures – A Case Study from Industry....Pages 297-312
The Role and Impact of Assumptions in Software Engineering and its Products....Pages 313-328
Design Decisions: The Bridge between Rationale and Architecture....Pages 329-348
Front Matter....Pages 349-352
Reusable Rationale Blocks: Improving Quality and Efficiency of Design Choices....Pages 353-371
Defining Agile Patterns....Pages 373-390
Capturing and Reusing Rationale Associated with Requirements Engineering Process Improvement: A Case Study....Pages 391-408
Using Patterns for Sharing Requirements Engineering Process Rationales....Pages 409-427
Back Matter....Pages 429-432
....