第5章信息系统的需求分析.ppt

上传人:夺命阿水 文档编号:747362 上传时间:2023-11-06 格式:PPT 页数:64 大小:636.50KB
返回 下载 相关 举报
第5章信息系统的需求分析.ppt_第1页
第1页 / 共64页
第5章信息系统的需求分析.ppt_第2页
第2页 / 共64页
第5章信息系统的需求分析.ppt_第3页
第3页 / 共64页
第5章信息系统的需求分析.ppt_第4页
第4页 / 共64页
第5章信息系统的需求分析.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《第5章信息系统的需求分析.ppt》由会员分享,可在线阅读,更多相关《第5章信息系统的需求分析.ppt(64页珍藏版)》请在课桌文档上搜索。

1、1,第5章 信息系统的需求分析,2,教学内容需求分析的任务、步骤;需求分析必须遵循的基本原则;需求分析的方法;数据流图和数据字典的运用;结构化语言、判定表和判定树的使用;E-R模型、层次方框图、IPO图和Warnier图的使用;需求分析文档和需求分析评审等。教学要求1熟练掌握:数据流图和数据字典的运用;结构化语言、判定表和判定树的使用。2一般掌握:需求分析的任务、步骤;需求分析必须遵循的基本原则;需求分析的方法;E-R模型、层次方框图、IPO图和Warnier图的使用。了解:需求分析文档和需求分析评审。,3,5.1 需求分析概述 5.1.1 需求分析的任务和目的 需求分析的基本任务是要准确回答

2、“系统必须做什么?”这个问题。需求分析的具体任务包括:1.确定对系统的综合要求 对系统的综合要求主要包括功能要求、性能要求、运行要求和其他要求等四个方面。2.分析系统的数据要求 由系统的信息流归纳抽象出系统要求的数据以及数据的逻辑关系。3.导出目标系统的详细逻辑模型 通过以上二项分析的结果导出目标系统的详细逻辑模型。4.修正项目开发计划,编写用户手册概要。5.编写系统需求规格说明书,并提交审查。,4,5.1.2 需求分析的难点 需求分析的难点主要体现在以下几个方面:(1)问题的复杂性(2)交流障碍(3)不完备性和不一致性(4)需求易变性,5,通过以下做法可以大大克服上述困难:(1)项目的参与者

3、(包括软件设计开发人员和用户等)必须在需求分析过程中加强沟通和协调。一方面,软件设计人员应尽量使用通俗的语言与用户进行交流;另一方面,用户应积极主动地配合软件设计人员的工作。(2)为了保证需求分析阶段能够提出完整、准确的系统逻辑模型,开发人员必须花费足够的时间,全面了解用户的需要,绝不能在需求模糊的情况下仓促进行系统的设计和编程。根据国外的统计资料表明,在典型环境下开发系统,需求分析阶段的工作量大约要占到整个系统开发工作量的20%左右。(3)使用一些有效的需求分析方法(如结构化分析方法等)及自动化工具(如CASE工具)来进行需求分析。,6,5.1.3 需求分析的步骤 需求分析阶段的工作,大致可

4、分为以下几个步骤:(1)通过调查研究,获取用户的需求 可以采取以下一些调查方式:l发调查表;l召开调查会;l向用户领域的专家个别咨询;l实地考察;l跟踪现场业务流程;l查阅与待开发系统有关的资料;l使用各种调查工具等。(2)去除非本质因素,确定系统的真正需求。(3)描述需求,建立系统的逻辑模型。(4)书写需求规格说明书,进行需求复审。,7,5.1.4 需求分析的原则 目前存在着许多需求分析的方法,虽然各种方法都有其独特的描述方式,但不论采用何种方法,需求分析都必须遵循以下的基本原则:(1)能够表达和理解问题的数据域和功能域(2)能够将复杂问题分解化简(3)能够给出系统的逻辑视图和物理视图,8,

5、5.1.5 需求分析方法 目前常见的需求分析方法有:1.功能分解方法 2.结构化分析方法 3.信息建模方法 4.面向对象的分析,9,5.2.1 数据流图 在需求分析阶段,数据流(也称信息流)是系统分析的基础。所谓数据流,形象地说就是系统中“流动的数据结构”。数据流图(DFD,Data Flow Diagram)是描述软件系统中数据处理过程的一种有力的图形工具。数据流图从数据传递和加工的角度出发,刻画数据流从输入到输出的移动和变换过程。由于它能够清晰地反映系统必须完成的逻辑功能,所以它已经成为需求分析阶段最常用的工具。1数据流图的用途 画数据流图的基本目的是利用它作为交流信息的工具。数据流图的另

