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