软件工程03

上传人:ZJ****1 文档编号:58301370 上传时间:2018-10-28 格式:PPT 页数:44 大小:811KB
返回 下载 相关 举报
软件工程03_第1页
第1页 / 共44页
软件工程03_第2页
第2页 / 共44页
软件工程03_第3页
第3页 / 共44页
软件工程03_第4页
第4页 / 共44页
软件工程03_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《软件工程03》由会员分享,可在线阅读,更多相关《软件工程03(44页珍藏版)》请在金锄头文库上搜索。

1、,第3章 结构化分析,面向数据流的需求分析方法3.1 需求分析概述 3.2 需求建模,l需求分析是发现、求精、建模、规格说明和复审的过程。,l需求分析的任务(过程):,与用户沟通的途径:访谈(参考人工操作过程)、参考类似系统、快速原型技术需求分类:功能需求(系统必须提供的服务);性能需求(系统必须满足的约束);可靠性和可用性需求(定量地指定系统的可靠性;量化用户可以使用系统的程度);出错处理需求(系统对环境错误应该如何响应);接口需求(系统与其它环境通信的格式);设计约束(设计或实现系统时应遵守的限制条件);逆向需求(说明软件系统不应该做什么),1准确了解用户情况和需要解决的问题:,l需求分析

2、的任务(过程): 2对需求反复求精和细化:得出对目标系统完整、准确和具体的要求,4编制需求规格说明书,5进行需求分析的评审,3需求建模:对上述获得的需求做出抽象、即进行无歧义的书面描述。 l模型是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述;通常,模型由一组图形符号和组织这些符号的规则组成。,3.2.1 结构化分析技术 3.2.2 分析模型和规格说明 3.2.3 实体关系图 3.2.4 数据流图(DFD)例1:功能模型-机票预订 3.2.5 状态转换图例2:行为模型-电话系统状态图 3.2.6 数据字典,结构化分析模型的结构,1.数据字典(分析模型的核心):描述软件使用或

3、产生的所有数据对象。围绕着这个核心有三种不同的图。,2.实体一关系图(数据模型):描述数据对象及之间的关系,3.数据流图(功能模型):(1)指出当数据在软件系统中移动时怎样被变换;(2)描绘处理数据流的功能和子功能。,l结构化分析模型的组成内容:,4.状态转换图(行为模型):指明了作为外部事件结果的系统行为。状态转换图描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。,l软件需求规格说明的框架,l实体关系图描述数据对象、数据对象之间的联系,是数据库设计的工具之一。,l实体关系图包含三种相互关联的信息:,例:“教学管理信息系统”中的教师、学生、课程等都是数据对象,(2)数据对象的

4、属性:定义了数据对象的性质例:学生的属性:学号、姓名、性别、出生时间、所在系,(1)数据对象(实体):软件必须理解的信息,(3)数据对象之间的相互关系:数据对象间相互联系的方式一对一联系(1:1):部门与经理一对多联系(1:N):教师与课程多对多联系(M:N):学生与课程,l实体关系图(ER图)中的图形符号: (图3.2)(1)矩形框:表示数据对象(实体)(2)圆角矩形框或椭圆框:表示属性(3)菱形框:表示关系(4)无向边,例:某工厂库存管理的E-R模型l实体之间的联系:一个仓库可存放多种零件,一种零件可存放在多个仓库中:仓库和零件具有多对多联系一个仓库有多个职工当管理员,一个职工只能在一个仓

5、库工作:仓库与职工之间是一对多联系,l数据流图(Data Flow Diagram,DFD)是一种用于功能建模的图形化技术,它描述系统中的信息流或数据从输入移动到输出的过程中所经受的变换。,l功能建模的基本思想:按照软件内部数据传递、变换关系,自顶向下逐层分解软件的功能,建立软件系统的逻辑模型。,1. 数据流图中的基本符号(图3.3) 处理(系统的功能或子功能) 外部实体(输入数据的源点或输出数据的终点) 数据流(系统中的动态数据) 数据存储(系统中的静态数据),例:一张简单的数据流图:数据流X从源点S流出被加工P1变换成数据流Y,加工P1执行时要访问数据存储F;数据流Y又被加工P2变换成数据

6、流Z。,例:储户到银行取款的数据流图,2. 数据流图的画法步骤:自外向内,自顶向下,逐层细化,逐步求精, 画顶层数据流图:包括系统的输入数据流和输出数据流、系统的源点和终点、一个处理(代表系统)。, 画分层数据流图:按功能将一个处理逐步细化成若干处理;最低层数据流图中的处理称为“原子处理”,表示独立的功能。,顶层DFD表示系统的范围,以及它和外界的数据交换关系。,l画数据流图的注意事项:每个处理至少有一个输入数据流和一个输出数据流。数据流图的细化过程中,要保持信息的连续性当把一个处理分解为一系列处理时,分解前和分解后的输入/输出数据流必须相同图中每个元素都要命名。给加工合理编号。,画分层数据流

7、图的过程,l数据流图的绘制步骤(1)顶层DFD:确定整个系统的输入数据流及其源点、输出数据流及其终点;把整个系统作为一个处理(加工)。(2)一层DFD:确定系统的主要处理功能,按此将整个系统(顶层DFD中的处理)分解成若干个处理(加工),确定每个处理的输入与输出数据流以及与这些处理有关的数据存储。 (3)根据自顶向下,逐层分解的原则,对上层图中全部或部分处理进行分解。(4)重复步骤(3),直到逐层分解结束。,例:图书预订系统的功能为:顾客将图书订单交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为优先订单与常规订单两种,随时处理优先

