《软件工程3ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程3ppt课件.ppt(44页珍藏版)》请在三一文库上搜索。
1、软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 第3章 结构化分析 面向数据流的需求分析方法 3.1 需求分析概述 3.2 需求建模 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 需求分析是发现、求精、建模、规格说明和复审的过程。 需求分析的任务(过程): 与用户沟通的途径: 访谈(参考人工操作过程)、参考类似系统、快速原型技术 需求分类: 功能需求(系统必须提供的服务);性能需求(系统必须满足的约束); 可靠性和可用性需求(定量地指定系统的可靠性;量化用户可以使用系 统的程度);出错处理
2、需求(系统对环境错误应该如何响应); 接口需求(系统与其它环境通信的格式); 设计约束(设计或实现系统时应遵守的限制条件); 逆向需求(说明软件系统不应该做什么) 1准确了解用户情况和需要解决的问题: 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 需求分析的任务(过程): 2对需求反复求精和细化: 得出对目标系统完整、准确和具体的要求 4编制需求规格说明书 5进行需求分析的评审 3需求建模: 对上述获得的需求做出抽象、即进行无歧义的书面描述。 模型是为了理解事物而对事物做出的一种抽象,是对事物的一 种无歧义的书面描述;通常,模型由一组图形符
3、号和组织这些 符号的规则组成。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 3.2.1 结构化分析技术 3.2.2 分析模型和规格说明 3.2.3 实体关系图 3.2.4 数据流图(DFD) 例1:功能模型-机票预订 3.2.5 状态转换图 例2:行为模型-电话系统状态图 3.2.6 数据字典 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 结构化分析模型的结构 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 1.数据字典(分析模型的核
4、心):描述软件使用或产生的所 有数据对象。围绕着这个核心有三种不同的图。 2.实体一关系图(数据模型):描述数据对象及之间的关系 3.数据流图(功能模型): (1)指出当数据在软件系统中移动时怎样被变换; (2)描绘处理数据流的功能和子功能。 结构化分析模型的组成内容: 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 4.状态转换图(行为模型):指明了作为外部事件结果的系 统行为。状态转换图描绘了系统的各种行为模式(称为“状 态”)和在不同状态间转换的方式。 软件需求规格说明的框架 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与
5、工程学院信息科学与工程学院 卢卢 莹莹 实体关系图描述数据对象、数据对象之间的联系, 是数据库设计的工具之一。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 实体关系图包含三种相互关联的信息: 例:“教学管理信息系统”中的教师、学生、课程等都是数据对象 (2)数据对象的属性:定义了数据对象的性质 例:学生的属性:学号、姓名、性别、出生时间、所在系 (1)数据对象(实体):软件必须理解的信息 (3)数据对象之间的相互关系:数据对象间相互联系的方式 一对一联系(1:1):部门与经理 一对多联系(1:N):教师与课程 多对多联系(M:N):学生与
6、课程 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 实体关系图(ER图)中的图形符号: (图3.2) (1)矩形框:表示数据对象(实体) (2)圆角矩形框或椭圆框:表示属性 (3)菱形框:表示关系 (4)无向边 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例:某工厂库存管理的E-R模型 实体之间的联系: 一个仓库可存放多种零件,一种零件可存放在多个仓库中: 仓库和零件具有多对多联系 一个仓库有多个职工当管理员,一个职工只能在一个仓库工作: 仓库与职工之间是一对多联系 库存量 仓库职工
7、零件 库存 工作 n m 1n 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 库存量 仓库职工 零件 库存 工作 n m 1n 仓库号职工号电话号 零件号 面积姓名年龄 职称 规格描述 名称单价 完整的实体-联系图 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 数据流图(Data Flow Diagram,DFD) 是一种用于功能建模的图形化技术,它描述系统中的信 息流或数据从输入移动到输出的过程中所经受的变换。 功能建模的基本思想: 按照软件内部数据传递、变换关系,自顶向下逐层分解 软
8、件的功能,建立软件系统的逻辑模型。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 1. 数据流图中的基本符号(图3.3) 处理(系统的功能或子功能) 外部实体(输入数据的源点或输出数据的终点) 数据流(系统中的动态数据) 数据存储(系统中的静态数据) 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例:一张简单的数据流图: 数据流X从源点S流出被加工P1变换成数据流Y,加工 P1执行时要访问数据存储F;数据流Y又被加工P2变换 成数据流Z。 软件工程概论教程软件工程概论教程 常州大学常州大
9、学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例:储户到银行取款的数据流图 储户 检验 取款单 储户 存折 登记 2.1 清单 取款 信息 存折 账卡 检验出问题 付款 2.2 付款 信息 检验 1 帐户信息 帐户 更新 存折 更新 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 2. 数据流图的画法步骤: 自外向内,自顶向下,逐层细化,逐步求精 画顶层数据流图: 包括系统的输入数据流和输出数据流、系统的源点 和终点、一个处理(代表系统)。 画分层数据流图: 按功能将一个处理逐步细化成若干处理;最低层 数据流图中的处理称为“原子处理”,
10、表示独立的功能。 顶层DFD表示系统的范围,以及它和外界的数据交换关系。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 画数据流图的注意事项: 每个处理至少有一个输入数据流和一个输出数据流。 数据流图的细化过程中,要保持信息的连续性 当把一个处理分解为一系列处理时,分解前和分解后 的输入/输出数据流必须相同 图中每个元素都要命名。 给加工合理编号。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 画分层数据流图的过程 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息
11、科学与工程学院 卢卢 莹莹 数据流图的绘制步骤 (1)顶层DFD: 确定整个系统的输入数据流及其源点、输出数据流及其 终点;把整个系统作为一个处理(加工)。 (2)一层DFD: 确定系统的主要处理功能,按此将整个系统(顶层DFD中 的处理)分解成若干个处理(加工),确定每个处理的 输入与输出数据流以及与这些处理有关的数据存储。 (3)根据自顶向下,逐层分解的原则,对上层图中全部或部 分处理进行分解。 (4)重复步骤(3),直到逐层分解结束。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例:图书预订系统的功能为: 顾客将图书订单交由系统处理
12、,系统首先依据图书 目录对订单进行检查并对合格订单进行处理,处理过程 中根据顾客情况和订单数目将订单分为优先订单与常规 订单两种,随时处理优先订单,定期处理常规订单。最 后系统根据所处理的订单汇总,并按出版社要求发给出 版社。 画出图书预订系统的各层数据流图。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 顶层DFD: 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 一层DFD: 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 二层DFD
13、: 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 数据字典是为了描述在结构化分析过程中定义的对象的 内容,而使用的一种半形式化的工具。 数据字典是所有与系统相关的数据元素的有组织的列表, 并且包含了对这些数据元素的精确、严格的定义,从而 使得用户和系统分析员双方对输入、输出、存储的成分 甚至中间计算结果有共同的理解。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 (1)数据字典的作用: 用于描述结构化分析过程中定义的对象。 确保开发人员使用统一的数据定义。 数据字典中定义的内容是系统设计
14、、系统实施与维护的 重要依据。 (2)数据字典的内容: 包括以下元素的定义: 数据流及数据项、数据存储、处理 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 (3)数据字典的定义包括以下内容: 一般信息(名字、别名、描述) 定义或内容描述(数据类型、长度、结构 ) 使用地点与方式(输入/输出/本地/外部等) 控制信息(来源、用户、修改权、使用权) 其它信息(父结构、从属结构、 物理位置文件、数据库) 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例:定货管理系统的部分数据字典: 软件工程概
15、论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 (4)数据字典中数据元素的描述: 数据流或数据存储由数据项组成,组成方式有以下 四种类型: 顺序:符号+ l作用:以确定次序连接两个或多个分量 例:取款单帐号+户名+密码+储蓄类型+收支记录 选择:符号 和 l作用:从两个或多个可能的元素中选择一个(即从 方括弧内列出的若干个分量中选择一个,用“” 号分开供选择的分量) 例:储蓄类型123 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 可选:符号( ) l作用:圆括号中的分量可有可无 例:运动员=(队名
16、)+号码+姓名+1项目名3 重复:符号m n或 l作用:将指定分量重复若干次(即,重复花括弧内的分量) 例:发票记录1货名+数量+单价+总价5 例:收支记录=1日期+摘要+存取金额+余额+操作员+备注n m n 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例1:某种程序设计语言规定,用户说明的标识符是长度 不超过8个字符的字符串,第一个字符必须是字母, 其它字符既可以是字母也可以是数字。标识符命名 规则可定义如下: 标识符 = 字母字符 + 字母数字串 字母数字串 = 0字母或数字7 字母或数字 = 字母字符数字字符 软件工程概论教程软件
17、工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例2:数据流 “发票”由“编号”和1至5个“发票行”组成, 而每个“发票行”又由“货名”、“数量”、“单价” 和“总价”组成,则数据词典中的发票”条目是: 也可将发票”条目表示如下: 发票 = 编号+货名 + 数量 + 单价 + 总价15 或 发票 = 编号+1货名 + 数量 + 单价 + 总价5 发票 = 编号+ 1发票行5 发票行 = 货名 + 数量 + 单价 十 总价 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 在开发大型软件系统的过程中,数据字典的规模
18、和 复杂程度都迅速增加,通常需要使用CASE工具来创 建和维护数据字典 计算机辅助软件工程通常称为CASE(Computer Aided Software Engineering),是指为软件开发提供的一组 自动化的、集成的软件工具 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 1行为模型:描述系统的状态如何响应外部事件进行推移 (1)状态指任何可以被观察到的系统行为;一个状态代表系统 的一种行为模式。 状态规定了系统对事件的响应方式。系统对事件的响应,既 可以是做一个(或一系列)动作,也可以是仅仅改变系统本身 的状态。 (2)事件表示在某
19、个特定时刻发生的事情,它是对引起系统从一 个状态转换到另一个状态的外界事件的抽象。 事件是引起系统状态转换的控制信息。 例如,内部时钟指明某个规定的时间已经到达、鼠标点击 等都是事件 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 2.状态转换图的画法: 一个状态代表系统的一种行为模式 事件是引起系统状态转换的控制信息 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例、操作系统中一个进程的状态转换图 运行 发生中断 中断处理完毕 用完CPU 分到CPU 等待就绪 完成 结束 软件工程概论教
20、程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 复杂系统状态转换图的画法:先分层表示,再合并。 例:复印机工作流程分三种情况,用状态转换图描述: 闲置状态 复印状态 闲置状态 闲置状态 复印状态 装纸状态 闲置状态 复印状态 闲置状态 闲置状态 复印状态 诊断状态 闲置状态 复印状态 闲置状态 复印完成 复印命令 复印命令缺纸纸满 复印完成继续复印 复印命令出错 故障排除 复印完成继续复印 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 异常情况二之状态转换图: 开机 复印 复印完成 故障排除 出错 闲置
21、 复印 诊断 开机 复印完成 出错 故障排除 缺纸 纸满 复印 闲置 复印 诊断 装纸 完整的状态转换图: 开机 复印 复印完成 复印 闲置 正常情况状态转换图: 开机 复印 复印完成 缺纸 纸满 闲置 装 纸 复印 异常情况一之状态转换图: 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 例:使用DFD表示定货管理系统的功能 一家工厂的采购部每天需要一张定货报表,报表按 零件编号排序、列出所有需要再次定货的零件。对于需 要订货的零件列出其零件编号、零件名称、定货数量、 目前价格、主要供应者、次要供应者。零件入库或出库 称为事务,通过放在仓库
22、中的终端把事务报告给定货系 统。当某种零件的库存量少于临界值时就应该再次定货。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 第一步 顶层数据流图(基本系统模型): 源点:仓库管理员 终点:采购员 处理:定货系统 数据流:事务(从仓库管理员到系统);定货报表(从系统到采购员) 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 第二步 一层数据流图(功能级数据流图): 将顶层数据流图中的处理(定货系统)进行功能分解 处理事务和产生报表两部分; 考虑与处理有关的数据存储 库存清单和定货信息; 软
23、件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 第三步 二层数据流图: 将一层数据流图中的事务处理进一步分解为 接收事务,更新库存清单、处理定货三部分。 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 1结构化方法: 根据软件生存周期形成了一整套的结构化方法系列(结构 化分析、结构化设计和结构化实现) 结构化方法总的指导思想:自顶向下、逐步求精 结构化方法的基本原则:抽象和功能分解(分而治之)。 结构化方法围绕实现处理功能的“过程”来构造软件系统, 特别适合能够预先指定开发需求的系统 软件工程概论教程软件工程概论教程 常州大学常州大学信息科学与工程学院信息科学与工程学院 卢卢 莹莹 2结构化分析实质上是一种创建模型的活动: 通过需求分析而建立的分析模型必须达到下述的三个 基本目标: (1)描述用户的需求; (2)奠定软件设计的基础; (3)定义一组需求,一旦开发出软件产品之后,就可以 用这组需求作为软件测试的依据,并作为验收的标 准来验收该产品。
链接地址:https://www.31doc.com/p-3301825.html