第03章 软件需求分析.ppt_第1页
第03章 软件需求分析.ppt_第2页
第03章 软件需求分析.ppt_第3页
第03章 软件需求分析.ppt_第4页
第03章 软件需求分析.ppt_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第一节需求分析的任务和过程第二节结构化分析方法第三节UseCase用例分析第四节类图分析 第三章需求分析 2 3 1软件需求分析的任务 深入描述软件的功能和性能决定解决方案 完成高层次的设计 确定软件设计的约束和软件同其它系统元素的接口细节定义软件的其它有效性需求 分析所定出的产品要求 判断其正确性 一致性 完整性和可行性把产品要求以用户手册及工程设计技术要求的形式表达出来 可能还包括测试的标准 用于在开发的全过程中验证核实所开发的产品确能满足用户的要求 支持技术文档的管理 更重要的是支持需求变化的管理 3 需求分析研究的对象是软件项目的用户要求准确地表达被接受的用户要求确定被开发软件系统的系统元素将功能和信息结构分配到这些系统元素 需求工程 4 需求工程的重要性 StandishGroup对350家公司的8000个软件项目作过一次调查 其中 31 的项目的结局是被取消 导致这些项目失败的原因是 13 1 不完整的产品要求 12 4 缺乏用户的参与 10 6 缺少资源 人力 财力 9 9 不现实的期望 9 3 高层领导支持不足 8 7 产品要求与指标的改变 8 1 没有制订计划 7 5 不再需耍该开发中的系统 其中 与产品需求有关的 1 2 4和6项 占了44 1 这些数据突出地显示了软件产品需求在软件开发中的重要性 5 3 1 1需求分析任务的抽象需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型 解决目标系统的 做什么 的问题 6 通常软件开发项目是要实现目标系统的物理模型目标系统的具体物理模型是由它的逻辑模型经实例化 即具体到某个业务领域而得到的捕获问题空间的 一般 特殊 关系是认识 构造问题的一般途径 7 3 1 2需求分析的过程 1 问题识别 从系统的角度来理解软件并评审软件范围是否恰当 确定对目标系统的综合要求 即软件的需求 提出这些需求实现条件 以及需求应达到的标准 8 软件的需求包括 功能需求性能需求环境需求可靠性需求安全保密要求用户界面需求 资源使用需求成本消耗需求开发进度需求预先估计以后系统可能达到的目标 9 用户需求 获得需求的角度 正常需求用户陈述的针对系统的目标期望的需求隐式的需求 可能由于是非常基础的而用户没有显示的陈述 如人机交互的容易性 整体的操作正确性和可靠性 以及软件安装的容易性兴奋的需求在用户的期望范围之外 如果实现将令人愉快和出乎意料 10 问题识别的另一项工作是建立分析所需要的通信途径 以保证能顺利地对问题进行分析 11 恰当地选取问题和需求的切入点 所有问题和需求都有发生的根源 其表面现象往往是开发者思路的切入点 如果切入点是狭隘的 那么围绕着问题和需求的分析往往局限于自身的思路范围 问题和需求产生的原因就很难发现 所以当不能理解分析的问题和需求时 不妨先跳出思维惯例 寻求存在这样的问题和需求的原因 然后再分析理解之 交替反复分析多个问题和需求 寻找问题间的共性和特性 12 问题复杂化 是一个抽象问题或需求的逆过程 提出问题需求的许多可能的假设 丰富问题需求的形式 问题复杂化的意图是许多问题应该从更多的方面去验证不同环境下问题是否同样存在 问题抽象化 继而简化问题 众多的问题和需求变成程序式过程 就是公式化问题和需求 13 2 分析与综合 从信息流和信息结构出发 逐步细化所有的软件功能 找出系统各元素之间的联系 接口特性和设计上的约束 分析它们是否满足功能要求 是否合理 剔除其不合理的部分 增加其需要部分 最终综合成系统的解决方案 给出目标系统的详细逻辑模型 14 3 编制需求分析阶段的文档 软件需求说明书 数据要求说明书 初步的用户手册 修改 完善与确定软件开发实施计划 15 4 需求分析评审 系统定义的目标是否与用户的要求一致 系统需求分析阶段提供的文档资料是否齐全 文档中的所有描述是否完整 清晰 准确反映用户要求 与所有其它系统成分的重要接口是否都已经描述 16 被开发项目的数据流与数据结构是否足够 确定 所有图表是否清楚 在不补充说明时能否理解 主要功能是否已包括在规定的软件范围之内 是否都已充分说明 设计的约束条件或限制条件是否符合实际 开发的技术风险是什么 17 是否考虑过软件需求的其它方案 是否考虑过将来可能会提出的软件需求 是否详细制定了检验标准 它们能否对系统定义是否成功进行确认 18 3 1 4软件需求分析的原则 需要能够表达和理解问题的信息域和功能域要能以层次化的方式对问题进行分解和不断细化要给出系统的逻辑视图和物理视图 19 捕获问题空间的 整体 部分 关系是降低问题复杂性的基本途径之一 20 软件需求规格说明的原则 从现实中分离功能 即描述要 做什么 而不是 怎样实现 要求使用面向处理的规格说明语言 或称系统定义语言 如果被开发软件只是一个大系统中的一个元素 那么整个大系统也包括在规格说明的描述之中 21 规格说明必须包括系统运行环境规格说明必须是一个认识模型规格说明必须是可操作的规格说明必须容许不完备性并允许扩充规格说明必须局部化和松散耦合 22 好的思维 严谨 逻辑和 活跃 的思考习惯 严谨要求思考的对象应该是不放过任何一个 小 问题逻辑要求思考的过程应该是一种符合规则的推导过程活跃思维要求思考的方式应该是并行的 即不是仅一个角度 而是多个角度来思考问题 23 3 2结构化分析方法 常用的分析方法面向数据流的结构化分析方法 SA 面向数据结构的Jackson方法 JSD 结构化数据系统开发方法 DSSD 面向对象的分析方法 OOA 等 24 软件需求方法 需求分析方法由对软件问题的信息域和功能域的系统分析过程及其表示方法组成大多数的需求分析方法是由信息驱动的信息域具有三种属性 信息流 信息内容和信息结构 25 3 2 1结构化分析方法 面向数据流进行需求分析的方法结构化分析方法适合于数据处理类型软件的需求分析 26 具体来说 结构化分析方法就是用抽象模型的概念 按照软件内部数据传递 变换的关系 自顶向下逐层分解 直到找到满足功能要求的所有可实现的软件为止结构化分析方法使用工具 数据流图 数据词典 结构化英语 判定表与判定树 27 3 2 2数据流图 3 2 2 1数据流图中的主要图形元素 28 描述银行取款过程的数据流图 29 3 2 2 2数据流与数据加工之间的关系 30 3 2 2 3数据流图的层次结构 为了表达数据处理过程的数据加工情况 需要采用层次结构的数据流图 按照系统的层次结构进行逐步分解 并以分层的数据流图反映这种结构关系 能清楚地表达和容易理解整个系统 31 分层数据流图 32 在多层数据流图中 顶层流图仅包含一个加工 它代表被开发系统 它的输入流是该系统的输入数据 输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图 它处在最底层中间层流图则表示对其上层父图的细化 它的每一加工可能继续细化 形成子图 33 3 2 2 4结构化分析方法步骤示例商店业务处理系统 数据流图绘制步骤首先确定系统的输入和输出根据商店业务 画出顶层数据流图 以反映最主要业务处理流程 34 经过分析 商店业务处理的主要功能应当有销售 采购 会计三大项 主要数据流输入的源点和输出终点是顾客和供应商 然后从输入端开始 根据商店业务工作流程 画出数据流流经的各加工框 逐步画到输出端 得到第一层数据流图 35 顶层数据流图 这个数据流图只是一个高层的系统逻辑模型 它反映了目标系统要实现的功能 36 第一层数据流图 37 加细每一个加工框销售细化 38 采购细化 39 3 2 2 5检查和修改数据流图的原则 数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素 缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流 40 在数据流图中 需按层给加工框编号 编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应 两者的输入数据流和输出数据流必须一致 此即父图与子图的平衡可以在数据流图中加入物质流 帮助用户理解数据流图 41 图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节 以集中精力于主要数据流 42 3 2 3数据词典 数据词典与数据流图配合 能清楚地表达数据处理的要求词条描述 对于在数据流图中每一个被命名的图形元素 均加以定义 其内容有 名字 别名或编号 分类 描述 定义 位置 其它 等 43 3 2 3 1词条描述 数据流名 说明 简要介绍作用即它产生的原因和结果数据流来源 来自何方数据流去向 去向何处数据流组成 数据结构数据量流通量 数据量 流通量 1 数据流 44 2 数据元素词条描述 数据元素名 类型 数字 离散值 连续值 文字 编码类型 长度 取值范围 相关的数据元素及数据结构 45 3 数据文件词条描述 数据文件名 简述 存放的是什么数据输入数据 输出数据 数据文件组成 数据结构存储方式 顺序 直接 关键码存取频率 46 4 加工逻辑词条描述 加工名 加工编号 反映该加工的层次简要描述 加工逻辑及功能简述输入数据流 输出数据流 加工逻辑 简述加工程序 加工顺序 47 对数据流图的每一个基本加工 必须有一个基本加工逻辑说明基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则 基本加工逻辑说明 48 加工逻辑说明必须描述实现加工的策略而不是实现加工的细节加工逻辑说明中包含的信息应是充足的 完备的 有用的 没有重复的多余信息 49 5 源点及汇 终 点词条描述 名称 外部实体名简要描述 什么外部实体有关数据流 数目 50 6 数据结构的描述 符号含义举例 被定义为 与x a b 或 或x a b x a b 或m n重复x a x 3 a 8 可选x a 基本数据元素x a 连结符x 1 9 51 3 2 3 2实例 1 进销存2 存折格式3 提案管理系统4 商业自动化系统 52 1 进销存表名 商品档案表 别名 组成 商品ID 商品名称 进价 零售价 库存数量 库存下限 所属种类 存放地点 生产厂商 进货日期主键 商品ID 53 表名 销售表 别名 组成 商品ID 商品名称 零售价 销售数量 销售总额 销售日期 主键 商品ID 54 数据流名 新货入库信息 别名 组成 商品ID 商品名称 进价 所属类别 总额 供货商名称 进货日期 存放地点组织 按商品ID升序排列备注 输入实际进货数量即可 55 数据流名 盘点信息输入 别名 盘点信息组成 商品ID 商品名称 进价 盘赢 盘亏 盘点日期组织 按商品ID升序排列备注 每天只能对同一种商品盘点一次 56 2 存折格式 57 存折 户名 所号 帐号 开户日 性质 印密 1 存取行 50户名 2 字母 24所号 001 999 帐号 00000001 99999999 开户日 年 月 日性质 1 6 注 1 表示普通户 5 表示工资户等印密 0 注 印密在存折上不显示存取行 日期 摘要 支出 存入 余额 操作 复核 58 3 提案管理系统卡片形式的数据字典 文件名 xtian别名 新提案表描述 教代会代表可根据实际情况 在每届教代会允许时间内提的未经初审的提案组成 提案号 代表号 姓名 代表团名称 工作单位 提案日期 联系电话 E mail 案由 提案内容 提案措施 是否初审组织 提案号为主关键字 按提案号升序备注 保留本届教代会所有提案 59 数据项名 name别名 姓名描述 教代会代表的真实姓名定义 1 文本 8位置 新提案表 附议人表 立案表 废案表 意见建议表备注 新提案表中为提案人姓名 附议人表中为附议人姓名 60 加工名称 添加人员编号 1描述 媒介教代会开始前 评审委员会将本届教代会的代表 初审人 答复人添加到数据库中备注 添加时只需添加代表号或代号 初始密码 初始提示问题 初始提示问题答案 代号 代表号 添加代表时 同时向附议人密码表和提案人密码表中添加记录 每届评审人 评审委员会 无需添加 61 简化的商业自动化系统 营业员 收款员 经理 销售的商品 现金额 现金余额 销售情况 日销售额 查询要求 录入 修改或删除商品信息 录入 修改现金额 并计算余额 查询商品销售情况计算日销售额 销售的商品 现金额 现金余额 查询要求 销售情况 日销售额 销售文件 1 2 3 4 商业自动化系统 62 判定要求 查询要求 统计销售情况 计算日销售额 销售文件 查询要求2 查询要求1 销售情况 日销售额 加工3 数据字典 1 数据流 销售的商品 商品名 商品编号 单价 数量 日期现金额 余额 日销售额 非负实数查询要求 商品编号 日期 查询要求1 商品编号查询要求2 日期销售情况 商品名 商品编号 金额2 数据存贮 销售文件 销售的商品 63 3 2 4用于写加工逻辑说明的工具 结构化英语 判定表 判定树 64 3 2 4 1 结构化英语 结构化英语的词汇表由英语命令动词数据词典中定义的名字有限的自定义词逻辑关系词IF THEN ELSE CASE OF WHILE DO REPEAT UNTIL等组成 65 是一种介于自然语言和形式化语言之间的语言语言的正文用基本控制结构进行分割 加工中的操作用自然语言短语来表示其基本控制结构有三种 简单陈述句结构 避免复合语句 重复结构 WHILE DO或REPEAT UNTIL结构 判定结构 IF THEN ELSE或CASE OF结构 66 商店业务处理系统中 检查发货单 IF发货单金额超过 500THENIF欠款超过了60天THEN在偿还欠款前不予批准ELSE 欠款未超期 发批准书 发货单ENDIFELSE 发货单金额未超过 500 IF欠款超过60天THEN发批准书 发货单及赊欠报告ELSE 欠款未超期 发批准书 发货单ENDIFENDIF 67 BEGINIF登录历史库THENBeginIF用户选择数据库THENBegin输入数据库所属年份输入数据库所属上下学期校验数据库名包含参数信息IF输入不合法或用户取消THEN中断登录EndElse中断登录End 用户登录系统逻辑 68 输入用户账号和口令IF输入空的帐号或口令THENBegin提示错误中断登录End验证帐号 口令 IP地址 网卡号IF非合法用户THENBegin提示错误中断登录EndIF权限 禁止 THENBegin提示错误中断登录End 用户登录系统逻辑 69 IF登录历史库OR权限 只读 THENTHEN禁止事务操作ENDELSE允许事务操作END初试化运行环境END 用户登录系统逻辑 70 BEGINIF用户权限标志为只读或登录历史数据库THENBEGIN标志当前登录处于只读状态启动事务设置自动提交时间为0 即不自动提交 禁止操作相关功能按钮ENDELSEBEGIN标志当前登录处于可读写状态设置自动提交时间为10分钟允许操作相关功能按钮END 数据库事务操作逻辑 71 IF提交数据库操作THENBEGIN刷新数据库事务启动时间执行数据库提交ENDIF回滚数据库操作THENBEGIN刷新数据库事务启动时间执行数据库回滚ENDEND 数据库事务操作逻辑 72 3 2 4 2判定表 如果数据流图的加工需要依赖于多个逻辑条件的取值 使用判定表来描述比较合适 73 74 以 检查发货单 为例 75 3 2 4 3判定树 判定树也是用来表达加工逻辑的一种工具 有时侯它比判定表更直观 76 3 2 5建模中需注意的问题 1 模型平衡规则父图和子图必须平衡每个数据流和数据存储必须在数据字典中予以定义 叶 加工 最低层 必须给出加工小说明小说明和数据流图的图形表示必须一致例如 在小说明中 必须说明 输入数据流 如何使用如何产生 输出数据流 如何选取 使用 修改 数据存储 77 2 控制复杂性规则上层数据可以 打包 上 下数据流对应关系在数据字典中给出 但包内数据流的性质 输入 输出 必须一致一幅图中的图元个数应控制在7 2以内与每一加工相关的数据流的数目应适中 与层次有关 分析数据内容 确定是否所有的输入信息都用于产生输出信息分析加工 确定一个加工所产生的输出 是否都能由该加工的输入信息导出 78 3 3UseCase用例分析 ATM系统的用例图 79 3 3 1USECASE概念 一个USECASE是系统或其它语义实体 例如子系统或一个类 所提供的一块 unit 高内聚的功能 表示该系统和一个或多个外部交互者 称为操作者 交替出现的消息序列 以及该系统所执行的动作 可见 USECASE用于定义一个系统或一个其它语义实体的行为 没有揭示该实体的内部结构 每一USECASE说明该实体与其操作者进行交互所执行的一个动作序列 以及其它动作 序列 的变体 80 USECASE概念 USECASE包含一组操作和属性 这些操作和属性规约了该USECASE的实例所执行的那个动作序列 动作包含状态的改变以及该USECASE与其环境的通讯 如 执行该动作序列的前置条件 主要路径 可选择的路径 执行该动作序列的后置条件 81 一个操作者定义了一组高内聚的角色 当用户与该实体交互时 用户可以扮演这一角色 对于每一USECASE 一个操作者有一种角色 即每一USECASE与具有一种角色的操作者进行通讯 角色 操作者概念 82 简而言之 用例描述一个系统 或一个子系统 做什么 而不是说明怎么做角色系统用户与本系统交互的其他系统时间 83 Checkstatus Placeorder Fillorder Establishcredit TelephoneCatalog Salesperson ShippingClerk Supervisor Customer USECASE图示例 84 2 用例图的作用 UseCase主要用于促进和用户的交流 沟通 为此使用了一种用户和开发人员都能理解的方式描述系统功能和行为 UseCase可以划分系统与外部实体的界限 是系统开发的起点 而最终应该落实到类和实现代码上 UseCase既然是对系统行为的动态描述 因此它是类 对象 操作的来源 是系统分析和设计阶段的输入之一 是分析和设计 制定开发计划 测试计划 设计测试用例的依据之一 UseCaseModel是系统需求分析阶段的成果之一 UseCase不但有助于帮助分析员理清思路 验证用户需求 而且也是开发人员之间进行交流的重要手段 85 用例图的作用 捕获用户能够看到的系统功能 86 用例图的作用 在开发过程的早期创建目的 详细说明系统的表达含义 捕获系统的需求 验证系统的体系结构 驱动实现和生成测试用例 由分析人和领域专家开发 87 3使用USECASE图的建模类型 使用USECASE图所建造的类型 可以从两个层面上进行分类 它们是 整体 部分 关系 系统建模 systemmodeling 系统建模用于描述软件系统的结构和行为业务建模 businessmodeling 业务建模用于企业或组织过程的优化和再工程 业务建模的图形元素不仅包括普通的Actor和UseCase 还包括Worker Artifact Business过程描述时还应结合时序图 sequencediagram 和任务图 activitydiagram 88 3 3 2USECASE获取 仿真法 Simulation 掌握用户的所有输入与输出的数据种类 通过仿真的方法 找出它们之间的对应关系 以及相应的数据处理过程 包括任何计划中将要新增加的数据类型与处理过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论