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

下载本文档

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

文档简介

第三章软件需求分析SoftwareRequirementsAnalysis 3 1需求分析概述3 2结构化分析方法3 3需求分析实例3 4软件需求规格说明书SRS3 5需求复审 目录 3 1软件需求分析概述3 1 1需求分析的任务与步骤3 1 2需求获取的常用方法3 1 3需求说明3 1 4分析建模3 2结构化分析方法分析模型描述工具数据流图DFD数据字典DD加工说明PSPECCFD CSPECSTDER图3 3需求分析实例3 4软件需求规格说明书SRS3 5需求复审 3 1软件需求分析概述 3 1 1需求分析的任务和步骤3 1 2需求获取的常用方法3 1 3需求说明3 1 4分析建模模型 3 1 1需求分析的任务 步骤 1 需求分析的任务建立分析模型编写需求规格说明书SRS SoftwareRequirementSpecification 2 需求分析的步骤需求获取需求提炼 分析建模需求描述 编写SRS需求验证 让用户和开发者共同明确将要开发的是什么样的系统 目录 简单例 学生购书 张秘书开购书证明 学生凭证明到教材科王会计开购书发票向李出纳员交纳书款 拿领书单到书库找保管员领书 B 去掉模型中非计算机本质的因素后得到的购书逻辑模型 人工操作 去掉 改进后的学生购买教材的系统模型 目录 3 1 2需求获取的常用方法 收集资料原有系统的数据 帐册 报表 借鉴已有的类似软件产品联合分析小组用户代表 领域专家和系统分析员客户访谈 会议充分准备 寻找共同语言事先准备一些问题交流时循序渐进 逐步逼近每次访谈后及时分析 整理 汇总实地考察 观察用户工作流程快速原型法 3 1 3需求说明 是需求分析应获取的内容 写SRS的依据功能需求分析用户要求实现的全部功能 分析建模DFD DD 性能需求时间特性时间精确性 响应时间 存储容量及后援存储系统安全性外部接口需求1 用户接口 人机界面 2 硬件接口3 软件接口4 通信接口属性 可靠性 可用性 可维护性 约束 精度 标准 语言 硬件平台 注 性能需求时间特性时间精确性 响应时间 更新时间 数据转换时间 数据传输时间 存储容量及后援存储系统安全性例1 数据采集的频率为每秒采样100次 例2 应力分析程序必须在一分种内生成任何一个梁的应力报告 返回 注 属性可靠性 机场雷达系统一个月内不能出现2次以上故障 可用性 任何时候 主机或备份机上的银行数据至少有一个可用 可维护性系统出错后可以允许的最大恢复时间系统运行日志是否允许对系统的修改警告出错处理需求 返回 3 1 4分析建模 分析模型包括 信息 或数据 模型功能模型行为模型分为 结构化分析模型面向对象分析模型 后续 分析方法 1 传统的分析方法 面向数据流的结构化分析方法 SA 面向数据结构的Jackson方法 JSD 结构化数据系统开发方法 DSSD 2 面向对象的分析方法 3 2结构化分析方法 StructuredAnalysis 思想 自顶向下 逐步细化 Top DownStepwiseRefinement 适于数据处理类型软件的需求分析步骤 自顶向下对系统进行功能分解 画出分层DFD由后向前定义系统的数据编制DD和PSPEC最终写出SRS 3 2 1结构化分析模型 DD数据词典 DataDictionary 系统所涉及各种数据对象的总和 数据流图 DataFlowdiagram 描述系统中数据的流动和变换 DFD图中每个功能的描述写在加工说明中 具有复杂数据结构的数据模型 描述E R中出现的每个数据对象的属性 系统在外部事件的作用下如何动作 各种状态的变迁 DD DataDictionary 数据字典模型的核心 系统所设计的各种对象的总和 E R图 Entity RelationDiagram 实体关系图描述数据对象的关系DFD图 DataFlowDiagram 数据流图指明系统中数据是如何流动和变换的 描述数据流进行变换的功能 STD图 StatusTransferDiagram状态 变迁图指明系统在外部事件的作用下将会如何动作 表明了系统的各种状态间的变迁 目录 3 2 2结构化分析描述工具 功能模型 DFD和PSPEC行为模型 CFD CSPEC和STD数据模型 DD E R图 1 数据流图DFD 2 数据字典DD 3 加工说明PSPEC 4 CFD和CSPEC 5 E R图 1 数据流图DFD 描述系统逻辑模型 信息在系统中的流动和处理例3 1的DFD图 数据流上的数据名称 单向 只读 双向 读写 备注文件与加工之间用箭头线连接 单向表示只读或只写 双向表示有读有写每一图形符号都必须标上名字加工框还应加上编号同程序流程图的区别程序流程图表示程序的过程设计 怎么干DFD用是软件需求分析工具 不表示程序的控制结构 选择 循环 干什么分层从高层到低层分解前后的数据流必须一致 一 DFD的绘制步骤 找出外部实体 确定系统边界从数据源出发 按系统的逻辑需求 逐步画出加工框 直至数据终点为了控制系统复杂度 DFD分层 自顶向下 逐步求精对DFD进行复审 分层DFD 顶层 0层 父图与子图编号规则顶层无编号0层 1 2 31层 1 11 22 12 小数点数代表层数 1层 顶层流图仅包含一个加工 即整个待开发系统输入流是该系统的输入数据 输出流是系统所输出数据底层流图其加工不需再做分解 处在最底层中间层流图其上层父图的细化 每一加工可能继续细化 形成子图 二 DFD绘制的一般原则 每个加工必须有输入输出流两个加工之间可以有多股数据流每个数据流必须有一个合适的名字DFD描述的是数据流而不是控制流分解中的父子平衡局部文件注意分解速度 最多不要超过7个上层快些 下层慢些当每个加工都已足够简单时 分解就可结束 两个加工之间可以有几股数据流 例 日报表和月报表这两个数据流相互间没有任何联系 也不是同时流出的 每个数据流必须有一个合适的名字 除了流向文件或从文件流出的数据流不必命名之外 有文件名足矣 返回 数据流图中描述的是数据流而不是控制流 例 取下一张卡片 是一个控制流而不是数据流 因为并没有任何数据沿着这个箭头流动 这个箭头应该从图中删去 返回 父子平衡balance 平衡 子图的所有输入 输出 数据流必须是父图中相应加工的输入 输出 例 平衡 父图 子图4 例 特殊平衡 例 不平衡 返回 局部文件 例 子图中的文件ALPHA完全局部于加工4根据 抽象 原则 父图只需画出加工和加工之间的联系 而不必画出各个加工内部的细节 所以父图中不必画文件ALPHA 数据流XXX YYY也不必画出 当文件被用作数据流图中某些加工之间的交界面时 才必须画出来 合理运用局部文件进行信息隐蔽 返回 三 数据流图的改进improvingDFD 应遵循DFD绘制的原则 见前 数据守恒 文件的使用 父图和子图的平衡简化加工间的联系 必要时重新分解DFD a 数据不守恒的情况 现象1 加工用以产生输出的数据并未输入该加工项目 项目名称 时间运动员名单 队名 姓名 项目项目参加者 项目 姓名 运动员号原因 某些数据流被遗漏了 现象2 出现没有必要的数据例 加工 开发票 根据 订货单 和 价目 文件开出 发票 如果这些数据的组成如下 订货单 单位名 货名 货号 数量价目 货名 单价发票 单位名 货名 数量 单价 总计处理 货号多余 删之 b 局部文件 只有流向文件DELTA的数据流而没有从该文件流出的数据流 即只有写文件的加工而没有读文件的加工 这说明一定是某些加工被遗漏了 C 命名要合适 DFD中各成分的命名要 易理解 例 计算总工作量 好写发票 好存储和打印提货单 可以分解为两个加工处理订货单 不具体 如何处理 处理输入 不具体 太空洞好的命名 动词 宾语 d 重新分解DFD 加工2与其他加工的联系相当复杂 输入输出数据流达9个之多 很难独立理解 检查结果 分解不合适 措施 考虑重新分解 返回 返回 T s 重新分解的方法 把所有子图连接成一张图重新切分图 尽量分解均匀 使各部分之间联系尽量少重新建立父图 重新建立各张子图为所有加工重新命名和编号 重新分解后的DFD 6 2 数据字典DD 与DFD配合 给出DFD中所有数据的定义和属性DD的用途分析阶段的交流工具包含控制信息数据库设计的基础内容数据项 一个数据元素 数据流 包含多个数据项 数据文件或数据库 定义数据的方法 自顶向下分解数据表示方法 表格公式法 例3 1的DD 发票 各班学生用书表 返回 发票 学号 姓名 书号 单价 数量 总价 书费合计 返回 年级 返回 附 公式法定义DD 存折 户名 帐号 性质 印密 存折由户名 帐号 性质和可选印密组成户名 2 字母 20 户名为2 20个字母帐号 00000001 99999999 帐号位于1 99999999的区间性质 普通用户 工资用户 帐户性质为普通用户 工资用户中一种印密 0 默认无印密 DD附 1 数据流词条描述 数据流名 说明 简要介绍作用即它产生的原因和结果数据流来源 来自何方数据流去向 去向何处数据流组成 数据结构数据量流通量 数据量 流通量 DD附 2 数据元素词条描述 数据元素名 类型 数字 离散值 连续值 文字 编码类型 长度 取值范围 相关的数据元素及数据结构 DD附 3 数据文件词条描述 数据文件名 简述 存放的是什么数据输入数据 输出数据 数据文件组成 数据结构存储方式 顺序 直接 关键码存取频率 DD附 4 源点及汇 终 点词条描述 名称 外部实体名简要描述 什么外部实体有关数据流 数目 3 加工说明PSPEC 加工说明 说明DFD中的每个加工 加工逻辑描述工具 结构化语言 判定表 判定树 例3 1 加工1的加工说明 结构化语言 例子 把学生学号和姓名写到发票上 按购书单上的学生年级和系专业与班号 检索 各班学生用书表 文件 获得该生当年的书单DOFOR购书单上的每一个书号 IF书单中无此书号THEN把书号写到出错通知上 ELSE按书号检索 教材存量表 获得书的单价和库存量IF库存量 购书单 数量THEN把书号写到出错通知上ELSE将书号 单价 数量 总价等写入发票 更新库存 并写回 教材总量表 累计书费合计 ENDIFENDIF把书费合计写到发票上 判定树 例子 例3 2 公司推销政策 若每周推销金额不超过10000 按预收款是否超过50 分别奖励推销额的6 或4 反之若推销金额超过10000元 则按预收货款是否超过50 分别奖励推销额的8 或5 对于月薪低于1000元的推销员 分别另发鼓励奖300 200和500 300元 判定表 例子 若加工逻辑中同时存在顺序 选择和循环 应采用结构化语言结合判定树 表 不宜单独使用判定树 表 例学生升级留级总分超过600分 无论单科是否满分 若无单科不及格 则发升级通知书 若有单科不及格 则发升级通知书 和重修通知书若总分低于600分 若单科满分 则发留级通知书 及免修单科通知书 若无单科满分 则发留级通知书 4 CFD和CSPEC 引子 例3 10显像管生产监测系统P46当一个显像管在一个流水线上经过光电管时 光电管就会根据其形状判断是哪种规格的显像管 由一个PLC计数器进行累计 累计数据每30s传送给工控机一次 工控机每隔半小时取出一个累计数据保存到数据库 同时将半小时数据供大屏幕显示为了使管理人员及时了解各班生产数据 通过班数据处理将半小时数据汇总成一个班的8小时数据 光电管采集 计数传送 工控机处理 实时数据显示 班数据处理 只有数据流事件发生的条件 事件或者控制信息发生后激活的那些加工 对于由事件驱动而不是数据驱动 产生的是控制信息而不单是数据流以及必须依赖于时间的应用 只建立DFD是不够的 还需要使用控制流图建模 CFD CSPEC ControlFlowDiagram 适合实时系统的分析类似DFD和PSPEC 和它们配合使用DFD表示数据流和对数据的加工CFD表示控制流和控制加工 系统行为模型 CFD和DFD的关系 数据条件 加工激活信号 控制输出 输入数据 加工模型 控制模型 CSPEC 输出数据 控制输入 PSPEC DFD CFD CFD的符号表示 控制信息或事件 引用控制说明CSPEC DFD和CFD例子 STD 是CSPEC常用的状态描述工具描述软件状态变迁符号表示矩形 系统状态箭头 状态转变方向规则表达式 事件 触发行为 状态1 状态2 事件 触发行为 STD例子 采集 PLC计数 传送 工控处理 实时翻屏 5 E R图 用于对复杂数据数据分析和建模实体 属性和关系组成符号 0 1 1 1 0 m 1 m 一个生产厂家可以生产1 多部电话机一个生产厂家有1 多个经销商每个经销商可以卖给多个用户每个用户可以用0 多部电话机 E R图例子 目录 3 3需求分析实例 实例1 教材购销系统实例2 家庭保安系统 实例1教材购销系统 1 顶层DFD 这个数据流图只是一个高层的系统逻辑模型 它反映了目标系统要实现的功能首先确定系统的输入和输出顶层数据流图 反映最主要业务处理流程 学生 教材购销系统 书库保管员 第一层DFD 1销售 2采购 书库保管员 学生 然后从输入端开始 根据业务工作流程 画出数据流流经的各加工框 逐步画到输出端 得到第一层数据流图经过分析 业务处理的主要功能应当有销售 采购主要数据流输入的源点和输出终点是学生和书库保管员 第二层DFD 1 销售子系统 第二层DFD 2 采购子系统 目录 2 确定数据定义和加工策略 从数据的终点沿DFD向源点逆向回溯来定义数据和加工为DFD的每个数据逐一写定义为DFD的每个加工逐一加工说明最后都汇编进DD和PSPEC 领书单 学号 姓名 书号 数量 用户调查得知发票 学号 姓名 书号 单价 数量 总价 书费总计售书登记表 领书单有效购书单 学号 姓名 书号 数量 教材存量表 书号 单价 数量 暂缺书单 学号 姓名 书号 数量 补售书单缺书登记 学号 姓名 书号 数量 3 DFD复审 父子平衡 父图和子图的输入数据和输出数据应该保持一致例局部文件隐蔽与文件是否具有读写加工分解的速度不要太快每次加工分解一次最多 7应遵守加工编号规则顶层无图号第0层 图0 1 2 3 第1层 图1 1 1 1 2 2 1 2 2 数据守恒DFD各个加工之间的数据流应尽可能少 否则重新分解DFD In 购书单 进书通知Out 发票 领书单 实例2 家庭保安系统 背景家庭保安市场正以每年40 的速度增长 我们希望建立一种基于微处理器的家庭保安系统 它能够识别异常事件并采取相应的防护措施 这些异常事件应包括 非法进入 火灾 水淹 等等 一旦异常情形被相应的传感器探测出来 系统应自动用电话向监控中心报警 此外 系统应允许户主对其行为实施程序式控制 家庭保安系统的需求 开机后 显示当前工作状态 接收并处理用户指令一 用户交互1 配置操作软件允许用户在安装时进行系统配置 并通过控制面板与用户进行信息交互 实施对传感器的监控1 指定每一传感器的种类和编号 2 设置开 关机密码 3 指定报警电话号码 4 指定报警延迟和电话重拨延迟时间 单位为秒 2 启停系统3 核对口令二 异常处理 传感器监测 当软件系统接收到传感器发出的数据后 判别是否出现异常事件 有异常 则在指定的延迟时间内拨报警电话号码 拨号操作将按照重拨延迟反复进行 直至电话接通 然后软件系统负责报告时间 地点和异常事件的性质 1 家庭保安系统的顶级DFD 2 家庭保安系统的第1级DFD 传感器监测第1级DFD 3 传感器监测子系统第2级DFD 4 传感器监测子系统第3级DFD 3 4软件需求说明书SRS IEEE830 1998和我国国家标准GB8567 88 1引言 1 编写目的 2 范围 3 定义 4 参考资料2项目概述 1 产品描述 2 产品功能 3 用户特点 4 一般约束 5 假设和依据3具体需求3 1功能需求 1 功能需求1 N 功能需求n3 2外部接口需求 1 用户接口 2 硬件接口 3 软件接口 4 通信接口3 3性能需求 1 数据精确度 2 时间特性 3 适应性3 4设计约束 1 其他标准的约束 2 硬件的限制3 5属性 1 可用性 2 安全性 3 可维护性 4 可转移 转换性 5 警告3 6其他需求 1 数据库 2 操作 3 场合适应性4附录 3 5需求分析评审 系统定义的目标是否与用户的要求一致 系统需求分析阶段提供的文档资料是否齐全 文档中的所有描述是否完整 清晰 准确反映用户要求 与所有其它系统成分的重要接口是否都已经描述 被开发项目的数据流与数据结构是否足够 确定 所有图表是否清楚 在不补充说

温馨提示

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

评论

0/150

提交评论