




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章结构化分析 第一节结构化分析的主要工具第二节结构化分析方法的实现步骤第三节结构化分析规格说明书第四节结构化分析实例 1 第一节结构化分析的主要工具 结构化的分析方法是面向数据流的方法 因此 此方法研究的核心是数据的组成和数据流向和对数据的加工处理 为了能够准确 清晰地描述数据的流向人们使用数据流程图 为了明确地定义数据的组成和数据项的含义使用数据字典 为了对数据处理的描述使用IPO模块说明 2 1系统流程图 系统流程图是描述一个系统物理模型的图形工具 使用一些图形符号以黑盒子的形式描绘系统的每个部件 如设备 文件 数据库 程序 通讯和人工过程等 通常可以在需求调研阶段使用它来描绘用户当前系统的物理模型 需求分析时在物理模型的基础上获得系统的逻辑模型 在设计阶段根据系统的逻辑模型设计出新系统的物理模型 3 见讲义系统流程图的常见符号表 4 注意 系统流程图和程序流程图的区别 系统流程图是反映系统物理结构的概貌 它主要描绘信息在系统各个物理部件之间的流动情况 每个部件都是一个未打开的黑盒子 程序流程图是反映系统中具体模块或算法的处理过程 也可以理解为对打开的黑盒子中内容的描述 5 系统流程图有两个作用 一是可以用系统流程图描述系统的组成元素 二是用来描述信息在各个元素之间的流动情况 例如 我们可以在分析阶段用系统流程图展示当前系统的物理结构 将现系统的设备 接口 通讯等情况一一描绘出来 在设计阶段 将新系统的设备 接口 通讯以及软件元素也都描绘在系统流程图中 并且可以由此生成系统的软硬件初始配置清单 然后根据系统的运行环境要求和具体性能要求 投入成本等综合因素对软硬件设备进行具体选型 6 软件系统的物理模型应该反映软件元素在各个硬件元素上的分布 以及各个软硬件元素之间的信息通信 软件元素包括文件 数据库 模块等 硬件元素包括客户机 服务器 网络设备 通信设备 信息采集设备等 7 画系统流程图的步骤 首先找出可能的系统硬件元素 如果是人工系统则找出各个相关的业务部门或组织 接着寻找各个硬件元素上分布的软件元素 如果是人工系统则寻找各个部门或组织的职责 任务 然后 找出各个元素之间的通信或连接方式 最后仔细研究各个元素 对于比较复杂的软件元素需要描述主要处理步骤 不要过于详细 和信息流 如果是人工系统 需要对处理复杂的过程进行简要描述 对于硬件元素需要说明规格和型号 8 图书馆信息管理系统流程图 9 借还书部分的系统流程图实例 10 2数据流程图 数据流程图是描绘系统逻辑模型的图形工具 只描绘信息在系统中的流动和处理情况 不反映系统中的物理部件 数据流程图使用四个标准的基本符号 11 数据的源点或终点 数据的源点和终点可能是相同 为了保持图形的清晰 最好重复画一个相同的符号 将它们分别表示 源点和终点的名称直接写在图形符号里 12 处理 处理是数据流程图的核心 一个处理可以表示一个程序 一个模块 多个程序 也可以是人工处理过程 为了使系统清晰 便于管理 每个处理应该给予一个编号 这个编号与处理说明中的编号是对应的 非常便于查找 每个处理的名称写在图形符号中 使得数据流程图易于理解 13 数据流 数据流是在处理与数据存储 处理与数据源 数据终点 处理与处理之间流动的信息 通常在实际开发中 不提倡处理之间直接传递的数据流 最好是在处理之间经过数据存储来传递信息 这样系统的安全性会更好 数据流程图中的每个数据流都需要给予一个编号或名称 14 数据存储 数据存储是保存数据的地方 它可以是一个文件 一张数据库表 也可以是文件或数据库表的一部分 15 注意 数据流程图是描绘信息在系统中的流动和处理 在数据流程图中不能反映控制流 许多人画数据流程图时总是想加入分支判断或循环 这类控制性的流程属于程序流程图描绘的内容 不要放入数据流程图中 16 层次数据流图 17 注意 数据流程图上所有图形符号只限于前述四种基本图形元素 数据流程图必须包括前述四种基本元素 缺一不可 数据流程图上的数据流必须封闭在外部实体之间 每个加工至少有一个输入数据流和一个输出数据流 18 注意 在数据流程图中 需按层给加工框编号 编号表明该加工所处层次及上下层的亲子关系 一个数据流子图必须与它上一层的一个加工对应 两者的输入数据流和输出数据流必须一致 数据流程图上每个元素都必须有名字和编号 数据流图中不可夹带控制流 初画时可以忽略琐碎的细节 以集中精力于主要数据流 然后通过不断细化添加必要的细节 19 3数据字典 在结构化分析时所定义的数据字典 主要用来描述数据流程图中的数据流 数据存储 处理过程和外部实体 数据字典中所有的定义必须是严密的 精确的 无二义性的 数据字典把数据的最小组成单位看成是数据元素或者叫做基本数据项 若干个数据元素可以组成一个数据结构也叫做组合数据项 20 数据流词条的定义 数据流是数据结构在系统内的传播路径 一个数据流词条的主要内容如下 数据流名称 给数据流起一个有意义的名称 编号 与数据流图中的编号相对应 说明 简要介绍它的作用数据流来源 来自哪里数据流去向 流向哪里数据流组成 数据结构数据流量和数据量 流通量 数据量 21 数据元素词条的定义 数据元素是数据处理中最小的 不可再分解的单位 它直接反映事物某个属性 它的描述如下 数据元素名称 给数据元素起一个有意义的名称 便于交流和记忆 简称 数据元素的简称可以作为数据元素在程序中的名称 类型 数据元素的类型 例如 字符型 数字型 布尔型等 22 长度 数据元素的长度 例如 身份证号的长度18位 取值范围 数据元素的取值范围 例如 职工年龄的去值范围定义为18至60岁 表示为18 60 初始值 数据元素的初始值 例如 为了操作简便 软件定义借书日期的初始值默认为系统的当前日期 相关的数据元素及数据结构 如果一个数据元素有相关的数据元素和数据结构可在此说明 23 数据存储词条的定义 数据文件是保存数据的载体 数据文件的描述格式如下 名称 给数据存储起一个有意义的名称 编号 数据存储在数据流图中的编号 简述 简单描述数据存储的作用 数据存储的组成 数据结构 存储方式 文件 数据库表访问频率 该数据存储的访问频率 用于数据设计时考虑优化 24 数据加工处理词条的定义 数据的加工处理描述比较复杂 对它的具体描述一般用专门的工具 例如 IPO图 结构化英语 判定表等 在数据字典中一般只列出数据加工处理的名称和编号 例如 借书处理 编号 IPO1001 分析和设计人员能够用编号找到IPO1001 获得详细的描述 25 数据源点及终点词条的定义 数据源点和终点的描述内容 名称 数据源点或终点的名称 可以是一个组织 一个部门或一个外部系统等等 简要说明 简单描述数据源点或终点在系统中的作用和地位 对系统的影响和要求 有关的数据流 与该点有关的输入和输出数据流 26 数据流 数据存储字典表 27 图书基本信息的数据字典 28 4IPO图 数据流程图中的加工处理本应该放在数据字典中进行定义 但是由于处理与数据是有一定区别的两类事物 它们各自有独立的描述格式 因此在实际项目中通常将处理说明用另外的格式描述 下面是项目中常用的加工处理说明模板 29 加工处理说明表 30 5层次方框图 层次方框图这种工具应用非常普遍 它不仅可以反映系统的功能组成关系 也可以反映现实世界中的信息组成关系 如果严格按照结构化方法的步骤进行的话 功能层次方框图应该是在概要设计阶段由数据流程图转化而来的软件结构图 在需求分析阶段可以将层次方框图用于帮助理解和分析现实世界的数据关系 31 层次方框图是种树形结构 树上的每个节点都是一个方框 如果是软件功能结构方框图 则每个方框表示一个功能模块 例如图所示 功能A由子功能B C D实现 其中功能C由E和F子功能实现 而功能F又由子功能G H I J实现 32 33 6实体 关系图 需求分析的一项重要任务是弄清系统将要处理的数据和数据之间的关系 主要内容包括 要处理的主要数据对象是什么 每个数据对象的组成如何 这些对象当前位于何处 每个对象与其他对象有哪些关系 对象和变换它们的处理之间有哪些关系 为回答这些问题 在结构化需求分析方法中使用实体 关系图 实体 关系图最初是由PeterChen CHE77 为关系数据库系统的设计提出的 并被其他人进行了扩展 它给出了一组基本的构件 数据对象 属性 关系和各种类型指示符 主要目的是表示数据对象及其关系 34 7状态 变迁图 状态 变迁图在需求分析阶段用于描述系统的行为 传统的结构化分析方法中没有这个工具 只有结构化分析的扩展版本才提供 状态 变迁图通过描述系统状态以及导致系统改变状态的事件来表示系统的行为 并不是所有的系统需求分析都要做状态 变迁图 只有当系统行为模式变化比较复杂的情况下才使用 35 状态是可观察的行为模式 例如 在图书馆信息管理系统中 图书的状态有 正在采购中 正在编辑中 在书库中 借出 注销 在状态 变迁图中 矩形代表状态 箭头代表状态间的 变迁 每个箭头用规则表达式标记 箭头上方指明导致变迁发生的事件 箭头下方指明此事件引发的行为 例如 当图书 在书库中 状态下 发生 借书 事件 引发系统的 借书处理 行为 导致图书变为 借出 状态 36 第二节结构化分析方法实现步骤 任务1 确定系统的功能要求2 确定系统的数据要求3 确定系统的操作要求和界面要求4 确定系统的性能要求5 确定系统的运行要求6 获得当前系统的物理模型7 抽象出当前系统的逻辑模型8 建立目标系统的逻辑模型 9 修正开发计划10 如果需要则开发系统原型 37 结构化分析的原则 原则一 必须要理解问题的数据域和功能域 事实上一个软件从外部可以将其看成是一个黑盒子 信息从一端流入 从另一端流出 信息的变化就是软件的功能所为 计算机程序所处理的数据域的描述不外乎就是 数据内容 数据结构和数据流 数据内容就是数据项 数据结构就是数据项的组织形式 数据流是数据通过系统时的变化方式 在需求分析阶段的功能描述通常是用文字说明要 做什么 不必具体展开怎样做 38 原则二 按自顶向下 逐层分解的方式对问题进行分解和细化 如果将一个要解决的问题不拆开分析 而是从整体上考虑解决方案通常是困难的 特别是一些复杂的问题 如果将其分解成一个个小的 容易控制和理解的子问题 除了便于理解 还可以将子问题划分给不同的小组 分别完成 然后在装配起来形成一个完成的系统 最重要的是通过拆分 可以使软件开发走向组件开发的道路 因为划分的小问题中有些是常见问题 有些是特殊问题 对常见问题可以重用已有的软件构件 开发人员只对特殊问题提供解决方案 这样不仅提高软件开发的效率 更主要的是使软件开发向着 工程化 方向迈进 39 横向分解 40 纵向分解 41 结构化分析方法具体实现步骤 1 信息分析 根据用户的需求画出初始的数据流程图 写出数据字典和初始的加工处理说明 因为 初始的数据流程图还要进行修改 随着需求分析的深入 数据流程图的修改量很大 所以 开始时的说明不要涉及太多的细节 以免不必要的返工 42 2 回溯 以初始数据流程图为基础 从数据流程图的输出端开始回溯 首先确定系统的输出是什么 将输出的信息在数据字典中说明 为了获得这个输出 要进行那些加工处理 输入信息是什么 也就是说 对这个输入信息进行加工处理 便可以获得需要的输出信息 这个输入可能是用户的原始输入 也可能是其它加工处理的输出 如果是其它处理的输出 那么继续向前回溯找它的处理和处理的输入 这样不断地回溯直到所有的输出都沿数据流图回溯到原始输入端为止 在回溯过程中将所有的输入输出数据流和数据存储都放到数据字典中定义 完善初始的数据字典 每个处理的详细说明放在加工处理说明表中说明 43 3 补充 在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据 将数据流程图补充完善 对于模糊不清的问题要通过进一步的调研进行确认 44 4 确定非功能需求 对软件性能指标 接口定义 设计和实现的约束条件等逐一进行分析 用户对软件的质量属性可能会提出很多要求 有时实现全部质量属性是不现实的 因此开发人员和用户要根据软件的特点 有侧重地实现某些质量属性 接口包括硬件接口 软件接口 用户接口 通讯接口 有时 设计和实现的约束会对开发人员形成较大的压力 所以 要讨论这些约束的合理性和必要性 45 5 复查 系统分析人员将补充修改过的数据流程图 数据字典 数据实体关系图和处理说明讲给用户听 方法是以数据流程图为核心 辅以数据字典和处理说明 将整个软件的功能要求 数据要求和运行要求和扩展要求讲解给用户和系统的其它相关人员 大家一起跟着分析人员的思路检查数据是否正确 数据的来源是否合理 软件的功能是否完备 每条功能都回溯到用户的需求上 有没有丢失的需求等等 46 6 画出软件的功能结构图 通过细化数据流程图 以方框图的形式画出系统的功能结构 注意在分析阶段的功能结构图不要过于强调细节 47 7 修正开发计划 由于这时的需求已经非常细致了 根据细化的需求修订开发计划 48 8 编写需求文档 编写需求规格说明书和初始的用户手册 测试人员开始编写功能测试用的测试数据 49 第三节结构化分析规格说明书 软件需求规格说明书 SoftwareRequirmentsSpecifications简称SRS 是需求阶段的产品 它精确地阐述一个软件系统提供的功能 性能和必要的限制条件 软件需求规格说明是系统测试 系统设计 编码和用户培训的基础 50 编写软件需求规格说明书的目标 为开发者和客户之间建立共同协议创立一个基础 对要实现的软件功能做全面的描述 有助于客户判断软件产品是否符合他们的要求 提高开发效率 在软件设计之前通过编写SRS 周密地对软件进行全面的思考 从而极大地减少后期的返工 由于对SRS要进行仔细地审查 所以还可以尽早发现遗漏的需求和对需求错误的理解 51 为需求审查和用户验收提供了标准 SRS是需求阶段的阶段产品 在阶段结束之前由审查小组对它进行审查 审查通过的SRS才能进入设计阶段 SRS是用户严守的主要文件 通常用户根据合同和SRS对软件产品进行验收测试 SRS是编制软件开发计划的依据 项目经理根据SRS中的任务来规划软件开发的进度 计算开发成本 确定开发人员分工 对关键功能进行风险控制 制定质量保障计划 但是在SRS中不包括各种开发计划 SRS是进行软件产品成本核算的基础 可以成为定价的依据 但是SRS本身不包括成本计算 52 编写SRS的基本要求有两点 一是必须描述软件具备的功能和性能 二是必须用确定的 无二义性的 完整的语句来描述功能和性能 53 在SRS必须描述的基本内容有 软件功能 描述软件要做什么 注意不要写怎么做 软件性能 描述软件功能执行过程中的速度 可使用性 响应时间 各种软件功能的恢复时间 吞吐能力 精度 频率等 设计限制 软件的表现效果 实现语言 数据库完整性 资源限制 操作环竟等方面强加于软件实现过程的限制 质量属性 包括有效性 高效性 灵活性 安全性 互操作性 可靠性 健壮性 易用性 可维护性 可移植性 可重用性 可测试性 54 外部接口 与人 硬件 其它软件的相互关系 55 注意 在编写SRS时不要涉及设计的内容 不要把软件划分成若干模块 然后给每个模块分配一个功能 不要描述模块间的信息流程或者控制流 不要设计数据结构 另外 在SRS中不要包括软件开发过程方面的描述 不要把软件成本估计 开发进度 软件开发方法 质量保证 验收过程等软件开发合同性事宜的内容放入SRS 这些内容应该写入其它的文档中 56 注意 为了使需求便于跟踪和管理 在需求规格说明书中对每条需求都应该进行编号 并且编号是固定唯一的 例如 要在ED 1 ED 2之间插入一条需求时 可以编号ED 1 1 其它的编号不变 57 见讲义需求规格说明书的模板 58 第四节结构化分析实例 图书馆信息管理系统 59 需求 读者来图书馆借书 可能先查询馆中的图书信息 查询可以按书名 作者 图书编号 关键字查询 如果查到则记下书号 交给流通组工作人员 等候办理借书手续 如果该书已经被全部借出 可做预订登记 等待有书时被通知 如果图书馆没有该书的记录 可进行缺书登记 办理借书手续时先要出示图书证 没有图书证则去图书馆办公室申办图书证 如果借书数量超出规定 则不能继续借阅 借书时流通组工作人员登记图书证编号 图书编号 借出时间和应还书时间 60 当读者还书时 流通组工作人员根据图书证编号 找到读者的借书信息 查看是否超期 如果已经超期 则处罚 如果图书有破损 丢失 则进行破损处罚 登记还书信息 做还书处理 同时查看是否有预订登记 如果有则发出到书通知 图书采购人员进行图书采购时 要注意合理采购 如果有缺书登记则随时进行采购 采购到货后 编目人员进行验收 编目 上架 录入图书信息 发到书通知 如果图书丢失或旧书淘汰 则将该书从书库中清除 即图书注销 61 以上是图书管理系统的基本需求 经过与图书馆工作人员反复交流 他们提出了下列建议 建议1 当读者借阅的图书到期时 希望能够提前以一个短信息或电子邮件方式提示读者 建议2 读者希望能够实现网上查询和预订图书 建议3 应用系统的各种参数设置最好是灵活的 由系统管理人员根据需要设定 例如 借阅量的上限 还书提示的时间 预订图书的保持时间等参数 62 用户给出的上述需求式一个比较简单的需求 没有向我们前面介绍的那样给出业务需求 用户需求 遇到这种情况我们要进一步与用户沟通 了解系统的目标 规模 范围 不能自己想当然确定 本例中用户给出的系统目标是实现读者借还书的信息化 并且利用Internet网络实现读者与图书馆之间的互动和图书馆的人性化管理 提高图书的利用率 系统的规模较小 只涉及图书 读者 借还书的管理 相关的部门有采编部 流通部 办公室 63 描绘系统流程图 64 系统0层数据流程图 65 描述 本例中的数据源 终点有读者 采编部 办公室 流通部 读者提供的主要信息是读者号 书号 办公室是为读者分配读者号 定义处罚规则 借还书规则 采编部提供新书信息 流通部实现借还书操作 产生借还书信息 66 下面应该对图书馆信息管理系统这个 黑盒子 进行逐步分解 细化数据流程图 读者使用该系统进行图书信息查询 读者信息查询 网上预订图书 所以应该增加查询功能和预订图书功能 采购部的人员使用本系统完成图书编目 新书信息发布功能 为此增加图书编目和新书发布处理 流通部的工作人员使用本系统完成读者借还书的事务 应该为他们设置借书 还书处理 办公室的人员负责读者信息管理 罚款信息管理和系统的参数制定 为他们添加读者信息管理 处罚信息管理 系统参数维护三个处理 67 系统1层数据流程图 68 两个问题 一个是图形元素的编号问题 为了在进行细化的过程中图型元素保持原有的编号 我们在对图形元素编号时应该有规划 以保证在的细化过程中便于插入新的图型元素 另一个问题是对于一个较大型的应用系统 数据流程图往往会很复杂 因此可以将一个数据流程图分解为多幅数据流程图 保持图面的简洁 69 注意 一层的数据流程图是比较高层
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 走进物联网 第2版 课件3.2智慧交通
- 高中政治课程课件
- 2025年学校教师节活动方案(新订)
- 2025年广西公务员网络培训公务员廉洁从政廉洁奉公试题答案
- 高中政治必修三课件
- 四名警察考试题目及答案
- 制作税收培训课件
- 2025年国际市场拓展电子商务代理销售服务合同
- 2025年度油气勘探开发物流配送合同范本
- 2025年绿色酒店客房新风系统改造与日常保养服务合同
- 第1章 电子商务数据分析基础
- 《中国动漫发展史》课件
- 学校安保合同范本
- 六年级阅读题打印20篇
- 《液压传动》教案(劳动版)
- 钢筋工劳务分包合同书模板
- 2024年中国手动电动工具市场调查研究报告
- GB/T 32124-2024磷石膏的处理处置规范
- 12G614-1砌块标准图集(附条文及目录)
- 集成光电子器件及设计-4集成光有源器件
- 2025届浙江省新英语高三第一学期期末教学质量检测试题含解析
评论
0/150
提交评论