系统分析相关理论

一.信息系统分析的任务

任务主要是:详细了解每一个业务过程和业务活动的工作流程及信息处理流程,理解用户对信息系统的需求,确定系统应具有的逻辑功能,再用适当方法表达出来,形成这个系统的逻辑方案。

系统分析阶段其关键在于“理解”和“表达” “理解”是开发人员对系统需求的理解,这些需求即包括了用户明确表达出来的,也包括用户没有明确表达出来的。因此系统分析员既要善于挖掘出用户没有明确表达出来的需求,也要善于通过系统分析修正用户提出的要求。

“表达”的目的是把对系统的理解通过逻辑模型表达出来。“表达”的关键是用什么样的工具描述对系统的理解,一方面使得用户能够看懂,能够与系统分析员共同讨论和修改,另一方面要使得系统设计员和程序员能够正确理解,保证开发出的系统最终符合用户需求。

二.系统分析的工作步骤

1.对现行系统进行详细业务调查,分析了解各项需求,自顶向下

调查结果—>业务流程图——>数据流程图 在此基础上调查了解系统的综合要求,包括: 1)系统的功能要求

2)系统性能要求:例如. 联机系统的响应时间,安全性等。 3)运行要求:集中表现在对系统运行及所处环境的要求。 4)将来可能提出的要求:例如系统的可扩展性。 2.进行数据分析,建立数据库逻辑模型

对主题数据库进行详细逻辑设计,产生数据字典 3.进行功能分析,确定新系统的逻辑结构。

三.系统分析的特点

1.用画图的方法,直观易理解。 2.“自顶向下”的工作原则。

3.强调逻辑结构而不是物理实现。

四.现行系统分析 1.业务流程图

一般来说,反映子系统总体业务概况的高层TFD 只有一张,它描述了各项业务过程之间的处理关系,而由此向下扩展的低层TFD 有若干张,是对各个业务过程的详细描述,反映的是业务活动之间的处理关系。

1)首先要与用户一起审查TFD 的整个工作流程是否正确,是否有遗

漏的部分。

2)检查TFD 的一致性,即在高层TFD 中出现的各类报表、单证、数

据存储等数据载体一定要在低层TFD 中反映出来,表示业务处理单位或部门或个人也要在低层TFD 中反映出来。

3)检查低层TFD 中是否存在这样的业务活动,它没有输入的数据载

体或处理完毕不产生输出,若存在则仔细检查各项业务活动是确实没有I/O,还是有遗漏?

4)对各项业务活动和数据载体的名称进行审查,确认名称定义的正确

性和准确性,不能存在同名异义或同义异名的现象。

2. 数据流的抽取

并非TFD 中所有的业务都能够由计算机系统完成,因此有一个从现行业务中抽取能够由计算机系统自动或半自动完成的那一部分业务活动的过程。 这个抽取过程也是对TFD 的分析过程,其分析结果用数据流程图来表示,即DFD 。

画完TFD 和DFD 之后,要进行它们之间的检验工作:

1) 首先检验DFD 和TFD 的一致性:采用“自顶向下”的原则检查,看

是否有被遗漏的数据处理功能,有关数据载体部分一定要和TFD 一致。 2) 检验DFD 的完整性:对每一张DFD 来说,要检查数据流,每个数据

流都要有个名称;检查数据存储,是否存在有些数据存储被业务活动USE ,却没有业务活动CREATE ,一旦发现问题,则再和TFD 对照,必要时向业务人员进行再次检查;检查处理功能,每个处理功能都要有I/O。

3) 检验DFD 的一致性:在高层DFD 中出现的外部项、数据流和数据存

储一定要在低层DFD 中出现,高层DFD 和低层DFD 的关系,类似于全国地图和分省地图的关系。

注意:任何一个数据流至少有一端是处理框,即数据流不能从外部实体直接到数据存储,也不能从数据存储到外部实体,不能在实体之间或存储之间流动。“数据流是指处理功能的输入或输出”

在数据流程的绘制过程中应遵循以下几个原则: 1)首先确定系统的外部项,系统外部项的确定也就规定了系统与外部环境的分界线。

2)高层DFD 只反映主要的、正常的逻辑功能,一般只画出系统正常运行时的主要I/O,使人一目了然。

