Articoli correlati a Designing Maintainable Software

Designing Maintainable Software - Rilegato

Smith, Dennis D.

 
9780387987835: Designing Maintainable Software

Sinossi

This book is about maintaining computer software. Its aim is to improve a pro­ gram's capacity for altering code to fit changing requirements and for detecting and correcting errors. The book is written primarily for systems analysts and programmers. But others will also find it interesting. Managers will find ways to decrease costs, improve the organization's performance, and lessen its liability exposure. Re­ searchers will be given principles to expand upon, and will be able to develop techniques for solving new problems that arise in the world of maintenance. Another group to benefit is students. They will be given a foundation from which to write clear unambiguous programs. Software maintenance is an important and timely area of investigation. It is the component that gives an information system its flexibility. It is also the source of many of its problems. Software is costly to maintain. It is the usual cause of system failures and is the frequently cited reason why systems operate in unintended ways. Most software problems are not serious and require only minor repairs. But some have resulted in the loss of significant physical and financial resources. Others have cost lives. The book argues for a new way of thinking about maintaining software. Tra­ ditional approaches, using software engineering and management disciplines, do not adequately address maintenance issues. What is proposed to solve problems utilizes a set of human factors principles that govern the programmer-software­ event world interactions and form the core of the maintenance process.

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.

Contenuti

Section I. Facing the Problem.- 1. The Problem.- The Maintenance of Software.- Program Characteristics.- The Maintenance Process.- The Maintenance Environment.- Maintenance Tools.- The Maintainer.- The Software Department.- Summary.- 2. The Approach.- Approach Definition.- Overview.- The Managerial Approach.- The Engineering Approach.- Software Science.- The Cognitive Approach.- Information Science.- Discussion and Summary.- The Nature of the Problem.- Solution Criteria.- Managerial Approach.- Engineering Approach.- Cognitive Approach.- 3. The Attack.- EATPUT―An Information Processing Model.- Software Life Cycle.- Development.- Maintenance.- Plan of Attack.- Strategy.- Tactics.- Using the Plan.- Summary.- Section II. Solutions Through Symbols.- 4. Some Basics.- Procedural Memory.- Processing.- Utilization.- Semantic Memory.- Processing.- Utilization.- Episodic Memory.- Processing.- Utilization.- Summary.- 5. Naming.- The Naming Process.- Event World.- Acquisition.- Transmission.- Processing.- Utilization and Transfer.- Analyzing Names.- Names in Context.- Words in Semantic Memory.- Summary.- 6. Words and Letters.- Symbols in Procedural Memory.- Learning Processing Operations.- Acquisition.- Learning Factors.- Procedural and Semantic Memory Interaction.- Symbols in Semantic Memory.- Recognizing Words.- Recalling Words.- Other Factors in Word Retrieval.- Degrees of Abstraction.- Word Fragments.- “Neighborhood Effect”.- Word Use.- Summary.- 7. Abbreviations and Mnemonics.- Abbreviations.- Mnemonics.- Basic Techniques.- Truncation.- Contraction.- Phonics.- Concatenation.- Discussion and Summary.- Truncation.- Contraction.- One-Syllable Words.- Multisyllable Words.- Summary.- 8. Language.- Languages Used by Programmers.- Constrained Languages.- Artificial Languages.- Language Acquisition and Syntax.- Language Usage in Programs.- Indexed Names.- Compound Names.- Parts of Speech.- Abbreviation Techniques.- 9. Language of Mnemonics.- Writing Code for the Maintainers.- Novice Programmers.- Expert Programmers.- Skill Level Comparison.- Organization and Processing.- Memory Organization.- Information Processing.- Maintenance Tasks.- Language of Mnemonics.- The Target Audience.- Naming.- Indices.- Bigrams.- Descriptor Matrices.- The Language in Operation.- Summary.- Section III. Solutions Through Structure.- 10. More on Problem Solving.- Section Overview.- Utilizing Information.- Solving Problems with Gestalt Psychology.- Means-End Analysis.- Problem-Solving Factors.- Problem-Solving Behavior.- The Expert.- The Novice.- Summary.- 11. Solving Maintenance Problems.- Understanding the Maintenance Request.- Program Comprehension.- Processing the Code.- Acquiring Program Knowledge.- Context.- Information-Seeking Strategy.- Information-Seeking Tactics.- Modifying the Code.- Summary.- 12. Other Considerations.- Errors and Barriers.- Errors.- Barriers.- More Novice/Expert Differences.- Memory Contents.- Memory Organization.- Memory Processing.- With Respect to Tasks.- Processing and Storage Limitations.- Communications Theory.- Memory Limitations.- Summary.- 13. Cognitive Structures.- Types of Structure.- Overview.- Global Structure.- Spatial Layout of a Routine.- Horizontal Layout.- Vertical Layout.- Instruction Formats.- The Subroutine Call Statement.- The Read Statement.- The Common Statement.- The Arithmetic Statement.- The Conditional Control (IF) Statement.- The Iteration (Do-Loop) Statement.- The Write Statement.- Documentation.- The Traditional Approach.- A New Approach.- Documentation Content.- Documentation Structure.- Summary and Discussion.- Section IV. Implementation and Testing.- 14. Implementing the Solutions.- In the Development Phase.- Specifications.- Design.- Implementation.- Checkout.- In the Maintenance Phase.- The Decision.- The Restoration.- Program Improvements.- Planning.- Assessing Effectiveness.- Summary.- 15. Testing.- Hardware and Software Testing.- Hardware.- Software.- Software Testing Overview.- Static Testing.- Dynamic Testing.- Test Plans.- Life Cycle Testing.- Specifications.- Design.- Implementation.- Checkout.- Maintenance.- Discussion.- Section V. Concluding Remarks.- 16. Concluding Remarks.- Appendices.- Appendix A. The Information Age.- Appendix B. Information Systems.- Hardware.- Software.- Appendix C. Software Failures.- Appendix D. Problem Solving.- Appendix E. Software Science.- Appendix F. Sensory Input Processing.- Appendix G. EATPUT Model of the Vision System.- Appendix H. Classifying Information.- Facts and Opinions.- Theories and Processes.- Appendix I. Naming as a Shortening Process.- Appendix J. Miniature Artificial Languages.- Appendix K. Cognitive Grammar.- Overview.- Sentence Construction.- Appendix L. Gestalt Psychology.

Product Description

Book by Smith Dennis D

Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.