第 3章 系统需求分析
3.1 系统的详细调查
3.2 数据流程分析
3.3 实 验 二
3.1 系统的详细调查
3.1.1 调查方法只有深入细致的调查,才能充分了解用户的需求,保证开发出的信息系统够满足用户的要求 。 调查前应充分准备并编写详细的调查提纲,制定调查计划,充分掌握调查艺术和被调查者的心理 。
系统的详细调查涉及组织内部所有管理职能岗位的业务人员 。
合理选择组织和协调各方面工作的方法十分重要,它决定了系统调查工作能否顺利进行 。
图 3.1 深度优先 图 3.2 广度优先组织机构的结构可以按照行政隶属关系或业务隶属关系来整理 。
一般按照行政隶属关系来整理,因为按照行政隶属关系整理比较简单直观 。 图 3.3是第 2章 2.2.3节中 X工贸公司的组织结构示意图 。
总经理总经理办公室 综合管理部 单证储运部 财务部 法律室进出口一部进出口二部进出口三部进出口四部进出口五部电信室图 3.3 组织机构结构在开始详细调查之前,还应对用户进行培训或印发说明材料,告诉用户详细调查的内容、目的以及有关的表格说明,加强用户与开发者之间的沟通。
另外,详细调查必须与分析整理相结合,运用归纳、推理和比较的方法对调查得到的用户需求进行分析。对相关的需求加以归纳、抽象和概括;对相互矛盾和不现实的需求加以比较分析;对估计在将来可能会提出的需求通过推理予以提出。随时反馈遇到的问题,可再次询问用户,
直到问题弄清为止。
在详细调查了解每个具体工作岗位业务的同时,还必须收集与该业务有关的所有报表,文件,技术文档等 。 可要求用户将其附在调查问卷之后,并询问用户对当前的报表及其它文档的满意程度,是否需要修改以及如何修改等问题 。
详细调查通常采取问卷调查的方法,提前几天将问卷交给被调查的对象,请他们有针对性的进行准备,然后再提问,并记录调查内容。
3.1.2 调查内容详细调查的内容涉及到组织功能的多个方面,可大致归纳为 9类问题:
① 组织机构和功能业务;
② 组织目标和发展战略;
③ 工艺流程和产品构成;
④ 数据与数据流程;
⑤ 业务流程与工作形式;
⑥ 管理方式和具体业务的管理方法;
⑦ 决策方式和决策过程;
⑧ 可用资源和限制条件;
⑨ 现存问题和改进意见 。
表 3.1是设计问卷时常用的一些问题,在实际工作中可根据不同的行业及岗位特点参考使用 。
1.你的工作岗位是什么?
2.你的工作性质是什么?
3.你的工作任务是什么?
4.你每天是怎样安排工作时间的?
5.你的工作结果与前?/?后续工作如何联系?
6.你所接触的报表和数据有哪些? 满意程度如何? ( 将报表样张附后 ))
7.你所在的工作岗位是否恰当? 工作量如何?
8.你的工作计划不能合理安排的原因是什么?
9.你所在的工作岗位存在什么问题?
10.你通常采用什么手段来提高工作效率?
11.如果增加激励 ( 如新技术,培训等 ),部门的工作效率是否会提高?
12.从有效组织生产的角度出发,你的权限是否适当?
表 3.1 设计问卷调查的参考问题续表
13.你认为影响本企业经营效率的关键问题是什么?
14.从全局利益出发,你认为现有的管理体制是否合理?
15.你认为提高生产产量的潜力在哪里?
16.你认为现存管理体制的问题在哪里?
17.有效降低生产成本的途径有哪些?
18.信息系统的开发在本单位是否有必要?
19.你认为新的信息系统应该重点解决哪些问题?
20.你所在的工作岗位和你所接触的管理岗位可用哪些定量化的管理方法来提高工作效率?
21.在你所从事或了解的管理和决策工作中,哪些可用计算机来处理? 哪些不能?
22.在你所从事或了解的管理工作中,决策效益应从哪些方面去衡量?
23.如果建立计算机信息处理系统,你愿意学习操作并经常使用吗?
3.2 数据流程分析
3.2.1 数据流程图的基本符号系统需求分析工作的一个重要任务就是导出系统的逻辑模型,结构化分析方法通常采用数据流程图来描述系统的逻辑模型 。 数据流程图也称为数据流图 ( Data Flow Diagram,缩写为 DFD),它将数据在组织内部的流动情况抽象地独立出来,舍去了具体的组织结构,信息载体,处理工具,物资,材料等,单从数据流动过程来考察实际业务的数据处理模式 。
数据流程图基本符号有四种,使用图 3.4所示的图形符号来表示 。
图 3.4 数据流程图的基本符号外部实体 加工 数据流 文件
1) 外部实体它们是存在于信息系统之外,不属于系统的组成部分,但却对系统产生影响的人员,组织或其它系统 。 例如一个图书借阅系统中的读者,就是该系统的外部项,它向系统提供要借阅的图书的数据,但它并不是系统的组成部分 。
外部实体可以分为数据源和数据池两种,分别表示数据的源点和终点 。 在画数据流图时,可在方框内写上外部实体的名称 。
2) 加工加工,或叫做变换,也称为处理或者数据处理 。 加工的作用是对数据流进行处理或变换 。 每个加工要有一个名字 ( 或称功能描述 ),反映该加工所进行的操作或变换的含义 。 另外,每个加工还必须有一个编号,编号的方法将在 3.2.2节中介绍 。
3) 数据流数据流表示数据的流向 。 它有三个重要属性:流向,名字,数据组成 。 数据流的流向由符号中箭头的方向指明,名字是该数据流的标识,书写于箭头的上方 。 数据流由一组固定成分的数据组成,数据流的数据构成应在与数据流程图配套的数据字典中描述 。 每个数据流的名字应该是唯一的,如果两个数据流名字相同,这两个数据流的数据构成必须完全一致 。
4) 文件文件也称为信息存储,是暂时存储的数据 。 它不一定是软件实现时使用的磁盘文件 。 文件同样有一个名字,该名字应能反映暂存数据的含义 。 从文件流出或流向文件的数据流无需命名,该数据流的数据组成与文件一致 。
图 3.5是一个简单的数据流程图的例子 。
客户订货要求发票库存文件产品记录客订货处理户记录图 3.5 数据流程图举例上面介绍的数据流程图俗称为泡泡图。另一种常见的数据流程图称为方框图,它的基本符号如图 3.6所示,本书不再进行详细介绍。
外部实体 数据存储 数据流 处理图 3.6 方框图基本符号
3.2.2 数据流程图的绘制步骤信息系统一般规模都较大,在对系统进行分析时,不可能一下将所有的细节都弄清楚 。 因此我们在绘制信息系统的数据流程图时,通常采用结构化分析方法 ( Structured Analysis,简称 SA) 。 该方法由美国的 Yourdon
公司在 20世纪 70年代后期提出,目前已被广泛使用 。
1,结构化分析方法结构化分析方法采用自顶向下逐层分解的方法,首先抓住系统的本质特性对系统加以抽象概括,形成高层次的概念。然后逐步考虑细节问题,把整个系统分解成具有相对独立性的若干小问题。分解可以逐层进行,即逐层加进细节进行分解,最后得到一套分层的数据流程图。图 3.7是一个分层数据流程的示意图。
S
S
3
S
2
S
1
S
4
S
5
S
5,2
S
5,1
S
4,3
S
4,2
S
4,1
图 3.7 分层数据流程示意图
2,绘制步骤绘制数据流程图首先从系统的最高层开始,在这个层次上把系统看作是一个整体来处理,以便能看出系统与外部的接口情况 。 最顶层的图的编号为
0,图中只有一个加工,其编号为 0。
顶层图绘制完成后,按照业务处理过程对顶层图中的 0号加工进行分解,
得到的数据流程图称为第一层图,编号为 1。 图中的加工编号为 1,2,3等 。
对于复杂的业务处理流程,在绘制数据流程图之前可以首先分析整理出业务流程图,将业务流程中每一个步骤及其与业务部门之间的关系用表格或图形表示出来 。
如果第一层图中仍然较为复杂,对其加工工作心里并不是十分清楚,则应加入更多的细节,对这些加工进行更进一步的分解,绘制出第二层数据流程图 。 第二层数据流程图有多张,每张图的编号分别为 1.1,1.2,1.3等,分别代表该图是对第一层图中编号为 1,2,3的加工的分解 。
对第二层图中的加工可重复上面的过程,对上一层图中的加工进行分解,
直到数据流程图中的每一个加工都足够简单,不需要继续分解为止。分解结束后,将各张数据流程图合并成一张,以便显示系统完整的工作过程。
在绘制分层数据流程图的过程中,应注意逐层分解时一次不要加入过多细节,否则会使该图图面过大,关系复杂,难以理解 。 建议一张图上不要超过七个加工 。 同时还应注意分解的均匀,最好不要在一张图上,某些加工已经是基本加工,而另一些加工还需要分解为好多层 。 在分解时还应该注意分解后的加工应具有相对独立性,数据流程图上各加工之间的联系不应过于复杂 。
如果加工之间联系过于复杂,可适当调整,将某些细节在下层加入 。
在绘制数据流程图时通常采取由外向里的顺序,从输入端逐步画到输出端,
或者反过来从输出端回溯到输入端 。 通常在以下情况发生的地方要画上一个加工:
(1) 数据的结构发生变化 。 如数据格式重新排列,分类,排序等 。
(2) 在原有数据基础上产生新的数据或数据的值发生变化 。 例如,对数据进行统计以得到,统计值,。
(3) 对数据流及其成分进行检查,从而使数据流的流向发生变化。例如,
经过错误检查,退回错误的输入数据。
3,一个简单的例子下面通过分析一个简单的教材销售系统的例子来演示画分层数据流程图的过程 。 该系统的工作流程描述如下:
学生填写购书单,如果书库中有所需教材,则开发票,
登记并开领书单,学生凭领书单到书库领书 。 如果书库中该教材脱销,则填写缺书登记表 。 每天根据当天的缺书登记表,
生成一张采购单,由教材采购人员根据该采购单采购教材,
新教材进库后,将进书单返回给系统 。
学生
0
图书销售系统购书单 采购单 采购员进书单领书单图 3.8 教材销售系统的顶层图图 3.8为该系统的顶层数据流程图 。 在绘制顶层图时首先将系统抽象为一个加工,弄清系统有哪些外部输入和输出 。 从图中可以看出,该系统的数据源为学生,数据池为教材采购人员 。 系统从学生接受购书单,经处理后将领书单返回给学生 。 对于脱销的教材,系统根据缺书登记表生成采购单,新教材进库,向系统发送进书单 。
接下来画第一层数据流程图。从系统功能描述中可以看出系统主要有两大功能,即销售和采购。因此我们将系统分解为销售和采购两大加工,
如图 3.9所示。
购书单
1
销售缺书登记表采购单2
采购库存记录进书单领书单图 3.9 教材销售系统的第一层图系统的这两个部分之间存在两项数据联系:其一是缺书登记表,由销售子系统将教材的需求信息传递到采购子系统;其二是教材的库存记录,
由采购子系统将教材入库信息通知销售子系统 。
继续分解,得到第二层数据流程图 。 第一层图中销售加工的分解结果如图 3.10所示,图 3.11是采购加工的分解结果 。
在图 3.10中,销售子系统被分解为四个加工,编号从 1.1~ 1.4。审查有效性时,首先检查购书单填写是否正确,如果不正确,则将购书单退给学生,这里的数据流“无效购书单”为出错信息,我们在顶层及第一层图中均没有画出。审查有效性还包括检查所购教材是否脱销,此时需用到文件
“库存记录”中的信息。加工“开发票”按购书单的内容售书,并修改库存记录。
购书单
1,1
审查有效性库存记录有效购书单 1,2
开发票缺书登记表
1,3
开领书单
1,4
登记缺书无效购书单发票 领书单脱销购书单图 3.10 第二层数据流程图 —— 销售子系统图 3.11中采购子系统分解为两个加工,一个加工根据进书单进行入库登记并修改库存记录,另一个加工则对缺书登记表进行统计以生成采购单 。
缺书登记表
2,2
生成采购单元采购单进书单2,1
入库登记库存记录图 3.11 第二层数据流程图 —— 采购子系统图 3.12为合并后的数据流程图。
库存记录购书单有效购书单缺书登记表无效购书单发票领书单脱销购书单采购单进书单学生
1,1
审查有效性
1,2
开发票
1,3
开领书单
2,1
入库登记采购员
2,2
生成采购单
1,4
登记缺书学生图 3.12 合并后的数据流程图在画分层数据流程图时,应该注意到对同一个系统的数据流程图的分解方案可以有多种,而不是唯一的 。 因为有时对同一个问题,可以有多种解决方法 。 例如上面例子中生成采购单,可以像流程图中采用的方法,每天根据缺书登记表进行一次统计来得到,也可以在每次登记缺书时直接对采购单进行累加 。 两种方案的数据流程图显然是不同的,读者可练习画出第二种处理方案的数据流程图 。
画分层数据流程图时,还应注意父图与子图的平衡。在分层图中,
每一层都是它上层的子图,同时又是它下层的父图。例如图 3.8是图 3.9的父图,图 3.9则是图 3.8的子图;图 3.10为图 3.9中加工“销售”的子图。所谓父图与子图的平衡,指的是父图与子图的输入数据和输出数据应分别保持一致。例如在图 3.9中,从外部进入的输入数据流和流向外部的输出数据流共四个,与其父图一致。读者可自行观察一下该例子中其它几个加工的分解情况。
3.2.3 数据流程图举例采用手工处理时,每月工资核算工作可以分为三个阶段:一是原始凭证的记录,原始凭证主要包括考勤记录,产量记录和工时记录等;二是根据原始凭证和工资标准资料计算应付工资;三是进行工资分配 。
图 3.13为对该系统进行分析调查后,对其进行分解得到的汇总数据流程图。这里为了不使流程图显得过于庞大,我们没有进行很详细的分解,有些加工实际上还可以进行进一步的分解。
劳资科车间科室总务工资卡扣款单考勤表工资变动单填写工资表计算工资工资结算单汇总工资工资汇总表分配工资工资费用分配表帐务系统职工工资单工资结算明细表票面统计表出纳发放工资图 3.13 工资管理系统的汇总流程图
3.2.4 数据词典数据流程图中每一个数据流的数据构成都是确定的,但在数据流程图中并没有说明 。 数据词典 ( Data Dictionary,缩写为 DD,或称为数据字典 ) 就是与数据流程图配套,用于描述数据流程图中的数据流,
文件的数据构成以及基本处理的处理逻辑的一种工具 。 其作用是为系统人员在系统分析,系统设计和系统维护过程中提供关于数据的描述信息 。
数据流程图与数据词典共同构成了系统的逻辑模型,它们两者是相辅相成的,缺一不可 。
3.2.4.1 数据词典的基本条目数据词典的条目有四种类型:数据项,数据流,文件,处理 。 下面我们分别对其进行简单的介绍 。
1,数据项条目所谓数据项是指不可再分解的数据单位,数据项条目给出某个数据项的定义 。 数据项条目包含数据项标识和数据项属性描述两部分,表 3.2是一个数据项条目的例子 。
表 3.2 数据项条目的例子数据项名称:书费合计简述:
取值范围,00.00~99.99
备注:
数据项条目常出现的项目还有数据组成、数据类型等。
2,数据流条目数据流条目给出数据流程图中某个数据流的定义。它通常包括:
数据流标识(名字)、数据流的数据组成和它的流动属性描述三部分。表 3.3是教材销售系统中数据流“发票”的定义。
表 3.3 数据流项目的例子数据流名称:发票简述:购书发票数据流来源:加工“开发票”
数据流去向:加工“开领书单”
数据流的组成:学号,姓名,书号,单价,数量,总价,书费合计备注:
数据流条目通常还可以包含数据流量、高峰期流量等项目。
3,文件条目文件条目是对某个文件的定义,文件条目包含文件标识、文件的记录组成。表 3.4是一个文件条目的例子。
表 3.4 文件条目的例子文件名称:库存记录简述:书库中各种教材的库存情况文件的组成:书号 +书名 +数量文件的组织:按照书号从小到大的顺序排列备注:
4,加工条目加工条目给出数据流程图中所有基本加工的说明,
内容包括:加工的标识、处理逻辑、激发条件、执行频率、出错处理等。表 3.5是一个加工条目的例子。
加工标识:入库登记编号,2.1
处理逻辑:更新进书单上每一种教材的库存数量激发条件:接收到进书单输入:进书单备注:
表 3.5 加工条目的例子加工条目通常还会出现输出数据、执行频率等项目。
3.2.4.2 数据组成的定义数据词典中的数据项,数据流和文件条目的主要部分是对数据组成的描述,前面例子中的数据描述只是简单地给出了组成数据的数据元素,并没有详细描述构成的方式 。 例如图书借阅系统中借书单的数据组成为:借书证号,借阅书号,借阅书名 。 而实际上一张借书单中可以填写多本欲借阅的图书,上面的描述方法却无法反映出来 。 目前在数据词典编制中通常采用下面介绍的描述方法 。
定义任何复杂的事物都是用该事物的基本成分的某种组合来表示 。 在数据定义中把这样的基本成分称为数据元素 。
由数据元素组合成数据的方式有三种基本类型:
(1) 顺序:以确定的次序连接两个或多个数据分量 。
(2) 选择:从两个或多个可能的分量中选取一个 。
(3) 重复:重复指定的分量零次或多次。
数据分量是数据元素或数据分量按上面三种方式的组合 。
一个复杂的数据可以是数据元素按以上三种方式多次嵌套组合而成 。 在数据词典中通常采用下面的几种符号来描述数据的组成:
=:表示定义为 。
+:表示顺序连接 。
[分量 1|分量 2|… |分量 n]:表示选择其中某个分量 。
{分量 }:表示重复花括号内的分量若干次,重复次数的上下限可在花括号边上标出 。 当上下限相同时表示重复固定的次数 。
重复次数的上下限分别为 1和 0时,表示该数据分量可有可无,可使用一种简单的符号来表示,该符号为,( 分量 )
现在我们来看看上面借书单的例子,可以用下面的形式来描述:
借书单 =借书证号 +{书号 +书名 }5 1
表示一张借书单可以填写 1~ 5本图书。上面描述中的上下限也可以写为,5 1 {书号 +书名 }”或,1{书号 +书名 }5”。
再来看一个使用可选项的例子,假设数据项考试成绩的取值为 A,B,C,D,其词典条目中的,类型和取值,可表示为:
考试成绩 =[A|B|C|D]
3.2.4.3 处理逻辑的描述方法
1,结构化语言结构化语言是一种介于自然语言和形式语言之间的一种语言。
之所以称为结构化语言,是因为它是受结构化程序设计思想的启发而发展的。采用结构化语言既避免了形式语言(如程序设计语言)无法被普通用户理解的问题,又避免了自然语言不严格、具有二义性等缺点。
与结构化程序设计语言相类似,结构化语言只允许使用三种基本控制结构来描述处理逻辑,即顺序结构、选择结构和重复结构。它不同于程序设计语言之处在于它没有严格的语法限制。结构化语言的结构可分为外层结构和内层结构,外层语言构成了描述处理逻辑的框架,由上述三种基本结构构成,可以相互嵌套。
内层使用灵活的、有限的自然语言词汇。
下面是结构化语言的基本组成 。
1) 外层框架的构成成分
(1) 顺序语句:它是一组祈使语句 ( 内层语句 ),选择语句和重复语句的顺序排列 。
(2) 选择语句:它的一般形式为如果 条件那么 动作 1
否则 动作 2
每一个动作都可以是一个内层语句或顺序语句,选择语句和重复语句 。 这种语句相当于程序设计语言中的条件语句,
有些教材中采用英文 if… then… else… 来表示该结构 。
(3) 重复语句:它的一般形式为对 条件或多个相同事物中的每一个 做 某动作,如果采用英文来表示,其形式为
foreach <条件 >
do <动作 >
结构化语言没有确定的语法公式,也没有保留字,外层结构中的一些词汇在实际工作中也可以使用其它一些类似的词语来替代。
2) 内层语句内层语句主要使用祈使语句和表示条件的语句和逻辑表达式,使用的词汇主要有:
(1) 祈使句中的动词 。 表达基本处理中的动作,动词含义要确切,不要使用含义模糊的词 。
(2) 数据词典中定义的名词 。 在祈使句中表示动作的对象,或用于条件语句或逻辑表达式中 。
(3) 用于逻辑表达式的简单符号 。 如大于号,>”等 。
下面是图书借阅系统中加工“借书”的处理逻辑的描述。
如果 借书证号有效那么 对借书单中的每一本图书如果 该书未借出那么 登记该书否则 拒绝借阅在需求分析阶段主要描述系统要,做什么,,而不是
,怎么做,。 所以一个加工的处理逻辑主要描述该加工,做什么,,而不是描述它具体的处理过程 。 另外,在使用结构化语言描述处理逻辑时应注意:
(1) 每一条语句力求精确,避免二义性 。
(2) 尽可能简单
2,判定表判定表是另一种常用的描述工具,它适合于处理需要根据多个条件的多种组合决定采取何种目标动作的情况 。
例如,某单位工资制度规定,技术干部的职务工资标准为:技术员 500元,助理工程师 700元,工程师 900元,高级工程师 1200元 。 工龄补助为,10年以下加 50元,10至 20年加 100
元,20年以上加 200元 。 工龄不足 10年而受聘为高级工程师,
职务工资增加到 1300元 。
这个问题中,职务分为四等,工龄分为三类,共有
3× 4=12种不同的工资 。 采用判定表描述比用结构化语言描述更简单,也更容易理解 。 表 3.6是该问题的判定表描述 。
规 则职务 技 助 工 高 技 助 工 高 技 助 工 高工龄 /年 <10 10~20 >20
工资 /元 550 750 950 1350 600 800 1000 1300 700 900 1100 1400
表 3.6 判 定 表 例条件定义 条件取值动作定义 选定的动作图 3.14 判定表结构下面我们通过一个例子介绍一下判定表的绘制步骤 。
某数据流程图中的数据处理,检查订货单,的处理逻辑是:,如果金额超过 2000元又未过期,则发出批准单和提货单 。 如果金额超过 2000元,但已过期,则不发批准单和提货单 。 如果金额低于 2000元,则不论是否过期,都发出批准单和提货单,而且对低于 2000元已过期的还需发出通知单 。
绘制判定表的步骤介绍如下:
第一步:提取问题中的条件,这个问题中的条件有两个,即提货单的金额和期限 。
第二步:标示出每个条件的取值 。 为便于绘制判定表,可用符号来代替条件的取值 。 表 3.7是该问题的条件取值表 。
条件 取 值 符 号 取值数 mi
金额 ≤2000>2000 SL 2
期限 过期未过期 UN 2
第三步:计算所有条件的组合数 N。
N=m1*m2=2*2=4
第四步:提取目标动作 。 不发批准单和提货单,发批准单和提货单,
发通知单 。
第五步:绘制判定表,见表 3.8所示 。
表 3.8 判?定?表?举?例
1 2 3 4
金额 S S L L
期限 U N U N
发批准单和提货单
不发批准单和提货单?
发通知单?
在绘制判定表时为了避免遗失判定列或出现重复的判定列,可按照下面的方法来填写 。
① 假设共有 n个条件,每个条件的取值数为 mi(i =1,…,n),则判定列总共有 CC个:
CC=m1*m2*...*mn
② 在填写第一个条件取值时,将每一个条件取值重复填写 R1次:
R1=CC/m1
③ 在填写第二个条件取值时,将每一个条件取值重复填写 R2次:
R2= R1/m2
④ 在填写第 i个条件取值时,将每一个条件取值重复填写 Ri次:
Ri= Ri-1/mi
判定表绘制完成后,有时还可以对其进行优化和改进 。 例如,从上面的例子中可以看出,只要订货单未过期,不管其金额是多少,选定的动作都是一样的 。 可以将上面的判定表中的 2,4两列合并,合并后的判定表如表 3.9。
表 3.9 优化后的判定表
1 2,4 3
金额 S ----- L
期限 U N U
发批准单和提货单
不发批准单和提货单?
发通知单?
3.2.4.4 数据词典的使用数据词典可以采用手工方法或计算机辅助方法进行管理 。 采用手工方式可以用一叠卡片来构造,基本方法如下:
(1) 按照软件开发规范规定的格式印制数据流,文件,数据项,
加工条目的卡片 。
(2) 为数据流程图的所有成分分别填写相应的卡片 。
(3) 条目按图号排序存放,同一图号的所有条目按数据流,数据项,文件和加工的先后次序分别存放 。
(4) 同一图号中的同一类卡片 ( 如数据流卡片 ) 按名称作为关键字顺序存放 。
(5) 如果同一成分在父图与子图中均出现,则只在父图上定义 。
(6) 建立索引目录 。
手工建立的数据词典使用和维护都不方便,一致性,完整性和正确性都难以保证 。 采用计算机辅助方法管理数据词典可以避免这些缺点,可以开发一个,词典管理程序,来负责数据词典的建立,使用和维护工作 。
不管采取何种方式实现数据词典,都应注意以下几点:
(1) 对于系统分解过程中出现的全部数据流,文件和基本加工,都应该无一遗漏地分类编写词典条目 。
(2) 全部词典条目的定义,要用开发者和用户均能理解的描述方式来定义 。
(3) 描述要做到准确无二义性,要按结构化的方式来描述,避免自然语言的冗余和不可验证的现象。
3.2.5 数据词典举例
1) 基本数据项名称:基本工资别名:工资简述:职工的基本工资类型,N
长度,6个字符取值范围,200.00~2000.00
名称:姓名简述:企业职工的姓名类型,C
长度,8个字符名称:人员类别简述:标识职工的工种,同时进行工资核算和工资分配的依据类型,C
长度,8个字符名称:奖金简述:职工的奖金类型,N
长度,8个字符取值范围,0~500.00
名称:扣款简述:职工当月各项扣款合计类型,N
长度,8个字符取值范围,0~500.0
名称:补贴简述:职工当月各项补贴合计类型,N
长度,8个字符取值范围,0~500.00
名称:实发工资简述:职工当月实发工资额类型,N
长度,8个字符取值范围,200~2500.00
2) 数据流条目名称:扣款单简述:总务科提供的职工各项扣款来源:总务科去向:,填写工资表,加工组成:部门 +姓名 +各项扣款名称:工资变动单简述:调整职工基本工资的通知单来源:劳资科去向:,填写工资表,加工组成:部门 +姓名 +基本工资 +备注名称:工资单简述:向职工发放工资时填写的个人工资条来源:,发放工资,加工去向:职工组成:序号 +姓名 +基本工资 +补贴 +扣款 +实发工资
3)文件条目名称:工资卡简述:记载当月职工的工资额构成,是工资汇总的基础流入:“填写工资表”加工流出:“计算工资”加工组成:序号 +姓名 +类别 +基本工资 +补贴 +扣款
4)基本加工条目名称:计算工资简述:对工资卡进行计算,得出每个职工的实发工资输入:工资卡处理逻辑:按照工资卡的顺序计算每个职工的应发工资以及实发工资应发工资 =基本工资 +奖金 +补贴实发工资 =应发工资 -扣款输出:工资结算单
3.2.6 系统分析说明书及需求分析阶段的其它任务系统分析说明书的主要内容包括:
1) 现行系统情况简述简要地阐明现行系统的主要业务,组织机构,存在问题和薄弱环节,
以及用户提出开发新系统的主要原因等 。
2) 新系统的目标新系统的目标包括新系统的开发计划,开发方法,人力,资金以及计划进度的安排,系统实现后各部分应完成什么样的功能,达到什么样的性能,有哪些工作是原系统中没有而计划在新系统中增补的,等等 。
3) 新系统的逻辑方案新系统的逻辑方案是系统分析报告的主体,主要反应分析的结果和对今后建造系统的设想,包括了系统分析工作的结果和主要内容。
表 3.10 软件需求说明书编写提示
1.引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料
2.任务概述
2.1目标
2.2用户的特点
2.3假定与约束
3.需求规定
3.1对功能的规定
3.2对性能的规定
3.2.1精度
3.2.2时间特性要求
3.2.3灵活性
3.3输入输出要求
3.4数据管理能力要求
3.5故障处理要求
3.6其它专门要求
4.运行环境规定
4.1设备
4.2支持软件
4.3接口
4.4控制按照软件工程方法的要求,需求分析阶段除了分析用户的需求外,还要进行以下几项工作:
(1) 编写用户手册概要 。 在系统分析阶段编写用户手册概要,可以迫使分析员从用户的角度看待系统,及早考虑用户界面,将重点放在系统输入和输出 。 表 3.11是中国国家标准 GB 8566— 88,计算机软件开发规范,中对用户操作手册的编写提示 。
(2) 编写验收测试计划,作为今后验收测试的依据 。
(3) 修正在系统规划时期所制定的项目开发计划。系统分析阶段对目标系统有了更为深入、具体的了解,所以可以更准确地估计开发成本、进度和资源需要表 3.11 用户手册编写提示
1.引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料
2.软件概述
2.1软件的结构
2.2程序表
2.3文卷表
3.安装与初始化
4.运行说明
4.1运行表
4.2运行步骤
4.3运行 1( 标识符 ) 说明
4.3.1运行控制
4.3.2操作信息
4.3.3输入 — 输出文卷
4.3.4输出文段
4.3.5输出文段的复制
4.3.6启动恢复过程
4.4运行 2( 标识符 ) 说明
……
5.非常规过程
6.远程操作按照瀑布流模型的要求,每一个阶段都应该进行复审,
以保证下一阶段工作的顺利进行。系统分析阶段在分析工作完成后,还应该由系统分析员、用户和系统设计人员(下一个阶段的工作人员),以及相关方面的专家对需求分析的结果进行审查,检验其正确性。
3.3 实 验 二
3.3.1 实验目的安排本次实验的主要目的如下:
① 了解系统分析阶段的主要工作内容;
② 能够熟练阅读分层数据流程图和数据词典;
③ 能够对小型系统的数据处理流程进行分析,画出小型系统的数据流程图;
④ 熟悉数据词典的基本形式和作用,能够使用结构化语言或判定表描述基本加工的处理逻辑。
3.3.2 实验内容
(1) 建立一个,健康档案管理系统,,使用计算机实现对学校学生健康信息的管理 。 要求不仅可用于一般的健康情况查询,而且可以对这些健康信息进行各种必要的数学统计和分析 。
系统主要的健康信息来自病历和体检,系统主要功能有:
① 登录:录入学生的健康档案 。
② 修改:修改一个学生的健康档案记录;
③ 删除:删除学生的健康档案记录 。
④ 查询:可以组合各种条件进行查询,显示学生的健康信息并打印健康文件报表;
⑤ 统计:对学生的基本健康状况进行各种必要的统计和分析 。
(2) 设计一个布告栏管理系统,主要功能有:
① 登录一个新的布告项目;
② 撤销一个已登记的布告项目;
③ 按多种方式查询布告项目,要求信息查询显示由粗及细逐层深入。
3.3.3 实验步骤本实验主要步骤如下:
① 对所选课题进行分析,画出系统的分层数据流程图;
② 给出数据流程图中数据流,文件的数据构成;
③ 描述基本加工的功能;
④ 编写系统用户手册概要;
⑤ 编写系统分析说明书。