3)DFD 可以与规划中的企业模型相对应。

所谓企业模型就是用“职能域---业务过程---业务活动”的层次结构关系

描述企业的本质。

一级DFD 表示系统各职能域及其相互关系。

二级DFD 表示每个职能域扩展形成的业务过程及相互关系。

三级DFD 表示所有业务过程扩展所形成的业务活动及其相互关系。 4)绘制DFD 一般从左到右,从上到下进行。先从左侧开始画起,表出外部项,左侧外部项通常是系统主要数据输入来源,接收该系统数据的外部项一般画在DFD 右侧。

下面再举一个关于DFD 的例子: 学籍管理系统顶层DFD :

D1 学籍表

学籍管理系统的第一层DFD :

下面以“成绩管理”为例,较详细地说明逐层分解的思路:

假设该学校现在实行校、系两级成绩管理,学校教学管理科、系教务员都登记学

生成绩。任课教师把学生成绩单一式两份分别送系教务员和学校教学管理科。系教务员根据成绩单登录学籍表。学期结束时,给学生成绩通知,并根据学籍管理条例,确定每个学生升级、补考、留级、退学的情况。教学管理科根据收到的成绩单登录教管科存的学籍表,统计各年级各科成绩,并上报主管领导。补考成绩也作类似处理。

学籍管理系统的第二层DFD-成绩管理DFD:

从上图可以刊出一些不尽合理的地方(数据存储D1存在数据冗余的情形)。

在需求分析调查阶段应如实反映,至于新系统应怎么做,可在对现行系统分析的基础上,提出新系统逻辑模型时再考虑。

下面还要对上图中的P2.1”分析期末成绩” 进一步扩展,P2.1的业务包括以下几方面:

1) 2) 3) 4)

把每个学生的各科成绩登录在所在班的”学习成绩一览表”中; 根据”学习成绩一览表”, 在”学籍表”中填写各个学生的成绩; 根据”学习成绩一览表”, 评学生奖学金,并产生获奖名单;

根据”学习成绩一览表”、以往留级情况(学籍表中有记载)决定学生的升级、补考、留级和退学。 5) 发成绩通知单,通知补考时间。

数据字典DD :

数据字典最初有用于DBMS 提供某些数据项的综合信息。

系统分析中所使用的DD ,主要用来描述DFD 中的数据流、数据存储、处理过程和外部实体。

在DD 中,基本数据项是数据元素;若干个数据元素可以组成一个数据结构,DD 通过数据元素和数据结构来描写数据流、数据存储。它们之间的关系如下图所示:

目前DD 最好建立在计算机内,实际上DD 是关于数据的数据库。 注意:

1)对数据元素条目(或称为数据项)的描述除了包括数据项的类型、长度和取值范围以外,还要附上有关的编码说明。 2)同一个数据存储可能在不同层次的DFD 中出现,那么描述这样的数据存储,应列出最底层DFD 中相应的数据流。

描述处理逻辑的工具:

高层DFD 表达系统的主要逻辑功能,“自顶向下”扩展以后,系统的全部逻辑功能被详细表达出来。因此,系统的最小功能单元就是最底层DFD 中的每个处理过程,我们称之为“基本处理”。只要对所有基本处理的逻辑功能描述清楚,整个系统的功能也就说明清楚了。

对基本处理的说明称为“基本说明”---------->

重点说明“做什么”,而不是“怎么做”

描述处理逻辑的工具主要有以下三种:

一.结构化语言:只允许使用简单的祈使语句、判断语句和循环语句。

1.祈使句:包括一个动词和一个宾语。例如:计算工资

注意A :力求精炼,不使用形容词、副词。

B :动词要能明确表达执行的动作,不用“做”、“处理”之类的动

词。

C :名词必须在DD 中有定义。

2.判断句:如果 条件 则 动作A

否则

动作B

判断句可以嵌套,但要注意匹配。为便于读懂,若嵌套太多层,可以用若干个如果…..则…… 完成。

例如:某公司给购货在5万元以上的顾客以不同的折扣率。如果这样的顾客 最近3个月无欠款,则折扣率为15%;虽然有欠款但与公司已经有

