系统分析与设计
上QQ阅读APP看书,第一时间看更新

1.2 系统模型的概念和类型

进行信息系统的分析与设计时最常用的方法是建模。所谓建模,就是给现实世界的事务建立一种能被人理解的模型。模型一般是系统的一种图形表示,描述了系统的现实情况或期望情形。系统建模可以促进系统用户、系统分析员、系统设计人员和系统构造人员之间的交流。

1.2.1 系统模型的概念

模型是对所研究的系统、过程、事物或概念的一种表达形式。模型是现实世界中某些重要方面的表示,在很多时候,模型用来快速表达人们同现实世界中的某些事物交流的信息,因此创建一个模型是非常有用的。同现实生活中一样,在信息系统开发中也使用模型,甚至常常使用术语“抽象”来表示模型,因为这些模型是对在研系统的抽象概念的很好解释。

在信息系统开发中,模型一般用于对系统的输入、输出、过程、数据、对象、对象之间的相互作用、位置、网络与设备,以及其他相关事物的表示。大多数模型是图形模型,包括使用公认的符号和绘制常用图、表,例如,可以使用流程图来表示程序的逻辑结构。在系统开发和应用中,还有一种很重要的模型是项目规划模型,如在项目管理中使用的PERT图和甘特图。这些模型是对系统开发项目自身进行表示,其中主要显示了项目任务及任务的完成日期。

在一般的开发系统中,常使用的构件模型有流程图、数据流图(DFD)、实体关系图(ERD)、结构图、用例图、类图、顺序图等。而PERT图、甘特图、组织层次图及财务分析NPV和ROI图则常出现在管理系统的开发过程中。

总之,在信息系统开发中,系统模型用来说明和交流信息系统的“知识”“过程”和“接口”等构件之间的关系,我们把这种基于模型的开发方法称为模型驱动开发。

1.2.2 系统模型的类型

系统模型是绝大部分系统分析和设计阶段需要交付成果的一部分。模型驱动的方法强调系统建模。模型一旦设计实现,将成为系统在其生存周期的运行、支持阶段所需的任何改变的记录文档。

目前常见的系统开发模型有上下文模型、数据模型和对象模型。作为不同的模型驱动技术,它们的差别主要是要求分析员绘制和验证的模型的类型不同。下面简要地介绍这几种系统模型的开发技术。

1. 上下文模型

上下文模型也称过程模型,是在1978年的结构化分析和设计方法中提出的。虽然结构化分析和设计作为一种方法学已经不再流行,但过程建模仍是一种可靠而且重要的技术。信息系统构件包括几个视角:“知识”“过程”和“接口”。过程建模主要关注“过程”构件。流程图就是系统构造人员主要使用的一种过程模型。由于业务过程重构的出现,基于上下文的过程建模又有新复兴,这主要是体现在数据流图和结构图,它们对于消除通常存在于非技术性的系统所有者和用户与技术性系统设计人员和构造人员之间的交流隔阂非常有帮助。

2. 数据模型

数据模型基本上是每个信息系统必不可少的部分,因为增进“知识”是信息系统框架的基本目标和基本构件。知识是信息的产物,信息又是数据的产物。数据建模方法强调知识构件,特别强调数据。在数据建模方法中,重点放在了捕捉业务数据需求的模型上,并把这些模型转换成数据库设计。数据建模是使用最广的系统建模技术,本书将在后面章节中具体介绍。

3. 对象模型

对象建模基于面向对象语言与面向对象技术的发展,是相对比较先进的系统开发方法。如今,绝大多数编程语言和方法都是基于面向对象技术的。本书在后面章节中将重点介绍此方法。

在过去30年,过程建模技术和数据建模技术有意将数据和过程分别加以考虑。也就是说,数据模型和过程模型是分别独立的模型。通过实践可以知道,几乎所有的信息系统都是既包含过程又包含数据,过程与数据通常是并行地使用,所以常常需要对两种模型进行仔细地同步。对象建模的出现很好地解决了两者分离的问题。

面向对象技术将数据与操作过程封装于对象中,对象是系统分析与设计的主体。开发实际应用系统时,业务对象可以对应到企业中重要的真实事物,例如,客户、客户订购产品的订单等。每个对象既包括描述该对象的数据,也包括用来创建、读取、修改和删除该对象的过程。对象模型极大地改变了信息系统构件的内容,将“数据”和“过程”合并成了单一的“对象”,模型只专注于确定对象、构建对象及将合适的对象装配成有用的信息系统。