《软件需求分析》课件

上传人:san****019 文档编号:20873890 上传时间:2021-04-20 格式:PPT 页数:66 大小:2.60MB
返回 下载 相关 举报
《软件需求分析》课件_第1页
第1页 / 共66页
《软件需求分析》课件_第2页
第2页 / 共66页
《软件需求分析》课件_第3页
第3页 / 共66页
点击查看更多>>
资源描述
2021/4/16 第 3 章 软件需求分析 软件需求分析是软件开发早期的一个重要阶段。它 在问题定义和可行性研究阶段之后进行。需求分析的基 本任务是软件人员和用户一起完全弄清用户对系统的确 切要求。这是关系到软件开发成败的关键步骤,也是整 个系统开发的基础。 软件需求分析阶段要求用 需求规格说明书 ( SRS) 来表达用户对系统的要求。规格说明书可用文字方式表 示,也可用图形表示。 本章将介绍需求分析的 任务、步骤、需求分析方法 (面向数据流图分析方法、面向对象的分析方法)。 2021/4/16 一、确定目标系统的具体要求 1、确定系统的运行环境要求 2、系统的性能要求 3、系统功能 3.1 需求分析的任务 硬件环境和软件环境 确定目标系统具备的所有功能 2021/4/16 举 例 数据库中存放的是职工的 某学校医疗费管理系统 所属部门、职工号、姓名 职工报销时应填写: 所属部门、职工号、姓名、日期 校内门诊、校外门诊、住院费、子女医疗费 医疗费分类: 该校规定,每年每个职工的医疗费有一个限额(如 80元),限 额在年初确定,其限额规则如下: 1、每个职工一年内报销的医疗费不超过限额时,全部报销 2、超额,则超出部分只可报销 90%,其余 10%由职工个人负担 3、职工子女的医疗费也有限额(如 40元) 2021/4/16 1、 医疗费管理系统每天 记录 当天报销的若干职工或职工子女的医 疗费的 类别、金额 。 2、 在当天下班前让系统 自动结帐 、 统计当天报销的医疗费总额 ,供 出纳员核对。 3、 每笔帐要保存备查,每天所报销的费用要和各个职工已报销的金 额累计起来,以便检查哪些职工已超额。 4、 系统还要配有适当的 查询功能 。 5、 年终结算后,下一年度开始时要对数据库文件进行初始化。 6、 当职工调离本单位,职工调如本单位或在本单位内部门间调动, 数据库文件应能及时得到修改。 请完成对上述系统的 需求分析 用户对系统的要求 2021/4/16 该系统规模不太大,可以和用户单位的其他管理系统 使用 相同的计算机硬件设备 、 相同的操作系统 和 相同的关 系数据库管理系统 。 如果,可以使用汉化了的数据库管理系统,但在建立 数据库结构时,凡是用英文名称来代表字段名时,则必须 在数据字典中予以说明。 1、确定系统的环境要求 2021/4/16 3、系统的功能 ( 1)具有表格形式屏幕的输入格式 ( 2)具有重复录入数据的功能 ( 3)具有查询和统计汇总的功能 ( 4)职工的调入和调出以及对数据库的初始化 2021/4/16 2、系统性能要求 ( 1)数据不能随意更改 2)保证数据的准确性 由于医疗费管理系统涉及到会计经费问题, 数据不能 随意更改 但数据输入又难免会出错。因而在每输入一个职 工的医疗费后,屏幕提示 “ 数据有误吗? ” 。若是在核对时 有误,可及时更改,避免输入错误。一天报销结束时,在 数据存档前,再让出纳员核对一下经费总额,若出纳员支 出的金额总数有误时,应让计算机显示每笔帐目,供一一 仔细核对,此时在允许修改一次。当正式登帐后,数据就 绝对不允许在修改了,由此保证财务制度的严格性,保证 数据的安全性。 2021/4/16 二、建立目标系统的逻辑模型 通常软件软件开发项目是要实现目标系统的物理模型,即 确定待开发软件系统的系统元素,并将功能和数据结构分配到 这些系统元素中。它是软件实现的基础。 但是目标系统的物理模型是由它的逻辑模型经实例化,即 具体到某个业务领域而得到的。与物理模型不同,逻辑模型忽 视机制和细节,只描述系统要完成的功能和要处理的数据。 为此,该阶段的主要任务是, 借助于当前系统的逻辑模型 导出目标系统的逻辑模型 ,也就是解决目标系统“做什么”的问 题。 2021/4/16 用户 调查 具体模 型 建立系统模型的工作流程 逻辑 抽象 当前系统 逻辑模型 当前系统 计算 机化 评审 修改 正式模型 完善 细节 目标系统 目标系统 初始模型 系统模型 用户 1、建立 目标系统 逻辑模型的步骤 2021/4/16 图形工具 数据流图 数据字典 2、建立目标系统逻辑模型的图形工具 2021/4/16 - 学生购买教材的 具体模型 举 例 请建立计算机 售书系统的逻辑模型 张 秘书 学 生 购书 王 会计 发票 李 出纳 领书 赵 保管 单 证明 书 -学生购买教材的 逻辑模型 审查 有效性 学 生 有效 开发票 发票 开领 书单 领书单 发书 购书单 书 2021/4/16 -学生购买教材的 逻辑模型 审查并 开发票 学 生 发票 各班学生用书表 教材存量表 无效书单 开领 书单 领书单 学 生 完善目标系统并补充细节,的出目标系统的正式逻辑模型 2021/4/16 三、需求规格说明书与评审 软件需求说明书 - SRS(Software Requirement Specification) 主要包括以下的内容 : SRS 引言 数据描述 数据流图 数据字典 功能描述 性能描述 特殊需求 2021/4/16 一、数据流图 3.2 面向数据流的方法 - DFD( Data Flow Diagram) 是用来描述系统逻辑模型的一种图形工具。 数据流图从数据传递和加工的角度,以图形的方式 刻画数据流从输入到输出的移动变换过程。 DFD 2021/4/16 储 户 检验 付款 登录 存折 帐卡 办理取款手续的 DFD 图 检验不合格 现款 付款信息 2021/4/16 1、数据流图中的主要图形元素 - 转换数据流的处理过程 - 可以是数据库文件或任何形式的数 据组织。箭头向内则表示写入文件 或查询文件,箭头向外则表示从文 件中读取数据或得到查询结果 数据转换 外部实体 - 位于软件系统边界之外的信息生产者 或 消费者 数据流 - 在转换之间有向流动的数据项或数据 集合 数据存储文件 2021/4/16 - 系统 逻辑 模型 数据的 加工或 变换 输入 输出 软件 系统 外部实体 外部实体 外部实体 外部实体 2021/4/16 -学生购买教材的 逻辑模型 审查并 开发票 学 生 发票 各班学生用书表 教材存量表 无效书单 开领 书单 领书单 学 生 外部 实体 数据的 加工 2021/4/16 2、数据流图中的其它图形元素 A B C - 有 A 则 B 或者 C, 或者两者都有 * A B C + A B C - 有 A 则 B 与 C, 或者两者同时有 - 有 A 则 B 或 C, 但不会同时有 B与 C 2021/4/16 - 标识多个数据流与加工之间关系的符号 - 当 A 或 B 有一个存在就有 C A B C * A B C - 只有当 A 与 B 都存在,则有 C 2021/4/16 3、分层的数据流图 F0 F11 F12 F13 F14 F15 F21 F22 F23 F24 F25 第 n 层 第 n+1 层 第 n+2 层 2021/4/16 人工销售教材 系统流程图 学生 开购书 证明 购书 证明 开购书 发票 发 票 收书费 领书单 发书 学生 举 例 2021/4/16 学 生 教材 购 销 系统 购书单 领书单 缺书单 进书通知 进书通知 保 管员 1 销售 购书单 领书单 学 生 缺书单 进书通知 2 采购 保 管员 第 1 层 第 2 层 教材存量表 F1 缺书登记表 F2 外部实体 外部实体 2021/4/16 教材销售子系统 无效书单 购书单 1.3 登记并开 领书单 1.2 开发票 1.1 审查 有效性 1.4 登记 缺书 1.5 补售 教材 采 购 学 生 学 生 进书通知 有效书单 发票 领书单 暂缺书单 1 销售 购书单 领书单 缺书单 进书通知 2 采购 进书通知 缺书登记表 教材存量表 学 生 保 管员 第 2 层 补售 书单 第 3 层 教材存量表 F1 缺书登记表 F2 F1 书号 单价 数量 各班用书表 F3 售书登记表 F4 外部 项 2021/4/16 1 销售 购书单 领书单 缺书单 进书通知 2 采购 进书通知 缺书登记表 教材存量表 学 生 保 管员 采购 子系统 第 2 层 第 3 层 缺书单 2.3 修改教材库 存和待 购量 销 售 进书通知 进书通知 2.1 按书号汇 总缺书 2.2 按出版社统 计缺书 保 管员 教材存量表 F1 待购教材表 F5 教材一览表 F6 缺书登记表 F2 2021/4/16 . 便于实现 . 便于使用 - 采用 逐步细化 的扩展方法,可避免一 次引入过多的细节,有利于控制问题 的复杂度; - 用一组图代替一张总图,方便用户及 软件开发人员阅读。 4、分层 DFD 图的优点 2021/4/16 . 注意父图和子图的平衡 5、画分层 DFD 的指导原则 发票 1.3 开领书单 领书单 (a) 父图 1.3.1 学生 领书单 1.3.2 1.3.3 教材 (a)子图 2021/4/16 . 区分局部文件和局部外部项 . 掌握分解的速度 一般来说,每一个加工每次可分为 2-4个子加工,最 多不得超过 7 个。 . 遵守加工编号规则 顶层加工不编号。第二层的加工编号为 1,2,3, ,n号。 第三层编号为 1.1,1.2,1.3 n.1,n.2 等号,依此类推。 2021/4/16 1 销售 购书单 领书单 缺书单 进书通知 2 采购 进书通知 缺书登记表 教材存量表 学 生 保 管员 采购 子系统 第 2 层 第 3 层 缺书单 2.3 修改教材库 存和待 购量 销 售 进书通知 进书通知 2.1 按书号汇 总缺书 2.2 按出版社统 计缺书 保 管员 教材存量表 F1 待购教材表 F5 教材一览表 F6 缺书登记表 F2 局部 外部项 局部 文件 2021/4/16 练 请画出学生成绩管理系统的 DFD 图 习 2021/4/16 二、数据字典 - DD( Data Dictionary) 数据字典的任务是 : 对于数据流图中出现的所有被 命名的图形元素在字典中作为一个词条加以定义,使得 每一个图形元素的名字都有一个确切的解释。 DD 2021/4/16 1、数据字典的定义 数据流名: 说明:简要介绍作用即它产生的原因和结果。 数据流来源:即该数据流来自何方。 数据流去向:去向何处。 数据流组成:数据结构。 每个数据量流通量:数据量、流通量。 (1) 数据流词条的描述 数据流名: 发票 说明:用作学生已付书款的依据 数据流来源:来自加工 “ 审查并开发票 ” 数据流去向:流向加工 “ 开领书单 ” 。 数据流组成:学号 +姓名 +书号 +单价总价 +书费合计 审查并 开发票 发票 2021/4/16 数据元素名 : 类型 :数字(离散值、连续值),文字(编码类型) 长度 : 取值范围 : 相关的数据元素及数据结构 (2) 数据元素词条的描述 年 = “ 1900” .“ 3000” 月 = “ 01” .“ 12” 日 = “ 01” .“ 31” 摘要 = 1字母 4 金额 = “ 00000000.01” .“ 999999999.99” 2021/4/16 (3) 数据文件词条的描述 数据文件名: 简述:存放的是什么数据。 输入数据 : 输出数据 : 数据文件组成 :数据结构。 存储方式 :顺序,直接,关键码。 存取频率 : 审查并 开发票 学 生 发票 各班学生用书表 教材存量表 2021/4/16 加工名 : 加工编号 :反映该加工的层次 简要描述 :加工逻辑及功能简述 输入数据流 : 取值范围 : 相关的数据元素及数据结构 (4) 加工逻辑词条的描述 1.3 审查并 开发票 学 生 发票 各班学生用书表 教材存量表 2021/4/16 名称:外部实体名 简要描述 :什么外部实体 有关数据流 : 数目 : (5) 外部实体词条描述 1 销售 购书单 领书单 缺书单 进书通知 2 采购 进书通知 缺书登记表 教材存量表 学 生 保 管员 2021/4/16 2、数据字典定义符号 符号 含 义 例 子 = 被定义为 + 与 x=a+b, 则表示 x 由 a 和 b 组成 x=a,b, 则表示 x 由 a 或由 b 组成 或 重复 x=a, 则表示 x 由 0个 或多个 a 组成 ( ) 可选 表示在两个 * 之间的内容为词条的注释 m n 重复 x=3a8, 则表示 x中至少出现 3次 a ,最多出现 8次 * 注释符 x=(a), 则表示 a 在 x 中出现 , 也可不出现 2021/4/16 储 户 检验 付款 登录 存折 帐卡 - 办理取款手续的 DFD 图 检验不合格 现款 付款信息 练 习 请为下列给出的 DFD 图编写 DD 2021/4/16 日期 年月日 摘要 支出 存入 余额 操作 复核 户名 : 储蓄网点名称 : 帐号 : 开户日 : 性质 : 印密 : - 存折格式 2021/4/16 日期 (年月日 ) 摘要 支出 存入 余额 操作 复核 户名 : 储蓄网点名称 : 帐号 : 开户日 : 性质 : 印密 : 存折 = 户名 +所号 +帐号 +开户日 +性质 +(印密 )+1存取行 20 户名 = 2字母 24 所号 = “ 001” .“ 999” 帐号 = “ 00000001” .“ 99999999” 开户日 = 年 +月 +日 性质 = “ 1” .“ 6” 印密 = “ 0” 存取行 = 日期 +(摘要) +支出 +存入 +余额 +操作 +复核 日期 =年 +月 +日 年 = “ 1900” .“ 3000” 月 = “ 01” .“ 12” 日 = “ 01” .“ 31” 摘要 = 1字母 4 支出 = 金额 金额 = “ 00000000.01” .“ 999999999.99” 2021/4/16 3、数据字典的实现 数据字典的实现 人工方法 自动方法 将每一字典中的词条 写在一张卡片上,由 专人管理和维护 利用 “ 字典管理程序 ” 在计算机中对字典进 行管理和维护。 2021/4/16 三、加工说明 -( Process Specification) 加工说明是 :对 DFD 中每个加工给予说明。它是从 系统功能的角度对 DFD 作出了注解,与 DD 一样是 DFD 必不可缺少的辅助资料。 PS 2021/4/16 加工说明组成 输入 数据 加工 逻辑 输出 数据 加工说明 描述工具 结构化 语言 判定 表 判定 树 描述把输入数据流变 换为输出数据流的加工过 程,是加工说明的主体。 2021/4/16 -学生购买教材的 逻辑模型 审查并 开发票 学 生 发票 各班学生用书表 教材存量表 无效书单 开领 书单 领书单 学 生 2021/4/16 自然语言 +结构化形式 结构化语言 选 择 结 构 如果 If 如果 则 否则 情况 1 情况 n If then Otherwise case 1 case n 循 环 结 构 对 , 重复以下 直至 For each , Repeat the following: Until 2021/4/16 例 1: 请写出下列在 DFD 图中给出的 “ 统计晚婚职工 ” 的加工说明 Count Late -Marriage Employees Late-Marriage -Count Request 职工名册文件 Late-Marriage-List =List-Count+Name-List Name-List=Name 2021/4/16 Count Late-Marriage Employees Policy For each Late-Marriage-Count request: Repeat the following; Access the staffs-Record. If status is single, If sex is maie and Age is over 30 or sex is female and Age is over 26 Write Name to Name-List. Increment List-Count. Until there are no more Staff-Records. Combine List-Count and Name-List. Write Up Late-Marriage-List. 2021/4/16 -学生购买教材的 系统逻辑模型 审查并 开发票 学 生 发票 各班学生用书表 教材存量表 无效书单 开领 书单 领书单 学 生 例 2: 请为下列 DFD中的 “ 审查并开发票 ” 加工点写 加工说明 2021/4/16 把学生学号和姓名写到发票上 按购书单上学生的年级和系、专业与班号 检索 “ 各班学生用书表 ” 文件,获得该生当年的书单 对 购书单上的每一书号 如果 书单上无此书号 则 把书号写到出错通知单上 否则 按书号检索 “ 教材存量表 ” 文件, 从而获得该书的单价与库存量 如果 库存量 购书单的数量 则 将书号写到出错通知单上 否则 将 书号、单价、数量、总价等项写入到发票上; 更新存书量,并写回 “ 教材存量表 ” 文件; 累计书费合计 把 书费合计写到发票上 对 每张购书单 2021/4/16 分房 加工 中级职称 优先分房 分房加工逻辑 判断表 采用表格的形式来表达 具复杂判断的加工逻辑 1、一般职工婚后 5年可参加分房 2、中级以上职称的职工婚后 3年 可参加分房 3、符合正常分房条件的职工, 若再符合晚婚条件可优先分房 2021/4/16 分房 加工 中级职称 优先分房 1 2 3 4 5 6 说 明 条 件 婚 龄 5年 3-5年 5年 3-5 年 $500 $500 =$500 60天 60天 =60天 决 策 不发出批准书 V 发出批准书 V V V 发出发货单 V V V 发出赊欠报告 V 2021/4/16 作 业 工资管理系统 系统流程图 系统软件模型 部分数据字典 一、对工资管理系统进行需求分析 二、阅读教课书的 P27 页 2021/4/16 三 、 把下列用文字叙述的内容请采判断表和判断树描述出来 设某旅游票预定系统中,在旅游旺季 7- 9、 12月 份,如果订票超过 50张,则优惠票价的 15% ; 50张以 下,优惠 5%。在旅游淡季 1-6, 10、 11月份,若订票超 过 50张,则优惠 30%; 50张以下,优惠 20%。 2021/4/16 面向对象 继承 类 3.3 面向对象的需求分析 一、面向对象的概念 对象 消息 2021/4/16 对 象 对象就是一个包含数据以及与这些数据有关 的操作的集合。每个实体都是对象。 对象 数 据 操作代码 2021/4/16 类 是一组具有 相同数据结构 和 相同操作 的对象 集合。类的定义包括一组数据属性和在数据上的 一组合法操作。类定义可视为一个具有类似特性 与共同行为的对象摸板,可用来产生对象。 可以说,类是对象的抽象,而对象是类的具 体实例。 2021/4/16 继承 是在一个已存有的类的基础上建立一个新 的类。并将已存在的类称为 -基类或父类; 新建立的类称为 派生类或子类。 继 承 基 类 派 生 类 2021/4/16 对象继承了类所有属性 - 从 类 到 对象 的继承 cost dimension weight location color 类 : furniture cost dimension weight location color 对象 : chair 对象、类、继承 2021/4/16 对象 继承类的所有属性和操作 cost dimension weight location color 类 : furniture Buy Sell Weight move cost dimension weight location color 对象 : chable Buy Sell Weight move cost dimension weight location color 对象 : chair Buy Sell Weight move 2021/4/16 - 面向 对象类 的表示模式 类名 : 操作 : 属性 : 2021/4/16 识别对象 1、标识潜在对象 找出通过分析过程中的所有名词或名词短语并合并 同义词。除去有动作含义的名词,使它们将被描述为对 象的操作。 标识规则如下 : (1)、外部实体 (2)、事物 (3)、位置 (7)、聚焦对象 (5)、事件 (6)、角色 (4)、组织机构 2021/4/16 二、面向对象的分析方法 (OOA) Object Oriented Analysis OOA 的核心思想是利用 OO的概念 和方法对软件需求建造模型,以使用户 需求逐步精确化、一致化、完全化。 为此, OOA的方法步骤为 : 识别对象 属性及外部服务 识别类及其结构 定义对象之 间的消息传递 2021/4/16 潜在对象 理由 用户 传感器 控制面板 系统 (SafeHome System) 传感器编号 密码 电话号码 传感器事件 警报器 角色或外部实体 外部实体 外部实体 聚焦对象 概念实体 概念实体 概念实体 事件 外部实体 例如 : 2021/4/16 2、筛选对象 筛选对象规则如下 : (1)、具有记忆自身状态的能力 (2)、有意义的操作 (3)、多个属性 (5)、公共操作 (6)、必须的需求 (4)、公共属性 潜在对象 理由 用户 传感器 控制面板 系统 ) 传感器编号 密码 电话号码 传感器事件 警报器 角色或外部实体 外部实体 外部实体 聚焦对象 概念实体 概念实体 概念实体 事件 外部实体
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!