软件需求工程精.ppt
《软件需求工程精.ppt》由会员分享,可在线阅读,更多相关《软件需求工程精.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件需求工程第1页,本讲稿共56页课程提纲课程提纲1.1.软件需求基本理论和概念软件需求基本理论和概念 2.2.软件需求工程过程软件需求工程过程 3.3.软件需求获取软件需求获取 4.4.软件需求分析软件需求分析 5.5.软件需求规格说明软件需求规格说明 6.6.软件需求验证软件需求验证 7.7.软件需求管理软件需求管理 8.8.软件需求实现软件需求实现 9.9.软件需求工程新进展软件需求工程新进展 10.10.软件需求开发与需求管理工具软件需求开发与需求管理工具第2页,本讲稿共56页内容提要n需求分析面临的困难需求分析面临的困难n需求分析基本方法和工具需求分析基本方法和工具n数据需求分析数据
2、需求分析n功能需求分析功能需求分析n非功能性需求分析非功能性需求分析n实时系统需求分析实时系统需求分析n基于基于USE CASEUSE CASE的需求分析的需求分析n基于原型方法的分析基于原型方法的分析第3页,本讲稿共56页需求分析需求分析n分析是指通过对分析是指通过对问题域问题域的研究的研究,获得对该领获得对该领域特性及存在于其中的待解决的问题特性域特性及存在于其中的待解决的问题特性的透彻理解并用文档说明。的透彻理解并用文档说明。n需求分析是前面需求获取阶段的继续,通需求分析是前面需求获取阶段的继续,通过对所获取的信息进一步加工获得对系统过对所获取的信息进一步加工获得对系统的更精确描述,成为
3、转换成需求规格说明的更精确描述,成为转换成需求规格说明的直接信息元。的直接信息元。n但是否将需求分析作为独立的过程?但是否将需求分析作为独立的过程?第4页,本讲稿共56页需求分析的关键点需求分析的关键点n问题域的结构问题域的结构n问题域的数据问题域的数据n问题域的行为问题域的行为n问题域的事件问题域的事件n问题域的状态问题域的状态n派生需求派生需求只是只是针对问题域针对问题域吗?吗?第5页,本讲稿共56页一.需求分析面临的困难n n需求分析是一个项目的开端,也是项目建设的基石。在失败的项目中,80是由于需求分析的不明确而造成的。因此一个项目成功的关键因素之一,就是对需求分析的把握程度。n n由
4、于软件项目的特殊性和行业覆盖的广阔性,以及需求分析的高风险性,软件需求分析的重要性是不言而喻的,同时需求分析又面临着很多困难。第6页,本讲稿共56页二.需求分析基本方法和工具图图1 软件需求工程的组成软件需求工程的组成获取需求工程需求开发需求管理分析分析 编写规约 确认n n绘制关联图绘制关联图n n创建用户界面和技术原创建用户界面和技术原型型n n分析需求的可行性分析需求的可行性n n确定需求的优先级确定需求的优先级n n为需求建模为需求建模n n创建数据字典创建数据字典n n将需求分解到子系统将需求分解到子系统n n应用质量功能调配应用质量功能调配需求分析包括:需求分析包括:需求分析包括:
5、需求分析包括:第7页,本讲稿共56页分析方法分析方法n结构化分析结构化分析n面向对象分析面向对象分析第8页,本讲稿共56页分析模型描述工具n n结构化分析工具DFD、DD和PSPEC CFD、CSPEC和STD E-R图 n n面向对象分析工具用例图,类图,对象图对象-关系图对象-行为图第9页,本讲稿共56页需求分析建模工具需求分析建模工具n数据流图数据流图n实体关系图实体关系图n状态转换图状态转换图n对话图对话图n类图类图nPetri Net第10页,本讲稿共56页建模技术建模技术n面向处理技术面向处理技术Context diagram 上下文图上下文图Data flow diagram(D
6、FD)数据流图数据流图流程图流程图n面向数据结构技术面向数据结构技术E-R D-Entity Relationship Diagramsn面向对象建模面向对象建模处理和数据相结合处理和数据相结合Object and Class 对象和类的技术对象和类的技术第11页,本讲稿共56页需求分析基本方法 结构化分析方法结构化分析方法(SA)(SA)n结构化分析(Structured Analysis,简称SA法)的基本思想:“分解”和“抽象”n分解:把系统的复杂性降低到可以掌握的程度,把大问题分解成若干小问题,然后分别解决。n n抽象:即先考虑问题最本质抽象:即先考虑问题最本质的属性,暂把细节略去,以
7、的属性,暂把细节略去,以后再逐层添加细节,直至涉后再逐层添加细节,直至涉及到最详细的内容。及到最详细的内容。图4 自顶向下逐层分解第12页,本讲稿共56页数据流图数据流图DFDn n描述系统逻辑模型信息在系统中的流动和处理n n用途交流信息的工具结构化分析和设计的工具第13页,本讲稿共56页数据流图数据流图DFDn n组成符号圆框代表加工圆框代表加工箭头代表数据流向箭头代表数据流向方框代表源点和终点方框代表源点和终点双杠表示数据文件或数据库双杠表示数据文件或数据库n n分层从高层到低层从高层到低层分解前后的数据流必须一致分解前后的数据流必须一致n n命名数据流数据流处理处理第14页,本讲稿共5
8、6页数据流图 DFD练习练习售书系统售书系统领书单领书单 进书通知进书通知 购书单购书单 缺书单缺书单 学学生生教材教材购销购销系统系统书书 库库保保 管管员员图5 售书系统顶层数据流图第15页,本讲稿共56页数据流图 DFDDFD练习练习售书系统售书系统领书单领书单 进书通知进书通知 进书通知进书通知 购书单缺书单购书单缺书单 1销销售售 2采采购购书库书库保保管管员员学学生生F1教材存量表教材存量表 F2缺书登记表缺书登记表 第16页,本讲稿共56页功能需求分析 加工说明PSPECn n加工说明PSPEC说明DFD中的每个加工n n描述工具结构化语言判定表判定树第17页,本讲稿共56页处理
9、方法:事件列表与功能列表n n事件就是要求系统执行某项功能的请求n n业务事件与产品事件n n对复杂的业务任务采用任务说明、用例说明或数据流图等方法进行解释。n n对复杂的功能采用数据流图、算法描述、活动图、数学说明等进行解释。第18页,本讲稿共56页处理方法:事件列表与功能列表n n事件及功能列表的优点主要作为核对清单,以说明应开发什么。其中对这些主要作为核对清单,以说明应开发什么。其中对这些功能的详细说明构成了功能需求的主要部分。功能的详细说明构成了功能需求的主要部分。开发人员可以方便的检查产品是否实现每一个功能。开发人员可以方便的检查产品是否实现每一个功能。用户能够在某种程度上确认业务事
10、件和任务列表。用户能够在某种程度上确认业务事件和任务列表。n n通过一致性检查确定列表是否完备。第19页,本讲稿共56页数据需求分析 数据字典数据字典DDDDn nDFD中所有元素的定义的集合n n内容数据流数据流分量数据存储处理(一般不用DD描述)n n定义数据的方法自顶向下分解数据第20页,本讲稿共56页数据需求分析 数据字典DDDDn n数据元素的组合方式顺序:A+B选择:A|B重复:1A5可选:(A)n nDD的用途分析阶段的交流工具包含控制信息数据库设计的基础第21页,本讲稿共56页E-R图n n用于对复杂数据的数据分析和建模n n实体、属性和关系n n组成符号0:11:10:m1:
11、m第22页,本讲稿共56页E-R图例子电话机电话机生产厂商生产厂商经销商经销商用户用户生生产产购购买买使用使用经销经销第23页,本讲稿共56页数据需求与功能需求的区别n n数据需求指定了系统的存储数据。n n功能需求则说明数据的用途,以及如何记录、计算、转换、修改及传输数据等。数据需求与功能需求的区别:第24页,本讲稿共56页状态迁移图 STDn nSTD(State Transition Diagram)n n描述软件状态变迁n n符号表示矩形-系统状态箭头-状态转变方向规则表达式-事件/触发行为状状 态态1状状 态态2事件事件/触发行为触发行为第25页,本讲稿共56页状态迁移图 STDST
12、D例子例子20秒到/翻屏生成最新数据/翻屏半小时到/工控处理半分钟到/传送空闲/采集物品经过/计数采集PLC计数传送工控处理实时翻屏第26页,本讲稿共56页上下文图n n作用上下文图能很好地概括产品的必要接口,初步确定产品包含了哪些内容,产品之外又包含哪些内容。即说明产品及其环境的视图。说明产品的范围。n n优点:上下文图为开发任务概括了所有的接口,在开发中或开发后,方便地验证是否已经处理了所有接口。用户容易理解,并发现遗漏的接口。第27页,本讲稿共56页对话图对话图n对话图代表了一个高层抽象的用户界面体系结构。对话图代表了一个高层抽象的用户界面体系结构。n对话图描绘了系统中的对话元素和它们之
13、间的导航连接,但它没有对话图描绘了系统中的对话元素和它们之间的导航连接,但它没有揭示具体的屏幕设计。揭示具体的屏幕设计。n对话图可以使你在对需求的理解上探索假设的用户界面概念。对话图可以使你在对需求的理解上探索假设的用户界面概念。n用户和开发者可以通过对话图在用户如何利用系统执行任务上达成共用户和开发者可以通过对话图在用户如何利用系统执行任务上达成共同的视觉界面。同的视觉界面。n对话图与系统情节叙述相关联,这些叙述还包括对每一个屏幕意图对话图与系统情节叙述相关联,这些叙述还包括对每一个屏幕意图的简短说明。的简短说明。n对话图抓住了用户一系统交互作用和任务流的本质,而不会使你太对话图抓住了用户一
14、系统交互作用和任务流的本质,而不会使你太快陷入到屏幕布局和数据元素的特定细节中。用户可以通过跟踪对快陷入到屏幕布局和数据元素的特定细节中。用户可以通过跟踪对话图寻找遗漏、错误或多余的转换,和因此而有遗漏、错误或多余话图寻找遗漏、错误或多余的转换,和因此而有遗漏、错误或多余的需求。的需求。n你可以把在需求分析过程中形成的对话图用作详细用户界面设计时你可以把在需求分析过程中形成的对话图用作详细用户界面设计时的指南,最终形成一个执行的对话图,该对话图记录了产品的真正的指南,最终形成一个执行的对话图,该对话图记录了产品的真正用户界面的体系结构。用户界面的体系结构。第28页,本讲稿共56页对话图示例对话
15、图示例第29页,本讲稿共56页非功能性需求分析n n所谓非功能性需求,是指软件产品为满足用户业务需求而所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。软件产品的非功能性必须具有且除功能需求以外的特性。软件产品的非功能性需求包括系统的需求包括系统的性能、可靠性、可维护性、可扩充性性能、可靠性、可维护性、可扩充性和和对技术和对业务的适应性技术和对业务的适应性等。n n非功能性需求涉及的范围很广,软件产品本身不是孤立存在的,还涉及到诸多外在环境的影响。n n非功能性需求必须考虑软件既要可用,又要易用。非功能性需求必须考虑软件既要可用,又要易用。第30页,本讲稿共56
16、页实时系统需求分析n n实时系统广泛应用在航天、航空、通信、国防等领域。实时系统以计算机技术为基础、以应用为目的、将软件和硬件紧密结合在一起,实现特定功能的系统。n n与通用系统相比,实时系统具有一些显著的特点:实时性实时性可靠性可靠性可预测性可预测性第31页,本讲稿共56页实时系统需求分析n n基于实时系统的特点,在开发一个复杂的实时系统时,一个充分再现系统特性的建模工具至关重要,对于系统分析、设计、实现、成本控制、可重用都具有重要的意义。n n可选用UML-RT工具进行实时系统的需求分析。n nUML-RT是利用通用建模语言UML的扩展机制并借鉴实时的面向对象的方法ROOM(Real-ti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 工程
限制150内