软件工程需求分析课件_第1页
软件工程需求分析课件_第2页
软件工程需求分析课件_第3页
软件工程需求分析课件_第4页
软件工程需求分析课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程导论 李玉蓉leanna 2 需求分析 本节问题 需求分析要做什么 需求分析得到的结果以何种形式表示 传统方法学中有哪些方法 工具供需求分析使用 如何有效获取需求 需求分析为什么重要 3 需求分析 本节内容 需求分析概述需求分析的任务分析建模与规格说明数据流图状态转换图数据字典其它图形工具验证需求 4 需求分析概述 结构化分析方法中需求分析阶段建立的文档 图 表入下 用户需求说明书需求规格说明书数据模型功能模型行为模型数据字典 以书面形式描述用户的需求 以书面形式描述软件的需求 是需求分析阶段最主要的文档 5 需求分析的任务 需求分析的任务还不是确定系统怎样完成它的工作 而仅仅是确定系统必须完成哪些工作 也就是对目标系统提出完整 准确 清晰 具体的要求 一般说来 需求分析的任务包括下述几方面 1 确定对系统的综合要求对系统的综合要求主要有 功能需求 性能需求 运行需求 将来可能提出的需求 6 2 分析系统的数据要求3 导出系统的逻辑模型 数据流图 实体 联系图 状态转换图 数据字典 算法流程等4 修正系统开发计划 任何一个软件系统本质上都是信息处理系统 系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌 对软件设计有深远影响 因此分析系统的数据要求是软件需求分析的一个重要任务 根据分析过程中获得的对系统的更深入更具体的了解 可以比较准确地估计系统的成本和进度 修正以前制定的开发计划 7 分析建模与规格说明 为什么要建立模型 模型种类数据模型 E R图功能模型 数据流图行为模型 状态转换图数据字典 描述出现在上面三种模型中的数据对象及控制信息的特性 给出准确定义 模型就是为了理解事物而对事物做出的一种抽象 是对事物的一种无歧义的书面描述 8 系统流程图 1 一 系统流程图的作用1 系统流程图是以特定的图形符号描述系统物理模型的工具 2 它从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况 3 它能帮助开发人员与用户之间实现信息的交流 9 系统流程图 2 二 系统流程图画法1 按照具体的业务流程 采用规定的基本符号依次进行描述 2 对于复杂的系统 一般采用分层次的描绘 首先用一张高层次系统流程图描绘系统概貌 表明系统关键功能 然后分别把每个关键功能扩展到适当的详细程度 分别画出来 3 绘制完整的系统的流程图 三 系统流程图中的基本符号 见下页 10 系统流程图 3 11 教材购销系统 主要功能根据学校的教学计划 向选课的学生及时供应所需教材 审查学生购书单有效性 对有效书单发售教材 对属于计划供应但暂时缺货的教材进行登记根据缺书登记补充采购所缺的教材 通知学生补购 将缺书登记表汇总为待购教材计划 待购教材到货后 及时通知学生补购 12 系统流程图 4 13 系统流程图 5 14 数据流图 1 一 数据流图的作用1 数据流图简称DFD DataFlowDiagram 图 它是以特定的图形符号描述系统逻辑模型的工具 2 它从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的过程 3 它是开发人员与用户之间交流信息的通信工具 4 它也是系统分析与系统设计的工具 15 数据流图 2 二 数据流图与系统流程图的区别 16 数据流图 3 17 数据流图 4 四 系统流程图转换为数据流图的方法1 删去系统流程图中如下部分 1 除去可以作为源点和终点外的其它实体 2 人工操作的部分 3 物流部分 2 将系统流程图中其他部分转化为数据流图的对应部分 1 系统流程图中的单据 文档 对应数据流图中的数据流 2 系统流程图中的联机存储 对应数据流图中的文件 3 系统流程图中的联机加工 对应数据流图中的加工 对应的符号也发生变化 3 修改 补充 完善数据流图 18 例 教材销售 系统流程图 19 例 教材销售 系统流程图 20 例 教材销售系统 数据流图 21 数据流图的层次结构 为了表达数据处理过程的数据加工情况 需要采用层次结构的数据流图 按照系统的层次结构进行逐步分解 并以分层的数据流图反映这种结构关系 能清楚地表达和容易理解整个系统 22 分层的数据流图 23 在多层数据流图中 顶层流图仅包含一个加工 它代表被开发系统 它的输入流是该系统的输入数据 输出流是系统所有输出数据底层流图是指其加工不需再做分解的数据流图 它处在最底层中间层流图则表示对其上层父图的细化 它的每一加工可能继续细化 形成子图 24 简单例子 订货系统 一家工厂的采购部每天需要一张订货报表 报表按零件编号排序 表中列出所有需要再次定货的零件 对于需要再次订货的零件应该列出编号 名称 数量 价格 主要供应商等内容 零件的出入库称为事务 通过放在库房的CRT终端把事务报告给订货系统 当某种零件的库存量少于库存临界值时就应该再次订货 25 对本例来说念完第一遍应该确定 用心去读 采购部或者采购员是外部实体 数据汇点 它的输入数据流是订货报表 CRT终端或者仓库管理员是外部实体 数据源点 它的输出数据流是事务 26 订货系统的基本系统模型 突出表明了数据的原点和终点 27 一家工厂的采购部每天需要一张订货报表 报表按零件编号排序 表中列出所有需要再次定货的零件 对于需要再次订货的零件应该列出编号 名称 数量 价格 主要供应商等内容 零件的出入库称为事务 通过放在库房的CRT终端把事务报告给订货系统 当某种零件的库存量少于库存临界值时就应该再次订货 28 再次阅读可知 事务有类型 需要根据不同情况处理 处理事务对各类事务要更改库存信息 对出库事务当库存量少于临界值时 要产生订货信息 订货信息不同于订货报表 报表要有严格的格式 产生报表 29 修改完善后的第一层数据流图 30 接下来的细化因人而异 就是说允许不同 分为三个处理 各处理间的数据流比较简单 事务来了应该先接收 再按类别更新库存清单 最后对更新后库存量少于临界值的产生订货 31 32 底层数据流图 33 数据流图画法总结 先找出数据源点和汇点 它们是外部实体 由它们确定系统与外界的接口 找出外部实体的输出数据流与输入数据流 画出顶层数据流图 从顶层加工出发 逐步细化 画出所需子图 34 数据流图画法总结 分析系统的主要处理功能 把每一个处理功能作为一个加工 并且确定它们之间的数据流入 流出关系 画出第一层数据流图 对流图中的每个加工进行细化 画出所需的子图 直到加工不需再分解为止 按照前面给出原则检查和修改每一层数据流图和子图 35 数据流图上所有图形符号只限于前述四种基本图形元素 数据流图的主图上的数据流必须封闭在外部实体之间 每个加工至少有一个输入数据流和一个输出数据流 初画时可以忽略琐碎的细节 以集中精力于主要数据流 分层法绘制流程图的注意事项 36 在数据流图中 需按层给加工框编号 编号表明该加工所处层次及上下层的亲子关系 规定任何一个数据流子图必须与它上一层的一个加工对应 两者的输入数据流和输出数据流必须一致 此即父图与子图的平衡 细化时应该注意 不能添加和丢失输入 输出数据流 37 图上每个元素都必须有名字数据流图中不可夹带控制流 38 状态转换图 状态转换图与数据流图 数据流图描绘数据在软件中的流动和被处理情况 状态转换图描绘系统的状态及引起系统状态转换的事件 来表示系统的行为 数据流图是功能模型 状态转换图是行为模型 39 数据流图是由数据驱动的 即系统每中一个处理都是对输入数据流的加工 变换 目标是产生输出流 输出数据 它描绘了系统的静态特性 状态转换图是由事件驱动的 它描绘了系统的动态的行为特性 系统响应事件 随着时间的不同而处于不同的状态 40 状态转换图状态 系统的行为模式 初态 终态 中间状态 事件 控制系统状态变化和 或 执行功能的信息 对外部事件的抽象 符号 初态只能有一个 终态可以有0至多个 一个状态代表系统的一种行为模式 状态规定了系统对事件的响应方式 系统对事件的响应 既可以是做一个 或一系列 动作 也可以是仅仅改变系统本身的状态 还可以是既改变状态又做动作 41 42 状态图中使用的主要符号 43 状态图可以表示系统循环运行过程 也可以表示系统单程生命期 当描绘循环运行过程时 通常并不关心循环是怎样启动的 当描绘单程生命期时 需要表明初始状态和最终状态 44 例题 办公室复印机的工作过程大致如下 未接到复印命令时处于闲置状态 一旦接到复印命令则进入复印状态 完成一个复印命令规定的工作后又回到闲置状态 等待下一个复印命令 如果执行复印命令时发现缺纸 则进入缺纸状态 发出警告 等待装纸 装满纸后进入闲置状态 准备接受复印命令 如果复印时发生卡纸故障 则进入卡纸状态 发出警告等待维修人员排除故障 故障排除后回到闲置状态 45 46 数据字典描述内容包括 数据流图 状态转换图 E R图中的数据信息 数据流 数据存储 外部实体 控制信息 事件 等 不包括处理 采用半形式化手段 包含如下信息 名字 别名 使用地点和方式 内容描述 补充信息等 通常作为CASE 结构化分析与设计工具 的一部分实现 数据字典 是关于数据的信息的集合 也就是对数据流图中包含的所有元素的定义的集合 47 数据元素的组合方式顺序 即以确定的次序连接两个或多个分量 例 A B选择 即从两个或多个可能的元素中选取一个 例 A B 重复 即把指定的分量重复零次或多次 例 1 A 5可选 即一个分量是可有可无的 重复零次或一次 例 A 48 例题 某程序设计语言规定 用户说明的标识符是长度不超过8个字符的字符串 其中第一个字符必须是字母字符 随后的字符既可以是字母字符也可以是数字字符 使用上面讲过的符号 我们可以像下面那样定义标识符 标识符 字母字符 字母数字串字母数字串 0 字母或数字 7字母或数字 字母字符 数字字符 由于和项目有关的人都知道字母字符和数字字符的含义 因此 关于标识符的定义分解到这种程度就可以结束了 49 名字 订货报表别名 订货信息描述 每天一次送给采购员的需要订货的零件表定义 订货报表 零件编号 零件名称 订货数量 目前的价格 主要供应者 次要供应者位置 输出到打印机 名字 零件编号别名 描述 唯一的表示库存清单中一个特定零件的关键域定义 零件编号 8 字符 8位置 订货报表订货信息库存清单 例子 50 数据字典的实现有 全人工过程 全自动化过程 混合过程 无论采用那种实现都应有如下特点 1 通过名字可方便查阅 2 没有冗余3 尽量不重复在规格说明书的其它组成部分中已经出现的信息 4 容易修改更新 可单独处理每个数据元素的信息 5 定义的书写方法简单方便而且严格 51 数据字典的用途 1 数据字典是描述数据流图中数据的信息的集合 2 它对数据流图中的有关成分说明 是什么或做什么 在何处或来自何处 去向何处 何时出现 时间长短 等问题 3 对用户来讲 数据字典为他们提供了数据的明确定义 4 对系统分析员来讲 数据字典帮助他们比较容易修改已建立的系统逻辑模型 52 其它图形工具 IPO表 输入 处理 输出表描述出现在数据流图中的处理在需求分析阶段建立 简略描述处理的基本算法流程在设计阶段补充 53 调用本模块的模块清单 被本模块调用的模块清单 本模块使用的局部元素 数据流图中的各个处理 也可以简略描述系统的主要算法 54 验证需求 需求分析阶段的工作结果是开发软件系统的重要基础 大量统计数字表明 软件系统中15 的错误起源于错误的需求 为了提高软件质量 确保软件开发成功 降低软件开发成本 一旦对目标系统提出一组要求之后 必须严格验证这些需求的正确性 一般说来 应该从下述4个方面进行验证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论