第3章需求分析requirmentsanalysis_第1页
第3章需求分析requirmentsanalysis_第2页
第3章需求分析requirmentsanalysis_第3页
第3章需求分析requirmentsanalysis_第4页
第3章需求分析requirmentsanalysis_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3章章 需求分析需求分析requirements analysis3.1 需求分析的任务需求分析的任务(requirements analysis tasks)3.2 分析过程分析过程(requirements process)3.3 概念模型与规范化概念模型与规范化(data modeling and normalization)3.4 图形工具图形工具(diagram tool)3.5 验证软件需求验证软件需求(verify software requirements)需求分析的任务需求分析的任务:需求分析是软件定义时期的最后一个阶段,它需求分析是软件定义时期的最后一个阶段,它的基本任

2、务是准确地回答的基本任务是准确地回答“系统必须做什么系统必须做什么?”这个这个问题。问题。对目标系统提出完整、准确、清晰、具体的要对目标系统提出完整、准确、清晰、具体的要求。求。在需求分析阶段结束之前,系统分析员应该写在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软出软件需求规格说明书,以书面形式准确地描述软件需求。件需求。用户与分析员之间需要沟通,避免误解或遗漏用户与分析员之间需要沟通,避免误解或遗漏和二义性。和二义性。1. 功能需求功能需求 这方面的需求指定系统必须提供的服务。通过这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所

3、有功能。需求分析应该划分出系统必须完成的所有功能。2. 性能需求性能需求 性能需求指定系统必须满足的定时约束或容量性能需求指定系统必须满足的定时约束或容量约束,通常包括速度约束,通常包括速度(响应时间响应时间)、信息量速率、主、信息量速率、主存容量、磁盘容量、安全性等方面的需求。存容量、磁盘容量、安全性等方面的需求。3.1 需求分析的任务需求分析的任务 requirements analysis tasks 3.1.1 确定对系统的综合要求确定对系统的综合要求3.运行要求运行要求系统运行环境系统运行环境. 其它需求其它需求 如:接口需求描述应用系统与它的环境通信的如:接口需求描述应用系统与它的

4、环境通信的格式。常见的接口需求有:用户接口需求;硬件接格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。口需求;软件接口需求;通信接口需求。. 将来可能提出的要求将来可能提出的要求 应该明确地列出那些虽然不属于当前系统开发应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。这范畴,但是据分析将来很可能会提出来的要求。这样做的目的是,在设计过程中对系统将来可能的扩样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦确实需要时能比较容充和修改预做准备,以便一旦确实需要时能比较容易地进行这种扩充和修改。易地进行这种扩充和修

5、改。综合上述分析的结果可以导出系统的详细的逻综合上述分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、数据字典和主要的处理辑模型,通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。算法描述这个逻辑模型。3.1.分析系统的数据要求分析系统的数据要求 数据库、输出数据等数据库、输出数据等分析系统的数据要求通常采用建立数据模型的分析系统的数据要求通常采用建立数据模型的方法。方法。3.1.3 导出系统的逻辑模型导出系统的逻辑模型 根据在分析过程中获得的对系统的更深入更具根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,体的了解,可以比较准确地估计系统的

6、成本和进度,修正以前制定的开发计划。修正以前制定的开发计划。3.1.开发原型系统开发原型系统反映主要功能反映主要功能第四代语言第四代语言3.1.4 修正系统开发计划修正系统开发计划3.1.写需求规格说明书写需求规格说明书 作用:软件设计的基础作用:软件设计的基础用户和开发者之间的协议用户和开发者之间的协议软件验收的依据软件验收的依据 内容:信息描述内容:信息描述数据流图数据流图数据字典数据字典实体联系模型实体联系模型数据结构层次图数据结构层次图处理说明处理说明功能描述功能描述约束条件约束条件有效性准则有效性准则初步用户使用手册初步用户使用手册审查与复审审查与复审分析过程分析过程(require

7、ments process)结构化分析方法就是面向数据流自顶向下逐步结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。为了达到这个目标,通常从数存储定义到元素级。为了达到这个目标,通常从数据流图的输出端着手分析,这是因为系统的基本功据流图的输出端着手分析,这是因为系统的基本功能是产生这些输出,输出数据决定了系统必须具有能是产生这些输出,输出数据决定了系统必须具有的最基本的组

