




已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3讲软件需求分析 李凡lifan 计算机专业必修课程 软件工程 成都信息工程学院计算机学院 1 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模需求案例分析需求分析小结 2 软件需求作为软件生存周期的第一个阶段 其重要性越来越突出 到20世纪80年代中期 逐步形成了软件工程的子领域 需求工程 20世纪90年代后 需求工程成为软件界研究的重点之一 从1993年起 每两年举办一次需求工程国际研讨会 ISRE 1994年起 每两年举办一次需求工程国际会议 ICRE 一些关于需求工程的工作小组相继成立 使需求工程的研究得到了迅速进展 软件需求与需求工程 3 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模需求案例分析需求分析小结 4 软件需求的基本概念 1 什么是软件需求工程 2 软件需求工程的任务是什么 3 需求工程过程具体步骤 4 软件需求具体分析方法 软件需求工程涉及的几个问题 5 软件需求的基本概念 软件需求的重要性 软件需求无疑是当前软件工程中的关键问题 没有需求就没有软件 美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查 分析失败的原因发现 与需求过程相关的原因占了45 而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因 各占13 和12 未完成 完成未实施 完成 6 软件需求是软件工程中最复杂的过程之一 应用领域的广泛性 它的实施无疑与各个应用行业的特征密切相关 非功能性需求建模技术的缺乏 及其与功能性需求有着错综复杂的联系 大大增加了需求工程的复杂性 沟通上的困难 由于系统分析员 需求分析员等各方面人员有不同的着眼点和不同的知识背景 给需求工程的实施增加了人为的难度 软件需求的困难 软件需求的基本概念 7 软件需求 软件需求的内容 软件需求的基本概念 8 它是对系统应该提供的服务 功能以及系统在特定条件下的行为的描述 它与软件系统的类型 使用系统的用户等相关 有时需要详细描述系统的功能 输入 输出 异常等 有时还需要声明系统不应该做什么 它是由软件系统的应用领域所决定的特有的功能需求 或是对功能的约束 功能需求 领域需求 软件需求的基本概念 9 非功能需求 软件需求的基本概念 10 有一个大学图书管理系统 该系统除了一般的图书管理功能外 还能够为学生和教工从其他图书馆借阅图书和文献资料提供服务 软件需求案例 大学图书馆里系统 功能需求 非功能需求 领域需求 基本数据维护 基本业务功能 数据库管理功能 信息查询功能 安全性需求 可用性需求 查询速度需求 可靠性需求 图书编目规范 版权保护 读者 图书资料的相关信息 读者借 还书籍的登记管理书籍的编目 入库 更新 对所有图书信息及读者信息进行统一管理维护 对用户借书 还书 书籍 预留等进行查询 各项功能进行分级 分权限操作 对各类用户进行确认 对所有交互操作提供在线帮助 系统在20s之内响应查询服务请求 系统失败发生率小于1 图书编目按照 中国图书馆分类法 进行 文献资料只能在图书馆规定的阅览室阅读 并限制复制和打印 软件需求的基本概念 11 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模需求案例分析需求分析小结 12 在传统软件工程生存周期中 涉及需求的阶段称作需求分析 一般来说 需求分析的作用是 定义软件的范围及必须满足的约束 确定软件的功能和性能及与其他系统成分的接口 建立数据模型 功能模型和行为模型 最终提供需求规格说明 并用于作为评估软件质量的依据 传统需求分析 需求工程过程 13 需求工程是系统工程和软件工程的一个交叉分支 涉及软件系统的目标 软件系统提供的服务 软件系统的约束和软件系统运行的环境 它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系 它也提供现实需求和软件能力之间的桥梁 需求工程 需求工程过程 需求工程 14 需求工程过程 需求工程过程流程 15 需求工程的基本活动 获取需求 深入实际 在充分理解用户需求的基础上 获取系统需求 需求分析与建模 进行需求建模 对模型或原型进行分析 确认需求 确保需求说明准确 完整地表达系统的主要特性 进化需求 客户的需要总是不断 连续 增长的 进化需求是必要的 需求工程过程 16 需求获取是需求工程的主体 缺乏领域知识 应用领域的问题常常是模糊的 不精确的 存在默认的知识 如难以描述的常识问题 存在多个知识源 且多个知识源之间可能有冲突 客户可能的偏见 如不能提供或不想告知你所需要了解的事情 需求获取一般比较困难 主要原因有 需求工程过程 需求获取 17 1 面谈法重要而直接 简单的需求获取技术 2 问卷调查法是对面谈法的补充 3 需求专题讨论会最有力的需求获取技术 有利于培养高效团队 4 观察用户的工作流程适用于用户无法准确表达需求的情况 5 原型化方法6 基于用例的方法7 知识工程方法如 场记分析法 卡片分类法 分类表格技术和基于模型的知识获取等 面谈的对象主要有用户和领域专家 1 面谈前的准备要充分 2 面谈后注意认真分析总结 3 注意掌握面谈的人际交流技能 需求工程过程 需求获取的方法 是从多个用户中收集需求信息的有效方式 一般问卷设计形式 1 多项选择问题 2 评分问题 3 排序问题 由开发方和用户方共同召开需求主题沟通会 操作步骤 开发方根据双方制定的 需求调研计划 确定会议内容 会后开发方整理出 需求调研记录 提交给用户方确认 如果此主题还有未明确的问题则再次沟通 否则开始下一主题 所有需求都沟通清楚后 开发方根据历次 需求调研记录 整理出 用户需求说明书 提交给用户方确认签字 18 由于需求是软件开发的第一阶段 直接影响后面各阶段的开发 需求的可变性必须进行验证 做什么 怎么做 需求工程过程 需求的有效性验证 19 1 有效性检查 指功能需求是否符合用户所提出的需求 2 一致性检查 系统功能描述及约束是否一致 3 完备性检查 是否包含所有系统用户的需求和约束 4 可检验性检查 能否设计出一组验证方法 确定了检验的标准 需求工程过程 需求的有效性验证的内容 20 需求管理贯穿需求分析全过程 包括 记录所有需求的变化 需求管理 需求工程过程 21 需求管理的所有活动中 最重要的是 需求变更管理 包括 变更分析和成本计算 需求管理过程需要CASE Computer AidedSoftwareEngineering 工具支持 需求工程过程 需求变更管理 问题分析和变更描述 变更实现 22 1 传统的变化管理基本内容包括软件配置 软件基线 softbaseline 和变化审查 软件基线是软件文档或源码 或其他产出物 的一个稳定版本 它是进一步开发的基础 它提供一个正式标准 随后的工作基于此标准 并且只有经过授权后才能变更这个标准 建立一个初始基线后 以后每次对其进行的变更都将记录为一个差值 直到建成下一个基线 需求工程过程 需求变更管理的方法 23 2 新的管理方法 软件家族法即软件产品线方法 该方法是源于工业界产品线的概念 关注于一个软件企业如何组织一组具有共性特征的 相似产品的生产 并应用软件复用的相关原理与技术 多视点方法它用于管理不一致性 并进行关于变化的推理 是从多个视点出发在软件工具的协助下对需求描述 进行自动需求建模 从而提高需求模型的完整性 需求工程过程 需求变更管理的方法 24 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模功能分解分析方法结构化分析方法信息建模法面向对象分析方法需求案例分析需求分析小结 25 需求分析和建模又包含三个层次的工作 1 需求分析2 需求建模 分为企业建模 功能需求建模和非功能需求建模等 3 需求规格说明 具有不同的描述方式 需求分析与建模主要对收集到的需求进行提炼 分析和认真审查 确保所有参加人员取得共识 找出错误 遗漏和不足 建立完整的分析模型 需求分析与建模 26 1 分解将大问题分解为小问题 通常是自顶而下 不断细化的过程 2 抽象抓住问题的本质特性 从不同抽象层次进行分析 提出解决问题的方案 3 多视点注意从各类开发人员和不同用户的角度考虑问题 才能获得对系统的全面 完整的需求 需求分析与建模 需求分析常用方法 27 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模功能分解分析方法结构化分析方法信息建模法面向对象分析方法需求案例分析需求分析小结 28 将系统看作若干功能模块的集合 每个功能又可以分解为子功能 子功能还可继续分解 分解的结果即是系统的雏形 功能分解方法的缺点1 需要人工完成2 无法对描述的准确度进行验证3 难以适应需求的变化 需求分析与建模 功能分解方法 29 1 客房预定系统2 前台接待系统3 前台收银系统4 账务系统5 管家系统6 电话系统7 客房系统8 合约系统9 经理系统10 总经理系统11 密码管理系统12 报表系统13 账务报表 酒店管理系统 按照功能分解为以下子系统 需求分析与建模 功能分解方法应用举例 30 用户提出系统应有以下功能 计算买主订单 准备销售报表 建立买主文件和应收账发票 运行更新的盘存文件 产生托运单和包装单 保证库存及时订货 计算销售记录1 1 1 产生销售报表1 1 2 核对买主贷方金额1 1 3 需求分析与建模 功能分解方法应用举例 盘存 销售系统 31 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模功能分解分析方法结构化分析方法信息建模法面向对象分析方法需求案例分析需求分析小结 32 是一种以数据 数据的封闭性为基础 从问题空间到某种表示的映射方法 由数据流图 DFD图 表示 需求分析与建模 结构化分析方法 实体 数据流 加工名 文件名 33 分解 对于一个复杂的系统 为了将复杂性降低到可以掌握的程度 可以把大问题分解成若干小问题 然后分别解决 如右图 抽象 分解可以分层进行 即先考虑问题最本质的属性 暂把细节略去 以后再逐层添加细节 直至涉及到最详细的内容 这种用最本质的属性表示一个系统的方法就是 抽象 需求分析与建模 结构化分析方法的基本思想 分解 与 抽象 34 深入调查研究 分析用户需求 用DFD图描述 分析系统需求 用DFD图描述 修改完善DFD图 增添功能 需求分析与建模 结构化分析方法的步骤 35 1 分层的数据流图 DFD图 2 数据词典3 描述加工逻辑的结构化语言 判定表及判定树 需求分析与建模 结构化分析结果的描述方法 36 是描述系统中数据流程的图形工具 它描述了将系统的逻辑输入转换为逻辑输出所需的加工处理过程 辅助的图例 数据流图的图符基本图形符号 数据流图 DataFlowDiagram DFD 需求分析与建模 37 顾客 出版社 验证订单 汇总订单 订单 出版社订单 图书目录文件 正确订单 一批订单 出版社档案文件 画图步骤 1 确定外部实体及输入 输出数据流 2 确定分解顶层的加工 3 确定使用的文件 4 用数据流将各部分连接起来 形成数据封闭 注意 标注各加工框及数据流名称 图书预订系统 顶层DFD图 需求分析与建模 38 顶层 中间层 底层 先全局后局部 先整体后细节 先抽象后具体 0图 1图 2图 1 1图 2 1图 2 2图 分层DFD图 需求分析与建模 39 2 加工分解的原则自然性 概念上合理 清晰 均匀性 理想的分解是将一个问题分解成大小均匀的几个部分 分解度 一般每一个加工每次分解最多不要超过 个子加工 分解应分解到基本加工为止 画分层DFD图的基本原则 1 数据守恒与数据封闭原则数据守恒是指加工的输入 输出数据流是否匹配 即每一个加工既有输入数据流又有输出数据流 数据封闭是对整个系统而言 需求分析与建模 40 4 合理使用文件当文件作为某些加工之间的交界面时 文件必须画出来 一旦文件作为数据流图中的一个独立成份画出来了 那么它同其他成分之间的联系也应同时表达出来 注意 DFD图不是流程图 不表示软件的控制流程 3 子图与父图的 平衡 父图中某个加工的输入 输出数据流应该同相应子图的输入 输出相同 相对应 分层数据流图的这种特点称为子图与父图 平衡 画分层DFD图的基本原则 需求分析与建模 41 DFD图必须经过反复修改 才能获得最终的目标系统的DFD图 可从以下方面改进DFD图 1 检查数据流的正确性 数据守恒 子图 父图的平衡 文件使用是否合理 特别注意输入 输出文件的数据流 2 改进DFD图的易理解性 简化加工之间的联系 联系越少 独立性越强 易理解性越好 改进分解的均匀性 适当命名 各成分名称无二义性 准确 具体 分层DFD图的改进 需求分析与建模 42 分层数据流图只是表达了系统的 分解 为了完整地描述这个系统 还需借助 数据词典 和 小说明 对图中的每个数据和加工给出解释 对数据流图中包含的所有元素的定义的集合构成了数据词典 词典中可有以下四种类型的条目 数据流文件数据项加工 数据字典 DD 需求分析与建模 43 A 数据流条目给出某个数据流的定义 通常是列出该数据流的各组成数据项 例如 报名单 姓名 单位名 年龄 性别 课程名常用符号 C 数据项条目数据项条目给出某个数据单项的定义 通常是数据项的值类型 允许的取值范围 B 文件条目给出某个文件的定义 文件的定义通常是列出文件记录的组成数据流 例如 订单文件 订单编号 顾客名称 产品名称 订货数量 交货日期 D 加工条目加工类条目就是 加工小说明 一般应该单独列出 需求分析与建模 44 结构化语言判定表判定树 对DFD图中每一个基本加工都必须有一个小说明给出该加工的精确描述 小说明中应精确地描述加工的激发条件 加工逻辑 优先级 执行频率和出错处理等 加工逻辑是其中最基本的部分 指用户对这个加工的逻辑要求 对基本加工说明有三种描述方式 需求分析与建模 加工说明 45 结构化语言是介于自然语言和形式语言之间的一种半形式语言 是自然语言的一个受限制的子集 一般分为两层结构 外层语法较具体 为控制结构 顺序 选择 循环 内层较灵活 表达 做什么 例如 外层可为以下结构 1 顺序结构2 选择结构IF THEN ELSE CASE OF ENDCASE 3 循环结构WHILE DO REPEAT UNTIL 结构化语言 需求分析与建模 46 判定表是一种二维的表格 常用于较复杂的组合条件 与结构化语言比较 特点 可处理较复杂的组合条件 但不易理解 不易输入计算机 通常由四部分组成 条件框 条件定义 操作框 操作的定义 条件条目 各条件的取值及组合 操作条目 在各条件取值组合下所执行的操作 例如 对商店每天的营业额所收税率 需求分析与建模 判定表 47 例 一图书销售系统 其中一加工为 优惠处理 条件是 顾客的营业额大于1000元 同时必须信誉好 或者虽然信誉不好 但是20年以上的老主顾 判定表应用举例 需求分析与建模 48 特点 描述一般组合条件较清晰 易理解 不易输入计算机 判定树 需求分析与建模 49 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模功能分解分析方法结构化分析方法信息建模法面向对象分析方法需求案例分析需求分析小结 50 是从数据的角度对现实世界建立系统的信息模型 基本工具是E R图 是由实体 属性和关系组成的网络图 E 实体 是一个或一组对象 R 关系 实体之间联系或交互作用 需求分析与建模 信息建模方法 51 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模功能分解分析方法结构化分析方法信息建模法面向对象分析方法需求案例分析需求分析小结 52 面向对象分析方法 OOA 的关键是识别问题域内的对象 分析它们之间的关系 并建立需求模型 需求分析与建模 面向对象的分析方法 用例模型被推荐为获取和识别需求的首选工具 53 采用 基于用例的方法 来识别和获取需求 是从外部的角度来看系统功能 建立系统的Usecase模型 描述外部执行者 Actor 所理解的系统功能 即待开发系统的功能需求 用例 表示一个子系统 或者系统一个独立的功能 角色 表示外部的 执行者 用例图 UseCaseDiagram 需求分析与建模 54 ATM机验证储户身份的Usecase图 创建用例模型的工作包括 定义系统 确定执行者和用例 描述用例 定义执行者和用例之间 用例间的关系 确认模型 需求分析与建模 55 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模需求案例分析案例一医院病房监护系统案例二网上竞拍系统需求分析小结 56 案例一医院病房监护系统 采用结构化分析方法 案例二网上竞拍系统 采用基于用例的方法 需求案例分析 57 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模需求案例分析案例一医院病房监护系统案例二网上竞拍系统需求分析小结 58 一 问题的描述在医院ICU病房里 将病症监视器安置在每个病床 对病人进行监护 监视器将病人的组合病症信号实时地传送到中央监护系统进行分析处理 在中心值班室里 值班护士使用中央监护系统对病人的情况进行监控 监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析 当病症出现异常时 系统会立即自动报警 并打印病情报告和更新病历 根据医生的要求随时打印病人的病情报告 系统还定期自动更新病历 案例一医院病房监护系统 需求案例分析 医院病房监护系统 59 经过初步的需求分析 得到系统功能要求 1 监视病人的病症 血压 体温 脉搏等 2 定时更新病历 3 病情出现异常情况时报警 4 随机地产生某一病人的病情报告 监视病情 更新病历 医院病房监护系统 需求案例分析 医院病房监护系统 60 1 监视病员的病症 采集病症信号 血压 体温 脉搏等 组合病症信号 将模拟病症信号转换为数字信号 A D转换 2 定时更新病历 将病症信号进行格式化并加入更新日期 时间 更新病历库中病人的信息 可人工设定更新病历的时间间隔 局部监视 更新日志 系统功能需求 3 病情出现异常情况时报警 根据标准病症信号库中的值 判断是否报警 将报警信号转换为各种模拟信号 D A转换 实时打印病情报告 立即更新病历 4 随机地产生某一病员的病情报告 产生病情报告 需求案例分析 医院病房监护系统 61 1 监视器与网络的可靠性要求 涉及人的生命安全 2 效率需求中对时间 空间的需求 所采集的病症信号数据量大 3 互操作需求 如要求监视器采样频率可人工调整等 4 对病人病历的隐私的要求 系统非功能需求 需求案例分析 医院病房监护系统 62 顶层DFD图 医院病房监护系统分层DFD图 顶层确定了系统的范围 其外部实体为病人和护士 护士 病人 需求案例分析 医院病房监护系统 63 医院病房监护系统第一层DFD图 需求案例分析 医院病房监护系统 64 第二层 加工 中央监视 分解 医院病房监护系统第二层DFD图 需求案例分析 医院病房监护系统 65 医院病房监护系统分层DFD图 紧急报告 需求案例分析 医院病房监护系统 66 本讲内容提纲 软件需求与需求工程软件需求的基本概念需求工程过程需求分析与建模需求案例分析案例一医院病房监护系统案例二网上竞拍系统需求分析小结 67 随着Internet技术的发展和互联网的日益普及 互联网用户中约1 4的用户使用Internet进行通信或经贸活动 电子商务总额每年可达到6万亿美元 网上竞拍系统就是一个在互联网上模拟拍卖环境的典型的范例 可实现从展示产品 相互竞价到最后产品成交等一系列功能 用户可以轻松实现在线商品的拍卖和竞标 案例二网上竞拍系统 需求案例分析 网上竞拍系统 68 一 竞拍平台1 竞拍者资格审查2 竞拍规则设定3 竞拍过程控制 二 拍卖商品信息发布确定发布的商品信息对商品信息操作 三 拍卖步骤及在线帮助四 网上支付系统五 用户管理 用户需求 需求案例分析 网上竞拍系统 69 1 执行 用户系统是通过网络提供给商品的销售者和购买者一个交易平台 因此所有上网用户都是本系统的用户 具体又分为商品购买者和商品销售者 系统管理员 考虑到一般用户既可能是商品购买者也可能是商品销售者 所以将用户分为 非会员用户和会员用户 非会员 未注册的用户 只能在网站上浏览商品 不能参与竞标 也不能提供物品出售 会员 已注册的用户 可以直接参与拍卖或竞标 需求分析过程 需求案例分析 网上竞拍系统 70 2 用例 分析系统功能 提供高效的内容丰富的Web拍卖商业服务 展示产品 相互竞价 产品成交 实现拍卖商品种类的更新和消息的发布 实现个人物品流通和网上信息发布 留言 初步确定以下功能 1 会员注册2 会员天地3 商品分类浏览4 查找商品5 拍卖商品6 购买商品7 网上支付 需求分析过程 需求案例分析 网上竞拍系统 71 进一步确定以下功能 1 会员注册 填写用户账号 用户名 密码 Email等 2 会员天地 查看并修改个人信息 交易记录 收邮件 信用评价等 3 商品分类浏览 浏览 更新 最新商品推荐等 4 查找商品 按关键字查找 输出打印商品信息 5 拍卖商品 包括商品上架 提供商品信息 商品名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业技术专家高级认证考试题库及解析
- 2025年医院安保人员笔试模拟题
- 工会技能竞赛试题及答案
- 营销技能试题及答案
- 2025分公司经营承包协议(合同范本)
- 二年级数学试卷及答案
- 2025年国家助学贷款合同样本版
- 2025合同审核与批准会议记录(适用于招标后合同)
- 2025紧密型合作协议
- 2025典当行抵押合同
- GB/T 34239-2017聚3-羟基丁酸-戊酸酯/聚乳酸(PHBV/PLA)共混物长丝
- GB/T 26814-2011微波消解装置
- GB/T 13384-2008机电产品包装通用技术条件
- 粘膜免疫系统概述
- 钢板桩及支撑施工方案
- 新部编版四年级上册语文全册完整课件
- 政府信息公开申请表
- 冷藏车保温箱冰排使用记录
- FANUC工业机器人离线与应用项目7 工业机器人KAREL程序
- 综合能源管理解决方案(完整版)
- DB43∕T 291-2006 桃源大叶茶栽培技术规程
评论
0/150
提交评论