第5章 需求分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)在数据流图中,应按照层次给 每个加工编号,用于表明该加工所处的 层次及上、下层的父图与子图的关系。 编号的规则为:顶层加工不用编号;第 一层加工的编号为1,2,„,n;第二 层 加 工 的 编 号 为 1.1 , 1.2 , „ , 2.1,„,n.1,n.2,„等,依次类推。 (5)在一套数据流图中的任何一个 数据存储,必定有流入的数据流和流出 的数据流,即写文件和读文件,缺少任 何一种都意味着遗漏某些加工。
1.数据流图的用途 画数据流图的基本目的是作为交 流信息的工具。数据流图的另一个主 要用途是作为分析和设计的工具。
2.数据流图的组成符号 (1)数据流图中的基本符号
图1 学生档案管理系统数据流图
(2)数据流图的附加表示符号
3.数据流图的绘制 (1)数据流图绘制的主要步骤 确定系统的输入输出 由外向里画系统的顶层数据流图 自顶向下逐层分解,绘出分层数 据流图
(4)符合一致性与完整性的要求, 对、数据流图上的成分定义与说明无遗 漏项。 (5) 应可方便地实现对所需条目的 按名查阅。 (6) 应便于修改和更新。 (7) 没有冗余。
5.数据词典的编写实例 1)用数据字典来表达下列的存折格 式
表5 存折格式
表6 数据字典实例——存折格式的表达
2)用数据字典简单表达前面定货系统 中的“定货报表”数据流
数据流图有4种成分: 源点或终点 加工 数据存储 数据流
图3 定货系统的顶层(0层)数据流图
图4
定货系统的功能级第1层数据流图
对数据流图的系统主要功能进一步细化
图5 把处理事务的功能进一步分解后的第2层数据流图
(3)数据流图的细化 在绘制数据流图时,分层细化数据 流图最为关键。 例:某单位工资管理系统。财务部 门要求人事部门在每月月初提供所有职 工上个月的出勤情况和业绩情况,要求 后勤部门提供所有职工上个月的水电使 用及扣款情况,再将所有数交给工资计 算系统去处理,得到所有职工上个月的 工资情况,并将工资转给银行进行发放。
5.2 需求分析的难点
一、需求分析的难点主要体现: (1)问题的复杂性 (2)交流障碍 (3)不完备性和不一致性 (4)需求易变性
二、克服方法: (1)项目的参与者(包括软件设计 开发人员和用户等)必须在需求分析过 程中加强沟通和协调。一方面,软件设 计人员应尽量使用通俗的语言与用户进 行交流;另一方面,用户应积极主动地 配合软件设计人员的工作。
5.数据流图的局限性 (1)难以在数据流图上标识出数据 流、数据存储,加工和外部项的 具体内容。 (2)不能反映系统中的决策与控制 过程。 (3)难以对系统中人-机交互过程 以及信息的反馈与循环处理进行描述。
二、数据字典 没有数据字典准确地描述数据流 图中使用的数据,数据流图就不严格。 反之,没有数据流图,数据字典也难 于发挥作用。只有把数据流图和对数 据流图中每个数据的精确定义放在一 起,才能共同构成系统的规格说明。
2. 判定表 当某一加工的实现需要同时依赖 多个逻辑条件的取值时,对加工逻辑的 描述会变得较为复杂,很难采用结构化 语言清楚地将其描述出来,而采用判定 表则能够完整且清晰地表达复杂的条件 组合与由此产生的动作之间的对应关系。
1)判定表的组成 一张判定表由四部分组成。 (1)左上部列出所有条件; (2)左下部是所有可能做的动作; (3)右上部为各种可能组合条件,其中每一列 表示一种可能组合; (4)右下部的每一列是和每一种条件组合所对 应的应做的动作。
(2)去除非本质因素,确定系统的真 正需求。 (3)描述需求,建立系统的逻辑模型。 (4)书写需求规格说明书,进行需求 复审。
5.4 需求分析的原则
需求分析必须遵循的基本原则: (1)能够表达和理解问题的数据域和 功能域 (2)能够将复杂问题分解化简 (3)能够给出系统的逻辑视图和物理 视图
5.5 需求分析方法
1. 结构化语言 结构化语言是一种介于自然语言 和形式化语言之间的半形式化语言, 形式化语言精确,但不易被理解,自 然语言易理解,但它不精确,可能产 生二义性。
结构化语言取“长”补 “短”,它是在自然语言基础上加了 一些限定,使用有限的词汇和有限的 语句来描述加工逻辑,即具有结构化 程序的清晰易读的优点,又具有自然 语言的灵活性,不受程序语言那么严 格的语法约束。结构化语言的结构可 分成外层和内层两层。
加工逻辑词条描述 加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 输出数据流: 加工逻辑:简述加工程序,加工顺序
源点及汇(终)点词条描述 名称:外部实体名 简要描述:什么外部实体 有关数据流: 数目:
1)数据流条目
表1 数据流条目例子——出勤表
图9 工资计算系统的第三层数据流图
例子:商店业务处理系统
图10 商店业务处理系统数据流图
第一层数据流图
图11 商店业务处理系统数据流图
加细每一个加工框
销售细化
图12 商店业务处理系统数据流图
采购细化
图9 工资计算系统的第三层数据流图
4.绘制数据流图的原则 (1) 任何一个数据流至少有一端是 处理框。 (2) 数据流图中各构成元素的名称 必须具有明确的含义且能够代表对应元 素的内容或功能。具体来说,命名时要 注意: ① 名称要反映被命名的成分的真 实和全部的意义,避免使用不反映实际 内容的空洞词汇。
表7 数据字典实例——定货报表的表达
5.6 加工逻辑的描述 对数据流图的每一个基本加工,必 须有一个基本加工逻辑说明。基本加工 逻辑说明必须描述基本加工如何把输入 数据流变换为输出数据流的加工规则; 加工逻辑说明必须描述实现加工的策略 而不是实现加工的细节;加工逻辑说明 中包含的信息应是充足的、完备的、有 用的和无冗余的。
例:一个商店业务处理系统中对“检查 发货单”这个功能有如下要求:如果 发货单金额超过$500,且以往有欠款, 欠款日期超过了60天,则在偿还欠款 前不予批准发货;如果发货单金额未 超过$500,且以往有欠款,欠款日期 超过了60天,则批准发货,打印批准 书、发货单和一份赊欠报告;不论发 货单金额是否超过$500,如果欠款日 期未超过60天,都批准发货,打印批 准书和发货单。
5.1
需求分析概述
一、需求分析的任务和目的 基本任务:是要准确回答“系统必 须做什么?” 1.确定对系统的综合要求 对系统的综合要求:主要包括功能 要求、性能要求、运行要求和其他要 求等四个方面。
2.分析系统的数据要求 由系统的信息流归纳抽象出系 统要求的数据以及数据的逻辑关系。 3.导出目标系统的详细逻辑模型 通过以上二项分析的结果导出 目标系统的详细逻辑模型。 4.修正项目开发计划,编写用户手 册概要。 5.编写系统需求规格说明书,并提 交审查
(2)为了保证需求分析阶段能够 提出完整、准确的系统逻辑模型,开 发人员必须花费足够的时间,全面了 解用户的需要,不能在需求模糊的情 况下仓促进行系统的设计和编程。 (3)使用一些有效的需求分析方 法(如结构化分析方法等)及自动化 工具(如CASE工具)来进行需求分析
5.3 需求分析的步骤
(1) 通过调查研究,获取用户的需求 l 发调查表 l 召开调查会 l 向用户领域的专家个别咨询 l 实地考察 l 跟踪现场业务流程 l 查阅与待开发系统有关的资料 l 使用各种调查工具等
2)数据项条目
表2 数据项条目例子——职工号
3)数据文件条目
表3 数据文件条目——职工工资档案文件
4)数据加工条目
表4 数据加工条目——计算应发工资
4.建立数据字典的原则 (1)对数据流图上各种成分的定义必 须严密、精确、易理解、唯一,不能存 在二义性。 (2)书写格式应简洁且严格,风格统 一、文字精炼,数字与符号正确。 (3)命名、编号与数据流图一致。
目前常见的需求分析方法有: 1.功能分解方法 2.结构化分析方法 3.信息建模方法 4.面向对象的分析
5.5.1结构化分析方法
一、数据流图 数据流,系统中“流动的数据结 构”。 数据流图(DFD)是描述软件系统中 数据处理过程的一种有力的图形工具。 数据流图从数据传递和加工的角度 出发刻画数据流从输入到输出的移动和 变换过程。
数据项(元素)词条描述
数据元素名: 类型:数字(离散值,连续值) ,文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构:
数据文件(存储)词条描述
数据文件名: 简述:存放的是什么数据 输入数据: 输出数据: 数据文件组成:数据结构 存储方式:顺序,直接,关键码 存取频率:
② 名称要意义明确、易理解、 无歧义,加工的名称一般以动词+宾 语或名词性定语+动名词为宜。 ③进出数据存储环节的数据流 如内容和存贮者的数据相同,可采 用同一名称。 (3) 对数据流图中某个加工进 行细化生成的下层数据流图,称为 其上层图的子图。应保证分层数据 流图中任意对应的父图和子图的输 入/输出数据保持一致。
源自文库
用结构化语言描述如下: if 发货单金额超过$500 then if 欠款超过了60天 then 在偿还欠款前不予批准 else (欠款未超期) 发批准书,发货单 else (发货单金额未超过$500) if 欠款超过60天 then 发批准书,发货单及赊欠报告 else (欠款未超期) 发批准书,发货单
2.数据字典的基本符号
3.数据字典中的条目及说明格式 数据字典是关于数据流图中各种 成分详细定义的信息集合,可将其按 照说明对象的类型划分为四类条目, 分别为数据流条目、数据项条目、数 据文件条目和数据加工条目。
数据流词条描述
数据流名: 说明:简要介绍作用即它产生的原 因和结果 数据流来源:来自何方 数据流去向:去向何处 数据流组成:数据结构 数据量流通量:数据量,流通量
1.数据字典的用途 分析阶段的工具。在结构化分析中, 数据词典的作用是给数据流图上每个成 分给以定义和说明。 开发人员根据公共的数据字典描述 数据和设计模块,能避免很多麻烦的接 口问题。
数据字典中包含的每个数据元素 的控制信息是有价值的,因为列出了 使用一个给定的数据元素的所有程序 (或模块),所以很容易估计改变一 个数据将产生的影响,并且能对所有 受影响的程序或模块做出相应的改变; 数据字典是开发数据库的第一步, 而且是非常有价值的一步。
图2 “自顶向下,逐步分解”过程示意图
(2)绘制数据流图的实例 假设一家工厂的采购部每天需要 一张定货报表,报表按零件编号排序, 表中列出所有需要再次定货的零件。对 于每个需要再次定货的零件应该列出下 述数据:零件编号、零件名称、定货数 量、目前价格、主要供应者和次要供应 者。零件入库或出库称为事务,通过放 在仓库中的CRT终端把事务报告给定货 系统。当某种零件的库存数量少于库存 量临界值时就应该再次定货。
第五章 需求分析
教学内容
1、需求分析的任务、步骤; 2、需求分析必须遵循的基本原则; 3、需求分析的方法; 4、数据流图和数据字典的运用; 5、结构化语言、判定表和判定树的 使用; 6、E-R模型、层次方框图、IPO图和 Warnier图的使用; 7、需求分析文档和需求分析评审等。
教学要求
1.熟练掌握:数据流图和数据 字典的运用;需求分析文档,需求分 析评审。 2.一般掌握及了解:需求分析 的任务、步骤;需求分析必须遵循 的基本原则;需求分析的方法;E-R 模型、层次方框图、IPO图和Warnier 图的使用,结构化语言、判定表和判定 树的使用。
(6) 数据流图只能由四种基本符号 组成,是实际业务流程的客观映象,用 于说明系统应该“做什么”,而不需要 指明系统“如何做”。 (7)数据流图的分解速度应保持适 中。通常一个加工每次可分解为2~4个 子加工,最多不要超过七个。 (8) 数据流图绘制过程,就是系统 的逻辑模型的形成过程,必须始终与用 户密切接触,详细讨论,不断修改。
1)建立顶层数据流图
图6 工资计算系统的顶层(0层)数据流图
2)数据流图的分层细化
图7 工资计算系统第一层数据流图
对第一层数据流图中的加工继续分解
(a) “计算工资”子数据流图 图8 工资计算系统的第二层数据流图
对第一层数据流图中的加工继续分解
(b)“工资转存”子数据流图 图9 工资计算系统的第二层数据流图