《03 2014 第3讲 现代软件工程(第3章 需求分析).pdf》由会员分享,可在线阅读,更多相关《03 2014 第3讲 现代软件工程(第3章 需求分析).pdf(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2014-3-101现代软件工程现代软件工程现代软件工程现代软件工程第3讲 第3章 需求分析第3讲 第3章 需求分析主讲主讲主讲主讲:朱贵良朱贵良朱贵良朱贵良2014任何一个人,都要养成自学的习惯,即使是在学校的学生,也要养成自学的习惯,因为你早晚都要离开学校的!自学,就是一种独立学习,独立思考的能力。任何一个人,都要养成自学的习惯,即使是在学校的学生,也要养成自学的习惯,因为你早晚都要离开学校的!自学,就是一种独立学习,独立思考的能力。华 罗 庚2014-3-103内内内内 容容容容 提提提提 纲纲纲纲一需求分析的任务二需求分析用到的工具二需求分析用到的工具分析建模与规格说明实体一联系图数据
2、规范化状态转换图其他图形工具验证软件需求 小结小结2014-3-104一一 需求分析的任务需求分析的任务 需求分析的目的是什么?需求分析的目的是什么?需求分析的基本工具和方法?需求分析的基本工具和方法?评价需求分析阶段工作质量标准是什么?评价需求分析阶段工作质量标准是什么?需求分析的成果标志是什么?需求分析的成果标志是什么?需求分析是设计实现的前提,是软件过程的第一步,是软需求分析是设计实现的前提,是软件过程的第一步,是软件开发的难点、重点,是一个迭代的过程,不断完善、不件开发的难点、重点,是一个迭代的过程,不断完善、不断提升的过程。断提升的过程。教学目的:了解需求分析的过程;掌握其基本技术,
3、理解需求规格说明书的功能与结构组成。教学重点与难点:基本技术、需求规格说明书的作用与组成。2014-3-105一一 需求分析的任务需求分析的任务?需求分析概念的内涵与基本任务需求分析概念的内涵与基本任务软件需求指用户对所开发的软件在功能、性能、环境、可靠性等各方面的要求。软件需求指用户对所开发的软件在功能、性能、环境、可靠性等各方面的要求。需求分析主要任务是回答系统必须需求分析主要任务是回答系统必须“做什么做什么”,并用需求规格说明书的成果形式规范准确地表达出,并用需求规格说明书的成果形式规范准确地表达出“做什么做什么”。需求分析阶段的四项主要任务需求分析阶段的四项主要任务1)确定对系统的综合
4、要求2)分析系统的数据要求3)导出系统的逻辑模型4)修正系统开发计划2014-3-106一一 需求分析的任务需求分析的任务1)系统的8项综合需求功能需求。指定系统必须提供的服务。性能需求。指定系统必须满足的定时或容量约束等。可靠性和可用性需求。应定量指定。出错处理需求。指环境错误,非系统本身的错误。接口需求。常见的接口需求:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。约束需求。常见的约束:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。逆向需求。指定系统不应该做什么,将来可能提出的要求。2014-3-107一一 需求分析的任务需求分析的任务2)分析系统的数据要求
5、实现途径:建立数据模型,即实现途径:建立数据模型,即实体关系(实体关系(E ER R)图)图(P62);(P62);常用的三种工具(P67)(P67):层次方框图(P68)(P68)Warnier 图(P69)(P69);IPO 图图:建议使用改进后的:建议使用改进后的IPO图示例。示例。图1 层次方框示例图图2 Warnier示例图图2 Warnier示例图P41 数据流图符号,说明在多项选择中,只能取其一;P41 数据流图符号,说明在多项选择中,只能取其一;图3 图3 IPO图示例示例图4 改进后的图4 改进后的IPO图示例示例2014-3-1012一一 需求分析的任务需求分析的任务3)需
6、求分析任务三 导出系统的逻辑模型用图的形式将数据之间的关系描述出来,构造逻辑模型常用的工具分别是:数据流图DFD实体一联系图(E-R)状态转换图数据字典常用处理算法。4)4)需求分析任务四需求分析任务四 修正系统开发计划修正系统开发计划这是一个反复迭代不断完善的过程,直到满足系统需求、用户需求为止。2014-3-1013一一 需求分析的任务需求分析的任务?与用户沟通获取数据需求的方法访谈 座谈,调查表形式,情景分析技术面向数据流自顶向下求精(P59),修订问题,获得高层数据流图。包括建立:?详细的数据流图(DFD);?数据字典:定义数据流图中包含的元素;?实体关系(ER)图:从用户角度描述数据
7、;?IPO 图:描述数据流图中处理框的功能和算法。图5 需求分析沟通渠道示意图图5 需求分析沟通渠道示意图2014-3-1015一一 需求分析的任务需求分析的任务图图6 面向数据流自顶向下求精过程示意图面向数据流自顶向下求精过程示意图2014-3-1016一一 需求分析的任务需求分析的任务简易的应用规格说明技术(P59-61,62)一种面向团队的需求收集法,提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。规格说明书是需求分析阶段最重要的文档。快速建立软件原型的三种工具(P61):1)1)可充用的软件构建;2 2)第4代技术(4GL),如查询语言与报表,图形
8、语言,应用生成器等;3)3)形式化规格说明与原型环境;二 需求分析用到的工具二 需求分析用到的工具2014-3-1018二 需求分析用到的工具二 需求分析用到的工具?需求分析需求分析建模与规格说明(文档)通过建模可以降低系统的复杂性,有助于相互间的交流。通过结构化的分析方法;需建的三种模型:1)实体关系图(E-R图):用于创建数据模型,描述系统中所有重要的数据对象。功能是定义”做的对象”2)数据流图(DFD):用于创建功能模型,描述信息流向和数据转换。定义系统“做什么”3)状态转换图(STD)用于创建行为模型,描述系统状态响应外部事件进行转换的过程,规定“何时做”2014-3-1019图3:图
9、3:结构化分折模型的组成结构示意图2014-3-1020二 需求分析用到的工具二 需求分析用到的工具 E E-R R图图【一】【一】实体关系图(E-R图):用于创建数据模型,描述系统中所有重要的数据对象。基本概念1)实体:客观世界中存在的,可区分的事物。2)数据对象:实体在数据模型中的体现,能由一组属性来定义的实体都可以被认为是数据对象。3)属性:实体或数据对象所具有的性质。联系:客观事物之间的联系。联系分为三种:1)一对一(1:1)2)一对多联系(1:N)3)多对多联系(M:N)2014-3-1021二 需求分析用到的工具二 需求分析用到的工具 E E-R R图图 E 一 R 图结构的三种基
10、本元素:数据对象数据对象关系关系属性属性图4 教学E-R图示例2014-3-1023二 需求分析用到的工具二 需求分析用到的工具 E E-R R图图建立实体一联系图步骤(E 一 R 图)1)在需求收集过程中,列出应用软件或业务过程涉及到的所有“事物”,将其演化成数据对象;2)一次考虑一个对象,定义这个对象和其他对象之间是否存在连接;3)如果存在连接,应创建一个或多个关系;4)对每一个关系,确定其关联类型;5)重复步骤 2)到步骤 4),直到定义了所有关系。6)定义每个实体的属性;7)形式化并复审实体关系图;8)重复步骤 1)到 7),直到数据建模完成。2014-3-1024二 需求分析用到的工
11、具二 需求分析用到的工具 DFDDFDDFDDFD图图【二】【二】数据流向图(DFD(DFD 重点)P40 46,P102 描述数据处理过程的工具。通过图形的方法,从数据传递和数据处理的角度,刻画数据流从输入到输出的移动变换过程。数据流三个重要属性:数据流名字数据组成流向二 需求分析用到的工具二 需求分析用到的工具 DFDDFDDFDDFD图图说明:用图形符号以黑盒子的形式,描绘组成系统的各个部件(程序,文档,数据库,人工过程等),表达数据在系统 各部件之间流动的情况。图5:图5:数据流向图(DFD)(DFD)图形符号二 需求分析用到的工具二 需求分析用到的工具 DFDDFDDFDDFD图图图
12、图图图6 6 6 6:数据流向图数据流向图(DFDDFDDFDDFD)图形符图形符号(续)2014-3-1027二 需求分析用到的工具二 需求分析用到的工具 DFDDFDDFDDFD图图图7:描述银行取款过程的数据流图图7:描述银行取款过程的数据流图2014-3-1028二 需求分析用到的工具二 需求分析用到的工具 DFDDFDDFDDFD图图建立建立DFD过程中需要注意的几个问题过程中需要注意的几个问题适当地命名(p44 45)“数据存储”代表数据静止状态,“数据流”代表数据的运动状态;注意数据流与控制流的区别;通常在DFD中,忽略出错处理、打开或关闭文件之类的处理。若数据的源点和终点相同,
13、则应该有两个箭头和这个数据源(终)点相连;或重复画一个源(终)点。对于大型系统,要采用自顶向下逐层分解的方法,用分层DFD表示所有数据流和加工。2014-3-1029二 需求分析用到的工具二 需求分析用到的工具 DFDDFDDFDDFD图图DFD的几点注释的几点注释DFD的上层图为父图,下层图为子图。在多层数据流图中,顶层流图仅包含一个数据处理,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据;底层流图是指其数据处理不需再做分解的数据流图,它处在最底层;中间层流图则表示对其上层父图的细化。它的每一数据处理可能继续细化,形成子图;2014-3-1030二 需求分析用到的工具
14、二 需求分析用到的工具DFD中的几个术语说明数据流名:简要说明作用,即它产生的原因和结果。数据流来源:来自何方。数据流去向:去向何处。数据流组成:数据结构。数据量流通量:数据量,流通量2014-3-1031二 需求分析用到的工具二 需求分析用到的工具 DFDDFDDFDDFD图图建立DFD过程中需要注意的几个原则1)1)数据流图上所有图形符号只限于前述四种基本图形元素;2)2)数据流图的主图上的数据流必须封闭在外部实体之间;3)3)每个数据处理至少有一个输入数据流和一个输出数据流;4)4)在数据流图中,需按层给数据处理框编号。编号表明该处理所处层次及上下层的亲子关系;5)5)子图必须与它上一层
15、的一个数据加工对应,两者的输入数据流和输出数据流必须一致。即父图 与子图的平衡;2014-3-1032二 需求分析用到的工具二 需求分析用到的工具 DFDDFDDFDDFD图图建立DFD过程中需要注意的几个原则6)6)可以在数据流图中加入物质流,帮助用户理解数据流图;7)7)图上每个元素都必须有名字;8)8)数据流图中不可夹带控制流;9)9)初画时可以忽略琐碎的细节,以集中精力于主要数据流2014-3-1033二 需求分析用到的工具二 需求分析用到的工具 DDDDDDDD【三】【三】数据字典(DD,data dictionary)1)1)DD 是对数据流图中包含的所有元素的定义的集合,使得每个
16、图形元素的名字都有一个精确的、严格的定义。数据流图和词典结合在一起,能清楚地表达数据处理的要求,构成了“需求说明书”2)2)DD主要要描述?数据流?数据元素?数据存储?数据处理2014-3-1034二 需求分析用到的工具二 需求分析用到的工具 DDDDDDDDDD定义数据的符号说明定义数据的符号说明2014-3-1035二 需求分析用到的工具二 需求分析用到的工具 STDSTD【四】【四】状态转换图状态转换图(STD)功能:功能:描述系统的状态,如何响应外部信号,而进行转换的一种图形表示。状态:指任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。事件状体类型:初态、终态和中间状态
17、。约定:一个状态图中,只能有一个初态,但可以有0 多个终态。事件:事件:某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事情的抽象。2014-3-1036二 需求分析用到的工具二 需求分析用到的工具 STDSTD状态1状态变量1活动表1状态2状态变量2活动表2初始事件初始事件事件表达式事件表达式结束事件结束事件初态初态终态终态状态转换状态转换中间态中间态图8 状态转换示意图图8 状态转换示意图说明:状态转换及应用将在第10章第4节专门讲解!说明:状态转换及应用将在第10章第4节专门讲解!2014-3-1037二 需求分析用到的工具二 需求分析用到的工具【四】
18、【四】验证软件需求验证软件需求1)一致性:1)一致性:自然语言书写的需求说明,在表述方面可能存在二意性或多意性,因而需要进行验证;自然语言书写的需求说明,在表述方面可能存在二意性或多意性,因而需要进行验证;2)完整性:2)完整性:检查是否由用户参与建立快速原型;检查是否由用户参与建立快速原型;3)现实性:3)现实性:是否符合系统需求?是否符合系统需求?4)有效性:通过4)有效性:通过真实性模拟进行进行验证。真实性模拟进行进行验证。2014-3-1038本讲小结本讲小结 请无一遗漏的第列出需求分析的需求事件类型?请列出需求分析用到的工具,即基本技术!几个需要关注的问题系统流程图3 数据流图,请画出一次午餐的数据流图 实体联系图,E R图,请画出一次午餐的E R图 状态转换图 层次方框图 Warnier图2014-3-1039谢谢谢谢