[软件工程]CH03-需求分析ko.pptx
软件工程软件工程软件工程刘迎春刘迎春软件工程3/18/20231第三章第三章 需求分析需求分析问题定义问题定义可行性研究可行性研究可行否?可行否?否否是是需求分析需求分析终止项目终止项目.计划计划时期时期开发开发时期时期p主要内容主要内容n3.1 需求分析概述需求分析概述n3.2 数据流图数据流图n3.3 数据字典数据字典n3.4 加工逻辑描述工具加工逻辑描述工具n3.5 结构化分析方法结构化分析方法n3.6 需求规格说明书需求规格说明书第5章 需求工程与需求分析3/18/202323.1.1 需求分析的任务需求分析的任务p【可行性研究】【可行性研究】n粗略了解用户的需求。粗略了解用户的需求。n用较少的成本,在较短的时间内确定是否存在一些用较少的成本,在较短的时间内确定是否存在一些可行的解法。可行的解法。n许多细节被忽略了。许多细节被忽略了。p【需求分析】【需求分析】n准确地回答准确地回答“系统必须做什么?系统必须做什么?”这个问题。这个问题。3/18/202333.1.1 需求分析的任务需求分析的任务p【依据】【依据】n可行性研究报告可行性研究报告p【任务】【任务】n建立建立目标系统的逻辑模型目标系统的逻辑模型p调查分析用户的确切需求,认真搞清、并细化到底调查分析用户的确切需求,认真搞清、并细化到底“系统必须做什么系统必须做什么”?n反复与用户交流;反复与用户交流;n建立原型系统;建立原型系统;p确定目标系统的功能、性能、运行确定目标系统的功能、性能、运行n形成形成软件需求规格说明书软件需求规格说明书pSoftware Requirement Specification3/18/202343.1.2需求类型需求类型1.1.按按内容内容分类分类p软件需求软件需求代表系统的综合要求代表系统的综合要求,包括以下几种类型:,包括以下几种类型:系统功能需求系统功能需求p系统功能需求指根据系统所能实现的功能要求,对于每系统功能需求指根据系统所能实现的功能要求,对于每一类功能或者有时对于每一个功能,需要弄清一类功能或者有时对于每一个功能,需要弄清输入输入、加加工工和和输出输出等需求。等需求。系统性能需求系统性能需求p按照系统的性能要求分类。例如按照系统的性能要求分类。例如联机系统的响应时间联机系统的响应时间、系统需要的存储容量系统需要的存储容量、后援存储器后援存储器、重新启动、重新启动、安全性安全性和和可靠性可靠性等方面的要求。等方面的要求。3/18/202353.1.2需求类型需求类型(2)(2)系统运行需求系统运行需求p这类要求集中表现为对系统运行时所处的这类要求集中表现为对系统运行时所处的环境、环境、使用的资源、安全保密和用户界面使用的资源、安全保密和用户界面的要求。如支的要求。如支持系统运行的硬件和软件是什么,采取哪种数据持系统运行的硬件和软件是什么,采取哪种数据库管理系统,需要什么样的外存储器和数据通信库管理系统,需要什么样的外存储器和数据通信接口。接口。未来可能出现的问题未来可能出现的问题p就是把就是把不属于当前系统开发范围的问题不属于当前系统开发范围的问题都明确地都明确地列出来,因为将来很可能会提出这些问题。这些列出来,因为将来很可能会提出这些问题。这些问题主要是问题主要是为了系统将来的扩充和修改做准备为了系统将来的扩充和修改做准备,当以后需要时就可以很容易地进行扩展和修改了。当以后需要时就可以很容易地进行扩展和修改了。3/18/202363.1.2需求类型需求类型(3)(3)2.2.按按用户的期望用户的期望分类分类 正常需求正常需求p用户陈述用户陈述的针对系统的目标。的针对系统的目标。期望需求期望需求p隐式的需求,可能由于是非常基础隐式的需求,可能由于是非常基础的而用户没有的而用户没有显示的陈述,如人机交互的容易性、整体的操作显示的陈述,如人机交互的容易性、整体的操作正确性和可靠性,以及软件安装的容易性。正确性和可靠性,以及软件安装的容易性。兴奋需求兴奋需求p在用户的期望范围之外,如果实现将令人愉快和在用户的期望范围之外,如果实现将令人愉快和出乎意料。出乎意料。3/18/202373.1.2需求类型(4)3.3.按按必要性必要性分类分类 强制的需求强制的需求p是指是指除非软件与这些需求一致除非软件与这些需求一致,则该软件是不可接受,则该软件是不可接受的的 希望的需求希望的需求p是指这些需求将增进软件产品功能,但是如果缺乏的是指这些需求将增进软件产品功能,但是如果缺乏的话也话也不是不可接受不是不可接受 任选的需求任选的需求p是指这个功能是指这个功能可有可无可有可无3/18/202383/18/20239案例分析案例分析:机票订票系统机票订票系统p1.功能需求功能需求p在计算机网络,数据库和先进的开发平台上,利在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个易扩用现有的软件,配置一定的硬件,开发一个易扩充的、易维护的、具有良好人机交互界面的充的、易维护的、具有良好人机交互界面的机票机票预定系统预定系统,实现航空公司的机票销售的自动化实现航空公司的机票销售的自动化,为企业的决策层提供准确、精细、迅速的机票销为企业的决策层提供准确、精细、迅速的机票销售信息售信息。p根据可行性研究的结果和客户的要求,分析现有根据可行性研究的结果和客户的要求,分析现有情况及问题,采用情况及问题,采用Client/Server结构结构,将机票预,将机票预定系统定系统划分为两个子系统划分为两个子系统:客户端子系统,服务:客户端子系统,服务器端子系统。器端子系统。正常、强制的需求正常、强制的需求3/18/202310案例分析案例分析:机票订票系统机票订票系统p1.功能需求功能需求p客户端子系统客户端子系统n1旅客信息的输入和统计旅客信息的输入和统计pn2旅客信息的存储旅客信息的存储pn3机票信息的传递及接收机票信息的传递及接收pn4取票通知及帐单的生成和打印取票通知及帐单的生成和打印pn5机票销售情况的核算机票销售情况的核算p正常、强制的需求正常、强制的需求3/18/202311案例分析案例分析:机票订票系统机票订票系统p1.功能需求功能需求p服务器端子系统服务器端子系统n1接收由旅行社客户端发回的所需机票信息接收由旅行社客户端发回的所需机票信息 pn2生成航班信息生成航班信息pn3传递航班信息到客户端(旅行社)传递航班信息到客户端(旅行社)pn4接收旅行社的反馈信息接收旅行社的反馈信息 pn5印出机票给已经订票的旅客印出机票给已经订票的旅客 pn6销售额的分析和管理销售额的分析和管理p正常、强制的需求正常、强制的需求3/18/202312案例分析案例分析:机票订票系统机票订票系统(2)p2.为了保证系统能够长期、安全、稳定、可靠、为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预定系统应该满足以下的高效的运行,机票预定系统应该满足以下的性能性能需求需求:p系统处理的系统处理的及时性和准确性及时性和准确性n在系统设计和开发过程中,要充分考虑系统当前和在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的将来可能承受的工作量,使系统的响应时间响应时间能够满能够满足企业对信息处理的需求。足企业对信息处理的需求。n机票预定系统的查询功能对于整个系统的功能和性机票预定系统的查询功能对于整个系统的功能和性能完成举足轻重,能完成举足轻重,是系统重要的数据来源。机票数是系统重要的数据来源。机票数量和时间又影响企业的决策活动,量和时间又影响企业的决策活动,其准确性很大程其准确性很大程度上决定了机票预定系统的成败。度上决定了机票预定系统的成败。在系统开发过程在系统开发过程中,必须采用一定的方法保证系统的中,必须采用一定的方法保证系统的准确性准确性。3/18/202313案例分析案例分析:机票订票系统机票订票系统(3)p系统的系统的开放性开放性和系统的和系统的可扩充性可扩充性n例如订票方式的改变(网上订票),用户查询需例如订票方式的改变(网上订票),用户查询需求的不断完善和更新等。所有这些,都要求系统求的不断完善和更新等。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。提供足够的手段进行功能的调整和扩充。n而要实现这一点,应通过系统的开放性来完成,而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,既系统应是一个开放系统,只要符合一定的规范,只要符合一定的规范,配置系统的硬件配置系统的硬件,通过软件的修补、替换通过软件的修补、替换完成系完成系统的升级和更新换代。统的升级和更新换代。3/18/202314案例分析案例分析:机票订票系统机票订票系统(4)p系统的系统的易用性和易维护性易用性和易维护性n机票预定系统是直接面对使用人员的,而使用人机票预定系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,能够提供良好的用户接口,易用的人机交互界面易用的人机交互界面。要实现这一点,就要求系统应该要实现这一点,就要求系统应该尽量使用用户熟尽量使用用户熟悉的术语和中文信息的界面悉的术语和中文信息的界面;针对用户可能出现;针对用户可能出现的使用问题,要提供足够的的使用问题,要提供足够的在线帮助在线帮助,缩短用户,缩短用户对系统熟悉的过程。对系统熟悉的过程。n机票预定系统中涉及到的数据是航空公司的相当机票预定系统中涉及到的数据是航空公司的相当重要的信息,系统要提供方便的手段供系统维护重要的信息,系统要提供方便的手段供系统维护人员进行人员进行数据的备份,日常的安全管理,系统意数据的备份,日常的安全管理,系统意外崩溃时数据的恢复外崩溃时数据的恢复等工作。等工作。3/18/202315案例分析案例分析:机票订票系统机票订票系统(5)p系统的系统的标准性标准性p系统在设计开发使用过程中都要涉及到很多计算系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要机硬件、软件。所有这些都要符合主流国际、国符合主流国际、国家和行业标准家和行业标准。如规范的数据库操纵界面、作为。如规范的数据库操纵界面、作为业界标准的业界标准的TCP/IP网络协议及网络协议及ISO9002标准所标准所要求的质量规范等;要求的质量规范等;p同时,在自主开发本系统时,要进行良好的设计同时,在自主开发本系统时,要进行良好的设计工作,工作,制订行之有效的软件工程规范,保证代码制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性的易读性、可操作性和可移植性。3/18/202316案例分析案例分析:机票订票系统机票订票系统(6)p系统的系统的先进性先进性n目前计算系统的技术发展相当快,做为机票预定系目前计算系统的技术发展相当快,做为机票预定系统工程,应该保证系统统工程,应该保证系统在下个在下个10年时间里仍旧是先年时间里仍旧是先进的进的,在系统的生命周期尽量做到系统的先进,充,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。分完成企业信息处理的要求而不至于落后。n这一方面通过系统的开放性和可扩充性,不断改善这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上过程中,应在考虑成本的基础上尽量采用当前主流尽量采用当前主流并先进且有良好发展前途的产品并先进且有良好发展前途的产品。3/18/202317案例分析案例分析:机票订票系统机票订票系统(7)p系统的系统的响应速度响应速度p 机票预定系统系统在机票预定系统系统在日常处理日常处理中的响应速度为中的响应速度为秒秒级级,达到实时要求,以及时反馈信息。,达到实时要求,以及时反馈信息。p在进行在进行统计分析统计分析时,根据所需数据量的不同而从时,根据所需数据量的不同而从秒级秒级到到分钟级分钟级,原则是,原则是保证操作人员不会因为速保证操作人员不会因为速度问题而影响工作效率度问题而影响工作效率。3/18/202318案例分析案例分析:机票订票系统机票订票系统(2)p3.机票预定系统的机票预定系统的运行需求运行需求:p机票预定系统中的各个子系统的硬件和软件的配机票预定系统中的各个子系统的硬件和软件的配置如下:置如下:p1服务器端子系统的运行要求:服务器端子系统的运行要求:n系统软件:系统软件:n数据库管理系统:数据库管理系统:SQL Server n硬件要求:硬件要求:p2.客户端子系统的运行要求:客户端子系统的运行要求:n系统软件:系统软件:n数据库管理系统:数据库管理系统:SQL Server n硬件要求:硬件要求:3/18/2023197.7.4测试种类测试种类p对以计算机为基础的系统进行充分的测试。对以计算机为基础的系统进行充分的测试。n功能测试功能测试可使用性测试可使用性测试n可靠性测试可靠性测试可支持性测试可支持性测试n强度测试强度测试安装测试安装测试n性能测试性能测试过程测试过程测试n启动停止测试启动停止测试互连测试互连测试n恢复测试恢复测试兼容性测试兼容性测试n配置测试配置测试文档测试文档测试n安全性测试安全性测试3/18/2023203.1.3 3.1.3 需求获取技术需求获取技术 问题域问题域 用户用户 需求分析员需求分析员 交流交流 3/18/202321用户和开发人员用户和开发人员共同组成联合小组共同组成联合小组p加强联系加强联系p促进交流促进交流p增进合作增进合作3/18/202322访谈和会议访谈和会议3/18/202323 观察用户工作流程或者实践观察用户工作流程或者实践3/18/202324案例分析案例分析:图书馆管理系统图书馆管理系统(1/3)读者管理读者管理书库管理书库管理读者借阅管读者借阅管理理3/18/202325用用户户项项目目负负责责人人需需求求分分析析人人员员设设计计员员案例分析案例分析:图书馆管理系统图书馆管理系统(2/3)1.建立联合小组建立联合小组n参与者:参与者:用户、需求分析人员、设计人员。用户、需求分析人员、设计人员。3/18/202326案例分析案例分析:图书馆管理系统图书馆管理系统(3/3)2.会议讨论会议讨论n明确问题、范围、环境等,逐步了解用户需求明确问题、范围、环境等,逐步了解用户需求n会议应有记录,整理形成文档会议应有记录,整理形成文档3.分成三小组分成三小组n读者管理、图书管理和读者借阅子系统读者管理、图书管理和读者借阅子系统4.总结各方成果形成结论性的总结各方成果形成结论性的SRS3/18/202327需求分析工具需求分析工具pRequisite PropClear Quest pTrac3/18/2023283.1.4 3.1.4 需求特性需求特性(1)(1)正确性正确性p需求规格说明书中的需求规格说明书中的功能、行为、性能功能、行为、性能描述必描述必须与用户对目标软件产品的须与用户对目标软件产品的期望相吻合期望相吻合。(2)(2)完整性完整性p需求规格说明书需求规格说明书不能遗漏任何用户需求不能遗漏任何用户需求 (3)(3)可验证性可验证性p需求规格说明书中的每一个需求,均应存在技需求规格说明书中的每一个需求,均应存在技术和经济上可行的手段术和经济上可行的手段进行验证和确认进行验证和确认。3/18/2023293.1.4 3.1.4 需求特性需求特性(2)(2)(4)无歧义性无歧义性p需求规格说明书中使用需求规格说明书中使用标准化术语标准化术语,p用户、分析人员、设计人员和测试人员对需求规格说用户、分析人员、设计人员和测试人员对需求规格说明书中的任何语法单位明书中的任何语法单位只能有唯一的语义解释只能有唯一的语义解释。(5)(5)一致性一致性p需求规格说明书的各部分之间需求规格说明书的各部分之间不能相互矛盾不能相互矛盾。这些矛。这些矛盾可以表现为盾可以表现为术语术语使用方面的冲突,使用方面的冲突,功能和行为功能和行为方面方面的冲突,以及的冲突,以及时序时序方面的前后不一致。方面的前后不一致。(6)(6)可理解性可理解性p不宜在说明书中使用太多的专业化词汇不宜在说明书中使用太多的专业化词汇。3/18/2023303.1.4 3.1.4 需求特性需求特性(2)(2)(7)(7)可追踪性可追踪性p需求规格说明书必须将需求规格说明书必须将分析后获得的每项需求分析后获得的每项需求与用户与用户的的原始需求项清晰地联系起来原始需求项清晰地联系起来,并为后续开发和其他,并为后续开发和其他文档引用这些需求项提供便利。文档引用这些需求项提供便利。(8)(8)可修改性可修改性p需求规格说明书的格式和组织方式需求规格说明书的格式和组织方式应保证能够比较容应保证能够比较容易地接纳后续的增删和修改易地接纳后续的增删和修改;p使修改后的说明书能够较好地保持其他各项属性。使修改后的说明书能够较好地保持其他各项属性。3/18/2023313.1.5 需求描述和分析技术需求描述和分析技术1.问题分解问题分解2.抽象抽象3.建模建模4.多视点分析多视点分析3/18/202332整个问题整个问题子问题子问题1 1子问题子问题3 3子问题子问题2 21.问题分解问题分解p什么是问题分解什么是问题分解?n将大问题分解为小问题,通过小问题解决来实现大将大问题分解为小问题,通过小问题解决来实现大问题的解决问题的解决 p问题分解有助于问题分解有助于降低解决问题的复杂度降低解决问题的复杂度;p获取和分析问题本身所固有的获取和分析问题本身所固有的整体整体-部分关系部分关系;n图书馆系统图书馆系统p读者管理读者管理p图书管理图书管理p借阅管理借阅管理3/18/2023332.问题抽象问题抽象(1/2)p什么是抽象什么是抽象?n抽象有助于控制问题复杂度,抽象有助于控制问题复杂度,抓住问题的本质抓住问题的本质;n获取一般和特殊关系获取一般和特殊关系;3/18/2023342.问题抽象问题抽象(2/2)p读者抽象读者抽象(提取成份提取成份)n名字名字n性别性别n单位单位n类别类别n照片照片nEmailn电话电话p读者抽象读者抽象(抛弃成份抛弃成份)n身高身高n年龄年龄n3/18/2023353.需求建模需求建模(1/2)p什么是什么是需求模型需求模型n模型是对现实的简化,包含有主要影响的要素,忽模型是对现实的简化,包含有主要影响的要素,忽略不相关的次要因素略不相关的次要因素 n需求模型详细、准确地描述了用户对目标软件系统需求模型详细、准确地描述了用户对目标软件系统的功能、行为、性能、的功能、行为、性能、设计约束等方面的要求设计约束等方面的要求p为什么为什么需要建模需要建模n从多个视点、多个不同的抽象层次来描述用户需求从多个视点、多个不同的抽象层次来描述用户需求,从而更好促进软件的开发从而更好促进软件的开发p需求建模方法需求建模方法n面向数据流的方法面向数据流的方法n面向对象的方法面向对象的方法p注意注意n需求建模需求建模不要涉及软件设计和实现细节不要涉及软件设计和实现细节3/18/2023364.多视点分析多视点分析p什么是什么是多视点分析多视点分析n从多个角度、不同层面上分析和描述用户需求从多个角度、不同层面上分析和描述用户需求p为什么需要多视点分析为什么需要多视点分析 n人的认识具有片面性人的认识具有片面性(瞎子摸象瞎子摸象)n 多视点可以帮助我们多视点可以帮助我们全面把握用户的需求全面把握用户的需求3/18/2023373.1.6 需求分析的步骤需求分析的步骤分析系统的要求分析系统的要求目标系统的逻辑模型目标系统的逻辑模型修正开发计划修正开发计划构造原型系统构造原型系统复审、验证复审、验证软件需求规格说明书软件需求规格说明书必须处理的信息和应该产生的信息必须处理的信息和应该产生的信息数据流图数据流图、数据字典数据字典、加工处理加工处理用户用户了解目标系统的功能、概况了解目标系统的功能、概况开发者开发者快速、准确、完整把握需求快速、准确、完整把握需求3/18/2023383.2 数据流图数据流图p数据流图(数据流图(Date Flow Diagram)n描述软件系统描述软件系统逻辑模型逻辑模型的的技术技术。p【功能】【功能】n描绘描绘信息信息在系统中在系统中流动流动和和加工处理加工处理的情况。的情况。p【注意】【注意】n只要只要考虑考虑系统必须完成的系统必须完成的基本逻辑功能基本逻辑功能;n不要考虑不要考虑如何如何具体地实现具体地实现这些功能;这些功能;极好的交流和沟通工具极好的交流和沟通工具3/18/2023393.2 数据流图数据流图p数据流图(数据流图(Date Flow Diagram)p【符号】【符号】n数据的源点、终点数据的源点、终点p系统以外的人、事物系统以外的人、事物n加工处理加工处理p不一定是一个程序不一定是一个程序n数据存储数据存储p数据库、数据文件数据库、数据文件n数据流数据流p数据在系统中流动的方向数据在系统中流动的方向数据描述3/18/2023403.2 数据流图数据流图p数据流图(数据流图(Date Flow Diagram)p【扩展符号】【扩展符号】n*(星号)表示数据流之间是(星号)表示数据流之间是“与与”关系关系T*ABCTAC*数据数据A和和B同时输入同时输入才能变换成数据才能变换成数据C数据数据A变换成数据变换成数据B和和C与与B3/18/2023413.2 数据流图数据流图p数据流图(数据流图(Date Flow Diagram)p【扩展符号】【扩展符号】n+(加号)表示数据流之间是(加号)表示数据流之间是“或或”关系关系T+ABCTAC+数据数据A、数据、数据B,或或A和和B同时输入同时输入变换成变换成C数据数据A变换成数据变换成数据B、数据、数据C、数据数据B和和C或或B3/18/2023423.2 数据流图数据流图p数据流图(数据流图(Date Flow Diagram)p【扩展符号】【扩展符号】n表示数据流之间是表示数据流之间是“异或异或”关系关系T ABCTAC 只有数据只有数据A、只有数据、只有数据B(但不能(但不能A、B同时)同时)变换成变换成C数据数据A变换成数据变换成数据B、数据、数据C,(但不能变换成(但不能变换成B和和C)异或异或B3/18/202343引用引用2.3 系统流程图系统流程图p【例【例4】教材销售系统。】教材销售系统。n售书过程:售书过程:p学生学生找系办公室的找系办公室的张秘书张秘书开一个开一个购书单购书单;p凭购书单找教材科的凭购书单找教材科的王会计王会计开开购书发票购书发票;p向向李出纳员李出纳员交书费开交书费开领书单领书单;p学生拿着领书单到书库找学生拿着领书单到书库找赵保管员赵保管员领领书书。开购书开购书证明证明购书单购书单开购书开购书发票发票发票发票收书费收书费领书单领书单发书发书当前系统流程图当前系统流程图书书3/18/2023443.2 数据流图数据流图p【画数据流图的步骤】【画数据流图的步骤】n识别并从问题中提取数据流图中的元素识别并从问题中提取数据流图中的元素n源与目的源与目的p数据源数据源学生学生p数据目的数据目的学生学生n数据流数据流n加工处理加工处理n数据存储数据存储3/18/2023453.2 数据流图数据流图p【画数据流图的步骤】【画数据流图的步骤】n识别并从问题中提取数据流图中的元素识别并从问题中提取数据流图中的元素n源与目的源与目的p数据源数据源学生学生p数据目的数据目的学生学生n数据流数据流p购书单、发票、领书单购书单、发票、领书单n加工处理加工处理p审查并开发票、开领书单审查并开发票、开领书单n数据存储数据存储p各班学生用书表、教材存量表,售书登记表各班学生用书表、教材存量表,售书登记表【数据流】【数据流】数据在系统中流动的方向数据在系统中流动的方向3/18/2023463.2 数据流图数据流图p教材销售系统。教材销售系统。目标系统流程图目标系统流程图购书单购书单输入输入购书单购书单审查审查并开发票并开发票各班学生用书表各班学生用书表教材存量表教材存量表发票发票收书费收书费发票收讫发票收讫领书单领书单开领书单开领书单售出登记表售出登记表3/18/202347DFD图图学学生生1审查审查并开发票并开发票学学生生购书单购书单领书单领书单2开领书单开领书单发票发票各班学生用书表各班学生用书表教材存量表教材存量表无效书单无效书单售书登记表售书登记表3/18/2023483.3 数据字典数据字典pDFD描述的描述的系统逻辑模型系统逻辑模型不能充分描述软件需求:不能充分描述软件需求:n数据流数据流p表示输入到加工中的或从加工中输出的数据对象;表示输入到加工中的或从加工中输出的数据对象;n【问题】【问题】p数据对象的内容是什么?数据对象的内容是什么?n数据存储数据存储p表示有组织的数据的集合;表示有组织的数据的集合;n【问题】【问题】p数据是怎样组织的?数据是怎样组织的?数据字典(数据字典(Data Dictionary)3/18/2023493.3 数据字典数据字典p主要内容:主要内容:1、数据元素、数据元素2数数据据流流3数数据据存存储储4加加工工逻逻辑辑3/18/2023501.数据元素数据元素【1/5】p不可再分的数据。不可再分的数据。n如:学号、姓名、课程名称如:学号、姓名、课程名称.p组成:组成:n名称名称:“订货单编号订货单编号”n别名别名:“采购单编号采购单编号”.”.n取值(类型、范围)取值(类型、范围)n长度长度:字符个数、数字个数:字符个数、数字个数n描述描述:p有关的其他数据元素、数据结构、加工处理有关的其他数据元素、数据结构、加工处理.n位置位置:p数据流、数据存储数据流、数据存储3/18/2023511.数据元素数据元素【2/5】名称:名称:别名:别名:取值:取值:长度:长度:描述:描述:位置:位置:班级号班级号CNO字符型字符型5个字节个字节如、如、J1308,其中:,其中:1位位系;系;2位位专业;专业;3位位年级;年级;4、5位位班级号班级号购书单、发票、各班学生用书表购书单、发票、各班学生用书表3/18/2023521.数据元素数据元素【3/5】名称:名称:别名:别名:取值:取值:长度:长度:描述:描述:位置:位置:年级号年级号GNO字符型(字符型(F、M、J、S)1个字节个字节Freshman 一年级一年级Sophomore 二年级二年级Junior 三年级三年级Senior四年级四年级各班学生用书表各班学生用书表3/18/2023531.数据元素数据元素【4/5】名称:名称:别名:别名:取值类型:取值类型:长度:长度:描述:描述:位置:位置:零件编号零件编号字符型字符型8个字节个字节零件的唯一标识,作为关键字。零件的唯一标识,作为关键字。订货报表、订货报表、库存清单表、库存清单表、订货信息表订货信息表3/18/2023541.数据元素数据元素【5/5】p常用符号:常用符号:n“被定义为被定义为.”n“连接连接”n|“选择选择”p选择选择 中的一项;中的一项;n()“可选可选”p括号内的项可选可不选;括号内的项可选可不选;nmn、nm“重复重复”pn为重复次数的上限为重复次数的上限pM为重复次数的下限为重复次数的下限2数数据据流流3数数据据存存储储1、数据元素、数据元素3/18/2023552.数据流数据流【1/3】p数据在系统中流动的方向。数据在系统中流动的方向。p组成:组成:n名称、描述名称、描述n来源来源p数据源、加工处理、数据存储、外部项数据源、加工处理、数据存储、外部项n去处去处p数据终点、加工处理、数据存储、外部项数据终点、加工处理、数据存储、外部项p可能不唯一可能不唯一n组成组成p按一定方式连接起若干按一定方式连接起若干数据元素数据元素n流通量流通量p单位时间内的传输次数单位时间内的传输次数3/18/2023562.数据流数据流【2/3】名称:名称:描述:描述:来源:来源:去处:去处:组成:组成:流通量:流通量:发票发票按照有效购书单开购书发票按照有效购书单开购书发票1.2 开发票开发票1.3 开领书单开领书单班级号班级号+书号书号+单价单价+数量数量+总价总价+书费合计书费合计3/18/2023572.数据流数据流【3/3】名称:名称:描述:描述:来源:来源:去处:去处:组成:组成:流通量:流通量:订货报表订货报表每天给采购员的零件订货表每天给采购员的零件订货表2 产生报表产生报表采购员采购员订货表编号订货表编号+零件编号零件编号+零件名称零件名称+数量数量+单价单价+总价总价+供应商供应商+合计合计3/18/2023583.数据存储数据存储【1/3】p保存数据结构的地方。保存数据结构的地方。n为数据文件、数据库设计打下基础。为数据文件、数据库设计打下基础。p组成:组成:n名称名称n输入数据流输入数据流n输出数据流输出数据流n组成组成p按一定方式连接起若干按一定方式连接起若干数据元素数据元素n描述描述n组织方式组织方式p顺序、随机、其他排序方式顺序、随机、其他排序方式3/18/2023593.数据存储数据存储【2/3】名称:名称:输入数据流:输入数据流:输出数据流:输出数据流:组成:组成:描述:描述:组织方式:组织方式:各班学生用书表各班学生用书表1.1 审查有效性审查有效性系编号系编号+年级号年级号+班级号班级号+书号书号DNO+GNO+CNO+SH按班级存放各班学生用书按班级存放各班学生用书按系编号、按系编号、班级号班级号由小到大排列由小到大排列3/18/2023603.数据存储数据存储【3/3】名称:名称:输入数据流:输入数据流:输出数据流:输出数据流:组成:组成:描述:描述:组织方式:组织方式:订货信息表订货信息表1.3 处理订货处理订货2 产生报表产生报表 零件编号零件编号+零件名称零件名称+数量数量+供应商供应商+单价单价需要订货的零件需要订货的零件各供应商单价各供应商单价按按零件编号零件编号由小到大排列由小到大排列3/18/2023614.加工逻辑加工逻辑【1/3】n描述描述DFD中的每个逻辑功能中的每个逻辑功能“做什么做什么”。p组成:组成:n名称名称编号编号n输入输入输出输出n功能描述功能描述加工处理加工处理3/18/2023624.加工逻辑加工逻辑【2/3】名称:名称:编号:编号:输入:输入:输出:输出:功能描述:功能描述:加工处理:加工处理:审查有效性审查有效性1.1购书单、售书登记表购书单、售书登记表各班学生用书表各班学生用书表有效书单、无效书单有效书单、无效书单若发现购书单中有学生不用或买若发现购书单中有学生不用或买重了的教材,便发出重了的教材,便发出无效书单无效书单。只有通过了审查的教材保留在只有通过了审查的教材保留在有有效书单效书单。购书单的内容是否与购书单的内容是否与各班学生用各班学生用书表书表相符,通过相符,通过售书登记表售书登记表检查检查学生是否买过这些教材。学生是否买过这些教材。3/18/2023634.加工逻辑加工逻辑【3/3】p组成:组成:n名称名称编号编号n输入输入输出输出n功能描述功能描述加工处理加工处理p缺点:缺点:n文字描述不准确文字描述不准确,不适合描述复杂的加工。,不适合描述复杂的加工。3/18/202364数据流图的补充说明数据流图的补充说明p如何描述加工逻辑?如何描述加工逻辑?n【例】【例】某单位工资制度规定如下:某单位工资制度规定如下:p技术干部的职务工资标准为(月):技术干部的职务工资标准为(月):n技术员技术员50元元助理工程师助理工程师70元元n工程师工程师90元元高级工程师高级工程师120元元n工龄工龄10年并受聘高级工程师的职务工资为年并受聘高级工程师的职务工资为140元元p工龄补助工龄补助n10年以下加年以下加10元元n1020年加年加20元元n20年以上加年以上加30元元3/18/2023653.4 加工逻辑加工逻辑描述技术描述技术pDFD图图中加工处理中加工处理加工逻辑加工逻辑p作用:作用:n描述如何把输入数据流描述如何把输入数据流输出数据流的加工逻辑;输出数据流的加工逻辑;p不是实现加工的细节不是实现加工的细节;n说明的信息应是充足的,有用的,无冗余信息。说明的信息应是充足的,有用的,无冗余信息。p常用技术:常用技术:n结构化语言结构化语言n判定表判定表n判定树判定树nIPO图图3/18/2023661.结构化语言结构化语言1/3n一种介于一种介于自然语言自然语言和和形式化语言形式化语言之间的语言之间的语言p自然语言自然语言简单易懂;简单易懂;p形式化语言形式化语言精确;精确;n【组成】【组成】p简单陈述句结构简单陈述句结构:避免复合语句;:避免复合语句;p选择结构选择结构:nIF(条件条件)nIF(条件条件)THEN.ELSEnCASE(条件序列条件序列)p重复结构重复结构:nWHILE DO nFORnREPEAT UNTIL3/18/2023671.结构化语言结构化语言2/3p1.1审查有效性审查有效性(自然语言描述自然语言描述)名称:名称:编号:编号:输入:输入:输出:输出:功能描述:功能描述:加工处理:加工处理:审查有效性审查有效性1.1购书单、售书登记表购书单、售书登记表各班学生用书表各班学生用书表有效购书单、无效书单有效购书单、无效书单若发现购书单中有学生不用或买若发现购书单中有学生不用或买重了的教材,便发出重了的教材,便发出无效书单无效书单。只有通过了审查的教材保留在只有通过了审查的教材保留在有有效购书单效购书单。购书单的内容是否与购书单的内容是否与各班学生用各班学生用书表书表相符,通过相符,通过售书登记表售书登记表检查检查学生是否买过这些教材。学生是否买过这些教材。3/18/2023681.结构化语言结构化语言3/3p1.1审查有效性审查有效性(结构化语言描述结构化语言描述)按按班级号班级号检索检索各班学生用书表各班学生用书表,获得学生用书列表获得学生用书列表;按按班级号班级号、书号、书号检索检索售书登记表售书登记表,获得已购书列表获得已购书列表;FOR(EACH 书号书号 IN 购书单购书单)IF(书号书号 IN 学生用书列表学生用书列表)THEN IF(书号书号 IN 已购书列表已购书列表)THEN 把把班级号班级号、书号书号、购买数量购买数量写入写入无效书单无效书单;ELSE把把班级号班级号、书号、原因书号、原因写入写入有效书单有效书单;ELSE把把班级号班级号、书号、原因书号、原因写入写入无效书单无效书单;3/18/2023692.判定表判定表1/4n一组一组条件取值的组合条件取值的组合加工逻辑的加工逻辑的动作动作。条条件件条件条件1条件条件2.条件条件n动动作作动作动作1动作动作2.动作动作n条件取值的组合条件取值的组合动作动作规规则则3/18/2023702.判定表判定表2/4条条件件技术员技术员助理工程师助理工程师工程师工程师动动作作工资工资高级工程师高级工程师工龄工龄1010工龄工龄20工龄工龄2060 70 80 80 90 1001001101201501401503/18/2023712.判定表判定表3/4工资工资工龄工龄1010工龄工龄20工龄工龄2060 70 80 80 90 100100110120150140150技术员技术员助理助理工程师工程师工程师工程师高级工程师高级工程师3/18/2023723.判定树判定树1/2p判定表判定表的变形;的变形;n优点:优点:p比比判定表判定表更加直观,易于理解和使用。更加直观,易于理解和使用。n【例】【例】某单位工资制度规定如下:某单位工资制度规定如下:p技术干部的职务工资标准为(月):技术干部的职务工资标准为(月):n技术员技术员50元元助理工程师助理工程师70元元n工程师工程师90元元高级工程师高级工程师120元元n工龄工龄10年并受聘高级工程师的职务工资为年并受聘高级工程师的职务工资为140元元p工龄补助工龄补助n10年以下加年以下加10元元n1020年加年加20元元n20年以上加年以上加30元元3/18/2023733.判定树