13

Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

Embed Size (px)

Citation preview

Page 1: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components
Page 2: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 3: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 4: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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 intro­ductory 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 Engineer­ing is intended to support a further professionalization of computer applica­tion 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 develop­ment tools. Many interesting model proposals have been forwarded over the last few years which very well deserved to be treated in a text on Informa­tion Systems Engineering.

Page 5: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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.

Page 6: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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 Post­graduate 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 condi­tions 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

Page 7: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 8: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 9: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 10: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 11: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 12: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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

Page 13: Information Systems Engineering - link.springer.com978-3-642-78001-1/1.pdf · VI Preface Several concerns have influenced the selection of material for the book: The basic components

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