8、成元素。的最基本的组成元素。沿数据流图回朔用户复查细化数据流图修正开发计划书写文档审 查和复审 图图3.1 面向数据流自顶向下求精过程面向数据流自顶向下求精过程 用户的数据要求-需要哪些数据,数据之间有哪些联系,数据本身有哪些性质,数据的结构 等)。 用户的处理要求-对数据进行哪些处理,每个处理的逻辑功能。 概念性模型(信息模型)-一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。表示概念性数据模型的最常用方法是实体-联系方法,采用实体实体-联系联系(er)图的方式,这种表示又称为er模型。 实体: 客观世界中存在的且可区分的事物。(矩形) 联系: 客观事物之间的联系(三类-1:1,

9、1:n,m:n) 属性: 实体或联系所具有的性质。(椭圆) er(entity-relation)模型3.3 分析建模和规范化分析建模和规范化(data modeling and normalization) 数据对象彼此之间相互连接的方式称为联系,数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下也称为关系。联系可分为以下3种类型:种类型:(1) 一对一联系一对一联系(1 1) 例如,一个部门有一个经理,而每个经理只在例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。一个部门任职,则部门与经理的联系是一对一的。(2) 一对多联系一对多联系(1

10、 n) 例如,某校教师与课程之间存在一对多的联系例如,某校教师与课程之间存在一对多的联系“教教”,即每位教师可以教多门课程,但是每门课,即每位教师可以教多门课程,但是每门课程只能由一位教师来教程只能由一位教师来教(见图见图3.2)。 联系联系(3) 多对多联系多对多联系(m n) 例如,图例如,图3.2表示学生与课程间的联系表示学生与课程间的联系(“学学”)是多对多的,即一个学生可以学多门课程,而每门是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。课程可以有多个学生来学。 联系也可能有属性。例如,学生联系也可能有属性。例如,学生“学学”某门课某门课程所取得的成绩,既不是学生

11、的属性也不是课程的程所取得的成绩,既不是学生的属性也不是课程的属性。由于属性。由于“成绩成绩”既依赖于某名特定的学生又依既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的赖于某门特定的课程,所以它是学生与课程之间的联系联系“学学”的属性的属性(见图见图3.2)。图图3.2 某校教学管理某校教学管理er图图 软件系统经常使用各种长期保存的信息,这些软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据

12、的过程,通常需要把数据结构规范化。简化修改数据的过程,通常需要把数据结构规范化。 数据规范化数据规范化通常用通常用“范式范式(normal forms)”定义消除数据冗定义消除数据冗余的程度。余的程度。第一范式第一范式(1 nf)数据冗余程度最大,第五范式数据冗余程度最大,第五范式(5 nf)数据冗余程度最小。但是,范式级别越高,数据冗余程度最小。但是,范式级别越高,存储同样数据就需要分解成更多张表,因此,存储同样数据就需要分解成更多张表,因此,“存存储自身储自身”的过程也就越复杂。的过程也就越复杂。第二,随着范式级别的提高,数据的存储结构第二,随着范式级别的提高,数据的存储结构与基于问题域的

13、结构间的匹配程度也随之下降,因与基于问题域的结构间的匹配程度也随之下降,因此,在需求变化时数据的稳定性较差。此,在需求变化时数据的稳定性较差。第三,范式级别提高则需要访问的表增多,因第三,范式级别提高则需要访问的表增多,因此性能此性能(速度速度)将下降。从实用角度看来,在大多数将下降。从实用角度看来,在大多数场合选用第三范式都比较恰当。场合选用第三范式都比较恰当。通常按照属性间的依赖情况区分规范化的程度。通常按照属性间的依赖情况区分规范化的程度。第一、第二和第三范式的定义:第一、第二和第三范式的定义:(1) 第一范式每个属性值都必须是原子值,即仅仅第一范式每个属性值都必须是原子值,即仅仅是一个

14、简单值而不含内部结构。是一个简单值而不含内部结构。(2) 第二范式满足第一范式条件,而且每个非关键第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定字属性都由整个关键字决定(而不是由关键字的一而不是由关键字的一部分来决定部分来决定)。(3) 第三范式符合第二范式的条件,每个非关键字第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述能仅仅是对另一个非关键字属性的进一步描述(即即一个非关键字属性值不依赖于另一个非关键字属性一个非关键字属性值不依赖于另一个非关键字属性值

15、值)。层次方框图用层次方框图用树形结构树形结构的一系列多层次的矩形的一系列多层次的矩形框框描绘数据的层次结构描绘数据的层次结构。树形结构的顶层是一个单。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素组成这个数据的实际数据元素(不能再分割的元素不能再分割的元素)。3. 图形工具图形工具(diagram tool) 3.1 层次方框图层次方框图(data hiberarchy)图图3.5 层次方框图的一个例子层次方框图的一

