Rationale-based software engineering:
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Berlin
Springer Berlin
2008
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Literaturverz. S. [269] - 293 |
Beschreibung: | xxxv, 316 S. 235 mm x 155 mm |
ISBN: | 9783540775829 354077582X |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV023275385 | ||
003 | DE-604 | ||
005 | 20160905 | ||
007 | t | ||
008 | 080424s2008 gw |||| 00||| eng d | ||
015 | |a 08,N03,1359 |2 dnb | ||
016 | 7 | |a 98683338X |2 DE-101 | |
020 | |a 9783540775829 |c Gb. : EUR 74.85 (freier Pr.), sfr 122.00 (freier Pr.) |9 978-3-540-77582-9 | ||
020 | |a 354077582X |c Gb. : EUR 74.85 (freier Pr.), sfr 122.00 (freier Pr.) |9 3-540-77582-X | ||
024 | 3 | |a 9783540775829 | |
028 | 5 | 2 | |a 11756200 |
035 | |a (OCoLC)212432119 | ||
035 | |a (DE-599)DNB98683338X | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
044 | |a gw |c XA-DE-BE | ||
049 | |a DE-355 |a DE-1051 |a DE-M347 |a DE-523 |a DE-91G | ||
050 | 0 | |a QA76.758 | |
082 | 0 | |a 005.1 |2 22 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a 620 |2 sdnb | ||
084 | |a DAT 310f |2 stub | ||
100 | 1 | |a Burge, Janet E. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Rationale-based software engineering |c Janet E. Burge ; John M. Carroll ; Raymond McCall ; Ivan Mistrik |
264 | 1 | |a Berlin |b Springer Berlin |c 2008 | |
300 | |a xxxv, 316 S. |c 235 mm x 155 mm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Literaturverz. S. [269] - 293 | ||
650 | 4 | |a Software engineering | |
650 | 0 | 7 | |a Rationalprinzip |0 (DE-588)4203096-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Software Engineering |0 (DE-588)4116521-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Entscheidungsfindung |0 (DE-588)4113446-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Requirements engineering |0 (DE-588)4213997-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Software Engineering |0 (DE-588)4116521-4 |D s |
689 | 0 | 1 | |a Requirements engineering |0 (DE-588)4213997-1 |D s |
689 | 0 | 2 | |a Entscheidungsfindung |0 (DE-588)4113446-1 |D s |
689 | 0 | 3 | |a Rationalprinzip |0 (DE-588)4203096-1 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Carroll, John M. |e Verfasser |4 aut | |
700 | 1 | |a McCall, Raymond |e Verfasser |4 aut | |
700 | 1 | |a Mistrík, Ivan |e Verfasser |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Regensburg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016460294&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-016460294 |
Datensatz im Suchindex
_version_ | 1804137591384047616 |
---|---|
adam_text | Contents
Part
1
Introduction
....................................................................................1
1
What is Rationale and Why Does It Matter?
.......................................3
1.1
Introduction
......................................................................................3
1.1.1
The Scope and Value of Rationale in Software Engineering
....3
1.1.2
Objectives of This Chapter
........................................................5
1.2
A Rough Sketch of Research on Rationale
.......................................5
1.2.1
Argumentative Approaches to Rationale
...................................5
1.2.2
Rationale Methods That Go Beyond Argumentation
..............12
1.3
Why Rationale Matters
...................................................................13
1.3.1
The Usefulness of Rationale for Artifact Creation
..................13
1.3.2
The Usefulness of Rationale for Software Engineering
..........16
1.4
Summary and Conclusions
.............................................................22
2
What Makes Software Different
..........................................................25
2.1
Introduction
....................................................................................25
2.1.1
Rationale for Software Artifacts versus Rationale for
Physical Artifacts
..............................................................................25
2.1.2
Objectives of This Chapter
......................................................26
2.2
The Roles of the Computer
.............................................................26
2.2.1
Comparison of the Roles of the Computer in the Lifecycles
of Physical and Software Artifacts
...................................................27
2.2.2
The Significance for Rationale Management in Software
Engineering
.......................................................................................28
2.3
Iteration in Development
................................................................32
2.3.1
The Role of Iteration in Different Types of Development
......32
2.3.2
Implications of Iteration for Rationale Management in
Software Engineering
.......................................................................33
2.4
Summary and Conclusion
...............................................................35
3
Rationale and Software Engineering
----------------------------------...37
3.1
Introduction
....................................................................................37
3.1.1
Software Engineering
..............................................................37
3.1.2
Software Engineering Rationale
..............................................38
xxvi Contents
3.1.3
Objectives
of This Chapter
......................................................38
3.2
Rationale and the Software Process
...............................................38
3.2.1
Software Process Definition and Implementation
...................38
3.2.2
Rationale and
SE
Process Decision-Making
...........................39
3.3
Rationale and Project Management
................................................41
3.4
Rationale and Software Development
............................................43
3.4.1
Why Capture Software Engineering Rationale?
......................43
3.4.2
What are the Uses of Software Engineering Rationale?
..........44
3.4.3
When can Software Engineering Rationale be Used in
Software Development?
...................................................................45
3.4.4
How Can We Support Software Engineering Rationale Use
in Software Development?
...............................................................47
3.5
Summary and Conclusions
.............................................................47
4
Learning from Rationale Research in Other Domains
......................49
4.1
Introduction
....................................................................................49
4.1.1
Research on Rationale in other Domains
.................................49
4.1.2
Objectives of This Chapter
......................................................50
4.2
Domain-Oriented Design Environments Using
РШ
......................50
4.2.1
PHIDIAS and JANUS
.............................................................50
4.2.2
Discussion
................................................................................53
4.3
Automating the Capture of Design Rationale with CAD
...............55
4.3.1
The Rationale Capture Problem
..............................................55
4.3.2
Solution Approach: Automating the Capture of Rationale
......56
4.3.3
Implementation: The Rationale Construction Framework
......57
4.3.4
Discussion
................................................................................58
4.4
Parameter Dependency Networks as Design Rationale
..................59
4.4.1
The DRIVE System and Parameter Dependency Networks....
59
4.4.2
Discussion
................................................................................60
4.5
Case-Based Reasoning as Design Rationale
...................................61
4.5.1.
From Automated Case-Based Reasoning to Case-Based
Design Aids
......................................................................................61
4.5.2
Discussion
................................................................................64
4.6
Summary and Conclusions
.............................................................66
5
Decision-Making in Software Engineering
......................................... 67
5.1
Introduction
....................................................................................67
5.1.1
General
....................................................................................67
5.1.1
Objectives of this Chapter
.......................................................67
5.2
Decision-Making Problems
............................................................68
5.2.1
Where Decisions Go Wrong
....................................................68
5.2.2
Poor Decisions in Software
.....................................................69
Contents xxvii
5.3
Naturalistic Decision-Making
.........................................................71
5.3.1
Background
..............................................................................71
5.3.2
The Recognition-Primed Decision Model
...............................72
5.4
Rationale as a Resource for Decision-Making
...............................73
5.4.1
Classical Decision-Making
......................................................74
5.4.2
Naturalistic Decision-making
..................................................75
5.5
Summary and Conclusions
.............................................................76
Part
2
Uses for Rationale
.........................................................................77
6
Presentation of Rationale
.....................................................................79
6.1
Introduction
....................................................................................79
6.1.1
General
....................................................................................79
6.1.2
Objectives of This Chapter
......................................................79
6.2
Codifying Rationale Semiformally
.................................................80
6.2.1
The rationale for rationale notations
........................................80
6.2.2
Hypermedia Presentations of Rationale
...................................81
6.2.3
Using Semiformal Rationales
..................................................82
6.3
Codifying Rationale Informally
......................................................83
6.4
Directions
........................................................................................85
6.4.1
Reusable Rationale Databases
.................................................86
6.4.2
Multi-Scale Presentations of Rationale
...................................87
6.4.3
Integrated Presentation
............................................................87
6.5
Summary and Conclusions
.............................................................89
7
Evaluation
..............................................................................................91
7.1
Introduction
....................................................................................91
7.1.1
Argumentation-Based Rationale
..............................................91
7.1.2
Scenario-Based Rationale
........................................................93
7.1.3
Objectives of This Chapter
......................................................93
7.2
Evaluating the Rationale
.................................................................94
7.2.1
Completeness
...........................................................................94
7.2.2
Correctness
..............................................................................95
7.3
Evaluating the Decisions
................................................................96
7.3.1
Comparing Alternatives
...........................................................96
7.3.2
Combining Inputs from Multiple Developers
..........................97
7.3.3
Handling Uncertainty
..............................................................98
7.4
Scenario-Based Evaluation
...........................................................100
7.5
Summary and Conclusions
...........................................................101
8
Support for Collaboration
------------------------------------------------103
8.1
Introduction
..................................................................................103
xxviii Contents
8.1.1 General..................................................................................103
8.1.2
Objectives
of This Chapter
....................................................103
8.2
Software Development as Collaborative Work
............................104
8.2.1
Collaboration Is Inescapable
.................................................104
8.2.2
Collaboration Entrains Challenges
........................................105
8.3
Collaboration Supports Rationale
.................................................106
8.3.1
Collaboration Externalizes Rationales
...................................107
8.3.2
Software Development Communities of Practice
..................108
8.4
Rationale Supports Collaboration
.................................................110
8.4.1
Awareness
..............................................................................110
8.4.2
Coordination
..........................................................................
Ill
8.5
Summary and Conclusions
...........................................................112
9
Change Analysis
..................................................................................113
9.1
Introduction
..................................................................................113
9.1.1
Issues with Change in Software Development
......................113
9.1.2
Objectives of This Chapter
....................................................115
9.2
Types of Software Changes
..........................................................115
9.2.1
Functional Requirement Change
...........................................116
9.2.2
Nonfunctional Requirement Change
.....................................117
9.2.3
Changing Assumptions
..........................................................118
9.2.4
Structural Changes
.................................................................119
9.2.5
Defect Correction
..................................................................119
9.3
Change Impact Assessment
..........................................................120
9.4
Consistency Management
.............................................................121
9.5
Summary and Conclusions
...........................................................122
Part
3
Rationale and Software Engineering
........................................123
10
Rationale and the Software Lifecycle
..............................................125
10.1
Introduction
................................................................................125
10.1.1
Software Engineering Process
.............................................125
10.1.2
Objectives of This Chapter
..................................................126
10.2
Development Activities and Rationale
.......................................126
10.2.1
Project Planning and Management
......................................126
10.2.2
Requirements
.......................................................................127
10.2.3
Design
..................................................................................127
10.2.4
Implementation
....................................................................128
10.2.5
Verification and Validation
.................................................128
10.2.6
Maintenance
........................................................................129
10.2.7
Retirement
...........................................................................129
10.3
Software Lifecycle Models
.........................................................129
Contents xxix
10.3.1
Sequential
Models...............................................................129
10.3.2 Iterative Models...................................................................131
10.3.3
Other
Models.......................................................................133
10.4. Software
Process Improvement.................................................
136
10.4.1
СММ
...................................................................................136
10.4.2 Personal Software
Process...................................................
137
10.5.
Summary and Conclusions
........................................................138
11
Rationale and Requirements Engineering
......................................139
11.1
Introduction
................................................................................139
11.1.1
Requirements Engineering
..................................................139
11.1.2
Objectives of This Chapter
..................................................140
11.2
Obtaining Requirements
.............................................................140
11.2.1
Requirements Elicitation
.....................................................140
11.2.2
Achieving Consensus
.......................................;..................142
11.2.3
Requirements Inconsistency
................................................143
11.2.4
Requirements Prioritization
.................................................144
11.3
Requirements Traceability
..........................................................144
11.4
Rationale and Nonfunctional Requirements
...............................146
11.4.1
Nonfunctional Requirement Categorization
........................146
11.4.2
The NFR Framework
...........................................................147
11.4.3
SEURAT Argument Ontology and NFR Prioritization
.......148
11.4.4
NFRs and Conflict Representation and Detection
...............148
11.5
Goal-Based Requirements Engineering
......................................149
11.5.1
Goal-Based Requirements Analysis
....................................149
11.5.2
Goal-Oriented Requirements Engineering
..........................150
11.5.3
Relationship to Rationale
.....................................................151
11.6
Adapting to Changing Requirements
..........................................152
11.7
Summary and Conclusions
.........................................................153
12
Rationale and Software Design
----------------------------------------155
12.1
Introduction
................................................................................155
12.1.1
The Nature and Importance of Software Design Rationale.
156
12.1.2
Objectives of This Chapter
..................................................156
12.2
Relating Rationale Approaches to Software Design Processes
.. 157
12.2.1
Decision-centric and Usage-centric Rationale Approaches.
157
12.2.2
Prescriptive and Descriptive Roles of Rationale
Approaches..
...................................................................................159
12.2.3
Rationale for Design Space Analysis and Deeper
Reflection
.......................................................................................164
12.3
Specific Approaches that Integrate Rationale into Software
Design
.................................................................................................167
xxx Contents
12.3.1 Rationale and Software
Architecture
...................................167
12.3.2
Strategies for Fitting Rationale into Architectural Design
Processes
.........................................................................................172
12.4
Summary and Conclusions
.........................................................173
13
Rationale and Software Verification, Validation, and Testing
.....175
13.1
Introduction
................................................................................175
13.1.1
Verification, Validation, and Testing
..................................175
13.1.2
Software Testing Issues
.......................................................176
13.1.3
Objectives of This Chapter
..................................................177
13.2
Types of Software W&T
..........................................................177
13.2.1
Inspection
............................................................................177
13.2.2
Unit Testing
.........................................................................178
13.2.3
Integration Testing
...............................................................179
13.2.4
System Testing
....................................................................179
13.3
Rationale Support for Software W&T
......................................180
13.3.1
Rationale and Testability
.....................................................180
13.3.2
Rationale and Test Case Prioritization
................................181
13.3.3
Rationale, Testing, and Component Selection
.....................182
13.4
Software Testing Rationale
.........................................................183
13.4.1
Testing Rationale
.................................................................183
13.4.2
Uses for Testing Rationale
..................................................184
13.5
Summary and Conclusions
.........................................................184
14
Rationale and Software Maintenance
.............................................187
14.1
Introduction
................................................................................187
14.1.1
Software Maintenance and Evolution
..................................187
14.1.2
Objectives of This Chapter
..................................................188
14.2.
Types of Software Maintenance
................................................188
14.3
Improving Maintainability
..........................................................190
14.3.1
Designing for Maintenance
.................................................190
14.3.2
System
Reengineering
.........................................................191
14.4
Software Maintenance Support
...................................................193
14.4.1
Maintenance Prediction
.......................................................193
14.4.2
Impact Assessment
..............................................................193
14.4.3
Program Comprehension
.....................................................194
14.4.4
Maintenance Recovery
........................................................196
14.4.5
Maintenance Rationale
........................................................197
14.5
Summary and Conclusions
.........................................................198
15
Rationale and Software Reuse.........................................................
199
15.1
Introduction
................................................................................199
Contents xxxi
15.1.1 Software Reuse....................................................................199
15.1.2
Objectives
of This Chapter
..................................................200
15.2
Reuse: Concepts and Categories
.................................................200
15.2.1
Types of Reuse
....................................................................200
15.2.2
Types of Rationale for Reuse
..............................................202
15.2.3
Reusable Rationale
..............................................................203
15.3
Applying Rationale
.....................................................................203
15.3.1
Rationale and Patterns
.........................................................203
15.3.2
Rationale and Component-Based Software Engineering
.....205
15.3.3
Rationale and Software Product Lines
................................206
15.3.4
Rationale and COTS-Based Software Engineering
.............208
15.4.
Summary and Conclusions
........................................................209
Part
4
Frameworks for Rationale-Based Software Engineering
......211
16
A Conceptual Framework
................................................................213
16.1
Introduction
................................................................................213
16.1.1
What a Conceptual Framework Should Do
.........................213
16.1.2
Objectives of This Chapter
..................................................214
16.2
General Goals of Rationale Usage in Software Engineering
......214
16.3
Rationale: Types of Approaches, Specific Approaches, and
Methods
..............................................................................................215
16.4
Decision-centric Rationale in Software Engineering
..................216
16.4.1
Decision-Making in Rationale Approaches
.........................216
16.4.2
Question Answering in Software Engineering
....................218
16.4.3
Using Decision-centric Rationale in the Full Spectrum of
SER
.................................................................................................223
16.5
Usage-centric Rationale in Software Engineering
......................227
16.6
Rationale and Iterative Software Development
..........................228
16.6.1
A Rationale-Based Account of Iterative Development
.......229
16.6.2
Principles for Rationale Approaches to Support Iterative
Development
...................................................................................230
16.6.3
Supporting Iterative Development by Combining Decision-
centric and Usage-centric Rationale
...............................................234
16.7
Challenges to Rationale Usage
...................................................235
16.7.1
Solving the Capture Problem
...............................................235
16.7.2
Solving the Delivery Problem
.............................................238
16.8
Summary and Conclusions
.........................................................239
17
An Architectural Framework
------------------------------------------241
17.1
Introduction
................................................................................241
xxxii Contents
17.1.1 An
Integrative
Architecture
for Rationale-Based Software
Engineering
.....................................................................................241
17.1.2
Objectives of This Chapter
..................................................242
17.2
The Need for an
Integrative
Approach to Rationale
Management
.......................................................................................243
17.2.1
Representing and Integrating All Types of Software
Engineering Rationale
....................................................................243
17.2.2
Alleviating the Capture and Delivery Problems
..................243
17.3
Framework of an
Integrative
Architecture for Rationale
Management in Software Engineering
...............................................248
17.3.1
An Overview of the Framework
..........................................248
17.3.2
Workings of the Rational Management System
..................249
17.3.3
Integration with External Systems
.......................................251
17.4
Summary and Conclusions
.........................................................254
18
Rationale-Based Software Engineering: Summary and
Prospect
..................................................................................................255
18.1
Introduction
................................................................................255
18.1.1.
Rationale as an Aid to Software Engineering
.....................255
18.1.2
Objectives of This Chapter
..................................................256
18.2
Summary of the Book
.................................................................256
18.3
The Challenges of Future Software Development
......................258
18.3.1
Managing Change
................................................................258
18.3.2
Managing the Increasing Scale, Complexity, and
Longevity of Software Projects
......................................................258
18.4
The Promise of Rationale-Based Software Engineering
............259
18.4.1
Rationale and the Management of Change
..........................260
18.4.2
Using Rationale to Manage the Increasing Scale,
Complexity, and Longevity of Software Projects
...........................261
18.5
Challenges for Rationale-Based Software Engineering
..............261
18.5.1
Addressing the Capture Problem
.........................................262
18.5.2
Addressing the Delivery Problem
........................................265
18.6.
Summary and Conclusions
........................................................266
Bibliography
............ .........................................................................269
Glossary
________________________________________________295
Index
___________________________________________________311
|
adam_txt |
Contents
Part
1
Introduction
.1
1
What is Rationale and Why Does It Matter?
.3
1.1
Introduction
.3
1.1.1
The Scope and Value of Rationale in Software Engineering
.3
1.1.2
Objectives of This Chapter
.5
1.2
A Rough Sketch of Research on Rationale
.5
1.2.1
Argumentative Approaches to Rationale
.5
1.2.2
Rationale Methods That Go Beyond Argumentation
.12
1.3
Why Rationale Matters
.13
1.3.1
The Usefulness of Rationale for Artifact Creation
.13
1.3.2
The Usefulness of Rationale for Software Engineering
.16
1.4
Summary and Conclusions
.22
2
What Makes Software Different
.25
2.1
Introduction
.25
2.1.1
Rationale for Software Artifacts versus Rationale for
Physical Artifacts
.25
2.1.2
Objectives of This Chapter
.26
2.2
The Roles of the Computer
.26
2.2.1
Comparison of the Roles of the Computer in the Lifecycles
of Physical and Software Artifacts
.27
2.2.2
The Significance for Rationale Management in Software
Engineering
.28
2.3
Iteration in Development
.32
2.3.1
The Role of Iteration in Different Types of Development
.32
2.3.2
Implications of Iteration for Rationale Management in
Software Engineering
.33
2.4
Summary and Conclusion
.35
3
Rationale and Software Engineering
----------------------------------.37
3.1
Introduction
.37
3.1.1
Software Engineering
.37
3.1.2
Software Engineering Rationale
.38
xxvi Contents
3.1.3
Objectives
of This Chapter
.38
3.2
Rationale and the Software Process
.38
3.2.1
Software Process Definition and Implementation
.38
3.2.2
Rationale and
SE
Process Decision-Making
.39
3.3
Rationale and Project Management
.41
3.4
Rationale and Software Development
.43
3.4.1
Why Capture Software Engineering Rationale?
.43
3.4.2
What are the Uses of Software Engineering Rationale?
.44
3.4.3
When can Software Engineering Rationale be Used in
Software Development?
.45
3.4.4
How Can We Support Software Engineering Rationale Use
in Software Development?
.47
3.5
Summary and Conclusions
.47
4
Learning from Rationale Research in Other Domains
.49
4.1
Introduction
.49
4.1.1
Research on Rationale in other Domains
.49
4.1.2
Objectives of This Chapter
.50
4.2
Domain-Oriented Design Environments Using
РШ
.50
4.2.1
PHIDIAS and JANUS
.50
4.2.2
Discussion
.53
4.3
Automating the Capture of Design Rationale with CAD
.55
4.3.1
The Rationale Capture Problem
.55
4.3.2
Solution Approach: Automating the Capture of Rationale
.56
4.3.3
Implementation: The Rationale Construction Framework
.57
4.3.4
Discussion
.58
4.4
Parameter Dependency Networks as Design Rationale
.59
4.4.1
The DRIVE System and Parameter Dependency Networks.
59
4.4.2
Discussion
.60
4.5
Case-Based Reasoning as Design Rationale
.61
4.5.1.
From Automated Case-Based Reasoning to Case-Based
Design Aids
.61
4.5.2
Discussion
.64
4.6
Summary and Conclusions
.66
5
Decision-Making in Software Engineering
. 67
5.1
Introduction
.67
5.1.1
General
.67
5.1.1
Objectives of this Chapter
.67
5.2
Decision-Making Problems
.68
5.2.1
Where Decisions Go Wrong
.68
5.2.2
Poor Decisions in Software
.69
Contents xxvii
5.3
Naturalistic Decision-Making
.71
5.3.1
Background
.71
5.3.2
The Recognition-Primed Decision Model
.72
5.4
Rationale as a Resource for Decision-Making
.73
5.4.1
Classical Decision-Making
.74
5.4.2
Naturalistic Decision-making
.75
5.5
Summary and Conclusions
.76
Part
2
Uses for Rationale
.77
6
Presentation of Rationale
.79
6.1
Introduction
.79
6.1.1
General
.79
6.1.2
Objectives of This Chapter
.79
6.2
Codifying Rationale Semiformally
.80
6.2.1
The rationale for rationale notations
.80
6.2.2
Hypermedia Presentations of Rationale
.81
6.2.3
Using Semiformal Rationales
.82
6.3
Codifying Rationale Informally
.83
6.4
Directions
.85
6.4.1
Reusable Rationale Databases
.86
6.4.2
Multi-Scale Presentations of Rationale
.87
6.4.3
Integrated Presentation
.87
6.5
Summary and Conclusions
.89
7
Evaluation
.91
7.1
Introduction
.91
7.1.1
Argumentation-Based Rationale
.91
7.1.2
Scenario-Based Rationale
.93
7.1.3
Objectives of This Chapter
.93
7.2
Evaluating the Rationale
.94
7.2.1
Completeness
.94
7.2.2
Correctness
.95
7.3
Evaluating the Decisions
.96
7.3.1
Comparing Alternatives
.96
7.3.2
Combining Inputs from Multiple Developers
.97
7.3.3
Handling Uncertainty
.98
7.4
Scenario-Based Evaluation
.100
7.5
Summary and Conclusions
.101
8
Support for Collaboration
------------------------------------------------103
8.1
Introduction
.103
xxviii Contents
8.1.1 General.103
8.1.2
Objectives
of This Chapter
.103
8.2
Software Development as Collaborative Work
.104
8.2.1
Collaboration Is Inescapable
.104
8.2.2
Collaboration Entrains Challenges
.105
8.3
Collaboration Supports Rationale
.106
8.3.1
Collaboration Externalizes Rationales
.107
8.3.2
Software Development Communities of Practice
.108
8.4
Rationale Supports Collaboration
.110
8.4.1
Awareness
.110
8.4.2
Coordination
.
Ill
8.5
Summary and Conclusions
.112
9
Change Analysis
.113
9.1
Introduction
.113
9.1.1
Issues with Change in Software Development
.113
9.1.2
Objectives of This Chapter
.115
9.2
Types of Software Changes
.115
9.2.1
Functional Requirement Change
.116
9.2.2
Nonfunctional Requirement Change
.117
9.2.3
Changing Assumptions
.118
9.2.4
Structural Changes
.119
9.2.5
Defect Correction
.119
9.3
Change Impact Assessment
.120
9.4
Consistency Management
.121
9.5
Summary and Conclusions
.122
Part
3
Rationale and Software Engineering
.123
10
Rationale and the Software Lifecycle
.125
10.1
Introduction
.125
10.1.1
Software Engineering Process
.125
10.1.2
Objectives of This Chapter
.126
10.2
Development Activities and Rationale
.126
10.2.1
Project Planning and Management
.126
10.2.2
Requirements
.127
10.2.3
Design
.127
10.2.4
Implementation
.128
10.2.5
Verification and Validation
.128
10.2.6
Maintenance
.129
10.2.7
Retirement
.129
10.3
Software Lifecycle Models
.129
Contents xxix
10.3.1
Sequential
Models.129
10.3.2 Iterative Models.131
10.3.3
Other
Models.133
10.4. Software
Process Improvement.
136
10.4.1
СММ
.136
10.4.2 Personal Software
Process.
137
10.5.
Summary and Conclusions
.138
11
Rationale and Requirements Engineering
.139
11.1
Introduction
.139
11.1.1
Requirements Engineering
.139
11.1.2
Objectives of This Chapter
.140
11.2
Obtaining Requirements
.140
11.2.1
Requirements Elicitation
.140
11.2.2
Achieving Consensus
.;.142
11.2.3
Requirements Inconsistency
.143
11.2.4
Requirements Prioritization
.144
11.3
Requirements Traceability
.144
11.4
Rationale and Nonfunctional Requirements
.146
11.4.1
Nonfunctional Requirement Categorization
.146
11.4.2
The NFR Framework
.147
11.4.3
SEURAT Argument Ontology and NFR Prioritization
.148
11.4.4
NFRs and Conflict Representation and Detection
.148
11.5
Goal-Based Requirements Engineering
.149
11.5.1
Goal-Based Requirements Analysis
.149
11.5.2
Goal-Oriented Requirements Engineering
.150
11.5.3
Relationship to Rationale
.151
11.6
Adapting to Changing Requirements
.152
11.7
Summary and Conclusions
.153
12
Rationale and Software Design
----------------------------------------155
12.1
Introduction
.155
12.1.1
The Nature and Importance of Software Design Rationale.
156
12.1.2
Objectives of This Chapter
.156
12.2
Relating Rationale Approaches to Software Design Processes
. 157
12.2.1
Decision-centric and Usage-centric Rationale Approaches.
157
12.2.2
Prescriptive and Descriptive Roles of Rationale
Approaches.
.159
12.2.3
Rationale for Design Space Analysis and Deeper
Reflection
.164
12.3
Specific Approaches that Integrate Rationale into Software
Design
.167
xxx Contents
12.3.1 Rationale and Software
Architecture
.167
12.3.2
Strategies for Fitting Rationale into Architectural Design
Processes
.172
12.4
Summary and Conclusions
.173
13
Rationale and Software Verification, Validation, and Testing
.175
13.1
Introduction
.175
13.1.1
Verification, Validation, and Testing
.175
13.1.2
Software Testing Issues
.176
13.1.3
Objectives of This Chapter
.177
13.2
Types of Software W&T
.177
13.2.1
Inspection
.177
13.2.2
Unit Testing
.178
13.2.3
Integration Testing
.179
13.2.4
System Testing
.179
13.3
Rationale Support for Software W&T
.180
13.3.1
Rationale and Testability
.180
13.3.2
Rationale and Test Case Prioritization
.181
13.3.3
Rationale, Testing, and Component Selection
.182
13.4
Software Testing Rationale
.183
13.4.1
Testing Rationale
.183
13.4.2
Uses for Testing Rationale
.184
13.5
Summary and Conclusions
.184
14
Rationale and Software Maintenance
.187
14.1
Introduction
.187
14.1.1
Software Maintenance and Evolution
.187
14.1.2
Objectives of This Chapter
.188
14.2.
Types of Software Maintenance
.188
14.3
Improving Maintainability
.190
14.3.1
Designing for Maintenance
.190
14.3.2
System
Reengineering
.191
14.4
Software Maintenance Support
.193
14.4.1
Maintenance Prediction
.193
14.4.2
Impact Assessment
.193
14.4.3
Program Comprehension
.194
14.4.4
Maintenance Recovery
.196
14.4.5
Maintenance Rationale
.197
14.5
Summary and Conclusions
.198
15
Rationale and Software Reuse.
199
15.1
Introduction
.199
Contents xxxi
15.1.1 Software Reuse.199
15.1.2
Objectives
of This Chapter
.200
15.2
Reuse: Concepts and Categories
.200
15.2.1
Types of Reuse
.200
15.2.2
Types of Rationale for Reuse
.202
15.2.3
Reusable Rationale
.203
15.3
Applying Rationale
.203
15.3.1
Rationale and Patterns
.203
15.3.2
Rationale and Component-Based Software Engineering
.205
15.3.3
Rationale and Software Product Lines
.206
15.3.4
Rationale and COTS-Based Software Engineering
.208
15.4.
Summary and Conclusions
.209
Part
4
Frameworks for Rationale-Based Software Engineering
.211
16
A Conceptual Framework
.213
16.1
Introduction
.213
16.1.1
What a Conceptual Framework Should Do
.213
16.1.2
Objectives of This Chapter
.214
16.2
General Goals of Rationale Usage in Software Engineering
.214
16.3
Rationale: Types of Approaches, Specific Approaches, and
Methods
.215
16.4
Decision-centric Rationale in Software Engineering
.216
16.4.1
Decision-Making in Rationale Approaches
.216
16.4.2
Question Answering in Software Engineering
.218
16.4.3
Using Decision-centric Rationale in the Full Spectrum of
SER
.223
16.5
Usage-centric Rationale in Software Engineering
.227
16.6
Rationale and Iterative Software Development
.228
16.6.1
A Rationale-Based Account of Iterative Development
.229
16.6.2
Principles for Rationale Approaches to Support Iterative
Development
.230
16.6.3
Supporting Iterative Development by Combining Decision-
centric and Usage-centric Rationale
.234
16.7
Challenges to Rationale Usage
.235
16.7.1
Solving the Capture Problem
.235
16.7.2
Solving the Delivery Problem
.238
16.8
Summary and Conclusions
.239
17
An Architectural Framework
------------------------------------------241
17.1
Introduction
.241
xxxii Contents
17.1.1 An
Integrative
Architecture
for Rationale-Based Software
Engineering
.241
17.1.2
Objectives of This Chapter
.242
17.2
The Need for an
Integrative
Approach to Rationale
Management
.243
17.2.1
Representing and Integrating All Types of Software
Engineering Rationale
.243
17.2.2
Alleviating the Capture and Delivery Problems
.243
17.3
Framework of an
Integrative
Architecture for Rationale
Management in Software Engineering
.248
17.3.1
An Overview of the Framework
.248
17.3.2
Workings of the Rational Management System
.249
17.3.3
Integration with External Systems
.251
17.4
Summary and Conclusions
.254
18
Rationale-Based Software Engineering: Summary and
Prospect
.255
18.1
Introduction
.255
18.1.1.
Rationale as an Aid to Software Engineering
.255
18.1.2
Objectives of This Chapter
.256
18.2
Summary of the Book
.256
18.3
The Challenges of Future Software Development
.258
18.3.1
Managing Change
.258
18.3.2
Managing the Increasing Scale, Complexity, and
Longevity of Software Projects
.258
18.4
The Promise of Rationale-Based Software Engineering
.259
18.4.1
Rationale and the Management of Change
.260
18.4.2
Using Rationale to Manage the Increasing Scale,
Complexity, and Longevity of Software Projects
.261
18.5
Challenges for Rationale-Based Software Engineering
.261
18.5.1
Addressing the Capture Problem
.262
18.5.2
Addressing the Delivery Problem
.265
18.6.
Summary and Conclusions
.266
Bibliography
. .269
Glossary
_295
Index
_311 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Burge, Janet E. Carroll, John M. McCall, Raymond Mistrík, Ivan |
author_facet | Burge, Janet E. Carroll, John M. McCall, Raymond Mistrík, Ivan |
author_role | aut aut aut aut |
author_sort | Burge, Janet E. |
author_variant | j e b je jeb j m c jm jmc r m rm i m im |
building | Verbundindex |
bvnumber | BV023275385 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.758 |
callnumber-search | QA76.758 |
callnumber-sort | QA 276.758 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 230 |
classification_tum | DAT 310f |
ctrlnum | (OCoLC)212432119 (DE-599)DNB98683338X |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Maschinenbau / Maschinenwesen Informatik |
discipline_str_mv | Maschinenbau / Maschinenwesen Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02280nam a2200565 c 4500</leader><controlfield tag="001">BV023275385</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20160905 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080424s2008 gw |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">08,N03,1359</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">98683338X</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783540775829</subfield><subfield code="c">Gb. : EUR 74.85 (freier Pr.), sfr 122.00 (freier Pr.)</subfield><subfield code="9">978-3-540-77582-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">354077582X</subfield><subfield code="c">Gb. : EUR 74.85 (freier Pr.), sfr 122.00 (freier Pr.)</subfield><subfield code="9">3-540-77582-X</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783540775829</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">11756200</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)212432119</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB98683338X</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-355</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-91G</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.758</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1</subfield><subfield code="2">22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">620</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 310f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Burge, Janet E.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Rationale-based software engineering</subfield><subfield code="c">Janet E. Burge ; John M. Carroll ; Raymond McCall ; Ivan Mistrik</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Berlin</subfield><subfield code="b">Springer Berlin</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxxv, 316 S.</subfield><subfield code="c">235 mm x 155 mm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Literaturverz. S. [269] - 293</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software engineering</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Rationalprinzip</subfield><subfield code="0">(DE-588)4203096-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Entscheidungsfindung</subfield><subfield code="0">(DE-588)4113446-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Requirements engineering</subfield><subfield code="0">(DE-588)4213997-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Software Engineering</subfield><subfield code="0">(DE-588)4116521-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Requirements engineering</subfield><subfield code="0">(DE-588)4213997-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Entscheidungsfindung</subfield><subfield code="0">(DE-588)4113446-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Rationalprinzip</subfield><subfield code="0">(DE-588)4203096-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Carroll, John M.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">McCall, Raymond</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Mistrík, Ivan</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Regensburg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016460294&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016460294</subfield></datafield></record></collection> |
id | DE-604.BV023275385 |
illustrated | Not Illustrated |
index_date | 2024-07-02T20:37:42Z |
indexdate | 2024-07-09T21:14:44Z |
institution | BVB |
isbn | 9783540775829 354077582X |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016460294 |
oclc_num | 212432119 |
open_access_boolean | |
owner | DE-355 DE-BY-UBR DE-1051 DE-M347 DE-523 DE-91G DE-BY-TUM |
owner_facet | DE-355 DE-BY-UBR DE-1051 DE-M347 DE-523 DE-91G DE-BY-TUM |
physical | xxxv, 316 S. 235 mm x 155 mm |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Springer Berlin |
record_format | marc |
spelling | Burge, Janet E. Verfasser aut Rationale-based software engineering Janet E. Burge ; John M. Carroll ; Raymond McCall ; Ivan Mistrik Berlin Springer Berlin 2008 xxxv, 316 S. 235 mm x 155 mm txt rdacontent n rdamedia nc rdacarrier Literaturverz. S. [269] - 293 Software engineering Rationalprinzip (DE-588)4203096-1 gnd rswk-swf Software Engineering (DE-588)4116521-4 gnd rswk-swf Entscheidungsfindung (DE-588)4113446-1 gnd rswk-swf Requirements engineering (DE-588)4213997-1 gnd rswk-swf Software Engineering (DE-588)4116521-4 s Requirements engineering (DE-588)4213997-1 s Entscheidungsfindung (DE-588)4113446-1 s Rationalprinzip (DE-588)4203096-1 s DE-604 Carroll, John M. Verfasser aut McCall, Raymond Verfasser aut Mistrík, Ivan Verfasser aut Digitalisierung UB Regensburg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016460294&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Burge, Janet E. Carroll, John M. McCall, Raymond Mistrík, Ivan Rationale-based software engineering Software engineering Rationalprinzip (DE-588)4203096-1 gnd Software Engineering (DE-588)4116521-4 gnd Entscheidungsfindung (DE-588)4113446-1 gnd Requirements engineering (DE-588)4213997-1 gnd |
subject_GND | (DE-588)4203096-1 (DE-588)4116521-4 (DE-588)4113446-1 (DE-588)4213997-1 |
title | Rationale-based software engineering |
title_auth | Rationale-based software engineering |
title_exact_search | Rationale-based software engineering |
title_exact_search_txtP | Rationale-based software engineering |
title_full | Rationale-based software engineering Janet E. Burge ; John M. Carroll ; Raymond McCall ; Ivan Mistrik |
title_fullStr | Rationale-based software engineering Janet E. Burge ; John M. Carroll ; Raymond McCall ; Ivan Mistrik |
title_full_unstemmed | Rationale-based software engineering Janet E. Burge ; John M. Carroll ; Raymond McCall ; Ivan Mistrik |
title_short | Rationale-based software engineering |
title_sort | rationale based software engineering |
topic | Software engineering Rationalprinzip (DE-588)4203096-1 gnd Software Engineering (DE-588)4116521-4 gnd Entscheidungsfindung (DE-588)4113446-1 gnd Requirements engineering (DE-588)4213997-1 gnd |
topic_facet | Software engineering Rationalprinzip Software Engineering Entscheidungsfindung Requirements engineering |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016460294&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT burgejanete rationalebasedsoftwareengineering AT carrolljohnm rationalebasedsoftwareengineering AT mccallraymond rationalebasedsoftwareengineering AT mistrikivan rationalebasedsoftwareengineering |