《6需求分析.ppt》由会员分享,可在线阅读,更多相关《6需求分析.ppt(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室第第6讲讲 需求分析需求分析1/4/20231上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室内容内容w需求分析的重要性需求分析的重要性w需求分析的困难性需求分析的困难性w需求工程需求工程w需求分析过程需求分析过程w概念模型和规范化概念模型和规范化w图形工具图形工具w需求验证需求验证w原型技术原型技术1/4/20232上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析需求分析w需求分析是软件定义时期的最后一个阶段需求分析是软件定义时期的最后一个阶段w回答回答“系统必须做
2、什么?系统必须做什么?”的问题的问题1/4/20233上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的重要性需求分析的重要性 真的很重要吗?真的很重要吗?例:Our real-time example is based on the embedded software in the Ariane-5,a space rocket belonging to the European Space Agency(ESA).On June 4,1996,on its maiden flight,the Ariane-5 was launched and perform
3、ed perfectly for approximately 40 seconds.Then,it began to veer off course.At the direction of an Ariane ground controller,the rocket was destroyed by remote control.The destruction of the uninsured rocket was a loss not only of the rocket itself,but also of the four satellites it contained;the tota
4、l cost of the disaster was$500 million(Newsbytes home page 1996;Lions et al.1996).1/4/20234上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的重要性需求分析的重要性 The reason:there was no discussion in the requirements documents of the ways in which the Ariane-5 trajectory would be different from Ariane-4.统计资料:统计资料:In
5、1994,the Standish Group surveyed over 350 companies about their over 8000 software projects to find out how well they were faring.The results are sobering.Thirty-one percent of the software projects were canceled before they were completed.Moreover,in large companies,only 9%of the projects were deli
6、vered on time and cost what they were budgeted,and 16%met those criteria in small companies(Standish 1994).1/4/20235上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的重要性需求分析的重要性1/4/20236上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的重要性需求分析的重要性w5点点事实事实n软件生命周期中,一个错误发现得越晚,修复错误的软件生命周期中,一个错误发现得越晚,修复错误的费用越高费用越高1/4/2023
7、7上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的重要性需求分析的重要性n许多错误是潜伏的,并且在错误产生后很长一段时间才被检查出许多错误是潜伏的,并且在错误产生后很长一段时间才被检查出来来n在需求过程中会产生很多错误在需求过程中会产生很多错误wDeMarco在一份研究报告中指出,被检查出来的错误的在一份研究报告中指出,被检查出来的错误的56产生产生的根源可以追溯到需求阶段。的根源可以追溯到需求阶段。wAIRMICS所进行的一项调查发现,在一份美国军方大型管理信息所进行的一项调查发现,在一份美国军方大型管理信息系统的需求现格说明书系统的需求现格说明书(SRS)
8、中存在着中存在着500多个错误,当然这仅仅是多个错误,当然这仅仅是一个软件项目中的一次调查。一个软件项目中的一次调查。n在需求阶段,代表性的错误为疏忽、不一致和二义性在需求阶段,代表性的错误为疏忽、不一致和二义性w美国海军研究实验室从美国海军研究实验室从20世纪世纪70年代起就对软件开发技术不断地年代起就对软件开发技术不断地进行研究。他们对海军进行研究。他们对海军A7E它机上的它机上的”宅行操作程序进行实地宅行操作程序进行实地测试,以验证许多新设想的可行性。得出的研究数据表明:测试,以验证许多新设想的可行性。得出的研究数据表明:A7E项目中项目中77的需求错误特点是不明确:疏忽、不一致和二义性
9、。按的需求错误特点是不明确:疏忽、不一致和二义性。按错误类型对这些错误分布进行分析的结果是:错误类型对这些错误分布进行分析的结果是:w49不正确的事实,不正确的事实,31疏忽,疏忽,l 3不一致,不一致,5二义性二义性1/4/20238上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的重要性需求分析的重要性n需求错误是可以被检查出来的需求错误是可以被检查出来的1/4/20239上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的重要性需求分析的重要性w在需求过程中会产生很多错误在需求过程中会产生很多错误(事实事实3和和4)。w许多错
10、误并没有在早期被发现许多错误并没有在早期被发现(事实事实2)。w这样的错误是能够在产生的初期被检查出来的这样的错误是能够在产生的初期被检查出来的(事实事实5)。w如果没有及时检查出来这些错误,软件费用会直如果没有及时检查出来这些错误,软件费用会直线上升线上升(事实事实1)1/4/202310上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求管理的困难性需求管理的困难性1/4/202311上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求工程需求工程w需求是什么需求是什么?需求就是以一种清晰、简洁、一致需求就是以一种清晰、简洁、一致且无二义性的
11、方式,对一个待开发系统中各个有且无二义性的方式,对一个待开发系统中各个有意义方面的陈述的一个集合。意义方面的陈述的一个集合。w需求工程一般指应用已证实有效的原理、方法,需求工程一般指应用已证实有效的原理、方法,通过合适的工具和记号,系统地描述出待开发系通过合适的工具和记号,系统地描述出待开发系统及其行为特征和相关约束;通常是一些过程的统及其行为特征和相关约束;通常是一些过程的集合:需求获取集合:需求获取(需求引出需求引出)、需求分析和编写软、需求分析和编写软件规格说明书件规格说明书(SRS)及验证及验证(包括鉴定和证实包括鉴定和证实)。1/4/202312上海交通大学计算机集成技术开放实验室上
12、海交通大学计算机集成技术开放实验室需求工程涉及人员需求工程涉及人员1/4/202313上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件需求软件需求w功能需求w性能需求w环境需求w可靠性需求w安全保密要求w用户界面需求w资源使用需求w成本消耗需求w开发进度需求w预先估计以后系统可能达到的目标1/4/202314上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析与程序分析的不同需求分析与程序分析的不同1/4/202315上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析现状需求分析现状w误解误解w交流障碍交流障
13、碍w缺乏共同语言缺乏共同语言w“完整性完整性”问题问题w需求永远不会稳定需求永远不会稳定w用户意见不统一用户意见不统一w错误要求错误要求w认识混淆认识混淆1/4/202316上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的任务需求分析的任务w可行性分析阶段已经粗略了解了用户的需求,甚可行性分析阶段已经粗略了解了用户的需求,甚至已经提出了一些可行的方案,但是,可行性研至已经提出了一些可行的方案,但是,可行性研究的基本目的是究的基本目的是用较小的成本在较短的时间内确用较小的成本在较短的时间内确定是否存在可行的方案定是否存在可行的方案。因此许多细节被忽略。因此许多细
14、节被忽略。w在系统开发前,还需要进一步确定在系统开发前,还需要进一步确定1/4/202317上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的任务需求分析的任务可行性分析可行性分析DFDDD功能具体化功能具体化需求规格说明需求规格说明加细加细DFDDD算法算法描述描述IPOFinal stage of Definition phase仍然回答仍然回答“What”,而不是而不是“How”,但更细致、精确(合同的拟定)但更细致、精确(合同的拟定)1/4/202318上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的任务需求分析的任务w
15、完整完整w准确准确w清晰清晰w具体具体1/4/202319上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的任务需求分析的任务1/4/202320上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的任务需求分析的任务1、确定要求、确定要求 功能要求功能要求(functional requirements):系统必须做什么?系统必须做什么?性能要求性能要求(performance requirements):做得怎样?做得怎样?例:例:response time,memory,back-up memory,security,运行要求运
16、行要求(operational requirements):运行环境、软硬件配置等。运行环境、软硬件配置等。未来可能的扩充要求未来可能的扩充要求(possible evolution):如如3维虚拟现实的效果等维虚拟现实的效果等等。等。1/4/202321上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的任务需求分析的任务 2分析数据分析数据建立概念模型建立概念模型(conceptual models):E-R Diagram形象描绘数据结构形象描绘数据结构:Data Hierarchy,Warnier Diagram,IPO数据结构规范化数据结构规范化(Nor
17、malization)3、导出逻辑模型:、导出逻辑模型:DFD+DD+IPO4、修正计划:重估成本、进度等、修正计划:重估成本、进度等1/4/202322上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析的任务需求分析的任务“样样机机试用试用”CDG5、开发原型系统开发原型系统(Prototyping)1/4/202323上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室分析过程分析过程w软件系统本质上是信息处理系统,任何信息处理软件系统本质上是信息处理系统,任何信息处理系统的基本功能都是把输入数据转变成需要的输系统的基本功能都是把输入数据转
18、变成需要的输出信息出信息w数据是分析的出发点,在可行性分析阶段许多实数据是分析的出发点,在可行性分析阶段许多实际的数据元素被忽略了,需求分析阶段将定义这际的数据元素被忽略了,需求分析阶段将定义这些数据元素些数据元素w结构化分析方法就是面向数据流自顶向下逐步求结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法精进行需求分析的方法1/4/202324上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室分析过程分析过程1、沿、沿DFD回溯回溯(1)DFD的输出端是系统的最终目的的输出端是系统的最终目的(2)向回确定每个数据元素的来源)向回确定每个数据元素的来源(3)为
19、了得到某个数据元素需要用到数据流图中目前还)为了得到某个数据元素需要用到数据流图中目前还没有的数据元素,或者得出某个数据元素需要用的算没有的数据元素,或者得出某个数据元素需要用的算法尚不清楚,可加细法尚不清楚,可加细DFD及及DD,并将相关算法记录在并将相关算法记录在IPO图图中。中。1/4/202325上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室分析过程分析过程2、用户复查、用户复查 数据字典准确完整吗?数据字典准确完整吗?算法正确吗?算法正确吗?有没有遗漏必要的处理或数据元素?有没有遗漏必要的处理或数据元素?某些数据元素是从哪里来的?某些数据元素是从哪里来的?构
20、成一个循环,认识螺旋式上升构成一个循环,认识螺旋式上升1/4/202326上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室分析过程分析过程3、细化、细化DFD:加细前后的加细前后的IO须相同。须相同。分解到须考虑具体实现的代码时即可仃止分解到须考虑具体实现的代码时即可仃止1/4/202327上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室分析过程分析过程4、修正计划、修正计划5、文档:、文档:需求规格说明书需求规格说明书不需分解不需分解有补充有补充修正修正无补充修正无补充修正分析追踪分析追踪数据流图数据流图用户复查用户复查细细 化化数据流图数据流
21、图需要需要分解分解1/4/202328上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析规格说明书需求分析规格说明书 文档编号文档编号:版版 本本 号:号:文档名称:文档名称:项目名称:项目名称:项目负责人:项目负责人:年年 月月 日日编写:编写:核对:核对:审核:审核:批准:批准:开发单位:开发单位:1/4/202329上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析规格说明书需求分析规格说明书系统规格说明:系统规格说明:系统概貌系统概貌 功能要求功能要求 性能要求性能要求 运行要求运行要求 可能增加的要求可能增加的要求 DFD
22、IPO 数据要求:数据要求:DD Hierarchy 或或 Warnier Diagram 用户系统描述用户系统描述 初步用户手册:从用户的观点考虑系统初步用户手册:从用户的观点考虑系统 系统功能、性能系统功能、性能 使用与步骤使用与步骤 等等修正的开发计划:修正的开发计划:成本估计成本估计 资源使用计划资源使用计划 进度计划进度计划1/4/202330上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析规格说明书需求分析规格说明书w w从现实中分离功能,即描述要从现实中分离功能,即描述要从现实中分离功能,即描述要从现实中分离功能,即描述要“做什么做什么做什么做什么
23、”而不是而不是而不是而不是“怎样怎样怎样怎样实现实现实现实现”w w要求使用要求使用要求使用要求使用面向处理面向处理面向处理面向处理的规格说明语言(或称系统定义语言)的规格说明语言(或称系统定义语言)的规格说明语言(或称系统定义语言)的规格说明语言(或称系统定义语言)w w如果被开发软件只是一个大系统中的一个元素,那么整如果被开发软件只是一个大系统中的一个元素,那么整如果被开发软件只是一个大系统中的一个元素,那么整如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中个大系统也包括在规格说明的描述之中个大系统也包括在规格说明的描述之中个大系统也包括在规格说明的描述之
24、中w w规格说明必须包括系统运行环境规格说明必须包括系统运行环境规格说明必须包括系统运行环境规格说明必须包括系统运行环境w w规格说明必须是一个认识模型规格说明必须是一个认识模型规格说明必须是一个认识模型规格说明必须是一个认识模型w w规格说明必须是可操作的规格说明必须是可操作的规格说明必须是可操作的规格说明必须是可操作的w w规格说明必须容许不完备性并允许扩充规格说明必须容许不完备性并允许扩充规格说明必须容许不完备性并允许扩充规格说明必须容许不完备性并允许扩充w w规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合1/4/2023
25、31上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室分析过程分析过程轻松一分钟 True Tech Support Stories A woman complied with a techs request to send in a copy of a defective diskette.A few days later,the tech received a letter from her along with a xerox copy of the floppy.A tech advised a customer to put his troubled flopp
26、y back in the drive and close the door.The customer put his phone down and was heard walking across the room and shutting the door to the room.1/4/202332上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室分析过程分析过程w节选自目前我国的一些实际系统中的功能性需求的说明节选自目前我国的一些实际系统中的功能性需求的说明方式:方式:“根据详细的系统调研和需求分析,根据详细的系统调研和需求分析,系统的系统的功能必须满足以下需求:
27、功能必须满足以下需求:1)编制计划、计划工程拨款管理,编制计划、计划工程拨款管理,工程批复管理,工程进度统,工程批复管理,工程进度统计;计;2)工程项目管理;工程项目管理;3)计划拨款、征费收缴信息及其他收拨款信息查询统计;计划拨款、征费收缴信息及其他收拨款信息查询统计;4)路产管理,违章建筑管理,工程材料管理,路产管理,违章建筑管理,工程材料管理,超限运输管理;,超限运输管理;5)养征信息查询管理,收费站信息管理;养征信息查询管理,收费站信息管理;6)文档管理,会议管理,合同管理,文档管理,会议管理,合同管理,驾驶员外勤管理,常用管,驾驶员外勤管理,常用管理;理;7)养护信息管理,公路维护预
28、警;养护信息管理,公路维护预警;8)路况信息管理,交通量信息管理,科研项目信息管理;路况信息管理,交通量信息管理,科研项目信息管理;1/4/202333上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求表达需求表达w需求说明语句需求说明语句n保持语句和段落的简短保持语句和段落的简短n采用主动语态的表达方式采用主动语态的表达方式n编写具有正确的语法和标点的完整句子编写具有正确的语法和标点的完整句子n使用的术语应该和词汇表中定义的一致使用的术语应该和词汇表中定义的一致n需求陈述应该具有一致的式样,例如需求陈述应该具有一致的式样,例如“系统必须系统必须”,或者,或者“用户必
29、须用户必须”,并紧跟一个行为动,并紧跟一个行为动作和可观察的结果,例如作和可观察的结果,例如“仓库管理子系统必须现实仓库管理子系统必须现实一张在所请求的仓库中有存货的药品名单。一张在所请求的仓库中有存货的药品名单。”1/4/202334上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求表达需求表达n为了减少不确定性,避免采用模糊的、主观的术语,为了减少不确定性,避免采用模糊的、主观的术语,例如,用户友好、容易、简单、迅速、有效、支持、例如,用户友好、容易、简单、迅速、有效、支持、许多、最新技术、优越的、可接受的和健壮的。许多、最新技术、优越的、可接受的和健壮的。n避免
30、使用比较性的词汇,例如:提高,最大化,最小避免使用比较性的词汇,例如:提高,最大化,最小化和最佳化。定量地说明所需要提高的程度或者说清化和最佳化。定量地说明所需要提高的程度或者说清一些参数可接受的最大值和最小值。一些参数可接受的最大值和最小值。1/4/202335上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求表达需求表达w“产品必须在固定的时间间隔内提供状态消息,并且每产品必须在固定的时间间隔内提供状态消息,并且每次时间间隔不得小于次时间间隔不得小于6060秒秒”n后台任务管理器应该在用户界面的指定区域显示状态消息后台任务管理器应该在用户界面的指定区域显示状态消息
31、n在后台任务进程启动之后,消息必须每隔在后台任务进程启动之后,消息必须每隔6060(+_10+_10)秒更新一次,)秒更新一次,并且保持连续的可见性。并且保持连续的可见性。n如果正在正常处理后台任务进程,那么后台任务管理器必须显示如果正在正常处理后台任务进程,那么后台任务管理器必须显示后台任务进程已完成的百分比后台任务进程已完成的百分比n当完成后台任务时,后台任务管理器必须显示一个当完成后台任务时,后台任务管理器必须显示一个“已完成已完成”的的消息。消息。n如果后台任务中止执行,那么后台任务管理器必须显示一个出错如果后台任务中止执行,那么后台任务管理器必须显示一个出错信息。信息。1/4/202
32、336上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求表达需求表达w“产品必须在显示和隐藏非打印字符之间进行瞬产品必须在显示和隐藏非打印字符之间进行瞬间切换间切换”n“用户在编辑文档时,通过激活特定的触发机制,可用户在编辑文档时,通过激活特定的触发机制,可以在显示和隐藏所有以在显示和隐藏所有HTMLHTML标记之间进行切换。标记之间进行切换。”1/4/202337上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求表达需求表达w“分析程序应该能生成分析程序应该能生成HTMLHTML标记出错的报告,这标记出错的报告,这样就可以使样就可以使HTM
33、LHTML的初学者使用它来迅速排错的初学者使用它来迅速排错”n在在HTMLHTML分析程序完全分析完一个文件后,该分析程序分析程序完全分析完一个文件后,该分析程序必须生成一个出错报告,这个报告中包含了在分析文必须生成一个出错报告,这个报告中包含了在分析文件中所发生错误的件中所发生错误的HTMLHTML所在的行号以及文本内容,还所在的行号以及文本内容,还包含了对每个错误的描述。包含了对每个错误的描述。n如果分析过程中未发生任何错误,就不必生成任何错如果分析过程中未发生任何错误,就不必生成任何错误报告误报告1/4/202338上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室
34、分析过程分析过程w第六步第六步 审查和复审审查和复审w以上六步构成一个循环以上六步构成一个循环1/4/202339上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求分析过程需求分析过程1/4/202340上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化w软件系统开发过程中必须考虑两方面的问题软件系统开发过程中必须考虑两方面的问题n“数据数据”及对数据的及对数据的“处理处理”w为了把用户的数据要求清晰明确地表达出来,系为了把用户的数据要求清晰明确地表达出来,系统分析员通常建立一个统分析员通常建立一个概念性的数据模型
35、概念性的数据模型(也称(也称为信息模型)。概念性数据模型是一种为信息模型)。概念性数据模型是一种面向问题面向问题的数据模型的数据模型,是按照用户的观点来对数据和信息,是按照用户的观点来对数据和信息建模。建模。1/4/202341上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化w最最常用的表示概念性数据模型的方法,是实体联常用的表示概念性数据模型的方法,是实体联系方法(系方法(Entity-Relationship Approach)wER图描述现实世界中的实体,而不涉及这些实图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。体在
36、系统中的实现方法。1/4/202342上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化 Entities 例:例:,StudentInstructorClass 实体是客观世界中存在的且可相互区分的事实体是客观世界中存在的且可相互区分的事务。实体可以是人也可以是物,可以是具体的务。实体可以是人也可以是物,可以是具体的事物也可以是抽象概念。例如,职工、学生、事物也可以是抽象概念。例如,职工、学生、课程、教师等都是实体。课程、教师等都是实体。1/4/202343上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和
37、规范化概念模型和规范化w客观世界中的事物彼此间往往是有联系的,例如,客观世界中的事物彼此间往往是有联系的,例如,教师与课程间存在教师与课程间存在“教教”这种联系。这种联系。Relations 例:例:Enrolled inTeach111NMN1/4/202344上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化w属性是实体或联系所具有的性质。通常一个实体属性是实体或联系所具有的性质。通常一个实体由若干个属性来刻画。由若干个属性来刻画。w例如,例如,“学生学生”实体有学号、姓名、性别、系、实体有学号、姓名、性别、系、年级年级 Attribu
38、tes 例:例:,NameI D#1/4/202345上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化InstructorStudentEnrolled inTeachClassI D#I D#NameNameSexSexTitleInstructor IDClass IDGradeStudent IDClass IDCreditI D#Subject例:例:1/4/202346上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化2、范式、范式(Normal Forms):消除数据冗余的
39、程度消除数据冗余的程度 IBM E.F.Godd(1970)例:*Keyword:可唯一地标识一个元组的属性可唯一地标识一个元组的属性1/4/202347上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化w范式范式级别越高,存储同样数据就要分解成更多张级别越高,存储同样数据就要分解成更多张表,因此表,因此“存储自身存储自身”的过程也就越复杂的过程也就越复杂w随着范式级别的提高,数据的存储结构与基于问随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,因此,在题域的结构间的匹配程度也随之下降,因此,在需求变化时数据的稳
40、定性较差需求变化时数据的稳定性较差w范式级别的提高则需要访问的表增多,性能(速范式级别的提高则需要访问的表增多,性能(速度)将下降度)将下降1/4/202348上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化1-NF:所有属性都是原子值,即不出现所有属性都是原子值,即不出现“表中有表表中有表”1/4/202349上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化2-NF:在在 1-NF 基础上,每个基础上,每个non-key-word都由整个都由整个key word 决定(而非依赖于决
41、定(而非依赖于key word 的一部分)。例:的一部分)。例:“Major”实际上由实际上由“ID”的第的第6、7位决定,可省去。位决定,可省去。1/4/202350上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室概念模型和规范化概念模型和规范化3-NF:在在 2-NF基础上,基础上,non-key-word之间无从属之间无从属关系。关系。1/4/202351上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室图形工具图形工具1、层次方框图、层次方框图(Hierarchy)描绘数据的结构描绘数据的结构例:例:A Room hierarchy bas
42、ed on an interior designers perspective.RoomRoom with lightsRoom with windowsGarageBasementKitchenBathroomRoom withFurnitureLivingRoomFamilyRoomBedRoomDiningRoom1/4/202352上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室图形工具图形工具2、Warnier Diagram:层次层次(n1,n2):重复重复n1到到n2次次:二者择一:二者择一例:例:头条新闻头条新闻 地区队地区队 头版头版 国内新闻国内新闻
43、 体育新闻体育新闻 职业队职业队 本地新闻本地新闻 拳击拳击 社论社论(1,1)经营简讯经营简讯 专栏专栏(1,3)报纸报纸 社论社论 读者来信读者来信(1,3)副刊副刊 商业新闻商业新闻 雇员简讯雇员简讯 讽刺漫画讽刺漫画(0,1)一般新闻一般新闻 体育新闻联播体育新闻联播 招生招生 副刊副刊 商业新闻商业新闻 广告广告 招聘招聘 广告广告 求助求助细细化化1/4/202353上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室图形工具图形工具3、IPO图图(Input/Process/Output):简要的算法描述简要的算法描述1.1.校验校验主记录主记录2.2.校验校
44、验事务记录事务记录3.3.更新更新主记录主记录旧的主文件旧的主文件事务文件事务文件有效的有效的主记录主记录有效的有效的事务记录事务记录更新后的更新后的主文件主文件输出输出O O处理处理P P输入输入I I1/4/202354上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室改进的IPO图1/4/202355上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室需求验证需求验证方法:方法:人工审查人工审查 初步用户手册初步用户手册 Prototyping 使用软件工具使用软件工具 完整性、一致性完整性、一致性1/4/202356上海交通大学计算机集成技术开
45、放实验室上海交通大学计算机集成技术开放实验室需求验证需求验证例1:Software Requirements Engineering Methodology(SREM)(TRW Corporation,1977)SREM=Requirements Statement Language(RSL)+Requirements Engineering Validation System(REVS)REVSRSLRequirementsRSLStatementsAbstract System Semantic Model(ASSM)AnalyzerReports1/4/202357上海交通大学计算机集成
46、技术开放实验室上海交通大学计算机集成技术开放实验室需求验证需求验证1/4/202358上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室自动化工具自动化工具w近年来已经开发出一些需求分析工具,它们提供近年来已经开发出一些需求分析工具,它们提供一组程序,帮助分析员制定需求规格说明。以自一组程序,帮助分析员制定需求规格说明。以自动化为主的工具给分析员提供另一种可供选择的动化为主的工具给分析员提供另一种可供选择的方案。软件需求能够用一种规格说明语言来描述,方案。软件需求能够用一种规格说明语言来描述,这种语言把关键字指示符与自然语言这种语言把关键字指示符与自然语言(例如英语例如英
47、语)描述结合起来。规格说明语言被送进一个处理机,描述结合起来。规格说明语言被送进一个处理机,它产生出一份需求规格说明,更为重要的是,它它产生出一份需求规格说明,更为重要的是,它同时还产生出一组有关规格说明的一致性和组织同时还产生出一组有关规格说明的一致性和组织的诊断报告。的诊断报告。w在过去的在过去的10年间,已经提出过一些用于制订需年间,已经提出过一些用于制订需求规格说明的自动化工具。求规格说明的自动化工具。1/4/202359上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室自动化工具自动化工具1/4/202360上海交通大学计算机集成技术开放实验室上海交通大学计算机
48、集成技术开放实验室自动化工具自动化工具w软件需求工程方法学软件需求工程方法学(SREM)和问题陈述语言问和问题陈述语言问题陈述分析器题陈述分析器(PSLPSA)是有代表性的自动化是有代表性的自动化工具。此外,一些基于知识或形式化方法都需要工具。此外,一些基于知识或形式化方法都需要有自动工具来支持,才能有较好实用价值。有自动工具来支持,才能有较好实用价值。1/4/202361上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室自动化工具自动化工具w软件需求工程方法学软件需求工程方法学(SREM)wSREM是一种自动化的需求分析工具,它用一种是一种自动化的需求分析工具,它用一种
49、需求陈述语言需求陈述语言(RSL)来描述来描述“元素、属性、关系元素、属性、关系和结构和结构”。元素。元素(按照按照SREM的术语的术语)包括一组用包括一组用来制定需求规格说明的对象和概念。各对象之间来制定需求规格说明的对象和概念。各对象之间的关系规定为的关系规定为RSL的一部分,而属性则用来描述的一部分,而属性则用来描述或说明元素,结构用来说明信息流程。这些或说明元素,结构用来说明信息流程。这些RSL基本成分与叙述性信息一起构成需求规格说明的基本成分与叙述性信息一起构成需求规格说明的细节。细节。1/4/202362上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室自动化
50、工具自动化工具w问题陈述语言与问题陈述分析问题陈述语言与问题陈述分析PSLPSAwPSLPSA是是1968年由年由DTeichroew在密执安大学在密执安大学(Un5versity nf Michigan)提出的。提出的。w它是为它是为ISDOS项目而开发的,又是一个称之为计算机辅项目而开发的,又是一个称之为计算机辅助设计与规格说明分析工具助设计与规格说明分析工具(computeraided design and sPecification analysisto01,CADSAT)的更大的的更大的系统的部分。系统的部分。wPSLPSA给分析员提供的功能包括:给分析员提供的功能包括:n一般信息系