




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发过程与质量保证 第三章需求工程 2 场景互动 根据用户的需求描述 我们进行软件实现 它能够提供给我们足够的信息吗 我们得到的用户的需求描述 完整吗 是否有含混的地方 例子 怎样进行需求分析才能够将需求整理成正规的结构化的需求规约呢 需求分析的原则软件将被完成的功能必须被定义 软件的行为 作为外部事件的结果 必须被表示 问题的信息域必须被表示和理解 描述信息 功能和行为的模型必须被划分 使得可以以层次的方式揭示细节 分析过程应该从要素信息移向实现细节 一个真实的文档案例 建模的类型功能模型完成软件功能的定义 从单个语境层模型 将被创造的软件名字 开始 经过一系列的迭代 越来越多的功能细节被提供 直至得到所有系统功能的完全描绘 行为模型对软件的行为进行表示 它创建了软件状态的表示 以致导致软件状态变化的事件的表示 数据模型对问题的信息域进行表示 描述了数据对象 描述数据对象的属性和将数据对象相互连接的关系 需求的建模分析方法面向功能分析将软件需求当作一棵倒栽的功能树 每个节点都是一项具体的功能 自上而下 功能由粗到细 体现 自顶向下 逐步求精 的思想 面向对象分析从系统基本功能入手 将功能对应到对象上 分析每个对象的属性 方法及隶属关系 并以对象为主线表示用户的所有需求 面向数据分析面向元数据和中间数据分析 分析两类数据及其之间的关系 功能模型数据流图 DFD 数据模型实体 关系图 ERD 行为模型状态 迁移图 STD 数据字典 DD 一 结构化分析模型 结构化分析模型 分析模型中的要素数据流图 DFD 描述数据在系统中如何被传送或变换 以及描述如何对数据流进行变换的功能 子功能 实体 关系图 ERD 描述数据对象及数据对象之间的关系 状态 迁移图 STD 描述系统对外部事件如何响应 如何动作 数据字典 DD 就是用来定义数据流图中的各个成分的具体含义的 它以一种准确的 无二义性的说明方式为系统的分析 设计及维护提供了有关元素的一致的定义和详细的描述 结构化的功能模型采用数据流图对系统的功能进行建模 数据流图 DataFlowDiagram 简称DFD 是描述信息流和数据从输入移动到输出时被应用的变换的图形化技术 数据流的变换则用结构化英语 判定表与判定树来描述 数据流图是分层次的 以分层的数据流图反映系统的层次结构的逐步分解 二 功能模型 数据流图 描述银行取款过程的数据流图 或 或 或 数据流图中的主要图形元素数据源点或终点 外部实体 数据加工 数据处理 数据变换 转换 数据存储文件数据流 数据流与数据加工之间的关系 数据流图的层次结构顶层流图仅包含一个加工 它代表被开发系统 它的输入流是该系统的输入数据 输出流是系统所输出数据中间层流图表示对其上层父图的细化 它的每一加工可能继续细化 形成子图 底层流图是指其加工不需再做分解的数据流图 它处在最底层 分层的数据流图示意图 结构化分析方法功能建模举例 某企业销售管理系统功能描述如下 1 接受顾客的订单 检验订单 若库存有货 进行供货处理 即修改库存 给仓库开备货单 并且将订单留底 若库存量不足 将缺货订单登入缺货记录 2 根据缺货记录进行缺货统计 将缺货通知单发给采购部门 以便采购 3 根据采购部门发来的进货通知单处理进货 即修改库存 并从缺货记录中取出缺货订单进行供货处理 4 根据留底的订单进行销售统计 打印统计表给经理 根据上述的功能描述 画出对应的数据流程图 数据流图绘制解析首先绘制顶层图确定系统的输入和输出 系统的边界 确定外部实体 说明输入数据从何而来 由谁来接收输出数据描述被开发系统的范围以及它和周围环境的数据交换关系 其次 绘制一层数据流图 主图 绘制系统的核心处理过程 功能 之间的关系根据需求陈述 分析出该系统的主要功能 从输入端开始 根据企业销售工作流程 需求陈述 画出数据流流经的各加工框 逐步画到输出端 得到第一层数据流图 从左到右 最后 对每一个加工处理进行分解细化 供货处理细化 处理订单细化 处理进货细化 缺货统计细化和销售统计细化 数据流图的基本原则自外向内 自顶向下 逐层细化 完善求精 步骤 先找出外部实现的输出数据流和输入数据流 找出系统的数据源点与终点 从外部实体的输入数据流 系统的源点 出发 按照系统的逻辑需要 逐步画出一系列逻辑加工 直到找出外部实体所需要的输出数据流 既系统的汇点 形成数据流的封闭 进行检查和修改 再逐个分解细化处理过程 画出所需要的子图 练习1假设一家工厂的采购部每天需要一张订货报表 报表按零件编号排序 表中列出所有需要再次订货的零件 对于每个需要再次订货的零件应该列出下述数据 零件编号 零件名称 订货数量 目前价格 主要供应者和次要供应者 零件入库或出库称为事务 通过放在仓库中的CRT终端把事务报告给订货系统 当某种零件的库存数量少于库存量临界值时就应该再次订货 第一步顶层图 第二步一层图 主图 第三步细化分层图 数据流程图的注意点DFD上所有图形符号只限于前述四种基本元素DFD主图必须包括前述四种基本元素 缺一不可DFD的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中 需按层给加工框编号 编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应 两者的输入数据流和输出数据流必须一致 此即父图与子图的平衡可以在数据流图中加入物质流 帮助用户理解图上每个元素都必须有名字 编号数据流图中不可夹带控制流初画时可以忽略琐碎细节 以集中精力于主要数据流一个处理逻辑 在下一层分解时不宜超过7个处理逻辑 例题 房屋安全管理系统 SafeHome软件使得房主能够在安装时配置安全系统 监控所有和安全系统连接的传感器以及通过包含在SafeHome控制面板中的键盘和功能键与房主交互 安装过程中 SafeHome控制面板被用于 编程 和配置系统 每个传感器被赋予一个编号和类型 主人密码被编程以启动和关闭系统 而且当传感器事件发生时输入电话号码拨号 当某种传感器事件被识别出时 软件激活附于系统上的可发声的报警 在一定的延迟时间 由房主在系统配置活动中指定 后 软件拨出监控服务的电话并提供关于位置的信息 报告被检测到的事件的性质 电话号码将每20秒重拨一次 直至电话被拨通 所有和SafeHome的交互由用户交互子系统管理 该子系统读入通过键盘和功能键提供的输入 在LCD显示屏上显示提示消息和系统状态 二 数据建模及E R图 数据模型包括三种互相关联的信息数据对象是需被目标系统所理解的复合信息的表示 它具有若干不同特征或属性的信息 描述对象的属性定义了数据对象的特征描述对象间相互连接的关系 各个数据对象的实例之间的关联 某管理信息系统中每名教师教授若干课程 每门课程可以由若干教师来教授 每个班级有若干学生 每名学生可以学习若干门课程 每门课程可以有若干学生学习 每名学生学完一门课程后得到一个成绩 教师具有的信息包括员工号 姓名 性别 住址 课程需要课程号 课程名 学分进行描述 学生具有的信息包括学号 姓名 性别 出生日期 班级的描述信息包括班号 人数 E R图 数据对象数据对象可以是外部实体 事物 角色 行为或事件 组织单位 地点或结构 数据对象只封装了数据 没有包含作用于这些数据上的操作 属性为数据对象的实例命名 描述这个实例 建立对另一个数据对象的另一个实例的引用关系数据对象通过多种方式相互连接如一个学生 张鹏 选修两门课程 软件工程 与 计算机网络 学生与课程的实例通过 选修 关联起来 实例的关联有三种 一对一 1 1 一对多 1 m 多对多 n m 这种实例的关联称为 基数 基数表明了 重复性 如1位教师带学生班的30位同学 就是1 m的关系 实例关联有是 可选 还是 必须 之分 也有1位教师带0位同学的情形用 O 表示关系是可选的 用 表示关系必须出现1次 这表明了关系的 参与性 练习学校由若干个系组成 每个系有若干名教师和学生 老师或者学生只能属于某一个特定院系 每个教师可以担任若干门课程 并参加多项科研项目 教师的工资由其职称决定 每位老师都拥有自己的工作证 每门课程可以由若干老师任教 每个学生可以同时选修多门课程 请设计教学管理的E R模型 并根据自己的理解标示实体 联系及其属性 三 行为建模和状态迁移图 行为建模给出需求分析方法的所有操作原则状态迁移图描述系统的状态如何相应外部的信号进行推移的一种图形表示圆圈 表示可得到的系统状态箭头 表示从一种状态向另一种状态的迁移 写上导致迁移的信号或事件的名称 例子 操作系统根据调度要求设置进程状态 当有多个申请占用CPU运行的进程时 CPU分配的进程的状态迁移 进程的状态包括就绪 运行 等待 当进程运行时遇到中断事件 则进程进入等待状态 当中断处理完毕后 进程处在就绪状态 就绪的进程分配给CPU处理时间后 处在运行状态 当该进程的CPU事件使用完毕之后 该进程进入就绪状态 生成的事件 t1 中断事件 t2 中断已处理 t3 分配CPU t4 用完CPU时间 状态迁移图的优点 因为一个系统的状态是有限的 状态之间的关系能够直观地捕捉到由于状态迁移图的单纯性 能够机械地分析许多情况 可很容易地建立分析工具 进程的状态 S1 运行 S2 等待 S3 就绪生成的事件 t1 中断事件 t2 中断已处理 t3 分配CPU t4 用完CPU时间 例子没人打电话时电话处于闲置状态 有人拿起听筒则进入拨号音状态 到达这个状态后 电话的行为是响起拨号音 这时如果拿起听筒的人改变主意不想打了 他把听筒放下 挂断 电话重又回到闲置状态 如果拿起听筒很长时间不拨号 超时 则进入超时状态 如果此人想打电话 开始拨数字 此时出现拨号音 电话处在拨号状态 当拨完电话号码之后 是有效的电话号码则电话试图接通对方 处在试接通状态 如果电话号码无效 则播放提示信息 如果拨号的时间过长 超时 则进入超时状态 响起蜂鸣音 练习请对下述银行领域中的业务知识进行行为建模 储蓄账户有正常 挂失 冻结 销户等4种状态 有效的储蓄账户始于开户交易 开户交易成功后储蓄账户处于正常状态 开户交易的业务规则是 开户金额 10元人民币 用户可以凭身份证要求对自己的储蓄账户进行挂失和解挂交易 银行可以根据授权 例如司法授权 对储蓄账户进行冻结和解冻 处于正常状态的储蓄账户可以进行存款 取款交易 处于正常状态的储蓄账户经销户交易后变成销户状态 四 数据词典 数据字典是对所有与系统相关的数据元素的一个有组织的列表和精确的 严格的定义 使得用户和系统分析员对于输入 输出 存储成分和中间计算有共同的理解 它与数据流图配合 能清楚地表达数据处理的要求 数据字典中所包含的条目数据流条目数据项条目数据存储条目基本加工条目 数据流条目数据流名称 简述 简要介绍作用即它产生的原因和结果来源 来自何方去向 去向何处数据流组成 数据结构数据量流通量 数据量 流通量数据项条目数据项名称 类型 数字 离散值 连续值 文字 编码类型 长度 取值范围 相关的数据元素及数据结构 数据存储条目数据存储名称 简述 存放的是什么数据输入数据 输出数据 数据文件组成 数据结构存储方式 顺序 直接 关键码存取频率 基本加工条目加工名 加工编号 反映该加工的层次简要描述 加工逻辑及功能简述输入数据流 输出数据流 加工逻辑 简述加工程序 加工顺序 数据结构的描述符号含义举例 被定义为 与x a b 或 或x a b x a b 或m n重复x a x 3 a 8 可选x a 基本数据元素x a 连结符x 1 9 对存折格式的数据字典的定义格式为 存折 户名 所号 帐号 开户日期 性质 印密 1 存取行 50户名 2 字母 24所号 001 999 注 储蓄所编码规定三位数字帐号 00000001 99999999 注 帐号是由8位数字组成开户日期 年 月 日性质 1 6 注 1 表示普通储户 5 表示工资户等印密 0 注 印密在存折
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修补充协议减项合同
- 药膳配方转让合同协议
- 装修后期合同补充协议
- 装卸搬运协议书范本
- 行李箱拿货合同协议
- 装修改造方案合同协议
- 行车工协议和劳动合同
- 落地窗安全合同协议
- 节电设备试用合同协议
- 装修水电安全合同协议
- 中国精神课件
- 2025年福建福州市电子信息集团有限公司招聘笔试参考题库附带答案详解
- 天津市和平区二十中学2025届学业水平考试化学试题模拟卷(九)含解析
- 2025届河北省“五个一”名校联盟高三下学期4月联考地理试题(含答案)
- 扬州大学《水工程施工》2023-2024学年第二学期期末试卷
- 江苏省常州第一中学2025届高三下学期联合考试语文试题含解析
- 《隋唐时期的中外文化交流》教案-2024-2025学年统编版(2024)初中历史七年级下册
- 2025年初级社会工作者综合能力理论考试题(附答案)
- 医院培训课件:《人文关怀与人文护理》
- 第三届南华大学医学生临床技能竞赛评分标准高处
- 民用航空器驾驶员学校合格审定规则(完整版)
评论
0/150
提交评论