
本书共17章。第1~3章介绍信息系统建设的理论基础和概念。第4~16章介绍信息系统开发生命周期,包括系统规划、系统分析、系统设计、系统实施和系统运维与管理,重点介绍系统分析阶段的流程建模、用例建模和领域对象建模; 系统设计阶段的应用架构设计、接口层设计、业务逻辑层设计(面向对象和面向服务)和数据层设计。第17章简要介绍数据驱动型系统的建设方法,内容包括数据分析的技术进展和应用。全书提供了大量应用实例,每章后均附有习题。
本书可用作高等院校信息管理与信息系统、计算机应用、软件工程等专业高年级本科生和研究生的教材,也可供从事信息系统建设的技术人员和管理人员参考使用。
第5版
《信息系统分析与设计》(第4版)已经出版并使用8年,本书是在第4版基础上修订而成。在修订过程中,本着循序渐进和理论联系实际的原则,教材内容以严谨、适量、实用为度,注重理论知识的运用,将每个知识点与实例结合,并为每个实例进行了编号以便教学。
本书在系统分析部分仍保留第4版的大部分内容,补充了应用较为广泛的用户故事作为敏捷开发Scrum过程中的需求描述方法。考虑到“大数据+智能”时代对数字化转型的需要,结合信息系统工程领域的成熟技术方案和最新进展,对信息系统设计部分的内容进行了较大篇幅的重编和优化,力图与企业界的工程实践对接,让理论内容在指导实践时更顺畅。
系统设计部分的重点修订体现在三个方面。
一是将面向过程、面向对象和面向服务等软件设计方法(纯理论知识)提取出来,归入第9章系统设计概述中。这主要是因为面向过程的设计方法在现代信息系统开发中已经很难独立使用,其中最重要的模型——模块结构图与实际代码的物理对照关系越来越模糊,模块结构图逐渐退化为一种逻辑模型,而模块封装思想在面向对象的设计(类的方法)和系统接口设计中已有体现。从实用角度来看,系统设计以具体的设计任务和内容为主,方法论作为基础理论不应作为设计的主体内容。二是将系统应用架构设计独立成章,这是因为架构作为高屋建瓴的顶层设计越来越重要,内容的独立性也较强,适合独立教学。三是后续章节不再采用总体设计和详细设计,而是基于常用的多层架构模式划分为接口层设计、业务逻辑层设计和数据层设计的思路,便于加深对架构的理解,更具条理性和实践操作性。
本书增加“第17章数据驱动型系统的建设”。随着大数据和物联网技术的成熟,各行各业的数字化建设迫切需要转型,越来越多的业务应用系统开始向新一代数据驱动型的智能信息系统发展。数据智能系统是以数据分析和客户洞察作为引擎,利用大数据、影图识别、声音识别合成、自然语言理解等人工智能技术,挖掘数据价值,利用数据赋能业务和决策。数据驱动型系统的建设有鲜明的大数据和人工智能相结合的特色,本书概要性地总结了相关概念、技术和开发方法,并以两个实例进行说明,希望在读者开发同类项目时能起到一定指导作用。
本书增加“附录A非功能性需求与架构设计”,使整个信息系统分析与设计的知识体系趋于完备。删除第4版的“第14章信息系统工程新进展”,原书云计算的内容经过缩减融入“第15章系统实施”的云端部署中。
全书共17章,4个附录。崔国玺负责编写第10章、第13章和附录A,李楠负责编写第15~17章的大部分章节,邝孔武负责编写第1~3章,王晓敏负责编写本书其余部分并完成统稿工作。宋燕林、赵晓永为本书的编写提出了宝贵的建议,林艳同学提供了实践项目案例文档,在此对他们的工作表示衷心的感谢。
许多院校采用本书作为教材,多名一线教师与我们沟通交流,同行们的信任和鼓励让我们感到高兴,更感到压力和责任倍增。对此我们表示衷心的感谢,希望能得到专家和读者更多的批评指正。
清华大学出版社编辑刘向威博士为本书的出版付出了辛勤的劳动,并从专业的角度给出了高品质的修改意见,借此机会,一并表示我们诚挚的谢意。
由于编者水平有限,再版内容虽有所改进,但书中不当之处在所难免,欢迎广大同行和读者批评指正。
编者
2021年3月
第4版
这一版对全书框架做了较大调整,章节通过增减后由原来13章改为14章,不仅如此,本版对系统分析和系统设计章节进行了彻底整合,调整后的章节次序与信息系统开发生命周期更加吻合。
重大修改有以下几处:
第一,对第1章进行了补充和完善,增加了对系统工程方法的介绍,将原来第13章中的软系统方法论引入到本章,与传统系统工程方法进行了比较。此外,还对我国学者提出的具有东方特色的物理事理人理系统方法论作了简要介绍。
第二,删去了第2章管理系统。这是考虑到很多高校信息管理与信息系统专业都开设了管理学原理、企业经营管理模拟系统等前修课程,已具备相关基础知识。
第三,从信息系统生命周期和开发技术两条线出发,重新梳理了第4章关于开发方法的介绍,前者包含瀑布方法、原型方法、迭代方法和螺旋方法等,后者则有结构化方法、面向对象方法和面向服务方法等。
第四,第5章系统规划中增加了对关键成功因素法和价值链分析法的介绍,这两种方法在实际信息系统和IT规划中较为常用。同时也缩减了理论篇幅,增加了规划工作的实用步骤列表。
第五,第3版第6~9章分别讲述了结构化系统分析、设计和面向对象系统分析、设计,事实上,部分任务和工作内容在这两种方法中是有重叠的,比如数据需求分析、输入输出设计、界面设计等,如何能做到既不重复又能自成体系,原来的章节设计很难兼顾。虽然现代信息系统多数采用面向对象方法开发,但这不表明结构化方法就是落伍的,结构化思想和逐层分解的方法与面向对象方法、面向服务方法并不冲突,其理念在系统开发中仍然适用,甚至是永不过时。为了更好地与信息系统生命周期5个阶段相对应,在改版时结合实际项目开发过程,将分析阶段整理为概述、流程建模、用例建模、领域对象建模等4章,设计阶段整理为概述、总体设计、详细设计等3章。这是全书变化最大的部分,也是本书的核心内容。重新整理后的章节经过实际教学验证,发现在讲授时更加流畅,同时将不同开发方法进行了有效融合,比原来将两种方法完全割裂的生硬做法更为科学合理。
第六,重新编写了信息系统工程新进展这一章,对云计算的概念和技术等进行了简要介绍,并使用了一个案例来说明云计算在信息系统建设中的应用。
在这一版的编写过程中,崔国玺老师承担了第5章的编写工作,北京信息科技大学的孙志恒、孙若莹和宋燕林老师也对本书编写提出了很好的建议,但限于时间,这些建议在本版中未能全部实现。
因编者水平有限,部分想法还值得商讨,书中定存在错误和不妥之处,敬请读者批评指正。
编者
2013年6月
第3版
这一版增大了介绍面向对象方法的篇幅,正文中用两章的篇幅讨论面向对象系统分析与设计,并增加了两个附录,介绍UML2.0图形符号和建模工具Rose,对第3,4,12章的内容进行了调整,补充了信息系统建模、信息系统项目管理的内容。前11章涵盖了信息系统的基础概念和基本开发方法,是本课程的核心内容。第12章介绍信息系统工程的某些进展,包括BPR、软系统方法和开发工具,可作为选修内容。
编者
2006年2月
第2版
这一版的重大修改有两处: 第一,删去了决策支持系统一章。这主要是考虑到许多院校都开设了“决策支持系统”课程; 第二,充实了介绍软系统方法、面向对象方法的内容。第10章面向对象分析与设计由王晓敏编写,第11章原型法和软系统方法由邝孔武编写。通过这两章的学习,读者可以了解这些新方法,为进一步学习打下基础。
许多院校采用本书作为教材。我们为此感到高兴,更感到不安,担心由于我们学识浅陋而误导了读者。令人欣慰的是,大连理工大学党延忠教授、南京邮电学院郑会颂教授等许多同仁对本书第1版提出了宝贵的建议和批评。对此我们表示衷心的感谢,希望能得到专家和读者更多的批评指正。
编者
2002年8月
第1版
顾名思义,本书讨论信息系统的开发技术。的确,信息系统开发和维护技术是本书的主要内容。但是,随着信息系统概念及应用的发展,成功的经验和失败的教训使人们认识到,信息系统建设过程是复杂的社会过程。系统观点是系统建设的重要思想武器,管理知识的运用甚至比技术起着更重要的作用。本书多处强调了这些观点,相信读者一定会注意到这一点。本书前3章介绍系统思想、管理和信息系统的一些基本知识,但限于篇幅和编者水平,感到言不尽意。而对于开设了“信息系统导论”一类课程的专业,这部分内容可以不讲或少讲。
本书第4章至第9章讨论信息系统建设。这部分是按照结构化思想展开的。第4章是系统建设概论,第5章介绍总体规划,后面各章分别介绍系统分析、设计、实施、维护各阶段的任务、技术、工具。在实际教学中,讲完第9章之后再讲第5章,效果可能更好。一方面,系统总体规划的内容更抽象一些,学生通过其他章节的学习,并结合课程设计具体实施一个小系统之后,会对系统规划有更深入的理解。另一方面,这样做也有助于课程设计的进行。课程设计一般与课堂讲授穿插进行,讲授系统分析之后布置课题,学生按小组完成课题系统分析及以后各阶段的工作。系统实施要占用较多的课外时间,在此期间完成总体规划及其余章节的课堂讲授。这样安排,课程设计的时间跨度长一些,效果更好。
实践性强是本课程的一个重要特点。根据我们的体会和兄弟院校的经验,课程设计是本课程必不可少的一个环节。课程设计的课题不宜太大,又要“五脏俱全”,称得上是一个系统,最好能有用户配合,使学生真正体会系统分析的滋味。本书附录中提出了一些实施建议和课题,供参考。
本书第2章、第8章和第12章“面向对象方法”一节及附录由王晓敏编写。邝孔武编写其余各章,并负责总体修改和统稿。
在本书编写过程中,学生沈志芳、宋扬、徐志远等提出了有益的建议,在此一并表示感谢。特别是北京理工大学的龚元明教授、樊孝忠教授仔细审阅了本书的全稿,提出了许多宝贵的修改建议,清华大学出版社编辑柳萍女士为本书的出版付出了辛勤的劳动,借此机会,一并表示我们诚挚的谢意。
由于编者水平所限,书中难免有错误和不妥之处,某些论点尚待切磋,敬请读者批评指正。
编者
1998年6月
第1章系统思想00
1.1系统的概念00
1.1.1系统是什么00
1.1.2系统的分类00
1.2系统的特性00
1.2.1系统的整体性00
1.2.2系统的层次性00
1.2.3系统的目的性00
1.2.4系统的稳定性00
1.2.5系统的突变性00
1.2.6系统的自组织性00
1.2.7系统的相似性00
1.3系统思想的发展00
1.3.1古代朴素的系统思想00
1.3.2系统思想的淹没00
1.3.3现代系统思想的兴起0
1.3.4复杂系统理论热潮0
1.4系统工程0
1.4.1系统工程的兴起0
1.4.2系统工程方法0
1.5软系统方法论0
1.6物理事理人理系统方法论0
习题10
第2章信息、管理与信息系统0
2.1信息的概念0
2.1.1信息的定义0
2.1.2信息的性质0
2.1.3人作为信息处理器的特点0
2.2信息与管理0
2.2.1信息是管理的基础0
2.2.2管理中的信息0
2.2.3信息管理0
2.3信息系统0
2.3.1信息系统的定义0
2.3.2信息系统的基本功能0
2.3.3信息系统的结构0
2.4信息系统分类0
2.4.1按技术发展分类0
2.4.2按管理应用分类0
2.5信息系统与组织0
2.5.1信息系统在组织中的地位0
2.5.2信息系统对组织的影响0
2.6信息系统的发展趋势0
2.6.1影响信息系统发展的因素0
2.6.2发展趋势0
习题20
第3章信息系统建设概论0
3.1信息系统建设是复杂的社会过程0
3.1.1信息系统建设的复杂性0
3.1.2信息系统开发是一个社会过程0
3.2信息系统建设的一般方法0
3.2.1早期方法的不足0
3.2.2系统方法的应用0
3.2.3系统建模0
3.2.4建立管理模型0
3.2.5UML0
3.3信息系统的生命周期0
3.3.1系统规划阶段0
3.3.2系统分析阶段0
3.3.3系统设计阶段0
3.3.4系统实施阶段0
3.3.5系统运维与管理阶段0
3.4基于生命周期的开发方法0
3.4.1瀑布开发方法0
3.4.2原型开发方法0
3.4.3迭代开发方法0
3.4.4螺旋开发方法0
3.4.5敏捷开发方法0
3.5基于开发技术的开发方法0
3.5.1管理模型到信息处理模型0
3.5.2结构化开发方法0
3.5.3面向对象开发方法0
3.5.4面向服务开发方法0
3.6系统开发的组织管理0
3.6.1信息系统的企业发展模型0
3.6.2建立信息系统的基础条件0
3.6.3系统开发的准备工作0
3.6.4选择开发方式0
3.6.5系统开发项目管理0
3.7信息系统开发工具0
习题30
第4章系统规划0
4.1系统规划的任务与特点0
4.1.1系统规划的任务0
4.1.2系统规划的特点0
4.1.3系统规划的原则0
4.2系统规划的技术和方法0
4.2.1战略目标集转移法0
4.2.2企业系统规划法0
4.2.3关键成功因素法0
4.2.4价值链分析法0
4.3信息系统战略规划的基本步骤0
4.3.1环境准备0
4.3.2规划步骤0
4.4可行性论证0
4.4.1可行性论证的内容0
4.4.2可行性分析报告0
习题40
第5章系统分析概述
5.1系统分析的任务
5.2系统分析的过程和方法
5.2.1问题分析
5.2.2需求分析
5.2.3需求定义
5.3系统说明书
5.3.1系统说明书的内容
5.3.2系统说明书的审议
习题5
第6章流程建模
6.1业务流程分析与建模
6.1.1业务流程分析
6.1.2业务流程图的画法
6.1.3业务流程优化
6.1.4数字化转型
6.2数据流分析与建模
6.2.1数据流分析
6.2.2数据流图
6.2.3数据流图案例
6.2.4画数据流图的注意事项
6.2.5数据字典
6.2.6新系统逻辑模型的提出
6.3业务规则的表示
6.3.1结构化语言
6.3.2判定树
6.3.3判定表
6.3.4三种表达工具的比较
6.3.5业务规则管理系统
习题6
第7章用例建模
7.1基于用例的需求分析
7.1.1用例的概念
7.1.2识别参与者
7.1.3识别用例
7.2用例的描述
7.3建立用例的关系
7.4用户故事
习题7
第8章领域对象建模
8.1面向对象方法概述
8.1.1引例
8.1.2面向对象方法的发展
8.1.3面向对象方法的主要概念
8.1.4面向对象方法的优势
8.2识别领域对象
8.2.1什么是领域对象
8.2.2识别领域对象的方法
8.3识别对象属性
8.4识别对象的关联
8.4.1什么是关联
8.4.2整体—部分关联
8.4.3关联的类型
8.5识别泛化关系
8.5.1什么是泛化
8.5.2泛化的用法
8.6类图的画法
8.7对象状态建模
习题8
第9章系统设计概述
9.1系统设计的任务要求
9.1.1系统设计的目标
9.1.2良好的结构设计
9.1.3从分析过渡到设计
9.2系统设计的内容
9.3软件设计方法
9.3.1面向过程的设计方法
9.3.2面向对象的设计方法
9.3.3面向服务的设计方法
9.3.4事件驱动的设计方法
9.3.5软件系统的模型
9.4系统设计说明书
习题9
第10章系统应用架构设计
10.1信息系统架构概述
10.1.1架构的概念
10.1.2应用架构
10.1.3应用架构模式
10.2分层应用架构
10.2.1基本的三层架构模式
10.2.2扩展的五层
10.2.3各层的物理配置
10.3MVC应用架构
10.3.1MVC架构模式
10.3.2前后端分离的MVC架构
10.4面向服务的架构
10.4.1从单体系统到分布式系统
10.4.2面向服务的架构模式
10.5软件框架
10.5.1软件框架的概念
10.5.2Spring框架
10.5.3组合软件框架
习题10
第11章接口层设计
11.1人机接口设计
11.1.1人机接口技术
11.1.2人机交互设计的原则
11.1.3图形用户界面设计
11.1.4输入数据的校验
11.1.5自动识别技术
11.2系统及构件接口设计
11.2.1软件接口技术
11.2.2软件接口设计
11.2.3软件接口设计注意事项
习题11
第12章面向对象的业务逻辑层设计
12.1面向对象设计基础
12.1.1类
12.1.2类的属性
12.1.3类的方法
12.1.4类的关系
12.2根据应用架构设计类
12.2.1边界类的设计
12.2.2实体类的设计
12.2.3控制类的设计
12.2.4划分包
12.3用例的详细设计
12.3.1用例驱动的详细设计步骤
12.3.2CRC卡片法分配职责
12.3.3对象交互建模
12.3.4用例详细设计举例
12.3.5其他设计模型
12.4设计原则
12.4.1高内聚低耦合原则
12.4.2单一职责原则
12.4.3开放—封闭原则
12.4.4Liskov替换原则
12.4.5依赖倒置原则
12.4.6接口隔离原则
12.5设计模式
12.5.1什么是设计模式
12.5.2GoF设计模式
习题12
第13章面向服务的业务逻辑层设计
13.1面向服务设计步骤
13.2定义系统操作
13.3服务设计
13.3.1根据业务能力设计服务
13.3.2根据业务领域设计服务
13.3.3服务的粒度
13.4服务实现
13.4.1为服务分配系统操作
13.4.2服务实现
13.5设计原则
习题13
第14章数据层设计
14.1关系数据库设计
14.1.1设计关系数据模型
14.1.2规范化
14.1.3物理设计
14.2ORM设计及框架
14.2.1ORM概念
14.2.2Hibernate框架
14.2.3MyBatis框架
14.2.4基于ORM框架的用例详细设计
14.3NoSQL数据库
14.3.1NoSQL简介
14.3.2NoSQL的四种类型
14.3.3NoSQL应用实例
习题14
第15章系统实施
15.1系统实施阶段的任务
15.1.1实施阶段的主要活动
15.1.2系统实施阶段的特点
15.1.3实施策略
15.2编程方法及规范
15.2.1好程序的标准
15.2.2程序的内部文档
15.2.3程序结构
15.2.4编程规范
15.2.5调试程序
15.3系统集成与构建
15.4系统测试
15.4.1测试的概念
15.4.2测试级别
15.4.3测试用例设计
15.4.4自动化测试
15.4.5测试的原则
15.5系统部署
15.5.1部署的概念
15.5.2本地部署
15.5.3云端部署
15.5.4云端部署案例
15.6系统迁移
15.6.1系统迁移的任务
15.6.2系统切换方式
习题15
第16章系统运维与管理
16.1系统运维与管理的概念和任务
16.1.1对系统运维的理解
16.1.2系统运维与管理的任务
16.2运维类型
16.2.1以运维对象分类
16.2.2以质量特性分类
16.3运维管理
16.3.1流程管理
16.3.2制度管理
16.3.3人员管理
16.3.4运维服务相关标准
16.4开发运维一体化(DevOps)
16.4.1传统运维的转型之路
16.4.2DevOps原则
16.4.3DevOps实践
16.5运维自动化与AIOps
16.6信息系统监理与审计
16.6.1信息系统监理
16.6.2信息系统审计
习题16
第17章数据驱动型系统的建设
17.1数据分析与大数据
17.1.1数据分析的发展过程
17.1.2大数据
17.1.3数据湖
17.2大数据技术基础
17.2.1分布式存储
17.2.2分布式计算
17.2.3大数据平台
17.2.4数据分析方法
17.3数据驱动型系统的开发
17.3.1开发方法
17.3.2开发案例——恒丰银行精准营销
17.3.3开发团队
习题17
附录A非功能性需求与架构设计
附录B项目实践的建议及案例
附录CUML2.0图形符号
附录D建模工具Rose的使用
参考文献
为适应技术发展和产业界实践方法的不断变化,需要对教材内容适时改编,推出第5版。第5版将重新制作全新的课件,满足各类院校《信息系统分析与设计》的师生需要。
王晓敏,单位:北京信息科技大学
职称:副教授
性别:女 年龄:50
专业:信息管理与信息系统
学历:硕士
研究领域:信息系统、软件工程
研究成果:著有《信息系统开发与管理》、《信息系统基础》、《Visual Basic程序设计》、《数据库系统开发教程》等教材。