3) 为了达到这些目标,在结构化分析中导出了以下的分析模型:
以“数据字典”为核心(数据字典包含了软件使用或生产的所有数据对象描述的中心库),建立系统的数据模型,功能模型和行为模型。围绕数据字典,借助三种图来描述模型:
“实体——关系图”(ERD),描述数据对象间的关系,ERD是用来进行数据建模活动的记号;
“数据流图”(DFD),服务于两个目的:(1)指明数据在系统中移动时如何被变换;(2)描述对数据流进行变换的功能(和子功能)。数据流图是进行功能建模建模活动的主要工具。
“状态变迁图”(STD),指明作为外部事件的结果,系统将如何动作,为此,STD表示了系统的各种行为模式以及在状态间进行变迁的方式,STD是行为建模的基础。
而面向对象的建模方法的意图是定义所有问题相关的类(以及和类关联的关系和行为),为了达到这个目标,必须完成以下的任务显示:
1) 必须在客户和软件工程师之间沟通了解基本的用户需求; 2) 必须标识类(即类的属性和方法); 3) 必须刻化类的层次; 4) 表示对象-对象的关系; 5) 必须建模对象行为;
6) 任务1-5递进地反复使用,直到完成建模。 面向对象的分析方法和传统的软件分析方法一样,试图建造一个多部分的分析模型来描述客户的需求。面向对象的分析方法和传统的软件分析方法是否确实存在不同呢?对于这个问题,作者认为:传统的软件分析方法采用独特的“输入-加工-输出”视角,数据被脱离数据的变换过程而单独考虑,系统的行为虽然重要,但被作为第二位考虑,这种分析方法着重于功能分解的使用,而面向对象的分析方法代表了相对于传统的软件分析方法的改进,面向对象的三个基本原则(封装,对象分类和继承)的分析模型是相正交的。
本系统中将采用很多的面向对象的技术,各种运算都以类的形式封装和调用,但系统的面向对象的特点并不突出,对象的封装、分类以及继承等并不是重点,相反,由于系统的逻辑处理比较复杂,更关心的是系统在逻辑上是如何实现的,系统的功能如何的被分解,因此系统准备采用传统的软件分析方法进行分析。
21
§3.4.2 供应链管理系统数据建模
作为商务信息处理外围,商务信息处理部分的数据建模工作应该和商务信息处理的数据建模工作一起进行,数据建模采用传统的实体-关系图就可以表示清楚,本文不做详细的描述。
§3.4.3 供应链管理系统功能建模
功能建模需要建立的加工模型通过DFD图描述,在设计商务传输子系统时,针对本系统的特点,统一对DFD图的四个元素做统一的规定,并要求设计人员在绘制DFD图时遵循这种规定:
外部实体:在DFD图中用矩形框表示,系统的外部实体只有用户,但是为了系统大规模协同开发的需要,将用户和页面(不包括生成页面的对象)看作外部实体,它们可以作为数据源点和终点,因为对于系统的页面设计和实现部分被分离出来给一个横向的页面组去实现,对于SCM设计人员来说,页面组的工作都应该是系统边界以外的事情,他们处理的对象就是外部实体(不是系统的外部实体)。
处理:在DFD图中用圆圈表示,一个处理代表了一个功能,设计中要求处理精化到每个圆圈可以用一个方法实现,对一个功能的描述反应在对应圆圈的加工规约中,除很复杂的加工过程外,一般的圆圈不要求描述加工规约,在这里,规定一个类对应一个方法,那么实际上一个处理对应的就是一个传统的函数。
数据对象:在DFD图中用带描述的箭头表述,箭头的方向表示数据的流动方向,箭头的描述表示对应在数据字典中的数据名。
数据存储:在DFD图中用两条平行线表示,包括可能的数据库对象(这时数据库还没有建立)、数据临时保存对象(如服务器端的session对象)等。
由于本系统采用了是面向对象的技术,传统的第0层的语境级模型对于本系统的设计没有多大的实际意义,因此在设计中,直接从第1层DFD图开始设计,逐级精化,如图3-5是销售部分的订单录入的第一层DFD图,在图中共有6个处理过程,其中处理2.4填写销售订单不能在一个函数内实现,需要进一步的精化,图3-6是对2.4的精化。
22
产品基本信息产品文件(内)30提取产产品基本信息品2.1销售订单订单录入信息生成订编辑界面单产品代码订单显示外部订单信息PSPEC1,接受外部订单信息,并传送到2.3写入订单处理;2,根据写入订单处理的返回结果,生成反馈页面。2.5生成反馈页面反馈信息反馈页面外部订单信息当前销售员ID反馈信息2.3写入订单外部订单信息销售订单文件出错信息选中的产品2.4填写销售订单选中的产品外部订单信息申请单显示产品清单显示内部用户文件用户ID33查销售员ID当前用户文件用户名DFD[HAT87]编辑时间:2000-11-6销售DFD Level1-订单录入版本:0项目:SCMEC组图号:1_2第 页 图 3.5订单录入第一层DFD图
2.4.1生成订单填写页面产品清单显示选中的产品选中的产品订单填写页面订单录入信息2.4.5生成反馈页面反馈信息已填信息已填信息2.4.3回显信息2.4.4存已填信息反馈信息外部订单信息2.4.2录入订单选中的产品申请单显示外部订单信息已填信息选中产品临时文件已填信息销售订单文件(外)DFD[HAT87]编辑时间:2000-11-6销售DFD Leve2-填写销售订单版本:0项目:SCMEC组图号:1_2_1第 页 图 3.6订单录入第二层DFD图
系统所有的DFD图请参见本文的附件,这些DFD图基本上表示出了系统的功能,也
23
表示了系统对页面请求的相应动作。
§3.4.4 供应链管理行为建模
行为建模的目的是指明作为外部事件的结果,系统将如何的动作,当用户从远程发送一个请求触发一个事件时,系统就会产生一系列的动作:页面变迁、请求接收、逻辑运算、事务处理、结果回传等,在类似本系统的B/S应用中,用户能够直接感觉到的最明显的系统动作就是页面变迁,这是在行为建模阶段的重点,本系统的状态变迁图实际上以页面变迁图表示(在附录六中给出了系统的页面变迁图),而系统的其它动作在DFD图中已经表示清楚。
§3.4.5 数据字典
分析模型中包含对数据对象、功能和控制的表示。在每种表示中,数据对象和控制项都扮演一定的角色,因此,有必要提供一种有组织的方式来表示每个数据对象和控制项的特性,这是由数据字典来实现的。
数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解,它是数据建模、功能建模和行为建模的核心。
在DFD图中已经表示出的各种数据流和数据存储对象,是数据字典需要详细描述的信息集合,为了统一思想,对数据字典的格式做了以下的规定: 标记 + [ | ] { } ( ) = 意义 和 或,枚举值用|分开 重复 可选 由……构成 表3.1 数据字典表述符号
例如对于图3.5中的一个数据流:订单录入信息,系统的数据字典中这样描述的:
24
订单录入信息=临时销售订单头+{临时销售订单项}
临时销售订单头=客户代码+发货日期+发货地点+制订日期+备注
临时销售订单项=物资代码+数量+单价+税率
数据字典关于订单录入信息包括以下的信息:临时销售订单头和临时销售订单项,而临时销售订单头和临时销售订单项是一对多的关系,临时销售订单头由客户代码、发货日期、发货地点、制订日期、备注等数据项,而临时销售订单项包含了数据项物资代码、数量、单价、税率等数据项。
§3.5对软件需求的验证方法[18] [29]
到此为止,系统的需求就初步确定下来了,为了确保需求的正确性,需要从几方面对需求进行验证:
1) 验证需求的一致性:
所有需求必须是一致的,任何一个需求不能和其它需求互相矛盾,目前只能依靠对系统模型的人工技术审查验证这点。
2) 验证需求的现实性:
需求应该是用现有的软、硬件技术是可以实现的。在开发这套系统前曾经做过一段时间的技术预研工作,利用以前的研究成果,结合软件需求规格说明书,基本上可以验证需求的现实性。
3) 验证需求的完整性和有效性:
一般来说,这步工作需要用户的密切配合才能完成,但在开发过程中,发现用户大多数的时候并不能清楚的认识到他们的需要,因为本系统是第一个版本,没有可以参照的模型,因此决定先开发一套可供需求评估的原型,依靠原型来验证系统需求的完整性和有效性。
25
相关推荐: