Foster | Software Engineering | E-Book | www.sack.de
E-Book

E-Book, Englisch, 561 Seiten

Foster Software Engineering

A Methodical Approach
1. ed
ISBN: 978-1-4842-0847-2
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark

A Methodical Approach

E-Book, Englisch, 561 Seiten

ISBN: 978-1-4842-0847-2
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark



This text provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems proven over several years of teaching, with outstanding results.The book covers concepts, principles, design, construction, implementation, and management issues of software systems. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes a number of the author’s original methodologies that add clarity and creativity to the software engineering experience, while making a novel contribution to the discipline.Upholding his aim for brevity, comprehensive coverage, and relevance, Foster’s practical and methodical discussion style gets straight to the salient issues, and avoids unnecessary topics and minimizes theoretical coverage.

Elvis C. Foster is Associate Professor of Computer Science at Keene State College, New Hampshire. He holds a Bachelor of Science (BS.) in Computer Science and Electronics, as well as a Doctor of Philosophy (PhD) in Computer Science (specializing in strategic information systems and database systems) from University of the West Indies, Mona Jamaica. Dr. Foster has over 22 years of combined experience as a software engineer, information technology executive and consultant, and computer science educator.

Foster Software Engineering jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Software Engineering;532
1.1;Contents at a Glance;3
1.2;Contents;535
1.3;About the Author;555
1.4;Acknowledgments;556
1.5;Preface;557
1.6;Part A: Fundamentals;5
1.6.1;Chapter 1: Introduction to Software Engineering;6
1.6.1.1;1.1 Definitions and Concepts;6
1.6.1.1.1;1.1.1 System;7
1.6.1.1.2;1.1.2 Software;7
1.6.1.1.2.1;Software Engineering;7
1.6.1.1.2.2;Steps in the Analysis Process;8
1.6.1.2;1.2 The Organization as a System;8
1.6.1.2.1;1.2.1 Discussion;10
1.6.1.3;1.3 Information Levels in the Organization;10
1.6.1.3.1;1.3.1 Top Management;10
1.6.1.3.2;1.3.2 Middle Management;11
1.6.1.3.3;1.3.3 Junior Management and Operational Staff;11
1.6.1.3.4;1.3.4 Importance of Information Levels in Software Engineering;11
1.6.1.3.4.1;Discussion;12
1.6.1.3.5;1.3.5 Alternate Organizational Settings;12
1.6.1.4;1.4 Software Life Cycle;12
1.6.1.4.1;1.4.1 Waterfall Model;13
1.6.1.4.2;1.4.2 Phased Prototype Model;13
1.6.1.4.3;1.4.3 Iterative Development Model;14
1.6.1.4.4;1.4.4 Rapid Prototype Model;14
1.6.1.4.5;1.4.5 Formal Transformation Model;15
1.6.1.4.6;1.4.6 Components-Based Model;16
1.6.1.4.7;1.4.7 Agile Development Model;16
1.6.1.5;1.5 Categories of Software;17
1.6.1.6;1.6 Alternate Software Acquisition Approaches;18
1.6.1.6.1;1.6.1 Discussion;19
1.6.1.7;1.7 Software Engineering Paradigms;19
1.6.1.8;1.8 Desirable Features of Computer Software;19
1.6.1.9;1.9 Summary and Concluding Remarks;20
1.6.1.9.1;1.10 Review Questions;21
1.6.1.10;1.11 References and/or Recommended Readings;22
1.6.2;Chapter 2: The Role of the Software Engineer;24
1.6.2.1;2.1 Historical Role;24
1.6.2.2;2.2 Modern Role of the Software Engineer;25
1.6.2.3;2.3 Job Description of the Software Engineer;26
1.6.2.3.1;2.3.1 Core Functions of the Software Engineer;28
1.6.2.3.2;2.3.2 Desirable Qualities of the Software Engineer;28
1.6.2.4;2.4 Tools used by the Software Engineer;29
1.6.2.4.1;2.4.1 Coding Systems;29
1.6.2.4.1.1;Desirable Features of a Coding System;29
1.6.2.4.1.2;Types of Coding Systems;30
1.6.2.4.2;2.4.2 Forms Design;31
1.6.2.4.2.1;Guiding Principles of Forms Design;33
1.6.2.4.3;2.4.3 Data Analysis Charts;33
1.6.2.4.4;2.4.4 Technical Documents and Modeling Techniques;35
1.6.2.4.5;2.4.5 Software Planning and Development Tools;36
1.6.2.5;2.5 Management Issues with Which the Software Engineer must be Familiar;41
1.6.2.6;2.6 Summary and Concluding Remarks;41
1.6.2.7;2.7 Review Questions;42
1.6.2.8;2.8 References and/or Recommended Readings;43
1.7;Part B: Software Investigation and Analysis;44
1.7.1;Chapter 3: Project Selection and the Initial System Requirements;45
1.7.1.1;3.1 Project Selection;45
1.7.1.2;3.2 Problem Definition;46
1.7.1.2.1;3.2.1 Constraints of a System;47
1.7.1.2.2;3.2.2 Aid in Identifying System Problems;47
1.7.1.2.3;3.2.3 Identifying the System Void;48
1.7.1.3;3.3 The Proposed Solution;49
1.7.1.4;3.4 Scope and Objectives of the System;49
1.7.1.5;3.5 System Justification;50
1.7.1.6;3.6 Feasibility Analysis Report;50
1.7.1.6.1;3.6.1 Technical Feasibility;50
1.7.1.6.2;3.6.2 Economic Feasibility;51
1.7.1.6.3;3.6.3 Operational Feasibility;52
1.7.1.6.4;3.6.4 Evaluation of System Alternatives;52
1.7.1.6.4.1;Evaluation Based on Quality;52
1.7.1.6.4.2;Evaluation Based on Cost;53
1.7.1.6.5;3.6.5 Evaluation of System Alternatives (continued);54
1.7.1.6.5.1;Putting the Pieces Together;55
1.7.1.7;3.7 Alternate Approach to the Feasibility Analysis;55
1.7.1.8;3.8 Summary of System Inputs and Outputs;56
1.7.1.9;3.9 Initial Project Schedule;57
1.7.1.10;3.10 Project Team;57
1.7.1.11;3.11 Summary and Concluding Remarks;59
1.7.1.12;3.12 Review Questions;60
1.7.1.13;3.13 References and/or Recommended Readings;61
1.7.2;Chapter 4: The Requirements Specification;62
1.7.2.1;4.1 Introduction;62
1.7.2.2;4.2 Contents of the Requirements Specification;63
1.7.2.3;4.3 Documenting the Requirements;65
1.7.2.4;4.4 Requirements Validation;65
1.7.2.5;4.5 How to Proceed;66
1.7.2.6;4.6 Presentation of the Requirements Specification;67
1.7.2.7;4.7 Summary and Concluding Remarks;68
1.7.2.8;4.8 Review Questions;68
1.7.2.9;4.9 References and/or Recommended Readings;69
1.7.3;Chapter 5: Information Gathering;70
1.7.3.1;5.1 Rationale for Information Gathering;70
1.7.3.2;5.2 Interviewing;72
1.7.3.3;5.3 Questionnaires and Surveys;73
1.7.3.4;5.4 Sampling and Experimenting;75
1.7.3.4.1;5.4.1 Probability Sampling Techniques;75
1.7.3.4.2;5.4.2 Non-probability Sampling Techniques;76
1.7.3.4.3;5.4.3 Sample Calculations;76
1.7.3.5;5.5 Observation and Document Review;78
1.7.3.6;5.6 Prototyping;78
1.7.3.7;5.7 Brainstorming and Mathematical Proof;80
1.7.3.8;5.8 Object Identification;80
1.7.3.8.1;5.8.1 The Descriptive Narrative Approach;81
1.7.3.8.2;5.8.2 The Rule-of-Thumb Approach;82
1.7.3.9;5.9 Summary and Concluding Remarks;83
1.7.3.10;5.10 Review Questions;84
1.7.3.11;5.11 References and/or Recommended Readings;86
1.7.4;Chapter 6: Communicating Via Diagrams;87
1.7.4.1;6.1 Introduction;88
1.7.4.2;6.2 Traditional System Flowcharts;89
1.7.4.2.1;6.2.1 Information-Oriented Flowchart;91
1.7.4.2.2;6.2.2 Process-Oriented Flowchart;92
1.7.4.2.3;6.2.3 Hierarchy- Input–Process-Output Chart;93
1.7.4.3;6.3 Procedure Analysis Chart;94
1.7.4.4;6.4 Innovation: Topology Charts;96
1.7.4.4.1;6.4.1 Information Topology Chart;96
1.7.4.4.2;6.4.2 User Interface Topology Chart;97
1.7.4.5;6.5 Data Flow Diagrams;100
1.7.4.6;6.6 Object Flow Diagram;106
1.7.4.7;6.7 Other Contemporary Diagramming Techniques;106
1.7.4.7.1;6.7.1 State Transition Diagram;107
1.7.4.7.2;6.7.2 Finite State Machine;108
1.7.4.8;6.8 Program Flowchart;109
1.7.4.9;6.9 Summary and Concluding Remarks;111
1.7.4.10;6.10 Review Questions;112
1.7.4.11;6.11 References and/or Recommended Readings;113
1.7.5;Chapter 7: Decision Models for System Logic;114
1.7.5.1;7.1 Structured Language;114
1.7.5.2;7.2 Decision Tables;115
1.7.5.2.1;7.2.1 Constructing the Decision Table;115
1.7.5.2.2;7.2.2 Analyzing and Refining the Decision Table;117
1.7.5.2.3;7.2.3 Extended Decision Table;118
1.7.5.3;7.3 Decision Trees;119
1.7.5.4;7.4 Which Technique to Use;121
1.7.5.5;7.5 Decision Techniques versus Flowcharts;121
1.7.5.6;7.6 System Rules;122
1.7.5.6.1;7.6.1 Rule Definition;125
1.7.5.6.2;7.6.2 Declarative versus Procedural Statements;125
1.7.5.6.3;7.6.3 Types of Rules;126
1.7.5.7;7.7 Summary and Concluding Remarks;127
1.7.5.8;7.8 Review Questions;129
1.7.5.9;7.9 References and/or Recommended Readings;129
1.7.6;Chapter 8: Project Management Aids;130
1.7.6.1;8.1 PERT and CPM;130
1.7.6.1.1;8.1.1 Step 1: Tabulate the Project Activities;131
1.7.6.1.2;8.1.2 Step 2: Draw the PERT Diagram;132
1.7.6.1.3;8.1.3 Step 3: Determine ES, EF, LS and LF for each Activity;133
1.7.6.1.4;8.1.4 Step 4: Determine the Critical Path;133
1.7.6.1.5;8.1.5 Step 5: Conduct a Sensitivity Analysis;133
1.7.6.2;8.2 The Gantt Chart;135
1.7.6.3;8.3 Project Management Software;137
1.7.6.4;8.4 Summary and Concluding Remarks;138
1.7.6.5;8.5 Review Questions;138
1.7.6.6;8.6 References and/or Recommended Readings;140
1.8;Part C: Software Design;141
1.8.1;Chapter 9: Overview of Software Design;142
1.8.1.1;9.1 The Software Design Process;142
1.8.1.2;9.2 Design Strategies;144
1.8.1.2.1;9.2.1 Function-Oriented Design;144
1.8.1.2.2;9.2.2 Object-Oriented Design;145
1.8.1.2.3;9.2.3 The Unified Modeling Language;148
1.8.1.2.4;9.2.4 Advantages of Object Oriented Design;148
1.8.1.2.5;9.2.5 Using Both FO and OO Strategies;149
1.8.1.3;9.3 Architectural Design;149
1.8.1.3.1;9.3.1. Approaches to Resource Sharing;150
1.8.1.3.2;9.3.2 System Controls;154
1.8.1.3.3;9.3.3 System Components;155
1.8.1.4;9.4 Interface Design;155
1.8.1.5;9.5 Software Design and Development Standards;155
1.8.1.5.1;9.5.1 Advantages of Software Standards;155
1.8.1.5.2;9.5.2 Issues That Software Standards Should Address;156
1.8.1.6;9.6 The Design Specification;159
1.8.1.6.1;9.6.1 Contents of the Design Specification;159
1.8.1.6.2;9.6.2 How to Proceed;159
1.8.1.7;9.7 Summary and Concluding Remarks;160
1.8.1.8;9.8 Review Questions;161
1.8.1.9;9.9 References and/or Recommended Readings;162
1.8.2;Chapter 10: Database Design;163
1.8.2.1;10.1 Introduction;163
1.8.2.2;10.2 Approaches to Database Design;165
1.8.2.2.1;10.2.1 Conventional Files;166
1.8.2.2.2;10.2.2 Database Approach;166
1.8.2.2.3;10.2.3 Identifying and Defining Entities or Object Types;167
1.8.2.2.4;10.2.4 Identifying Relationships;168
1.8.2.2.5;10.2.5 Developing the ERD or ORD;170
1.8.2.2.6;10.2.6 Preparing the Database Specification;175
1.8.2.3;10.3 Overview of File Organization;177
1.8.2.3.1;10.3.1 Sequential File Organization;177
1.8.2.3.2;10.3.2 Relative or Direct File Organization;178
1.8.2.3.3;10.3.3 Indexed Sequential File Organization;179
1.8.2.3.4;10.3.4 Multi-Access File Organization;179
1.8.2.4;10.4 Summary and Concluding Remarks;179
1.8.2.5;10.5 Review Questions;180
1.8.2.6;10.6 References and/or Recommended Readings;181
1.8.3;Chapter 11: User Interface Design;182
1.8.3.1;11.1 Introduction;182
1.8.3.1.1;11.1.1 User Needs;183
1.8.3.1.2;11.1.2 Human Factors;184
1.8.3.1.3;11.1.3 Design Considerations;184
1.8.3.1.4;11.1.4 User Interface Preparation;185
1.8.3.2;11.2 Types of User Interfaces;185
1.8.3.3;11.3 Steps in User Interface Design;187
1.8.3.3.1;11.3.1 Menu or Graphical User Interface;187
1.8.3.3.2;11.3.2 Command-Based User Interface;190
1.8.3.4;11.4 Overview of Output Design;190
1.8.3.5;11.5 Output Methods versus Content and Technology;191
1.8.3.5.1;11.5.1 Printed Output;191
1.8.3.5.2;11.5.2 Monitor Display;192
1.8.3.5.3;11.5.3 Audio Output;192
1.8.3.5.4;11.5.4 Microfilm/Microfiche;192
1.8.3.5.5;11.5.5 Magnetic and Optical Storage;192
1.8.3.5.6;11.5.6 Choosing the Appropriate Output Method;193
1.8.3.6;11.6 Guidelines for Designing Output;195
1.8.3.6.1;11.6.1 Guidelines for Designing Printed Output;195
1.8.3.6.2;11.6.2 Guidelines for Designing Screen Output;195
1.8.3.7;11.7 Overview of Input Design;197
1.8.3.8;11.8 Guidelines for Designing Input;198
1.8.3.9;11.9 Summary and Concluding Remarks;199
1.8.3.10;11.10 Review Questions;200
1.8.3.11;11.11 References and/or Recommended Reading;200
1.8.4;Chapter 12: Operations Design;201
1.8.4.1;12.1 Introduction;201
1.8.4.2;12.2 Categorization of Operations;202
1.8.4.3;12.3 Essentials of Operations Design;203
1.8.4.4;12.4 Informal Methods for Specifying Operation Requirements;203
1.8.4.4.1;12.4.1 Traditional Methods;203
1.8.4.4.2;12.4.2 Warnier Orr Diagram;205
1.8.4.4.2.1;Disadvantages of the Warnier-Orr Diagram Are;205
1.8.4.4.3;12.4.3 UML Notations for Object Behavior;206
1.8.4.4.4;12.4.4 Extended Operation Specification;209
1.8.4.5;12.5 Formal Specifications;217
1.8.4.6;12.6 Summary and Concluding Remarks;218
1.8.4.7;12.7 Review Questions;218
1.8.4.8;12.8 References and/or Recommended Reading;219
1.8.5;Chapter 13: Other Design Considerations;220
1.8.5.1;13.1 The System Catalog;220
1.8.5.1.1;13.1.1 Contents of the System Catalog;220
1.8.5.1.2;13.1.2 Building the System Catalog;221
1.8.5.1.3;13.1.3 Using the System Catalog;222
1.8.5.2;13.2 Product Documentation;223
1.8.5.2.1;13.2.1 The System Help Facility;223
1.8.5.2.1.1;Structure of the Help System;224
1.8.5.2.1.2;Content of the Help System;224
1.8.5.2.2;13.2.2 The User’s Guide and System Guide;225
1.8.5.3;13.3 User Message Management;226
1.8.5.3.1;13.3.1 Storage and Management of Messages;226
1.8.5.3.2;13.3.2 Message Retrieval;227
1.8.5.4;13.4 Design for Real-Time Systems;227
1.8.5.4.1;13.4.1 Real-Time System Modeling;227
1.8.5.4.2;13.4.2 Real-Time Programming;228
1.8.5.5;13.5 Design for Reuse;228
1.8.5.6;13.6 System Security;229
1.8.5.6.1;13.6.1 Access to the System;229
1.8.5.6.2;13.6.2 Access to System Resources;230
1.8.5.6.3;13.6.3 Access to System Data;231
1.8.5.7;13.7 Summary and Concluding Remarks;231
1.8.5.8;13.8 Review Questions;233
1.8.5.9;13.9 References and/or Recommended Readings;233
1.9;Part D: Software Development;234
1.9.1;Chapter 14: Sof?tware Development Issues;235
1.9.1.1;14.1 Introduction;235
1.9.1.2;14.2 Standards and Quality Assurance;236
1.9.1.2.1;14.2.1 The Relationship between Quality and Standards;237
1.9.1.2.2;14.2.2 Software Quality Factors;238
1.9.1.2.3;14.2.3 Quality Assurance Evaluation;238
1.9.1.3;14.3 Management of Targets and Financial Resources;239
1.9.1.3.1;14.3.1 Managing Budget and Expenditure;240
1.9.1.3.2;14.3.2 Managing Software Cost and Value;241
1.9.1.4;14.4 Leadership and Motivation;241
1.9.1.5;14.5 Planning of Implementation Strategy;243
1.9.1.6;14.6 Summary and Concluding Remarks;243
1.9.1.7;14.7 Review Questions;244
1.9.1.8;14.8 References and/or Recommended Readings;244
1.9.2;Chapter 15: Human Resource Management;245
1.9.2.1;15.1 Management Responsibilities;246
1.9.2.2;15.2 Management Styles;246
1.9.2.2.1;15.2.1 Autocratic Management;246
1.9.2.2.2;15.2.2 Egalitarian (Democratic) Management;247
1.9.2.2.3;15.2.3 Laissez Faire Management;247
1.9.2.2.4;15.2.4 Path-Goal Leadership;247
1.9.2.2.5;15.2.5 Transformational Leadership;248
1.9.2.2.6;15.2.6 The Super Leader Approach;249
1.9.2.2.7;15.2.7 Task-Oriented Leadership;249
1.9.2.2.8;15.2.8 Relation-Oriented Leadership;249
1.9.2.2.9;15.2.9 Contingency Leadership;250
1.9.2.3;15.3 Developing Job Descriptions;250
1.9.2.4;15.4 Hiring;251
1.9.2.5;15.5 Maintaining the Desired Environment;253
1.9.2.5.1;15.5.1 Effective Communication;254
1.9.2.5.2;15.5.2 Conflict Resolution;255
1.9.2.5.3;15.5.3 Treating Outstanding Achievements and Errant Actions;256
1.9.2.6;15.6 Preserving Accountability;256
1.9.2.6.1;15.6.1 Designing and Assigning Work;256
1.9.2.6.2;15.6.2 Evaluating Performance;257
1.9.2.7;15.7 Grooming and Succession Planning;259
1.9.2.8;15.8 Summary and Concluding Remarks;259
1.9.2.9;15.9 Review Questions;260
1.9.2.10;15.10 References and/or Recommended Readings;261
1.9.3;Chapter 16: Software Economics;262
1.9.3.1;16.1 Software Cost versus Software Price;262
1.9.3.1.1;16.1.1 Software Cost;262
1.9.3.1.2;16.1.2 Software Price;263
1.9.3.2;16.2 Software Value;264
1.9.3.3;16.3 Evaluating Software Productivity;265
1.9.3.3.1;16.3.1 Size-related Metrics;265
1.9.3.3.2;16.3.2 Function-related Metrics;266
1.9.3.3.3;16.3.3 Assessment Based on Value Added;268
1.9.3.4;16.4 Estimation Techniques for Engineering Cost;269
1.9.3.4.1;16.4.1 Algorithmic Cost Models;270
1.9.3.4.2;16.4.2 The COCOMO Model;271
1.9.3.4.3;16.4.3 The COCOMO II Model;271
1.9.3.5;16.5 Summary and Concluding Remarks;276
1.9.3.6;16.6 Review Questions;278
1.9.3.7;16.7 References and/or Recommended Reading;279
1.10;Part E: Software Implementation and Management;280
1.10.1;Chapter 17: Software Implementation Issues;281
1.10.1.1;17.1 Introduction;281
1.10.1.2;17.2 Operating Environment;282
1.10.1.2.1;17.2.1 Central System;282
1.10.1.2.2;17.2.2 Distributed System;283
1.10.1.2.3;17.2.3 Other Environmental Issues;284
1.10.1.3;17.3 Installation of the System;284
1.10.1.4;17.4 Code Conversion;284
1.10.1.5;17.5 Change Over;285
1.10.1.5.1;17.5.1 Direct Change Over;286
1.10.1.5.2;17.5.2 Parallel Conversion;286
1.10.1.5.3;17.5.3 Phased Conversion;286
1.10.1.5.4;17.5.4 Distributed Conversion;286
1.10.1.6;17.6 Training;287
1.10.1.7;17.7 Marketing of the Software;287
1.10.1.8;17.8 Summary and Concluding Remarks;288
1.10.1.9;17.9 Review Questions;289
1.10.1.10;17.10 Recommended Readings;290
1.10.2;Chapter 18: Software Management;291
1.10.2.1;18.1 Introduction;291
1.10.2.2;18.2 Software Maintenance;292
1.10.2.2.1;18.2.1 Software Modifications;292
1.10.2.2.2;18.2.2 Software Upgrades and Patches;294
1.10.2.2.3;18.2.3 Maintenance Cost;295
1.10.2.3;18.3 Legacy Systems;296
1.10.2.4;18.4 Software Integration;297
1.10.2.5;18.5 Software Re-engineering;297
1.10.2.6;18.6 Summary and Concluding Remarks;298
1.10.2.7;18.7 Review Questions;299
1.10.2.8;18.8 References and/or Recommended Readings;299
1.10.3;Chapter 19: Organizing for Effective Management;300
1.10.3.1;19.1 Introduction;301
1.10.3.2;19.2 Functional Organization;301
1.10.3.3;19.3 Parallel Organization;303
1.10.3.4;19.4 Hybrid (Matrix) Organization;305
1.10.3.5;19.5 Organization of Software Engineering Firms;306
1.10.3.6;19.6 Summary and Concluding Remarks;310
1.10.3.7;19.7 Review Questions;311
1.10.3.8;19.8 References and/or Recommended Readings;311
1.11;Part F: Final Preparations;312
1.11.1;Chapter 20: Sample Exercises and Examination Questions;313
1.11.1.1;20.1 Introduction;313
1.11.1.2;20.2 Assignment 1A;314
1.11.1.3;20.3 Assignment 2;315
1.11.1.4;20.4 Assignment 3A;318
1.11.1.5;20.5 Assignment 4A;320
1.11.1.6;20.6 Assignment 5A;321
1.11.1.7;20.7 Assignment 6A;323
1.11.1.8;20.8 Assignment 7A;324
1.11.1.9;20.9 Assignment 8A;325
1.11.1.10;20.10 Sample Interim Examination 1A;326
1.11.1.11;20.11 Sample Interim Examination 2B;328
1.11.1.12;20.12 Sample Final Examination A;330
1.11.1.13;20.13 Sample Final Examination B;334
1.12;Part G: Appendices;340
1.12.1;Appendix 1: Introduction to Object Oriented Methodologies;341
1.12.1.1;A1.1 Software Revolution and Rationale for Object-Oriented Techniques;341
1.12.1.2;A1.2 Information Engineering and the Object-Oriented Approach;342
1.12.1.3;A1.3 Integrating Hi-tech Technologies;344
1.12.1.4;A1.4 Characteristics of Object-Oriented Methodologies;345
1.12.1.5;A1.5 Benefits of Object-Oriented Methodologies;345
1.12.1.6;A1.6 Summary and Concluding Remarks;346
1.12.1.7;A1.7 Recommended Readings;346
1.12.2;Appendix 2: Basic Concepts of Object-Oriented Methodologies;347
1.12.2.1;A2.1 Objects and Object Types;347
1.12.2.2;A2.2 Operations;349
1.12.2.3;A2.3 Methods;349
1.12.2.4;A2.4 Encapsulation and Classes;350
1.12.2.4.1;A2.4.1 Encapsulation;350
1.12.2.4.2;A2.4.2 Class;351
1.12.2.5;A2.5 Inheritance and Amalgamation;351
1.12.2.5.1;A2.5.1 Inheritance;351
1.12.2.5.2;A2.5.2 Amalgamation;352
1.12.2.6;A2.6 Requests;352
1.12.2.7;A2.7 Polymorphism and Reusability;352
1.12.2.8;A2.8 Interfaces;353
1.12.2.9;A2.9 Late Binding;354
1.12.2.10;A2.10 Multithreading;354
1.12.2.11;A2.11 Perception versus Reality;354
1.12.2.12;A2.12 Overview of the Object-Oriented Software Engineering Process;355
1.12.2.13;A2.13 Summary and Concluding Remarks;356
1.12.2.14;A2.14 Recommended Readings;357
1.12.3;Appendix 3: Object-Oriented Information Engineering;358
1.12.3.1;A3.1 Introduction;358
1.12.3.2;A3.2 Engineering the Infrastructure;359
1.12.3.3;A3.3 Diagramming Techniques;360
1.12.3.4;A3.4 Enterprise Planning;361
1.12.3.5;A3.5 Business Area Analysis;365
1.12.3.6;A3.6 System Design;369
1.12.3.7;A3.7 System Construction;370
1.12.3.8;A3.8 Summary and Concluding Remarks;371
1.12.3.9;A3.9 References and/or Recommended Reading;372
1.12.4;Appendix 4: Basic Guidelines for Object-Oriented Methodologies;373
1.12.4.1;A4.1 Object Identification;373
1.12.4.1.1;A4.1.1 Using Things to be Modeled;374
1.12.4.1.2;A4.1.2 Using the Definitions of Objects, Categories and Interfaces;375
1.12.4.1.3;A4.1.3 Using Decomposition;375
1.12.4.1.4;A4.1.4 Using Generalizations and Subclasses;375
1.12.4.1.5;A4.1.5 Using OO Domain Analysis or Application Framework;376
1.12.4.1.6;A4.1.6 Reusing Hierarchies, Individual Objects and Classes;376
1.12.4.1.7;A4.1.7 Using Personal Experience;377
1.12.4.1.8;A4.1.8 Using the Descriptive Narrative Approach;377
1.12.4.1.9;A4.1.9 Using the Class-Responsibility-Collaboration Method;378
1.12.4.1.10;A4.1.10 Using the Rule-of-Thumb Method;379
1.12.4.2;A4.2 End User Involvement;380
1.12.4.3;A4.3 OO Diagramming;381
1.12.4.4;A4.4 Enterprise-wide Design;382
1.12.4.5;A4.5 Emphasis on OO-CASE Tools versus OO-Programming Language;383
1.12.4.6;A4.6 OO Modeling;383
1.12.4.7;A4.7 Summary and Concluding Remarks;385
1.12.4.8;A4.8 References and/or Recommended Reading;385
1.12.5;Appendix 5: Categorizing Objects;386
1.12.5.1;A5.1 Identifying Object Relationships;386
1.12.5.2;A5.2 Fern Diagram;387
1.12.5.3;A5.3 Information Topology Chart;389
1.12.5.4;A5.4 Object Relationship Diagrams;390
1.12.5.5;A5.5 Representing Details about Object Types;391
1.12.5.5.1;A5.5.1 Object Structure Diagram;391
1.12.5.5.2;A5.5.2 CRC Card;393
1.12.5.6;A5.6 Avoiding Multiple Inheritance Relationships;394
1.12.5.6.1;A5.6.1 Delegation Using Aggregation;395
1.12.5.6.2;A5.6.2 Delegation and Inheritance;396
1.12.5.6.3;A5.6.3 Nested generalization;396
1.12.5.7;A5.7 Top-Down versus Bottom-Up;397
1.12.5.7.1;A5.7.1 Top-Down Approach;397
1.12.5.7.2;A5.7.2 Bottom-Up Approach;398
1.12.5.8;A5.8 Summary and Concluding Remarks;398
1.12.5.9;A5.9 References and/or Recommended Reading;399
1.12.6;Appendix 6: Specifying Object Behavior;400
1.12.6.1;A6.1 Use-cases;400
1.12.6.1.1;A6.1.1 Symbols Used in Use-case;401
1.12.6.1.2;A6.1.2 Types of Use-cases;402
1.12.6.1.3;A6.1.3 Information Conveyed by a Use-case;403
1.12.6.1.4;A6.1.4 Bundling Use-cases and Putting Them to Use;404
1.12.6.2;A6.2 States and State Transition;405
1.12.6.3;A6.3 Finite State Machines;406
1.12.6.4;A6.4 Event Diagrams;407
1.12.6.5;A6.5 Triggers;410
1.12.6.6;A6.6 Activity Diagrams;411
1.12.6.7;A6.7 Sequence Diagrams and Collaboration Diagrams;414
1.12.6.8;A6.8 Object Flow Diagrams;414
1.12.6.9;A6.9 Summary and Concluding Remarks;416
1.12.6.10;A6.10 References and/or Recommended Reading;417
1.12.7;Appendix 7: Tools for Object-Oriented Methodologies;418
1.12.7.1;A7.1 Introduction;418
1.12.7.2;A7.2 Categories of CASE Tools;419
1.12.7.3;A7.3 Universal Database Management Systems;421
1.12.7.4;A7.4 Benefits of OO- CASE Tools and UDBMS Suites;422
1.12.7.5;A7.5 Object Oriented Programming Languages;422
1.12.7.6;A7.6 Modeling and Code Generation;423
1.12.7.6.1;A7.6.1 Instant CASE;424
1.12.7.6.2;A7.6.2 Repository;424
1.12.7.7;A7.7 Standards for OOM;425
1.12.7.7.1;A7.7.1 CORBA;425
1.12.7.7.2;A7.7.2 COM;426
1.12.7.7.3;A7.7.3 The .NET Boom;426
1.12.7.8;A7.8 Summary and Concluding Remarks;426
1.12.7.9;A7.9 References and/or Recommended Readings;427
1.12.8;Appendix 8: Project Proposal for a Generic Inventory Management System;428
1.12.8.1;A8.1 Problem Definition;429
1.12.8.2;A8.2 Proposed Solution;429
1.12.8.3;A8.3 Scope of the System;429
1.12.8.4;A8.4 System Objectives;430
1.12.8.5;A8.5 Expected Benefits;430
1.12.8.6;A8.6 Overview of Storage Requirements;431
1.12.8.7;A8.7 Anticipated Outputs;432
1.12.8.8;A8.8 Feasibility Analysis Report;432
1.12.8.8.1;A8.8.1 Feasibility of Alternative A;433
1.12.8.8.2;A8.8.2 Feasibility of Alternative B;433
1.12.8.8.3;A8.8.3 Feasibility of Alternative C;434
1.12.8.8.4;A8.8.4 Feasibility of Alternative D;435
1.12.8.9;A8.8.5 Evaluation of Alternatives;435
1.12.8.10;A8.9 Initial Project Schedule;437
1.12.9;Appendix 9: Requirements Specification for a Generic Inventory Management System;438
1.12.9.1;A9.1 System Overview;438
1.12.9.1.1;A9.1.1 Problem Definition;438
1.12.9.1.2;A9.1.2 Proposed Solution;438
1.12.9.1.3;A9.1.3 System Architecture;439
1.12.9.2;A9.2 Storage Requirements;440
1.12.9.2.1;A9.2.1 Acquisitions Management Subsystem;441
1.12.9.2.2;A9.2.2 Financial Management Subsystem;446
1.12.9.3;A9.3 Operational Requirements;450
1.12.9.4;A9.4 Business Rules;454
1.12.9.4.1;A9.4.1 Overview;454
1.12.9.4.2;A9.4.2 Derivation and Procedural Rules;454
1.12.9.5;A9.5 Summary and Concluding Remarks;456
1.12.10;Appendix 10: Design Specification for a Generic Inventory Management System;457
1.12.10.1;A10.1 System Overview;457
1.12.10.1.1;A10.1.1 Problem Definition;457
1.12.10.1.2;A10.1.2 Proposed Solution;457
1.12.10.1.3;A10.1.3 System Architecture;458
1.12.10.2;A10.2 Database Specification;460
1.12.10.2.1;A10.2.1 Introduction;460
1.12.10.2.2;A10.2.2 Acquisitions Management Subsystem;462
1.12.10.2.3;A10.2.3 Financial Management Subsystem;472
1.12.10.2.4;A10.2.4 Systems Control Subsystem;479
1.12.10.3;A10.3 Operations Specification;482
1.12.10.3.1;A10.3.1 Generic Pseudo-codes;482
1.12.10.3.2;A10.3.2 Acquisitions Management Subsystem;484
1.12.10.3.2.1;E1_A: Add Inventory Items;484
1.12.10.3.2.2;E1_M: Modify Inventory Items;485
1.12.10.3.2.3;E1_Z: Delete Inventory Items;485
1.12.10.3.2.4;E1_I / E1_R: Inquiry/Report on Inventory Items;486
1.12.10.3.3;A10.3.3 Financial Management Subsystem;487
1.12.10.3.3.1;E19_A: Add Accounts to Chart of Accounts;487
1.12.10.3.3.2;E19_M: Modify Accounts;488
1.12.10.3.3.3;E19_Z: Delete Accounts;488
1.12.10.3.3.4;E19_I / E19_R: Inquiry/Report on Chart of Accounts;489
1.12.10.3.4;A10.3.4 System Controls Subsystem;490
1.12.10.3.4.1;E29_A: Add to the Audit Table for Data Additions;490
1.12.10.3.4.2;E29_Z: Delete from the Audit Table for Data Additions;491
1.12.10.3.4.3;E29_I / E29_R: Inquiry/Report on the Audit Table for Data Additions;492
1.12.10.3.4.4;E30_A: Add to Audit Table for Data Modifications;493
1.12.10.3.4.5;E30_Z: Delete from Audit Table for Data Modifications;494
1.12.10.3.4.6;E30_I / E30_R: Inquiry/Report on Audit Table for Data Modifications;495
1.12.10.3.4.7;E31_A: Add to Audit Table for Data Deletions;496
1.12.10.3.4.8;E31_Z: Delete from Audit Table for Data Deletions;497
1.12.10.3.4.9;E31_I / E31_R: Inquiry/Report on Audit Table for Data Deletions;498
1.12.10.3.4.10;E34_A: Add Session Log Entry;499
1.12.10.3.4.11;E34_Z: Delete Sessions from Sessions Log;500
1.12.10.3.4.12;E34_I / E34_R: Inquiry/Report on Sessions;501
1.12.10.3.4.13;E35_X: System Initialization Operation:;502
1.12.10.3.4.14;E0_X: System Main Menu Operation;503
1.12.10.4;A10.4 User Interface Specification;504
1.12.10.5;A10.5 Message and Help Specifications;517
1.12.10.5.1;A10.5.1 Message Specification;517
1.12.10.5.2;A10.5.2 Help Specification;517
1.12.10.6;A10.6 Summary and Concluding Remarks;518
1.13;Index;519



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.