2 options
Systems analysis and synthesis : bridging computer science and information technology / Barry Dwyer.
- Format:
- Book
- Author/Creator:
- Dwyer, Barry (Lecturer in Computer Science), author.
- Language:
- English
- Subjects (All):
- System analysis.
- Physical Description:
- 1 online resource (xxix, 481 pages.)
- Place of Publication:
- Waltham, MA : Morgan Kaufmann, [2016]
- System Details:
- text file
- Summary:
- Systems Analysis and Synthesis Bridging Computer Science and Information Technology Unique approach that relates system design to core computer science concepts for applying knowledge to real business problems. Systems Analysis and Synthesis: Bridging Computer Science and Information Technology presents several new graph-theoretical methods that relate system design to core computer science concepts, and enable correct systems to be synthesized from specifications. Based on material refined in the author's university courses, the book has immediate applicability for working system engineers or recent graduates who understand computer technology, but have the unfamiliar task of applying their knowledge to a real business problem. Starting with a comparison of synthesis and analysis, the book explains the fundamental building blocks of systems - atoms and events - and takes a graph-theoretical approach to database design to encourage a well-designed schema. The author explains how database systems work - useful both when working with a commercial database management system and when hand-crafting data structures - and how events control the way data flow through a system. Later chapters deal with system dynamics and modelling, rule-based systems, user psychology, and project management, to round out the reader's ability to understand and solve business problems. Key Features: Bridges computer science theory with practical business problems, to lead readers from requirements to a working system without error or backtracking. Explains use-definition analysis to derive process graphs and avoid large-scale designs that don't quite work. Demonstrates functional dependency graphs to allow databases to be designed without painful iteration. Book jacket.
- Contents:
- Chapter 1 Systems, Analysis, and Synthesis 1
- 1.1 Systems 1
- 1.2 Aim of the Book 3
- 1.2.1 Kernel, Interface, and Environment 4
- 1.2.2 System Development Models 5
- 1.2.3 Classical Life-cycle Models 6
- 1.2.4 Evolutionary Models 7
- 1.2.5 Transformational Models 7
- 1.3 Analysis 8
- 1.4 Synthesis 9
- 1.4.1 Composition and Decomposition 12
- 1.5 Tractability 13
- 1.6 Mental Blocks 19
- 1.7 Summary 21
- 1.8 Further Reading 22
- 1.9 Exercises 22
- Chapter 2 Mathematical Background 23
- Introduction 24
- 2.1 Propositional Calculus 25
- 2.1.1 Logical Operators 25
- 2.1.2 Properties of Logical Operators 27
- 2.1.3 Conjunctive Normal Form 27
- 2.1.4 Logical Inference 29
- 2.2 First-order Predicate Calculus 29
- 2.2.1 Quantifiers 30
- 2.3 Sets 31
- 2.3.1 Set Notation 31
- 2.3.2 Set Operators 32
- 2.3.3 Properties of Set Operators 33
- 2.3.4 Euler Diagrams 34
- 2.4 Relations and Functions 35
- 2.4.1 Cartesian Products 35
- 2.4.2 Binary Relations 35
- 2.4.3 Special Relations 38
- 2.4.4 Operations on Relations 40
- 2.5 Graphs and Schemas 44
- 2.5.1 Graphs 44
- 2.5.2 Connected Components 48
- 2.5.3 Rooted Trees 50
- 2.5.4 Labelled Graphs 51
- 2.5.5 Matrix Representation of Graphs 52
- 2.5.6 Schemas 57
- 2.6 Representing Sets 61
- 2.6.1 Arrays 61
- 2.6.2 Linked Lists 62
- 2.6.3 Search Trees 63
- 2.6.4 B-Trees 65
- 2.6.5 Hash Tables 66
- 2.6.6 Bit Maps 66
- 2.6.7 Decision Trees and Decision Diagrams 67
- 2.6.8 Other Structures 67
- 2.7 Representing Functions, Relations, and Graphs 68
- 2.7.1 Functions 68
- 2.7.2 Correspondences 68
- 2.7.3 Sequences 69
- 2.7.4 Relations and Graphs 70
- 2.7.5 Files 72
- 2.8 Summary 74
- 2.9 Further Reading 77
- 2.10 Exercises 78
- Chapter 3 Atoms 79
- Introduction 79
- 3.1 Finite-State Automata 81
- 3.2 Deterministic and Non-deterministic Automata 83
- 3.3 Regular Expressions 87
- 3.4 Finite Means Finite 89
- 3.5 Analysing States 90
- 3.6 Counting 94
- 3.7 Continuous Systems 96
- 3.8 Products of FSAs 99
- 3.9 Shared Events 100
- 3.10 Modelling Atoms 105
- 3.10.1 Identifiers 105
- 3.10.2 Representing States 107
- 3.11 Summary 108
- 3.12 Further Reading 108
- 3.13 Exercises 108
- Chapter 4 Data-structure Analysis 111
- Introduction 111
- 4.1 Conceptual Schemas 113
- 4.1.1 Constraints 114
- 4.1.2 Tables, Atoms, and States 116
- 4.2 Deriving Functional Dependencies 117
- 4.2.1 Many-to-one Relations 121
- 4.2.2 One-to-many Relations 121
- 4.2.3 One-to-one Relations 122
- 4.2.4 Many-to-many Relations 122
- 4.2.5 Expressing FDs in the Relational Model 123
- 4.3 Entity-relationship Analysis 124
- 4.3.1 Relationships as Entities 125
- 4.4 Synthesising a Database Schema by Composition 127
- 4.4.1 Functional Dependency Graphs 128
- 4.4.2 Closure of an FD Graph 130
- 4.4.3 Minimal FD Graphs 132
- 4.4.4 The Canonical FD Graph 135
- 4.4.5 Cycles 137
- 4.4.6 Algebraic Compositional Methods 138
- 4.4.7 Summary of Compositional Methods 139
- 4.5 Designing a Database Schema by Decomposition 140
- 4.6 Summary 141
- 4.7 Further Reading 143
- 4.8 Exercises 143
- Chapter 5 Kernel Specifications 145
- Introduction 145
- 5.1 The Kernel 146
- 5.2 Serialisability 147
- 5.3 Infrastructure 147
- 5.4 An Academic Records System 149
- 5.5 A Specification Language 150
- 5.6 Specifying Atoms 154
- 5.7 Specifying Events 158
- 5.8 Summary 165
- 5.9 Further Reading 166
- 5.10 Exercises 166
- Chapter 6 Database Technology 169
- Introduction 169
- 6.1 The SQL Data Definition Language 170
- 6.2 From Schema to SQL 174
- 6.3 SQL Queries 175
- 6.3.1 Sub-Queries 177
- 6.3.2 Views 178
- 6.3.3 Embedded SQL 179
- 6.4 Query Optimisation 181
- 6.4.1 The Memory Hierarchy 184
- 6.4.2 Join Algorithms 185
- 6.4.3 Join Trees 189
- 6.5 Transactions 193
- 6.5.1 The Need for Locking 193
- 6.5.2 The Two-phase Protocol 194
- 6.5.3 Deadlock 195
- 6.5.4 Correctness of the Two-phase Protocol 198
- 6.6 Back-up and Recovery 199
- 6.7 Summary 200
- 6.8 Further Reading 200
- 6.9 Exercises 200
- Chapter 7 Processes 203
- Introduction 203
- 7.1 Use-definition Analysis 204
- 7.1.1 The Determines Relation 204
- 7.1.2 The Determines Graph 205
- 7.1.3 The State Dependency Graph 207
- 7.2 Preventing Deadlock 210
- 7.2.1 Resource Priorities 211
- 7.2.2 Real-time Systems 214
- 7.3 Process Graphs 216
- 7.3.1 Degrees of Coupling between Processes 218
- 7.3.2 The Canonical Process Graph 219
- 7.3.3 Process Optimisation 220
- 7.4 Object-oriented Systems 222
- 7.4.1 Synthesis of an Object-oriented System 222
- 7.4.2 Event Segmentation 224
- 7.5 Batch Processing 229
- 7.5.1 Update Algorithms 234
- 7.5.2 Validity of Batch Processing 235
- 7.5.3 Event Segmentation in a Batch Processing System 238
- 7.5.4 Synthesising a Batch Processing System 239
- 7.6 Modes 243
- 7.7 Fragility 246
- 7.7.1 Defences against Fragility 246
- 7.8 User Dialogue 248
- 7.9 Summary 249
- 7.10 Further Reading 250
- 7.11 Exercises 250
- Chapter 8 Interfaces 253
- Introduction 253
- 8.1 Reports 254
- 8.2 Forms 257
- 8.3 Human Factors 260
- 8.3.1 Physiological Factors 261
- 8.3.2 Cognitive Factors 267
- 8.3.3 Behavioural Factors 273
- 8.4 Psychology Experiments 281
- 8.4.1 The Binomial Distribution 282
- 8.4.2 Unbiased Estimates 284
- 8.4.3 Individual Differences 286
- 8.5 Forms Design 289
- 8.6 Summary 291
- 8.7 Further Reading 291
- 8.8 Exercises 292
- Chapter 9 Rules 295
- Introduction 295
- 9.1 Business Rules 296
- 9.2 Rule-based Systems 297
- 9.2.1 Decision Tables 298
- 9.2.2 Checking Study Programmes 301
- 9.3 Expert Systems 303
- 9.3.1 Forward and Backward Chaining 305
- 9.3.2 Logic Trees 306
- 9.3.3 A Practical Inference Engine 309
- 9.3.4 Branch and Bound Search 314
- 9.3.5 Search and Planning 319
- 9.3.6 Fuzzy Logic 322
- 9.4 Summary 328
- 9.5 Further Reading 329
- 9.6 Exercises 330
- Chapter 10 System Dynamics 333
- Introduction 333
- 10.1 Queueing Models 334
- 10.1.1 Basic Queueing Theory 336
- 10.1.2 Probability Distributions 338
- 10.1.3 A Simple Queueing Model 338
- 10.2 Control Systems 344
- 10.2.1 The First Simulation 344
- 10.2.2 The Simplified Simulation 349
- 10.2.3 The Second Simulation 351
- 10.2.4 Linear Sampled-data Systems 352
- 10.3 Summary 355
- 10.4 Further Reading 356
- 10.5 Exercises 357
- Chapter 11 Project Management 359
- Introduction 359
- 11.1 Discounted Cash Flow 360
- 11.2 Critical Path Analysis 363
- 11.3 Project Control 368
- 11.3.1 Acceptance Testing 370
- 11.4 Personnel Management 373
- 11.5 Standards and Documentation 374
- 11.5.1 Literate Programming 375
- 11.6 Feasibility Studies 377
- 11.6.1 Financial Feasibility 377
- 11.6.2 Technical Feasibility 378
- 11.7 Methodology 379
- 11.8 Summary 382
- 11.9 Further Reading 382
- 11.10 Exercises 383.
- Notes:
- Electronic reproduction. Amsterdam Available via World Wide Web.
- Description based on print version record.
- ISBN:
- 9780128054499
- 0128054492
- Publisher Number:
- 99971744736
- Access Restriction:
- Restricted for use by site license.
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.