系统分析与设计(第3版)(图灵计算机科学丛书)
分類: 图书,新闻出版/图书馆/档案学,信息与传播理论,信息处理技术,
品牌: Alan Dennis Barbara Haley Wixom Roberta M.Roth
基本信息·出版社:人民邮电出版社
·页码:540 页
·出版日期:2009年
·ISBN:7115186960/9787115186966
·条形码:9787115186966
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:图灵计算机科学丛书
产品信息有问题吗?请帮我们更新产品信息。
内容简介《系统分析与设计》是“系统分析与设计”课程的经典教材,讲授了系统分析与设计的基本理论和知识点,同时强调在实际项目中的应用以及其中的核心技能。全书共分为4个部分。第一部分解释了SDLC的计划阶段。主要讲述了项目启动和项目管理。第二部分介绍了分析阶段用到的技术。主要包含了确定需求的技术、用例技术、过程模型和数据建模。第三部分介绍了在设计阶段的3种系统获取策略、架构设计、用户界面设计、数据存储和程序设计。第四部分介绍了实现阶段的系统构建,以及如何转换到新系统。此外,书中还涵盖了项目团队中需要的各种角色和技能,以及面向对象技术,并介绍了UML的主要元素。
《系统分析与设计》适合作为高等院校计算机、信息系统等相关专业的本科生和研究生教材,也可供一些软件开发人员尤其是系统分析师阅读。
作者简介Alan Dennis,世界著名的信息系统专家。现任美国印第安纳大学凯利商学院信息系统系教授。主要研究领域是团队管理、知识管理和因特网。他有20多年软件开发经历,先后担任过程序员、高级系统分析师、项目经理和软件公司总裁等职,还曾任IBM、波音等公司的顾问,、现任Journal of ManaqementInformation Systems编委、MISQuarterly副主编。他的Business DataCommunications and~efworking一书也是北美标准教材。
译者简介
干红华,浙江大学计算机学院副教授、硕士生导师,浙江大学计算机学院和软件学院党委副书记。兼任中国软件行业协会常务理事,宁波市软件行业协会副理事长,宁波电子服务研究院常务副理事长。浙江大学计算机应用专业博士。曾留学英国埃克塞特大学和格拉摩根大学。主要研究兴趣包括电子服务、软件工程、人工智能应用、因果推理模型等。
张志猛,浙江大学软件学院教师。2004年获浙江大学计算机应用专业博士学位。长期从事软件项目设计、开发和管理工作,有比较丰富的IT行业实践经验。现主管软件工程硕士的教学工作。主要研究方向为软件逆向工程、软件可视化、面向对象技术、系统分析和设计等。
毛淑飞,浙江大学软件学院教师。2004年毕业于浙江工业大学软件工程专业。曾参与“IP电话CDR服务器实现”、“华东医药信息管理系统”和“烟草管理系统”等项目的开发,有一定的软件开发设计经验。研究兴趣包括软件系统的设计与开发、电子服务基础架构等。
编辑推荐《系统分析与设计》是系统分析与设计的经典著作,也是世界范围内最受欢迎的高校教材之一,被加州大学伯克利分校、普度大学、伊利诺伊大学(UIUC)、华盛顿大学等众多名校采用。与一般同类图书不同的是,《系统分析与设计》的作者在学术界和工业界都有着丰富的阅历,全书的字里行间融入了作者在实际开发和分析系统时的经验心得,而且特别强调通过动手实践来理解和掌握系统分析与设计的精髓。这种实战性主要体现在如下两个方面:从主题的安排来看,作者通过一个典型项目逐一阐述计划、分析、设计和实现整个软件开发生命周期中面临的关键问题,面向对象的概念与技术贯穿全书始终,专用一章讲述LJML.核心知识。并涵盖了LIMI一2.0新版本、敏捷开发方法等最新内容;从小专题的设置来看,文中给出了来自业界一线的多个“实战场景”,既讲述成功故事,也揭示失败教训,又给出了许多贴近实际的案例、模板和小练习。
目录
第1章 系统分析与设计入门1
1.1 引言1
1.2 系统开发生命周期3
1.2.1 计划5
1.2.2 分析5
1.2.3 设计6
1.2.4 实现6
1.3 系统开发方法论7
1.3.1 结构化设计8
1.3.2 快速应用开发(RAD)9
1.3.3 敏捷开发13
1.3.4 选择合适的开发方法论14
1.4 项目团队技能和角色15
1.4.1 业务分析员16
1.4.2 系统分析员17
1.4.3 基础设施分析员17
1.4.4 变更管理分析员17
1.4.5 项目经理17
小结18
关键术语18
问题19
练习20
小案例20
第一部分 计划阶段
第2章 项目启动23
2.1 引言23
2.2 项目确定24
2.2.1 系统需求25
2.2.2 将方案应用到CD Selections项目26
2.3 可行性分析28
2.3.1 技术可行性28
2.3.2 经济可行性30
2.3.3 组织可行性34
2.3.4 将方案应用到CD Selections项目36
2.4 项目选择39
小结41
关键术语41
问题42
练习43
小案例43
第3章 项目管理46
3.1 引言46
3.2 确定项目规模47
3.3 创建和管理工作计划52
3.3.1 确定任务52
3.3.2 项目工作计划53
3.3.3 甘特图54
3.3.4 PERT图55
3.3.5 估算求精56
3.3.6 范围管理57
3.3.7 时间盒58
3.4 安排项目人员59
3.4.1 人员安排计划59
3.4.2 激励61
3.4.3 处理冲突62
3.5 协调项目活动62
3.5.1 CASE工具63
3.5.2 标准63
3.5.3 文档64
3.5.4 风险管理64
3.6 将方案应用到CD Selections65
3.6.1 项目人员配备67
3.6.2 项目协调活动69
小结69
关键术语70
问题71
练习72
小案例73
第二部分 分析阶段
第4章 需求确定77
4.1 引言77
4.2 需求确定78
4.2.1 什么是需求78
4.2.2 需求定义80
4.2.3 确定需求81
4.2.4 创建需求定义81
4.3 需求分析技术82
4.3.1 业务过程自动化82
4.3.2 业务过程改进83
4.3.3 业务过程再工程86
4.3.4 分析技术比较87
4.4 需求收集技术88
4.4.1 需求收集实践88
4.4.2 面谈89
4.4.3 联合应用开发(JAD)94
4.4.4 问卷97
4.4.5 文档分析100
4.4.6 观察法101
4.4.7 选择合适的技术101
4.5 将方案应用到CD Selections项目103
4.5.1 需求分析技术103
4.5.2 需求收集技术103
4.5.3 需求定义104
4.5.4 系统建议书105
小结106
关键术语106
问题107
练习108
小案例109
第5章 用例分析112
5.1 引言112
5.2 用例113
5.2.1 用例的元素113
5.2.2 建造用例115
5.3 将方案应用到CD Selections项目118
5.3.1 确定主要用例118
5.3.2 确定每个用例的主要步骤121
5.3.3 确定用例步骤中的元素122
5.3.4 确认用例124
5.3.5 修订需求定义126
小结127
关键术语127
问题127
练习128
小案例129
第6章 过程建模132
6.1 引言132
6.2 数据流图133
6.2.1 阅读数据流图133
6.2.2 数据流图的基本元素134
6.2.3 用数据流图定义业务过程136
6.2.4 过程描述138
6.3 创建数据流图139
6.3.1 创建上下文图140
6.3.2 创建数据流图段140
6.3.3 创建0层数据流图142
6.3.4 创建1层数据流图(及下层)142
6.3.5 验证数据流图145
6.4 将方案应用到CD Selections项目147
6.4.1 创建上下文图147
6.4.2 创建数据流图段148
6.4.3 创建0层数据流图150
6.4.4 创建1层数据流图(及下层)150
6.4.5 验证数据流图152
小结152
关键术语153
问题153
练习154
小案例154
附录A: Custom MetalWorks项目过程建模155
第7章 数据建模165
7.1 引言165
7.2 实体关系图166
7.2.1 阅读实体关系图166
7.2.2 实体关系图的基本元素167
7.2.3 数据字典和元数据170
7.3 创建实体关系图172
7.3.1 构造实体关系图173
7.3.2 高级语法 174
7.3.3 将方案应用到CD Selections项目176
7.4 验证实体关系图178
7.4.1 设计指导原则179
7.4.2 规范化180
7.4.3 用DFD平衡ERD184
小结186
关键术语186
问题187
练习187
小案例189
附录A: Custom MetalWorks项目数据建模191
第三部分 设计阶段
第8章 转换到设计197
8.1 引言197
8.2 从需求到设计的转换197
8.3 系统获取策略199
8.3.1 定制开发200
8.3.2 购买软件包201
8.3.3 外包202
8.4 影响获取策略的因素203
8.4.1 业务需要203
8.4.2 内部经验204
8.4.3 项目技能204
8.4.4 项目管理204
8.4.5 时间约束205
8.5 选择一个系统获取策略205
8.5.1 可选矩阵206
8.5.2 将方案应用到CD Selections项目207
小结208
关键术语209
问题209
练习210
小案例210
第9章 架构设计212
9.1 引言212
9.2 架构设计的元素212
9.2.1 架构构件213
9.2.2 基于服务器的架构213
9.2.3 基于客户端的架构213
9.2.4 C/S架构214
9.2.5 C/S架构层次216
9.2.6 各种架构的对比216
9.3 创建架构设计218
9.3.1 操作性需求219
9.3.2 性能需求220
9.3.3 安全需求221
9.3.4 文化与政治需求225
9.3.5 设计架构226
9.4 硬件与软件规格228
9.5 将方案应用到CD Selections项目229
9.5.1 创建架构设计229
9.5.2 硬件与软件规格231
小结231
关键术语231
问题232
练习233
小案例234
第10章 用户界面设计236
10.1 引言236
10.2 用户界面设计原则237
10.2.1 布局237
10.2.2 内容提示240
10.2.3 审美学240
10.2.4 用户经验242
10.2.5 一致性243
10.2.6 尽量减少用户投入243
10.3 用户界面设计过程243
10.3.1 使用场景开发244
10.3.2 界面结构设计245
10.3.3 界面标准设计246
10.3.4 界面设计原型248
10.3.5 界面评估250
10.4 导航设计251
10.4.1 基本原则251
10.4.2 导航控制的类型252
10.4.3 消息255
10.5 输入设计256
10.5.1 基本原则256
10.5.2 输入类型257
10.5.3 输入校验260
10.6 输出设计261
10.6.1 基本原则261
10.6.2 输出类型262
10.6.3 介质264
10.7 将方案应用到CD Selections项目264
10.7.1 使用场景开发265
10.7.2 界面结构设计265
10.7.3 界面标准设计268
10.7.4 界面模板设计268
10.7.5 设计原型269
10.7.6 界面评估269
小结270
关键术语271
问题273
练习274
小案例274
第11章 程序设计279
11.1 引言279
11.2 从逻辑过程模型到物理过程模型的转化279
11.2.1 物理数据流图280
11.2.2 将方案应用到CD Selections项目282
11.3 设计程序283
11.4 结构图285
11.4.1 语法285
11.4.2 创建结构图288
11.4.3 将方案应用到CD Selections项目290
11.4.4 设计原则293
11.5 程序规格297
11.5.1 语法297
11.5.2 将方案应用到CD Selections项目301
小结302
关键术语303
问题303
练习304
小案例307
第12章 数据存储设计310
12.1 引言310
12.2 数据存储格式311
12.2.1 文件312
12.2.2 数据库313
12.2.3 选择存储格式318
12.2.4 将方案应用到CD Selections项目319
12.3 从逻辑数据模型到物理数据模型的转换320
12.3.1 物理实体关系图320
12.3.2 修订CRUD矩阵323
12.3.3 将方案应用到CD Selections项目323
12.4 优化数据存储325
12.4.1 优化存储效率326
12.4.2 优化访问速度327
12.4.3 估计存储大小332
12.4.4 将方案应用到CD Selections
项目332
小结334
关键术语335
问题336
练习337
小案例338
第四部分 实现阶段
第13章 转换到实现341
13.1 引言341
13.2 管理编程过程341
13.2.1 分配编程任务342
13.2.2 协调各个活动342
13.2.3 管理进度343
13.3 测试343
13.3.1 测试计划345
13.3.2 单元测试347
13.3.3 集成测试349
13.3.4 系统测试349
13.3.5 验收测试349
13.4 文档开发349
13.4.1 文档类型350
13.4.2 设计文档结构351
13.4.3 书写文档主题352
13.4.4 确定导航词354
13.5 将方案应用到CD Selections项目355
13.5.1 管理编程355
13.5.2 测试355
13.5.3 开发用户文档356
小结357
关键术语358
问题358
练习359
小案例359
第14章 转换到新系统362
14.1 引言362
14.2 实施到新系统的转换362
14.3 迁移计划363
14.3.1 选择转换策略364
14.3.2 业务意外事件处理计划准备367
14.3.3 技术准备368
14.3.4 新系统人员准备369
14.3.5 理解变更引起的阻力369
14.3.6 修订管理策略370
14.3.7 估算成本与收益371
14.3.8 鼓励接纳373
14.3.9 促进接纳:培训374
14.4 实现后活动376
14.4.1 系统支持376
14.4.2 系统维护377
14.4.3 项目评估379
14.5 将方案应用到CD Selections项目381
14.5.1 实现过程381
14.5.2 人员准备381
14.5.3 实现后活动381
小结382
关键术语382
问题383
练习383
小案例384
第15章 对象基础386
15.1 引言386
15.2 面向对象系统的基本特征387
15.2.1 类和对象387
15.2.2 方法和消息388
15.2.3 封装和信息隐藏388
15.2.4 继承388
15.2.5 多态和动态绑定390
15.3 面向对象系统的分析与设计391
15.3.1 用例驱动391
15.3.2 以架构为中心392
15.3.3 迭代和增量392
15.3.4 面向对象系统分析与设计的优点392
15.4 UML 2.0版393
15.4.1 Rational统一过程(RUP)394
15.4.2 四种基本的UML图395
15.5 用例图396
15.5.1 用例图的元素396
15.5.2 创建用例图399
15.6 类图401
15.6.1 类图元素401
15.6.2 简化类图404
15.6.3 创建类图405
15.7 时序图408
15.8 行为状态机图411
15.8.1 行为状态机图的元素411
15.8.2 创建行为状态机图413
小结414
关键术语415
问题416
练习418
小案例421
索引(图灵网站下载)
……[看更多目录]
序言软件开发技术始终处于演化发展之中,但是大家都相信在软件系统开发中的系统分析与设计(SAD)活动应该存在一个所有系统分析员都必须掌握的核心技能集合。一般的系统分析与设计的教材只能尽力抓住这些东西,并将其展示给读者。而本书在此基础上又能更进一步,通过强调让学生专注于“做”系统的分析和设计工作,使得读者能真正学会软件系统分析和设计,而不是只掌握其知识。“做”体现在书中的方方面面:分散在书中对知识点的介绍所使用的案例是一致的、完整的,书中穿插了许多实践技巧,每章有非常丰富的案例练习,每章还有一个较大项目的完整实施内容等。此外,本书对SAD技术的讲解也很细致、全面,是一本理论和实践结合得比较好的优秀教材,为国外众多高校所采用。
本书的翻译工作由干红华组织、主持和统稿。浙江大学软件学院的张志猛、毛淑飞、程学林等老师参与了本书的翻译工作,孙莉文、胡仁飞、桂立业、王明、孔明等研究生也承担了部分辅助工作。翻译本书最初的动力是想能让大家多一本提高自己软件开发水平的书,对有志于在软件开发有所提升的朋友能有所帮助。在翻译过程中,通过对本书的进一步理解,更让我们坚定了这份信心。但是由于译者技术水平有限,疏漏在所难免,敬请广大读者指正。
人民邮电出版社和图灵公司的领导和编辑们为本书的翻译做了大量繁琐的工作,在此表示感谢。
文摘设计阶段确定系统将如何运行,涉及硬件、软件和网络基础设施;将要使用的用户界面、窗体和报表;所需要的专用程序、数据库和文档。在分析阶段开发系统方案时制定了有关系统的大多数设计策略,而在设计阶段中将更精确地定义系统的运行方式。设计阶段有以下4个步骤。
(1)必须创建设计策略。这可以确定系统是要用本公司的程序员来开发,还是外包给其他公司(通常是一家咨询公司),以及是否购买已有的软件包。
(2)这一步开发系统的基本架构设计,描述要用到的硬件、软件和网络基础设施。在大多数情况下,系统将增加或改变组织现有的基础设施。界面设计描述用户如何在系统中移动(例如,类似菜单和屏幕按钮这样的导航方法)和系统将用到的窗体和报表。
(3)开发数据库和文档规格,精确定义存储什么数据和存储在哪里。
(4)分析员小组开发程序设计规格,它定义需要编写的程序和每个程序确切要做的事情。
这些可交付物的集合(架构设计、界面设计、数据库和文档规格以及程序设计规格)是交付给实现阶段编程小组的系统规格。在设计阶段的末期,可行性分析和项目计划需要重新检查和修订,项目发起者和审定委员会也将对终止还是继续此项目做出决定。参见表1-2。
插图: