




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第5章信息系统的需求分析 2 教学内容需求分析的任务 步骤 需求分析必须遵循的基本原则 需求分析的方法 数据流图和数据字典的运用 结构化语言 判定表和判定树的使用 E R模型 层次方框图 IPO图和Warnier图的使用 需求分析文档和需求分析评审等 教学要求1 熟练掌握 数据流图和数据字典的运用 结构化语言 判定表和判定树的使用 2 一般掌握 需求分析的任务 步骤 需求分析必须遵循的基本原则 需求分析的方法 E R模型 层次方框图 IPO图和Warnier图的使用 了解 需求分析文档和需求分析评审 3 5 1需求分析概述5 1 1需求分析的任务和目的需求分析的基本任务是要准确回答 系统必须做什么 这个问题 需求分析的具体任务包括 1 确定对系统的综合要求对系统的综合要求主要包括功能要求 性能要求 运行要求和其他要求等四个方面 2 分析系统的数据要求由系统的信息流归纳抽象出系统要求的数据以及数据的逻辑关系 3 导出目标系统的详细逻辑模型通过以上二项分析的结果导出目标系统的详细逻辑模型 4 修正项目开发计划 编写用户手册概要 5 编写系统需求规格说明书 并提交审查 4 5 1 2需求分析的难点需求分析的难点主要体现在以下几个方面 1 问题的复杂性 2 交流障碍 3 不完备性和不一致性 4 需求易变性 5 通过以下做法可以大大克服上述困难 1 项目的参与者 包括软件设计开发人员和用户等 必须在需求分析过程中加强沟通和协调 一方面 软件设计人员应尽量使用通俗的语言与用户进行交流 另一方面 用户应积极主动地配合软件设计人员的工作 2 为了保证需求分析阶段能够提出完整 准确的系统逻辑模型 开发人员必须花费足够的时间 全面了解用户的需要 绝不能在需求模糊的情况下仓促进行系统的设计和编程 根据国外的统计资料表明 在典型环境下开发系统 需求分析阶段的工作量大约要占到整个系统开发工作量的20 左右 3 使用一些有效的需求分析方法 如结构化分析方法等 及自动化工具 如CASE工具 来进行需求分析 6 5 1 3需求分析的步骤需求分析阶段的工作 大致可分为以下几个步骤 1 通过调查研究 获取用户的需求可以采取以下一些调查方式 l发调查表 l召开调查会 l向用户领域的专家个别咨询 l实地考察 l跟踪现场业务流程 l查阅与待开发系统有关的资料 l使用各种调查工具等 2 去除非本质因素 确定系统的真正需求 3 描述需求 建立系统的逻辑模型 4 书写需求规格说明书 进行需求复审 7 5 1 4需求分析的原则目前存在着许多需求分析的方法 虽然各种方法都有其独特的描述方式 但不论采用何种方法 需求分析都必须遵循以下的基本原则 1 能够表达和理解问题的数据域和功能域 2 能够将复杂问题分解化简 3 能够给出系统的逻辑视图和物理视图 8 5 1 5需求分析方法目前常见的需求分析方法有 1 功能分解方法 2 结构化分析方法 3 信息建模方法 4 面向对象的分析 9 5 2 1数据流图在需求分析阶段 数据流 也称信息流 是系统分析的基础 所谓数据流 形象地说就是系统中 流动的数据结构 数据流图 DFD DataFlowDiagram 是描述软件系统中数据处理过程的一种有力的图形工具 数据流图从数据传递和加工的角度出发 刻画数据流从输入到输出的移动和变换过程 由于它能够清晰地反映系统必须完成的逻辑功能 所以它已经成为需求分析阶段最常用的工具 1 数据流图的用途画数据流图的基本目的是利用它作为交流信息的工具 数据流图的另一个主要用途是作为分析和设计的工具 10 2 数据流图的组成符号1 基本符号表5 1数据流图中的基本符号 11 图5 1学生档案管理系统数据流图 12 2 附加符号表5 2数据流图的附加表示符号 13 3 数据流图的绘制1 数据流图绘制的主要步骤 1 确定系统的输入输出 2 由外向里画系统的顶层数据流图 3 自顶向下逐层分解 绘出分层数据流图 图5 2 自顶向下 逐步分解 过程示意图 14 2 绘制数据流图的实例假设一家工厂的采购部每天需要一张定货报表 报表按零件编号排序 表中列出所有需要再次定货的零件 对于每个需要再次定货的零件应该列出下述数据 零件编号 零件名称 定货数量 目前价格 主要供应者和次要供应者 零件入库或出库称为事务 通过放在仓库中的CRT终端把事务报告给定货系统 当某种零件的库存数量少于库存量临界值时就应该再次定货 15 数据流图有4种成分 源点或终点 加工 数据存储和数据流 因此 第一步可以从问题描述中提取数据流图的4种成分 16 对于上述的定货系统可以画出如图5 3所示的基本系统模型 图5 3定货系统的顶层 0层 数据流图 17 图5 3毕竟太抽象了 从这张图上对定货系统所能了解到的信息非常有限 下一步应该把基本系统模型细化 描绘系统的主要功能 从表5 3可知 产生报表 和 处理事务 是系统必须完成的两个主要功能 它们将代替图5 3中的 定货系统 如图5 4所示 图5 4定货系统的功能级第1层数据流图 18 接下来应该对功能级数据流图中描绘的系统主要功能进一步细化 图5 5把处理事务的功能进一步分解后的第2层数据流图 19 3 细化数据流图的实例可以看得出来在绘制数据流图时 分层细化数据流图最为关键 下面再以某单位工资管理系统为例 来强化一下如何细化数据流图的过程 某单位财务部门要求人事部门在每月月初提供所有职工上个月的出勤情况和业绩情况 要求后勤部门提供所有职工上个月的水电使用及扣款情况 再将所有数据交给工资计算系统去处理 得到所有职工上个月的工资情况 并将工资转给相应的银行进行发放 请根据上述情况画出对应的数据流图 20 1 建立顶层数据流图 图5 6工资计算系统的顶层 0层 数据流图 21 2 数据流图的分层细化 图5 7工资计算系统第一层数据流图 22 对第一层数据流图中的加工继续分解 则可得到第二层数据流图 如图5 8所示 a 计算工资 子数据流图图5 8工资计算系统的第二层数据流图 23 对第一层数据流图中的加工继续分解 则可得到第二层数据流图 如图5 8所示 b 工资转存 子数据流图图5 8工资计算系统的第二层数据流图 24 若数据流图中的加工还可继续细化 则重复以上分解过程 直到获得系统的底层数据流图 工资计算系统的第三层数据流图如图5 9所示 图5 9工资计算系统的第三层数据流图 25 4 绘制数据流图的原则 1 任何一个数据流至少有一端是处理框 2 数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能 具体来说 命名时要注意 名称要反映被命名的成分的真实和全部的意义 避免使用不反映实际内容的空洞词汇 名称要意义明确 易理解 无歧义 加工的名称一般以动词 宾语或名词性定语 动名词为宜 进出数据存储环节的数据流如内容和存贮者的数据相同 可采用同一名称 3 对数据流图中某个加工进行细化生成的下层数据流图 称为其上层图的子图 应保证分层数据流图中任意对应的父图和子图的输入 输出数据保持一致 4 在数据流图中 应按照层次给每个加工编号 用于表明该加工所处的层次及上 下层的父图与子图的关系 编号的规则为 顶层加工不用编号 第一层加工的编号为1 2 n 第二层加工的编号为1 1 1 2 2 1 n 1 n 2 等 依次类推 26 4 绘制数据流图的原则 4 在数据流图中 应按照层次给每个加工编号 用于表明该加工所处的层次及上 下层的父图与子图的关系 编号的规则为 顶层加工不用编号 第一层加工的编号为1 2 n 第二层加工的编号为1 1 1 2 2 1 n 1 n 2 等 依次类推 5 在一套数据流图中的任何一个数据存储 必定有流入的数据流和流出的数据流 即写文件和读文件 缺少任何一种都意味着遗漏某些加工 6 数据流图只能由四种基本符号组成 是实际业务流程的客观映象 用于说明系统应该 做什么 而不需要指明系统 如何做 7 数据流图的分解速度应保持适中 通常一个加工每次可分解为2 4个子加工 最多不要超过七个 因为过快的分解会增加用户对系统模型理解的难度 8 数据流图绘制过程 就是系统的逻辑模型的形成过程 必须始终与用户密切接触 详细讨论 不断修改 另还要和其他系统建设者共同商讨以求一致意见 27 5 数据流图的局限性 1 难以在数据流图上标识出数据流 数据存储 加工和外部项的具体内容 2 不能反映系统中的决策与控制过程 3 难以对系统中人 机交互过程以及信息的反馈与循环处理进行描述 28 5 2 2数据字典没有数据字典准确地描述数据流图中使用的数据 数据流图就不严格 反之 没有数据流图 数据字典也难于发挥作用 只有把数据流图和对数据流图中每个数据的精确定义放在一起 才能共同构成系统的规格说明 1 数据字典的作用数据字典最重要的用途是作为分析阶段的工具 在结构化分析中 数据词典的作用是给数据流图上每个成分给以定义和说明 换句话说 数据流图上所有成分的定义和解释的文字集合就是数据词典 而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信 如果要求所有开发人员都根据公共的数据字典描述数据和设计模块 则能避免很多麻烦的接口问题 数据字典中包含的每个数据元素的控制信息是有价值的 因为列出了使用一个给定的数据元素的所有程序 或模块 所以很容易估计改变一个数据将产生的影响 并且能对所有受影响的程序或模块做出相应的改变 最后 数据字典是开发数据库的第一步 而且是非常有价值的一步 29 2 数据字典的基本符号如表5 4所示给出了数据字典中的基本符号和其含义 表5 4数据字典中的基本符号及其含义 30 3 数据字典中的条目及说明格式数据字典是关于数据流图中各种成分详细定义的信息集合 可将其按照说明对象的类型划分为四类条目 分别为数据流条目 数据项条目 数据文件条目和数据加工条目 1 数据流条目 表5 5数据流条目例子 出勤表 31 2 数据项条目表5 6数据项条目例子 职工号 32 3 数据文件条目表5 7数据文件条目 职工工资档案文件 33 4 数据加工条目表5 8数据加工条目 计算应发工资 34 4 建立数据字典的原则建立数据字典时应遵守的原则有 1 对数据流图上各种成分的定义必须严密 精确 易理解 唯一 不能存在二义性 2 书写格式应简洁且严格 风格统一 文字精炼 数字与符号正确 3 命名 编号与数据流图一致 4 符合一致性与完整性的要求 对数据流图上的成分定义与说明无遗漏项 5 应可方便地实现对所需条目的按名查阅 6 应便于修改和更新 7 没有冗余 35 5 建立数据字典的方法建立数据字典的常用方法有2种 手工建立和自动建立 1 手工建立 手工建立数据字典的内容并用卡片形式存放 其步骤如下 1 按4类条目规范的格式印制卡片 2 在卡片上分别填写各类条目的内容 3 先按图号顺序排列 同一图号的所有条目按数据流 数据项 数据文件和数据加工的顺序排列 4 同一图号中的同一类条目 如数据流卡片 可按名字的字典顺序存放 加工一般按编号顺序存放 5 同一成分在父图和子图都出现时 则只在父图上定义 6 建立索引目录 36 2 自动建立自动建立主要是指利用计算机辅助建立并维护数据字典 其方法有2种 1 编制一个 数据字典生成与管理程序 可以按规定的格式输入各类条目 能对字典条目增 删 改 能打印出各类查询报告和清单 能进行完整性 一致性检查等 美国密执安大学研究的PSL PSA就是这样一个系统 2 利用已有的数据库开发工具 针对数据字典建立一个数据库文件 可将数据流 数据项 数据文件和加工分别以矩阵表的形式来描述各个表项的内容 如表5 9所示 表5 9数据流的矩阵表然后使用开发工具建成数据库文件 便于修改 查询 并可随时打印出来 另外 有的数据库管理系统本身包含一个数据字典子系统 建库时能自动生成数据字典 自动建立比手工建立数据字典有更多的优点 能保证数据的一致性和完整性 使用也方便 但增加了技术难度与机器开销 37 6 数据词典的编写实例1 用数据字典来表达下列的存折格式 存折格式如图5 10所示 对应的数据字典如表5 10所示 图5 10存折格式 38 表5 10数据字典实例 存折格式的表达 39 2 用数据字典简单表达前面定货系统中的 定货报表 数据流 如表5 11所示 表5 11数据字典实例 定货报表的表达 40 5 2 3加工逻辑的描述对数据流图的每一个基本加工 必须有一个基本加工逻辑说明 基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则 加工逻辑说明必须描述实现加工的策略而不是实现加工的细节 加工逻辑说明中包含的信息应是充足的 完备的 有用的和无冗余的 用于写加工逻辑说明的工具有结构化语言 判定表及判定树三种 41 1 结构化语言结构化语言是一种介于自然语言 英语或汉语 和形式化语言之间的半形式化语言 形式化语言精确 但不易被理解 自然语言易理解 但它不精确 可能产生二义性 结构化语言取 长 补 短 它是在自然语言基础上加了一些限定 使用有限的词汇和有限的语句来描述加工逻辑 即具有结构化程序的清晰易读的优点 又具有自然语言的灵活性 不受程序语言那么严格的语法约束 结构化语言的结构可分成外层和内层两层 例如 一个商店业务处理系统中对 检查发货单 这个功能有如下要求 如果发货单金额超过 500 且以往有欠款 欠款日期超过了60天 则在偿还欠款前不予批准发货 如果发货单金额未超过 500 且以往有欠款 欠款日期超过了60天 则批准发货 打印批准书 发货单和一份赊欠报告 不论发货单金额是否超过 500 如果欠款日期未超过60天 都批准发货 打印批准书和发货单 42 用结构化语言描述如下 if发货单金额超过 500thenif欠款超过了60天then在偿还欠款前不予批准else 欠款未超期 发批准书 发货单else 发货单金额未超过 500 if欠款超过60天then发批准书 发货单及赊欠报告else 欠款未超期 发批准书 发货单 43 2 判定表当某一加工的实现需要同时依赖多个逻辑条件的取值时 对加工逻辑的描述就会变得较为复杂 很难采用结构化语言清楚地将其描述出来 而采用判定表则能够完整且清晰地表达复杂的条件组合与由此产生的动作之间的对应关系 1 判定表的组成判定表的一般格式如表5 12所示 通常一张判定表由四部分组成 1 左上部列出所有条件 2 左下部是所有可能做的动作 3 右上部为各种可能组合条件 其中每一列表示一种可能组合 4 右下部的每一列是和每一种条件组合所对应的应做的动作 表5 12判定表的一般格式 44 2 绘制判定表的实例某数据流图中有一个 确定保险类别 的加工 指的是申请汽车驾驶保险时 要根据申请者的情况确定不同的保险类别 加工逻辑为 如果申请者的年龄在21岁以下 要额外收费 如果申请者是21岁以上并是26岁以下的女性 适用于A类保险 如果申请者是26岁以下的已婚男性 或者是26岁以上的男性 适用于B类保险 如果申请者是21岁以下的女性或是26岁以下的单身男性 适用于C类保险 除此之外的其他申请者都适用于A类保险 45 构造一张判定表可采取以下步骤 1 提取问题中的条件 条件是年龄 性别及婚姻 2 标出条件的取值 为绘制判定表方便 用符号代替条件的取值 如表5 13所示 3 计算所有条件的组合数N N mi 3 2 2 12 4 提取可能采取的动作或措施 适用于A类保险 B类保险 C类保险和额外收费 5 制作判定表 如表5 14所示 6 完善判定表 46 表5 13条件取值表 表5 14判定表 47 3 判定表的优缺点判定表的优点 采用表格化的形式 适于表达含有复杂判断的加工逻辑 能够简洁 无二异性的描述所有的处理规则 判定表的缺点 只能表示静态逻辑 不能作为通用的设计工具 判定表虽然能清晰地表示复杂的条件组合与应做的动作之间的对应关系 但其含义却不是一眼就能看出来的 初次接触这种工具的人要理解它需要有一个简短的学习过程 此外 当数据元素的值多于两个时 判定表的简洁程度也将下降 48 3 判定树判定树是判定表的变种 也能清晰地表示复杂的条件组合与应做的动作之间的对应关系 1 判定树的实例 图5 12描述 确定保险类别 功能的判定树 49 2 判定树的优缺点判定树的优点是形式简单 直观 不需要任何说明 一眼就可以看出其含义 因此易于掌握和使用 判定树的缺点是判定树虽然形式上比判定表直观 但逻辑上没有判定表严格 用户在使用判定树时容易造成个别条件的遗漏 与判定表一样判定树只能表示静态逻辑 不能作为通用的设计工具 50 4 对加工逻辑描述工具的选择加工逻辑说明是结构化分析方法的一个组成部分 上述三种描述加工逻辑的工具各有优缺点 对于顺序执行和循环执行的动作 用结构化语言描述 对于存在多个条件复杂组合的判断问题 用判定表和判定树描述 判定树较判定表直观易读 判定表进行逻辑验证较严格 能把所有的可能性全部都考虑到 可将两种工具结合起来 先用判定表作底稿 在此基础上产生判定树 字典是开发数据库的第一步 而且是非常有价值的一步 51 5 2 4需求分析的其他工具除了上述工具之外 需求分析阶段还可能用到其他一些分析工具 包括E R模型 层次方框图 IPO图和Warnier图等 1 E R模型1 E R模型的组成E R模型由实体 联系和属性三个基本成分组成 2 E R模型中的基本符号E R模型中的基本符号及含义如表5 15所示 52 表5 15E R模型中的基本符号 53 3 E R模型的实例 图5 13某校教学管理的E R模型 54 2 层次方框图层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构 例如 某单位职工的实发工资由应发工资和扣款两部分组成 每部分又可进一步细分 如应发工资又可分为基本工资和奖金 基本工资又可分为国家工资 津贴 补贴 奖金也可分为出勤奖和业绩奖 津贴和补贴还可以再进一步地细分 用层次方框图表达的实发工资概念如图5 14所示 55 图5 14某单位职工实发工资的层次方框图 56 3 图IPO图是输入 处理 输出图 Input Process Output 的简称 它是美国IBM公司发展完善起来的一种图形工具 它能够方便地描绘输入数据 对数据的处理和输出数据之间的关系 IPO图使用的基本符号既少又简单 因此很容易学会使用 它的基本形式是在左边的框中列出有关的输入数据 在中间的框中列出主要的处理 在右边的框中列出产生的输出数据 处理框中列出处理的次序暗示了执行的顺序 但是用这些基本符号还不足以精确描述执行处理的详细情况 在IPO图中还用类似向量符号的粗大箭头清楚地指出数据通信的情况 如图5 15所示是一个主文件更新的例子 通过这个例子可以了解IPO图的用法 57 图5 15IPO图的一个例子图 58 现在一般建议使用一种改进的IPO图 也称为IPO表 图5 16改进的IPO图的形式 59 4 arnier图Warnier图是法国科学家Warnier提出的另一种描述数据层次结构的图形工具 图5 17描绘一种软件产品的Warnier图 60 5 3需求分析文档1 信息系统需求说明书描述信息系统需求的文档被称为 信息系统需求说明书 或 信息系统需求规格说明书 信息系统需求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程项目部工作总结汇报
- 2026届江苏省南京市名校九上化学期中学业水平测试模拟试题含解析
- 2026届内蒙古包头市化学九年级第一学期期末经典试题含解析
- 湖南省邵阳市邵东市第四中学2025-2026学年高三上学期第一次月考英语试题
- 广东省潮州市潮安区2024-2025学年八年级下学期期末物理试题(含答案)
- 2026届江苏省扬州市仪征市新集初级中学英语九上期末经典模拟试题含解析
- 离婚协议补充协议范本:子女监护权变更补充条款
- 高新技术产业园区土地出让与投资合作协议
- 美妆行业业务员聘用协议及产品推广服务合同
- 双方协议离婚子女抚养费用及监护权分配详细合同范本
- Z20名校联盟(浙江省名校新高考研究联盟)2025届高三第一次联考 物理试卷(含答案详解)
- 胖东来运营管理-管理人员规划
- 幽门螺杆菌知识健康讲座
- 哈尔滨建筑课件
- 中学生英才计划面试常见问题
- 奶油风家装方案
- 微波与卫星通信(第二版)微波通信系统设计
- 药房转让合同-药房转让合同
- 混凝土基层检验批质量检验记录
- 物业发给业主的告知函模板范本
- 静脉输液治疗安全管理与风险防范模板
评论
0/150
提交评论