Software Engineering for Image Processing Systems

by ;
Format: Hardcover
Pub. Date: 2003-07-28
Publisher(s): CRC Press
List Price: $86.95

Buy New

Usually Ships in 5-7 Business Days
$86.86

Rent Textbook

Select for Price
There was a problem. Please try again later.

Rent Digital

Rent Digital Options
Online:180 Days access
Downloadable:180 Days
$46.20
Online:365 Days access
Downloadable:365 Days
$54.60
Online:1825 Days access
Downloadable:Lifetime Access
$83.99
$46.20

Used Textbook

We're Sorry
Sold Out

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Image processing systems are found everywhere-in digital cameras, photocopying systems, scanners, video games, medical and industrial imaging systems, and military applications, to name but a few examples. It has become apparent that a software engineering book devoted to image processing applications is long overdue.Software Engineering for Image Processing Systems creates a modern engineering framework for the specification, design, coding, testing, and maintenance of image processing software and systems. The text is designed to benefit not only software engineers, but also the many workers with backgrounds in mathematics, the physical sciences, or other engineering disciplines, who find themselves working on a software project team.The author classifies imaging software as its own distinct caste, thereby providing a common language and framework for imaging engineers of all backgrounds. This common framework could, in turn, lead to more robust, reliable, and economical software throughout the imaging industry.With qualifying course adoptions, a set of 200 power point slides designed for classroom use is available for download from the Internet.

Author Biography

Dr. Phillip A. Laplante is associate professor of software engineering and a member of the graduate faculty at the Pennsylvania State University. He is also the chief technology officer of the Eastern Technology Council

Table of Contents