16、个例子上为下的组合,下为上的成份。上为下的组合,下为上的成份。随着结构的精细化,层次方框图对数据结构也随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的沿图中每条路径反复细化,直到确定了数据结构的全部细节时为止。全部细节时为止。法国计算机科学家法国计算机科学家warnier提出了表示信息层提出了表示信息层次结构的另外一种图形工具。次结构的另外一种图形工具。warnier图也用树形结构

17、描绘信息,但是这种图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。图形工具比层次方框图提供了更丰富的描绘手段。warnier图可以表明信息的逻辑组织,也就是图可以表明信息的逻辑组织,也就是说,它可以指出一类信息或一个信息元素是说,它可以指出一类信息或一个信息元素是重复出重复出现现的,也可以表示特定信息在某一类信息中是有的,也可以表示特定信息在某一类信息中是有条条件地出现件地出现的。因为重复和条件约束是说明软件处理的。因为重复和条件约束是说明软件处理过程的基础,所以很容易把过程的基础,所以很容易把warnier图转变成软件图转变成软件设计的工具。设计的工具。3.2 w

18、arnier图图图图3.6 warnier图的一个例子图的一个例子ipo图是输入、处理、输出图的简称,它是美图是输入、处理、输出图的简称,它是美国国ibm公司发展完善起来的一种图形工具,能够方公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间便地描绘输入数据、对数据的处理和输出数据之间的关系。的关系。3.3 ipo(input process output)图图图图3.7 ipo图的一个例子图图的一个例子图本书建议使用一种改进的本书建议使用一种改进的ipo图图(也称为也称为ipo表表),这种图中包含某些附加的信息,在软件设计,这种图中包含某些附加的信息,在软件设

19、计过程中将比原始的过程中将比原始的ipo图更有用。图更有用。图图3.8 改进的改进的ipo图的形式图的形式需求分析阶段的工作结果是开发软件系统的重需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软件系统中要基础,大量统计数字表明,软件系统中15%的错的错误起源于错误的需求。误起源于错误的需求。为了提高软件质量,确保软件开发成功,降低为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。必须严格验证这些需求的正确性。一般说来,应该从下述一般说来,应该从下述4个方面进行验证

20、:个方面进行验证:3. 验证软件需求验证软件需求(verify software requirements) 3.1 从哪些方面验证软件需求的正确性从哪些方面验证软件需求的正确性(1) 一致性:所有需求必须是一致的,任何一条需一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。求不能和其他需求互相矛盾。(2) 完整性:需求必须是完整的,规格说明书应该完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。包括用户需要的每一个功能或性能。(3) 现实性:指定的需求应该是用现有的硬件技术现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进

21、步和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。只能从现有技术水平出发判断需求的现实性。(4) 有效性:必须证明需求是正确有效的,确实能有效性:必须证明需求是正确有效的,确实能解决用户面对的问题。解决用户面对的问题。1. 验证需求的一致性验证需求的一致性非形式化的规格说明书是难于验证的,人工审非形式化的规格说明书是难于验证的,人工审查的效果是没有保证的,冗余、遗漏和不一致等问查的效果是没有保证的,冗余、遗漏和不一致等问题可能没被发现而继续保留下来,以致软件开发工题可

22、能没被发现而继续保留下来,以致软件开发工作不能在正确的基础上顺利进行。作不能在正确的基础上顺利进行。形式化的描述软件需求的方法。当软件需求规形式化的描述软件需求的方法。当软件需求规格说明书是用形式化的需求陈述语言书写的时候,格说明书是用形式化的需求陈述语言书写的时候,可以用软件工具验证需求的一致性,从而能有效地可以用软件工具验证需求的一致性,从而能有效地保证软件需求的一致性。保证软件需求的一致性。3.8.2 验证软件需求的方法验证软件需求的方法2. 验证需求的现实性验证需求的现实性为了验证需求的现实性,分析员应该参照以往为了验证需求的现实性,分析员应该参照以往开发类似系统的经验,分析用现有的软

23、、硬件技术开发类似系统的经验,分析用现有的软、硬件技术实现目标系统的可能性。必要的时候应该采用仿真实现目标系统的可能性。必要的时候应该采用仿真或性能模拟技术,辅助分析软件需求规格说明书的或性能模拟技术,辅助分析软件需求规格说明书的现实性。现实性。3. 验证需求的完整性和有效性验证需求的完整性和有效性检验需求的完整性,特别是证明系统确实满足检验需求的完整性,特别是证明系统确实满足用户的实际需要用户的实际需要(即,需求的有效性即,需求的有效性),只有在用户,只有在用户的密切合作下才能完成。的密切合作下才能完成。使用原型系统是一个比较现实的方法,开发原使用原型系统是一个比较现实的方法,开发原型系统所

