软件工程课件第3章(6).ppt_第1页
软件工程课件第3章(6).ppt_第2页
软件工程课件第3章(6).ppt_第3页
软件工程课件第3章(6).ppt_第4页
软件工程课件第3章(6).ppt_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

软件工程 2020 3 10 2 第三章结构化分析 主要内容 第一节需求分析第二节实体 关系图 E R图 第三节数据流图第四节状态转换图第五节数据字典第六节其他具有结构化思想的需求分析方法附录 程序员的素质要求 2020 3 10 3 第一节需求分析 软件需求用户对目标系统在功能 行为 性能 设计约束等方面的要求需求分析发现 求精 建模 规格说明和复审的过程 任务 解决 做什么 的问题 不是解决 如何做 的问题需求分析的最终输出 需求规格说明书 2020 3 10 4 一 需求分析的任务 需求分析研究的对象软件项目的用户要求途径用户与分析员之间的通信与沟通如何沟通 1 访谈正式访谈非正式访谈2 简易的应用规格说明技术 2020 3 10 5 一 需求分析的任务 如何沟通 2 简易的应用规格说明技术开发者与用户不分彼此 发挥团队优势及时讨论和求精逐步导出规格说明3 软件原型它应该实现用户看得见的功能 例如屏幕显示或打印报表 省略目标系统的 隐含 功能 例如修改文件 要点原型要体现 快速 原型要 易于修改 2020 3 10 6 二 需求分析遵循的准则 1 必须理解和表示问题的信息域 根据这条准则应该建立数据模型2 必须定义软件应完成的功能 这条准则要求建立功能模型3 必须表示作为外部事件结果的软件行为 这条准则要求建立行为模型4 必须对描述信息 功能和行为的模型进行分解 用层次的方式展示细节5 分析过程应该从要素信息移向实现细节 2020 3 10 7 三 需求分析的主要步骤 1 调查研究调查用户需求 访谈或会谈是最早开始运用的获取用户需求的技术 也是迄今为止广泛使用的需求分析技术 调查研究的方法很多 如下述例子所采用的深耕法 今天早晨为什么发生一起机床停工事故 因为机床的密封圈漏油了 密封圈为什么会漏油 因为采购回来的密封圈质量不合格 为什么要采购质量不好的密封圈 因为价格低10 2020 3 10 8 三 需求分析的主要步骤 1 调查研究为什么这么小的差价还要采用质量不好的密封圈 因为采购人员的绩效是按照采购成本来评定的 所以 问题的根本是要改变采购人员的绩效评估标准 从而知道用户真正需要的是什么 2020 3 10 9 三 需求分析的主要步骤 2 创建分析模型描述用户的需求为软件设计工作奠定基础定义一组需求 作为验收产品的标准 2020 3 10 10 三 需求分析的主要步骤 核心 数据建模基础 功能建模基础 行为建模基础 2020 3 10 11 三 需求分析的主要步骤 3 书写文档 软件需求规格说明是本阶段的最终成果以文档的形式表现分析模型参照模板 2020 3 10 12 三 需求分析的主要步骤 4 需求分析评审需求分析的最后一步 也是软件工作者最容易忽视的一步 如果在评审过程中发现说明书中存在错误或缺陷 应及时重新进行相应的初步需求分析 修改需求规格说明书 并重新评审 以会议的形式进行 评审小组的人员构成 评审记录的重要性 2020 3 10 13 三 需求分析的主要步骤 4 需求分析评审评审的内容 正确性 需求规格说明书中对系统的功能 行为 性能描述必须符合用户对目标软件产品的期望 无歧义性 需求规格说明书中的语法单位只有唯一的解释 使用标准化术语是一种确保无歧义性的有效措施 完整性 需求规格说明书中不能遗漏用户需求 即目标软件产品的所有功能 行为 性能约束以及它在所有可能情况下的预期行为应该完全包含在需求规格说明书中 2020 3 10 14 三 需求分析的主要步骤 4 需求分析评审评审的内容 可验证性 需求规格说明书中的各类需求都应该存在技术和经济上的可行手段进行验证和确认 一致性 需求规格说明书中各部分不能存在矛盾 例如 术语使用方面的冲突 功能和行为特征方面的冲突 时序方面的前后不一致等 可理解性 用户设计人员和测试人员应该容易理解需求规格说明书中的描述 避免使用过多的专业词汇 2020 3 10 15 三 需求分析的主要步骤 4 需求分析评审评审的内容 可修改性 需求规格说明书中的格式和组织方式应能保证比较容易地接受后续的增 删和修改 并使修改后的说明书能够较好地保持其他各项属性 可追踪性 需求规格说明书必须能将分析后获得的每项需求与用户的原始需求清晰地联系起来 并为后续开发和其他文档引用这些需求项提供便利 2020 3 10 16 三 需求分析的主要步骤 4 需求分析评审管理层次的审查内容有 系统需求分阶段提供的文档资料是否齐全 与其他系统的重要接口是否都已描述 设计的约束或限制条件是否切合实际 被开发项目的数据流与数据结构是否足够 确定 开发的技术风险是什么 用户是否审查了初步用户手册 软件开发计划中的估算是否受到了影响等等 其中正确性在评审中受到普遍关注 2020 3 10 17 评审的组织 评审应由专门指定的人员负责 评审结束后应有评审负责人的结论意见及签字 分析员 用户 开发部门的管理者 软件设计 实现 测试人员都应当参加评审工作 评审可以采取会议的形式进行 首先 分析员要说明软件产品的总体目标 包括产品的主要功能 与环境的交互行为以及性能指标 2020 3 10 18 评审的组织 评审会议要对需求模型进行评估 以此决定该说明书能否成为良好的软件设计基础 评审会议还要就原始软件问题讨论除当前需求模型之外的其他解决问题的方案 并对各种影响软件设计和质量的因素进行折衷 决定说明书中采用的取舍是否合理 最后 评审会议应对软件的质量确认方法进行讨论 形成为用户和开发人员均能接受的各项测试指标 2020 3 10 19 第二节实体 关系图 数据建模必须明确的三大要素1 数据对象数据对象是指具有一系列不同性质或属性的事物 仅有单个值的事物 例如宽度 就不是数据对象2 描述数据对象的属性属性定义了数据对象的性质 应该根据对所要解决的问题的理解 来确定特定数据对象的一组合适的属性 2020 3 10 20 第二节实体 关系图 数据建模必须明确的三大要素3 关系数据对象彼此之间相互连接的方式称为关系或联系三种关系 一对一联系 1 1 一对多联系 1 N 多对多联系 M N 注 联系也可能有属性 2020 3 10 21 第二节实体 关系图 如何表示实体 关系图 E R图中包含了实体 即数据对象 关系和属性等三种基本成分 通常用矩形框代表实体 用连接相关实体的菱形框表示关系 用椭圆形或圆角矩形表示实体 或关系 的属性 并用无向边把实体 或关系 与其属性连接起来 2020 3 10 22 第二节实体 关系图 实例 学校教学管理E R图 2020 3 10 23 第二节实体 关系图 实例为仓库管理设计一个ER模型 仓库主要管理零件的采购和供应等事项 仓库根据需要向外面供应商订购零件 而许多工程项目需要仓库提供零件 2020 3 10 24 第二节实体 关系图 2020 3 10 25 2020 3 10 26 第三节数据流图 DFD 1 概念数据流图 DFD 从数据传递与加工的角度考虑问题 用图形的方式描绘数据从输入到输出的变换过程 只关心实现什么 不关心如何实现 2 数据流图符号数据流变换数据的处理 从输入数据到输出数据之间的转换 数据存储 文件 存放数据的地方 有写 读 读写几种方式 源点 终点 人员或组织 数据发源地及系统数据汇集地 2020 3 10 27 第三节数据流图 DFD 2 数据流图符号 或 或 或 数据的源点 汇点 变换数据的处理 数据存储 数据流 2020 3 10 28 第三节数据流图 DFD T A B C T A B C T A B C T A B C T A B C T A B C 2020 3 10 29 第三节数据流图 DFD 3 例子1假设一家工厂的采购部每天需要一张定货报表 报表按零件编号排序 表中列出所有需要再次定货的零件 对于每个需要再次定货的零件应该列出下述数据 零件编号 零件名称 定货数量 目前价格 主要供应者和次要供应者 零件入库或出库称为事务 通过放在仓库中的CRT终端把事务报告给定货系统 当某种零件的库存数量少于库存量临界值时就应该再次定货 目标系统是定货系统 2020 3 10 30 第三节数据流图 DFD 3 例子1分析数据流图的四种成分 其中数据的源点 终点 数据存储 数据流只可能是名词 处理是动词数据源点 终点回答问题 该系统从哪里得到数据 产生的数据给谁 处理如何得到源点的数据 如何给终点提供数据 数据流从源点得到的数据到底是什么 提供给终点的数据到底是什么 数据存储首先回答哪些数据必须存储 以待提取 2020 3 10 31 2020 3 10 32 第三节数据流图 DFD 3 例子1 基本系统模型 IPO 顶层DFD 2020 3 10 33 第三节数据流图 DFD 功能级数据流图 0层DFD 2020 3 10 34 第三节数据流图 DFD 处理事务 对处理事务的进一步分解 1层DFD 2020 3 10 35 第三节数据流图 DFD 3 例子2顾客将订票单交给预订系统 如果是不合法订票单 则输出无效订票信息 对合法的订票以及预交款要登录到一个记帐文本中 系统有航班目录文件 根据填写的旅行时间和目的地为旅客安排航班 在获得正确航班信息和确认已交了部分预付款时发出取票单 并记录到票单文件中 2020 3 10 36 第三节数据流图 DFD 3 例子2在指定日期内顾客用取票单换取机票 系统根据票单文件对取票单进行有效性检查 无效的输出无效取票信息 持有有效取票单的顾客在补交了剩余款后将获得机票 记帐文件将被更新 机票以及顾客信息将被登录到机票文件 2020 3 10 37 第三节数据流图 DFD 3 例子2目标系统是什么 机票处理系统分析四种成分数据源点 终点数据流处理数据存储 2020 3 10 38 第三节数据流图 DFD 3 例子2数据源点 终点 顾客数据流1 订票单 含订票信息 2 无效订票 信息 3 预交款4 航班信息旅行时间目的地 2020 3 10 39 第三节数据流图 DFD 3 例子2数据流5 取票单 含取票信息 6 无效取票 信息 7 剩余款8 机票9 机票信息10 顾客信息11 交款信息 2020 3 10 40 第三节数据流图 DFD 3 例子2处理预订检验订票单安排航班发取票单 票务 取票检验取票单出票更新记帐文件 记帐 2020 3 10 41 第三节数据流图 DFD 3 例子2数据存储记帐文本航班目录票单文件机票文件 2020 3 10 42 第三节数据流图 DFD 顾客 顾客 订票单 预交款 无效订票 取票单 取票单 剩余款 无效取票 机票 机票处理系统 顶层DFD 2020 3 10 43 第三节数据流图 DFD 顾客 顾客 订票单 预交款 无效订票 取票单 1 预订 2 取票 取票单 余款 无效取票 机票 D1 记帐文件 预交款 D2 航班目录 航班信息 D3 票单文件 取票信息 机票信息 预交款 交款信息 D4 机票文件 顾客信息 0层DFD 取票信息 2020 3 10 44 第三节数据流图 DFD 顾客 订票单 预交款 1 1 检验订票单 D1 记帐文件 预交款 D2 航班目录 航班信息 D3 票单文件 取票信息 1层DFD 对订票系统DFD的分解 1 2 航班安排 1 3 票务 订票信息 预交款 航班信息 无效订票 取票单 2020 3 10 45 第三节数据流图 DFD 1层DFD 对取票系统DFD的分解 2020 3 10 46 第三节数据流图 DFD 3 例子3考虑一个修改磁带上主文件的系统 文件管理员把修改信息穿孔在卡片上 系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好 然后逐个读入主文件上的记录 根据记录上的校验码校核每个读入的记录 丢掉出错的记录 按照修改信息修改余下的记录 产生的新文件存储在磁盘上 最后 系统印出一份修改报告供文件管理员参阅 2020 3 10 47 第三节数据流图 DFD 3 例子3系统名称 主文件修改系统DFD四大成分 数据源点 终点 文件管理员数据流 穿孔卡片修改信息主文件记录无错记录新文件记录修改日志修改报告 2020 3 10 48 第三节数据流图 DFD 3 例子3DFD四大成分 数据存储磁带主文件磁盘新文件修改日志处理读卡修改记录信息排序校核记录修改记录打印修改报告 2020 3 10 49 第三节数据流图 DFD 3 例子3 文件管理员 主文件修改系统 穿孔卡片 修改报告 顶层DFD 文件管理员 2020 3 10 50 第三节数据流图 DFD 0层DFD 2020 3 10 51 第三节数据流图 DFD 2020 3 10 52 第三节数据流图 DFD 4 画数据流图的注意点1 当某一数据处理已经只是简单实现一个功能时 就不必进一步分解了2 分层细化时要保持信息的连续性3 编号时要易于通过编号找到对应的层次关系 2020 3 10 53 第三节数据流图 DFD 5 命名1 为数据流 数据存储 命名名字应代表整个数据流 或数据存储 的内容 而不是仅仅反映它的某些成分不要纯粹使用空洞的 缺乏具体含义的名字 如 数据 信息 输入 之类 如果在为某个数据流 或数据存储 起名字时遇到了困难 则很可能是因为对数据流图分解不恰当造成的 应该试试重新分解 看是否能克服这个困难 2020 3 10 54 第三节数据流图 DFD 5 命名2 为处理命名通常先为数据流命名 然后再为与之相关联的处理命名名字应该反映整个处理的功能 而不是它的一部分功能名字最好由一个具体的及物动词 加上一个具体的宾语组成通常名字中仅包括一个动词 否则应该分解如果在为某个处理命名时遇到困难 则很可能是发现了分解不当的迹象 应考虑重新分解 2020 3 10 55 第三节数据流图 DFD 6 数据流图的优缺点优点 1 结构清晰 概念性强 有利于系统分析员理顺系统脉络 澄清含混的概念和逻辑2 容易被转换为低级别的设计缺点 1 可能会变得非常复杂 不易理解2 不能处理出错或意外情况3 不能描述过程的控制结构 选择 循环 2020 3 10 56 练习画数据流图 2020 3 10 57 第四节状态转换图 1 概念状态转换图 简称为状态图 通过描绘系统的状态及引起系统状态转换的事件 来表示系统的行为 2 如何画状态图用圆形框或椭圆框表示状态 通常在框内标上状态名在表示状态的框内用关键字do 后接 或 标明进入该状态时系统的行为 即所做的动作 从一个状态到另一个状态的转换用箭头线表示 箭头表明转换方向 箭头线上标上事件 引起状态转换的控制信息 名 初始状态用实心圆 最终状态用一对同心圆 2020 3 10 58 第四节状态转换图 状态1do 行为1 状态2do 行为2 初始事件 事件 条件1 结束事件 2020 3 10 59 第四节状态转换图 3 例子1电话系统状态转换图它是一个循环运行过程 所以不存在初始状态与结束状态 2020 3 10 60 2020 3 10 61 第四节状态转换图 3 例子2办公室的工作流程 未接到复印命令时处于闲置状态 一旦接收到复印命令则进入复印状态 完成一个复印命令规定的工作后又回到闲置状态 等待下一个复印命令 如果执行复印命令时发现缺纸 则进入缺纸状态 发出警告 等待装纸 装纸后进入闲置状态 准备接收复印命令 如果复印时发生卡纸故障 则进入卡纸状态 发出警告等待维修人员来排除故障 故障排除后回到闲置状态 2020 3 10 62 第四节状态转换图 3 例子2是循环运行还是单程生命期 共有几种可能的状态 闲置复印缺纸卡纸 2020 3 10 63 第四节状态转换图 2020 3 10 64 第四节状态转换图 3 例子3电梯的状态转换图共有几种可能的状态 初始首层上行下行闲置复位终止 2020 3 10 65 第四节状态转换图 2020 3 10 66 第五节数据字典 1 定义数据字典是所有与系统相关的数据元素的有组织的列表 并且包含了对这些数据元素的精确 严格的定义 从而使得用户和系统分析员双方对输入 输出 存储的成分甚至中间计算结果有共同的理解2 包含的内容名字数据 控制项 数据存储或外部实体的主要名称别名第一项中对象的其他名字 2020 3 10 67 第五节数据字典 2 包含的内容使用地点与方式使用数据或控制项的处理的列表 以及使用这些对象的方式 例如作为处理的输入 从处理输出 作为数据存储 作为外部实体 内容描述描述数据或控制项内容的符号 补充信息关于数据类型 预置值 限制等的其他信息 2020 3 10 68 第五节数据字典 3 定义数据的方法对数据自顶向下分解 当元素分解到每个与工程有关的人都清楚其含义时 分解就告结束三大结构顺序 a b选择 a b 重复 n a m 可选 属于 重复 a 2020 3 10 69 第五节数据字典 3 定义数据的方法例如 数据流 乘客名单 由若干 乘客姓名 单位名 和 等级 组成 则词典中的 乘客名单 条目是 乘客名单 乘客姓名 单位名 等级 某销售系统的订单文件 订单文件 订单编号 顾客名称 产品名称 订货数量 交货日期存款期 存款期 1 3 5 单位 年 2020 3 10 70 第五节数据字典 4 数据字典的实例 数据字典格式不唯一 1 定货报表 名字 定货报表别名 定货信息描述 每天一次送给采购员的需要定货的零件表定义 定货报表 零件编号 零件名称 定货数量 目前价格 主要供应者 次要供应者位置 输出到打印机 2020 3 10 71 第五节数据字典 4 数据字典的实例 数据字典格式不唯一 2 定货数量 名字 定货数量别名 无 描述 某个零件一次定货的数量定义 定货数量 1 数字 5位置 定货报表 定货信息 2020 3 10 72 第五节数据字典 4 数据字典的实例 数据字典格式不唯一 3 仓库库存量 名称 库存数量别名 无 描述 零件在库房的数量定义 库存数量 周期盘点数量 入库数量 出库数量限制 库存数量不能小于零 库存数量小于给定的最低水平或大于给定的最高水平时报警 2020 3 10 73 第五节数据字典 4 数据字典的实例 数据字典格式不唯一 4 某银行管理系统中 有个数据项名为 开户日期 它表示客户建立某个帐号的日期 1985年前有些单据上称它为 开始日期 但1986年后统一称为 开户日期 该数据项由 年 月 日 组成 共6位数字 由于银行是在1949年成立的 所以 年 必须大于或等于 49 字典条目 开户日期 中就应该将这些情况记录下来 见下页 2020 3 10 74 第五节数据字典 4 数据字典的实例 数据字典格式不唯一 4 数据字典 数据项名 开户日期简述 客户建立帐号的日期别名 开始日期组成 年 月 日值类型 6位数字注释 年 49 别名 开始日期类型 数据项基本名 开户日期简述 客户建立帐号的日期注释 1986年以后不再用此名 2020 3 10 75 第五节数据字典 4 数据字典的实例 数据字典格式不唯一 5 教材P43ex 6某高校电话号码类别校内电话 4位数字组成 第1位数字不是0校外电话 拨校外电话先拨0 如果是本地电话再接着拨8位电话号码 第1位不是0 如果是外地电话则先拨3位区号 再拨8位电话号码 第1位不是0 2020 3 10 76 第五节数据字典 4 数据字典的实例 数据字典格式不唯一 5 教材P43ex 6校内电话 1 2 3 4 5 6 7 8 9 3 0 1 2 3 4 5 6 7 8 9 3校外本地 0 1 2 3 4 5 6 7 8 9 7 0 1 2 3 4 5 6 7 8 9 7校外外地 0 3 0 1 2 3 4 5 6 7 8 9 3 1 2 3 4 5 6 7 8 9 7 0 1 2 3 4 5 6 7 8 9 7电话号码 校内电话 校外本地 校外外地 2020 3 10 77 第六节其他具有结构化思想的需求分析方法 一 层次框图 示例说明 2020 3 10 78 第六节其他具有结构化思想的需求分析方法 二 功能 过程分解图 铸钟厂生产系统 0级

温馨提示

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

评论

0/150

提交评论