Software Engineering: An Overviewp. 1
Introductionp. 1
A Case for a Software Engineering Approach to Building Imaging Systemsp. 2
The Role of the Software Engineerp. 3
The Nature of Software for Imaging Systemsp. 4
Case Study: A Visual Inspection Systemp. 5
Misconceptions about Software Engineeringp. 7
Exercisesp. 8
Imaging Software and Its Propertiesp. 9
Classification of Software Qualitiesp. 9
Reliabilityp. 9
Correctnessp. 12
Performancep. 12
Usabilityp. 13
Interoperabilityp. 13
Maintainabilityp. 13
Portabilityp. 14
Verifiabilityp. 14
Summary of Software Properties and Associated Metricsp. 14
Basic Software Engineering Principlesp. 15
Rigor and Formalityp. 15
Separation of Concernsp. 15
Modularityp. 15
Anticipation of Changep. 18
Generalityp. 20
Incrementalityp. 20
Traceabilityp. 20
Exercisesp. 22
Software Process and Life Cycle Modelsp. 23
Software Processes and Methodologiesp. 23
Software Life Cycle Modelsp. 23
The Waterfall Modelp. 24
Software Conceptionp. 25
Requirements Specificationp. 25
Software Designp. 26
Software Developmentp. 26
Testingp. 27
Software Maintenancep. 27
Backtracking Transitions in the Waterfall Life Cyclep. 27
Waterfall Model Summaryp. 28
V Modelp. 28
The Spiral Modelp. 28
Evolutionary Modelp. 30
Incremental Modelp. 31
Fountain Modelp. 31
Lightweight Methodologiesp. 32
Unified Process Modelp. 34
Capability Maturity Modelp. 34
CMM-1: Initialp. 34
CMM-2: Repeatablep. 34
CMM-3: Definedp. 35
CMM-4: Managedp. 35
CMM-5: Optimizingp. 35
CMM-Ip. 35
Prototyping and Riskp. 35
Software Standardsp. 36
DOD-STD-2167Ap. 37
DOD-STD-498p. 37
ISO 9000-3p. 38
ISO/IECp. 39
Exercisesp. 40
Software Requirementsp. 41
Requirements Engineering Processp. 41
Types of Requirementsp. 42
Requirements Usersp. 43
Formal Methods in Software Specificationp. 44
Limitations of Formal Methodsp. 45
Zp. 46
Finite State Machinesp. 46
Statechartsp. 49
Petri Netsp. 51
Specification of Imaging Systems: A Survey of Current Practicesp. 53
Multiresolution Block-Matching System Specification Using a Block Diagram and Flowchartp. 55
Collision Testing of Graphical Objects Using Pseudo-Codep. 56
Functional Representation of Machine Vision System Using a Structured Approachp. 56
Markov Random Fields Image Reconstruction Using Object-Oriented Designp. 57
Case Studyp. 58
Structured Analysis and Designp. 59
Structured Analysisp. 59
Object-Oriented Analysisp. 61
Object-Oriented vs. Structured Analysisp. 62
Recommendations on Specification Approach for Imaging Systemsp. 64
Organizing the Requirements Documentp. 64
Writing Good Requirementsp. 66
Requirements Validation and Reviewp. 67
Some Surprises about Current Software Specification Practicesp. 68
Surprise 1p. 68
Surprise 2p. 68
Surprise 3p. 68
Surprise 4p. 69
Exercisesp. 69
Software System Designp. 71
The Design Activityp. 71
Procedural-Oriented Designp. 72
Parnas Partitioningp. 72
Structured Designp. 74
Transitioning from Structured Analysis to Structured Designp. 74
Data Dictionariesp. 76
Problems with SASD in Imaging Applicationsp. 77
Real-Time Extensions of SASDp. 78
Design in Procedural Form Using Finite State Machinesp. 78
Object-Oriented Designp. 80
Benefits of Object Orientationp. 81
Open-Closed Principlep. 81
Once and Only Oncep. 82
Dependency Inversion Principlep. 82
Liskov Substitution Principlep. 82
Design Patternsp. 83
Object-Oriented Design Using Unified Modeling Languagep. 84
Modeling Time Explicitlyp. 84
Visual Inspection System Case Studyp. 88
Hardware Considerations in Imaging System Designp. 93
Processorsp. 94
Non-von Neumann Architecturesp. 95
Single Instruction Single Datap. 95
Single Instruction Multiple Datap. 95
Multiple Instruction Single Datap. 96
Multiple Instruction Multiple Datap. 96
Interrupt Handlingp. 96
Memoryp. 97
Input and Outputp. 97
Fault-Tolerant Designp. 99
Spatial Fault Tolerancep. 99
Using a Kalman Filter in the Case Study Systemp. 99
Checkpointsp. 102
Recovery Blocksp. 102
Software Black Boxesp. 104
N-Version Programmingp. 105
Built-In Test Softwarep. 105
CPU Testingp. 106
Memory Testingp. 106
Other Devicesp. 107
Exercisesp. 107
The Software Production Processp. 109
Programming Languagesp. 109
Parameter Passing Techniquesp. 110
Call-by-Value and Call-by-Referencep. 110
Global Variablesp. 110
Recursionp. 111
Dynamic Memory Allocationp. 111
Typingp. 112
Exception Handlingp. 112
Modularityp. 113
Brief Survey of Languagesp. 114
Ada 95p. 114
Assembly Languagep. 115
Cp. 115
C++p. 116
Fortranp. 116
Javap. 117
Writing and Testing Codep. 118
Example: The Unix/Linux C Compilerp. 119
Handling Compiler Errorsp. 120
Some Debugging Tips: Unit-Level Testingp. 120
Extended Syntax and Semantic Checkingp. 120
Symbolic Debuggingp. 121
Test-First Codingp. 122
Know the Compilerp. 122
Coding Standardsp. 123
Reviews and Auditsp. 124
Documentationp. 126
Exercisesp. 127
Software Measurement and Testingp. 129
The Role of Metricsp. 129
Lines of Codep. 129
McCabe's Metricp. 130
Measuring Software Complexityp. 130
Determining the Limit on Number of Test Casesp. 132
Halstead's Metricsp. 132
Function Pointsp. 133
Feature Pointsp. 137
Metrics for Object-Oriented Softwarep. 137
Objections to Metricsp. 138
Faults, Failures, and Bugsp. 138
The Role of Testingp. 139
Testing Techniquesp. 139
Unit-Level Testingp. 139
Black Box Testingp. 139
White Box Testingp. 141
Testing Object-Oriented Softwarep. 142
System-Level Testingp. 142
Cleanroom Testingp. 143
Stress Testingp. 143
Design of Testing Plansp. 144
Exercisesp. 144
Hardware-Software Integration and Maintenancep. 145
Goals of System Integrationp. 145
System Unificationp. 145
System Verificationp. 146
System Integration Toolsp. 146
Multimeterp. 147
Oscilloscopep. 147
Logic Analyzerp. 147
Timing Instructionsp. 148
Timing Codep. 148
In-Circuit Emulatorp. 149
Software Simulatorsp. 149
Hardware Prototypesp. 149
Software Integrationp. 150
A Simple Integration Strategyp. 150
Patchingp. 150
The Probe Effectp. 152
Postintegration Software Optimizationp. 153
CPU Utilization Estimationp. 153
Execution Time Estimationp. 154
Scaled Numbersp. 154
Binary Angular Measurep. 155
Look-Up Tablesp. 155
Imprecise Computationp. 157
Optimizing Memory Usagep. 157
A Software Reengineering Process Modelp. 157
A Maintenance Process Modelp. 158
Software Reusep. 159
When Not to Reusep. 160
Achieving Reusep. 160
In Procedural Languagesp. 161
In Object-Oriented Languagesp. 162
Pareto's Principlep. 162
The Second System Effectp. 162
Code and Program Maintenancep. 163
Exercisesp. 163
Management of Software Projectsp. 165
Why Software Project Management?p. 165
Software Project Management Themesp. 166
General Project Management Basicsp. 166
What Does the Project Manager Control?p. 166
Software Project Managementp. 167
Managing and Mitigating Risksp. 168
Personnel Managementp. 169
The n-Body Problemp. 170
Some Approaches to Leading Teamsp. 171
Theory Xp. 171
Theory Yp. 171
Theory Zp. 171
Theory Wp. 172
Principle-Centered Leadershipp. 173
Management by Sightp. 173
Management by Objectivesp. 173
Dealing with Difficult Peoplep. 174
Assessment of Project Personnelp. 174
Skills Testingp. 174
Recommended Practicesp. 175
Tracking and Reporting Progressp. 177
Gantt Chartp. 177
Critical Path Methodp. 178
Program Evaluation and Review Techniquep. 179
Cost Estimation Using COCOMOp. 180
Basic COCOMOp. 180
Intermediate and Detailed COCOMOp. 182
COCOMO IIp. 183
Exercisesp. 183
Glossaryp. 185
Referencesp. 203
Indexp. 209
Table of Contents provided by Ingram. All Rights Reserved.

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.