
页数:471
出版社:高等教育出版社
出版日期:2008
ISBN:9787040226867
电子书格式:pdf/epub/txt
节选
版前言
计算机信息系统开发是计算机应用的一个重要领域。自20世纪50年代计
算机应用从科学计算、过程控制扩展到商业、金融及管理领域以来,信息系统在
各行业得到了广泛的应用。作为信息系统开发的主要工作,信息系统分析与设
计在实践中逐渐确立、丰富和完善了自己的理论、方法和技术,并成为现代信息
社会重要的研究内容和应用领域。特别是20世纪90年代后期,以面向对象技
术为核心的系统分析与设计技术取得了重大进展,为信息系统开发提供了有力
的方法和工具。
由于信息系统分析与设计工作在当代社会中具有的重要的地位,因而它是
高等教育信息类专业及相关专业教学计划中的一门核心课程。在教学上,该课
程具有内容庞杂、理论繁琐、技术发展快等特点。本教材作者注意到了这些特
点,力求在编写过程中对有关的内容既进行系统、翔实的描述,充分反映信息系
统分析与设计内容的全貌,又突出重点,强调内容的精炼、实用及内在联系,以便
于组织教学。
本书是2001年出版的《信息系统分析与设计》一书的修订版,与本书第一
版相比,在结构上进行了较大的调整,并补充了很多新的内容。新版删除了原来
的“成本估算”、“知识表示”、“机器推理”和“c++面向对象程序设计”等过于专
业的知识或应作为先修课程的知识内容,并将原来独立成章的“管理信息系
统”、“决策支持系统”、“专家系统”、“办公自动化系统”等章节的内容进行了浓
缩,集中于第2章,并增加了有关电子商务的内容。由于原来的第9章是使用传
统方法进行系统分析的一个简单案例,现在该方法已不再是主流的分析设计方
法,所以新版本也将其删除。此外,还将原来第8章“网络环境下的信息系统设
计”的内容融合到其他章节中。这样,用更大的篇幅对面向对象分析与设计方
法进行介绍,增加了统一过程、UML建模、系统构架、设计模式、持久对象的映
射、用户体验设计、信息可视化、系统测试、开放源码等内容,并介绍了如何利用
Visio和Rational Rose进行分析和设计建模。
本书第1章讲述了信息系统的基本概念以及信息系统的应用环境及系统开
发过程中的基本问题,内容包括信息系统组成和结构模式、系统开发的生命周期
和过程模型等;第2章介绍了信息系统的主要类型,包括管理信息系统、决策支
持系统、数据仓库与联机分析处理、专家系统、办公自动化系统和电子商务系统;
第3章重点说明了信息系统规划与业务流程重组的内容,具体包括战略规划方
法、可行性研究、业务流程重组等方面的知识;第4章是系统分析的结构化方法
方面的内容,包括需求分析与需求获取、联合应用开发(JAD)与快速应用开发
(RAD)、面向数据流的分析方法和数据存储分析与设计;第5章讲述了面向对
象分析与建模的理论与方法,包括面向对象方法的概念和过程、统一建模语言
(UML)的内容和方法、统一过程下的UML建模等;第6章是结构化设计,内容
包括内聚与耦合、过程设计及其工具、面向数据结构的过程设计方法、代码设计
等;第7章介绍了面向对象设计,内容包括面向对象设计的原则、构架模式、设计
模式、数据存储与对象持久性和UML设计与实现模式等;第8章讲述了人一机
界面设计方面的知识,主要包括输X/输出设计、用户体验设计和信息可视化;第
9章是系统实施与运行维护方面的内容,包括编码与开发环境、开放源码、软件
系统测试和系统部署与转换等。
本书可作为高等学校信息类专业或相关专业的教材使用,也可作为管理类
专业的教材使用,还可供从事信息系统开发与应用的人员参考使用。在教学过
程中,可安排40~60学时。如果学时较紧,可酌情选择第8章和第9章的内容。
本书由耿骞组织编写,其中第2章由北京大学的韩圣龙编写,第3章由北京
邮电大学的傅湘玲编写,北京师范大学的肖婵和聂昆编写了第9章的部分内容,
本书其他章节由耿骞编写。
由于种种原因,本书在一些方面可能存在不足及错误之处,欢迎各位读者批
评、指正。
作者
2007年9月
结构化设计
6.1 系统设计的任务与原则
6.1.1 系统设计的任务
从系统开发生存周期来看,系统设计工作分为概要设计和详细设计。概要
设计主要是把需求转换为数据和软件体系结构,即进行总体结构设计。总体结
构设计首先要确定系统的具体实施方案,然后对目标系统进行功能分解。对于
不同规模的系统,可有不同的处理层次。对于大型系统,可按主要的软件需求划
分成子系统,然后为每个子系统定义功能模块及各功能模块间的关系,并描述各
子系统的接口界面。
详细设计是对总体结构的细化,即对处理过程进行设计。其核心是将总体
结构设计产生的构成软件系统的各个功能模块逐步细化,形成若干个程序模块。
然后,采用一定的设计表示方法对各个程序模块进行过程描述,形成详细的数据
结构和软件的算法表达式,从而为编码做准备。过程设计的表示方法应便于实
现编码时直接对应于某种程序设计语言,经常使用的方法可分为图形描述方法、
语言描述方法和表格描述方法等。
因此,整个设计过程包括数据设计、体系结构设计和过程设计。数据设计就
是把分析阶段所建立的信息域模型变换为数据结构,这种数据结构是软件实现
所需要的。体系结构设计主要是定义程序结构构件之间的相互关系。而过程设
计则是变换结构构件为软件的过程描述。除了数据、体系结构和过程设计之外,
许多现代的系统开发活动还包括界面设计活动。界面设计主要是建立人一机之
间界面的布局和交互的机制。
6.1.2 系统设计的原则
在长期的系统开发实践中,为了提高系统开发质量,人们总结出了一些基本
原则,系统设计最为直接地体现了这些原则的应用。
1.抽象
抽象(Abstraction)是人类认识问题和解决问题的基本方法。在解决复杂问
题时,人们往往先忽略其细节和非本质的方面,而集中注意力分析问题的主要方
面;同时,人们在总结认识和实验规律时,也往往突出各类问题的共性,找出各种
客观事物、状态和过程间的联系和相似性,并加以概括和提取,即抽象。抽象是
有限思维能力的人类个体同复杂外部世界相互了解的有力工具。
抽象在系统开发过程中也具有重要的地位,复杂软件系统的构造就是一个
运用抽象的过程。通过对所要解决问题的抽象进行需求分析;然后,借助较低层
次上的抽象,采用更加过程化、形式化的方法,进行系统设计;最后,在最低的抽
象层次上,用可以直接实现的方法,叙述问题的解法。
因此,在本质上,抽象的过程是一个逐步求精的过程。wirth曾对抽象做
过如下解释:抽象是人们对付复杂问题最重要的办法,因此对一个复杂的问
题,不应马上用计算机指令、数字与逻辑字来表示,而应该用比较自然的抽象
语句来表示,从而得出抽象程序。抽象程序对抽象的数据进行某些特定的运
算并用某些合适的记号(可能是自然语言)来表示。对抽象程序做进一步的
分解,并进入下一层的抽象,这样的精细化过程一直进行下去,直到程序能被
计算机接受为止。
在系统开发中,从系统定义开始,经过分析、设计直到实现,整个过程就是一
个在不同层次上的抽象过程。高层抽象定义从功能说明或信息描述开始,说明
功能或信息的概念,而不给出功能内部的工作细节或信息的内部结构。细化则
是设计者在原始说明的基础上进行详细说明的过程,随着细化的深入,会得到更
多的细节。
下面以一个计算机辅助设计系统的二维绘图功能设计为例,说明抽象原则
在系统设计过程中的应用。
【例6—1】 计算机辅助设计系统设计。
系统的问题描述(第一层抽象):
本系统是一个计算机辅助设计系统(CAD),具有一个可视化的计算机图形
接口。绘图员利用鼠标,而不是绘图板和丁字尺等传统绘图工具与系统进行交
互。根据绘图员的指令,CAD系统完成所有的直线和曲线、剖面图和辅助视图
的绘制和几何计算工作。设计的结果存储在一个绘图文件中,该文件包括所有
几何图形、相关文本和辅助设计信息。
系统的结构描述(第二层抽象):
CAD软件的功能;
用户交互功能;
二维图形绘制功能;
图形显示功能;
绘图文件管理功能;
End CAD.
系统的过程描述(第三层抽象):
procedure二维图形绘制
repeat until <绘图功能终止>
do while <存在绘图仪消息>
获取绘图仪消息;
绘图仪消息判断:
直线:绘制直线过程;
曲线:绘制曲线过程;
圆形:绘制圆形过程;















