A Practical Handbook for Software Development

Front Cover
Cambridge University Press, Feb 11, 1988 - Computers - 272 pages
The designer of a software system, like the architect of a building, needs to be aware of the construction techniques available and to choose the ones that are the most appropriate. This book provides the implementer of software systems with a guide to 25 different techniques for the complete development processes, from system definition through design and into production. The techniques are described against a common background of the traditional development path, its activities and deliverable items. In addition the concepts of metrics and indicators are introduced as tools for both technical and managerial monitoring and control of progress and quality. The book is intended to widen the mental toolkit of system developers and their managers, and will also introduce students of computer science to the practical side of software development. With its wide-ranging treatment of the techniques available and the practical guidance it offers, it will prove an important and valuable work.
 

Contents

The choices facing the system developer
1
The software development process
3
21 Phases and stages
4
211 Delineating the phases deliverables
5
212 The phase profile
6
215 The System Design Phase
7
218 The PostAcceptance Development Phase
8
2110 The Work Breakdown Structure
9
613 Functional completeness
111
615 Ease of maintenance
112
63 The finishing point of System Design
113
633 Validity
114
641 Structured Design SD
115
642 Jackson Structured Programming JSP
120
643 Jackson System Development JSD
127
644 Finite State Machines FSM
130

2111 Prototyping
10
22 Quantitative software development models
12
222 Approaches to estimating
13
223 Algorithmic estimation methods
14
224 Allocating effort to phases
15
225 Deriving the development schedule
16
226 Is reliability quantifiable?
17
227 Using historical data
18
24 Configuration management
20
243 Issuing deliverable items
21
244 The mechanisms of configuration control
22
Development techniques
24
32 Cost estimation models
31
33 Structured English
32
35 Structured Analysis SA
33
36 Structured Analysis and Design Technique SADT
34
38 Software Requirements Engineering Methodology SREM
35
39 Finite State Machines FSM
36
310 Petri Nets
37
312 RSRE Software Development System SDSRSRE
38
313 Structured Design SD
39
315 System Architects Apprentice SARA
40
317 Formal Development Methodology FDM
41
318 Hierarchical Development Methodology HDM
42
320 Structured programming
43
321 Control of data
44
323 Unit testing techniques
45
326 Fagan inspections
46
Project Inception
47
43 The finishing point of the Inception Phase
48
44 Techniques available during Project Inception
49
452 Tender preparation
50
47 Memorabilia during Project Inception
51
482 Image processing background
52
483 VISTA functionality and hardware configuration
54
System Definition
56
532 The Project Plan
57
534 The Acceptance Test Specification
58
541 Structured English
60
542 PSLPSA
62
543 Structured Analysis SA
64
544 Structured Analysis and Design Technique SADT
68
545 Controlled Requirements Expression CORE
71
546 Software Requirements Engineering Methodology SREM
77
547 Finite State MachinesFSM
82
548 Petri Nets
87
549 Jackson System Development JSD
91
5410 Software Development System SDSRSRE
95
5411 Structured Walkthroughs
98
55 Indicators to be monitored during System Definition
100
553 Requirement Specification quality indicator
101
562 Contents of the Functional Specification
103
563 Conduct of the Acceptance Test
104
565 Contents of the Quality Management Plan
105
57 Memorabilia for the System Definition Phase
106
System Design
110
645 Petri Nets
131
646 System Architects Apprentice SARA
133
647 MASCOT
141
648 Formal Development Methodology FDM
145
649 Hierarchical Development Methodology HDM
148
6410 Higher Order Software HOS
152
6411 Structured Walkthroughs
157
6412 Fagan inspections
158
65 Indicators to be monitored during System Design
159
653 Myers module coupling metric
160
655 Call graph metrics
161
657 Error correction time metric
162
66 Checklists for the System Design Phase
163
662 General properties of the design documentation
164
664 Potential design error types
165
System Production
167
713 Transforming correct designs into correct code
168
715 Putting the system together
169
73 The finishing point of System Production
170
741 Jackson Structured Programming JSP
171
742 Jackson System Development JSD
172
743 Finite State Machines FSM
175
745 MASCOT
176
746 Hierarchical Development MethodologyHDM
179
747 Structured programming
180
748 Control of data
184
749 Programming languages
187
7410 Microprocessors
189
7411 Program libraries and reusability
190
7412 Walkthroughs and inspections
191
7413 Static analysis
192
7414 Symbolic execution
193
7415 Assertion checking
195
7416 Test data selection
196
7417 Test coverage analysis and software metrication
198
7418 Development environments
199
7419 Techniques for system integration
203
7420 System developer psychology
207
75 Indicators to be monitored during System Production
209
751 Detailed design indicators
210
753 Testing indicators
213
76 Checklists for the System Production Phase
214
761 Checklist for detailed design
215
764 Checklist for User Documentation
216
766 Checklist for the Training Schedule
217
768 Potential coding error types
219
System Acceptance and PostAcceptance Development
222
83 The finishing point of System Acceptance
223
853 The specification design and implementation of changes
224
Project Debriefing
226
93 Contents of a Debriefing Report
227
94 A checklist for the Project Debriefing Report
228
Other bibliographies
233
References
235
Index
257
Copyright

Other editions - View all

Common terms and phrases

Popular passages

Page 251 - MASCOT - A modular approach to software construction, operation and test", RRE Tech.
Page 254 - Requirements Definition and Its Interface to the SARA Design Methodology for Computer-Based Systems.
Page 243 - The Functional Life Cycle Model and Its Automation: USE. IT," Journal of Systems and Software, Vol. 3, No. 1, March, 1983, pp.
Page 240 - ELSHOFF, JL, AND MARCOTTY, M. (1978), On the use of the cyclomatic number to measure program complexity, SIGPLAN Notices 13 (12) 29-40.

Bibliographic information