软件工程 第4版 教学课件 ppt 作者 张海藩 吕云翔 编著 03第三章:结构化分析

上传人:E**** 文档编号:89494158 上传时间:2019-05-25 格式:PPT 页数:69 大小:702.50KB
返回 下载 相关 举报
软件工程 第4版  教学课件 ppt 作者  张海藩 吕云翔 编著 03第三章:结构化分析_第1页
第1页 / 共69页
软件工程 第4版  教学课件 ppt 作者  张海藩 吕云翔 编著 03第三章:结构化分析_第2页
第2页 / 共69页
软件工程 第4版  教学课件 ppt 作者  张海藩 吕云翔 编著 03第三章:结构化分析_第3页
第3页 / 共69页
软件工程 第4版  教学课件 ppt 作者  张海藩 吕云翔 编著 03第三章:结构化分析_第4页
第4页 / 共69页
软件工程 第4版  教学课件 ppt 作者  张海藩 吕云翔 编著 03第三章:结构化分析_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《软件工程 第4版 教学课件 ppt 作者 张海藩 吕云翔 编著 03第三章:结构化分析》由会员分享,可在线阅读,更多相关《软件工程 第4版 教学课件 ppt 作者 张海藩 吕云翔 编著 03第三章:结构化分析(69页珍藏版)》请在金锄头文库上搜索。

1、3.1 概述 3.2 与用户沟通的方法 3.3 分析建模与规格说明 3.4 实体关系图 3.5 数据流图 3.6 状态转换图 3.7 数据字典 3.8 结构化分析实例,第三章:结构化分析,需求分析是发现、求精、建模、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题。也就是说,需求分析的第1步是尽可能准确地了解用户当前的情况和需要解决的问题。,表面看来,需求分析和规格说明好像是比较简单的工作,实际上完全相反,这是一项相当艰巨复杂的工作。用户与开发者之间需要沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性,因此,不仅在整个需求

2、分析过程中应该采用行之有效的沟通方法,集中精力过细工作,而且对需求分析的结果(分析模型和规格说明)必须严格审查。,必须理解和表示问题的信息域,根据这条准则应该建立数据模型。 必须定义软件应完成的功能,这条准则要求建立功能模型。 必须表示作为外部事件结果的软件行为,这条准则要求建立行为模型。 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。 分析过程应该从要素信息移向实现细节,结构化分析方法准则,3.1 概述 3.2 与用户沟通的方法 3.3 分析建模与规格说明 3.4 实体关系图 3.5 数据流图 3.6 状态转换图 3.7 数据字典 3.8 结构化分析实例,第三章:结构化分析

3、,访谈(或称为会谈)是最早开始运用的获取用户需求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。 访谈有两种基本形式,正式的访谈和非正式的访谈。在正式的访谈中,系统分析员将提出一些事先准备好的具体问题 在对用户进行访谈的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户运用目标系统解决某个具体问题的方法和结果进行分析。,3.2.1 访谈,它能在某种程度上演示产品的行为,从而便于用户理解,而且还可能进一步揭示出一些系统分析员目前还不知道的需求; 情景分析能保证用户在需求分析过程中始终扮演一个积极主动的角色。,情景分析的用处,使用传统的访谈技术定义需求时,用户和开发者往往有意无意地区

4、分“我们和他们”。为了解决这一问题,人们研究出了一种面向团队的需求收集法,称为简易的应用规格说明技术。 这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案的要素,商讨不同的方法并指定基本的需求。,3.2.2 简易的应用规格说明技术,在中立地点举行由开发者和用户双方出席的会议。 制定准备会议和参加会议的规则。 提出一个议事日程,这个日程应该足够正式,以便能够涵盖所有要点;同时这个日程又应该足够非正式,以便鼓励自由思维。 由一个“协调人”来主持会议,他既可以,基本准则,以是用户,也可以是开发者,还可以是从外面请来的人。 使用一种“定义机制”(如工作表、图表等)。 目标是标识问题、提出解决

5、方案要素、商讨不同的方法以及在有利于实现目标的氛围中指定初步的需求。,开发者与用户不分彼此,集思广益密切合作; 即时讨论和求精; 有能导出规格说明的具体步骤。,优点,快速建立软件原型是最准确、最有效、最强大的需求分析技术。快速原型就是快速建立起来的旨在演示目标系统主要功能的程序。构建原型的要点是,它应该实现用户看得见的功能(如屏幕显示或打印报表),省略目标系统的“隐含”功能(如修改文件)。,3.2.3 软件原型,(1)第四代技术(4GT) 第四代技术包括众多数据库查询和报表语言、程序和应用系统生成器以及其他非常高级的非过程语言。因为第四代技术使得软件工程师能够快速地生成可执行的代码,因此,它们

6、是理想的快速原型工具。,快速地构建和修改原型的方法和工具,(2)可重用的软件构件 使用一组已有的软件构件(或称为组件)来装配原型。软件构件可以是数据结构(或数据库),或软件体系结构构件(即程序),或过程构件(即模块)。必须把软件构件设计成能在不知其内部工作细节的条件下重用。应该注意,现有的软件产品可以被用做“新的或改进的”产品的原型,这也是软件原型重用的一种形式。,(3)形式化规格说明和原型环境 使得分析员能够交互地创建基于语言的规格说明;调用自动工具把基于语言的规格说明翻译成可执行的代码;使得用户能够使用可执行的原型代码去精化形式化的需求。,3.1 概述 3.2 与用户沟通的方法 3.3 分