8、订单,定期处理常规订单。最后系统根据所处理的订单汇总,并按出版社要求发给出版社。画出图书预订系统的各层数据流图。,顶层DFD:,一层DFD:,二层DFD:,数据字典是为了描述在结构化分析过程中定义的对象的内容,而使用的一种半形式化的工具。 数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的定义,从而使得用户和系统分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解。,(1)数据字典的作用:用于描述结构化分析过程中定义的对象。确保开发人员使用统一的数据定义。数据字典中定义的内容是系统设计、系统实施与维护的重要依据。,(2)数据字典的内容:l包括以下

9、元素的定义:数据流及数据项、数据存储、处理,(3)数据字典的定义包括以下内容:,一般信息(名字、别名、描述),定义或内容描述(数据类型、长度、结构),使用地点与方式(输入/输出/本地/外部等),控制信息(来源、用户、修改权、使用权),其它信息(父结构、从属结构、物理位置文件、数据库),例:定货管理系统的部分数据字典:,(4)数据字典中数据元素的描述:l 数据流或数据存储由数据项组成,组成方式有以下四种类型:顺序:符号+l作用:以确定次序连接两个或多个分量例:取款单帐号+户名+密码+储蓄类型+收支记录,选择:符号 和 l作用:从两个或多个可能的元素中选择一个(即从方括弧内列出的若干个分量中选择一

10、个,用“”号分开供选择的分量)例:储蓄类型123,可选:符号( )l作用:圆括号中的分量可有可无例:运动员=(队名)+号码+姓名+1项目名3,例1:某种程序设计语言规定,用户说明的标识符是长度不超过8个字符的字符串,第一个字符必须是字母,其它字符既可以是字母也可以是数字。标识符命名规则可定义如下:,标识符 = 字母字符 + 字母数字串 字母数字串 = 0字母或数字7 字母或数字 = 字母字符数字字符,例2:数据流 “发票”由“编号”和1至5个“发票行”组成,而每个“发票行”又由“货名”、“数量”、“单价”和“总价”组成,则数据词典中的发票”条目是:,也可将发票”条目表示如下:发票 = 编号+货

11、名 + 数量 + 单价 + 总价15 或 发票 = 编号+1货名 + 数量 + 单价 + 总价5,发票 = 编号+ 1发票行5 发票行 = 货名 + 数量 + 单价 十 总价,在开发大型软件系统的过程中,数据字典的规模和复杂程度都迅速增加,通常需要使用CASE工具来创建和维护数据字典 计算机辅助软件工程通常称为CASE(Computer AidedSoftware Engineering),是指为软件开发提供的一组自动化的、集成的软件工具,1行为模型:描述系统的状态如何响应外部事件进行推移,(1)状态指任何可以被观察到的系统行为;一个状态代表系统的一种行为模式。l状态规定了系统对事件的响应方式

12、。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态。,(2)事件表示在某个特定时刻发生的事情,它是对引起系统从一个状态转换到另一个状态的外界事件的抽象。l事件是引起系统状态转换的控制信息。例如,内部时钟指明某个规定的时间已经到达、鼠标点击等都是事件,2.状态转换图的画法:,l 一个状态代表系统的一种行为模式l 事件是引起系统状态转换的控制信息,例、操作系统中一个进程的状态转换图,l复杂系统状态转换图的画法:先分层表示,再合并。例:复印机工作流程分三种情况,用状态转换图描述:闲置状态 复印状态 闲置状态闲置状态 复印状态 装纸状态闲置状态 复印状态 闲置状态闲置状

13、态 复印状态 诊断状态闲置状态 复印状态 闲置状态,复印完成,复印命令,复印命令,缺纸,纸满,复印完成,继续复印,复印命令,出错,故障排除,复印完成,继续复印,例:使用DFD表示定货管理系统的功能一家工厂的采购部每天需要一张定货报表,报表按 零件编号排序、列出所有需要再次定货的零件。对于需 要订货的零件列出其零件编号、零件名称、定货数量、 目前价格、主要供应者、次要供应者。零件入库或出库 称为事务,通过放在仓库中的终端把事务报告给定货系 统。当某种零件的库存量少于临界值时就应该再次定货。,第一步 顶层数据流图(基本系统模型):源点:仓库管理员终点:采购员处理:定货系统数据流:事务(从仓库管理员

14、到系统);定货报表(从系统到采购员),第二步 一层数据流图(功能级数据流图):将顶层数据流图中的处理(定货系统)进行功能分解处理事务和产生报表两部分;考虑与处理有关的数据存储 库存清单和定货信息;,第三步 二层数据流图:将一层数据流图中的事务处理进一步分解为接收事务,更新库存清单、处理定货三部分。,1结构化方法:根据软件生存周期形成了一整套的结构化方法系列(结构化分析、结构化设计和结构化实现)l结构化方法总的指导思想:自顶向下、逐步求精l结构化方法的基本原则:抽象和功能分解(分而治之)。l结构化方法围绕实现处理功能的“过程”来构造软件系统,特别适合能够预先指定开发需求的系统,2结构化分析实质上是一种创建模型的活动:通过需求分析而建立的分析模型必须达到下述的三个基本目标:(1)描述用户的需求;(2)奠定软件设计的基础;(3)定义一组需求,一旦开发出软件产品之后,就可以用这组需求作为软件测试的依据,并作为验收的标准来验收该产品。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

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