《第3章--需求分析课件》由会员分享,可在线阅读,更多相关《第3章--需求分析课件(64页珍藏版)》请在金锄头文库上搜索。
1、河北工业大学廊坊分院计算机系软件定义软件定义软件开发软件开发软件使用软件使用与维护与维护复习:软件生存周期复习:软件生存周期第三章第三章 需求分析需求分析3.1 需求分析概述需求分析概述软件需求软件需求是指用户对目标软件系统在功能、性能、行是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。为、设计约束等方面的期望。需求分析就是通过对需求分析就是通过对应用问题及其环境应用问题及其环境的分析与理解,的分析与理解,采用一系列的分析方法和技术,将采用一系列的分析方法和技术,将用户的需求用户的需求逐步精逐步精确化、完全化、一致化,最终形成需求规格说明文档确化、完全化、一致化,最终形成需求规
2、格说明文档的过程。的过程。系统分析阶段产生的系统规格说明和项目规划是软件系统分析阶段产生的系统规格说明和项目规划是软件需求分析的基础,分析人员需从软件的角度对其进行需求分析的基础,分析人员需从软件的角度对其进行检查和调整,并在此基础上展开需求分析。检查和调整,并在此基础上展开需求分析。需求分析阶段的需求分析阶段的成果成果主要是主要是需求规格说明,需求规格说明,该成该成果又是软件设计、编码、测试直至维护的主要基果又是软件设计、编码、测试直至维护的主要基础。础。需求分析是需求分析是系统分析和软件设计的重要桥梁,系统分析和软件设计的重要桥梁,是是软件生存周期的关键性阶段。良好的分析活动能软件生存周期
3、的关键性阶段。良好的分析活动能够减少错误和遗漏,从而可提高软件生产率和产够减少错误和遗漏,从而可提高软件生产率和产品质量、降低开发与维护成本。品质量、降低开发与维护成本。需求分析需求分析F 需求分析的任务:需求分析的任务: 准确的回答准确的回答“系统必须做什么?系统必须做什么?”仍然回答仍然回答“What”,而不是而不是“How”, 但更细致、精确(合同的拟定)但更细致、精确(合同的拟定)v需求分析是发现、求精、建模、规格说明需求分析是发现、求精、建模、规格说明和复审的过程;和复审的过程;v需求分析是系统设计的基础,关系到程的需求分析是系统设计的基础,关系到程的成败和软件产品的质量。成败和软件
4、产品的质量。重要性重要性需求获取需求获取困难困难原因有三原因有三一是用户需求的动态性一是用户需求的动态性( (不稳定性不稳定性) ) 二是需求的模糊性二是需求的模糊性( (不准确性不准确性) ) 三是需求必须得到用户的确认,否则毫无三是需求必须得到用户的确认,否则毫无意义意义 4.1 需求分析基础需求分析基础-需求分析的重要性需求分析的重要性 需求工程需求工程需求开发需求开发需求管理需求管理综合分析综合分析问题获取问题获取需求描述需求描述需求确认需求确认版本控制版本控制变更控制变更控制需求跟踪需求跟踪状态跟踪状态跟踪人们把创建和维护系统需求所必须的一切活动称之为需人们把创建和维护系统需求所必须
5、的一切活动称之为需求工程求工程v3.2 需求分析的任务与原则需求分析的任务与原则v3.2.1 需求分析的任务需求分析的任务需求分析就是为了深入理解软件的功能和性能,并用规格需求分析就是为了深入理解软件的功能和性能,并用规格说明书的方式表达出来。包括两个层面:说明书的方式表达出来。包括两个层面:(1)理解。理解用户的用意。)理解。理解用户的用意。(2)表达。产生规格说明书。)表达。产生规格说明书。软件开发是为了实现目标系统的物理模型,即确定软软件开发是为了实现目标系统的物理模型,即确定软件系统的元素极其这些元素是功能和结构,这些是软件实件系统的元素极其这些元素是功能和结构,这些是软件实现的基础。
6、而物理模型是由逻辑模型实例化而来,逻辑模现的基础。而物理模型是由逻辑模型实例化而来,逻辑模型忽略实现机制和细节,只描述系统的功能和需要处理的型忽略实现机制和细节,只描述系统的功能和需要处理的数据。所以分析人员首先要获得目标系统的逻辑模型。数据。所以分析人员首先要获得目标系统的逻辑模型。目标系统的逻辑模型可分目标系统的逻辑模型可分3步来实现:步来实现:(1 1)获得当前系统的物理模型)获得当前系统的物理模型了解当前系统的组织机构、输入输出、资源利用情况和日了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,分析理解当前系统的运行(也即理解当常数据处理过程,分析理解当前系统的运行(也
7、即理解当前系统怎么做),并用一个具体的能反映现实的模型来表前系统怎么做),并用一个具体的能反映现实的模型来表示。示。(2 2)抽象出当前系统的逻辑模型)抽象出当前系统的逻辑模型从上个步骤的从上个步骤的“怎么做怎么做”抽取系统抽取系统“做什么做什么”的本质,舍的本质,舍弃非本质的东西,即可抽象出当前系统的逻辑模型。弃非本质的东西,即可抽象出当前系统的逻辑模型。(3 3)建立目标系统的逻辑模型)建立目标系统的逻辑模型需明确目标系统是做什么,一般先比较目标系统和当前系需明确目标系统是做什么,一般先比较目标系统和当前系统的差别,对功能图(数据流图)及对象图变化的部分做统的差别,对功能图(数据流图)及对
8、象图变化的部分做相应的调整,获得目标系统的逻辑模型。相应的调整,获得目标系统的逻辑模型。当前系统当前系统物理模型物理模型逻辑模型逻辑模型逻辑模型逻辑模型物理模型物理模型目标系统目标系统模型化模型化抽象化抽象化实例化实例化具体化具体化怎么做怎么做做什么做什么理解需求理解需求表达需求表达需求导出导出v(1)获得当前系统的物理模型 v采购员购货物理模型 采采购购员员 采采购购员员会计室会计室 陈陈出纳员出纳员 江江供货商供货商 王王采采购购申申请请购购货货单单采采购购单单发发票票货货物物主管主管 李李v(2)抽象出当前系统的逻辑模型: v采购员购货逻辑模型 采采购购员员 采采购购员员开发开发票票开购
9、开购货单货单供货供货采采购购申申请请购购货货单单采采购购单单发发票票货货物物审查审查有效有效v(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型。v目标系统的逻辑模型 采采购购员员 采采购购员员审查审查开发开发供货供货购购货货采采购购单单发发票票v3.2.2 需求分析的原则需求分析的原则v1 必须能够表达和理解问题的数据域和功必须能够表达和理解问题的数据域和功能域能域v2 按自顶向下、逐层分解的方式对问题进按自顶向下、逐层分解的方式对问题进行分解和不断细化行分解和不断细化v3 要给出系统的逻辑视图和物理视图要给出系统的逻辑视图和物理视图v3.3 需求分析的过程及方法需求分析的过程及方法
10、v3.3.1 需求分析的过程需求分析的过程v需求分析阶段可分成需求分析阶段可分成4个步骤:个步骤:v问题识别问题识别v需求分析需求分析v制定规格说明书制定规格说明书v评审评审v1 问题识别问题识别v1)功能需求:是最主要的需求,即说明软件应做什么,)功能需求:是最主要的需求,即说明软件应做什么,它列出了软件在功能上必须完成的它列出了软件在功能上必须完成的v2)性能需求:软件的技术性能指标,如存储容量、运行)性能需求:软件的技术性能指标,如存储容量、运行时间、安全保密等。时间、安全保密等。v3)环境需求:对软件可能运行的环境的描述,比如必须)环境需求:对软件可能运行的环境的描述,比如必须采用什么
11、支持系统运行的系统软件,采用什么支持系统运行的系统软件,v4)安全保密要求:软件运行在不同的环境中,对安全保)安全保密要求:软件运行在不同的环境中,对安全保密的要求是不同的,对那些保密性密的要求是不同的,对那些保密性v5)用户界面需求:以人为本的思想在现代社会中越来越)用户界面需求:以人为本的思想在现代社会中越来越受到人们的重视。在软件开发行业受到人们的重视。在软件开发行业v6)资源使用需求:软件运行时必须使用的一定资源,如)资源使用需求:软件运行时必须使用的一定资源,如数据、内存空间等资源,资源使用数据、内存空间等资源,资源使用v7)软件成本消耗与开发进度需求:根据合同对软件开发)软件成本消
12、耗与开发进度需求:根据合同对软件开发的进度,及各步骤的费用的要求,的进度,及各步骤的费用的要求,v8)预先估计以后系统可能达到的目标:这是对系统的未)预先估计以后系统可能达到的目标:这是对系统的未来可能出现的情况(修改)的准备来可能出现的情况(修改)的准备.v考察质量因素的主要属性有:考察质量因素的主要属性有:(1)操作:)操作:正确性:系统中的错误数目。正确性:系统中的错误数目。可用性:学习系统的容易程度,执行日常任务的有效可用性:学习系统的容易程度,执行日常任务的有效程度等。程度等。有效性:也称为性能,它指系统响应的速度,使用资有效性:也称为性能,它指系统响应的速度,使用资源的多少等。源的
13、多少等。完整性:系统处理物理干扰、非法操作的好坏。完整性:系统处理物理干扰、非法操作的好坏。可靠性:系统故障的频度。可靠性:系统故障的频度。(2)修改:)修改:可维护性:定位错误、修复的难易度。可维护性:定位错误、修复的难易度。灵活性:扩充新特性的难易度。灵活性:扩充新特性的难易度。可测试性:测试系统的容易程度。可测试性:测试系统的容易程度。(3)转移:)转移:互操作性:系统与其他系统协同工作的难易度。互操作性:系统与其他系统协同工作的难易度。可移植性:移植系统到新硬件平台或新软件的难易度。可移植性:移植系统到新硬件平台或新软件的难易度。可重用性:把部分软件用于其他系统的难易度。可重用性:把部
14、分软件用于其他系统的难易度。v2。需求分析。需求分析v这个阶段对已收集的需求进行提炼、分析和审查,即对问这个阶段对已收集的需求进行提炼、分析和审查,即对问题的分析和方案的综合,确保所有的需求含义都被理解,题的分析和方案的综合,确保所有的需求含义都被理解,并找出可能错误,遗漏或不足的地方。并找出可能错误,遗漏或不足的地方。v分析人员在这一步骤中的任务是根据对问题及其环境的理分析人员在这一步骤中的任务是根据对问题及其环境的理解与软件开发经验,改正用户需求的模糊性、歧义性和不解与软件开发经验,改正用户需求的模糊性、歧义性和不一致性,排除由于用户的片面性和短期行为所导致的不合一致性,排除由于用户的片面
15、性和短期行为所导致的不合理要求、挖掘用户尚未提出但具有价值的潜在需求,并在理要求、挖掘用户尚未提出但具有价值的潜在需求,并在用户的帮助下对相互冲突的要求进行折衷,使用户需求逐用户的帮助下对相互冲突的要求进行折衷,使用户需求逐步精确化、一致化和完全化。步精确化、一致化和完全化。v需求分析的困难性:需求分析的困难性:v1)问题的复杂性。这是由用户需求所涉及的因素繁多引)问题的复杂性。这是由用户需求所涉及的因素繁多引起的,如运行环境和系统功能等。起的,如运行环境和系统功能等。v2)交流障碍。需求分析涉及人员较多,有用户,工程师,)交流障碍。需求分析涉及人员较多,有用户,工程师,管理员等,这些人具有不
16、同的背景知识,扮演不同的角色,管理员等,这些人具有不同的背景知识,扮演不同的角色,他们难于陈述他们的需求,造成彼此交流的困难。他们难于陈述他们的需求,造成彼此交流的困难。v3)不完备和不一致性。用户对问题的描述一般不完备,)不完备和不一致性。用户对问题的描述一般不完备,甚至可能是矛盾的,需求分析必须要消除矛盾。甚至可能是矛盾的,需求分析必须要消除矛盾。v4)需求易变性。用户的需求变动,影响到需求分析的全)需求易变性。用户的需求变动,影响到需求分析的全部。比如当用户在某处看到一个更好的系统时,他也可能部。比如当用户在某处看到一个更好的系统时,他也可能会意识到他自己需要类似的系统。会意识到他自己需
17、要类似的系统。v5)产品是全新的,还没有用户,也没有人将)产品是全新的,还没有用户,也没有人将IT用于这类用于这类应用。应用。在这一过程中,需要用某种方法为原始问题及其软件在这一过程中,需要用某种方法为原始问题及其软件解建立模型,以便精确地记录用户从各个视点、在不解建立模型,以便精确地记录用户从各个视点、在不同抽象级别上对原始问题的描述,并包含了问题及其同抽象级别上对原始问题的描述,并包含了问题及其环境所涉及的信息流、处理功能、用户界面、行为及环境所涉及的信息流、处理功能、用户界面、行为及设计约束等各方面内容。设计约束等各方面内容。于是可通过对模型的精确化来达到需求分析的目标。于是可通过对模型
18、的精确化来达到需求分析的目标。比如,可以采用面向数据流的分析方法,利用数据流比如,可以采用面向数据流的分析方法,利用数据流图和数据字典等工具来建立模型。图和数据字典等工具来建立模型。该模型是形成需求规格说明、进行软件设计的基础。该模型是形成需求规格说明、进行软件设计的基础。3 。制定规格说明书制定规格说明书该该步步骤骤的的主主要要任任务务是是以以需需求求模模型型为为基基础础,生生成成需需求求规规格格说说明明和和初初步步的的用用户户手手册册,并并制制定定软软件件产品验收测试计划。产品验收测试计划。需需求求规规格格说说明明是是软软件件项项目目的的一一个个关关键键性性文文档档。其其中中应应包包含含对
19、对目目标标软软件件系系统统的的功功能能、外外部部行行为为、性性能能、质质量量、可可靠靠性性、可可维维护护性性、约约束束条条件件和和需求验证标准等的完整的描述。需求验证标准等的完整的描述。初初步步用用户户手手册册应应包包括括目目标标软软件件系系统统的的用用户户界界面面的描述和使用方法的初步构想。的描述和使用方法的初步构想。验收测试计划是进行软件产品验收测试的依据。验收测试计划是进行软件产品验收测试的依据。4 4 。评审。评审需求评审是软件开发过程中的一个重要的里程碑。需求评审是软件开发过程中的一个重要的里程碑。需需求求评评审审的的主主要要任任务务是是分分析析人人员员在在用用户户(客客户户)和和软
20、软件件设设计计人人员员的的配配合合下下对对需需求求规规格格说说明明和和初初步步用用户户手手册册进进行行审审核核,检检验验软软件件需需求求的的精精确确性性、完完全全性性和和一一致致性性,并并使使用用户户(客客户户)和和软软件件设设计计人人员员对对规规格格说说明明和和用用户户手手册册达达成一致的理解。成一致的理解。经经过过评评审审确确认认的的需需求求规规格格说说明明将将成成为为客客户户方方与与开开发发方方的的合合同同。如如果果评评审审未未通通过过,比比如如发发现现了了遗遗漏漏或或错错误误,则则必必须进行迭代,直至通过评审为止。须进行迭代,直至通过评审为止。1 1、确定对系统的综合要求、确定对系统的
21、综合要求2 2、分析系统的数据要求、分析系统的数据要求3 3、异出系统的逻辑模型、异出系统的逻辑模型4 4、修正项目开发划、修正项目开发划5 5、开发原型系统、开发原型系统 与软件实际运行相关的需求分析任务与软件实际运行相关的需求分析任务需求分析的任务需求分析的任务3.3.2 需求分析的一般性技术需求分析的一般性技术3.3.2.1 初步需求获取技术初步需求获取技术在在分分析析阶阶段段的的初初期期,由由于于分分析析人人员员和和用用户户的的共共同同知知识识领领域域可可能能不不多多,致致使使分分析析人人员员对对问问题题往往往往知知之之不不多多,而而用用户户对对目目标标软软件件的的要要求求及及对对要要
22、求求的的描描述述常常常常是是零零乱乱而而模模糊糊的的,从从而而会会造造成成相相互互交交流流和和相相互互理理解解上上的的困困难难。为为了了克克服服困困难难,获取初步需求,可以采用如下的技术手段:获取初步需求,可以采用如下的技术手段: 访谈与会议;访谈与会议; 观察用户工作流程;观察用户工作流程; 分析人员和用户组成联合小组。分析人员和用户组成联合小组。1访谈与会议访谈与会议分分析析人人员员采采用用个个别别访访谈谈或或小小组组会会议议的的形形式式与与用用户户进进行行初初步步交交流流。在在访访谈谈和和会会议议之之前前,分分析析人人员员根根据据对对问问题题的的初初步步描描述述精精心心准准备备一一系系列
23、列问问题题,通通过过用用户户对对问问题题的的回回答答或或互互相相商商讨讨来来逐逐步理解用户的需求。步理解用户的需求。准备问题的原则有:准备问题的原则有:首先应搞清一般性、整体性问题,然后再涉及细节问题。首先应搞清一般性、整体性问题,然后再涉及细节问题。在在组组织织问问题题时时要要尽尽量量做做到到客客观观、公公证证,不不应应限限制制用用户户的的自自由由发挥。发挥。所所提提问问题题汇汇总总后后应应能能反反映映应应用用问问题题及及其其子子问问题题的的全全貌貌、并并且且不要过分详细。不要过分详细。2观察用户工作流程观察用户工作流程如如果果可可能能,可可通通过过实实际际观观察察用用户户的的手手工工操操作
24、作过过程来提取新系统的初步用户需求。程来提取新系统的初步用户需求。观观察察手手工工操操作作过过程程不不是是为为了了模模拟拟手手工工操操作作过过程程,而而是是为为了了获获取取第第一一手手资资料料,并并从从中中提提取取出出有有价价值值的的需需求求。分分析析人人员员有有了了第第一一手手资资料料,再再结结合合自自己己的的软软件件开开发发和和应应用用的的经经验验,就就能能够够发发现现不不合合理理的的用用户户需需求求、提提出出用用户户还还没没有有意意识识到到的的潜潜在在的的但但却却很很有有价价值值的的用用户户需需求求,并并能能够够从从软软件件的的角角度度改改进进操操作作流流程程和和操操作作规规范范,从从而
25、而可可获获得得用户满意的分析结果。用户满意的分析结果。3用户和开发人员共同组成联合小组用户和开发人员共同组成联合小组为为加加强强信信息息沟沟通通、减减少少误误解解和和避避免免产产生生遗遗漏漏、充充分分调调动动用用户户的的积积极极性性,在在可可能能的的条条件件下下,可可以建立由开发方和用户方共同组成的联合小组。以建立由开发方和用户方共同组成的联合小组。联联合合小小组组除除了了双双方方的的分分析析人人员员外外,应应设设专专门门的的记记录录员员、负负责责会会议议议议程程的的人人员员和和资资料料员员等等,并并制制定定小小组组的的规规章章制制度度和和计计划划,选选定定一一种种易易于于理理解解、简简洁洁、
26、精精确确的的表表示示机机制制作作为为双双方方的的共共同同语语言,比如采用带文字说明的流程图等。言,比如采用带文字说明的流程图等。3.3.2.2 需求建模技术需求建模技术为为了了使使用用户户需需求求逐逐步步精精细细化化、完完全全化化、一一致致化化,通通常常采采用用需需求求建建模模技技术术,即即用用建建立立目目标标软软件件系系统统模模型型的的方方法来刻画软件系统中的信息、处理功能和外部行为。法来刻画软件系统中的信息、处理功能和外部行为。通通常常,分分析析人人员员选选定定一一种种分分析析方方法法,并并用用该该方方法法中中的的一一些些图图形形记记号号分分别别表表示示信信息息流流、处处理理功功能能和和系
27、系统统行行为为,并并利利用用受受限限制制的的自自然然语语言言给给出出用用户户需需求求的的描描述述。这这种种模模型型的的表表示示机机制制还还应应具具有有良良好好的的结结构构化化能能力力,以以便便处处理大型问题的按层次分解的问题。理大型问题的按层次分解的问题。软软件件需需求求分分析析的的过过程程,实实际际上上是是软软件件模模型型的的建建造造和和不不断完善的过程。断完善的过程。需求建模的步骤需求建模的步骤通通过过访访谈谈、会会议议、实实际际观观察察、分分析析现现有有系系统统等等方方法法获获取取初初步步的的用户需求。用户需求。在在初初步步用用户户需需求求的的基基础础上上构构筑筑初初步步的的模模型型作作
28、为为开开发发方方和和用用户户相相互沟通的表示机制。互沟通的表示机制。在在用用户户的的密密切切配配合合下下,利利用用选选定定的的分分析析方方法法不不断断地地对对模模型型进进行行精细化、一致化、完全化,直至获得满意的用户需求为止。精细化、一致化、完全化,直至获得满意的用户需求为止。在在分分析析阶阶段段构构筑筑的的模模型型不不应应涉涉及及软软件件实实现现的的细细节节,以以免免分分散散分分析析人人员员的的注注意意力力、限限制制软软件件设设计计人人员员为为提提高高软软件件质质量量和和效效率率而而选择实现方法的自由度。选择实现方法的自由度。需需求求分分析析结结束束时时确确立立的的软软件件模模型型是是生生成
29、成需需求求规规格格说说明明的的依依据据,也是软件设计和实现的基础。也是软件设计和实现的基础。3.3.2.3 快速原型技术快速原型技术 如如果果按按照照传传统统的的软软件件开开发发方方法法,需需要要经经过过漫漫长长的的开开发发时时间间之之后后用用户户才才能能看看到到目目标标软软件件的的最最初初版版本本。此此时时用用户户常常常常会会提提出出许许多多修修改改意意见见,有有时时甚甚至至全全盘盘否否定定,导导致致开开发发失失败败。为为了了降降低低开开发发风风险险,在在需需求求分分析阶段常常采用快速原型技术。析阶段常常采用快速原型技术。 1快速原型技术的基本思想快速原型技术的基本思想 在在软软件件开开发发
30、的的早早期期,快快速速开开发发一一个个目目标标软软件件系系统统的的原原型型,让让用用户户对对其其进进行行评评价价并并提提出出修修改改意意见见,然然后后开开发发人人员员根根据据用用户户的的意意见见对对原原型型进进行行改改进进。当当原原型型几几经经改改进进最最终终确确认认后后,它它将将直直接接进进化化成成软软件件产产品品,或或者者由由软软件件设设计计、编编码码人人员员按按照照模模型型所所确确立立的的外外部部特征去实现软件产品。特征去实现软件产品。2采用快速原型技术的具体步骤采用快速原型技术的具体步骤采采用用一一种种分分析析方方法法生生成成一一个个软软件件系系统统或或其其中中所所关关心心部部分的简化
31、需求规格说明。分的简化需求规格说明。对对该该规规格格说说明明进进行行评评审审通通过过后后,立立即即生生成成设设计计规规格格说说明明。为为了了快快速速生生成成原原型型,这这种种设设计计仅仅注注重重所所关关心心的的问问题题,如如软软件件的的总总体体结结构构、用用户户界界面面和和数数据据设设计计、或或者者某个复杂的算法等等,不注重过程内部的控制流设计。某个复杂的算法等等,不注重过程内部的控制流设计。使使用用可可重重用用软软部部件件、用用户户界界面面自自动动生生成成器器等等工工具具快快速速生成可运行的软件原型并通过测试。生成可运行的软件原型并通过测试。将原型提交给用户进行评价,以便征求改进意见。将原型
32、提交给用户进行评价,以便征求改进意见。上上述述过过程程反反复复迭迭代代,直直至至用用户户完完全全满满意意。此此时时的的原原型型已已完完全全、准准确确地地反反映映了了目目标标软软件件在在所所关关心心方方面面的的需需求求,可作为需求规格说明的一部分而成为软件设计的基础。可作为需求规格说明的一部分而成为软件设计的基础。3快速原型技术的适用场合快速原型技术的适用场合该该技技术术特特别别适适合合于于软软件件产产品品要要求求大大量量的的用用户户交交互互、或或产产生生大大量量的的可可视视输输出出、或或设设计计一一些些复复杂杂的的算算法法等等场场合合,目目前前的的绝绝大大多多数数软件都适合于快速原型技术。软件
33、都适合于快速原型技术。除除非非由由于于问问题题相相当当复复杂杂,致致使使开开发发快快速速原原型型可可以以获获得得的的支支持持太太少少、所所冒冒的的风风险险太太大大时时,就就不不易易采采用用。但但对对于于其其中中的的某某些些子子问问题题,尤尤其其是是用用户户界界面面,还还可可采采用用快快速速原原型型技术进行部分分析。技术进行部分分析。3.3.2.4 问题分解与抽象、多视点分析技术问题分解与抽象、多视点分析技术问题分解技术问题分解技术 分分析析人人员员常常常常采采用用一一种种问问题题分分解解的的技技术术。即即将将一一个个大大型型复复杂杂的的问问题题分分解解为为若若干干个个子子问问题题,然然后后对对
34、每每一一个个子子问问题题逐逐个个进进行行分分析析,再再自自底底向向上上综综合合成成整整个个问问题题的的分分析析结结果果。这这种种分分解解可可以以逐逐级级进进行行,直直至至子子问问题题的规模降到合适的程度。的规模降到合适的程度。问题抽象技术问题抽象技术 分分析析人人员员在在分分析析过过程程中中要要善善于于从从诸诸多多的的特特殊殊问问题题中中抽抽象象出出一一般般的的问问题题,首首先先关关注注一一般般问问题题的的解解决决途途径径,再再用用其其指指导导特特殊殊问问题题的的求求解解。在在抽抽象象的的过过程程中中,还还要要注注意意用用户户的的描描述述所所处处的的抽抽象象级级别别的的不不同同,以以便便建建立
35、清晰的思路。立清晰的思路。多视点分析技术:多视点分析技术: 为了获得全面的需求分析结果,防止遗漏,有必要从各个视点分别对为了获得全面的需求分析结果,防止遗漏,有必要从各个视点分别对问题进行理解与分析,然后综合成全面的理解。分析人员可以就系统问题进行理解与分析,然后综合成全面的理解。分析人员可以就系统视点与用户视点、信息视点、功能视点与行为视点等多个视点分别进视点与用户视点、信息视点、功能视点与行为视点等多个视点分别进行分析,以确保需求分析的完全性。行分析,以确保需求分析的完全性。v软件需求建模软件需求建模在软件的需求过程中,经常采用分析建模的方法。在软件的需求过程中,经常采用分析建模的方法。v
36、1 软件建模软件建模在软件工程中,模型就是表在软件工程中,模型就是表达分析结果的一种图形。需达分析结果的一种图形。需求模型有以下图几种。求模型有以下图几种。行为模型功能模型数据模型状态图数据流图实体关系图数据字典v2 2 数据模型数据模型v数据模型是描述数据对象之间的关系数据模型是描述数据对象之间的关系v1 1)数据对象:几乎所有必须被软件理解的复合信息都可)数据对象:几乎所有必须被软件理解的复合信息都可称为数据对象。复合信息是指具有不同特性或属性的事物。称为数据对象。复合信息是指具有不同特性或属性的事物。v数据对象:是现实世界中实体的数据表现;是省略了功能数据对象:是现实世界中实体的数据表现
37、;是省略了功能和行为的实体。和行为的实体。v2 2)数据对象由其属性刻画。通常属性包括:)数据对象由其属性刻画。通常属性包括:v(1 1)对数据对象实例命名)对数据对象实例命名v(2 2)描述实例)描述实例v(3 3)引用另一个实例)引用另一个实例v一般而言,现实世界中任何给定实体都具有许多属性,分一般而言,现实世界中任何给定实体都具有许多属性,分析人员应当并且只能考虑与应用问题有关的属性。例如,析人员应当并且只能考虑与应用问题有关的属性。例如,在汽车销售管理问题中,汽车的属性可能有:制造商、型在汽车销售管理问题中,汽车的属性可能有:制造商、型号、标识码、车体类型、颜色和买主。号、标识码、车体
38、类型、颜色和买主。v3 3)关系:数据对象之间的关联,如顾客与商品是)关系:数据对象之间的关联,如顾客与商品是“买买”关系,商品与店主是关系,商品与店主是“卖卖”关系。关系。v这种关联有这种关联有3 3种形态:种形态:v(1 1)1 1:1. 1. 一对一关系,如:一个部门有一个主任一对一关系,如:一个部门有一个主任v(2 2)1 1:N N 一对多关系,如:一个公司有多个职员一对多关系,如:一个公司有多个职员v(3 3)M M:N N 多对多关系,如:一个职员有多个任务,多对多关系,如:一个职员有多个任务,一个任务可以由多个职员来完成一个任务可以由多个职员来完成v4 4)E ER R图图实实
39、体体- -关关系系(Entity-RelationEntity-Relation)图图简简称称E-RE-R图图,是是表表示示数数据对象及其之间关系的图形语言机制。据对象及其之间关系的图形语言机制。数数据据对对象象(实实体体)用用长长方方形形、关关系系用用菱菱形形、属属性性用用椭椭圆圆表表示。示。v3 3 功能模型功能模型v功能模型可以用数据流图描述,所以也称数据流模型。数据流模型描功能模型可以用数据流图描述,所以也称数据流模型。数据流模型描绘信息流和数据从输入到输出,以及被加工处理(变换)的过程,人绘信息流和数据从输入到输出,以及被加工处理(变换)的过程,人们常用数据模型和数据流模型来描述系统
40、的信息结构。们常用数据模型和数据流模型来描述系统的信息结构。v4 4 行为模型行为模型v在分析模型中,有些数据加工并非是数据来触发的,而是由实时发生在分析模型中,有些数据加工并非是数据来触发的,而是由实时发生的事件来触发的,传统的数据流图已经无法表示,因为实时控制系统的事件来触发的,传统的数据流图已经无法表示,因为实时控制系统很少有数据输入,主要是事件驱动的。因此用由状态图表示的行为模很少有数据输入,主要是事件驱动的。因此用由状态图表示的行为模型是最有效的描述方式,行为模型在实时系统的分析及设计中,发挥型是最有效的描述方式,行为模型在实时系统的分析及设计中,发挥了很大的优势。了很大的优势。v状
41、态图(状态转换图)用来描述行为模型,行为模型也称状态机模型,状态图(状态转换图)用来描述行为模型,行为模型也称状态机模型,通过描述系统的状态以及引起状态转换的事件来表示系统的行为。通过描述系统的状态以及引起状态转换的事件来表示系统的行为。v状态图有事件、状态、行为等基本元素。事件是引起状态转换的控制状态图有事件、状态、行为等基本元素。事件是引起状态转换的控制信息,它发生在某个特定的时刻,引起系统从一个状态转换到另一个信息,它发生在某个特定的时刻,引起系统从一个状态转换到另一个状态。状态。 v3.3.3 需求分析方法需求分析方法v1 概述概述v(1)结构化分析:结构化分析是面向数据流进行)结构化
42、分析:结构化分析是面向数据流进行需求分析的方法,适合于数据处理类型软件的需需求分析的方法,适合于数据处理类型软件的需求分析。求分析。v(2)结构化设计:结构化设计包括结构化概要设)结构化设计:结构化设计包括结构化概要设计和结构化详细设计两个方面,以模块化技术为计和结构化详细设计两个方面,以模块化技术为基础。它是在结构化需求分析的基础上,建立软基础。它是在结构化需求分析的基础上,建立软件的系统结构,设计一般的数据结构和软件模块件的系统结构,设计一般的数据结构和软件模块结构。结构。v(3)结构化程序设计:这阶段的工作是把软件设)结构化程序设计:这阶段的工作是把软件设计转换成计算机可以接受的源程序。
43、计转换成计算机可以接受的源程序。面向数据流的分析方法面向数据流的分析方法面向数据流的分析方法(面向数据流的分析方法(dataflow-oriented analysis method)与面向数据、面向对象的分析方法,都是需求建模与面向数据、面向对象的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,用于需求分析人员方法。它们均有一组规范的语言表达机制,用于需求分析人员表达用户需求、构造软件系统模型。此外,它们还含有一些规表达用户需求、构造软件系统模型。此外,它们还含有一些规则和经验知识,指导分析人员提取需求信息,促进用户需求精则和经验知识,指导分析人员提取需求信息,促进用户需求精确化
44、、全面化和一致化。确化、全面化和一致化。面向数据流的分析方法是结构化分析方法系列中的一支,具有面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。结构化分析方法的雏形出现于明显的结构化特征。结构化分析方法的雏形出现于20世纪世纪60年代后期。但是,直到年代后期。但是,直到1979年才由年才由DeMarco将其作为一种需将其作为一种需求分析方法正式提出。由此,结构化分析方法得到了迅速发展求分析方法正式提出。由此,结构化分析方法得到了迅速发展和广泛应用。和广泛应用。 面向数据流的分析方法(面向数据流的分析方法(dataflow-oriented analysis method)
45、与面向数据、面向对象的分析方法,都是需求建模与面向数据、面向对象的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,用于需求分析人员方法。它们均有一组规范的语言表达机制,用于需求分析人员表达用户需求、构造软件系统模型。此外,它们还含有一些规表达用户需求、构造软件系统模型。此外,它们还含有一些规则和经验知识,指导分析人员提取需求信息,促进用户需求精则和经验知识,指导分析人员提取需求信息,促进用户需求精确化、全面化和一致化。确化、全面化和一致化。面向数据流的分析方法是结构化分析方法系列中的一支,具有面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。结构化分析方法的雏
46、形出现于明显的结构化特征。结构化分析方法的雏形出现于20世纪世纪60年代后期。但是,直到年代后期。但是,直到1979年才由年才由DeMarco将其作为一种需将其作为一种需求分析方法正式提出。由此,结构化分析方法得到了迅速发展求分析方法正式提出。由此,结构化分析方法得到了迅速发展和广泛应用。和广泛应用。结构化分析使用数据流图、数据字典、结构化语言、判定树和结构化分析使用数据流图、数据字典、结构化语言、判定树和判定表来描述结构化分析判定表来描述结构化分析结构化分析结构化分析=数据流数据流+数据处理(加工)数据处理(加工)+数据存储数据存储+端点端点+处理处理说明说明+数据字典数据字典 面向数据流的
47、分析方法面向数据流的分析方法一、一、 数据流图与数据字典数据流图与数据字典一个基于计算机的信息处理系统由数据流和一个基于计算机的信息处理系统由数据流和一系列的转换构成,而这些转换将输入数据一系列的转换构成,而这些转换将输入数据流变换为输出数据流。流变换为输出数据流。数据流图数据流图(DFD) ,又称数据流程图,是结构,又称数据流程图,是结构化分析的主要描述工具。数据流图就是用来化分析的主要描述工具。数据流图就是用来刻画数据流和转换的信息系统建模技术。刻画数据流和转换的信息系统建模技术。 它是以图形的方式来表达数据处理系统中它是以图形的方式来表达数据处理系统中信息的逻辑流向、逻辑功能和逻辑变换,
48、而不依信息的逻辑流向、逻辑功能和逻辑变换,而不依赖于硬件、软件、数据结构或者文件组织,因此赖于硬件、软件、数据结构或者文件组织,因此,数据流图是软件人员与用户之间非常好的交流,数据流图是软件人员与用户之间非常好的交流工具,也是进一步系统设计的出发点工具,也是进一步系统设计的出发点。数据流图用简单的图形记号分别表示数据流、数据流图用简单的图形记号分别表示数据流、转换、数据源以及外部实体,如下图所示。转换、数据源以及外部实体,如下图所示。1. 数据流图的图形记号外部实体外部实体外外部部实实体体(源源点点和和终终点点):是是系系统统之之外外的的实实体体,可可以以是是人人、物物或或其其他他软软件件系系
49、统统。它它是是为为了了帮帮助助理理解解系系统统接接口口而而引引入入的的,不不需需进进一一步步描描述述。用用“”表表示示。提提供供输输入入数数据据流流的的外外部部实实体体和和接接受受输输出出数数据据流流的的外外部部实实体体分分别别称称为为数数据据源源点点和和数数据据终终点点。源源点点和和终终点点可可以以是是同一实体。同一实体。转换转换数数据据处处理理(加加工工处处理理):也也称称数数据据变变换换或或加加工工或或功功能能模模块块,是是对对输输入入数数据据处处理理的的单单元元,一一个个转转换换可可以以有有多多个个输输入入或或输输出出数数据据流流,但但至至少少要要有有一一个个数数据据流流和和一一个个输
50、输出出数数据据流流。 。用用圆圆形形符符号号“”表表示示加加工工是是一一个个广广义义的的概概念念,可可以以是是一一个个简简单单的的数数值值运运算算,也也可可以以是是一一个个复复杂杂的的分分类类统统计计。对对于于加加加加工工。加加工工名名称称写写在在圆圆中中。在在对对数数据据流流图图分分层层时时,要要对对加加工工进进行行编编号号以以便便管管理。理。数据流数据流数据源数据源数数据据存存储储(文文件件):是是由由若若干干数数据据元元素素组组成成的的,是是暂暂时时保保存存数数据据的的处处所所,统统称称为为文文件件。用用符符号号“”表表示示,文文件件名名写写于于直直线线之之间间。通通常常,文文件件出出现
51、现在在中中间间和和底底层层的的数数据据流流图图中中。当当被被用用于于数数据据流流中中某某一一些些加加工工之之间间的的界界面面接接口口时时,需需要要画出。画出。数数据据流流:表表示示含含有有固固定定成成分分的的动动态态数数据据,用用箭箭头头表表示示数数据据流流,箭箭头头方方向向表表示示数数据据流流向向,数数据据流流名名标标在在数数据据流流线线上上。两两个个加加工工之之间间可可以以有有多多个个数数据据流流,但但彼彼此此之之间间没没有有什什么么联联系系,也也不不必必表明它们的先后顺序。表明它们的先后顺序。v数据流图的符号1、外部实体、外部实体2、加工、加工3、数据流、数据流4、数据存储(、数据存储(
52、N为文件编号)为文件编号)N1数据流图有时也用附加符号:数据流图有时也用附加符号: * “与与”,即同时输入,即同时输入/出;出; + “或或”,即至少一项输入,即至少一项输入/出;出; “异或异或”,即非同时输入,即非同时输入/出出v4 画数据流图的注意事项画数据流图的注意事项v1)给数据流命名的方法和注意事项:)给数据流命名的方法和注意事项:命名名字用名词或名词词组命名名字用名词或名词词组命名时,尽量使用现实系统中已有的名字命名时,尽量使用现实系统中已有的名字避免使用空洞的名词诸如避免使用空洞的名词诸如“数据数据”、“信息信息”等。等。v2)给加工命名的原则:)给加工命名的原则:顶层加工名
53、是软件项目名字顶层加工名是软件项目名字加工的名字最好使用动宾词组如加工的名字最好使用动宾词组如“产生成绩单产生成绩单”等等加工的命名同样避免使用空洞的词组,如加工的命名同样避免使用空洞的词组,如“计算计算”、“处理处理”v3)数据流图画法的基本步骤:)数据流图画法的基本步骤:首先画系统的输入首先画系统的输入/输出,只要确定系统从外界接受什么数据、系输出,只要确定系统从外界接受什么数据、系统向外界送出什么数据,确定系统的范围和边界统向外界送出什么数据,确定系统的范围和边界其次画系统的内部,将系统的输入和输出流用一连串加工连接起其次画系统的内部,将系统的输入和输出流用一连串加工连接起来。可以从输入
54、端画到输出端,也可反过来画。在数据流的组成来。可以从输入端画到输出端,也可反过来画。在数据流的组成或值发生变化的地方添加一个或值发生变化的地方添加一个“加工加工”,需要暂时存放数据的地,需要暂时存放数据的地方加上一个方加上一个“文件文件”。最后画加工的内部,最后画加工的内部,“由外向里由外向里”分析每个加工的内部。复杂的分析每个加工的内部。复杂的加工可用几个子加工代替。加工可用几个子加工代替。2. 绘制数据流图绘制数据流图 (1)顶级)顶级DFD(确定系统的范围和边界)(确定系统的范围和边界) 任何软件系统,都是对数据进行加工和变换的工任何软件系统,都是对数据进行加工和变换的工具。初始时,整个
55、信息处理系统都可以高度的抽具。初始时,整个信息处理系统都可以高度的抽象成下图所示的顶级(第象成下图所示的顶级(第0级)数据流图。顶级级)数据流图。顶级数据流图只有一个转换,代表整个软件系统,主数据流图只有一个转换,代表整个软件系统,主要描述软件系统与外界(外部实体)之间的数据要描述软件系统与外界(外部实体)之间的数据流。流。加工或变换输入输出“家庭保安系统家庭保安系统”顶级数据流图顶级数据流图警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板传感器传感器显示器显示器电话机电话机警报器警报器 “家庭保安系统家庭保安系统
56、”顶级数据流图顶级数据流图比如,对家庭保安系统,初始时,整个信息处理系统可比如,对家庭保安系统,初始时,整个信息处理系统可以用下图表示。以用下图表示。(2 2)逐层分解(画加工的内部)逐层分解(画加工的内部) 数据流图提供了层次结构,让分析人员能够数据流图提供了层次结构,让分析人员能够方便地表示任意抽象级别上的信息系统或其方便地表示任意抽象级别上的信息系统或其子系统,并支持问题分解、逐步求精的分析子系统,并支持问题分解、逐步求精的分析方法。方法。比如,对家庭保安系统,一级分解如下图比如,对家庭保安系统,一级分解如下图 “家庭保安系统家庭保安系统”的第一级的第一级DFD 电话拨号音频电话拨号音频
57、配置数据配置数据配置配置 数据数据配置数据配置数据用户命用户命令处理令处理显示信息显示信息和状态和状态传感器传感器监测监测系统系统配置配置控制面板控制面板显示器显示器警报器警报器电话线电话线传感器传感器配置信息配置信息配置配置 命令命令启动启动/ 停止命令停止命令原口令原口令有效口令有效口令传感器信息传感器信息报警类别报警类别传感数据传感数据显示显示 信息信息用户命令用户命令口令口令启动启动/停止停止系统和状态系统和状态启动或启动或停止消息停止消息口令口令核对核对用用户户交交互互子子系系统统v 随着需求分析活动的逐渐深入,较高抽象级别上的复随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可
58、以精化为一系列相互关联的数据流和子转换,杂转换可以精化为一系列相互关联的数据流和子转换,如图所示。在数据流方法中,对数据(数据流)的精如图所示。在数据流方法中,对数据(数据流)的精化是伴随着对转换的逐步精化而同步进行的。化是伴随着对转换的逐步精化而同步进行的。Z2Y2X2N1M1D1D1C1C1E1E1B0A0A0F1F3FF2F4F5F41F42F43F44B0第第0级级第第1级级第第2级级数据流图的精化与层间平衡数据流图的精化与层间平衡x12341.11.21.32.22.12.33.13.23.34.14.24.3顶顶层层0层层1层层建立数据流模型要遵循以下的原则1每每个个加加工工至至少
59、少应应有有一一个个输输入入数数据据流流(反反映映被被处处理理数数据据的的来来源源)和一个输出数据流(反映加工的结果)。和一个输出数据流(反映加工的结果)。2数数据据流流图图中中各各构构成成元元素素的的名名称称必必须须具具有有明明确确的的含含义义且且能能够够代代表对应元素的内容或功能。表对应元素的内容或功能。3应应按按照照层层次次给给每每个个加加工工编编号号,用用于于表表明明该该加加工工所所处处的的层层次次及及上上、下下层层的的父父图图与与子子图图的的关关系系。编编号号的的规规则则为为:顶顶层层加加工工不不用用编编号号;第第一一层层加加工工的的编编号号为为1,2,n。第第二二层层加加工工的的编编
60、号号为为11,12,21,22,n1,n2,等,以此类推。等,以此类推。4对对某某个个加加工工进进行行细细化化生生成成的的下下层层数数据据流流图图,称称为为其其上上层层图图的的子子图图。应应保保证证分分层层数数据据流流图图中中任任意意对对应应的的父父图图和和子子图图的的输输入入/输出数据流保持一致。如下图输出数据流保持一致。如下图建立数据流模型要遵循以下的原则5在在父父图图中中不不要要出出现现子子图图中中涉涉及及的的局局部部数数据据存存储储文文件件。通通常常除除底底层层数数据据流流图图中中需需表表明明所所有有数数据据存存储储外外,为为保保持持画画面面整整洁洁,各各中间层数据流图只需显示处于加工
61、之间的接口文件即可。中间层数据流图只需显示处于加工之间的接口文件即可。6数数据据流流图图只只能能由由四四种种基基本本符符号号组组成成,是是实实际际业业务务流流程程的的客客观观映映象象,用用于于说说明明系系统统应应该该“做做什什么么”,而而不不需需要要指指明明系系统统“如如何做何做”。7数数据据流流图图的的分分解解速速度度应应保保持持适适中中。通通常常一一个个加加工工每每次次可可分分解解为为24个个子子加加工工,最最多多不不要要超超过过七七个个,否否则则会会增增加加用用户户的的理理解解难度。同时要注意,逐层精化必须适可而止。难度。同时要注意,逐层精化必须适可而止。数据流图描述了系统的组成和分解,
62、数据流图描述了系统的组成和分解,但是并没有说明系统中各个成分的含义,但是并没有说明系统中各个成分的含义,必须为数据流图中出现的每一个成分给出必须为数据流图中出现的每一个成分给出定义,数据词典就是这样的描述工具。所定义,数据词典就是这样的描述工具。所谓数据词典就是对数据流图中的所有名字谓数据词典就是对数据流图中的所有名字进行定义进行定义( (或说明或说明) )的汇总。它详细地描述的汇总。它详细地描述了数据的组成情况和加工规程。了数据的组成情况和加工规程。 数据字典数据字典数据流图机制没有描述数据流的内容。数据流图必须与描述并数据流图机制没有描述数据流的内容。数据流图必须与描述并组织数据条目的数据
63、字典配套使用。组织数据条目的数据字典配套使用。数据字典中的基本符号及其含义数据字典中的基本符号及其含义符号符号含义含义说明说明=表示定义为表示定义为用于对用于对=左边的条目进行确切的定义左边的条目进行确切的定义+表示与关系表示与关系X=a+b表示表示X由由a和和b共同构成共同构成 | 或或 , 表示或关系表示或关系X=a|b与与X=a,b的等价,表示的等价,表示X由由a或或b组成组成( )表示可选项表示可选项X=(a)表示表示a可以在可以在X中出现,也可以不出现中出现,也可以不出现 表示重复表示重复大括号中的内容重复大括号中的内容重复0到多次到多次m n表示规定次数的重复表示规定次数的重复 重
64、复的次数最少重复的次数最少m次,最多次,最多n次次“ ”表示基本数据元素表示基本数据元素“ ”中的内容是基本数据元素,不可再分中的内容是基本数据元素,不可再分.连接符连接符Month=1.12表示表示month可取可取112中的任意值中的任意值* *表示注释表示注释两个星号之间的内容为注释信息两个星号之间的内容为注释信息数据字典中每一数据条目包含的内容数据字典中每一数据条目包含的内容1数数据据流流图图中中标标识识数数据据流流、数数据据源源或或外外部部实实体体的的名名称与别名;称与别名;2数据类型;数据类型;3所有以它作为输入流或输出流的转换的列表;所有以它作为输入流或输出流的转换的列表;4如何
65、使用该数据条目的简要说明;如何使用该数据条目的简要说明;5数据条目的解释性说明;数据条目的解释性说明;6其他补充说明,例如取值范围与缺省值有关的设其他补充说明,例如取值范围与缺省值有关的设计约束等。计约束等。数据流名:数据流名: 简简 述:述: 别别 名:名: 组组 成:成:来来 源:源: 去去 向:向: 数数 据据 量:量: 高高 峰峰 值:值: 注注 释:释: 查询查询系统处理的一个命令系统处理的一个命令无无 顾客状况查询顾客状况查询 十存货查询十存货查询 十十 发票存根查询发票存根查询 顾客顾客核对发票加工核对发票加工20002000次次/ /天天每天上午每天上午9 9:00001010
66、:0000有有10001000次次1 1只能在销售终端上做查询只能在销售终端上做查询2 2至至20002000年底还将增加年底还将增加3 3至至4 4种查询种查询【例例】 某系统的某系统的“查询查询”数据流条目描述为:数据流条目描述为:数据条目数据条目的定义必须遵循以下原则:数据条目的定义必须遵循以下原则: (1)精确)精确 (2)简洁)简洁 (3)能为用户方和软件开发方共同理解。)能为用户方和软件开发方共同理解。 例如,可以使用形式语言中的语法定义机制例如,可以使用形式语言中的语法定义机制 描述数描述数 据条目的内容。原子语法成分则用据条目的内容。原子语法成分则用简单明了的自然语言予以描述。
67、简单明了的自然语言予以描述。数据字典举例家家庭庭保保安安系系统统中中的的“电电话话号号码码”数数据据条条目目可可以以定定义义如如下:下:电话号码分机号电话号码分机号|外线号码外线号码分机号分机号1816 | 1817 | | 1858外线号码外线号码9 +(市话号码(市话号码|长话号码)长话号码)长话号码长话号码0 +(区号(区号+市话号码)市话号码)区号区号* 任何长度为任何长度为3的数字串的数字串*市话号码局号市话号码局号+分局号分局号局号局号395 | 396 | 397 | 303 | 304 | 305分局号分局号* 任何长度为任何长度为4的数字串的数字串*数据流图、数据字典、加工逻
68、辑数据流图、数据字典、加工逻辑利用数据字典可以对数据流图中的数据流、数据源利用数据字典可以对数据流图中的数据流、数据源以及外部实体进行描述、组织和管理。以及外部实体进行描述、组织和管理。对于转换,也称加工逻辑,又称为对于转换,也称加工逻辑,又称为“小说明小说明”,它,它集中描述一个加工做什么,也可包括一些与加工有集中描述一个加工做什么,也可包括一些与加工有关的信息,如执行条件、优先次序、执行频率和出关的信息,如执行条件、优先次序、执行频率和出错处理等。也需要一种比图形记号更为详尽的表示错处理等。也需要一种比图形记号更为详尽的表示机制,这就是结构化的文字描述。分析人员可以在机制,这就是结构化的文
69、字描述。分析人员可以在数据流图的任一转换上附加一段文字,用以说明转数据流图的任一转换上附加一段文字,用以说明转换的功能、性能要求及设计约束等,这种说明应尽换的功能、性能要求及设计约束等,这种说明应尽可能简洁、清晰、易于理解。可能简洁、清晰、易于理解。v3.4 需求规格说明与需求评审需求规格说明与需求评审v3.4.1 需求规格概述需求规格概述v3.4.2 需求规格说明的内容需求规格说明的内容v3.4.3 需求规格说明的评审需求规格说明的评审正确性:系统的功能、行为、性能描述需与用户的期望一致完全性:就是不能遗漏任何一点用户的需求一致性:需求规格说明的各部分不能有矛盾。如果存在矛盾,则引起这些矛盾的可能是这些原因:表达术语的使用方面的冲突,功能和行为特征方面的冲突,又或者是时序方面的不一致。可读性:是否能别购买者和用户读懂可检验性:描述的需求是否实际测试可追踪性:需求规格说明的每项需求能与用户的原始需求相联系可修改性:需求规格说明书的格式和组织方式应该容易修改,能够容易地接纳后续的增加、删除、修改,并能较好保持其他各项属性,即不对其他系统带来大规模的影响。v3.5 需求管理需求管理v3.5.1 需求管理需求管理v1 需求管理原则v2 需求变更v3 需求规格说明的版本控制v4 需求追踪v3.5.2 需求管理工具需求管理工具设计与编程目标与要求一致性检查确认验证运营需求规格说明