+612 9045 4394
 
CHECKOUT
Designing Maintainable Software - Dennis D. Smith

Designing Maintainable Software

Hardcover

Published: 28th May 1999
Ships: 7 to 10 business days
7 to 10 business days
RRP $258.99
$178.95
31%
OFF
or 4 easy payments of $44.74 with Learn more

Other Available Formats (Hide)

  • Paperback View Product Published: 6th October 2012
    $111.01

This book is about maintaining computer software. Its aim is to improve a programmers ability for altering code to fit changing requirements and for detecting and correcting errors. Software maintenance is an important and timely area of invetigation. It is the component that gives a system its flexibility, but it is also the source of many of its problems. Software is expensive to maintain and is the usual cause of systems failures. Traditional approaches, using software engineering and management disciplines, do not adequately address maintenance issues. This book argues for a new way of thinking about maintaining software, proposing the use of a set of human factors principles that govern the programmer-software-event world interactions and form the core of the maintenance process. The book should prove highly valuable for systems analysts and programmers, managers seeking to reduce costs, researchers looking at solutions to the maintenance problem, and students learning to write clear unambiguous programs.

Prefacep. v
Facing the Problemp. 1
The Problemp. 3
The Maintenance of Softwarep. 3
Program Characteristicsp. 4
The Maintenance Processp. 5
The Maintenace Environmentp. 6
Maintenance Toolsp. 7
The Maintainerp. 7
The Software Departmentp. 9
The Approachp. 11
Approach Definitionp. 11
Chapter Overviewp. 11
The Managerial Approachp. 12
The Engineering Approachp. 13
Software Sciencep. 14
The Cognitive Approachp. 15
Information Sciencep. 15
Discussion and Summaryp. 17
The Nature of the Problemp. 18
Solution Criteriap. 18
Managerial Approachp. 18
Engineering Approachp. 19
Cognitive Approachp. 19
The Attackp. 21
EATPUT--An Information Processing Modelp. 21
Software Life Cyclep. 23
Developmentp. 24
Maintenancep. 26
Plan of Attackp. 27
Strategyp. 27
Tacticsp. 27
Using the Planp. 28
Solutions Through Symbolsp. 31
Some Basicsp. 33
Procedural Memoryp. 34
Processingp. 34
Utilizationp. 35
Semantic Memoryp. 35
Processingp. 35
Utilizationp. 36
Episodic Memoryp. 37
Processingp. 37
Utilizationp. 38
Namingp. 39
The Naming Processp. 39
Event Worldp. 39
Acquisitionp. 40
Transmissionp. 40
Processingp. 40
Utilization and Transferp. 40
Analyzing Namesp. 41
Names in Contextp. 41
Words in Semantic Memoryp. 43
Words and Lettersp. 47
Symbols in Procedural Memoryp. 47
Learning Processing Operationsp. 47
Acquisitionp. 48
Learning Factorsp. 48
Procedural and Semantic Memory Interactionp. 49
Symbols in Semantic Memoryp. 51
Recognizing Wordsp. 51
Recalling Wordsp. 51
Other Factors in Word Retrievalp. 52
Degrees of Abstractionp. 52
Word Fragmentsp. 52
"Neighborhood Effect"p. 52
Word Usep. 53
Abbreviations and Mnemonicsp. 54
Abbreviationsp. 54
Mnemonicsp. 54
Basic Techniquesp. 55
Truncationp. 55
Contractionp. 56
Phonicsp. 56
Concatenationp. 56
Discussion and Summaryp. 56
Truncationp. 57
Contractionp. 58
One-Syllable Wordsp. 58
Multisyllable Wordsp. 58
Languagep. 60
Languages Used by Programmersp. 60
Constrained Languagesp. 61
Artificial Languagesp. 61
Language Acquisition and Syntaxp. 62
Language Usage in Programsp. 62
Indexed Namesp. 63
Compound Namesp. 63
Parts of Speechp. 63
Abbreviation Techniquesp. 64
Language of Mnemonicsp. 65
Writing Code for the Maintainersp. 65
Novice Programmersp. 66
Expert Programmersp. 66
Skill Level Comparisonp. 66
Organization and Processingp. 67
Memory Organizationp. 67
Information Processingp. 67
Maintenance Tasksp. 68
Language of Mnemonicsp. 68
The Target Audiencep. 69
Namingp. 69
Indicesp. 70
Bigramsp. 70
Descriptor Matricesp. 71
The Language in Operationp. 72
Solutions Through Structurep. 73
More on Problem Solvingp. 75
Section Overviewp. 75
Utilizing Informationp. 75
Solving Problems with Gestalt Psychologyp. 76
Means-End Analysisp. 76
Problem-Solving Factorsp. 77
Problem-Solving Behaviorp. 78
The Expertp. 78
The Novicep. 78
Solving Maintenance Problemsp. 80
Understanding the Maintenance Requestp. 80
Program Comprehensionp. 81
Processing the Codep. 81
Acquiring Program Knowledgep. 83
Contextp. 83
Information-Seeking Strategyp. 83
Information-Seeking Tacticsp. 84
Modifying the Codep. 85
Other Considerationsp. 86
Errors and Barriersp. 86
Errorsp. 86
Barriersp. 88
More Novice/Expert Differencesp. 89
Memory Contentsp. 89
Memory Organizationp. 90
Memory Processingp. 91
With Respect to Tasksp. 91
Processing and Storage Limitationsp. 91
Communications Theoryp. 92
Memory Limitationsp. 93
Cognitive Structuresp. 95
Types of Structurep. 95
Overviewp. 96
Global Structurep. 96
Spatial Layout of a Routinep. 96
Horizontal Layoutp. 97
Vertical Layoutp. 98
Instruction Formatsp. 98
The Subroutine Call Statementp. 99
The Read Statementp. 99
The Common Statementp. 99
The Arithmetic Statementp. 99
The Conditional Control (IF) Statementp. 100
The Iteration (Do-Loop) Statementp. 101
The Write Statementp. 101
Documentationp. 101
The Traditional Approachp. 102
A New Approachp. 102
Documentation Contentp. 102
Documentation Structurep. 103
Implementation and Testingp. 105
Implementing the Solutionsp. 107
In the Development Phasep. 107
Specificationsp. 107
Designp. 107
Implementationp. 108
Checkoutp. 108
In the Maintenance Phasep. 109
The Decisionp. 109
The Restorationp. 110
Program Improvementsp. 110
Planningp. 110
Assessing Effectivenessp. 111
Testingp. 113
Hardware and Software Testingp. 113
Hardwarep. 113
Softwarep. 114
Software Testing Overviewp. 114
Static Testingp. 114
Dynamic Testingp. 115
Test Plansp. 116
Life Cycle Testingp. 117
Specificationsp. 117
Designp. 119
Implementationp. 119
Checkoutp. 119
Maintenancep. 121
Concluding Remarksp. 123
Concluding Remarksp. 125
Appendicesp. 127
The Information Agep. 129
Information Systemsp. 130
Hardwarep. 130
Softwarep. 131
Software Failuresp. 132
Problem Solvingp. 134
Software Sciencep. 135
Sensory Input Processingp. 137
EATPUT Model of the Vision Systemp. 138
Classifying Informationp. 139
Facts and Opinionsp. 139
Theories and Processesp. 139
Naming as a Shortening Processp. 141
Miniature Artificial Languagesp. 142
Cognitive Grammarp. 143
Overviewp. 143
Sentence Constructionp. 144
Gestalt Psychologyp. 146
Bibliographyp. 149
Indexp. 161
Table of Contents provided by Syndetics. All Rights Reserved.

ISBN: 9780387987835
ISBN-10: 0387987835
Audience: Professional
Format: Hardcover
Language: English
Number Of Pages: 169
Published: 28th May 1999
Publisher: Springer-Verlag New York Inc.
Country of Publication: US
Dimensions (cm): 24.77 x 16.51  x 1.27
Weight (kg): 0.41