7、析建模与规格说明 3.4 实体关系图 3.5 数据流图 3.6 状态转换图 3.7 数据字典 3.8 结构化分析实例,第三章:结构化分析,描述用户的需求。 为软件设计工作奠定基础。 定义一组需求,一旦开发出软件产品之后,就可以用这组需求为标准来验收。 为了达到上述这些目标,在结构化分析过程中导出的分析模型的形式,如图3.1所示。,3.3.1 分析建模的目标,图3.1 分析建模的结构,分析模型的核心是“数据字典”,它描述软件使用或产生的所有数据对象。围绕着这个核心有3种不同的图: 1.“实体关系图”描绘数据对象之间的关系,它是用来进行数据建模活动的图形,图中出现的每个数据对象的属性可以在“数据对

8、象描述”中描述。,2.创建“数据流图”有两个目的:指出当数据在软件系统中移动时怎样被变换;描绘变换数据流的功能和子功能。数据流图是功能建模的基础,在“处理规格说明”中给出了对出现在数据流图中的每个功能的描述。,3.状态转换图”指明了作为外部事件结果的系统行为。为此,状态转换图描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。状态转换图是行为建模的基础,在“控制规格说明”中包含了有关软件控制的附加信息。,创建分析模型之外,还应该写出软件需求规格说明,它是分析阶段的最终成果 软件需求规格说明的框架如下: 引言 A系统参考文献 B整体描述 C软件项目约束,3.3.2 软件需求规格说明

9、,信息描述 A信息内容 B信息流 1数据流 2控制流 功能描述 A功能分解 B功能描述,1处理说明 2限制 3性能需求 4设计约束 5支撑图 C控制描述 1控制规格说明 2设计约束,行为描述 A系统状态 B事件和动作,确认标准 A性能范围 B测试种类 C预期的软件响应 D特殊考虑 参考书目 附录,3.1 概述 3.2 与用户沟通的方法 3.3 分析建模与规格说明 3.4 实体关系图 3.5 数据流图 3.6 状态转换图 3.7 数据字典 3.8 结构化分析实例,第三章:结构化分析,数据模型包含3种相互关联的信息:数据对象、描述数据对象的属性及数据对象彼此间相互连接的关系。,数据对象是对软件必须

10、理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事物,因此,仅有单个值的事物(例如宽度)不是数据对象 数据对象彼此间是有关联的 数据对象只封装了数据而没有对作用于数据上的操作的引用,1数据对象,属性定义了数据对象的性质 为数据对象的实例命名; 描述该实例; 引用另一个数据对象的实例。,2属性,数据对象彼此之间相互连接的方式称为关系,也称为联系。 (1)一对一联系(11) 例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的关系。,3关系,(2)一对多联系(1N) 例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程

11、只能由一位教师来教,图3.2 某校教学管理ER图,(3)多对多联系(MN) 例如,图3.2表示学生与课程间的联系是多对多的关系,即一个学生可以学多门课程,而每门课程可以有多个学生来学。,图3.2 某校教学管理ER图,ER图中包含了实体(即数据对象)、关系和属性3种基本成分。通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用无向边把实体(或关系)与其属性连接起来。图3.2所示为某学校教学管理的ER图。,4实体关系图的符号,3.1 概述 3.2 与用户沟通的方法 3.3 分析建模与规格说明 3.4 实体关系图 3.5 数据流图 3.6 状态转换图

12、 3.7 数据字典 3.8 结构化分析实例,第三章:结构化分析,如图3.3(a)所示,数据流图有4种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。,3.5.1 数据流图符号,图3.3 数据流图的符号,例子见word文档:第三章:例一,1为数据流(或数据存储)命名 名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。 不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息” 之类)。 如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图

13、分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。,3.5.3 命名,2为处理命名 通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。 名字应该反映整个处理的功能,而不是它的一部分功能。 名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用,“加工”、“处理”等空洞笼统的动词作为名字。 通常名字中仅包括一个动词。如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。 如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。,3.1 概述 3.2 与用户沟通

14、的方法 3.3 分析建模与规格说明 3.4 实体关系图 3.5 数据流图 3.6 状态转换图 3.7 数据字典 3.8 结构化分析实例,第三章:结构化分析,状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。 在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。,3.6.1 状态,状态图既可以表示系统循环动作过程,也可以表示系统单程生命期。当描绘循环运行过程时,通常并不关心循环是怎样启动的。当描绘单程生命期时,需要标明初始状态(系统启动时进入初始状态)和最终状态(系

15、统运行结束时到达最终状态)。,事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。例如,内部时钟表明某个规定的时间段已经过去,用户移动鼠标、点击鼠标等都是事件。简而言之,事件就是引起系统做动作或(和)转换状态的控制信息。,3.6.2 事件,在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分也是可选的。,3.6.3 符号,图3.4 状态图中使用的主要

16、符号,为了具体说明怎样用状态图建立系统的行为模型,下面举一个例子。图3.8所示为人们非常熟悉的电话系统的状态图。图中表明,没人打电话时电话处于闲置状态;有人拿起听筒则进入拨号音状态,这时电话的行为是响起拨号音并计时;如果拿起听筒的人改变主意不想打电话了,他把听筒放下(挂断),电话重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入超时状态,3.6.4 例子,图3.5 电话系统的状态图,3.1 概述 3.2 与用户沟通的方法 3.3 分析建模与规格说明 3.4 实体关系图 3.5 数据流图 3.6 状态转换图 3.7 数据字典 3.8 结构化分析实例,第三章:结构化分析,数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的定义,从而使得用户和系统分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解。简

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号