版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络课件 制作人:谢希仁王荣存 博士第3-1章 需求分析和结构化系统分析第3章 结构化分析与设计3-1.1 需求分析概述3-1.2 需求获取3-1.3 需求分析原则3-1.4 需求规格说明3-1.5 传统的软件需求分析基础软件需求作为软件生命周期的第一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域需求工程。 90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE),1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。3-1.1 需求分
2、析概述3-1.1.1需求分析的内容软件需求的重要性 软件需求无疑是当前软件工程中的关键问题,软件需求无疑是当前软件工程中的关键问题,。 美国于美国于1995年开始对全国范围内的年开始对全国范围内的8000个软件项目个软件项目进行跟踪调查。进行跟踪调查。 分析失败的原因发现,分析失败的原因发现,与需求过程相关的原因占了与需求过程相关的原因占了45%,而其中,而其中各占各占13%和和12%。 未完成未完成完成未实施完成未实施需求:成功的软件开发的前提软件质量=系统所实现的需求/客户所期望的需求l软件项目投标及签订合同的基础l软件系统实现的基础l系统确认移交的基础需求的定义IEEE Standard
3、 Glossary of Software Engineering Terminologyl用户解决一个问题或达到一个目标所需要的一种状况或能力l系统为了满足一种约定、标准、规格说明或其它正式文件而必须满足或拥有的一种状况或能力l以上两种状态或能力的文档化表示主观需求主观需求客观需求客观需求需求文档需求文档lIEEE公布的需求定义分别从用户和软件工程师的角度阐述了什么是需求,需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是需求文档。l比较通俗的需求定义如下:需求是指明系统必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。 软软 件需件
4、需 求求用用 户需户需 求求系系 统需统需 求求功能功能需求需求非功能非功能需求需求领域领域需求需求由客户管理员、由客户管理员、用户等提出用户等提出课件制作人:谢希仁非功能需求非功能需求产品需求产品需求机构需求机构需求外部需求外部需求互操作互操作需求需求道德道德需求需求立法立法需求需求性能性能需求需求空间空间需求需求交付交付需求需求实现实现需求需求标准标准需求需求隐私隐私需求需求安全安全性需求性需求可用性可用性需求需求效率效率需求需求可靠性可靠性需求需求可移植可移植性需求性需求课件制作人:谢希仁3-1.1.2 需求类型需求类型1. 按内容分类按内容分类 软件需求代表系统的综合要求,包括以下几种
5、类型: (1) 系统功能需求 系统功能需求指根据系统所能实现的功能要求,对于每一类功能或者有时对于每一个功能,需要书弄清输入、加工和输出等需求。 (2) 系统性能需求 按照系统的性能要求分类。例如联机系统的响应时间、系统需要的存储容量、后援存储器、重新启动、安全性和可靠性等方面的要求。课件制作人:谢希仁 (3) 系统运行需求 这类要求集中表现为对系统运行时所处的环境、使用的资源、安全保密和用户界面的要求。如支持系统运行的硬件和软件是什么,采取哪种数据库管理系统,需要什么样的外存储器和数据通信接口。 (4) 未来可能出现的问题 就是把不属于当前系统开发范围的问题都明确地列出来,因为将来很可能会提
6、出这些问题。这些问题主要是为了系统将来的扩充和修改做准备,当以后需要时就可以很容易地进行扩展和修改了。课件制作人:谢希仁2. 按用户的期望分类按用户的期望分类 (1) 正常需求 用户陈述的针对系统的目标。 (2) 期望需求 隐式的需求,可能由于是非常基础的而用户没有显示的陈述,如人机交互的容易性、整体的操作正确性和可靠性,以及软件安装的容易性。 (3) 兴奋需求 在用户的期望范围之外,如果实现将令人愉快和出乎意料。课件制作人:谢希仁3. 按必要性分类按必要性分类 (1) 强制的需求 是指除非软件与这些需求一致,则该软件是不可接受的。 (2) 希望的需求 是指这些需求将增进软件产品功能,但是如果
7、缺乏的话也不是不可接受。 (3) 任选的需求 是指这个功能可有可无。课件制作人:谢希仁3-1.1.3 需求特性需求特性(1) 正确性 需求规格说明书中的功能、行为、性能描述必须与用户对目标软件产品的期望相吻合。(2) 无歧义性 对于用户、分析人员、设计人员和测试人员而言,需求规格说明书中的任何语法单位只能有唯一的语义解释。确保无歧义性的一种有效措施是在需求规格说明书中使用标准化术语,并对术语的语义进行显式的、统一的解释。课件制作人:谢希仁(3) 完整性 需求规格说明书不能遗漏任何用户需求,具体地说,目标软件产品的所有功能、行为、行为约束以及它在所有可能情况下的预期行为,均应完整地包含在需求规格
8、说明书中。(4) 可验证性 对于规格说明书中的每一个需求,均应存在技术和经济上可行的手段进行验证和确认。课件制作人:谢希仁(5) 一致性 需求规格说明书的各部分之间不能相互矛盾。这些矛盾可以表现为术语使用方面的冲突,功能和行为方面的冲突,以及时序方面的前后不一致。(6) 可理解性 追求上述目标不应妨碍需求规格说明书对于用户、设计人员和测试人员的易理解性。特别是对于非计算机专业的用户而言,不宜在说明书中使用太多的专业化词汇。课件制作人:谢希仁(7) 可修改性 需求规格说明书的格式和组织方式应保证能够比较容易地接纳后续的增删和修改,并使修改后的说明书能够较好地保持其他各项属性。(8) 可追踪性 需
9、求规格说明书必须将分析后获得的每项需求与用户的原始需求项清晰地联系起来,并为后续开发和其他文档引用这些需求项提供便利。课件制作人:谢希仁3-1.2 需求分析(工程)的活动 需求工程是系统工程和软件工程的一个交叉分支,涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系。它也提供现实需求和软件能力之间的桥梁。系统目标系统目标系统服务系统服务软件约束软件约束运行环境运行环境课件制作人:谢希仁 获取需求;深入实际,在充分理解用户需求的基础上,获取系统需求。需求分析与建模;进行需求建模、对模型或原型进行分析。 确认需求
10、;确保需求说明准确、完整地表达系统的主要特性。 进化需求。客户的需要总是不断(连续)增长的 ,进化需求是必要的。 课件制作人:谢希仁 缺乏领域知识缺乏领域知识, ,应用领域的问题常常是模糊的、应用领域的问题常常是模糊的、不精确的;不精确的; 存在默认的知识存在默认的知识, ,如难以描述的常识问题;如难以描述的常识问题; 存在多个知识源存在多个知识源, ,且多知识源之间可能有冲突;且多知识源之间可能有冲突; 客户可能的偏见客户可能的偏见,如不能提供,如不能提供或不想告知或不想告知你所需你所需要了解的事情。要了解的事情。非常困难,主要原因有:非常困难,主要原因有:3-1.2.1需求获取(requi
11、remente licitation)课件制作人:谢希仁需求获取技术需求获取技术 需求抽取的方法一般有:需求抽取的方法一般有:1.1.面谈法面谈法 重要而直接,简单的重要而直接,简单的需求获取技术。需求获取技术。2.2.问卷调查法问卷调查法 是对面谈法的补充。是对面谈法的补充。3.3.需求专题讨论会需求专题讨论会 最有力的最有力的需求获取技术。有需求获取技术。有利利 于于 培养高效团队。培养高效团队。4.4.观察用户的工作流程观察用户的工作流程 适用于用户无法准确表达适用于用户无法准确表达需求的情况。需求的情况。5.5.原型化方法原型化方法6.6.基于用例的方法基于用例的方法 还有知识工程方法
12、等如:场记分析法、卡片分还有知识工程方法等如:场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。类法、分类表格技术和基于模型的知识获取等。课件制作人:谢希仁 需求抽取的方法一般有:需求抽取的方法一般有:1.1.面谈法面谈法 重要而直接,简单的重要而直接,简单的需求获取技术。需求获取技术。2.2.问卷调查法问卷调查法 是对面谈法的补充。是对面谈法的补充。3.3.需求专题讨论会需求专题讨论会 最有力的最有力的需求获取技术。有需求获取技术。有利利 于于 培养高效团队。培养高效团队。需求获取技术需求获取技术课件制作人:谢希仁 需求抽取的方法一般有:需求抽取的方法一般有:4.4.观察用户的工作
13、流程观察用户的工作流程 适用于用户无法准确表达适用于用户无法准确表达需求的情况。需求的情况。5.5.原型化方法原型化方法6.6.基于用例的方法基于用例的方法需求获取技术需求获取技术课件制作人:谢希仁课件制作人:谢希仁课件制作人:谢希仁课件制作人:谢希仁课件制作人:谢希仁课件制作人:谢希仁 需求分析和建模又包含三个层次的工作。需求分析和建模又包含三个层次的工作。1 1、需求分析、需求分析 2 2、需求建模(分为企业、需求建模(分为企业建模建模、功能需求、功能需求建模建模和非和非功能需求功能需求建模建模等)等)3 3、需求规格说明、需求规格说明不同的描述方式。不同的描述方式。 主要对收集到的需求进
14、行提炼、分析和认真审主要对收集到的需求进行提炼、分析和认真审查,确保所有参加人员取得一致共识。找出错误、查,确保所有参加人员取得一致共识。找出错误、遗漏和不足,建立完整的分析模型。遗漏和不足,建立完整的分析模型。 3-1.2.2需求分析与建模需求规格说明需求规格说明l 软件需求规格说明是分析任务的最终产物,美国国家标准局、IEEE以及美国防部门均已提出了软件需求规约(以及其他软件工程文档)的候选格式。 l 软件需求规格说明必须正确地定义所有的软件需求;除了设计上的特殊限制之外,软件需求规格说明中一般不描述任何设计、验证或项目管理的细节。 需求必须描述的基本问题需求必须描述的基本问题l 功能所设
15、计的软件要做什么; l 性能软件功能在执行过程中的速度、可使用性、响应时间、各种软件功能的恢复时间、吞吐能力、精度、频率等等; l 强加给实现的设计限制在效果、实现的语言、数据库完整性、资源限制、操作环境等等方面所要求的标准; l 属性可移植性、正确性、可维护性及安全性等方面的考虑因素; l 外部接口与人、硬件、其他软件和其他硬件的相互关系。 软件需求规格说明的大纲软件需求规格说明的大纲 1 1 前言前言 1.1 1.1 目的目的 1.2 1.2 范围范围 1.3 1.3 定义、缩写词、略语定义、缩写词、略语 1.4 1.4 参考资料参考资料2 2 项目概述项目概述 2.1 2.1 产品描述产
16、品描述 2.2 2.2 产品功能产品功能2.3 2.3 用户特点用户特点 2.4 2.4 一般约束一般约束2.5 2.5 假设和依据假设和依据 3 3 具体需求具体需求 3.1 3.1 功能需求功能需求 3.1.1 3.1.1 功能需求功能需求1 13.1.1.1 3.1.1.1 引言引言3.1.1.2 3.1.1.2 输入输入3.1.1.3 3.1.1.3 加工加工3.1.1.4 3.1.1.4 输出输出 3.1.2 3.1.2 功能需求功能需求2 2 3.1.n 3.1.n 功能需求功能需求n n 3.2 3.2 外部接口需求外部接口需求 3.2.1 3.2.1 用户接口用户接口 3.2.
17、2 3.2.2 硬件接口硬件接口3.2.3 3.2.3 软件接口软件接口3.2.4 3.2.4 通信接口通信接口3.3 3.3 性能需求性能需求 3.4 3.4 设计约束设计约束 3.4.1 3.4.1 其他标准的约束其他标准的约束 3.4.2 3.4.2 硬件的限制硬件的限制 3.5 3.5 属性属性3.5.1 3.5.1 安全性安全性3.5.2 3.5.2 可维护性可维护性 3.6 3.6 其他需求其他需求 3.6.1 3.6.1 数据库数据库 3.6.2 3.6.2 操作操作 3.6.3 3.6.3 场合适应性场合适应性 附录附录索引索引 . 由于需求是软件开发的第一阶段,直接影响后由于
18、需求是软件开发的第一阶段,直接影响后面各阶段的开发。面各阶段的开发。 . 需求的可变性必须进行验证。需求的可变性必须进行验证。3-1.2.3 需求的有效性验证指功能需求是否符合用户所提出指功能需求是否符合用户所提出的需求。的需求。系统功能描述及约束是否一致。系统功能描述及约束是否一致。是否包含所有系统用户的需求和是否包含所有系统用户的需求和约束。约束。是否能设计出一组验证方法,是否能设计出一组验证方法,确定了检验的标准。确定了检验的标准。 需求管理贯穿需求分析全过程,包括需求管理贯穿需求分析全过程,包括:3-1.2.3 需求管理 需求管理的所有活动中,最重要的是需求管理的所有活动中,最重要的是
19、 “需求变更管理需求变更管理”,包括包括:问题分析和问题分析和变更描述变更描述变更分析和变更分析和成本计算成本计算变更实现变更实现修正后的修正后的需求需求识别出识别出的问题的问题 需求管理过程需要需求管理过程需要CASE (Computer Aided Software Engineering) 工具支持。工具支持。 可行性研究可行性研究需求导出需求导出和分析和分析需求描述需求描述需求有效性需求有效性验证验证可行性报告可行性报告系统模型系统模型用户需求和用户需求和系统需求系统需求需求文挡需求文挡 在整个需求分析活动中,需求分析师起着关键的作用,其本人应该具备突出的能力,如:l能掌握抽象概念,能
20、对其进行分类,能从中综合出解的能力;l能从冲突或者混淆中吸取恰当事实的能力;l能弄清用户环境的能力;l能为用户系统恰当配置软硬件的能力l能较好地用书面和口头形式进行沟通的能力l有“从树木见森林”的能力。 需求分析师的主要能力需求分析师的主要能力 将系统看作若干功能模块的集合,每个功能又可将系统看作若干功能模块的集合,每个功能又可以分解为子功能以分解为子功能, ,子功能还可继续分解子功能还可继续分解, ,分解的结果即分解的结果即是系统的雏形。是系统的雏形。存在问题存在问题1. 1. 需要人工完成需要人工完成2. 2. 无法对描述的准确度进行验证。无法对描述的准确度进行验证。3. 3. 难以适应需
21、求的变化。难以适应需求的变化。问题空间问题空间功能功能子功能子功能映射映射3-1.3 需求分析方法1客房预定系统客房预定系统 2前台接待系统前台接待系统 3前台收银系统前台收银系统 4帐务系统帐务系统 5管家系统管家系统 6电话系统电话系统 7客历系统客历系统 8合约系统合约系统 9经理系统经理系统 10总经理系统总经理系统 11密码管理系统密码管理系统 12报表系统报表系统 13帐务报表帐务报表盘存盘存/ /销售系统销售系统 1.0.0 1.0.0销售处理销售处理 1.1.0 1.1.0盘存处理盘存处理 1.2.0 1.2.0例:例:盘存盘存/销售系统,用户提出系统应有以下功能销售系统,用户
22、提出系统应有以下功能: 计算买主订单计算买主订单 准备销售报表准备销售报表 建立买主文件和应收帐发票建立买主文件和应收帐发票 运行更新的盘存文件运行更新的盘存文件 产生托运单和包装单产生托运单和包装单 保证库存及时订货保证库存及时订货计算销售计算销售记录记录 1.1.1产生销售产生销售报表报表 1.1.2核对买主核对买主贷方金额贷方金额 1.1.3验证库存验证库存量级量级 1.2.1产生货运产生货运订单订单 1.2.2执行买主执行买主汇票汇票 1.2.3产生盘存产生盘存报表报表 1.2.4 是一种以数据、数据的封闭性为基础,从问题是一种以数据、数据的封闭性为基础,从问题空空间到某种表示的映射方
23、法间到某种表示的映射方法, ,由数据流图由数据流图(DFD(DFD图图) )表示表示。顾客出版社验证验证订单订单汇总汇总订单订单订单出版社 订单图书目录文件图书目录文件顾客档案顾客档案待处理订单文件待处理订单文件正确订单一批订单出版社档案文件出版社档案文件订货存根文件订货存根文件面向对象的分析方法面向对象的分析方法 面向对象分析方法面向对象分析方法( (OOA) )的关键是识别问题域内的关键是识别问题域内的对象的对象, ,分析它们之间的关系分析它们之间的关系, ,并建立起三类模型。并建立起三类模型。功能模型定义功能模型定义“做什么做什么”,状态模型定义,状态模型定义“何时做何时做”,对象模型定
24、义,对象模型定义“谁对谁做谁对谁做”信息建模法信息建模法 是从数据的角度对现实世界建立系统的信息模型是从数据的角度对现实世界建立系统的信息模型, ,基本工具是基本工具是ERER图。是由实体、属性和关系组成的图。是由实体、属性和关系组成的网络图。网络图。 E- E-实体,是一个或一组对象;实体,是一个或一组对象; R- R-关系,关系,实体之间联系或交互作用。实体之间联系或交互作用。分解:分解:对于一个复杂的系统,对于一个复杂的系统,为了将复杂性降低到可以掌为了将复杂性降低到可以掌握的程度,可以把大问题分握的程度,可以把大问题分解成若干小问题,然后分别解成若干小问题,然后分别解决(如右图)。解决
25、(如右图)。抽象:抽象:分解可以分层进行,即先考虑问题最本质的分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去属性,暂把细节略去, ,以后再逐层添加细节,直至涉以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系及到最详细的内容,这种用最本质的属性表示一个系统的方法就是统的方法就是“抽象抽象”。1.11.21.3x2132.12.22.31.11.33-1.4 结构化分析方法3-1.4.1 SA法的基本思想 “分解”和“抽象”。 基本思想与步骤基本思想与步骤1 1、分层的数据流图、分层的数据流图(DFD(DFD图图) )2 2、数据词典、数据词典3 3、描述加工逻辑
26、的结构化语言、判定表及判定树、描述加工逻辑的结构化语言、判定表及判定树当前系统当前系统具体模型具体模型建立建立当前系统当前系统逻辑模型逻辑模型抽象抽象目标系统目标系统逻辑模型逻辑模型建立建立完善的系统完善的系统逻辑模型逻辑模型改进改进深入调查深入调查研究研究分析用户需求分析用户需求,用用DFD图描述图描述分析系统需求分析系统需求,用用DFD图描述图描述修改完善修改完善DFD图图,增添功能增添功能3-1.4.2 SA法的步骤实体实体关系图关系图状态迁移图数据流图数据对象描述加工规格说明数据字典控制规格说明l数据流图有两个目的:指明数据在系统中移动时如何被变换;描述对数据流进行变换的功能(和子功能
27、)。它可以用于信息域的分析,作为功能建模的基础。l状态转换图指明系统将如何动作。为此,状态转换图表示了系统的各种行为模式(称为“状态”),以及在状态间进行变迁的方式,状态转换图是行为建模的基础。顾客顾客出版社出版社验证验证订单订单汇总汇总订单订单订单订单出版社出版社 订单订单图书目录文件图书目录文件顾客档案顾客档案待处理订单文件待处理订单文件正确正确订单订单一批一批订单订单出版社档案文件出版社档案文件订货存根文件订货存根文件画图步骤画图步骤 : 1 1、确定外部实体及输入、输出数据流。、确定外部实体及输入、输出数据流。 2 2、确定分解顶层的加工。、确定分解顶层的加工。 3 3、确定使用的文件
28、。、确定使用的文件。 4 4、用数据流将各部分连接起来,形成数、用数据流将各部分连接起来,形成数据封闭。据封闭。注意:标注各加工框及数据流名称。注意:标注各加工框及数据流名称。例一例一 图书预定系统(顶层图书预定系统(顶层DFDDFD图)图)l数据流图(DFD,Data Flow Diagram)是用来描绘软件系统的逻辑模型的工具。l通过数据流图描绘信息在系统中流动和加工处理的情况。l是各类人员之间极好的交流、沟通的工具l设计数据流图只需考虑系统必须完成的基本逻辑功能,一般在图中不使用具体的物理元素,完全不需要考虑如何具体地实现这些功能。 3-1.4.3 数据流图组成符号 任何软件系统(或计算
29、机系统)从根本上来说,都是对数据进行加工或变换的工具。 例 下面以教材购销系统中的教材销售为例,说明如何画数据流图。 从用户调查中了解到某高校向学生销售教材的手续是:l 先由系办公室的张秘书开购书证明,l 学生凭证明找教材科的王会计开购书发票,向李出纳员交付书款,l 然后到书库找赵保管员领书。 现欲将上述手工操作改为计算机处理,试画出教材销售过程的数据流图。 l 首先找出数据的源点和终点,即找出数据源与数据汇,由此确定系统的边界。l 由于是由学生开始购书,最后由学生领书,因此数据的源点和终点都是“学生”。l 第二步找出加工,需要从描述中抽象出系统要完成的工作。 l 学生须凭购书证明得到购书发票
30、,然后交付书款,得到领书凭证,最后领书。其间能由计算机完成的工作是审查学生的购书凭证并开出发票,按发票开出领书单,由此得到2个加工(审查并开发票,开领书单)。 第三步要找出数据流。 学生向系统提交购书单,学生从系统得到领书单,在加工之间要传输发票信息,这样得到3个数据流。 同时还要注意在“审查并开发票”加工中排除了无效的书单,它也应作为一个数据流。 因此最后得到4个数据流:购书单,发票,领书单,无效书单。 l还要补充数据存储。数据存储一般不能通过系统描述确定,而要在设计数据流图时按照需要添加。 l实际上在审查购书单和开出发票之前,至少要查阅两个文件:各班学生用书表,教材存量表。 l把这两个文件
31、加进上图中,并给加工添上编号,就得到计算机售书系统的完整的数据流图。命名命名 数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。给这些成分起名字时应该仔细推敲。 名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。考生姓名考生姓名分类后的姓名分类后的姓名录取录取分类分类l注意合适的命名,尽量用现实存在的表格、单据。l不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。l不要把控制流作为数据流。汇款单汇款单合格的汇款单合格的汇款单核准的汇款单核准的汇款单格式格式检查检查计算计算汇费汇费取下一个取下一个考生成绩考生成绩录取录取分类分类为处理命名l
32、通常先为数据流命名,再为与之相关联的处理命名l名字应该反映整个处理的功能,而不是它的一部分功能。l名字最好有一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。l通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能跟恰当些。l如果在为某个处理命名时遇到了困难,则很可能是分解不恰当造成的,应该考虑重新分解。l数据的源点和终点并不需要在系统中实现,它们只是系统的外围环境(可能是人员、计算机外部设备或传感器等)。l通常为数据的源点和终点命名是采用它们在问题中习惯使用的名字,如“学生”,“管理员”。 分层数
33、据流图 l 对任何一层数据流图来说,称它的上层图为父图,在它下一层的图则称为子图。 l 在多层数据流图中,顶层流图仅包含一个加工,它代表将被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。l 底层流图是指其加工不需再做分解的数据流图,它处在最底层。l 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。 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
34、图1.1图2.1图2.2图分层DFD 图需求案例分析需求案例分析在医院在医院ICU病房里,将病症监视器安置在每个病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的组合病症病床,对病人进行监护。监视器将病人的组合病症信号实时地传送到中央监护系统进行分析处理。信号实时地传送到中央监护系统进行分析处理。 在中心值班室里,值班护士使用中央监护系统在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报
35、警,并打印病情报出现异常时,系统会立即自动报警,并打印病情报告和更新病历。告和更新病历。 根据医生的要求随时打印病人的病情报告,系根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。统还定期自动更新病历。案案 例例 医院病房监护系统医院病房监护系统经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1 1、监视病员的病症、监视病员的病症( (血压、体温、脉搏血压、体温、脉搏等等) )。2 2、定时更新病历。、定时更新病历。3 3、病情出现异常情况时报警。、病情出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。产生产生病情
36、报告病情报告监视病情监视病情更新病历更新病历1、监视病员的病症、监视病员的病症 采集病症信号采集病症信号( (血压、体温、脉搏等血压、体温、脉搏等) )。 组合病症信号。组合病症信号。 将模拟将模拟病症信号转换为数字信号(病症信号转换为数字信号(A-D转换)。转换)。2、定时更新病历、定时更新病历 将将病症信号进行格式化并加入更新日期、时间。病症信号进行格式化并加入更新日期、时间。 更新病历库中病人的信息。更新病历库中病人的信息。 可人工设定更新可人工设定更新病历的时间间隔。病历的时间间隔。3、病情出现异常情况时报警、病情出现异常情况时报警 根据标准病症信号库中的值,判断是否报警。根据标准病症
37、信号库中的值,判断是否报警。 将报警信号转换为各种模拟信号(将报警信号转换为各种模拟信号(D-A转换)。转换)。 实时打印病情报告,立即更新病历。实时打印病情报告,立即更新病历。4、随机地产生某一病员的病情报告、随机地产生某一病员的病情报告局部监视局部监视更新日志更新日志产生病情报告产生病情报告非功能需求1、监视器与网络的、监视器与网络的可靠性要求可靠性要求,涉及人的生命安,涉及人的生命安全。全。2、效率需求效率需求中对时间、空间的需求,所采集的病中对时间、空间的需求,所采集的病症信号数据量大。症信号数据量大。3、互操作需求互操作需求如要求监视器采样频率可人工调如要求监视器采样频率可人工调整等
38、。整等。4、对病人病历的、对病人病历的隐私的要求。隐私的要求。病员病员护士护士护士护士病员监病员监护系统护系统病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警顶顶 层层DFD图图顶层确定了系统的范围,其外部实体为病员和护士顶层确定了系统的范围,其外部实体为病员和护士护士护士病员病员护士护士第一层:第一层:病员病员护士护士护士护士中央监视中央监视病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员数据病员数据格式化格式化病员数据病员数据生理信号生理信号极限值极限值1324日志数据日志数
39、据日志数据日志数据医院病房监护系统一层医院病房监护系统一层DFDDFD图图紧急报告紧急报告第二层:加工第二层:加工“中央监视中央监视”分解分解医院病房监护系统二层医院病房监护系统二层DFDDFD图图计算超过计算超过极限值否极限值否病员病员数据数据超过超过极限值极限值报警报警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温体温血压、体温血压、体温脉搏脉搏生理信号生理信号极限值极限值时间时间脉搏脉搏血压血压日期日期时钟时钟格式化格式化病员数据病员数据3.13.23.23.33.33.43.4紧急报告紧急报告计算超过计算超过极限值否极限值否病员数据超过极限值报
40、警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温血压、体温、脉搏生理信号极限值时间脉搏血压日期时钟时钟格式化病员数据3.13.23.23.33.33.43.4第二层:加工第二层:加工“中央监视中央监视”分解分解第一层第一层格式化格式化病员数据病员数据生理信号生理信号极限值极限值病员病员护士护士护士护士中央监视中央监视病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员病员数据数据1324日志数据日志数据紧急报告紧急报告紧急报告紧急报告加工分解的原则加工分解的原则自然
41、性自然性:概念上合理、清晰;概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;匀的几个部分;分解度:一般每一个加工每次分解最多不要超过分解度:一般每一个加工每次分解最多不要超过个子加工个子加工, ,分解应分解到基本加工为止。分解应分解到基本加工为止。数据守恒与数据封闭原则数据守恒与数据封闭原则 数据守恒是指加工的输入数据守恒是指加工的输入/ /出数据流是否匹配,出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。即每一个加工既有输入数据流又有输出数据流。 数据封闭是对整个系统而言。数据封闭是对整个系统而言。合理使用文件
42、合理使用文件 当文件作为某些加工之间的交界面时,文件必当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同份画出来了,那么他同其他成份之间的联系也应同时表达出来。时表达出来。DFDDFD图不是流程图图不是流程图, ,不表示软件的控制流程。不表示软件的控制流程。子图与父图的子图与父图的“平衡平衡”父图中某个加工的输入输出数据流应该同相应父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同的子图的输入输出相同( (相对应),分层数据流图相对应),分层数据流图的这种特点称为
43、子图与父图的这种特点称为子图与父图“平衡平衡”。分层分层DFDDFD图的改进图的改进 DFD图须经过图须经过反复修改反复修改,才能获得最终的目标系统,才能获得最终的目标系统的的DFD图。从以下方面改进图。从以下方面改进DFD图:图: 1 1、检查数据流的正确性检查数据流的正确性 数据数据守恒守恒 子图、父图的平衡子图、父图的平衡 文件使用是否合理。特别注意输入文件使用是否合理。特别注意输入/ /出文件的数出文件的数据流。据流。2、改进、改进DFD图的易理解性图的易理解性 简化加工之间的联系(联系越少,独立性越强,简化加工之间的联系(联系越少,独立性越强,易理解性越好)。易理解性越好)。 改进分
44、解的均匀性。改进分解的均匀性。 适当命名(各成分名称无二义性,准确、具体)适当命名(各成分名称无二义性,准确、具体) 数据流图实例数据流图实例 l 建立数据流模型的基本步骤概括地说,就是自外向内、自顶向下、逐层细化、完善求精。 l 例. 建立一个简化的商业自动化系统。其中:售货员负责录入销售的商品(商品名,编号,单价,数量),有时要根据特定情况对销售的商品进行修改或删除。 收款员负责收取现金,并将多交的付款退还用户。 销售经理需要随时查询整个部门的销售情况(时间,商品编号,销售金额),并在每日结束时,统计各类商品的销售金额。 首先:建立系统环境,确定系统边界,画出顶层DFD。 其中:1 数据流
45、为:销售的商品,日销售额等 2 数据源点为:营业员,经理,收款员 3 数据终点为:经理,收款员 4 加工名为:要建立的系统名字然后自顶向下,逐层分解。 A、按人或部门的功能要求,将加工“打碎”,形成:录入、修改或删除商品信息录入、修改现金额,并计算余额查询商品销售情况 计算日销售额123注:需给每一加工编号 B、”分派”数据流,形成:录入、修改或删除商品信息 2录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额销售的商品销售的商品现金额现金额现金余额现金余额查询要求查询要求销售情况销售情况日销售额日销售额13其中:要根据特定的加工要求进行分派; 保持与顶层数据流的一致; 可以不引入数
46、据源和数据终点。C、引入文件,使之形成一个有机整体系统录入、修改或删除商品信息24录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额销售的商品销售的商品现金额现金额现金余额现金余额查询要求查询要求销售情况销售情况日销售额日销售额销售文件销售文件123注:到一个文件,既有输入流,又有输出流,则可简化为 ,并可不给出标识。至此,体现精化,形成0层数据流图。 继续A、B、C:自顶向下,逐层分解。例如:加工3查询商品销售情况 计算日销售额查询要求查询要求销售情况销售情况日销售额日销售额销售文件销售文件3可分解为:可分解为:3.1判定要求查询要求查询要求3.2统计销售情况3.3计算日销售额销售
47、文件销售文件查询要求查询要求2查询要求查询要求1销售情况销售情况日销售额日销售额 注意事项注意事项 l 画数据流图不是画流程图。数据流图只描述“做什么”,不描述“怎么做”和做的顺序,而流程图表述对数据进行加工的次序和细节。 l 父图和子图的平衡。正常情况下,父图和子图的输入数据和输出数据应分别保持一致,称为父子平衡。 l 局部文件。随着数据流图的分解,在下层数据流图中允许出现父图中没有的文件。 l要遵守加工编号规则。顶层加工不编号;第二层的加工编为1,2,n号;第三层编为1.1,1.2,n.1,n.2,等号,依此类推。 l分解的深度与层次。逐层分解时,要求加工分解到足够简单,易于理解为止,这一
48、加工也就是常说的基本加工。l 分解的层次多少是合适的,这应当根据问题的复杂程度来确定。可以参考以下一些经验性的原则。 u一个加工的分解,最多不要超出7个子加工。u分解在逻辑上应合理、自然,不能硬性分割。 u在保证数据流得以理解的前提下,尽量少分解层次。u分解要均匀。即在一张数据流图中,尽量少出现有些加工已是基本加工,有些还要分解好几层的情况。 描述银行取款过程的数据流图3-1.4.3 数据字典数据字典DD l数据流图描述系统的逻辑模型,但它不可能表达一个系统的全部逻辑特性,特别是有关数据的详细内容。l数据字典恰恰弥补了数据流图在这个方面的不足,它专门记录有关数据方面的信息,作为对数据流图的补充
49、和解释。l数据流图和数据字典共同构成全面描述软件需求说明书的核心。 定义方法定义方法l数据字典要对数据流图中出现的所有名字进行定义。l同日常使用的词典一样,为了便于查阅,词典中的所有条目都要按一定的次序排列起来,也可采用卡片的形式,以供开发与维护人员方便地使用。数据流定义中常用的符号含义如下:l=表示“被定义为”;l+ 表示“和”,连接两个或多个分量;l.|. 表示“选择”,即可选择方括号中的一项,用“|”作为各项的分割符; l( ) 表示“可选”,即括号内的项可选可不选;lmnn表示“重复”,n为重复次数的上限,m为重复次数的下限,如重复次数没有限定可不标出上下限。也可以利用上下标表示。实现
50、实现l数据字典可以用人工方式建立,记录在卡片上。也可以用自动化的方式记录在计算机的存储器上。l数据字典的内容主要包括:数据元素、数据流、数据存储、外部项、加工处理等。按词条形式描述数据的属性、结构、逻辑关系、特征信息等。1.数据元素词条描述l数据元素名:l类型:数字(离散值,连续值),文字(编码类型)l长度:l取值范围:l相关的数据元素及数据结构:2.数据流l数据流名:l说明:简要介绍作用即它产生的原因和结果l数据流来源:来自何方l数据流去向:去向何处l数据流组成:数据结构l数据量流通量:数据量,流通量3.数据存储数据存储l数据存储名:l简述:存放的是什么数据l输入数据:l输出数据:l数据文件
51、组成:数据结构l存储方式:顺序,直接,关键码l存取频率:4.加工逻辑加工逻辑l加工名:l加工编号:反映该加工的层次l简要描述:加工逻辑及功能简述l输入数据流:l输出数据流:l加工逻辑:简述加工程序,加工顺序l对数据流图的每一个基本加工,必须有一个基本加工逻辑说明l基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则l加工逻辑说明必须描述实现加工的策略而不是实现加工的细节l加工逻辑说明中包含的信息应是充足的,完备的,有用的,没有重复的多余信息5.源点及终点词条描述源点及终点词条描述l名称:外部实体名l简要描述:什么外部实体l有关数据流:l数目:6.数据结构的描述数据结构的描
52、述符 号 含 义 举 例 被定义为 与 x = ab.,. 或 .|. 或 x = a,b,x = a|b . 或 m.n 重复 x = a, x = 3a8(.) 可选 x = (a)“.” 基本数据元素 x = “a” . 连结符 x = 1.9结构化语言结构化语言判定表判定表判定树判定树 对对DFD图中每一个基本加工都必须有一个图中每一个基本加工都必须有一个小说小说明明给出该加工的精确描述。小说明中应精确地描述给出该加工的精确描述。小说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,指用出错处
53、理等。加工逻辑是其中最基本的部分,指用户对这个加工的逻辑要求。户对这个加工的逻辑要求。 对基本加工说明有三种描述方式:对基本加工说明有三种描述方式:3-1.4.4 加工说明1结构化语言结构化语言l是一种介于自然语言和形式化语言之间的语言l语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示l其基本控制结构有三种:u简单陈述句结构:避免复合语句;u重复结构:WHILE_DO 或 REPEAT_UNTIL结构。u判定结构:IF_THEN_ELSE 或 CASE_OF结构;结构化英语的词汇表l 英语命令动词l 数据词典中定义的名字l 有限的自定义词l 逻辑关系词 IF_THEN_ELS
54、E、l CASE_OF 、 WHILE_DO、l REPEAT_UNTIL等组成。商店业务处理系统中“检查发货单”IF 发货单金额超过$500 THEN IF 欠款超过了60天 THEN 在偿还欠款前不予批准 ELSE (欠款未超期) 发批准书,发货单 ENDIFELSE (发货单金额未超过$500) IF 欠款超过60天 THEN 发批准书,发货单及赊欠报告ELSE (欠款未超期) 发批准书,发货单 ENDIFENDIFBEGIN输入用户账号和口令IF 输入空的帐号或口令 THEN BEGIN提示错误中断登录END验证帐号、口令IF 非合法用户 OR 权限=“禁止” THENBEGIN 提示
55、错误 中断登录END初试化运行环境数据库事务操作逻辑数据库事务操作逻辑2. 判定表判定表 l 判定表也是一种表达加工逻辑的工具。l 在某些数据处理中,某数据流图的加工需要依赖于多个逻辑条件的取值,就是说完成这一加工的动作是由于某一组条件取值的组合而引发的。这时使用判定表来描述比较合适。判定表的组成判定表的组成l条件:列出一组条件的对象;l条件取值:列出各种可能的条件取值组合;l操作:列出所有的操作;l操作条目:列出对应的条件组合下所选的操作。判定表的一般结构 条件1条件1取值条件1取值条件2条件2取值条件2取值操作1操作1取值操作1取值操作2操作2取值操作2取值建立判定表的步骤建立判定表的步骤
56、l列出与一个具体加工 (或过程)有关的所有处理l列出过程执行期间的所有条件(或所有判断)l将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合l将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作毕业证、学位证书授予判定表 12345没有未通过的必修课程YNNNN未通过的必修课程学分总数小于等于12YNNYY通过的课程学分数大于等于30YYNYN授予毕业证书授予结业证书授予肄业证书不授予任何证书以“检查发货单”为例例 某校对于各种不同职称教师,根据是本校专职教师还是外聘兼职教师决定其讲课的每课时津贴标准。本校专职教师每课时津贴费:教授50元副教授40元。讲师30元
57、,助教20元。外聘兼职教师每课时津贴费:教授60元,副教授50元,讲师40元,助教30元。 3 判定树判定树l 判定树是判定表的变种,它能清晰地表达复杂的条件组合与所对应的操作之间的关系。l 判定树的优点在于它含义清楚,易于理解和使用,比判定表更加直观。 计算折扣量79月,12月16月,10、11月订票量50:15%订票量50:30%订票量=50:20%4 IPO图图lIPO图是输入/处理/输出图的简称,它是美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、数据处理和输出数据之间的关系。l左框:列出输入数据。l中框:列出主要的处理(次序暗示了执行的顺序)。l右框:列出输出数据l
58、粗大箭头:指出数据通信的情况。成绩单输出成绩单输出IPO统计要求各类课程成绩查询条件统计成绩成绩录入成绩查询各类统计报表成绩记录查询结果l在需求分析阶段可以使用IPO图简略地描述系统的主要算法(即数据流图中各个处理的基本算法)。l当然,在需求分析阶段,IPO图中的许多附加信息暂时还不具备,但是在软件设计阶段可以进一步补充修正这些图,作为设计阶段的文档。 数据流图需求分析实例q建立学生管理系统q学管科q体检科q学籍科q学生处数据流图-顶层学管科学管科体检科体检科学籍科学籍科学生管理信息系统学生处领导学生基本信息学生健康信息学生成绩学生健康情况表学生成绩单查询要求不及格人数人数统计表课件制作人:谢
59、希仁数据流图-0层课件制作人:谢希仁数据流图-1层课件制作人:谢希仁数据流图-1层数据字典-数据流 学生基本信息:学号十姓名 学生健康信息:学号十健康情况 学生成绩:学号十课程名+成绩 查询要求:健康查询单 |平均成绩查询单 l不及格人数查询 学生健康情况表:优十良十一般十差 学生成绩单:学号十姓名十课程名+成绩+总成绩 不及格人数统计表:学号十成绩十不及格总人数数据字典-数据文件q文件名:基本信息q组成:学号十姓名十入学成绩十生源q组织:按学号递增顺序排列q文件名:健康文件q组成:学号+姓名+健康情况q组织:按照健康情况为优、良、一般、差顺序排列q文件名:成绩文件q组成:学号+姓名+平均成绩q组织:按照平均成绩递增顺序排列顶级(0)DFD 读读者者 书书库库管管理理员员 读读者者管管理理员员 图图书书馆馆系系统统 借借阅阅图图书书命命令令 读读者者管管理理命命令令 书书库库管管理理命命令令 图书馆系统精化生成一级(0.1)DFD 图图书书借借阅阅 借借阅阅图图书书命命令令 读读者者管管理理命命令令 书书
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳理工大学《工厂供电》2021-2022学年期末试卷
- 固定总价合同规范要求
- 国药器械销售合同
- 合同保证金遗失声明
- 合同法第三章42条
- 2024年兴安客运从业资格证考试模板
- 2024融资合同股权股份转让协议
- 2024工伤劳动合同范文
- 2024小区绿化工程合同
- 英语阅读记录卡-20210813175455
- 中国花菇行业市场现状分析及竞争格局与投资发展研究报告2024-2029版
- 工厂环保知识培训课件
- 开展安全生产三年治本攻三年行动方案深度解读(危化)
- 2024年济宁农村干部学院(校)招生历年高频考题难、易错点模拟试题(共500题)附带答案详解
- GB/T 43697-2024数据安全技术数据分类分级规则
- 电气自动化专业个人职业生涯规划书
- 国信集团招聘试题
- 2020中国铁路成都局集团有限公司招聘试题及答案解析
- 个人招生计划方案
- 2024年科技创新崛起
- 大学生职业生涯规划成长赛道 (第二版)
评论
0/150
提交评论