10 年以上的贸易关系,则折扣率为10%,否则折扣率为5%。

那么该公司的折扣政策可以用判断句表达如下: 如果 购货额在5万元以上

则 如果 最近3个月无欠款 则 折扣率为15%

否则 如果 与公司贸易10年以上 则 折扣率为10% 否则 折扣率为5% 否则 无折扣

3. 循环语句 例如:基本处理“评奖学金”要计算同年级同专业每个学生一学期的总成绩,则可以写成:

对每个学生

计算总成绩

二.判断树:用一种树型图形方式来表示多个条件、多个取值所应采取的动作。

看一张判断树图形的时候,要从左边(树根)开始,沿着各个分支向右看,根据每一个条件的取值状态可以找出应该采取的动作,所有的动作都列在这张图的最右侧。如上例用判断树可以表示如下:

从上例中我们可以看出,若将购货款多分几个等级,交易时间也多分几个

等级,那么用判断语句表达可读性会下降很多,而用判断树表达时,树的高度不变,只是分支多一些而已,可读性还是很不错的!

将书中P122的图4.10改动,如下所示:

三.判定表:适用于一些条件较多,每个条件下取值也较多的问题。判定表的优

点是能把各种组合情况一个不漏地表示出来。

例如:某厂对一部分职工重新分配工作,分配原则是:

(1) 年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者

当电工。

(2) 年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳

工,女性当车工;文化程度是大学者当技术员。

(3) 年龄满50岁及50岁以上,文化程度是小学或中学者当材料员,

文化程度是大学者当技术员。

分析如下:

该分配原则实际上考虑3个因素:性别、年龄、文化程度。它们的取值范围分别是 :

性别:{男、女} 年龄:{青年(小于20)、中年(满20而不足50)、老年(满50及以上)} 文化程度:{小学、中学、大学} 那么可以组合成2*3*3=18种情况。

这个规则共提供6种不同的工作:脱产学习、当电工、当钳工、当车工、当技术员、当材料员。

那么根据分配原则,得到下面的判定表: 接下来,我们对上面的判定表简化合并:合并的原则是在相同的行动下,检查它所对应的各列条件组合中是否存在无需判断的条件。例如:第1列与第10列,只要年龄取值“青”,文化程度取值“小学”,则不论性别是男或是女,都分配同样的工作:脱产学习。这样第1列和第10列就可以合并成一列。以此类推,判

从上表可以看出,第(3、12)列、(6,15)列、(9,18)列还可以进一步合并。

总结:用判定表来描述决策问题,通常经过以下步骤: 1.分析决策问题涉及几个条件 2.分析每个条件取值的集合 3.列出条件的各种可能组合

4.分析决策问题涉及几个可能的行动 5.做出有条件组合的判定表 6.化简判定表

最后对以上三种表达工具进行简单的比较: 新系统逻辑模型的提出

系统分析阶段的任务是明确系统功能。通过对现行系统的调查分析,抽象出现行系统的逻辑模型,分析其存在的问题,如某些数据流向不合理,某些数据存储有不必要的冗余,有些处理原则不合理等。

注意:新系统来自原系统,对原系统的变动要切实可行,不能企图一下子做过多的改动。

从形式上来说,新系统的逻辑模型与旧系统的逻辑模型相比变化不大,可能只是在一个或几个处理中引进新技术,改变几处数据的流程,或者改变某些数据存储的组织方式。

例如上例中,对P2进行如下改进:

任课教师把学生成绩单送交系教务员,系教务员根据成绩单登录学籍表。学期结束时,给学生成绩通知,并根据学籍管理条例,确定每个学生升级、补考、留级、退学的情况。教学管理科根据学籍表统计各年级各科成绩,并上报主管领导。补考成绩也作类似处理。

系统说明书

作为系统分析阶段的技术文档,系统说明书通常包括以下三方面的内容。 1.引言

说明项目名称、目标、功能、背景、引用资料(如核准的计划任务书或合同)、说明书所用的专门术语。 2.项目概述

(1)项目的主要工作内容

简要说明本项目在系统分析阶段所进行的各项工作的主要内容。 (2)现行系统的调查情况