6、一个主要用途是作为分析和设计的工具。,10,2数据流图的组成符号 1)基本符号 表5-1 数据流图中的基本符号,11,图5-1 学生档案管理系统数据流图,12,2)附加符号表5-2 数据流图的附加表示符号,13,3数据流图的绘制 1)数据流图绘制的主要步骤(1)确定系统的输入输出(2)由外向里画系统的顶层数据流图(3)自顶向下逐层分解,绘出分层数据流图,图5-2“自顶向下,逐步分解”过程示意图,14,2)绘制数据流图的实例 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前

7、价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,15,数据流图有4种成分:源点或终点、加工、数据存储和数据流。因此,第一步可以从问题描述中提取数据流图的4种成分。,16,对于上述的定货系统可以画出如图5-3所示的基本系统模型。,图5-3 定货系统的顶层(0层)数据流图,17,图5-3毕竟太抽象了,从这张图上对定货系统所能了解到的信息非常有限。下一步应该把基本系统模型细化,描绘系统的主要功能。从表5-3可知,“产生报表”和“处理事务”是系统必须完成的两个主要功能,它们将代替图5-3中的“

8、定货系统”,如图5-4所示。,图5-4 定货系统的功能级第1层数据流图,18,接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。,图5-5 把处理事务的功能进一步分解后的第2层数据流图,19,3)细化数据流图的实例 可以看得出来在绘制数据流图时,分层细化数据流图最为关键,下面再以某单位工资管理系统为例,来强化一下如何细化数据流图的过程。某单位财务部门要求人事部门在每月月初提供所有职工上个月的出勤情况和业绩情况,要求后勤部门提供所有职工上个月的水电使用及扣款情况,再将所有数据交给工资计算系统去处理,得到所有职工上个月的工资情况,并将工资转给相应的银行进行发放。请根据上述情况画出对应的数据

9、流图。,20,1)建立顶层数据流图,图5-6 工资计算系统的顶层(0层)数据流图,21,2)数据流图的分层细化,图5-7 工资计算系统第一层数据流图,22,对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图5-8所示。,(a)“计算工资”子数据流图 图5-8 工资计算系统的第二层数据流图,23,对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图5-8所示。,(b)“工资转存”子数据流图 图5-8 工资计算系统的第二层数据流图,24,若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图5-9所示。,图5-9 工资

10、计算系统的第三层数据流图,25,4绘制数据流图的原则(1)任何一个数据流至少有一端是处理框。(2)数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。具体来说,命名时要注意:名称要反映被命名的成分的真实和全部的意义,避免使用不反映实际内容的空洞词汇。名称要意义明确、易理解、无歧义,加工的名称一般以动词+宾语或名词性定语+动名词为宜。进出数据存储环节的数据流如内容和存贮者的数据相同,可采用同一名称。(3)对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意对应的父图和子图的输入/输出数据保持一致。(4)在数据流图中,应按照层次给每个

11、加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第一层加工的编号为1,2,n;第二层加工的编号为1.1,1.2,2.1,n.1,n.2,等,依次类推。,26,4绘制数据流图的原则(4)在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第一层加工的编号为1,2,n;第二层加工的编号为1.1,1.2,2.1,n.1,n.2,等,依次类推。(5)在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流,即写文件和读文件,缺少任何一种都意味着遗漏某些加工。(6)数据流

12、图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明系统应该“做什么”,而不需要指明系统“如何做”。(7)数据流图的分解速度应保持适中。通常一个加工每次可分解为24个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解的难度。(8)数据流图绘制过程,就是系统的逻辑模型的形成过程,必须始终与用户密切接触,详细讨论,不断修改;另还要和其他系统建设者共同商讨以求一致意见。,27,5数据流图的局限性(1)难以在数据流图上标识出数据流、数据存储,加工和外部项的具体内容。(2)不能反映系统中的决策与控制过程。(3)难以对系统中人-机交互过程以及信息的反馈与循环处理进行描述。,28,5.

