4、软件工程(第2章 软件项目的需求分析).pptx
《4、软件工程(第2章 软件项目的需求分析).pptx》由会员分享,可在线阅读,更多相关《4、软件工程(第2章 软件项目的需求分析).pptx(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程软件工程软件工程软件工程第第第第2 2章章章章 软件项目的需求分析软件项目的需求分析软件项目的需求分析软件项目的需求分析 第第2章章 软件项目的需求分析软件项目的需求分析 本章要点本章要点1、了解软件需求分析的原则和任务、了解软件需求分析的原则和任务2、了解软件需求的获得方法、了解软件需求的获得方法3、掌握结构化分析方法及其描述工具、掌握结构化分析方法及其描述工具4、了解需求规格说明和需求评审的主要、了解需求规格说明和需求评审的主要内容内容需求与需求分析需求与需求分析一、需求分析的一、需求分析的特点特点需需求求分分析析是是指指开开发发人人员员要要准准确确理理解解用用户户的的要要求求,进
2、进行行细细致致的的调调查查分分析析,将将用用户户非非形形式式的的需需求求陈陈述述转转化化为为完完整整的的需需求求定定义义,再再由由需需求求定定义义转转换换到到相相应应的的形形式式功功能规约(能规约(需求规格说明需求规格说明)的过程。)的过程。需求与需求分析需求与需求分析需求分析需求分析难点难点主要体现在以下几个方面:主要体现在以下几个方面:1、问题的复杂性、问题的复杂性2、交流障碍、交流障碍3、不完备性和不一致性、不完备性和不一致性4、需求易变性、需求易变性需求与需求分析需求与需求分析二、需求分析的二、需求分析的任务任务需需求求分分析析的的基基本本任任务务是是要要准准确确地地定定义义新新系系统
3、统的的目目标标,为为了了满满足足用用户户需需要要,回回答答系统必须系统必须“做什么做什么”的问题。的问题。需求与需求分析需求与需求分析用用户户需需求求分分为为两两大大类类:功功能能性性需需求求和和非非功功能能性性需求需求。前前者者定定义义了了系系统统做做什什么么,包包括括系系统统的的所所有有输输入入、输输出出以以及及如如何何从从输输入入映映射射到到输输出出;后后者者定定义义了了系系统统工工作作时时的的特特性性,例例如如系系统统对对效效率率、可可靠靠性性、安安全全性性、可可维维护护性性、可可移移植植性性、吞吞吐吐量量以以及及符符合某种标准等的要求。合某种标准等的要求。需求分析的需求分析的任务任务
4、就是借助于当前系统的逻辑模型导出就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统是目标系统的逻辑模型,解决目标系统是“做什么做什么”的问题。的问题。需求与需求分析需求与需求分析三、需求分析的三、需求分析的步骤步骤1、问题识别问题识别双方确定对问题的综合需求。这些需求包括:双方确定对问题的综合需求。这些需求包括:(1)功能需求功能需求:指所开发的软件必须具备什:指所开发的软件必须具备什么样的功能,这是最重要的。么样的功能,这是最重要的。(2)性能需求性能需求:指待开发的软件的技术性能:指待开发的软件的技术性能指标,如存储容量、运行时间等限制。指标,如存储容量、运行时间等限制。需求
5、与需求分析需求与需求分析(3)环环境境需需求求:指指软软件件运运行行时时所所需需要要的的软软、硬硬件件(如如机机型型、外外设设、操操作作系系统统和和数据库管理系统等)的要求。数据库管理系统等)的要求。(4)用用户户界界面面需需求求:即即人人机机交交互互方方式式、输入输出数据格式等。输入输出数据格式等。需求与需求分析需求与需求分析2、分析与综合,导出软件的、分析与综合,导出软件的逻辑模型逻辑模型分析人员对获取的需求,进行一致性的分析检分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分查,在分析、综合中逐步细化软件功能,划分各个子功能。这里也包括对数据域进行分解,各个
6、子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系主要成分,并用图文结合的形式,建立起新系统的逻辑模型。统的逻辑模型。需求与需求分析需求与需求分析3、编写文档编写文档(1)编写)编写“需求说明书需求说明书”,把双方共同,把双方共同的理解与分析结果用规范的方式描述出的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。来,作为今后各项工作的基础。需求与需求分析需求与需求分析(2)编写初步)编写初步用户使用手册用户使用手册,着重反映,着重反映被开发软件的用户功能界面和用户使用被开发软件
7、的用户功能界面和用户使用的具体要求。的具体要求。(3)编写)编写确认测试计划确认测试计划,作为今后确认,作为今后确认和验收的依据。和验收的依据。(4)修改完善)修改完善项目开发计划项目开发计划。需求与需求分析需求与需求分析4、需求分析、需求分析评审评审系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致系统需求分析阶段提供的文档资料是否齐全系统需求分析阶段提供的文档资料是否齐全文文档档中中所所有有描描述述是是否否完完整整、清清晰晰、准准确确反反映映用用户要求户要求与与所所有有其其他他系系统统成成分分的的重重要要接接口口是是否否都都已已经经描描述述需求与需求分析需求与需求分析四四
8、、需求分析的、需求分析的原则原则1、划划分分(可可以以把把一一个个复复杂杂问问题题按按功功能能进进行分解并可逐层细化)行分解并可逐层细化)需求与需求分析需求与需求分析2、抽象抽象(捕获问题空间的(捕获问题空间的“一般一般/特殊特殊”或或“特例特例”关系)关系)3、投影投影(捕获问题空间的多维(捕获问题空间的多维“视图视图”)结构化分析结构化分析一、结构化方法概述一、结构化方法概述1、结构化方法结构化方法结构化方法是软件工程产生后首先提出结构化方法是软件工程产生后首先提出来的软件开发方法,它也是一种实用的来的软件开发方法,它也是一种实用的开发方法,由开发方法,由结构化分析结构化分析、结构化设计结
9、构化设计和和结构化程序设计结构化程序设计构成。构成。结构化分析结构化分析2、基本、基本思想思想:该方法基于模块化的思想,采用该方法基于模块化的思想,采用“自顶自顶向下,逐步求精向下,逐步求精”的技术对系统进行划的技术对系统进行划分。分。分解和抽象是它的两个基本手段。分解和抽象是它的两个基本手段。结构化分析结构化分析3、特点特点它是使用最早的开发方法,使用时间也它是使用最早的开发方法,使用时间也最长最长是面向数据流进行需求分析的方法是面向数据流进行需求分析的方法非常适合于数据处理类型的软件的需求非常适合于数据处理类型的软件的需求分析分析相应的支持工具多,发展较为成熟相应的支持工具多,发展较为成熟
10、结构化分析结构化分析4、优点优点:(1)简单、实用)简单、实用(2)适合于瀑布模型,易为开发者掌握)适合于瀑布模型,易为开发者掌握(3)成功率较高)成功率较高(4)特别适合于数据处理中的应用,对)特别适合于数据处理中的应用,对其他领域的领域也基本适应其他领域的领域也基本适应结构化分析结构化分析5、存在问题存在问题(1)对于规模较大的项目,特别复杂的)对于规模较大的项目,特别复杂的应用不太适应应用不太适应(2)难于解决软件重用的问题)难于解决软件重用的问题(3)难于适应需求的变化)难于适应需求的变化(4)难于彻底解决维护问题)难于彻底解决维护问题结构化分析结构化分析二、二、数据流图数据流图Dat
11、a-flow diagram,DFD数数据据流流图图是是SA方方法法中中用用于于表表示示系系统统逻逻辑辑模模型型的的一一种种工工具具,它它以以图图形形的的形形式式描描绘绘数数据据在在系系统统中流动和处理的过程。中流动和处理的过程。结结构构化化分分析析方方法法把把任任何何软软件件系系统统都都视视作作一一个个数数据据变变换换装装置置,它它接接受受各各种种形形式式的的输输入入,通通过过变变换产生各种形式的输出。换产生各种形式的输出。结构化分析结构化分析DFD就就是是一一种种描描述述数数据据变变换换的的图图形形工工具具,是是结结构构化化分分析析方方法法最最普普遍遍采采用用的的表表示示手手段段,但但数数
12、据据流流图图并并不不是是结结构构化化分分析析模模型型的的全全部部,数数据据字字典典和和小小说说明明为为数数据据流流图图提提供供了了补补充充,并并用用以以验验证证图图形形表表示示的的正正确确性性、一一致致性性和和完完整整性性,三三者者共共同同构构成成了结构化分析的模型。了结构化分析的模型。结构化分析结构化分析1、基基本本图图形形符符号号(数数据据流流图图的的四四个个基基本本成分)成分)方框,表示数据的源点或终点方框,表示数据的源点或终点圆或椭圆,表示加工圆或椭圆,表示加工结构化分析结构化分析1、基基本本图图形形符符号号(数数据据流流图图的的四四个个基基本本成分)成分)双杠,表示数据存储双杠,表示
13、数据存储箭头,表示数据流箭头,表示数据流结构化分析结构化分析加工加工:是对数据进行处理的单元,它接:是对数据进行处理的单元,它接受一定的输入数据,对其进行处理,并受一定的输入数据,对其进行处理,并产生输出。产生输出。数据存储数据存储:信息的静态存储。:信息的静态存储。结构化分析结构化分析数据源或终点数据源或终点:表示系统和环境的接口,:表示系统和环境的接口,是系统之外的实体,可以是人、物或其是系统之外的实体,可以是人、物或其他软件系统。其中,数据源是数据数据他软件系统。其中,数据源是数据数据流的起点,终点是数据流的最终目的地。流的起点,终点是数据流的最终目的地。数据流数据流:表示数据和数据流向
14、。:表示数据和数据流向。结构化分析结构化分析2、实例实例:飞机票预订系统:飞机票预订系统问问题题描描述述:旅旅行行社社凭凭订订票票单单进进行行机机票票的的预预订订,售售票票员员查查询询航航班班目目录录文文件件,检检查查是是否否有有满满足足预预订订条条件件的的机机票票,如如果果有有,那那么么将将费费用用记记入入记记帐帐文文件件,并并准准备备机机票票,最后将帐单和机票交给旅客。最后将帐单和机票交给旅客。旅行社旅客预订机票准备机票记帐订票单航班目录记帐文件航班机票费用帐单飞机票预订系统的数据流图飞机票预订系统的数据流图结构化分析结构化分析加工的命名规则:加工的命名规则:每个加工都要有名字,加工的名字
15、最好每个加工都要有名字,加工的名字最好使用动宾词组使用动宾词组在分层的数据流图中,加工还应编号,在分层的数据流图中,加工还应编号,顶层的加工名就是软件项目的名字顶层的加工名就是软件项目的名字结构化分析结构化分析数据流:数据流:数据流表示数据和数据流向,通常由一组数据数据流表示数据和数据流向,通常由一组数据项组成。项组成。数据流可以从加工流向加工,也可以从数据源数据流可以从加工流向加工,也可以从数据源流向加工,从加工流向终点,还可以从加工流流向加工,从加工流向终点,还可以从加工流向数据存储文件,或从数据存储文件流向加工,向数据存储文件,或从数据存储文件流向加工,一般流入或流出数据存储文件的数据流
16、不需要一般流入或流出数据存储文件的数据流不需要标出名字,有数据存储的名字就可以了。标出名字,有数据存储的名字就可以了。结构化分析结构化分析两个加工之间可以有多个数据流,这些数据流两个加工之间可以有多个数据流,这些数据流之间没有任何联系,数据流图也不表明它们的之间没有任何联系,数据流图也不表明它们的先后次序。先后次序。数据流命名方法:数据流命名方法:数据流的名字用名词,或名数据流的名字用名词,或名词词组;命名时应尽量使用现实系统中已有的词词组;命名时应尽量使用现实系统中已有的名字;把现实环境中传递的一组数据(这组数名字;把现实环境中传递的一组数据(这组数据组成一个数据流)中最重要的那个数据的名据
17、组成一个数据流)中最重要的那个数据的名字作为数据流的名字字作为数据流的名字结构化分析结构化分析数据存储文件的命名方法数据存储文件的命名方法:和数据流的命名方法相似。数据存储指和数据流的命名方法相似。数据存储指暂时保存的数据,它可以是数据库文件暂时保存的数据,它可以是数据库文件或任何形式的数据组织。或任何形式的数据组织。结构化分析结构化分析数据源和终点数据源和终点:表示系统和环境的接口,是系统之外的表示系统和环境的接口,是系统之外的实体,命名时应符合环境的真实情况。实体,命名时应符合环境的真实情况。结构化分析结构化分析3、数据流图的、数据流图的层次结构层次结构比较大的软件系统的数据流图有上百张,
18、比较大的软件系统的数据流图有上百张,多至上千张。把整个系统画在一张图中,多至上千张。把整个系统画在一张图中,不仅凌乱,而且层次不清、难以理解,不仅凌乱,而且层次不清、难以理解,有必要把数据流图分成多层。数据流图有必要把数据流图分成多层。数据流图之间用编号反映系统的层次结构。之间用编号反映系统的层次结构。结构化分析结构化分析4、画数据流图、画数据流图(1)画系统的输入输出)画系统的输入输出画系统的输入输出即先画系统的顶层数画系统的输入输出即先画系统的顶层数据流图。据流图。下图为飞机机票预订系统的顶层图:下图为飞机机票预订系统的顶层图:旅行社旅行社旅客旅客飞机票飞机票预订系统预订系统订票单订票单机
19、票机票帐单帐单飞机票预订系统顶层图飞机票预订系统顶层图结构化分析结构化分析(2)画系统内部)画系统内部 画系统内容即画下层数据流图。一画系统内容即画下层数据流图。一般将层号从般将层号从0开始编号,采用自顶向下,开始编号,采用自顶向下,由外向内的原则。由外向内的原则。结构化分析结构化分析5、实例:描述银行取款过程的数据流图、实例:描述银行取款过程的数据流图取款过程的描述:储户凭借存折到银行取款,取款过程的描述:储户凭借存折到银行取款,银行工作人员对存折的合法性进行检验,检验银行工作人员对存折的合法性进行检验,检验的过程需要读取银行的帐卡,如果不符合取款的过程需要读取银行的帐卡,如果不符合取款条件
20、,那么将检验出的问题告知储户,如果符条件,那么将检验出的问题告知储户,如果符合取款条件,进行记帐处理,将取款信息写入合取款条件,进行记帐处理,将取款信息写入帐卡和存折,进行付款操作,将现金和存折交帐卡和存折,进行付款操作,将现金和存折交给储户。给储户。描述银行取款过程的数据流图描述银行取款过程的数据流图结构化分析结构化分析三、数据字典三、数据字典数据字典数据字典以一种准确的和无二义的方式以一种准确的和无二义的方式定义所有被加工引用的数据流和数据存定义所有被加工引用的数据流和数据存储,通常包括三类内容:数据流、数据储,通常包括三类内容:数据流、数据存储、数据项。存储、数据项。例如:存折例如:存折
21、结构化分析结构化分析四、小说明四、小说明小说明小说明是用来描述加工的,在一个分层是用来描述加工的,在一个分层的数据流图中,上层的加工通过细化分的数据流图中,上层的加工通过细化分解为下层的更具体的加工。原则上,只解为下层的更具体的加工。原则上,只要说明了最底层的基本加工,就可以理要说明了最底层的基本加工,就可以理解上层的加工,所以可以只描述基本加解上层的加工,所以可以只描述基本加工。工。结构化分析结构化分析小说明集中描述一个加工小说明集中描述一个加工“做什么做什么”,即加工逻辑,指用户对这个加工的逻辑即加工逻辑,指用户对这个加工的逻辑要求,这个加工的输入数据和输出数据要求,这个加工的输入数据和输
22、出数据的逻辑关系。的逻辑关系。目前小说明一般还是用目前小说明一般还是用自然语言自然语言、结构结构化自然语言化自然语言、判定表判定表和和判定树判定树等来描述。等来描述。结构化分析结构化分析1、结构化自然语言(结构化英语)、结构化自然语言(结构化英语)结构化自然语言是介于结构化自然语言是介于形式语言形式语言和和自然自然语言语言之间的一种语言,它虽然没有形式之间的一种语言,它虽然没有形式语言那样严格,但具有自然语言简单易语言那样严格,但具有自然语言简单易懂的特点,同时又避免了自然语言结构懂的特点,同时又避免了自然语言结构松散的缺点。松散的缺点。结构化分析结构化分析结构化自然语言的语法通常分为结构化自
23、然语言的语法通常分为内外两内外两层层,外层语法描述操作的,外层语法描述操作的控制结构控制结构,如,如顺序、选择、循环等,这些控制结构将顺序、选择、循环等,这些控制结构将加工中的各个操作连接起来。内层语法加工中的各个操作连接起来。内层语法一般没有什么限制,就用一般没有什么限制,就用自然语言自然语言描述。描述。例如:商店业务系统处理中例如:商店业务系统处理中“检查发货单检查发货单”结构化分析结构化分析2、判定表、判定表判定表常用来描述一些不易用语言表达判定表常用来描述一些不易用语言表达清楚或需要很大篇幅才能用语言表达清清楚或需要很大篇幅才能用语言表达清楚的加工。楚的加工。结构化分析结构化分析例例如
24、如:在在飞飞机机票票预预订订系系统统中中,在在旅旅游游旺旺季季的的510月月份份,如如果果订订票票超超过过20张张,优优惠惠票票价价的的15%;20张张以以下下,优优惠惠5%;在在旅旅游游淡淡季季的的14,1112月月份份,定定票票超超过过20张张,优优惠惠票票价价的的30%;20张张以下,优惠以下,优惠20%。结构化分析结构化分析旅游旅游时时间间510月月14,1112月月订订票票量量20202020折扣折扣量量5%1520%30%结构化分析结构化分析3、判定树、判定树判定树用图形形式描述加工逻辑,其特判定树用图形形式描述加工逻辑,其特点是结构清晰,易读易懂。点是结构清晰,易读易懂。例如:例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 4、软件工程第2章 软件项目的需求分析 软件工程 软件 项目 需求 分析
限制150内