《系统分析与设计(英文版·第3版)》是“系统分析与设计”课程的经典教材,讲授了系统分析与设计的基本理论和知识点,同时强调在实际项目中的应用以及其中的核心技能。全书共分为4个部分,以整个信息系统开发生命周期为主线,详细探讨了规划、分析、设计及实施4个阶段的活动。此外,书中还涵盖了项目团队中需要的各种角色和技能,以及面向对象技术,并介绍了UML的主要元素。
《系统分析与设计(英文版·第3版)》适合作为高等院校计算机、信息系统等相关专业的本科生和研究生教材,也可供一些软件开发人员尤其是系统分析师阅读。
《系统分析与设计(英文版·第3版)》是系统分析与设计的经典著作,也是世界范围内最受欢迎的高校教材之一,被加州大学伯克利分校、普度大学、伊利诺伊大学(UIUC)、华盛顿大学等众多名校采用。 与一般同类图书不同的是,《系统分析与设计(英文版·第3版)》的作者在学术界和工业界都有着丰富的阅历。全书的字里行间融入了作者在实际开发和分析系统时的经验心得,而且特别强调通过动手实践来理解和掌握系统分析与设计的精髓。这种实战性主要体现在如下两个方面:从主题的安排来看,作者通过一个典型项目逐一阐述计划、分析、设计和实现整个软件开发生命周期中面临的关键问题,面向对象的概念与技术贯穿全书始终,专用一章讲述UML核心知识,并涵盖了UML2.0新版本、敏捷开发方法等最新内容;从小专题的设置来看,文中给出了来自业界一线的多个“实战场景”,既讲述成功故事,也揭示失败教训,又给出了许多贴近实际的案例、模板和小练习。 《系统分析与设计(英文版·第3版)》配套网站提供更多小测验题、项目文档模板、教学用PPT和相关的资源链接。
This may sound like common sense, but unfortunately, many projects arestarted without a clear understanding of how the system will improve the business.The IS field is filled with thousands ofbuzzwords, fads, and trends (e.g., customerrelationship management [CRM], radio frequency identification [RFID], mobilecommerce, data mining). The promise of these innovations can appear so attractivethat organizations begin projects even if they are not sure what value they offer,because they believe that the technologies are somehow important in their ownright. A 2004 survey by the Standish Group found that just 28% of all corporate ISprojects are successful. Most times, problems can be traced back to the very begin-ning of the SDLC where too little attention was given to identifying the businessvalue and understanding the risks associated with the project.
Does this mean that technical people should not recommend new systemsprojects? Absolutely not. In fact, the ideal situation is for both IT people (i.e., theexperts in systems) and the business people (i.e., the experts in business) to workclosely to find ways for technology to support business needs. In this way, organi-zations can leverage the exciting technologies that are available while ensuring thatprojects are based upon real business objectives, such as increasing sales, improv-ing customer service, and decreasing operating expenses. Ultimately, informationsystems need to affect the organizations bottom line (in a positive way!).
In general, a project is a set of activities with a starting point and an endingpoint meant to create a system that brings value to the business. Project initiationbegins when someone (or some group) in the organization (called the project spon-sor) identifies some business value that can be gained from using information tech-nology. The proposed project is described briefly using a technique called the sys-tem request, which is submitted to an approval committee for consideration. Theapproval committee reviews the system request and makes an initial determination,based on the information provided, of whether to investigate the proposed projector not. If so, the next step is the feasibility analysis.
丹尼斯(Alan Dennis),世界著名的信息系统专家。现任美国印第安纳大学凯利商学院信息系统系教授。主要研究领域是团队管理、知识管理和因特网。他有20多年软件开发经历,先后担任过程序员、高级系统分析师、项目经理和软件公司总裁等职,还曾任IBM、波音等公司的顾问。现任Joumal of Management Information Systenls编委、MIS Quarterly副主编。他的Business Data Communications and Networking一书也是北美标准教材。
威客瑟姆(Barbara Haley Wixom),美国弗吉尼亚大学Mclntire商学院副教授数据仓库和商务智能领域专家。现任Business Intelligence Journal副主编。曾担任美国大陆航空、3M等著名公司的顾问。
罗思(Roberta M.Roth),美国北艾奥瓦大学副教授。主要教学和研究领域包括系统分析与设计、基于Web的IT教育。
CHAPTER I INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN 1
Introduction 2
The Systems Development Life Cycle 4
Planning 6
Analysis 6
Design 7
Implementation 7
Systems Development Methodologies 8
Structured Design 10
RapidApplication Development (RAD) 12
Agile Development 16
Selecting the Appropriate Development Methodology 18
Project Team Skills and Roles 20
Business Analyst 21
Systems Analyst 22
Infrastructure Analyst 22
Change Management Analyst 22
Project Manager 23
Summary 23
PART ONE PLANNING PHASE 29
CHAPTER 2 PROJECT INITIATION 31
Introduction 32
ProJect Identification 33
System Request 35
Applying the Concepts at CD Selections 36
Feasibility Analysis 39
Technical Feasibility 39
Economic Feasibility 40
Organizational Feasibility 46
Applying the Concepts at CD Selections 49
ProJect Selection 52
Applying the Concepts at CD Selections 53
Summary 55
CHAPTER 3 PROJECT MANAGEMENT 61
Introduction 62
Identifying Project Size 62
Function Point Approach 64
Creating and Managing the Workplan 70
Identify Tasks 70
The Project Workplan 72
Gantt Chart 72
PERT Chart 74
Refining Estimates 75
Scope Management 77
Timeboxing 78
Staffing the Project 79
Staffing Plan 79
Motivation 82
Handling Conflict 83
Coordinating Project Activities 84
CASE Tools 84
Standards 85
Documentation 86
Managing Risk 87
Applying the Concepts at CD Selections 89
Staffing the Project 92
Coordinating Project Activities 93
Summary 93
PART TWO ANALYSIS PHASE 99
CHAPTER 4 REQUIREMENTS DETERMINATION 101
Introduction 102
Requirements Determination 103
what is a Requirement? 103
Requirements Definition 106
Determining Requirements 107
Creating the Requirements Definition 108
Requirements Analysis Techniques 108
Business Process Automation 109
Business Process Improvement 110
Business Process Reen gineering 113
Comparing Analysis Techniques 114
Requirements-Gathering Techniques 116
Requirements-Gathering in Practice 117
Interviews 118
JointApplication Development (JAD) 125
Questionnaires 128
Document Analysis 131
Observation 133
Selecting the Appropriate Techniques 134
Applying the Concepts at CD Selections 136
Requirements Analysis Techniques 136
Requirements-Gathering Techniques 136
Requirements Definition 137
System Proposal 138
Summary 139
CHAPTER 5 USE CASE ANALYSIS 143
Introduction 148
Use Cases 149
Elements of a Use Case 149
Building Use Cases 151
Applying the Concepts at CD Selections 155
Identifying the Major Use Cases 155
Identifying the Major Steps for Each Use Case 158
Identifying the Elements within Steps 162
Confirming the Use Case 162
Revising the Requirements Definition 166
Summary 166
CHAPTER 6 PROCESS MODELING 171
Introduction 172
Data Flow Diagrams 172
Reading Data Flow Diagrams 172
Elements of Data Flow Diagrams 174
Using Data Flow Diagrams to Define Business Processes 176
Process Descriptions 180
Creating Data Flow Diagrams 180
Creating the Context Diagram 182
Creating Data Flow Diagram Fragments 182
Creating the Level 0 Flow Diagram 184
Creating Level I Data Flow Diagrams (and Below) 185
Validating the Data Flow Diagrams 188
Applying the Concepts at CD Selections 191
Creating the Context Diagram 192
Creating Data Flow Diagram Fragments 192
Creating the Level 0 Data Flow Diagram 193
Creating Level I Data Flow Diagrams (and Below) 194
Validating the Data Flow Diagrams 198
Summary 198
Appendix A: Process Modeling at Custom MetalWorks 202
CHAPTER 7 DATA MODELING 211
Introduction 212
The Entity Relationship Diagram 212
Reading an Entity Relationship Diagram 213
Elements of an Entity Relationship Diagram 214
The Data Dictionary and Metadata 219
Creating an Entity Relationship Diagram 220
Building Entity Relationship Diagrams 221
Advanced Syntax 224
Applying the Concepts at CD Selections 227
Validating and ERD 230
Design Guidelines 230
Normalization 233
Balancing Entity Relationship Diagrams with Data Flow Diagrams 238
Summary 240
Appendix A: Data Modeling at Custom MetalWorks 245
PART THREE DESIGN PHASE 251
CHAPTER 8 MOVING INTO DESIGN 255
Introduction 254
Transition from Requirements to Design 254
System Acquisition Strategies 257
Custom Development 257
Packaged Softwa re 258
Outsourcing 260
Influences on Acquisition Strategy 261
Business Need 262
In-house Experience 262
Project Skills 263
Project Management 263
Time Frame 264
Selecting an Acquisition Strategy 264
Alternative Matrix 265
Applying the Concepts at CD Selections 267
Summary 269
CHAPTER 9 ARCHITEcTuRE DESIGN 273
Introduction 274
Elements of an Architecture Design 274
Architectural Components 274
Server-Based Architectures 275
Client-Based Architectures 275
Client-Server Architectures 276
Client-Server Tiers 278
Comparing Architecture Options 280
Creating an Architecture Design 282
Operational Requirements 283
Performance Requirements 284
Security Requirements 286
Cultural and Political Requirements 291
Designing the Architecture 293
Hardware and Software Specification 295
Applying the Concepts at CD Selections 297
Creating an Architecture Design 297
Hardware and Software Specification 300
Summary 300
CHAPTER 10 USER INTERFACE DESIGN 305
Introduction 306
Principles for User Interface Design 306
Layout 307
Content Awareness 309
Aesthetics 311
User Experience 313
Consistency 314
Minim ize Us er Effo rit 314
User Interface Design Process 315
Use Scenario Development 316
Interface Structure Design 317
Interface Standards Design 319
Interface Design Prototyping 321
Interface Evaluation 323
Navigation Design 325
Basic Principles 325
Types of Navigation Controls 326
Messages 330
Input Design 331
Basic Principles 331
Types of Inputs 334
Input Validation 334
Output Design 337
Basic Principles 337
Types of outputs 340
Media 340
Applying the Concepts at CD Selections 342
Use Scenario Development 342
Interface Structure Design 342
Interface Standards Design 346
Interface Template Design 346
DesignPrototyping 347
Interface Evaluation 348
Summary 348
CHAPTER 11 PROGRAM DESIGN 357
Introduction 358
Moving from Logical to Physical Process Models 358
The Physical Data Flow Diagram 358
Applying the Concepts at CD Selections 362
Designing Programs 363
Structure Chart 366
Syntax 366
Building the Structure Chart 369
Applying the Concepts at CD Selections 372
Design Guidelines 376
Program Specification 382
Syntax 382
Applying the Concepts at CD Selections 385
Summary 388
CHAPTER 12 DATA STORAGE DESIGN397
Introduction 398
Data Storage Formats 398
Files 399
Databases 401
Selecting a Storage Format 407
Applying the Concepts at CD Selections 409
Moving from Logical to Physical Data Models 410
The Physical Entity Relationship Diagram 410
Revisiting the CRUD Matrix 414
Applying the Concepts at CD Selections 414
Optimizing Data Storage 416
Optimizing Storage Efficiency 417
Optimizing Access Speed 419
Estimating Storage Size 424
Applying the Concepts at CD Selections 426
Summary 428
PART FOUR IMPLEMENTATION PHASE 435
CHAPTER 13 MOVING INTO IMPLEMENTATION 437
Introduction 438
Managing the Programming Process 438
Assigning Programming Tasks 438
Coordinating A ctivities 439
Managing the Schedule 440
Testing 441
Test Planning 442
Unit Tests 445
Integration Tests 445
System Tests 447
Acceptance Tests 447
Developing Documentation 447
Types of Documentation 449
Designing Documentation Structure 449
Writing Documentation Topics 451
Identifying Navigation Terms 452
Applying the Concepts at CD Selections 454
Managing Programming 454
Testing 454
Developing User Documentation 457
Summary 458
CHAPTER 14 TRANSITION TO THE NEW SYSTEM 463
Introduction 464
Making the Transition to the New System 464
The Migration Plan 465
Selecting a Conversion Strategy 466
Preparing a Business Contingency Plan 470
Preparing the Technology 472
Preparing People for the New System 473
Understanding Resistance to Change 473
Revising Management Policies 475
Assessing Costs and Benefits 476
Motivating Adoption 478
Enabling Adoption: Training 480
Postimplementation Activities 482
System Support 482
System Maintenance 483
Project Assessment 486
Applying the Concepts at CD Selections 488
Implementation Process 488
Preparing the People 489
Postimplementation Activities 489
Summary 489
CHAPTER 15 THE MOVEMENT TO OBJECTS 495
Introduction 496
Basic Characteristics of Object-Oriented Systems 497
Classes and Objects 497
Methods and Messages 498
Encapsulation and Information Hiding 498
Inheritance 499
Polymorphism and Dynamic Binding 500
Object-Oriented Systems Analysis and Design 502
Use Case Driven 502
Architecture Centric 503
Iterative and Incremental 503
Benefits of Object-Oriented Systems Analysis and Design 503
Unified Modeling Language Version 2.0 504
The Rational Unified Process (RUP) 506
Four Fundamental UML Diagrams 506
Use Case Diagram 507
Elements of a Use Case Diagram 509
Creating a Use Case Diagram 512
Class Diagram 514
Elements of a Class Diagram 515
Simplifying Class Diagrams 520
Creating a Class Diagram 521
Sequence Diagram 525
Creating a Sequence Diagram 526
Behavioral State Machine Diagram 529
Elements of a Behavioral State Machine Diagram 530
Creating a Behavioral State Machine Diagram 531
Summary 533
INDEX 541
Systems Analysis and Design (SAD) is an exciting, active field in which analystscontinually learn new techniques and approaches to develop systems more effec-tively and efficiently. However there is a core set of skills that all analysts need toknow——no matter what approach or methodology is used. All information systemsprojects move through the four phases of planning, analysis, design, and imple-mentation; all projects require analysts to gather requirements, model the businessneeds, and create blueprints for how the system should be built; and all projectsrequire an understanding of organizational behavior concepts like change manage-ment and team building.
This book captures the dynamic aspects of the field by keeping studentsfocused on doing SAD while presenting the core set of skills that we feel every sys-tems analyst needs to know today and in the future. This book builds on our pro-fessional experience as systems analysts and on our experience in teaching SAD inthe classroom.
This book will be of particular interest to instructors who have students do amajor project as part of their course. Each chapter describes one part of the process,provides clear explanations on how to do it, gives a detailed example, and then hasexercises for the students to practice. In this way, students can leave the course withexperience that will form a rich foundation for further work as a systems analyst.