-
Auerbach.Publications.Software.Requirements.eBook-LinG下载
资源介绍
Contents
Preface ................................................................................................. xi
Acknowledgments .............................................................................. xv
1
Overview .......................................................................................... 1
1.1 Why Freedom?........................................................................................... 1
1.2 Freedom Methodology Overview............................................................. 3
1.3 Methodology Benefits of Freedom............................................................ 4
1.4 Economic Benefits of Freedom................................................................. 4
1.4.1 Development Benefits ................................................................... 5
1.4.2 Maintenance Benefits .................................................................... 6
1.4.3 Total Economic Benefits................................................................ 7
References.......................................................................................................... 7
2
Infor mation-Hiding Secr ets ........................................................... 9
2.1 Chapter Overview..................................................................................... 9
2.2 Information-Hiding Concepts.................................................................... 9
2.2.1 Encapsulation................................................................................. 9
2.2.2 Information-Hiding ...................................................................... 10
2.3 Contrast with Traditional Design ............................................................ 12
2.4 Contrast with Current OO Practice........................................................ 13
References........................................................................................................ 17
3
What Ar e Requir ements? ............................................................. 19
3.1 Chapter Overview................................................................................... 19
3.2 Definition of Requirements..................................................................... 20
3.3 Definition of Design................................................................................ 22
3.4 Definition of Implementation ................................................................. 23
3.5 Design and Implementation Constraints ................................................ 24
References........................................................................................................ 25
vi
Contents
4
Freedom Requir ements Pr ocess ................................................. 27
4.1 Chapter Overview................................................................................... 27
4.2 Enterprise Process Models ...................................................................... 28
4.3 Bounding the Black Box ......................................................................... 28
4.4 Context Diagrams.................................................................................... 29
4.5 Requirements Process ............................................................................. 31
4.6 Example Problem Enterprise Process Model.......................................... 34
4.7 Example Problem Black Box Bounding.................................................. 37
4.8 Example Problem Context Diagram ....................................................... 40
References........................................................................................................ 42
5
Quality Requir ements .................................................................. 43
5.1 Chapter Overview................................................................................... 43
5.2 Types of Requirements ........................................................................... 43
5.3 Measuring Software Quality .................................................................... 45
5.4 Where’s the Developer? .......................................................................... 47
5.5 ‘ility Mapping .......................................................................................... 48
5.6 Example Problem Quality Requirements................................................ 48
5.6.1 Functionality ................................................................................ 48
5.6.2 Reliability ..................................................................................... 50
5.6.3 Usability ....................................................................................... 51
5.6.4 Administerability.......................................................................... 51
5.6.5 Maintainability ............................................................................. 51
5.6.6 Execution Speed.......................................................................... 52
5.6.7 Storage Demand .......................................................................... 52
References........................................................................................................ 53
6
Stimulus Identifi cation and Cohesion ........................................ 55
6.1 Chapter Overview................................................................................... 55
6.2 What Is a Stimulus? ................................................................................. 56
6.2.1 Types of Stimuli........................................................................... 56
6.2.2 Sources of Stimuli........................................................................ 57
6.3 Stimulus Sets............................................................................................ 59
6.3.1 Example Human User Stimulus Set............................................. 60
6.3.2 Example External-System Stimulus Set ....................................... 62
6.3.3 Source-Neutral Stimulus Set Recording....................................... 62
6.4 Functionality Screens .............................................................................. 63
6.5 Programmatic Protocols .......................................................................... 65
6.5.1 Command-Data Streams............................................................... 65
Step 1: Group Command Stimuli by Level................................. 67
Step 2: Group Data Stimuli by Command.................................. 67
6.5.2 XML Streams................................................................................ 68
Step 1: Group Command Stimuli by Level................................. 69
Step 2: Group Data Stimuli by Command.................................. 70
Contents
vii
6.6 Example Problem Functionality Screen.................................................. 70
6.7 Example Problem Programmatic Protocol.............................................. 72
References........................................................................................................ 75
7
Stimulus Or ganization and Ar chitectur e.................................... 77
7.1 Chapter Overview................................................................................... 77
7.2 Stimulus Set Architecture ........................................................................ 77
7.3 New Stimulus Response.......................................................................... 78
7.4 Functionality Trees .................................................................................. 79
7.5 Sample Functionality Tree ....................................................................... 79
7.6 Example Problem: Programmatic Interface Functionality Tree .............. 82
Step 1 ...................................................................................................... 83
Step 2 ...................................................................................................... 83
Step 3 ...................................................................................................... 83
7.7 Example Problem: Reverse Engineering the External
Interface Architecture.............................................................................. 84
7.8 Example Problem Functionality Tree...................................................... 85
7.9 Alternate Kickoff Approaches ................................................................. 91
7.10 Functionality Tree Neutrality................................................................... 92
References........................................................................................................ 93
8
Reusable Requir ements ................................................................ 95
8.1 Chapter Overview................................................................................... 95
8.2 Repetitive and Reusable Stimulus Sets ................................................... 95
8.3 Reusable Requirements Components ..................................................... 98
8.4 Example Reusable Requirements Component ....................................... 99
8.5 Example Problem Reusable Requirements........................................... 101
References...................................................................................................... 103
9
Incr emental Development ......................................................... 105
9.1 Chapter Overview................................................................................. 105
9.2 Requirements Prioritization .................................................................. 106
Step 1. Prioritize Lowest-Level Stimuli................................................. 106
Step 2. Prioritize Upper-Level Stimuli.................................................. 107
9.3 Example Problem Requirements Priorities........................................... 108
10
Responses and Behavior T ables ................................................ 111
10.1 Chapter Overview................................................................................. 111
10.2 Types of Responses............................................................................... 111
10.2.1 Response Visibility ..................................................................... 112
10.2.2 Response Desirability ................................................................ 113
10.2.3 Response Prescriptiveness ........................................................ 114
10.2.4 Response Classification ............................................................. 114
viii
Contents
10.3 Behavior Tables...................................................................................... 115
10.3.1 Behavior Table Rule and Format ............................................... 116
10.3.2 Behavior Table Columns............................................................ 117
10.3.3 Behavior Table Rows ................................................................. 118
10.3.4 Behavior Table Generic Example .............................................. 118
10.3.5 Behavior Table Benefits and Costs ............................................ 118
10.4 Response Recording Languages............................................................ 121
10.5 Response Recording Syntax.................................................................. 122
10.5.1 Declaration Statements.............................................................. 123
10.5.2 Sequence Statement .................................................................. 125
10.5.3 Selection Statement ................................................................... 126
10.5.4 Repetition Statement ................................................................. 127
10.6 Example Problem Behavior Tables........................................................ 127
10.6.1 Example Problem Human Interface Behavior Tables................ 128
10.6.2 Behavior Specification in Reality............................................... 139
References...................................................................................................... 143
11
Requir ements Encapsulation Design ........................................ 145
11.1 Chapter Overview................................................................................. 145
11.2 Requirements Encapsulation Design Rule ............................................ 146
11.3 Canonical Design Architecture.............................................................. 148
11.4 Example Problem Functionality Module Architecture.......................... 151
12
Requir ements Encapsulation ..................................................... 155
12.1 Chapter Overview................................................................................. 155
12.2 Functionality Modules........................................................................... 156
12.3 Common Service Modules .................................................................... 157
12.4 Functionality Module Structure ............................................................ 158
12.4.1 Functionality Module Declaration ........................................... 159
12.4.2 Functionality Module Stimulus Methods................................. 159
12.4.3 Functionality Module Response Methods ............................... 162
12.4.4 Functionality Module Access Methods.................................... 162
12.4.5 Functionality Module Hidden Information ............................. 163
12.4.6 Functionality Module External Interface................................. 163
12.5 Example Problem Functionality Module .............................................. 164
13
Inter face Pr ototyping ................................................................. 169
13.1 Chapter Overview................................................................................. 169
13.2 Purpose of Prototypes........................................................................... 169
13.2.1 Clarify Requirements ............................................................... 169
13.2.2 Obtain User Commitment ....................................................... 170
13.2.3 Training.................................................................................... 170
13.2.4 Demonstration ......................................................................... 171
13.2.5 Evaluate Solutions.................................................................... 171
Contents
ix
13.3 Types of Prototypes .............................................................................. 171
13.3.1 Partial Functional Simulation................................................... 172
13.3.2 Vertical Functional Simulation ................................................ 173
13.3.3 Robust Vertical Functional Simulation .................................... 174
13.3.4 External Interface Simulation.................................................. 174
13.3.5 Full Functional Simulation....................................................... 174
13.3.6 Robust Functional Simulation ................................................. 175
13.3.7 External Interface Mockup...................................................... 175
13.3.8 Full Functional Mockup .......................................................... 175
13.3.9 Release ..................................................................................... 176
13.3.10 Which To Use? ......................................................................... 176
13.4 Example Problem Interface Mockup .................................................... 177
References...................................................................................................... 197
14
Requir ements Evolution ............................................................ 199
14.1 Chapter Overview................................................................................. 199
14.2 Handling the Ripple Effect of Change.................................................. 199
14.2.1 Ripple Effect of Stimulus Change ............................................. 200
14.2.2 Ripple Effect of External Response Change ............................. 203
14.2.3 Ripple Effect of Protocol Change ............................................. 205
14.3 Requirements Change Example ............................................................ 207
Appendices
A
Softwar e Requir ements Specifi cation ....................................... 223
B
Cost Savings Estimate Details .................................................... 227
C
Glossary ....................................................................................... 235
Index
.................................................................................................. 243