本书是一本介绍系统分析与设计的原理、方法、技术、工具和应用的教科书,重点讨论系统开发生存周期中的分析和设计阶段的活动。全书共10章,分4个部分全面介绍系统分析与设计涉及的相关概念、建模和设计的方法与技术、系统构造及实施、应用案例等内容。第1部分(第1章)从信息系统的设计模型、应用环境开始,介绍系统分析与设计的定义、过程与流行的技术方法;第2部分(第2~8章)是本书的重点内容,其中第2~4章分别从静态、动态和数据的角度讨论建模的方法和技术,第5~8章则分别从系统整体架构设计、类和包设计、人机界面设计及数据模式设计的角度讨论系统设计的方法和技术;第3部分(第9章)给出系统生存周期中,设计阶段的后续衔接阶段内容,介绍系统的构造、实施以及运行和支持阶段的主要工作;第4部分(第10章)以一个简化的教学管理系统作为示例,介绍本书前面章节的原则和技术在软件项目的分析设计过程中的应用。每章后附有小结和习题,并配有免费电子课件。
本书可作为软件工程、信息管理与信息系统、计算机科学与技术等专业“系统分析与设计”课程的本科教材,也可作为计算机专业、软件工程专业、信息系统专业的培训教材,还可以供相关领域硕士研究生或从事系统分析与设计的相关技术人员、管理人员参考。
《系统分析与设计》一书跟踪软件工程的**发展,讲述了软件系统的分析、设计以及构造过程,重点介绍了如何应用UML建模工具完成系统的分析和设计。作者结合大量的实例剖析系统分析和设计的各个环节,同时对概念、过程、工具、技术等各方面内容进行了很好的平衡。
李爱萍,女,计算机科学与技术学院计算机工程系主任,副教授,硕士生导师,博士。中国计算机学会会员,ACM会员。 1995年毕业于中国矿业大学自动化系计算机及其应用专业,获工学学士学位;2001年毕业于太原理工大学机械电子工程专业,获工学硕士学位。2006年毕业于西安电子科技大学测试计量技术及仪器专业,获工学博士学位。2011年8月至2011年10月以公派访问学者身份赴日本横滨国立大学进行研修。长期从事高校的计算机专业基础、计算机科学理论及软件理论的教学与科研工作。主要研究方向为软件形式化描述与验证、软件测试、软件体系结构、高级语言翻译器的技术等。近年来发表论文20余篇,承担并参与了10余项国家、省部级和横向科研项目,出版著作4部。指导过大学生创新实验计划项目、ACM程序设计大赛、机器人大赛、物联网创新大赛等多项赛事并获奖。
第1章 系统分析与设计概述1
1.1 系统的概念和特性1
1.1.1 系统概念及特性1
1.1.2 系统分类与环境2
1.2 系统模型的概念和类型4
1.2.1 系统模型的概念4
1.2.2 系统模型的类型5
1.3 系统关联人员5
1.3.1 系统所有者6
1.3.2 系统用户6
1.3.3 系统分析设计人员6
1.3.4 系统外部服务者7
1.3.5 项目经理7
1.4 系统发展的阶段理论7
1.4.1 诺兰的阶段模型8
1.4.2 西诺特模型9
1.4.3 米切模型9
1.5 系统分析与问题领域10
1.5.1 系统分析过程11
1.5.2 信息领域12
1.5.3 建模和模拟13
1.6 系统开发与项目管理14
1.6.1 系统开发生存周期14
1.6.2 系统开发方法论16
1.6.3 团队合作与管理22
1.7 系统分析与设计工具27
1.7.1 CASE工具的发展27
1.7.2 支持系统开发的CASE工具27
1.7.3 统一建模语言UML27
本章小结29
本章习题29
第2章 系统静态分析建模31
2.1 系统分析概念及其常用方法31
2.1.1 什么是系统分析31
2.1.2 模型驱动分析方法32
2.1.3 加速系统分析法32
2.1.4 需求获取法33
2.1.5 业务过程重构法34
2.2 系统模型的创建34
2.2.1 对象模型34
2.2.2 功能模型35
2.2.3 动态模型35
2.3 对象和类的分析35
2.3.1 类图、对象图概述35
2.3.2 类图元素38
2.3.3 分析阶段类图的构建45
2.3.4 在线销售系统类图分析示例47
2.4 用例分析51
2.4.1 用例元素的确定51
2.4.2 分析阶段用例图的建造56
2.4.3 在线销售系统用例分析示例58
2.5 包图60
2.5.1 包图及其模型元素60
2.5.2 包图建模及在线销售系统包图分析示例62
2.6 构件图与部署图63
2.6.1构件图及其模型元素63
2.6.2 构件图建模及示例66
2.6.3 部署图及其模型元素67
2.6.4 部署图建模及其应用68
2.6.5 在线销售系统部署图建模
分析示例70
本章小结71
本章习题71
第3章 系统动态分析建模73
3.1 活动和状态分析73
3.1.1 活动和状态的确定73
3.1.2 活动和状态图的建造81
3.1.3 活动和状态的建模示例84
3.2 时序与协作分析87
3.2.1 时序与协作的确定88
3.2.2 顺序图与通信图的建造93
3.2.3 时序与协作的建模示例94
3.3 过程建模97
3.3.1 过程建模概述97
3.3.2 过程建模的元素97
3.3.3 过程建模的步骤100
3.3.4 过程建模分析示例101
本章小结105
本章习题106
第4章 数据建模108
4.1 数据模型108
4.1.1 基于记录的逻辑模型108
4.1.2 基于对象的逻辑模型114
4.2 实体关系(E-R)模型117
4.2.1 实体之间的基本关系117
4.2.2 实体关系图117
4.3 UML用于数据建模阶段的规范119
4.3.1 实体的表示(类的表示)120
4.3.2 联系的表示121
4.3.3 数据字典和元数据的表示123
4.4 教务管理系统分析示例127
4.4.1 示例分析128
4.4.2 示例的物理模型129
4.5 实体关系图集成示例129
本章小结130
本章习题131
第5章 系统架构设计132
5.1 架构设计(总体设计)132
5.1.1 架构师的定位及其应掌握的知识体系133
5.1.2 软件架构的设计目标、设计策略和原则134
5.1.3 常用的软件架构风格及使用情况分析136
5.1.4 分层架构138
5.1.5 客户/服务器架构140
5.1.6 教学管理系统架构选择和设计示例143
5.2 从需求到设计的转换143
5.2.1 从数据流图到软件结构图的转换144
5.2.2 工资管理系统数据流图到软件结构图的转换示例147
5.2.3 从需求模型到软件架构148
5.2.4 软件设计模式149
5.2.5 GRASP模式149
5.2.6 GOF设计模式158
5.3 系统资源设计160
5.3.1 系统应用逻辑结构设计160
5.3.2 系统物理设计及其实现165
本章小结172
本章习题172
第6章 对象模型设计174
6.1 类设计174
6.1.1 类设计原则174
6.1.2 类设计、构建设计类图的过程177
6.1.3 确定设计类177
6.1.4 定义类的属性、操作178
6.1.5 设计类之间的关系181
6.1.6 在线销售系统类图设计示例183
6.2 包设计188
6.2.1 包设计原则188
6.2.2 在线销售系统包图设计示例192
本章小结195
本章习题196
第7章 界面设计197
7.1 界面设计的概述197
7.1.1 人机界面的定义197
7.1.2 人机界面设计198
7.1.3 界面设计分类200
7.2 人机交互201
7.2.1 人机交互的特点和要素201
7.2.2 人机界面与人机交互的关系202
7.3 人机界面的风格202
7.4 人机界面的发展203
7.4.1 命令语言用户界面203
7.4.2 图形用户界面203
7.4.3 多媒体用户界面204
7.4.4 多通道用户界面204
7.4.5 虚拟现实界面205
7.4.6 自适应人机界面206
7.5 人机界面设计的方法206
7.6 人机界面设计的目标和遵循的原则207
7.6.1 人机界面设计的目标207
7.6.2 人机界面设计遵循的原则207
7.7 界面结构设计与实现208
7.8 人机界面设计过程中的设计问题209
7.9 人机界面设计的过程211
7.10 人机界面设计的评价213
7.10.1 人机界面设计的评价方法213
7.10.2 人机界面设计的评价213
7.11 未来人机界面设计的展望214
本章小结214
本章习题215
第8章 数据模式设计216
8.1 数据库设计概述216
8.1.1 数据库与数据库设计216
8.1.2 数据库设计的方法与过程218
8.2 UML用于数据库设计阶段的规范220
8.2.1 数据库类到数据库表的设计220
8.2.2 关键字和索引的设计222
8.2.3 约束的设计222
8.2.4 联系的设计223
8.3 关系数据库逻辑模式的设计224
8.3.1 逻辑模式的概念224
8.3.2 实体关系图向逻辑模式的转化224
8.3.3 从类创建数据库表225
8.3.4 从类之间的关系设计表之间的联系226
8.3.5 类约束向存储过程和触发器的映射227
8.4 关系数据库物理模型的设计229
8.4.1 确定数据库的物理结构230
8.4.2 评价物理结构230
8.5 教务管理系统数据模式设计示例231
本章小结235
本章习题235
第9章 系统构造及实施237
9.1 系统构造237
9.1.1 建立和测试网络237
9.1.2 建立和测试数据库238
9.1.3 安装和测试新软件包238
9.1.4 编写和测试新程序239
9.2 系统实施239
9.2.1 执行系统测试240
9.2.2 准备转变计划241
9.2.3 安装数据库241
9.2.4 培训系统用户242
9.2.5 转变到新系统242
9.3 系统运行和支持242
9.3.1 系统维护243
9.3.2 系统恢复244
9.3.3 技术支持244
9.3.4 系统增强244
本章小结245
本章习题245
第10章 教学管理系统的分析与设计246
10.1 系统需求分析246
10.2 问题领域分析247
10.2.1 确定系统范围和系统边界248
10.2.2 定义参与者248
10.2.3 定义用例248
10.2.4 绘制用例图250
10.2.5 绘制主要交互图251
10.3 静态结构建模252
10.3.1 建立对象类图252
10.3.2 建立数据库模型256
10.3.3 建