13、2.2 数据字典 没有数据字典准确地描述数据流图中使用的数据,数据流图就不严格。反之,没有数据流图,数据字典也难于发挥作用。只有把数据流图和对数据流图中每个数据的精确定义放在一起,才能共同构成系统的规格说明。1数据字典的作用 数据字典最重要的用途是作为分析阶段的工具。在结构化分析中,数据词典的作用是给数据流图上每个成分给以定义和说明。换句话说,数据流图上所有成分的定义和解释的文字集合就是数据词典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免很多麻烦的接口问题;数据字典中包含的每个数据元素的控制信

14、息是有价值的,因为列出了使用一个给定的数据元素的所有程序(或模块),所以很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块做出相应的改变;最后,数据字典是开发数据库的第一步,而且是非常有价值的一步。,29,2数据字典的基本符号 如表5-4所示给出了数据字典中的基本符号和其含义。表5-4 数据字典中的基本符号及其含义,30,3数据字典中的条目及说明格式 数据字典是关于数据流图中各种成分详细定义的信息集合,可将其按照说明对象的类型划分为四类条目,分别为数据流条目、数据项条目、数据文件条目和数据加工条目。1)数据流条目,表5-5 数据流条目例子出勤表,31,2)数据项条目 表5-6

15、数据项条目例子职工号,32,3)数据文件条目 表5-7 数据文件条目职工工资档案文件,33,4)数据加工条目 表5-8 数据加工条目计算应发工资,34,4.建立数据字典的原则 建立数据字典时应遵守的原则有:(1)对数据流图上各种成分的定义必须严密、精确、易理解、唯一,不能存在二义性。(2)书写格式应简洁且严格,风格统一、文字精炼,数字与符号正确。(3)命名、编号与数据流图一致。(4)符合一致性与完整性的要求,对数据流图上的成分定义与说明无遗漏项。(5)应可方便地实现对所需条目的按名查阅。(6)应便于修改和更新。(7)没有冗余。,35,5建立数据字典的方法 建立数据字典的常用方法有2种:手工建立

16、和自动建立。1)手工建立 手工建立数据字典的内容并用卡片形式存放,其步骤如下:(1)按 4 类条目规范的格式印制卡片;(2)在卡片上分别填写各类条目的内容;(3)先按图号顺序排列,同一图号的所有条目按数据流、数据项、数据文件和数据加工的顺序排列;(4)同一图号中的同一类条目(如数据流卡片)可按名字的字典顺序存放,加工一般按编号顺序存放;(5)同一成分在父图和子图都出现时,则只在父图上定义;(6)建立索引目录。,36,2)自动建立 自动建立主要是指利用计算机辅助建立并维护数据字典,其方法有2种:(1)编制一个“数据字典生成与管理程序”,可以按规定的格式输入各类条目,能对字典条目增、删、改,能打印

17、出各类查询报告和清单,能进行完整性、一致性检查等。美国密执安大学研究的PSL/PSA就是这样一个系统。(2)利用已有的数据库开发工具,针对数据字典建立一个数据库文件,可将数据流、数据项、数据文件和加工分别以矩阵表的形式来描述各个表项的内容,如表5-9所示。表5-9 数据流的矩阵表 然后使用开发工具建成数据库文件,便于修改、查询,并可随时打印出来。另外,有的数据库管理系统本身包含一个数据字典子系统,建库时能自动生成数据字典。自动建立比手工建立数据字典有更多的优点,能保证数据的一致性和完整性,使用也方便,但增加了技术难度与机器开销。,37,6数据词典的编写实例 1)用数据字典来表达下列的存折格式,

18、存折格式如图5-10所示,对应的数据字典如表5-10所示。图5-10 存折格式,38,表5-10 数据字典实例存折格式的表达,39,2)用数据字典简单表达前面定货系统中的“定货报表”数据流,如表5-11所示。表5-11数据字典实例定货报表的表达,40,5.2.3 加工逻辑的描述 对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则;加工逻辑说明必须描述实现加工的策略而不是实现加工的细节;加工逻辑说明中包含的信息应是充足的、完备的、有用的和无冗余的。用于写加工逻辑说明的工具有结构化语言、判定表及判定树三种。,41,1.

