第3章软件需求分析.ppt
《第3章软件需求分析.ppt》由会员分享,可在线阅读,更多相关《第3章软件需求分析.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章第三章 软件需求分析的基本概念软件需求分析的基本概念软件需求分析的基本概念注注意意:制制定定软软件件需需求求规规格格说说明明书书,不不仅仅仅仅是是软软件件开开发发人人员员的的事事,用用户户也也起着至关重要的作用。起着至关重要的作用。软件需求分析是软件生命期中重要的一步,也是决定性的一步。软件需求分析是软件生命期中重要的一步,也是决定性的一步。在在可可行行性性分分析析阶阶段段,对对开开发发新新系系统统的的基基本本思思想想和和过过程程进进行行了了分分析析和和论论证证,对对系系统统的的基基本本功功能能、性性能能及及开开发发时时间间的的限限制制,人人员员安安排排、投投资资情情况况等等作作出
2、出了了客客观观的的分分析析,即即对对经经济济上上的的可可行行性性、技技术术上上的的可可行行性性进进行行了了重点研究。重点研究。在在需需求求分分析析阶阶段段,要要对对经经过过可可行行性性分分析析所所确确定定的的系系统统目目标标和和功功能能做做进进一一步步的的详详细细论论述述;只只有有通通过过软软件件的的需需求求分分析析,才才能能够够把把软软件件系系统统的的总总体体概概念念的的描描述述转转换换为为具具体体的的软软件件需需求求规规格格说说明明,从从而而奠奠定定软软件件开开发发的的基基础。础。3.1 软件需求分析的基本概念 3.1 软件需求分析的任务需求分析阶段的任务:需求分析阶段的任务:在在可可行行
3、性性分分析析的的基基础础上上,进进一一步步了了解解确确定定用用户户需需求求。准准确确地地回回答答 “系统必须做什么?系统必须做什么?”的问题。获得需求规格说明书。的问题。获得需求规格说明书。Boehm对软件需求的定义:对软件需求的定义:研研究究一一种种无无二二义义性性的的表表达达工工具具,它它能能为为用用户户和和软软件件人人员员双双方方都都接接受受并能够把并能够把“需求需求”严格地、形式地表达出来。严格地、形式地表达出来。由于需求分析方法不同,描述形式不同。其实现步骤如下图所示:由于需求分析方法不同,描述形式不同。其实现步骤如下图所示:当前系统当前系统模型化模型化目标系统目标系统物理模型物理模
4、型具体化具体化物理模型物理模型抽象化抽象化逻辑模型逻辑模型实例化实例化逻辑模型逻辑模型做什么做什么导导出出理理解解需需求求 表表达达需需求求3.1 软件需求分析的任务需求分析的具体任务:需求分析的具体任务:需求分析的具体任务需求分析的具体任务1 1 1 1、确定系统的综合要求、确定系统的综合要求、确定系统的综合要求、确定系统的综合要求 系统功能要求系统功能要求这是最主要的需求,确定系统必须完成的所有功能。这是最主要的需求,确定系统必须完成的所有功能。系统性能要求系统性能要求应就具体系统而定,例如可靠性、联机系统的响应时应就具体系统而定,例如可靠性、联机系统的响应时间、存储容量、安全性能等。间、
5、存储容量、安全性能等。系统运行要求系统运行要求主要是对系统运行时的环境要求,如系统软件、数据主要是对系统运行时的环境要求,如系统软件、数据库管理系统、外存和数据通信接口等。库管理系统、外存和数据通信接口等。将来可能提出的要求将来可能提出的要求对将来可能提出的扩充及修改作预准备。对将来可能提出的扩充及修改作预准备。2 2 2 2、分析系统的数据要求、分析系统的数据要求、分析系统的数据要求、分析系统的数据要求 软件系统本质上是信息处理系统,因此,必须考虑:软件系统本质上是信息处理系统,因此,必须考虑:数据数据 (需要哪些数据、数据间联系、数据性质、结构)(需要哪些数据、数据间联系、数据性质、结构)
6、数据处理数据处理 (处理的类型、处理的逻辑功能)(处理的类型、处理的逻辑功能)3 3 3 3、导出系统的逻辑模型、导出系统的逻辑模型、导出系统的逻辑模型、导出系统的逻辑模型通常系统的逻辑模型用通常系统的逻辑模型用DFDDFD图来描述。图来描述。4 4 4 4、修修修修正正正正系系系系统统统统的的的的开开开开发发发发计计计计划划划划通通过过需需求求对对系系统统的的成成本本及及进进度度有有了了更更精精确确的的估估算算,可进一步修改开发计划。可进一步修改开发计划。3.1.1 软件需求分析的任务3.1.2 3.1.2 需求分析过程需求分析过程 需求分析阶段的工作,可以分为以下四步:需求分析阶段的工作,
7、可以分为以下四步:1 1、问题识别、问题识别 双双方方确确定定问问题题的的综综合合需需求求。包包括括功功能能、性性能能需需求求、环环境境需需求求和和用用户户界界面面需需求求,另另外外还还有有可可靠靠性性、安安全全性性、保密性及可移植性和可维护性等方面的需求。保密性及可移植性和可维护性等方面的需求。2 2、分析与综合,导出软件的逻辑模型、分析与综合,导出软件的逻辑模型3 3、编写文档、编写文档 a)a)编编写写“需需求求说说明明书书”,把把双双方方共共同同的的理理解解与与分分析析结果用规范的方式描述出来。结果用规范的方式描述出来。b)b)编写初步用户使用手册,编写初步用户使用手册,c)c)编写确
8、认测试计划,编写确认测试计划,d)d)修改与完善项目开发计划。修改与完善项目开发计划。4 4、分析评审、分析评审 作作为为需需求求分分析析阶阶段段工工作作的的复复查查手手段段,应应该该对对功功能能的的正确性、完整性和清晰性以及其他需求给予评价。正确性、完整性和清晰性以及其他需求给予评价。问题识别问题识别分析与综合分析与综合编写文档编写文档分析评审分析评审3.1.2 需求分析过程近近几几年年来来已已提提出出许许多多软软件件需需求求分分析析与与说说明明的的方方法法,每每一一种种分分析析方方法法都都有独特的观点和表示方法,但都适用下面的基本原则。有独特的观点和表示方法,但都适用下面的基本原则。3.1
9、.3 3.1.3 需求分析的原则需求分析的原则3.1.3 需求分析的原则1 1、能够表达和理解问题的信息域和功能域、能够表达和理解问题的信息域和功能域对对于于计计算算机机程程序序处处理理的的数数据据,其其信信息息域域包包括括信信息息流流(如如下下图图,即即数数据据通通过过一一个个系系统统时时的的变变化化方方式式)、信信息息内内容容和和信信息息结结构构,而而功功能能域域反反映映上上述述三三方面的控制信息。方面的控制信息。数据存储数据存储转换转换1 1转换转换2 2附加附加数据数据输入数据输入数据中间数据中间数据结果数据结果数据 输输入入数数据据首首先先转转换换成成中中间间数数据据,然然后后转转换
10、换成成输输出出数数据据。在在此此期期间间可可以以从从已已有有的的数数据据存存储储(如如磁磁盘盘文文件件或或内内存存缓缓冲冲)中中引引入入附附加加数数据据。对对数数据据进进行行转转换换是是程程序序中中应应有有的的功功能能或或子子功功能能。两两个个转转换换功功能能之之间间的的数数据据传传递递就就确确定了功能间的接口。定了功能间的接口。3.1.3 需求分析的原则2 2、能够对问题进行分解和不断细化,建立问题的层次结构、能够对问题进行分解和不断细化,建立问题的层次结构3 3、需要给出系统的逻辑视图和物理视图、需要给出系统的逻辑视图和物理视图软软件件需需求求的的逻逻辑辑视视图图给给出出的的是是软软件件要
11、要达达到到的的功功能能和和要要处处理理信信息息之之间间的的关系,而不是实现的细节。关系,而不是实现的细节。软软件件需需求求的的物物理理视视图图给给出出的的是是处处理理功功能能和和信信息息结结构构的的实实际际表表现现形形式式,这往往是由设备本身决定的。这往往是由设备本身决定的。3.1.4 3.1.4 需求分析方法需求分析方法不同的开发方法,需求分析的方法也有所不同,常见的分析方法有:不同的开发方法,需求分析的方法也有所不同,常见的分析方法有:3.1.4 需求分析方法功能分析方法功能分析方法 将将系系统统看看作作若若干干功功能能模模块块的的集集合合,每每个个功功能能又又可可以以分分解解为为若若干干
12、子子功功能能,子功能还可继续分解子功能还可继续分解,分解的结果已经是系统的雏形。分解的结果已经是系统的雏形。面向对象的分析方法面向对象的分析方法 面面向向对对象象的的分分析析方方法法(OOA)的的关关键键是是识识别别问问题题域域内内的的对对象象,分分析析它它们之间的关系,并建立起三类模型。们之间的关系,并建立起三类模型。信息建模法信息建模法 是从数据的角度对现实世界建立模型的是从数据的角度对现实世界建立模型的,基本工具是基本工具是ERER图。图。结构化分析方法结构化分析方法 是是一一种种以以数数据据、数数据据的的封封闭闭性性为为基基础础,从从问问题题空空间间到到某某种种表表示示的的映映射方法,
13、由数据流图(射方法,由数据流图(DFD图)表示。图)表示。2.2 结构化分析(SA)方法结结结结构构构构化化化化开开开开发发发发方方方方法法法法(Structured Structured Developing Developing MethodMethod)是是现现有有的的软软件件开开发发方方法法中中最最成成熟熟、应应用用最最广广泛泛的的方方法法,主主要要特特点点是是快快速速、自自然然和和方方便便。结结构构化化开开发发方方法法由由结结构构化化分分析析方方法法(SA法法)、结结构构化化设设计计方方法(法(SD法)及结构化程序设计方法(法)及结构化程序设计方法(SP法)构成的。法)构成的。结结构
14、构化化分分析析方方法法是是面面向向数数据据流流的的需需求求分分析析方方法法,是是20世世纪纪70年年代代末末由由Yourdon,Constaintine及及DeMarco等等人人提提出出和和发发展展,并并得得到到广广泛泛的应用。它适合于分析大型的数据处理系统,特别是企事业管理系统。的应用。它适合于分析大型的数据处理系统,特别是企事业管理系统。SA法法也也是是一一种种建建模模的的活活动动,主主要要是是根根据据软软件件内内部部的的数数据据传传递递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。3.2 3.2 结构化分析方法结构化
15、分析方法 3.2.1 SA3.2.1 SA法概述法概述分分解解:对对于于一一个个复复杂杂的的系系统统,为为了了将将复复杂杂性性降降低低到到可可以以掌掌握握的的程程度度,可可以以把把大大问问题题分分解解成成若若干干小小问问题题,然后分别解决(如右图)。然后分别解决(如右图)。一、一、一、一、SASA法的基本思想法的基本思想法的基本思想法的基本思想 结构化分析方法的基本思想是结构化分析方法的基本思想是“分解分解”和和“抽象抽象”。抽抽象象:分分解解可可以以分分层层进进行行,即即先先考考虑虑问问题题最最本本质质的的属属性性,暂暂把把细细节节略略去去,以以后后再再逐逐层层添添加加细细节节,直直至至涉涉
16、及及到到最最详详细细的的内内容容,这这种种用用最最本本质质的的属属性表示一个系统的方法就是性表示一个系统的方法就是“抽象抽象”。2.2.1 SA法的概述1.11.21.3x2132.12.22.31.11.31 1、建立当前系统的、建立当前系统的“具体模型具体模型”系系统统的的“具具体体模模型型”就就是是现现实实环环境境的的写写照照,即即将将当当前前系系统统用用DFDDFD图图描描述述出来。这样的表达与当前系统完全对应,因此用户容易理解。出来。这样的表达与当前系统完全对应,因此用户容易理解。基本思想与步骤基本思想与步骤三、三、三、三、SASASASA法的描述方法法的描述方法法的描述方法法的描述
17、方法1 1、分层的数据流图、分层的数据流图2 2、数据词典、数据词典3 3、描述加工逻辑的结构化语言、判定表及判定树、描述加工逻辑的结构化语言、判定表及判定树3.2.1 SA法的概念二、二、二、二、SASASASA法的步骤法的步骤法的步骤法的步骤4 4、为了对目标系统做完整的描述,还需要考虑人机界面和其他一些问题、为了对目标系统做完整的描述,还需要考虑人机界面和其他一些问题3 3、建立目标系统的逻辑模型、建立目标系统的逻辑模型分分析析目目标标系系统统与与当当前前系系统统逻逻辑辑上上的的差差别别,从从而而进进一一步步明明确确目目标标系系统统“做什么做什么”,建立目标系统的,建立目标系统的“逻辑模
18、型逻辑模型”(修改后的(修改后的DFDDFD图)。图)。2 2、抽象出当前系统的逻辑模型、抽象出当前系统的逻辑模型分分析析系系统统的的“具具体体模模型型”,抽抽象象出出其其本本质质的的因因素素,排排除除次次要要因因素素,获获得用得用DFDDFD图描述的当前系统的图描述的当前系统的“逻辑模型逻辑模型”。3.2.2 3.2.2 数据流图数据流图数数据据流流图图(Data Data Flow Flow DiagramDiagram,DFDDFD)是是描描述述系系统统中中数数据据流流程程的的图图形形工工具具,它它标标识识了了一一个个系系统统的的逻逻辑辑输输入入和和逻逻辑辑输输出出,以以及及把把逻逻辑辑
19、输输入入转转换换为逻辑输出所需的加工处理。为逻辑输出所需的加工处理。数据存储数据存储数据源点数据源点或终点或终点加加 工工加工名数据流数据流数据流名文件名实体名箭箭 头头圆或椭圆圆或椭圆单或双杠单或双杠矩形框矩形框还有一些辅助的图例还有一些辅助的图例:3.2.2 分层的数据流图一、数据流图的图符一、数据流图的图符四种基本图形符号:四种基本图形符号:TAB*CTAB*CTAB+CTAB+CTABC+TABC+*与与+或或互斥+一、基本图符与描述数据流名数据流名图 a1.2.1加工名加工名图 b文件名文件名图 c实体名实体名图 d数数据据流流(图图a a)是是数数据据在在系系统统内内传传播播的的路
20、路径径,由由一一组组固固定定的的数数据据项项组组成成。除除了了与与数数据据存存储储之之间间的的数数据据流流不不用用命命名名外外,数数据据流流应应该该用用名名词词或或名名词词短短语语命名。命名。2.2.2 分层的数据流图数数据据源源点点和和终终点点(图图d d)是是软软件件系系统统外外部部环环境境中中的的实实体体(包包括括人人员员、组组织或其他软件系统),统称为外部实体。一般只出现在数据流图的顶层图中。织或其他软件系统),统称为外部实体。一般只出现在数据流图的顶层图中。数数据据存存储储(图图c c)指指暂暂时时保保存存的的数数据据,它它可可以以是是数数据据库库文文件件或或任任何何形形式式的的数数
21、据据组组织织。流流向向数数据据存存储储的的数数据据流流可可理理解解为为写写入入文文件件,或或查查询询文文件件,从从数数据存储流出的数据可理解为从文件读数据或得到查询结果。据存储流出的数据可理解为从文件读数据或得到查询结果。加加工工(图图b b)也也称称为为数数据据处处理理,它它对对数数据据流流进进行行某某些些操操作作或或变变换换。每每个个加加工工也也要要有有名名字字,通通常常是是动动词词短短语语,简简明明地地描描述述完完成成什什么么加加工工。在在分分层层的的数据流图中,加工还应有编号。数据流图中,加工还应有编号。顾顾客客出出版版社社验证验证订单订单汇总汇总订单订单订单图书目录文件图书目录文件顾
22、客档案顾客档案待处理订单文件待处理订单文件正确订单一批订单出版社档案文件出版社档案文件出版社 订单订货存根文件订货存根文件 例例例例1 1 1 1:图书预订系统:图书预订系统:图书预订系统:图书预订系统画图步骤画图步骤 :1 1、确确定定外外部部实实体体(顾顾客客、出出版版社社)及及输输入入、输输出出数数据据流流(订订单单、出出版版社社订单)。订单)。2 2、确定分解顶层的加工(验证订单、汇总订单)。、确定分解顶层的加工(验证订单、汇总订单)。3 3、确定使用的文件(图书目录文件、顾客档案等、确定使用的文件(图书目录文件、顾客档案等5 5个文件)。个文件)。4 4、用数据流将各部分连接起来,形
23、成数据封闭。、用数据流将各部分连接起来,形成数据封闭。加工和文件还有 其他一些图例:加 工加工名编号加工名编号文件名文件名文 件注意:标注各加工框及数据流名称。注意:标注各加工框及数据流名称。3.2.2 分层的数据流图X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1顶顶层层中中 间间 层层底底 层层先先全全局局后后局局部部,先先整整体体后后细细节节,先抽象后具体先抽象后具体.0图1图2图二、画分层二、画分层二、画分层二、画分层DFDDFDDFDDFD图的方法图的方法图的方法图的方法通通常常可可将将这这种种分分层层的的D
24、FDDFD图图,分分为顶层、中间层、底层。为顶层、中间层、底层。具体步骤:具体步骤:1 1、先确定系统范围,画出、先确定系统范围,画出顶层的顶层的DFDDFD图。图。2 2、逐层分解顶层、逐层分解顶层DFDDFD图,图,获得若干中间层获得若干中间层DFDDFD图。图。3 3、画出底层的、画出底层的DFDDFD图。图。顶层图说明了系统的边界顶层图说明了系统的边界,即系统的输入和输出数据即系统的输入和输出数据流流,顶顶层层图图只只有有一一张张。底底层层图图由由一一些些不不能能再再分分解解的的加加工工组组成成,这这些些加加工工都都非非常常简简单单,称称为为基基本本加加工工。在在顶顶层层和和底底层层之
25、之间间的的是是中中间间层层,中中间间层层的的数数据据流流图图描描述述了了某某个个加加工工的的分分解解,而而它它的的组组成成部部分分又又要要进进一一步步分分解解。画画各各层层DFDDFD图时,由外向内。图时,由外向内。3.2.2 分层的数据流图 图经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1 1、监视病员的病症(血压、体温、脉搏等)。、监视病员的病症(血压、体温、脉搏等)。2 2、定时更新病历。、定时更新病历。3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。3.2.3 实例:医院病房
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析
限制150内