Cantitate/Preț
Produs

Designing Maintainable Software

Autor Dennis D. Smith
en Limba Engleză Hardback – 28 mai 1999
Aimed at improving a programmers ability for altering code to fit changing requirements and for detecting and correcting errors, this book argues for a new way of thinking about maintaining software. It proposes 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 is thus 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.
Citește tot Restrânge

Toate formatele și edițiile

Toate formatele și edițiile Preț Express
Paperback (1) 27941 lei  39-44 zile
  Springer – 6 oct 2012 27941 lei  39-44 zile
Hardback (1) 28504 lei  39-44 zile
  Springer – 28 mai 1999 28504 lei  39-44 zile

Preț: 28504 lei

Preț vechi: 35631 lei
-20%

Puncte Express: 428

Preț estimativ în valută:
5461 5915$ 4683£

Carte tipărită la comandă

Livrare economică 06-11 mai

Preluare comenzi: 021 569.72.76

Specificații

ISBN-13: 9780387987835
ISBN-10: 0387987835
Pagini: 169
Ilustrații: XIII, 169 p.
Dimensiuni: 155 x 235 x 14 mm
Greutate: 0.36 kg
Ediția:1999
Editura: Springer
Colecția Springer
Locul publicării:New York, NY, United States

Public țintă

Professional/practitioner

Descriere

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.

Cuprins

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.