《第四部分需求分析过程》由会员分享,可在线阅读,更多相关《第四部分需求分析过程(96页珍藏版)》请在金锄头文库上搜索。
1、第四章第四章 需求分析过程需求分析过程需求分析基础需求分析基础需求分析建模需求分析建模n软件需求软件需求用用户户对对目目标标软软件件系系统统在在功功能能、行行为为、性性能能、设设计计约约束等方面的期望。束等方面的期望。n需求分析阶段的任务需求分析阶段的任务通通过过对对问问题题及及环环境境的的理理解解、分分析析,将将用用户户需需求求精精确确化化、完完全全化化,最最终终形形成成需需求求规规格格说说明明,描描述述系系统统信信息息、功能和行为。功能和行为。n技术和方法技术和方法初步需求获取技术初步需求获取技术需求建模技术需求建模技术快速原型技术快速原型技术问题抽象、问题分解与多视点分析问题抽象、问题分
2、解与多视点分析4.1 需求分析基础需求分析基础 软件需求分析产品软件需求分析产品q用户需求用户需求(系统分析的产品)(系统分析的产品)q系统需求系统需求q软件需求规格说明(软件设计描述)软件需求规格说明(软件设计描述)需需求求规规格格说说明明是是软软件件设设计计、实实现现、测测试试、维维护护的的基基础。础。用户需求、系统需求和软件设计描述用户需求、系统需求和软件设计描述用户需求用户需求用自然语言和图表描述用自然语言和图表描述说明系统必须提供哪些服务、系统运行要受哪些约束说明系统必须提供哪些服务、系统运行要受哪些约束系统需求系统需求详细说明系统将要提供的服务以及系统受到的约束详细说明系统将要提供
3、的服务以及系统受到的约束精确的描述软件的功能精确的描述软件的功能系统买方和软件开发者签订合同的重要内容系统买方和软件开发者签订合同的重要内容软件设计描述软件设计描述在系统需求的基础上,加入更详细的内容,构成软件设计在系统需求的基础上,加入更详细的内容,构成软件设计活动的概要描述,是软件设计和实现的基础活动的概要描述,是软件设计和实现的基础4.1.1需求分析三个主要阶段需求分析三个主要阶段n问题分析问题分析n需求描述需求描述n需求评审需求评审1问题分析问题分析n建建立立问问题题分分析析系系统统模模型型。从从不不同同的的角角度度、不不同同的的抽抽象象级级别别精精确确地地说说明明对对问问题题的的理理
4、解解、对对目目标标软软件件的需求。的需求。n模模型型应应帮帮助助用用户户和和分分析析人人员员发发现现、排排除除用用户户需需求求不一致,不合理的部分,挖掘潜在的用户需求。不一致,不合理的部分,挖掘潜在的用户需求。n模模型型是是分分析析人人员员根根据据问问题题创创建建的的软软件件系系统统结结构构,包包括括与与问问题题和和环环境境相相关关的的信信息息流流、处处理理功功能能、用用户界面、行为及设计约束。户界面、行为及设计约束。n模型是形成需求规格说明、进行软件设计的基础。模型是形成需求规格说明、进行软件设计的基础。2需求描述需求描述n以以需需求求模模型型为为基基础础,考考虑虑软软件件问问题题的的可可解
5、解性性,生生成需求规格说明和初步的用户手册。成需求规格说明和初步的用户手册。n需需求求规规格格说说明明包包含含对对目目标标软软件件系系统统的的外外部部行行为为的的完完整整描描述述、需需求求验验证证标标准准以以及及用用户户在在性性能能、质质量量、可维护性等方面的要求。可维护性等方面的要求。n用用户户手手册册包包括括用用户户界界面面描描述述以以及及有有关关目目标标软软件件使使用方法的初步构想。用方法的初步构想。3需求评审需求评审n对对需需求求规规格格说说明明和和初初步步的的用用户户手手册册进进行行评评审审,确确保保软软件件需需求求的的完完全全性性、精精确确性性和和一一致致性性,并并使使用用户户和和
6、软软件件设设计计人人员员对对需需求求规规格说明及用户手册的理解达成一致。格说明及用户手册的理解达成一致。n确确认认后后的的需需求求规规格格说说明明应应成成为为用用户户方方与与软软件开发方合同的一部分。件开发方合同的一部分。4.1.2初步需求获取技术初步需求获取技术1访谈与会议访谈与会议分析人员应精心准备问题,通过用户对问题的回答,逐步分析人员应精心准备问题,通过用户对问题的回答,逐步理解用户对目标软件的要求。理解用户对目标软件的要求。 (1) (1) 循序渐进循序渐进 首首先先关关心心一一般般性性、整整体体性性问问题题,然然后后再再讨讨论论细细节问题。节问题。 (2)(2)客观、公正客观、公正
7、 不应限制用户在回答问题过程中自由发挥。不应限制用户在回答问题过程中自由发挥。 (3) (3) 总结总结 问问题题汇汇总总后后应应能能反反映映软软件件或或其其子子系系统统的的全全貌貌,能能覆覆盖盖用用户户对对目目标标软软件件或或其其子子系系统统在在功功能能、行行为为、性性能诸方面的要求。能诸方面的要求。 细节问题留待以后解决。细节问题留待以后解决。2考考察用户软件或其子系统业务流程察用户软件或其子系统业务流程学学习习用用户户的的有有关关业业务务知知识识,在在用用户户帮帮助助下下了了解解用用户户的的软软件件或或子子系系统统业业务务流流程程,结结合合软软件件开开发发和和应应用用的的经经验验提提出出
8、新新的的用户需求。用户需求。3 联合小组联合小组建立软件开发方和用户方共同组成的联合小组,小组成员建立软件开发方和用户方共同组成的联合小组,小组成员对分析负有相同的责任。对分析负有相同的责任。联合小组要制定自己的工作制度和计划,确定专门的记录联合小组要制定自己的工作制度和计划,确定专门的记录员,另设专人负责会议的议程和资料的综合、整理。员,另设专人负责会议的议程和资料的综合、整理。选择易于理解、比较简洁、精确的表示机制作为描述语言,选择易于理解、比较简洁、精确的表示机制作为描述语言,如辅以文字说明的流程图。如辅以文字说明的流程图。实例分析实例分析家庭保安系统家庭保安系统问题描述:问题描述:家家
9、庭庭保保安安市市场场正正以以每每年年40%的的速速度度增增长长。希希望望建建立立一一种种基基于于微微处处理理器器的的家家庭庭保保安安系系统统,它它能能够够识识别别异异常常事事件件并并采采取取相相应应的的防防护护措措施施。这这些些异异常常事事件件包包括括:非非法法侵侵入入、火火灾灾、水水淹淹等等。一一旦旦异异常常情情况况被被传传感感器器探探测测出出来来,系系统统应应自自动动通通过过电电话话向向监监控控中中心心报报警警。此此外外,应应允允许许户户主主对对系系统统行行为为进进行程序控制。行程序控制。n联合小组首先制定工作制度联合小组首先制定工作制度, ,明确议程。明确议程。n经经过过会会议议讨讨论论
10、,明明确确问问题题的的范范围围、问问题题与与环环境境的的关关系系,并并就开发软件产品的必要性达成共识。就开发软件产品的必要性达成共识。n列列出出问问题题及及环环境境中中的的有有关关对对象象,操操作作以以及及对对象象间间的的相相互互作作用。用。对对象象: : 控控制制面面板板、电电话话机机、监监控控中中心心、烟烟雾雾传传感感器器、门门窗窗监监视器、警报器等视器、警报器等操作操作: :接收传感器事件、接收传感器事件、用户编程控制、电话拔号、报警等。用户编程控制、电话拔号、报警等。分析初期联合小组的工作程序分析初期联合小组的工作程序n对对接接收收传传感感器器事事件件、用用户户编编程程控控制制、电电话
11、话报报警警等等操作进行详细的描述,可用流程图表示。操作进行详细的描述,可用流程图表示。n提提出出约约束束,比比如如:造造价价不不能能超超过过3,000元元,对对传传感感器器事事件件必必须须在在1秒秒内内作作出出响响应应,事事件件必必须须按按优优先先级进行处理等。级进行处理等。会会后后小小组组负负责责人人对对这这些些信信息息进进行行综综合合、整整理理,形形成成文档,该文档应能反映文档,该文档应能反映“家庭保安系统家庭保安系统”的全貌。的全貌。n划划分分小小组组,分分别别处处理理用用户户编编程程控控制制和和传传感感器器监监测测两两个个子子系系统统。目目的的是是对对子子系系统统的的软软件件需需求求进
12、进行行细细化化。对对出出现现的的新新对对象象、新新操操作作、新新约约束束应应及及时时添添加到相应的子系统。加到相应的子系统。n确定子系统需求并形成文档确定子系统需求并形成文档n讨讨论论子子系系统统的的集集成成及及需需求求验验证证标标准准。初初步步分分析析活活动动应应形形成成结结论论性性文文档档,该该文文档档将将作作为为后后续续分分析析活活动的基础。动的基础。划分小组完成需求划分小组完成需求初步分析生成的初步分析生成的“家庭保安系统家庭保安系统”部分需求文档部分需求文档n“家家庭庭保保安安系系统统”的的软软件件允允许许用用户户在在安安装装时时进进行行系系统统配配置置,实实施施对对传传感感器器的的
13、监监控控并并通通过过控控制制面面板板与与用用户进行信息交互。户进行信息交互。n配置操作配置操作(1)指定每一传感器的种类和编号;指定每一传感器的种类和编号;(2)设置开、关机密码;设置开、关机密码;(3)指定报警电话号码;指定报警电话号码;(4)指指定定报报警警延延迟迟和和电电话话重重拔拔延延迟迟时时间间(以以秒秒为为单单位位)。n当当软软件件系系统统接接收收到到传传感感器器发发出出的的数数据据后后,判判别别是是否否出出现现异异常常事事件件。如如果果是是,则则在在指指定定的的延延迟迟时时间间内内拔拔报报警警电电话话号号码码,拔拔号号操操作作将将按按照照重重拔拔延延迟迟反反复复进进行行,直直至至
14、电电话话接接通通。然然后后软软件件系系统统负负责责报报告告时间、地点和异常事件的性质。时间、地点和异常事件的性质。n开开机机后后软软件件系系统统负负责责显显示示当当前前工工作作状状态态,接接收收并并处理用户指令。处理用户指令。4.1.3需求建模需求建模建立软件模型是分析活动的关键。建立软件模型是分析活动的关键。n目目标标软软件件系系统统的的模模型型用用来来刻刻划划系系统统所所涉涉及及的的信信息息、处处理理功功能能及及系系统统运运行行时时的的外外部部行行为。为。n模型不应涉及软件实现细节。模型不应涉及软件实现细节。n选选择择图图形形符符号号表表示示信信息息流流、处处理理功功能能及及系系统行为,以
15、此来描述软件需求模型。统行为,以此来描述软件需求模型。4.1.4分析问题的方法分析问题的方法抽象抽象n关关注注一一般般问问题题的的解解决决途途径径,以以此此指指导导特特殊殊问问题题的的求求解解。注注意意用用户户描描述述的的抽抽象象级级别别,统统一一规规划划系系统统行为。行为。n避免不一致性,减少分析的工作量。避免不一致性,减少分析的工作量。分解分解n根根据据问问题题的的规规模模和和复复杂杂性性进进行行分分解解,并并对对子子问问题题展开进一步的分析。展开进一步的分析。n逐级分解,直至子问题的规模降至合适程度。逐级分解,直至子问题的规模降至合适程度。n在在问问题题分分解解过过程程中中,要要建建立立
16、子子问问题题之之间间的的相相互互联联系。系。n必必须须遵遵循循子子问问题题内内部部紧紧藕藕合合,子子问问题题之之间间松松藕藕合合的原则。的原则。视点分解法视点分解法在在分分析析的的初初期期,整整体体地地把把握握一一个个大大型型问问题题的的软软件件需需求求是是困困难难的的。需需要要从从各各个个角角度度分分别别对对问问题题进进行理解和分析,然后再综合,达到全面理解的目行理解和分析,然后再综合,达到全面理解的目需求分析视点需求分析视点系统观点系统观点用户观点用户观点信息观点信息观点功能观点功能观点行为观点等。行为观点等。整整理理、综综合合用用户户描描述述,应应注注意意用用户户视视点点的的变变化化,避
17、免遗漏。避免遗漏。4.1.5支持需求分析的快速原型技术支持需求分析的快速原型技术n软软件件开开发发早早期期,快快速速建建立立目目标标软软件件系系统统原原型型,让让用用户户对对原原型型进进行行评评估估并并提提出出意意见见。原原型型几几经经改改进进最最终终确确定定,设设计计和和编编码码人人员员遵遵循循原原型型确立的外部特征实现软件产品。确立的外部特征实现软件产品。n如如果果软软件件产产品品含含有有大大量量人人机机交交互互、可可视视输输出出、或者涉及复杂的算法,应采用快速原型技术。或者涉及复杂的算法,应采用快速原型技术。n对对于于复复杂杂问问题题,可可对对某某些些子子问问题题,尤尤其其是是用用户户界
18、面,使用快速原型技术。界面,使用快速原型技术。4.1.6需求规格说明与评审需求规格说明与评审n产生需求规格说明并进行评审。产生需求规格说明并进行评审。n需需求求规规格格说说明明应应成成为为开开发发过过程程必必须须遵遵循循的的指指导导原原则。则。需求规格说明需求规格说明1引言引言1.1需求规格说明的目的需求规格说明的目的1.2软件产品的作用范围软件产品的作用范围1.3定义、同义词与缩写定义、同义词与缩写1.4参考文献参考文献1.5需求规格说明概览需求规格说明概览2一般性描述一般性描述2.1产品与其环境之间的关系产品与其环境之间的关系2.2产品功能产品功能2.3用户特征用户特征2.4限制与约束限制
19、与约束2.5假设与前提条件假设与前提条件3特殊需求特殊需求附录附录索引索引需求规格说明需求规格说明-特殊需求描述特殊需求描述3特殊需求特殊需求3.1功能或行为需求功能或行为需求3.1.1功能或行为需求功能或行为需求13.1.1.1引言引言3.1.1.2输入输入3.1.1.3处理过程描述处理过程描述3.1.1.4输出输出3.1.2功能或行为需求功能或行为需求2 3.1.n功能或行为需求功能或行为需求n3.2外部界面需求外部界面需求3.2.1用户界面用户界面3.2.2硬件界面硬件界面3.2.3软件界面软件界面3.3性能需求性能需求3.4设计约束设计约束3.4.1标准化约束标准化约束3.4.2硬件约
20、束硬件约束 3.5属性属性3.5.1可用性可用性3.5.2安全性安全性3.5.3可维护性可维护性3.5.4可移植性可移植性 3.6其它需求其它需求3.6.1数据库需求数据库需求3.6.2用户操作需求用户操作需求3.6.3工作场地需求工作场地需求需求评审需求评审n需需求求规规格格说说明明进进入入设设计计阶阶段段之之前前,必必须须进进行行评评审审。如如果果发发现现错错误误或或缺缺陷陷,应应及及时时纠纠正正或或更更改改需需求求分分析析、模模型型,需求规格说明,并重新评审。需求规格说明,并重新评审。n衡量需求规格说明的标准衡量需求规格说明的标准正确性正确性无歧义性无歧义性完全性完全性可验证性可验证性一
21、致性一致性可理解性可理解性可修改性可修改性可追踪性可追踪性4.2 需求分析建模需求分析建模需求分析方法需求分析方法n结构化分析方法结构化分析方法 n面向对象的分析方法面向对象的分析方法需求分析模型需求分析模型n数据建模数据建模n功能建模功能建模n行为建模行为建模4.2.1 需求分析方法需求分析方法n六六十十年年代代未未、七七十十年年代代初初结结构构化化设设计计盛盛行行,结结构化分析以结构化设计附产品的身份出现。构化分析以结构化设计附产品的身份出现。n七七十十年年代代未未期期DouglasRoss提提出出结结构构化化分分析析的的术语术语nDeMarcoDEM79进进行行推推广广,给给出出分分析析
22、员员可可以以创创建建信信息息流流模模型型的的主主要要图图形形记记号号,建建议议将将“数数据据字字典典”和和“处处理理说说明明”作作为为信信息息流流模模型的补充,並提供方法应用的实例;型的补充,並提供方法应用的实例;结构化分析方法结构化分析方法结构化分析方法结构化分析方法n八八十十年年代代初初期期Page-JonesPAG80,GaneGAN82等等人人提提出出结结构构化化分分析析方方法法的的一一些些变变种种,用用于于信信息息系系统统的开发;的开发;n八八十十年年代代中中期期Ward、MellorWAR85、Hatiy和和PirbhaiHAT87对对结结构构化化分分析析进进行行扩扩充充支支持持实
23、实时时、控制和嵌入式系统的开发控制和嵌入式系统的开发;nHarel Pnueli研研制制了了面面向向复复杂杂实实时时反反应应式式系系统统(Complex Real-time Reactive System)的的开开发发环环境境 STATEMATE。4.2.2 需求分析需求分析模型模型结结构构化化分分析析模模型型核心核心 数据字典数据字典 描述软件工程项目的所有数据对象描述软件工程项目的所有数据对象中间层中间层 实体实体-关系图、数据流图、状态关系图、数据流图、状态-变迁图变迁图 实体实体-关系图关系图 描述数据对象之间的关系描述数据对象之间的关系 数据流图数据流图 功能建模的基础功能建模的基础
24、 系统或子系统对数据实施的变换、变换的功能系统或子系统对数据实施的变换、变换的功能 提供信息分析的信息提供信息分析的信息 状态状态-变迁图变迁图 行为建模的基础行为建模的基础 系系统统的的行行为为模模式式(称称“状状态态”)以以及及状状态态变变迁迁的的方方式式4.2.2.1 结构化分析模型结构化分析模型结构化的分析模型结构化的分析模型最外层最外层数数据据对对象象描描述述、加加工工规规格格说说明明PSPEC、控控制制规规格格说说明明CSPEC数据对象数据对象表示表示实体实体-关系图关系图中每个数据对象的属性中每个数据对象的属性加工规格说明加工规格说明PSPEC描述描述数据流图数据流图的每个功能。
25、的每个功能。控制规格说明控制规格说明CSPEC描述软件控制的附加信息描述软件控制的附加信息4.2.2.2 数据建模数据建模 n数据对象、属性和关系数据对象、属性和关系n实体一关系图实体一关系图 实体实体关系图是数据模型的基础,它描述数据对关系图是数据模型的基础,它描述数据对象、属性、及其关系。象、属性、及其关系。1 1 数据对象、属性与关系数据对象、属性与关系n数据对象数据对象n数据属性数据属性n数据关系数据关系n数据对象、属性与关系数据对象、属性与关系数据对象数据对象 现现实实世世界界具具有有不不同同特特征征和和属属性性的的实实体体或或事事务务的的标标识识,计计算算机机软软件件描描述述并并处
26、处理理的的一一组组信信息息。如如,事件、行为、角色、组织、地点、结构等。事件、行为、角色、组织、地点、结构等。n数数据据对对象象只只封封装装数数据据,包包括括:数数据据流流、数数据据源源、外部实体的数据部分,不封装操作。外部实体的数据部分,不封装操作。n数据对象是相互关联的。数据对象是相互关联的。属性属性 用用“标标识识符符、符符号号串串和和值值”标标识识,描描述述数数据据对对象象的的性性质质。包包括:括:(1 1)命名)命名 标识数据对象标识数据对象(2 2)描述)描述 描述数据对象的性质描述数据对象的性质(3 3)引用)引用 建立数据对象之间的联系建立数据对象之间的联系n数据对象的属性是原
27、子数据项,不包含内部数据结构。数据对象的属性是原子数据项,不包含内部数据结构。 n数据对象的任何属性有且仅有一个属性值。数据对象的任何属性有且仅有一个属性值。n现现实实世世界界的的实实体体具具有有许许多多属属性性,分分析析人人员员只只能能考考虑虑与与应应用用问题有关的属性。问题有关的属性。数据对象描述数据对象描述例例 汽汽车车销销售售管管理理问问题题的数据对象描述表的数据对象描述表. . 汽车属性汽车属性 制造商制造商 型号型号 标识码标识码 车体类型车体类型 颜色颜色 买主买主 关系关系n数据对象按照某种关系相互连接数据对象按照某种关系相互连接n用用对象关系偶对象关系偶描述数据对象描述数据对
28、象n关系关系的命名及内涵应反映描述的问题的命名及内涵应反映描述的问题n删除与问题无关的删除与问题无关的关系关系 数据对象、属性与关系数据对象、属性与关系例例 汽车销售问题的数据对象、属性与关系汽车销售问题的数据对象、属性与关系 数据对象属性数据对象属性 数据对象数据对象 关系关系 制造商制造商 汽车汽车 生产生产 购车用户购车用户 汽车汽车 购买购买 描述系统所有数据对象的组成和属性,描述数据对描述系统所有数据对象的组成和属性,描述数据对象之间关系的象之间关系的图形语言。图形语言。n“一对一一对一”(1 1:1 1) 一一个个对对象象A A关关联联一一个个对对象象B,B,反反之之,一一个个对对
29、象象B B关关联联一一个个对对象象A A。如,夫妻。如,夫妻。n“一对多一对多”(1 1:N N) 一一个个对对象象A A关关联联多多个个对对象象B,B,反反之之,一一个个对对象象B B关关联联一一个个对对象象A A。如,父子。如,父子。n“多对多多对多”(N N:M M) 一一个个对对象象A A关关联联多多个个对对象象B,B,反反之之,一一个个对对象象B B关关联联多多个个对对象象A A。如,叔侄。如,叔侄。2 2 实体实体关系图关系图(E-R方法,方法,Entity-Relationship Approach)教师教师职称职称性别性别职务职务姓名姓名教工号教工号教教学生学生性别性别姓名姓名
30、系系学号学号年级年级学学课程课程学时学时学分学分课名课名课程号课程号成绩成绩1NMN教师教师-学生学生-课程课程E-R图图人与车关系人与车关系E-R图图人人年龄年龄地址地址驾驶证号驾驶证号姓名姓名拥有拥有车车ID号号制造模型制造模型实体类型实体类型制造商制造商颜色颜色拥有者拥有者NM制造商制造商ID类型类型制造制造车型车型ID号号模型模型实体类型实体类型引擎引擎传输传输NN合同合同货主货主运输运输许可证许可证销售关系销售关系货栈货栈NNN111NMM汽车业务销售的汽车业务销售的E-R图图汽车的汽车的部分部分整体关系整体关系 用用 实实 体体关关系系图图表表示示数数据据对对象象的的层层次次结结构
31、构及及部部分分整整体关系体关系汽车的层次表示汽车的层次表示 4.2.2.3 功能建模功能建模 n数据流图与数据字典数据流图与数据字典 n数据流图的实时系统扩充数据流图的实时系统扩充 (1). Ward & Mellor扩充扩充 (2). Hatley & Pirhai扩充扩充1 1 数据流图与数据字典数据流图与数据字典n基基于于计计算算机机的的信信息息处处理理系系统统由由数数据据流流和和一一系系列列的的加加工工构构成成,这这些些加加工工将将输输入入数数据据流流加加工工为为输出数据流输出数据流n数据流图描述数据流和加工数据流图描述数据流和加工n数数据据流流图图用用图图形形符符号号表表示示数数据据
32、流流、加加工工、数数据据源及外部实体源及外部实体n数数据据流流图图具具有有层层次次结结构构,支支持持问问题题分分解解、逐逐步步求精的分析方法求精的分析方法n它它是是数数据据驱驱动动的的数数据据流流图图既既可可以以表表示示基基于于计计算算机的系统,也可以表示软件机的系统,也可以表示软件数据流图标记数据流图标记顶层数据流图顶层数据流图 随随着着需需求求分分析析活活动动的的深深入入,较较高高抽抽象象级级别别的的复复杂杂加加工工逐逐步步精精化化为为一一系系列列相相互互关关联联的的数数据据流和子加工。流和子加工。数据流图的精化与平衡数据流图的精化与平衡n逐层精化必须保逐层精化必须保持数据流图的平持数据流
33、图的平衡衡n数据流与加工精数据流与加工精化必须保持一致化必须保持一致n需求分析活动只需求分析活动只求对问题全面、求对问题全面、清晰的理解,不清晰的理解,不考虑软件设计细考虑软件设计细节节例子例子: :商店商店业务处理系统第一层数据流图加细每一个加工框 销售细化采购细化数据字典数据字典定义定义 数数据据字字典典由由数数据据条条目目组组成成,数数据据字字典典描描述述、组组织织和和管管理理数数据据流流图图的的数数据据流流、加加工工、数数据据源源及及外部实体。外部实体。n数数据据字字典典用用简简洁洁、清清晰晰、易易理理解解的的文文字字描描述述条条目目,说说明明数数据据流流图图的的加加工工功功能能、性性
34、能能、要要求求及及设设计计约约束等。束等。n数数据据流流图图与与数数据据字字典典配配套套使使用用,完完整整地地描描述述软软件件需求。需求。数据字典的数据条目数据字典的数据条目定义内容定义内容(1 1)名称与别名)名称与别名 数据流、数据源或外部实体的标识;数据流、数据源或外部实体的标识;(2 2)数据类型;)数据类型;(3 3)何处使用如何使用)何处使用如何使用 输入流输出流的加工表;输入流输出流的加工表;(4 4)内容描述;)内容描述;(5 5)补充说明)补充说明 如,取值范围与缺省值,有关的设计约束等。如,取值范围与缺省值,有关的设计约束等。(1 1)数据流词条描述)数据流词条描述n n数
35、据流名:数据流名:n n说明:简要介绍作用即它产生的原因说明:简要介绍作用即它产生的原因和结果和结果n n数据流来源:来自何方数据流来源:来自何方n n数据流去向:去向何处数据流去向:去向何处n n数据流组成:数据结构数据流组成:数据结构n n数据量流通量:数据量,流通量数据量流通量:数据量,流通量(2 2)数据元素词条描述)数据元素词条描述n数据元素名:数据元素名:n类型:数字(离散值,连续值),类型:数字(离散值,连续值),文字(编码类型)文字(编码类型)n长度:长度:n取值范围:取值范围:n相关的数据元素及数据结构:相关的数据元素及数据结构:(3 3)数据文件词条描述)数据文件词条描述n
36、 n数据文件名:数据文件名:n n简述:存放的是什么数据简述:存放的是什么数据n n输入数据:输入数据:n n输出数据:输出数据:n n数据文件组成:数据结构数据文件组成:数据结构n n存储方式:顺序,直接,关键码存储方式:顺序,直接,关键码n n存取频率:存取频率:(4)加工逻辑词条描述)加工逻辑词条描述n n加工名:加工名:n n加工编号:反映该加工的层次加工编号:反映该加工的层次n n简要描述:加工逻辑及功能简述简要描述:加工逻辑及功能简述n n输入数据流:输入数据流:n n输出数据流:输出数据流:n n加工逻辑:简述加工程序,加工顺序加工逻辑:简述加工程序,加工顺序(5)源点及汇源点及
37、汇( (终终) )点词条描述点词条描述n n名称:外部实体名名称:外部实体名名称:外部实体名名称:外部实体名n n简要描述:什么外部实体简要描述:什么外部实体简要描述:什么外部实体简要描述:什么外部实体n n有关数据流:有关数据流:有关数据流:有关数据流:n n数目:数目:数目:数目:数据字典的管理数据字典的管理 大大型型软软件件项项目目的的数数据据字字典典规规模模庞庞大大,利利用用数数据据流分析的工具对数据字典实施管理流分析的工具对数据字典实施管理(1 1)对新数据条目进行重名检查。)对新数据条目进行重名检查。(2 2)维护数据字典和数据流图的一致性。)维护数据字典和数据流图的一致性。(3
38、3)自动完成数据条目查询)自动完成数据条目查询。 例如例如 : n该条目在何处使用?该条目在何处使用?n修改数据流图会对哪些数据条目产生影响修改数据流图会对哪些数据条目产生影响? ?n修改某个数据条目又会造成哪些影响?修改某个数据条目又会造成哪些影响? 数据字典数据字典 定义数据条目定义数据条目原则原则 精确、简洁,容易理解。精确、简洁,容易理解。例例 用形式语言的语法定义机制描述数据条目用形式语言的语法定义机制描述数据条目n 由由构成构成n 、的顺序连接、的顺序连接n 、的选择连接、的选择连接nAn (=) 个的重复连接个的重复连接n( ) ( ) 可选的数据可选的数据n原子语法成分用简明的
39、自然语言描述原子语法成分用简明的自然语言描述“家庭保安系统电话号码家庭保安系统电话号码”的数据条目定义的数据条目定义电话号码电话号码分机号分机号外线号码外线号码分机号分机号1 12 2外外线线号号码码( (市市话话号号码码长长话话号号码码) )长话号码长话号码( (区号区号市话号码市话号码) )区号区号任何长度为任何长度为3 3的数字串的数字串市话号码市话号码局号局号分局号分局号局号局号4 44444552552分局号分局号=任何长度为任何长度为4 4的数字串的数字串2 2 数据流图的实时系统扩充数据流图的实时系统扩充实时系统实时系统 系统与现实世界实体交互具有时间特性。系统与现实世界实体交互
40、具有时间特性。n数据流数据流 时间连续的数据流时间连续的数据流 时间离散的数据流(控制信号或事件)时间离散的数据流(控制信号或事件)n实实时时系系统统的的状状态态随随时时间间及及相相关关事事件件的的激激励励变变化化 。数据流图的实时系统扩充数据流图的实时系统扩充n实实时时系系统统响响应应事事件件的的“加加工工”称称“控控制制”,它它在在限限定定的的时时间间内内完完成成对对事事件件的的识识别别、输输出出,改改变变系系统的状态。统的状态。n实实时时系系统统软软件件对对响响应应速速度度和和可可靠靠性性的的要要求求比比非非实实时系统软件高。时系统软件高。n在在软软件件开开发发的的各各个个阶阶段段都都应
41、应关关注注实实时时控控制制部部件件的的性能和可靠性。性能和可靠性。数据流图的实时系统扩充数据流图的实时系统扩充 传传统统数数据据流流方方法法不不能能胜胜任任实实时时系系统统的的需需求求分分析析任任务务。为为开开发发实实时时嵌嵌入入式式系系统统,必必须须对对传传统统方方法法进进行扩充。行扩充。nWard Ward MellorMellor 在数据流图中引入实时图形记号在数据流图中引入实时图形记号nHatleyHatley PirbhaiPirbhai 在在数数据据流流图图中中引引进进状状态态加加工工图图描描述述系系统统的的外外部行为部行为实时嵌入式系统对软件的要求实时嵌入式系统对软件的要求n在连
42、续的时间域内采集並生成信息流在连续的时间域内采集並生成信息流n软件要及时处理控制信息软件要及时处理控制信息n必须在規定的时间内完成与现实世界的交互必须在規定的时间内完成与现实世界的交互n系统状态实时变化,存在状态迁移机制系统状态实时变化,存在状态迁移机制n多任务的场合,一个加工可能存在多个实例多任务的场合,一个加工可能存在多个实例 (1) Ward (1) Ward MellorMellor扩充扩充符号的扩充符号的扩充n引引入入表表示示事事件件、连连续续数数据据流流、控控制制及及事件源的图形符号。事件源的图形符号。n引引入入多多任任务务环环境境下下,同同一一控控制制的的多多个个进进程实例。程实
43、例。Ward Ward MellorMellor扩充扩充 计计算算机机控控制制的的水水温温监监测与调节系统测与调节系统n水水温温测测量量仪仪传传给给温温度度监监控控子子系系统统的的测测量量数数据据是是连连续续的。的。n温温度度监监控控子子系系统统将将水水温温数数据据与与允允许许的的波波动动范范围围进进行行比比较较,然然后后连连续续输输出出调调节节后的温度值。后的温度值。Ward Ward MellorMellor扩充扩充n扩扩充充的的图图形形记记号号可可以以和和传传统统的的数数据据流流图图符符号号混混合合使用。使用。n加加工工可可接接收收事事件件作作为为输输入入,控控制制也也可可接接收收数数据
44、据作作为输入。为输入。n扩充数据字典,描述离散事件和连续数据流。扩充数据字典,描述离散事件和连续数据流。n数数据据流流图图对对控控制制的的文文字字描描述述应应包包括括响响应应时时间间、可可靠性等约束。靠性等约束。离散数据流离散数据流(事件事件)与普通数据流与普通数据流机器人装配机械部件机器人装配机械部件n待待装装配配部部件件处处于于就就绪绪状状态态,“部部件件监监控控与与操操作作员员界界面面”过过程程读读操操作作员员命令命令n处处理理操操作作员员命命令令,发发送送“启动信号启动信号”命令命令n“机机器器人人初初始始化化,发发送送“进进程程活活跃跃信信号号”启启动动“移移位位命命令令处处理理”完
45、完成成装配工作。装配工作。(2) (2) HatleyHatley PirhaiPirhai扩充扩充建立实时系统的过程模型和控制模型建立实时系统的过程模型和控制模型n引引进进两两个个新新的的图图形形记记号号,用用虚虚线线表表示示控控制制流或事件流;流或事件流;n虚虚符符号号和和实实符符号号分分开开,专专门门定定义义控控制制流流图图CFD;nCFD定定义义控控制制流流、表表示示控控制制加加工工並並引引入入粗粗短线表示控制规格说明;短线表示控制规格说明;n控制规格说明指明控制规格说明指明(1 1)当当事事件件发发生生或或控控制制信信号号被被感感知知时时,软软件的行为件的行为(2 2)当当某某一一事
46、事件件发发生生时时,激激活活相相关关加加工工部部件件HatleyHatley PirhaiPirhai扩充扩充传统的数据流图传统的数据流图n描描述述实实时时系系统统的的静静态态过程模型过程模型n表表示示数数据据和和数数据据的的加加工工n数数据据流流图图的的元元素素没没有有时间意义时间意义控制流图控制流图n描描述述实实时时系系统统的的动动态态过程模型过程模型n表表示示事事件件在在加加工工过过程程中的变化,中的变化,n控控制制流流图图的的元元素素有有时时间意义间意义HatleyHatley PirhaiPirhai扩充扩充n实实时时系系统统或或子子系系统统的的数数据据流流图图和和控控制制流流图图具
47、具有有同同名名“加工加工”n控制流图的控制流图的“加工加工”称称“进程进程”n“加加工工激激活活表表”指指明明加加工工导导致致必必须须激激活活的的外外部部事事件件n控制规格说明包括一系列的建模工具控制规格说明包括一系列的建模工具HatleyHatley PirhaiPirhai扩充扩充 实时系统模型实时系统模型HatleyHatley PirhaiPirhai扩充扩充 过程模型和控制模型过程模型和控制模型n数数据据流流图图(过过程程模模型型)用用来来表表示示实实时时系系统统的的数数据据以及对数据进行操作的过程以及对数据进行操作的过程n控控制制流流图图用用来来描描述述进进程程之之间间的的控控制制
48、流流并并刻刻画画系系统统的的行行为为特特征征:每每个个事事件件所所引引发发的的系系统统状状态态变变更更和和进程活跃情况。进程活跃情况。n过过程程模模型型和和控控制制模模型型以以数数据据流流图图和和控控制制流流图图之之间间的简单对应关系互为关联。的简单对应关系互为关联。n过过程程模模型型的的过过程程规规格格说说明明可可能能产产生生事事件件输输出出,引引发控制规格说明所描述的状态加工。发控制规格说明所描述的状态加工。n进进程程规规格格说说明明可可以以产产生生进进程程活活跃跃信信号号,作作用用于于数数据流图。据流图。HatleyHatley PirhaiPirhai扩充扩充 数据流图和控制流图的对应
49、关系数据流图和控制流图的对应关系例例 复印机控制软件的复印机控制软件的 数数据据流流图图和和控控制制流流图图状态加工图状态加工图进程活跃表进程活跃表4.2.2.4 行为建模行为建模 n基于结构化分析的扩展版本提出这种建模的符基于结构化分析的扩展版本提出这种建模的符号。号。n状态状态-变迁图通过描述变迁图通过描述状态状态以及导致系统改变以及导致系统改变状态的状态的事件事件来表示系统的行为。来表示系统的行为。n每个状态代表系统的一种行为模式每个状态代表系统的一种行为模式控制流图控制流图状态变迁图状态变迁图4.2.2.5 4.2.2.5 实例分析实例分析-以以“家庭保安系统家庭保安系统”为例展示为例
50、展示结构化分析方法的使用过程结构化分析方法的使用过程n实体实体- -关系图关系图n创建数据流模型创建数据流模型n创建控制流模型创建控制流模型n过程规格说明过程规格说明0 0 实体实体- -关系图关系图步骤步骤: 列出应用或业务过程涉及的列出应用或业务过程涉及的”事物事物”,同时以数据对象同时以数据对象的形式给出。的形式给出。 分析各对象及对象之间的关联,构件一个或多个对象分析各对象及对象之间的关联,构件一个或多个对象-关系对。关系对。 给出各对象对的基数和形态。给出各对象对的基数和形态。 迭代执行以上步骤,直到将所有的关系对分析完毕。迭代执行以上步骤,直到将所有的关系对分析完毕。 定义各对象实
51、体的属性。定义各对象实体的属性。 形式化并评审实体形式化并评审实体-关系图。关系图。 重复以上步骤,直到数据建模完成。重复以上步骤,直到数据建模完成。家庭安防系统部分数据对象如下:家庭安防系统部分数据对象如下:房主房主控制面板控制面板传感器传感器安全系统安全系统监控服务监控服务房主房主控制面板控制面板传感器传感器安全系统安全系统监控服务监控服务对象连接图对象连接图1 1 创建数据流模型创建数据流模型n数数据据流流图图是是目目标标软软件件系系统统中中各各个个处处理理子子功功能能以以及及它它们们之之间间的数据流动的图形表示。的数据流动的图形表示。n数据流图的精化过程是处理子功能和数据流的细化过程。
52、数据流图的精化过程是处理子功能和数据流的细化过程。n随随着着这这一一过过程程的的进进行行,用用户户需需求求逐逐步步精精确确化化、一一致致化化、完完全化。全化。n利用数据流图利用数据流图DFD开发信息域和功能域模型。开发信息域和功能域模型。n当当DFD精精化化到到较较细细级级别别时时,分分析析员员进进行行隐隐式式功功能能分分解解,並並导致相应数据的精化。导致相应数据的精化。n加工规格说明加工规格说明PSPEC描描述述输输入入信信息息、加加工工算算法法、产产生生输输出出结结果果,指指明明加工的约束和限制、产品的性能特征和工作环境等。加工的约束和限制、产品的性能特征和工作环境等。过程过程(1)用一个
53、园盘描述第用一个园盘描述第0层软件层软件/系统的系统的DFD图图(2)标记系统的输入标记系统的输入/输出输出(3)精化精化描述第描述第I层的数据对象、存储和加工层的数据对象、存储和加工(4)标记箭头和园盘标记箭头和园盘(5)对第对第I层信息流进行一致性维护层信息流进行一致性维护(6)对加工园盘逐个进行精化对加工园盘逐个进行精化(7)当当第第n层层DFD图图园园盘盘己己精精化化为为容容易易实实现现的的简简单单操操作时,创建数据流模型的过程仃止。作时,创建数据流模型的过程仃止。创建用户需求数据流模型应遵循的规则创建用户需求数据流模型应遵循的规则(1 1)首首先先建建立立顶顶级级数数据据流图流图n顶
54、顶级级数数据据流流图图只只有有一一个个代代表表目目标标软软件件系系统统的功能加工的功能加工n根根据据软软件件系系统统与与外外部部环环境境的的关关系系确确定定顶顶级级数数据据流流图图的的外外部部实实体体以以及及它它们们与与软软件件系系统统之间的数据流。之间的数据流。“家庭保安系统家庭保安系统”1 1级数据流图级数据流图(2(2)对对需需求求描描述述进行语法分析进行语法分析n名名词词和和名名词词短短语语构构成成潜潜在在的的外外部部实体实体n数数据据源源或或数数据据流流、动动词词构构成成潜潜在在的的处理功能。处理功能。n结结合合分分析析人人员员对对问问题题域域和和用用户户需需求求的的理理解解,确确定
55、定软软件件系系统统的的主主要要功功能能以以及及它它们们之之间的数据流。间的数据流。 (3 3)功能分解功能分解按照按照“强内聚、松藕合强内聚、松藕合”原则,对处理功能进行精化;原则,对处理功能进行精化;对对数数据据流流进进行行精精化化,针针对对被被精精化化的的处处理理功功能能生生成成下下一一级级数数据据流图。流图。数据流精化的意义数据流精化的意义n数数据据流流的的内内容容及及各各项项特特征征将将逐逐步步彰彰现现,所所以以要要将将其其作作为为数数据字典的一个条目,并不断精化、调整内容。据字典的一个条目,并不断精化、调整内容。n在在父父数数据据流流图图中中的的复复合合数数据据项项可可被被分分解解为
56、为子子数数据据项项,这这种种数据流分解并不违背平衡准则。数据流分解并不违背平衡准则。如如,如如果果将将图图5.165.16中中的的“启启动动停停止止系系统统”功功能能分分解解为为“启启动动系系统统”和和“停停止止系系统统”,那那么么“启启动动停停止止命命令令”应应相相应地精化为应地精化为“启动命令启动命令”和和“停止命令停止命令”。“家庭保安系统家庭保安系统”2 2级数据流图级数据流图(4 4)在在精精化化过过程程中中必必须须维维持持各各级级数数据据流图的平衡。流图的平衡。()精精化化过过程程应应适适可可而而止止,避避免免涉涉及及软件设计细节软件设计细节。2 2 创建控制流模型创建控制流模型n
57、实实时时嵌嵌入入式式系系统统存存在在事事件件驱驱动动机机制制,通通过过系系统统的的加加工工产产生生控制信息。控制信息。n系统对事件信息的加工必须在指定的时间内完成。系统对事件信息的加工必须在指定的时间内完成。n实实时时嵌嵌入入式式系系统统的的描描述述不不仅仅需需要要数数据据流流图图,而而且且还还需需要要控控制流图制流图CFD。控制规格说明控制规格说明n用用状状态态变变迁迁图图(STD)、加加工工激激活活表表(PAT)描描述述系系统统的的行为。行为。n状态变迁图是行为的状态变迁图是行为的“顺序规格说明顺序规格说明”n加加工工激激活活表表是是行行为为的的“组组合合规规格格说说明明”,它它指指明明某
58、某一一事事件件发生时,流模型被激活的加工园盘。发生时,流模型被激活的加工园盘。“家庭保安系统家庭保安系统”控制流图控制流图“家庭保安系统家庭保安系统”状态加工图状态加工图过程过程(1)列出系统的输入传感器列出系统的输入传感器(2)列出系统的中断条件列出系统的中断条件(3)列出系统的操作开关列出系统的操作开关(4)列出数据条件列出数据条件(5)考考察察加加工工中中的的动动词词和和名名词词、考考察察控控制制规规格格说说明明的数据项的数据项(6)描述系统行为,标识状态和状态变迁描述系统行为,标识状态和状态变迁(7)关关注注可可能能的的省省略略(如如,是是否否还还有有其其它它的的状状态态进进入或离开这个状态?)入或离开这个状态?)3 3 过程规格说明过程规格说明n对对数数据据流流图图无无须须再再分分解解的的处处理理功功能能,可可借借助助结结构构化化的的自自然然语语言言、 “程程序序设设计计的的语语言言(PDL)”、数学方程、表、图或图表等工具数学方程、表、图或图表等工具进行进行描述。描述。n必须为必须为数据流数据流流模型的每个加工园盘提供相应的流模型的每个加工园盘提供相应的加工加工过程规格说明。过程规格说明。 谢谢