19、结构化语言 结构化语言是一种介于自然语言(英语或汉语)和形式化语言之间的半形式化语言,形式化语言精确,但不易被理解,自然语言易理解,但它不精确,可能产生二义性。结构化语言取“长”补“短”,它是在自然语言基础上加了一些限定,使用有限的词汇和有限的语句来描述加工逻辑,即具有结构化程序的清晰易读的优点,又具有自然语言的灵活性,不受程序语言那么严格的语法约束。结构化语言的结构可分成外层和内层两层。例如,一个商店业务处理系统中对“检查发货单”这个功能有如下要求:如果发货单金额超过$500,且以往有欠款,欠款日期超过了60天,则在偿还欠款前不予批准发货;如果发货单金额未超过$500,且以往有欠款,欠款日期

20、超过了60天,则批准发货,打印批准书、发货单和一份赊欠报告;不论发货单金额是否超过$500,如果欠款日期未超过60天,都批准发货,打印批准书和发货单。,42,用结构化语言描述如下:if 发货单金额超过$500 then if 欠款超过了60天 then 在偿还欠款前不予批准 else(欠款未超期)发批准书,发货单 else(发货单金额未超过$500)if 欠款超过60天 then 发批准书,发货单及赊欠报告 else(欠款未超期)发批准书,发货单,43,2.判定表 当某一加工的实现需要同时依赖多个逻辑条件的取值时,对加工逻辑的描述就会变得较为复杂,很难采用结构化语言清楚地将其描述出来,而采用判

21、定表则能够完整且清晰地表达复杂的条件组合与由此产生的动作之间的对应关系。1)判定表的组成 判定表的一般格式如表5-12所示,通常一张判定表由四部分组成。(1)左上部列出所有条件;(2)左下部是所有可能做的动作;(3)右上部为各种可能组合条件,其中每一列表示一种可能组合;(4)右下部的每一列是和每一种条件组合所对应的应做的动作。表5-12 判定表的一般格式,44,2)绘制判定表的实例 某数据流图中有一个“确定保险类别”的加工,指的是申请汽车驾驶保险时,要根据申请者的情况确定不同的保险类别。加工逻辑为:如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类

22、保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身男性,适用于C类保险。除此之外的其他申请者都适用于A类保险。,45,构造一张判定表可采取以下步骤:(1)提取问题中的条件:条件是年龄、性别及婚姻。(2)标出条件的取值:为绘制判定表方便,用符号代替条件的取值,如表5-13所示。(3)计算所有条件的组合数N:N=mi=322=12。(4)提取可能采取的动作或措施:适用于A类保险、B类保险、C类保险和额外收费。(5)制作判定表:如表5-14所示。(6)完善判定表。,46,表5-13 条件取值表,表5-14 判定表,47,3

23、)判定表的优缺点 判定表的优点:采用表格化的形式,适于表达含有复杂判断的加工逻辑;能够简洁,无二异性的描述所有的处理规则。判定表的缺点:只能表示静态逻辑,不能作为通用的设计工具;判定表虽然能清晰地表示复杂的条件组合与应做的动作之间的对应关系,但其含义却不是一眼就能看出来的,初次接触这种工具的人要理解它需要有一个简短的学习过程;此外,当数据元素的值多于两个时,判定表的简洁程度也将下降。,48,3.判定树 判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。1)判定树的实例,图5-12 描述“确定保险类别”功能的判定树,49,2)判定树的优缺点 判定树的优点是形式简单、直

24、观,不需要任何说明,一眼就可以看出其含义,因此易于掌握和使用。判定树的缺点是判定树虽然形式上比判定表直观,但逻辑上没有判定表严格,用户在使用判定树时容易造成个别条件的遗漏;与判定表一样判定树只能表示静态逻辑,不能作为通用的设计工具。,50,4对加工逻辑描述工具的选择 加工逻辑说明是结构化分析方法的一个组成部分,上述三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用结构化语言描述;对于存在多个条件复杂组合的判断问题,用判定表和判定树描述。判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到,可将两种工具结合起来,先用判定表作底稿,在此基础上产生判定树。字