列出新系统的目标、主要功能、组织结构、用户要求等,并简要指出主要问题所在。以数据流程图为主要工具,说明现行信息系统的概况。 (3)新系统的逻辑模型

通过对现行系统的分析,找出现行系统的主要问题所在,进行必要的改动;然后根据DFD ,进行数据库的逻辑设计;根据所建立的数据模

型设计出新系统的逻辑结构,同时还可以采用处理功能的描述工具写出相应的定义,即得到新系统的逻辑模型。

3.实施计划

(1) 工作任务的分解

指对开发中应完成的各项工作,按子系统划分,指定专人分工负责。 (2) 进度

给出各项工作的预定开始日期和结束日期,规定任务完成的先后顺序及完成的界面。 (3)预算

逐项列出本项目所需要的劳务以及经费的预算,包括各项工作所需人力及办公费、差旅费、资料费等。

案例分析:港口杂货计费系统

一.系统简介:

港口中的在港货物分为两大类:集装箱货物和非集装箱货物(杂货)。本系 统主要考虑的是杂货。

货物进港后,一般放在露天堆场上或由港口提供的库房内,所进行的各种装卸可以反映在各类理货单中,理货单的填写是由理货员来完成的。货物由汽车运进港内,理货员要填写市入理货单;从港内用汽车运出要填写市出理货单;货物由船上卸下或装到船上要产生卸船或装船理货单;货物由火车运进港口或用火车运出港口要产生卸、装火车理货单;如果货物需要在港口内由某一堆场/库移向另外一个堆场/库,则要产生捣载或转栈理货单等等。所有理货单要正确反映货物在港的数量及在港作业情况,杂货计费系统则主要依据各类理货单来完成在港货物费用计算任务。

二.现行系统分析:

一个货主所要进行装卸的一种货物称为一票货,港口杂货计费系统依据各类 理货单,参照杂货费收标准(即费率),要计算每票货物的在港费用,并填进相应的表格中,审核后交财务处按表格内容进行收费。

通过分析得知杂货计费分为两大类:一类是外贸进出口杂货计费,一类是内贸进出口杂货计费。

船舶到港卸船后,计费员将船主提供的国际航行船舶载货清单、外轮理货提供的货物溢短单及理货员记录的卸船理货单收集到一起进行验证。卸船理货单核对正确后,再根据卸船理货单中的实际作业情况依据外贸进出口费率计算卸船费;根据港口业务人员填写的杂项作业说明书计算杂项作业费用;根据卸船费及杂项作业费填写装卸及杂项作业费用单给货主、财务和稽核部门;货主依据提货单来提取外贸进口货物,如果是由汽车运出港则理货员开出市出理货单,如果是由火车运出港则理货员开出装火车理货单,计费员则要将提货单与市出理货单或装火车理货单进行验证,结果正确后再根据市出或装火车理货单并依据外贸进出口费率计算外贸进口堆存费用,并产生出库货物费用结算单给货主、财务和稽核部门。稽核部门负责对所产生的费用进行进一步验证,无误后由财务负责收取相应的费用。

外贸进口货物计费业务流程图

外贸进口货物计费DFD

货主依据货物装卸委托单将货物运进港口,如果是由汽车运进,则由过磅员进行过磅产生鉴重结果单,由理货员进行理货产生市入理货单。如果是由火车运进港,则产生卸火车理货单。计费员则要将货物装卸委托单和相应的鉴重结果单、市入理货单进行验证,或和相应的卸火车理货单进行验证,结果正确后还要将市入理货单或卸火车理货单与理货员提供的装船理货单进行验证。确保装船理货单无误后,可依据外贸进出口费率计算该票货的外贸出口装船费用及出口货物在港堆存费用,并将相应的费用写入货物装卸委托单,交于货主、船主、稽核、财务。此外,一条船可能要装几票或几百票货物,计费员在完成每票货的费用计算后,还要依据货物装卸委托单及装船理货单产生货物交接单交于船主、稽核、财务。

外贸出口货物计费业务流程图

外贸出口货物计费DFD

