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