




已阅读5页,还剩119页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程 03章需求分析 2 引言1用户描述的可能不是他想要的 对用户的描述每个人有不同的理解 3 引言2 开发人员和用户之间的鸿沟 从前有一家汽车厂 想为年轻人设计一款新车型 企划及设计部讨论了许久始终找不到感觉 于是对25 35岁的年轻人进行问券调查 大伙辛苦了三个月 完成了一万份的调查记录 市场部门摘要了调查内容反映给设计部门 重点 省油 外型酷 颜色鲜艳 马力足等 设计部门有了灵感开始设计 半年过去了 设计部门很得意的把雏型车展示给大伙看 这个时候 CEO 市场部 企划部 都傻眼了 CEO开口说 为什么这车没有 轮子 设计部回答 市场部给的调查报告里 没说要有轮子市场部回说 问卷调查中 顾客没有提到要有轮子企划部生气的说 你们都是白痴啊 汽车要有轮子是基本常识 你们都不知道吗 就这样现场吵翻天了 注 原文地址 4 引言3 做需求要很细 很专业 很有经验 男孩反问 是无声枪么 不是 枪声有多大 80 100分贝 那就是说会震的耳朵疼 是 您确定那只鸟真的被打死啦 确定 鸟里有没有聋子 没有 没有关在笼子里的 没有 旁边树上还有其他鸟 没有 有残疾或饿的飞不动的鸟 没有 算不算怀孕肚子里的小鸟 都是公的 打鸟的人眼里有没有花 没有 有没有傻的不怕死的 都怕死 会不会一枪打死两只以上 不会 所有的鸟都可以自由活动么 完全可以 它们受到惊吓时不会互相撞上 不会 学生满怀信心的回答 打死的鸟要是挂在树上没掉下来 那么就剩一只 如果掉下来 就一只不剩 某日老师在课堂上想考考学生们的智商 就问一个男孩 树上有十只鸟 开枪打死一只 还剩几只 5 结论 需求具有主观性 二义性 多变性 模糊性 需求分析要求很专业 很仔细 很有经验 需求分析是确定系统应具备的功能 是其他所有工作的基础 因此非常重要 需求导致整个项目失败占的比例非常大 6 第三章软件需求分析 需求分析的任务与用户沟通获取需求的方法分析建模与规格说明实体一联系图数据规范化状态转换图其他图形工具验证软件需求小结习题 7 教学要求 教学目的 了解需求分析的任务和步骤 评审标准和过程 掌握基本技术 理解需求规格说明书的作用与组成 教学重点 基本技术 需求规格说明书的作用与组成 教学难点 基本技术 8 需求分折简介 软件需求指用户对所开发的软件在功能 性能 环境 可靠性等各方面的要求 需求分析主要回答待开发的系统必须 做什么 并用 需求规格说明书 的形式准确 详细 规范地表达出来 9 注意 需求分析阶段 系统分析员的主要关注点是 做什么 what 不是 怎样做 how 需求分析阶段 系统分析员应该给出软件求规格书 10 3 1需求分析的任务 四项主要任务 1 确定对系统的综合要求2 分析系统的数据要求3 导出系统的逻辑模型4 修正系统开发计划 11 提问并思考 如果你是一个用户 你会对将要开发的软件有哪些要求 12 3 1 1确定对系统的综合要求 功能需求 指定系统必须提供的服务 性能需求 指定系统必须满足的定时约束或容量约束等 可靠性和可用性需求 应定量指定 出错处理需求 指环境错误 非系统本身的错误 接口需求 常见的接口需求 用户接口需求 硬件接口需求 软件接口需求 通信接口需求 13 约束 常见的约束 精度 工具和语言约束 设计约束 应该使用的标准 应该使用的硬件平台 逆向需求 指定系统不应该做什么 将来可能提出的要求 14 3 1 2分析系统的数据要求 提问并思考 如果你是设计者 除了上述需求以外 你觉得还需要得到哪些要求 答 软件系统本质上是信息处理系统 要考虑数据和数据处理的问题 15 对系统数据的分析 建立数据 3 4节 描绘数据结构 3 7节 规范化 3 5节 16 3 1 3导出系统的逻辑模型 用数据流图 实体一联系图 状态转换图 数据字典和主要的处理算法描述这个逻辑模型 3 1 4修正系统开发计划根据在分析过程中获得的对系统的更深入更具体的了解 可以比较准确地估计系统的成本和进度 修正以前制定的开发计划 17 图 软件需求分析的通信途径 分析小组成员主要包括领域专家 系统分析员 客户访谈问题分析与确认 18 与用户沟通的方法 1 访谈2 面向数据流自顶向下求精3 简易的应用规格说明技术4 快速建立软件原型 19 3 2 1访谈 分正式和非正式访谈 可采用调查表形式可使用情景分析技术 20 例 某出版社系统调查表 21 3 2面向数据流自顶向下求精 结构化分析方法的实质 进一步细化可行性研究阶段获得到高层数据流图 包括建立 详细的数据流图 描绘数据在软件系统内从输入移动到输出的过程中所经受到变换 数据字典 定义数据流图中包含的元素 实体关系 ER 图 从用户角度描述数据 IPO图 描述数据流图中处理框的功能和算法 22 面向数据流自顶向下求精过程 23 3 2 3简易的应用规格说明技术 一种面向团队的需求收集法 提倡用户与开发者密切合作 共同标识问题 提出解决方案要素 商讨不同方案并指定基本需求 24 3 2 4快速建立软件原型 快速原形就是快速建立起来的旨在演示目标系统主要功能的可运行的程序 要点 实现用户看得见的功能 省略目标系统 隐含 功能 25 3 2 4快速建立软件原型 建立和修改原型的方法和工具 1 第四代技术 包括众多数据库查询和报表语言 程序和应用系统生成器以及其他非常高级的非过程语言 能快速生成可执行的代码 2 可重用的软件构件 使用一组已有的软件构件 也称为组件 来装配 而不是从头构造 原型 3 形式化规格说明和原型环境 在交互式环境下 用自动工具把基于形式语言的规格说明翻译成可执行的程序代码 26 3 3分析建模与规格说明 3 3 1分析建模什么是模型 为了理解事物而对事物做出的一种抽象 是对事物的一种无歧义的书面描述 模型通常由一组图形符号和组织这些符号的规则组成 27 模型的作用 在建模过程中了解系统 通过抽象降低复杂性 有助于回忆所有的细节 有助于开发小组间的交流 有助于与用户的交流 为系统的维护提供文档 28 例 结构化分析方法建立的需求模型 结构化分析 StructuredAnalysis SA 是面向数据流进行分析的方法 主要建立以下几种模型 实体关系图 Entity RelationshipDiagram E R图 来创建数据模型 描述系统中所有重要的数据对象 数据流图 DataFlowDiagram DFD 用来创建功能模型 描述了信息流和数据转换 状态转换图 State TransitionDiagram STD 用来创建行为模型 描述系统状态如何响应外部事件 而进行转换 29 例 面向对象分祈方法 OOA 所建立的摸型 对象模型 Objectmodel 定义实体 描述系统的静态结构 定义 对谁做 动态模型 Dynamicmodel 描述对象之间的交互过程 规定 何时做 功能模型 Functionalmodel 描述内部数据的处理 指明系统应 做什么 30 软件需求规格说明 软件需求规格说明书 是需求分析阶段最主要的文档 对目标进行完善和补充 并写出完整的需求说明 为消除自然语言中可能存在的不一致 歧义 含糊 不完整及抽象层次混乱等问题 有主张用形式化方法描述用户对软件系统的需求 例 GB8567 88计算机软件产品开发文件编制指南 31 结构化分析方法 StructuredAnalysis SA 面向数据流进行需求分析的方法适合于数据处理类型软件的需求分析 32 结构化分折模型的组成结构 33 3 4实体一联系图 实体一联系图 E一R图 描绘系统的数据关系 分析实体一联系有助于对业务或系统数据组成的理解和交互 ER图中包含了实体 数据对象 关系和属性三种基本成分一 基本概念 1 实体 客观世界中存在的 可区分的事物 属性 实体或数据对象所具有的性质 34 数据对象 实体 对软件必须理解的复合信息的表示 所谓复合信息是指具有一系列不同性质或属性的事物 因此仅有单个值的事物 例如姓名 不是数据对象 数据对象可能是 一个外部实体 例如生产或消费信息的任何事物 一个事物 例如一份报告 一次行为 例如一个电话呼叫 一个事件 例如一次警报 一个角色 例如教师 一个组织 例如学校教务处 一个地点 例如图书馆 一个结构 例如一个目录 35 一 基本概念 2 联系 客观事物之间的联系 联系分为三种 一对一 1 1 班级和班长一对多联系 1 N 班级和学生 系与教师 学生与宿舍多对多联系 M N 课程与学生 教师和课程 学生和学会二 E一R图的结构三种基本元素 36 例 教学E R图 37 例 仓库 职工 零件和供应商的ER图 38 三 如何建立实体一联系图 1 在需求收集的过程中 列出应用软件或业务过程涉及到的所有 事物 将其演化成数据对象 2 一次考虑一个对象 定义这个对象和其他对象之间是否存在连接 3 如果存在连接 应创建一个或多个关系 4 对每一个关系 确定其关联类型 5 重复步骤 2 到步骤 4 直到定义了所有关系 6 定义每个实体的属性 7 形式化并复审实体关系图 8 重复步骤 1 到 7 直到数据建模完成 39 2 4数据流图 DFD DataFlowDiagram 描述数据处理过程的工具 通过图形的方法 从数据传递和数据处理的角度 刻画数据流从输入到输出的移动变换过程 数据流三个重要属性 数据流名字 数据组成 流向 40 2 4 1符号 1 说明 用图形符号以黑盒子形式描绘组成系统的每个部件 程序 文档 数据库 人工过程等 表达数据在系统各部件之间流动的情况 41 符号 2 42 例1 描述银行取款过程的数据流图 43 应该注意的几个问题 适当地命名 详见教材p45 数据存储 代表数据静止状态 数据流 代表数据的运动状态 注意数据流与控制流的区别 通常数据流图中忽略出错处理 打开或关闭文件之类的事务处理 若数据的源点和终点相同 则应该有两个箭头和这个数据源 终 点相连 或重复画一个源 终 点 44 数据流图的层次结构 对于大型系统 往往采用自顶向下逐层分解的方法 用分层数据流图表示所有数据流和加工 对任何一个数据流图来说 它的上层图为父图 在它的下一层的图为子图 45 分层数据流图 46 说明 在多层数据流图中 顶层流图仅包含一个数据处理 它代表被开发系统 它的输入流是该系统的输入数据 输出流是系统所输出数据底层流图是指其数据处理不需再做分解的数据流图 它处在最底层中间层流图则表示对其上层父图的细化 它的每一数据处理可能继续细化 形成子图 47 注意的原则 1 数据流图上所有图形符号只限于前述四种基本图形元素 数据流图的主图必须包括前述四种基本元素 缺一不可 数据流图的主图上的数据流必须封闭在外部实体之间 每个数据处理至少有一个输入数据流和一个输出数据流 在数据流图中 需按层给数据处理框编号 编号表明该处理所处层次及上下层的亲子关系 48 注意的原则 2 规定任何一个数据流子图必须与它上一层的一个数据加工对应 两者的输入数据流和输出数据流必须一致 此即父图与子图的平衡 可以在数据流图中加入物质流 帮助用户理解数据流图 图上每个元素都必须有名字 数据流图中不可夹带控制流 初画时可以忽略琐碎的细节 以集中精力于主要数据流 49 例2 结构化分析方法步骤示例 商场业务处理系统假设某商场的经营业务 商场进货时 先发订货单给供应商 供应商收到订货单 将商品发给商场 商场货到付款 供应商收款后 将收据发给商场 当顾客到商场采购商品时 先下购物订单 商场查询库存中是否有此种商品 若有则发货给顾客 若没有 则向供应商订货 货到之后再销售给顾客 顾客收到货物之后付款 商场开收据给顾客 商场对货物的管理方面要求知道每种货物详细的销售情况 50 分析业务流程 订货过程 51 分析业务流程 采购过程 52 第一步 绘制顶层数据流图 1 基本思想 任何计算机系统都是有若干个数据源 终 点加上一个事务处理组成 首先从问题的描述中提取数据流图中的源 终 点 数据处理 数据流和数据存储四种成份 分析源 终 点 分析数据处理 分析数据流和数据存储 53 分析数据源点和终点 如果将商场的购 销业务系统看成一个整体 则外部的与这个系统有交往的对象 机构 人员 或外部系统 是 供应商 和 顾客 二者是商场购销系统源点和终点 54 分析源点 终点与商场之间的数据流 数据流方向分别是 供应商方给商场 发货单 货款收据顾客给商场 订单 货款商场给供货商 订货单 货款商场给顾客 货物 收据 55 分析数据存储 需要存储的数据分别是库存信息暂存订单 缺货订单 采购订单商品销售历史资金帐目 56 第一步 绘制顶层数据流图 2 57 第一步 绘制顶层数据流图 3 第一步 绘制顶层数据流图 3 58 第二步 将顶层数据流图细化 经过分析 商店业务处理的主要数据处理是销售 采购 会计三大数据处理 三者之间的数据流 59 需要存储的数据有 60 61 DFD L2 2 采购细化 62 DFD L2 1 销售细化 63 数据词典 DD datadictionary DD是对数据流图中包含的所有元素的定义的集合 使得每个图形元素的名字都有一个精确的 严格的定义 数据流图和词典结合在一起 能清楚地表达数据处理的要求 构成了 需求说明书 64 1数据字典的内容 主要描述数据流数据元素数据存储数据处理 65 2定义数据的方法 66 1 定义数据流 数据流名 说明 简要介绍作用即它产生的原因和结果 数据流来源 来自何方 数据流去向 去向何处 数据流组成 数据结构 数据量流通量 数据量 流通量 67 举例 68 数据流定义 69 2 定义数据元素 数据元素 数据项 指数据处理中最小的 不可再分的单位 描述包括 数据元素名 类型 数字 离散值 连续值 文字 编码类型 长度 取值范围 相关的数据元素及数据结构 70 数据元素定义举例 1 71 数据元素定义举例 2 72 数据元素定义举例 3 73 数据元素定义举例 4 74 3 定义数据存储 数据文件名 简述 存放的是什么数据输入数据 输出数据 数据文件组成 数据结构存储方式 顺序 直接 关键码存取频率 75 数据存储定义举例 1 76 77 78 4 定义数据处理 数据处理定义举例 1 79 数据处理定义举例 2 80 加工逻辑词条说明举例 3 81 源点及汇 终 点词条描述 名称 外部实体名简要描述 什么外部实体有关数据流 数目 82 数据规范化 1 第一范式每个属性值都必须是原子值 2 第二范式满足第一范式条件 而且每个非关键字属性都由整个关键字决定 3 第三范式符合第二范式的条件 每个非关键字属性都仅由关键字决定 而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述 范式低 冗余大 范式高 分解得细 冗余小 但处理过程复杂 83 状态转换图 STD 为了直观地分析系统的动作 从特定的视点出发描述系统的行为 需要采用动态分析的方法 状态转换图是一种常用的动态分析方法 是描述系统的状态如何响应外部信号 而进行转换的一种图形表示 84 1 状态 指任何可以被观察到的系统行为模式 一个状态代表系统的一种行为模式 主要有 初态 终态和中间状态 一个状态图中 只能有一个初态 但可以有0 多个终态 85 2 事件 某个特定时刻发生的事情 它是对引起系统做动作或 和 从一个状态转换到另一个状态的外界事情的抽象 86 状态转换图符号 活动表语法 事件名 参数表 动作表达式常用事件名 Entry Exit Do动作表达式 应做的具体动作事件表达式 触发状态转换的事件 语法 事件说明 守卫条件 动作表达式 其中 事件说明的语法 事件名 参数表 87 电话系统的状态图 电话系统的状态图 电话系统的状态图 88 其他图形工具 层次方框图 89 IPO图 90 验证软件需求 问 从哪些方面验证软件需求的正确性 如何验证 1 一致性自然语言书写的需求说明 只能用人工方法验证 形式化方法定义的可以借助验证工具2 完整性需要用户参与 合作 建立快速原型 3 现实性参照以往类似系统 进行真或性能模拟4 有效性 91 比较完整的数据流图例子 例 教务管理系统某校准备开发一个学生成绩管理系统 在该系统中 教务人员录入学生信息 课程信息和成绩信息 学生可以随时查询自己所选课程的成绩 由于学生成绩属于敏感信息 系统必须提供必要的安全措施以防非法存取 92 0层DFD分析 源点终点 教务人员 源点 学生 终点 数据处理 将系统当成一个整体 学生成绩管理 数据流 学生信息 课程信息和成绩 教务人员录入时 查询请求 查询结果 学生查询时 数据文件 成绩文件 学生文件 课程文件 93 第0层DFD图 教务人员维护学生信息和课程信息 并登录学生的选课成绩 学生查询自己的成绩单 94 第1层DFD说明 学生信息 是教务人员需要录入的一个信息 因此加入一个加入 录入学生信息 同样得到 录入课程信息 登记成绩 两个数据处理 另外 数据流 查询请求 和 查询结果 应该由数据处理 查询成绩 来完成 95 第1层DFD说明 对第0层DFD的加工 学生成绩管理 进行展开 数据处理 录入学生信息录入课程信息登记学生成绩查询学生成绩数据存储 增加这些数据流对应的数据存储 即 学生 课程 和 成绩 最后得到如图所示的第1层DFD 96 第1层DFD图 对第0层DFD的一个 学生成绩管理 进行展开 97 第2层DFD说明 继续分解第1层DFD中的加工 查询学生成绩 数据处理 分解为 合法性检查 和 查询成绩 数据文件 合法的查询条件 98 第2层DFD图对第1层DFD图中的一个加工 查询学生成绩 进行展开 99 部分数据字典 100 101 实例 图书馆图书信息管理系统 102 需求 读者来图书馆借书 可能先查询馆中的图书信息 查询可以按书名 作者 图书编号 关键字查询 如果查到则记下书号 交给流通组工作人员 等候办理借书手续 如果该书已经被全部借出 可做预订登记 等待有书时被通知 如果图书馆没有该书的记录 可进行缺书登记 办理借书手续时先要出示图书证 没有图书证则去图书馆办公室申办图书证 如果借书数量超出规定 则不能继续借阅 借书时流通组工作人员登记图书证编号 图书编号 借出时间和应还书时间 103 当读者还书时 流通组工作人员根据图书证编号 找到读者的借书信息 查看是否超期 如果已经超期 则处罚 如果图书有破损 丢失 则进行破损处罚 登记还书信息 做还书处理 同时查看是否有预订登记 如果有则发出到书通知 图书采购人员进行图书采购时 要注意合理采购 如果有缺书登记则随时进行采购 采购到货后 编目人员进行验收 编目 上架 录入图书信息 发到书通知 如果图书丢失或旧书淘汰 则将该书从书库中清除 即图书注销 需求 续 104 以上是图书管理系统的基本需求 经过与图书馆工作人员反复交流 他们提出了下列建议 建议1 当读者借阅的图书到期时 希望能够提前以一个短信息或电子邮件方式提示读者 建议2 读者希望能够实现网上查询和预订图书 建议3 应用系统的各种参数设置最好是灵活的 由系统管理人员根据需要设定 例如 借阅量的上限 还书提示的时间 预订图书的保持时间等参数 需求 续 105 用户给出的上述需求式一个比较简单的需求 没有向我们前面介绍的那样给出业务需求 用户需求 遇到这种情况我们要进一步与用户沟通 了解系统的目标 规模 范围 不能自己想当然确定 本例中用户给出的系统目标是实现读者借还书的信息化 并且利用Internet网络实现读者与图书馆之间的互动和图书馆的人性化管理 提高图书的利用率 系统的规模较小 只涉及图书 读者 借还书的管理 相关的部门有采编部 流通部 办公室 需求 续 106 描绘系统流程图 107 系统0层数据流程图 108 描述 本例中的数据源 终点有读者 采编部 办公室 流通部 读者提供的主要信息是读者号 书号 办公室是为读者分配读者号 定义处罚规则 借还书规则 采编部提供新书信息 流通部实现借还书操作 产生借还书信息 109 读者使用该系统进行图书信息查询 读者信息查询 网上预订图书 所以应该增加查询功能和预订图书功能 采购部的人员使用本系统完成图书编目 新书信息发布功能 为此增加图书编目和新书发布处理 流通部的工作人员使用本系统完成读者借还书的事务 应该为他们设置借书 还书处理 办公室的人员负责读者信息管理 罚款信息管理和系统的参数制定 为他们添加读者信息管理 处罚信息管理 系统参数维护三个处理 下面应该对图书馆信息管理系统这个 黑盒子 进行逐步分解 细化数据流程图 110 系统1层数据流程图 111 三个问题 一个是图形元素的编号问题 为了在进行细化的过程中图型元素保持原有的编号 我们在对图形元素编号时应该有规划 以保证在的细化过程中便于插入新的图型元素 另一个问题是对于一个较大型的应用系统 数据流程图往往会很复杂 因此可以将一个数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 4s店危废管理制度
- it配置管理制度
- 标准物流运输管理制度
- 校内咖啡团队管理制度
- 校园人脸通道管理制度
- 校园卫生健康管理制度
- 校园安全岗位管理制度
- 校园洗手设施管理制度
- 校园维修安全管理制度
- 校园足球家长管理制度
- 法律文化-形考作业4-国开(ZJ)-参考资料
- 2025年中考物理押题猜想卷(山西卷)(全解全析)
- 华为-项目管理培训-项目失败的风险初探
- 温敏型羟丁基壳聚糖护创敷料技术审评报告
- (完整版)装饰装修工程监理规划
- 英语专业四级写作评分标准
- 链板回转式格栅除污机出厂检验报告(LF型)
- 陕西省中小学学生休学复学申请表
- 模具外发加工与验收标准及流程
- 空调水管、流量、流速、管径自动计算以及推荐表和水管各种参数对照表47729
- 《架空输电线路防鸟挡板技术规范》征求
评论
0/150
提交评论