24、需要的成本和时间可以大大少于开发实际型系统所需要的成本和时间可以大大少于开发实际系统所需要的。用户通过试用原型系统,也能获得系统所需要的。用户通过试用原型系统,也能获得许多宝贵的经验,从而可以提出更符合实际的要求。许多宝贵的经验,从而可以提出更符合实际的要求。 为了更有效地保证软件需求的正确性,特别是为了更有效地保证软件需求的正确性,特别是为了保证需求的一致性,需要有适当的软件工具支为了保证需求的一致性,需要有适当的软件工具支持需求分析工作。这类软件工具应该满足下列要求:持需求分析工作。这类软件工具应该满足下列要求:(1) 必须有形式化的语法必须有形式化的语法(或表或表),因此可以用计算机,因

25、此可以用计算机自动处理使用这种语法说明的内容;自动处理使用这种语法说明的内容;(2) 使用这个软件工具能够导出详细的文档;使用这个软件工具能够导出详细的文档;(3) 必须提供分析必须提供分析(测试测试)规格说明书的不一致性和冗规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完余性的手段,并且应该能够产生一组报告指明对完整性分析的结果;整性分析的结果;(4) 使用这个软件工具之后,应该能够改进通信状使用这个软件工具之后,应该能够改进通信状况。况。3.3 用于需求分析的软件工具用于需求分析的软件工具传统软件工程方法学使用结构化分析技术,完传统软件工程方法学使用结构化分析技术,完成

26、分析用户需求的工作。需求分析是发现、求精、成分析用户需求的工作。需求分析是发现、求精、建模、规格说明和复审的过程。建模、规格说明和复审的过程。需求分析的第一步是进一步了解用户当前所处需求分析的第一步是进一步了解用户当前所处的情况,发现用户所面临的问题和对目标系统的基的情况,发现用户所面临的问题和对目标系统的基本需求;本需求;接下来应该与用户深入交流,对用户的基本需接下来应该与用户深入交流,对用户的基本需求反复细化逐步求精,以得出对目标系统的完整、求反复细化逐步求精,以得出对目标系统的完整、准确和具体的需求。准确和具体的需求。3.9 小结小结为了详细地了解并正确地理解用户的需求,必为了详细地了解

27、并正确地理解用户的需求,必须使用适当方法与用户沟通。从可行性研究阶段得须使用适当方法与用户沟通。从可行性研究阶段得到的数据流图出发,在用户的协助下面向数据流自到的数据流图出发,在用户的协助下面向数据流自顶向下逐步求精,也是与用户沟通获取需求的一个顶向下逐步求精,也是与用户沟通获取需求的一个有效的方法。有效的方法。为了更好地理解问题,人们常常采用建立为了更好地理解问题,人们常常采用建立模型的方法,结构化分析实质上就是一种建模活动,模型的方法,结构化分析实质上就是一种建模活动,在需求分析阶段通常建立数据模型(在需求分析阶段通常建立数据模型(er、层次图、层次图warnier图),功能模型(图),功

28、能模型(dfd)和处理说明)和处理说明(ipo)。)。在需求分析阶段还应该写出软件需求规格说明在需求分析阶段还应该写出软件需求规格说明书,经过严格评审并得到用户确认之后,作为这个书,经过严格评审并得到用户确认之后,作为这个阶段的最终成果。通常主要从一致性、完整性、现阶段的最终成果。通常主要从一致性、完整性、现实性和有效性等实性和有效性等4个方面复审软件需求规格说明书。个方面复审软件需求规格说明书。快速原型应该具备的基本特性是快速原型应该具备的基本特性是“快速快速”和和“容易修改容易修改”,因此,必须用适当的软件工具支持,因此,必须用适当的软件工具支持快速原型技术。通常使用第四代技术、可重用的软快速原型技术。通常使用第四代技术、可重用的软件构件及形式化规格说明与原型环境,快速地构建件构件及形式化规格说明与原型环境,快速地构建和修改原型。和修改原型。3-1 为什么要进行需求分析为什么要进行需求分析?通常对软件系统有哪些通常对软件系统有哪些需求需求?3-2 怎样与用户有效地沟通以获取用户的真实需求怎样与用户有效地沟通以获取用户的真实需求?3-3 银行计算机储蓄系统的工作过程大致如下:储银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论