结构化分析ppt课件.ppt_第1页
结构化分析ppt课件.ppt_第2页
结构化分析ppt课件.ppt_第3页
结构化分析ppt课件.ppt_第4页
结构化分析ppt课件.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

IDC实验室Email 软件工程SoftwareEngineering 2020 3 27 2 第三章结构化分析 传统的软件工程方法学采用结构化分析技术完成需求分析工作 本章内容 可行性研究需求分析实体 关系图数据流图状态转换图数据字典 2020 3 27 3 可行性研究 FeasibilityStudy 1 任务 不是解决问题 而是确定是否可解 值得解例 可从下述3方面考虑 Technically 技术上 Operationally 操作上 Economically 经济上 注 不要花过多精力 占总成本的5 10 目的 就是用最小的代价在尽可能短的时间内确定该项目是否能够开发 是否值得去开发 2020 3 27 4 步骤 1 复查定义 明确限制的约束 我们认为用户要的用户要的 2 研究老系统 解决老系统问题 老系统功能 新增功能 新系统效益 注 只了解老系统做什么 而不管怎样做 注意了解与其它系统的接口 老系统效益 2020 3 27 5 可行性研究步骤 3 导出高层逻辑模型 conceptualdesign 老系统 模型 新模型 新系统 高层系统流程图报告应该告诉用户 What 而不是 How 2020 3 27 6 3 逻辑模型4 重新定义1 复查定义注 此时合同未签 应考虑成本 不宜反复太多次 5 导出多种解法 进度表 经济上合算 技术上可行 操作上可行 技术上不可行 用户 不 可 能 操 作 不合算 可行性研究步骤 2020 3 27 7 6 推荐行动方针 YesorNo No Yes Why Whichoneisthebest Why cost benefit 7 开发计划 粗略 任务分解 确定负责人 大致进度规划 财务预算风险分析及对策 8 审查 存档 可行性研究步骤 2020 3 27 8 系统流程图 例子学生购买学校教材的手续是 先找系办公室开一证明 凭证明找教材科的会计开购书发票 向出纳员交付书款 然后到书库找保管员领书 用系统流程图表示人工销售教材的物理模型 这是一个纯人工操作的系统 信息流始于学生 又终于学生 2020 3 27 9 开购书证明 购书证明 开购书发票 发票 收书费 领书单 发书 学生 学生 2020 3 27 10 计算机售书系统的系统流程图 教材购销系统的流程图 2020 3 27 11 3 1概述 需求分析是发现 求精 建模 规格说明和复审的过程分析 首先从宏观角度调查 分析用户所面临的问题然后对用户提出的初步要求反复求精多次细化 充分理解用户需求采用建模的方法理解问题 建立三种模型数据模型 E R图表示 功能模型 数据流图DFD表示 行为模型 状态转换图表示 写出准确的软件需求规格说明对需求分析的结果进行严格复审 2020 3 27 12 需求分析的任务 完整 准确 清晰 具体地确定目标系统在功能 性能和运行环境等方面的要求 以及将来可能提出的要求 并形成相应的文档 软件需求规格说明书 2020 3 27 13 涉及人员 需求者 客户和使用者系统分析员 分析阶段活动的主体要求具备的素质 良好的专业技能 软 硬件 抽象思维和创造性思维的能力良好的书面和口头交流表达能力快速接收新知识的能力综合能力开发者 包括设计 编程和项目管理者 2020 3 27 14 需求分析过程 1 沿DFD回溯 DFD的输出端是系统的最终目的 向回确定每个数据元素的来源 可加细DFD 并将相关算法记录在IPO图中 数据流图 DataFlowDiagram 它从数据传递和加工角度 以图形方式来表达数据在系统内部的逻辑流向和逻辑变换过程 是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法IPO图就是用来说明每个模块的输入 输出数据和数据加工工具2 用户复查3 细化DFD 加细前后的I O须相同 分解到须考虑具体实现的代码时即可停止 2020 3 27 15 需求分析过程 4 修正计划5 文档 需求规格说明书 不需分解 有补充修正 无补充修正 分析追踪数据流图 用户复查 细化数据流图 需要分解 2020 3 27 16 需求分析的目的和途径 目的 了解用户对目标系统的要求解决需求获取阶段得到的用户需求的模糊性 二义性和不一致性途径 市场调研 非正式的 访问用户 个别访谈或小组会议形式 正式的 用户和开发人员共同组成联合小组请教领域专家考察现场 观察用户工作流程 快速建立软件原型 2020 3 27 17 功能需求做什么 何时做 何时及如何修改或升级 执行速度 响应时间或吞吐量有无限制 性能需求安全性 可靠性 可维护性精度 出错处理 存储量 运行时间等约束运行环境软硬件要求 机型 外设 OS DBMS 限制条件 如温度 湿度或磁场干扰 用户界面要求用户或人的因素 用户类型 级别 文档 内容 读者 资源 人力 物力 财力 需求分析内容 2020 3 27 18 问题的复杂性交流障碍 涉及人员多 缺乏共同语言 不完备性和不一致性需求易变性用户意见不统一错误的需求认识混淆 困难 2020 3 27 19 参与者 系统分析员方法 面向数据流的结构化分析方法 SA 面向对象的分析方法 OOA 面向数据结构的Jackson方法 JSD 2020 3 27 20 必须能够表达和理解问题的数据域 建立数据模型 E R图 数据域包括数据流 数据内容和数据结构必须定义系统应完成的功能 建立功能模型 DFD 必须表示作为外部事件结果的软件行为 建立行为模型 状态转换图 必须按照自顶向下 逐层分解的方式对数据 功能和行为的模型进行分解和不断细化分析过程应从要素信息移向实现细节 需求分析的准则 2020 3 27 21 任务 生成需求规格说明书 SRS SoftwareRequirementsSpecification 和初步的用户手册是需求分析阶段的最终成果 它提供了用户与开发人员对待开发软件的共同理解 其作用相当于用户与开发单位之间的技术合同 是今后各阶段设计工作的基础 也是本阶段评审和测试阶段确认与验收的依据 要求 正确性 无二义性 完整性 一致性非计算机人员可以理解可修改性 可跟踪性有注释格式 参见教材 软件需求规格说明 需求描述 2020 3 27 22 目的 确保软件需求的全面性 精确性和一致性参与人员 系统分析员用户其他人员 包括管理者 设计者 测试者 维护者 需求评审 2020 3 27 23 分析建模 模型必须满足三个基本目标 正确描述用户的需求为软件设计工作奠定基础定义一组需求 作为验收产品的标准三种基本模型数据模型 E R图表示 功能模型 数据流图表示 行为模型 状态转换图表示 2020 3 27 24 分析建模 结构 2020 3 27 25 实体实体是客观世界中存在的且可相互区分的事物 实体可以是人也可以是物 可以是具体事物也可以是抽象概念 例如 职工 学生 课程 教师等都是实体 3 4实体 关系图 ER模型 2020 3 27 26 联系 客观世界中的事物彼此间往往是有联系的 例如 教师与课程间存在 教 这种联系 而学生与课程间则存在 学 这种联系 联系可分为三类 1 一对一联系 1 1 2 一对多联系 1 N 3 多对多联系 M N 2020 3 27 27 属性 属性是实体或联系所具有的性质 通常一个实体由若干个属性来刻画 联系也可能有属性 2020 3 27 28 实体 关系图 Entity RelationshipDiagram 2020 3 27 29 实体 关系图的符号 例 2020 3 27 30 数据流图是软件系统功能模型的一种图形表示 graphicrepresentation 任何软件系统 或计算机系统 从根本上来说 都是对数据进行加工 processing 或变换 transform 的工具 表示输入信息通过软件系统的加工 变换为系统的输出信息 3 5数据流图 DataFlowDiagram 2020 3 27 31 数据流法 数据流向 数据处理 加工 数据存储 数据源 终点 加工逻辑说明 数据字典基本策略 跟踪数据流 即研究问题域中数据如何流动以及在各个环节上进行何种处理 从而发现数据流和处理 DFM DataFlowApproach 数据流分析方法 2020 3 27 32 自顶向下逐层分解 3 1 3 3 3 2 1 1 1 3 1 2 2 1 2 2 顶层 0层 1层 DFD示例 2020 3 27 34 3 5数据流图 1 符号 Input Output 在数据流图中应该描绘所有可能的数据流向 而不应该描绘出现某个数据流的条件 程序流程图 2020 3 27 35 DFD基本图形符号 数据源点 终点 DataSource 位于系统边界之外的实体 可以是人 物或其它软件系统为帮助理解系统接口界面而引入 一般出现在顶层DFD数据流 DataFlow 被加工的数据及其流向由一组成分固定的数据项组成 如订票单由旅客姓名 年龄 单位 身份证号 日期 目的地等数据项组成 存在于加工与加工 加工与源终点 加工与数据存储之间除了与数据存储之间的数据流不用命名外 DF应用名词或名词性短语命名 2020 3 27 36 加工 又称处理 Process 对数据流进行操作或变换 通常用动词短语命名以数据结构或数据内容作为加工对象在分层的DFD中 加工应编号数据存储 又称文件 DataStorage 用于保存数据 可用名词或名词性短语命名存储文件可以是数据文件或任何形式的数据组织流向数据存储的DF可理解为写入文件或查询文件 从数据存储流出的数据可理解为从文件读数据或得到查询结果 2020 3 27 37 DFD元素命名规则 数据流名字应代表整个数据流的内容 而非部分DF模型是现实系统的抽象 命名时应尽量使用现实系统中已有的名字避免使用 数据 信息 输入 之类空洞无具体的名字加工名字应能反映整个加工功能 而非部分功能避免使用 加工 处理 之类空洞笼统的动词若必须用两个动词才能描述整个加工功能 则应考虑把此处理分解成两个过程数据存储命名规则同数据流 2020 3 27 38 DFD画法 从问题描述中提取DFD的四种成分首先数据的源 终点 其次加工 最后数据流和数据存储画基本系统模型 顶层DFD 仅一个处理和所有给定的数据源点 终点细化顶层DFD 描绘系统的主要功能 0层DFD 给加工编号1 2 进一步细化0层DFD 1层DFD 给分解后的加工编号1 1 1 2 2 1 2 2 注意 分层细化过程中 必须保持分解前后的数据流是相同的 2020 3 27 39 数据流与数据加工之间的关系 3 5数据流图 附加符号与 或 可省略 互斥 2020 3 27 40 实例 小型订货系统 问题描述 一家工厂的采购部每天需要一张订货报表 报表按零件编号排序 表中列出所有需要订货的零件 对于每个需要订货的零件应该列出下列数据 零件编号 零件名称 订货数量 目前价格 主要供应者和次要供应者 零件入库或出库称为事务 通过放在仓库中的CRT终端把事务报告给订货系统 当某种零件的库存数量少于库存量临界值时就应该订货 Return0 2020 3 27 41 数据流图 P34例子 3 5数据流图 简述 仓库管理员 事务 订货系统 采购员 订货报表 确定四种成分 源点 仓库管理员 终点 采购员 处理 需要报表 产生报表 事务 改变库存量 处理事务 数据流 系统把定货报表送给采购员 数据流1 定货报表 2020 3 27 42 当某种零件的库存数量少于库存量临界值时就应该再次定货 数据流图 P34例子 3 5数据流图 数据存储 定货报表的存储 定货信息 事务处理之后 改变库存量 库存信息 数据流 事务从仓库到系统 数据流2 事务 2020 3 27 43 从问题描述中提取DFD的四种成分 Return0 2020 3 27 44 画顶层DFD 订货系统 仓库管理员 采购员 只含有一个加工过程 突出了系统的源点和终点 任何系统的基本模型都由若干个数据源点 终点以及一个处理组成 这个处理就代表了系统对数据加工变换的基本功能 45 画0层DFD 处理事务1 注意给加工编号1 2 产生报表2 pre 问题描述 成分提取 next 2020 3 27 46 数据流图 3 5数据流图 把基本系统模型细化 描绘系统的主要功能 给处理和数据存储加编号 便于引用和追踪 47 画1层DFD 接收事务1 1 更新库存清单1 2 处理订货1 3 pre 2020 3 27 48 数据流图 3 5数据流图 对功能级数据流图中描绘的系统主要功能进一步细化 当分解涉及如何具体实现一个功能时就不应再分解了 2020 3 27 49 分层数据流图 3 5数据流图 2020 3 27 50 在多层数据流图中 顶层流图仅包含一个加工 它代表被开发系统 它的输入流是该系统的输入数据 输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图 它处在最底层中间层流图则表示对其上层父图的细化 它的每一加工可能继续细化 形成子图 3 5数据流图 2020 3 27 51 计算机售书系统的数据流图 3 5数据流图 2020 3 27 52 状态转换图通过描绘系统的状态及引起系统状态转换的事件 来表示系统的行为一个状态代表系统的一种行为模式事件是在某个特定时刻发生的事情 也就是引起系统状态转换的控制信息 3 6状态转换图 在状态图中 初始状态用实心圆表示 最终状态用一对同心圆表示 2020 3 27 53 例 电话的状态图 2020 3 27 54 3 7数据字典 DataDictionary 数据字典是描述数据的信息的集合 也叫元数据 是对系统中使用的所有数据元素的定义的集合绝大多数数据字典都包含下列信息名字别名使用地点与方式内容描述补充信息 2020 3 27 55 DD DataDictionary 目的以一种清晰 准确 无二义性的方式描述三种模型 例如DFD 中出现的所有数据元素 2020 3 27 56 定义数据的方法DD的定义是对数据自顶向下的分解1 符号 数据元素组成数据的三种基本方式顺序选择重复同时增加 可选 关系算符采用以下符号 1 A 5 标识符 字母字符十字母数字串字母数字串 0 字母或数字 7字母或数字 字母字符 数字字符 3 7数据字典 2020 3 27 57 定义数据字典常用符号 2020 3 27 58 2 例子 名字 定货报表别名 定货信息描述 每天一次送检采购员的需要定货的零件表定义 定货报表 零件编号 零件名称 定货数量 目前价格 主要供应者 次要供应者位置 输出到打印机 struct定货报表 char零件编号 8 char零件名称 20 int定货数量 float目前价格 structsupplier主要供应者 structsupplier次要供应者 3 7数据字典 2020 3 27 59 数据字典有以下四类条目 数据流数据项数据存储基本加工 数据字典的内容 3 7数据字典 2020 3 27 60 1 数据流条目描述 数据流名 说明 简要介绍作用即它产生的原因和结果数据流来源 来自何方数据流去向 去向何处数据流组成 数据结构数据量流通量 数据量 流通量 3 7数据字典 2020 3 27 61 2 数据项条目描述 数据项名 类型 数字 离散值 连续值 文字 编码类型 长度 取值范围 相关的数据元素及数据结构 3 7数据字典 2020 3 27 62 3 数据存储条目描述 数据存储名 简述 存放的是什么数据输入数据 输出数据 数据文件

温馨提示

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

评论

0/150

提交评论