25、典是开发数据库的第一步,而且是非常有价值的一步。,51,5.2.4 需求分析的其他工具 除了上述工具之外,需求分析阶段还可能用到其他一些分析工具,包括E-R模型、层次方框图、IPO图和Warnier图等。1E-R模型 1)E-R模型的组成 E-R模型由实体、联系和属性三个基本成分组成。2)E-R模型中的基本符号 E-R模型中的基本符号及含义如表5-15所示。,52,表5-15 E-R模型中的基本符号,53,3)E-R模型的实例,图5-13 某校教学管理的E-R模型,54,2层次方框图 层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构。例如,某单位职工的实发工资由应发工资和扣款

26、两部分组成,每部分又可进一步细分。如应发工资又可分为基本工资和奖金;基本工资又可分为国家工资、津贴、补贴;奖金也可分为出勤奖和业绩奖;津贴和补贴还可以再进一步地细分。用层次方框图表达的实发工资概念如图5-14所示。,55,图5-14 某单位职工实发工资的层次方框图,56,3图 IPO图是输入处理输出图(Input/Process/Output)的简称,它是美国IBM公司发展完善起来的一种图形工具,它能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。IPO图使用的基本符号既少又简单,因此很容易学会使用。它的基本形式是在左边的框中列出有关的输入数据,在中间的框中列出主要的处理,在右边的框中

27、列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序,但是用这些基本符号还不足以精确描述执行处理的详细情况。在IPO图中还用类似向量符号的粗大箭头清楚地指出数据通信的情况。如图5-15所示是一个主文件更新的例子,通过这个例子可以了解IPO图的用法。,57,图5-15 IPO图的一个例子图,58,现在一般建议使用一种改进的IPO图(也称为IPO表)。,图5-16 改进的IPO图的形式,59,4arnier图 Warnier图是法国科学家Warnier提出的另一种描述数据层次结构的图形工具。,图5-17 描绘一种软件产品的Warnier图,60,5.3 需求分析文档 1信息系统需求说明书 描

28、述信息系统需求的文档被称为信息系统需求说明书或信息系统需求规格说明书。信息系统需求说明书将详细、准确地反映最终确定的信息系统需求内容,并能够简要地反映需求分析的过程以及相关问题,既是对需求分析工作的总结,又作为后续阶段的工作纲领,系统设计、实现和测试都将按照信息系统需求进行。信息系统需求说明书应该包括的内容和采用的格式,目前并没有形成统一的规范。如图5-18所示为信息系统需求说明书的一个参考格式,一般要说明以下问题。(1)引言(2)项目概述(3)具体需求,61,图5-18 信息系统需求说明书,62,2衡量需求说明书好坏的标准(1)正确性(2)无歧义性(3)完全性(4)可验证性(5)一致性(6)

29、可理解性(7)可修改性(8)可追踪性,63,5.4 需求分析评审 1需求评审的内容 需求评审的内容包括:(1)系统定义的目标是否与用户的要求一致;(2)系统需求分析阶段提供的文档资料是否齐全;(3)文档中的所有描述是否完整、清晰、准确地反映了用户要求;(4)与所有其它系统成分的重要接口是否都已经描述;(5)主要功能是否已包括在规定的软件范围之内,是否都已充分说明;(6)软件的行为和它必须处理的信息、必须完成的功能是否一致;(7)设计的约束条件或限制条件是否符合实际;(8)是否考虑了开发的技术风险;(9)是否详细制定了检验标准,它们能否对系统定义成功进行确认。,64,2需求分析评审的方法 需求分

30、析评审有以下一些方法可供参考:(1)自查法 自查法由需求分析人员对自己所确定的信息系统需求进行审核和验证,纠正需求中存在的问题。(2)用户审查法 分析人员可以把信息系统需求说明书提交给用户,用户通过对需求文档的阅读找出不符合用户意图或用户认为不能实现的需求,双方再对这些有争议的需求进行讨论,最后达成一致认识。(3)专家审查法 聘请业务领域、信息系统、政策、法律等方面的专家对信息系统需求进行审查。专家能够对用户和分析人员存在争议的需求以及隐藏着重大问题的需求进行甄别和判断。(4)原型法 原型法是对存在的有争议或拿不准的需求,通过建立原型进行验证,以确定需求的正确性。原型法是验证需求的一种十分有效的方法,同时也是帮助用户理解需求的一种好方法,但它要求有原型生成环境的支持。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号