船舶到港卸船后,计费员将船主提供的货物交接单、理货员记录的卸船理货单收集到一起进行验证。核对正确后再根据卸船理货单中的实际作业情况依据内贸进出口费率计算卸船费;并将费用写进港杂费收据;货主依据提货单来提取内贸进口货物,如果是由汽车运出港,理货员则出市出理货单,如果是由火车运出港,理货员则出装火车理货单,计费员将提货单与市出理货单或装火车理货单进行验证,核对正确后,根据市出理货单或装火车理货单计算内贸进口堆存费用,也将相应的费用写进港杂费收据,然后将该收据交与货主、财务和稽核部门。稽核部门负责对所产生的费用进行进一步验证,无误后由财务负责收取相应的费用。其业务流程如下图所示:

内贸进口货物计费业务流程图

内贸进口货物计费DFD

货主依据港口作业委托单将货物运进港口,如果是由汽车运进,则理货员 进行理货产生市入理货单;如果是由火车运进港,则产生卸火车理货单。计费 员要对这些单证进行验证,验证正确后还要将验证过的市入理货单或卸火车理 货单与理货员提供的装船理货单进行验证,验证无误后,针对验证后的装船理 货单依据内贸进出口费率计算该票货物内贸出口装船费用及出口货物在港堆存 费用,并将相应的费用写入港口作业委托单,交与货主、船主、稽核和财务。 同外贸出口船舶一样,一条船也可能要装几票或几百票货物,计费员在完成每 票货的费用计算后,还要依据港口作业委托单及装船理货单产生货物交接单, 并交与船主、稽核和财务。

内贸出口货物计费的业务流程图

内贸出口货物计费DFD

另外,计费员每天还要根据各类理货单进行统计,产生主要的报表有:库场堆存日报、进出口货物统计日报表;每个月要对这些理货单进行统计,产生吞吐量货物分类流向报表、市入市出统计表。所有报表上报生产部、港务局和计划部。

内外贸进出口货物统计业务流程图

内外贸进出口货物统计DFD

三.新系统逻辑结构的建立

1.业务流程调查和现行系统数据流程分析结束后,系统分析员已经对现行系统有了比较详细的了解。首先进行的是数据分析。通过对用户视图分析可以的出尽管国际航行船舶载货清单、货物装卸委托单、港口作业委托单和货物交接单的表格形式不同,但是他们内部所包含的信息却是一致的,将这些单证经过规范化处理形成三范式手可以得到船舶基本信息表、船舶货物详情表、货物信息表、船舶费收详情表,按照“以数据为中心”的原则,可以建立相应的主题数据库---船舶货物数据库。杂货计费系统只需要设置一个输入功能模块将这些单证中的数据输入到所建立的数据库中,计算完相应的费用也送入该数据库,与原来的信息有所不同的是在该数据库中要加上内外贸标志以区分货物的类型。

现行系统中有各类的理货单,这些理货单的表格形式是一样的,每天每个理货班组都要产生大量的理货单证,因此为了将来计费查询方便、提高效率,可以考虑将这些理货单并为一个理货单主题数据库,包含市入理货表、市出理货表、装船理货表、卸船理货表、装火车理货表、卸火车理货表、捣载理货表、转栈理货表等。从实际应用需求出发在对这些表进行规范化处理。

外贸进出口费率和内贸进出口费率是港口在计费过程中所使用的费收标准,可考虑建立两个主题数据库即外贸进出口费率数据库和内贸进出口费率数据库。

对于统计处理可以考虑建立一个统计主题数据库,该数据库包含吞吐量统计信息、市入市出信息等。

通过上面的分析,建立港口杂货计费系统的数据模型如下所示: (共有9个主题数据库)

数据库名称 数据库内包含的表 1.船舶货物数据库 船舶基本信息表 船舶货物详情表 货主信息表

船舶费收信息表

2.理货单数据库 市入理货表 市出理货表 装船理货表 卸船理货表 装火车理货表 卸火车理货表 转栈理货表 捣载理货表 3.外贸进出口费率 4.内贸进出口费率 5.溢短单数据库 6.鉴重结果数据库 7.提货单数据库

8.杂项作业说明书数据库

9.统计数据库 吞吐量统计 市入市出统计

完成了数据分析的任务后,即可根据所建立的数据模型设计出新系统的逻辑结构,同时还可以采用处理功能的描述工具写出相应的定义:

例如:外贸进口货物计费子系统逻辑模型:


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn