Upload
dinhthuy
View
212
Download
0
Embed Size (px)
Citation preview
A. S01vberg D.C. Kung
Information Systems Engineering An Introduction
With 263 Figures
Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest
Arne Sj/llvberg Faculty of Electrical Engineering and Computer Science The Norwegian Institute of Technology University of Trondheim N-7034 Trondheim, Norway
David Chenho Kung Department of Computer Science Engineering University of Texas at Arlington P. O. Box 19015 Arlington, TX 76019, USA
ISBN-13:978-3-642-78003-S e-ISBN-13:978-3-642-78001-1 DOl: 10.1007/978-3-642-78001-1
This work is subject to copyright. All rights are reserved. whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law.
© Springer-Verlag Berlin Heidelberg 1993 Softcover reprint of the hardcover I st edition 1993
The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
Cover design: Konzept & Design, Ilvesheim Typesetting: Camera-ready copy from the author 45/3140 - 5 4 3 2 I 0 - Printed on acid-free paper
Preface
This book presents a selection of subjects which the authors deem to be important for information systems engineers. The book is intended for introductory teaching. We have tried to write the book in such a way that students with only fragmented knowledge of computers are able to read the book without too many difficulties. Students who have had only an introductory course in computer programming should be able to read most of the book. We have tried to achieve simplicity without compromising on depth in our discussions of the various aspects of information systems engineering. So it is our hope that also those who have deeper knowledge in computing may find pleasure in reading parts of the book.
The writing of a textbook is a major undertaking for its authors. One is quite often forced to reexamine truisms in the subject area, and must be prepared to reevaluate one's opinions and priorities as one learns more. In particular this is so in new fields, where formalisms have been scarcely used, and where consensus has not yet emerged either on what constitutes the subject area or on how practical problems within the field shall be approached. Contemporary practice in computer applications is confronted with an increasingly complex world, both in a technical sense and in the complexity of problems that are solved by computer. There is an increasing need for a coherent framework to be put forward which has a sound theoretical underpinning and which relates the various skills needed by professional system designers. Our text in Information Systems Engineering is intended to support a further professionalization of computer application development.
The selection of subjects in this book is a reflection of the two authors' priorities, within the limit of half-a-thousand pages of text and figures. This is not to say that there are not other important subjects as well. Given more time, and more energy to devote to textbook writing, we would happily expand our text with chapters on document processing, software metrics and cost estimation. We would most of all like to expand our text further in the realm of formal systems modeling, and associated development tools. Many interesting model proposals have been forwarded over the last few years which very well deserved to be treated in a text on Information Systems Engineering.
VI Preface
Several concerns have influenced the selection of material for the book:
The basic components in an information system must be described. The recommended design techniques should be widely accepted in practice. Methodological aspects should be discussed. Systems evolution problems should be stressed. Future methodologies should be discussed. Different approaches should be related to each other.
We have tried to satisfy these requirements as follows:
The first half of the book is based on well known information systems design techniques (Chap. 2-5). The next quarter of the book is concerned with systems evolution, project management issues, engineering design, various views of information systems and software (Chap. 6-10). The last part of the book covers several formal design approaches, and has more the flavor of a research monograph than the previous chapters (Chap. 11-14).
Furthermore, we have made the following particular choices:
The so-called structured analysis and design approach forms the basis for our introduction to information systems engineering. The object oriented approach is introduced and explained relative to the "structured" approaches. Software design, database design and rule modeling are treated separately, and presented as the "basic" design components. User interface design is treated as a side issue, partly because oflack of space, but also because of lack of methodological maturity of the field. Performance evaluation issues are discussed relative to software design as well as to database design. Systems evolution aspects are treated, partly from a software maintenance perspective, and partly from the perspective of the installation of common systems that are built from existing software components. Project management techniques have been treated only at an elementary level. Information systems engineering is seen as a sub-discipline of engineering in general. The presentation in the last part of the book takes as its starting point that future methodologies will be based on the availability of formal, executable models of information systems, so that a full integration becomes possible of the different specification languages that are currently used during the various phases of systems development. Only a small selection of formal models should be presented, because of space limitations.
Preface VII
This text has been developed over several years. It would never have been finished unless both authors were given possibilities to concentrate on textbook writing for limited periods of time. These times of concentration have been partly supported by the National Science Foundation (U.S.A.) and by the Royal Norwegian Council for Scientific and Industrial Research. Most of the text has been written in Trondheim, and at the Naval Postgraduate School's Department of Computer Science, Monterey, Ca., where one of the authors spent a sabbatical year. Professors David Hsiao and Vincent Lum are warmly thanked for providing excellent working conditions for bookwriting in California. There has also been excellent help in preparing the final manuscript. Hilde Berg has been particularly helpful in the last phase. Anne ~rvik helped with the preparation of earlier drafts of the manuscript. We are also grateful to Ali Arifoglu for preparing the exercises of the book, as well as the index. Gunnar Brataas has been a great help in drawing a number of the figures. Several other doctoral students in Trondheim have been most helpful in letting us use some of their material prior to their thesis-publication, as well as sharing freely their general mental support for the endeavor. We are particularly grateful to Rudolf Andersen, Ming Wei Yang, Odd Ivar Lindland, Anne Helga Seltveit, Jon Atle Gulla, Geir Willumsen, John Krogstie and Vidar Vetland. Finally, we thank Springer-Verlag for good cooperation, especially J. Andrew Ross for his careful copy-editing.
Trondheim, Norway, and Arlington, Texas, USA, May 1993
Arne S!1Ilvberg and David C. Kung
Contents
Chapter 1. Introduction. . . . . . . . 1 1.1 Two Information System Examples 6 1.1.1 The IFIP Conference Example 6 1.1.2 A University Administration System 8 1.2 Information Systems Modeling . . . 9 1.2.1 Conceptual Models Have a Key Role in IS-Design 10 1.2.2 Four Different Modeling Approaches . . . . . . 11 1.2.3 Modeling Approaches May Be Classified According
to Their Time Perspective. . . . . . . . . . . . . 12 1.2.4 Desirable Features of a System Specification Model 14 1.3 Contemporary Changes in System Development Practices 16 1.4 System Development Activities . . . . . . . . . . . . . 18 1.5 The Methods Problem in Information Systems Engineering 23 1.6 Information Systems Analysis Approaches 26
Chapter 2. Structured Analysis and Design 29 2.1 Structured Analysis .......... 30 2.1.1 The Process Aspect - Dataflow Diagrams 31 2.1.2 Defining the Processing Rules. . . . 40 2.1.3 The Data Aspect - Flows and Stores 44 2.1.4 Resolution of Data Access Conflicts 51 2.2 Structured Design . . . . . . . 58 2.2.1 Software Structure Specification 60 2.2.2 The System's Architecture 64 2.2.3 Refining the Subprogram Design 68 2.2.4 Packaging of Subprograms into Implementation Units. 69 2.3 User Interfaces . . . . . . . . . . . . . . . . 71 2.3.1 The User and the Usage ofInteractive Systems 71 2.3.2 Interaction Styles and Techniques 75 Exercises. . . . . . . . . . . . 79
Chapter 3. Software Design. 81 3.1 A Review of Software Terminology 83 3.1.1 A Standard Software Terminology is Lacking 83 3.1.2 Software Component Independence . . . . . 85
X Contents
3.1.3 Code-Level Concepts . . . . . . . . 86 3.2 Software Design for Maintainability. 89 3.2.1 Subprogram Cohesion. 90 3.2.2 Subprogram Coupling. . . . . . . . 92 3.2.3 Subprogram Structures . . . . . . . 96 3.3 Program Structures for Hierarchical Files . 103 3.3.1 Jackson's Structured Programming (JSP) . 104 3.3.2 Structured Design for Hierarchical Files 108 3.4 The Object Oriented Approach . . . . . . 112 3.4.1 Object Orientation and Structured AnalysislDesign 112 3.4.2 Properties of Software Objects ......... 117 3.4.3 Object Oriented Analysis and Design . . . . . . . 118 3.5 Principles for Creating Software with Acceptable
Response Times ................. 120 3.6 Workload Analysis of Software Design Specifications 124 3.6.1 An Example of Transactions on Data Stores. . . . . 126 3.6.2 Estimation of Traffic Load .. . . . . . . . . . . . 130 3.6.3 Estimation of Penalties Because of One Transaction
Activation .. . . . . . . . . . . . . . . . . . . . 132 3.6.4 Estimation of Penalties for Systems of Many Transaction
Types ................... 133 3.6.5 An Example of Traffic Load Analysis . . . . 134 3.6.6 On the Estimation of the Design Parameters 138 3.6.7 An Example of Sensitivity Analysis 141 Exercises. . . . . . . . . . . . 142
Chapter 4. Database Design 145 4.1 Files and Databases .. 148 4.1.1 File Organization Techniques 150 4.1.2 Database Management Systems. 153 4.1.3 Data Security. . . . . . . . 157 4.2 Data Model Alternatives . . 159 4.2.1 The Hierarchical Data Model 160 4.2.2 The Network Model. . . . . 162 4.2.3 The Relational Data Model . 164 4.2.4 The Entity-Relationship Model 173 4.3 Issues in Database Physical Design 181 4.3.1 Properties of Database Management Systems 182 4.3.2 Translation and Analysis of the Logical Design 184 4.3.3 Physical Design Approaches ......... 187 4.4 Database Design Constrained by Traffic Load Estimates 188 4.4.1 The Example. . . . . . . . . . . . . . . . . . . . . 188 4.4.2 Traffic Load Estimation. . . . . . . . . . . . . . . . 192 4.4.3 Reasoning About the Consequences of the Transaction
Traffic . . . . . . . . . . . . 193 4.4.4 Refining the Database Design . 196 4.4.5 Interpretation of the T-matrix 197 Exercises. . . . . . . . . . . . . . . 198
Contents XI
Chapter 5. Rule Modeling. . . . . . . . . . . 201 5.1 Rule Formulation. . . . . . . . . . . . . 202 5.1.1 Rule Processing Versus Rule Manipulation 202 5.1.2 Ambiguity in Range Specification . 206 5.1.3 Ambiguity in and/or Combinations 207 5.2 Simple Rule Modeling Tools. . . . 208 5.3 Decision Trees . . . . . . . . . . 211 5.3.1 Standard Decision Tree Development 211 5.3.2 Progressive Decision Tree Development 212 5.3.3 Completeness Checking of Decision Trees 215 5.3.4 Syntactical Simplification. . . . . 217 5.3.5 Syntactical Simplification Process. 219 5.3.6 Semantical Simplification . . . . . 221 5.4 Decision Tables. . . . . . . . . . 223 5.4.1 Standard Decision Table Construction 224 5.4.2 Extended-Entry Decision Tables 226 5.4.3 Indifference and Consolidation . . . . 228 5.4.4 Completeness of Decision Tables . . . 231 5.4.5 Semantical Simplification of Decision Tables 233 5.5 Structured English . . . . . . . . . . . . . 234 5.6 Comparison of Decision Trees, Decision Tables
and Structured English . . . . . . . 236 5.7 Process Logic and Expert Systems 238 5.8 An Introduction to Logical Inference 242 5.8.1 Rewriting of Logical Formulas 242 5.8.2 The Resolution Principle . . . . . . 243 5.8.3 Three Main Tasks for Applying Logical Proof 245 5.8.4 Some Properties of Proof Methods. 246 Exercises. . . . . . . . . . . . . . . . . . . . 247
Chapter 6. Information Systems Evolution: The Software Aspect . . . . . . . . . . . . . . . . 251
6.1 The Role of Standard Software in Information Systems Evolution. . . . . . . . . . . . . . . . . . . . . 254
6.1.1 Common, Standard, and Custom-Tailored Software 254 6.1.2 Application Platforms, Common Software,
and Information Systems Integration . . . . . . . 257 6.1.3 The Architecture of Common Systems. . . . . . . 259 6.2 The Installation of Software Systems in Organizations 262 6.2.1 Installation Approaches. 263 6.2.2 Who is the User? . . . . . . . . . . 264 6.2.3 Installation Experiences .... . . 265 6.2.4 Features of an Installation Strategy. 268 6.3 Evolutionary Behavior of Large Software Systems . 269 6.3.1 An Analysis of Observed Evolutionary Behavior . . 271 6.3.2 Basic Assumptions of Different Models of Evolutionary
Behavior . . . . . . . . . . . . . . . . . . . . . . . 276
XII Contents
6.3.3 The Impact of Error Propagation on Structural Degeneration . . . . . . . . . . . . . . . . . 277
6.3.4 The Impact of Resource Allocation on Structural Degeneration 280
Exercises. . . . . . . . . . . . . . . . . . . . . . . . 284
Chapter 7. Managing Information Systems Development Projects . . . . . . . . . . . . . 285
7.1 Project Selection: The Master Plan 287 7.2 The Project Life Cycle ...... 290 7.2.1 Phase 1: Pre-project Study . . . . 291 7.2.2 Phase 2: Requirement Specification 292 7.2.3 Phase 3: System Modeling and Evaluation 293 7.2.4 Phase 4: Functional Specification . . . . . 293 7.2.5 Phase 5: Data Processing System Architecture 294 7.2.6 Phase 6: Programming . . . 295 7.2.7 Phase 7: System Installation . . . . . . . . . 296 7.2.8 Phase 8: Project Evaluation. . . . . . . . . . 296 7.3 Project Evaluation and Control . . . . . . . . 297 7.4 The Information System Development Organization . 299 7.4.1 The Information System Department . . 299 7.4.2 The Functional "Large-Project" Structure 300 7.4.3 The Project Team Structure. . . . . . . 302 Exercises. . . . . . . . . . . . . . . . . . . . 303
Chapter 8. Information System Support for Information System Development . . . . . . . . . . . . . . . 305
8.1 Contemporary Environments for Supporting System Development . . . . . . . . . . . . . . . . . . . 307
8.2 The Functional Properties of Support Systems for Information Systems Engineering (ISE-systems) 312
8.3 A Database for Supporting Information Systems Engineering . . . . . . . . . . . . . . . . . . 316
8.4 Information Systems Configuration Management 319 8.4.1 Versions, Revisions and Variants 321 8.4.2 Change Management . . . . . . 324 8.4.3 Efficient Storage of Components 327 8.4.4 Software Manufacture 328 Exercises. . . . . . . . . . . . . . . . 330
Chapter 9. Engineering Design Principles for Unsurveyable Systems . . . . . . . . . . . . 331
9.1 The Engineering Design Process 332 9.1.1 Problem Formulation 335 9.1.2 Problem Analysis. . 336 9.1.3 Solution Generation 337 9.1.4 Solution Selection 338 9.1.5 Design Specification 338
Contents XIII
9.1.6 Implementation................... 339 9.1.7 Modification . . . . . . . . . . . . . . . . . . . . 340 9.1.8 The Engineering Design Process: Ideals and Reality. 340 9.2 Properties of Un surveyable Systems ........ 341 9.2.1 Problems of the Whole and Problems of Components 342 9.2.2 The System Concept . . . . . . . . . . . . 346 9.2.3 Dealing with Unsurveyable Systems 349 9.2.4 Langefors' Fundamental Principle for System
Development Work . . . . . . . . . . . . 351 9.2.5 A Guideline for System Development Work 352 9.2.6 The Feasibility Study. . . . . . . . . . . 356 9.3 Development of Non-constructive Systems. 357 9.3.1 Properties of Wicked Problems and Tame Problems
Contrasted . . . . . . . . . . . . . . . . . . 357 9.3.2 Principles for the Solution of Wicked Problems 361 Exercises. . . . . . . . . . . . . . . . . . . . . . . 362
Chapter 10. Information and Information Systems 365 10.1 Relationships Between Knowledge and Information 366 10.1.1 Types of Knowledge. . . . . . . . . . . . . . . . 368 10.1.2 Knowledge, Information, and Information Processes 369 10.1.3 Some Important Properties of Information 370 10.2 Ways of Obtaining Knowledge ........ 372 10.3 Formal and Informal Information . . . . . . . 375 10.4 The Information System and Its Environment. 378 10.5 Information Systems Viewed as Production Organizations 381 10.6 Self-Referential Information Systems 387 10.6.1 Static Programs ...... 389 10.6.2 Problem Oriented Programs 391 10.6.3 Evolutionary Programs . . . 393 Exercises. . . . . . . . . . . . . . 395
Chapter 11. Three Domains of Information Systems Modeling - and the Object· Oriented Approach 397
11.1 Subject Domain Modeling. . . . . 399 11.2 Interaction Domain Modeling. . . . . . 402 11.3 Implementation Domain Modeling ... 407 11.4 The Basic Concepts of the Object-Oriented Approach 409 11.4.1 Objects . . . . 409 11.4.2 Object Class . 410 11.4.3 Encapsulation 410 11.4.4 Inheritance. . 411 11.4.5 Polymorphism 412 11.5 Object-Oriented Analysis 413 11.5.1 Coad and Yourdon's Approach 413 11.5.2 The Object Modeling Technique. 416 11.6 Object-Oriented Design 417 11.6.1 Architectural Design . . . . . . 419
XIV Contents
11.6.2 Object Design. . . . . . . . . . . . . . . . . . . . . 420 11.7 Object-Oriented, Function-Oriented, and Data-Oriented
Approaches. . . . . . . . . . . . . . . . . . 421 Exercises. . . . . . . . . . . . . . . . . . . . . . . 422
Chapter 12. Model Integration with Executable Specifications. . . . . . . . . . . . . . . . 425
12.1 Constructivity in Information Systems Modeling 427 12.2 The PPP Approach . . . . . . . 432 12.2.1 The Phenomenon Model- PhM . . 432 12.2.2 The Process Model - PrM. . . . . 434 12.2.3 The Process Life Description (PLD) 437 12.2.4 An Example of Applying the PPP Model. 440 12.3 The Problem of Removing Irrelevant Specificational Detail 445 12.4 A Simple Method for Abstracting Away Modeling Detail.. 448 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 455
Chapter 13. An Example of Comparing Information Systems Analysis Approaches . . . . . . . . . . . . . . . . .. 457
13.1 The Example: A One-Bit Window Protocol. . . . . . . .. 457 13.2 Object-Oriented Analysis of the Communication Protocol . 459 13.3 The Communication Protocol Modeled as a State-Transition
Machine . . . . . . . . . . . . . . . . . . . . . . . .. 464 13.4 Stimulus-Response Analysis of the Communication Protocol 468 Exercises. . . . . . . . . . . . . . . . . . . . 473
Chapter 14. Formal Modeling Approaches. 475 14.1 The Set-Theoretic Approach to Information Modeling 477 14.1.1 Classification. . . . . . . . 477 14.1.2 Derived Relationships 478 14.1.3 Subclassification of Entities . 481 14.1.4 Attributes of Entities . . . . 482 14.1.5 Inheritance of Attributes . . 484 14.2 The Semantic Network Approach to Information Modeling 485 14.2.1 Disjoint Subset and Distinct Element 486 14.2.2 Deep Cases . 487 14.2.3 Spaces . . . . . . . . . . . . . . 487 14.2.4 Constraints. . . . . . . . . . . . 488 14.3 The ACMlPCM Modeling Approach 492 14.3.1 Structure Modeling in SHM+ . . . 493 14.3.2 Behavior Modeling in SHM+ . . . 495 14.3.3 Action and Transaction Programs . 498 14.4 Petri Nets . . . . . . . 499 14.4.1 Basic Concepts . . . . . . . . 500 14.4.2 Markings and Execution . . . 501 14.5 The Behavior Network Model. 504 14.6 The Retail Company Example. 507 14.7 Simulation in the Behavior Network 509
Contents XV
14.8 Derivation of External Systems Properties Using Path Analysis . . . . . . . . . . . . . . . . . . . . . . . 513
14.9 The Temporal Dimension ofInformation System Modeling 517 14.10 Modeling With Explicit Time Reference 521 14.11 Modeling With Topological Time 524 Exercises. . 526
References 527
Index. . . 537