My Account Log in

2 options

Systems analysis and synthesis : bridging computer science and information technology / Barry Dwyer.

Online

Available online

View online

Elsevier ScienceDirect Books Available online

View online
Format:
Book
Author/Creator:
Dwyer, Barry (Lecturer in Computer Science), author.
Contributor:
ScienceDirect (Online service)
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.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account