资源预览内容
第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
第9页 / 共48页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件工程第二章 需求工程需求工程的概念和任务 需求工程将所有与需求直接相关的活动通称为需求工程系统分析人员通过细致的调研分析,准确地理解用户 的需求,将不规范的需求陈述转化为完整的需求定义 ,再将需求定义写成需求规格说明书的过程. 基本任务确定系统的目标和范围,调查用户的需求,分析系统 必须做什么,编写需求规格说明书等其它相关文档, 以及需求工程审查.同时还包括需求变更的控制、需 求风险的控制、制定需求过程的基本计划等工作。需求工程的主要活动和文档 需求开发活动 需求获取 需求分析 编写需求规格说明书 需求审查 需求管理活动 需求变更控制 版本控制 需求跟踪 需求状态跟踪文档 用户需求说明书 产品需求规格说明书 文档需求评审报告需求跟踪报告需求变更控制报告 需求规格说明书与其它开发活动之间的 关系 需求规格说明书对系统开发过程中其它活动的 影响项目的开发成本、进度、资源使用量等都是以需求 规格说明书为依据项目经理根据它制定开发计划设计人员根据它进行系统设计测试人员根据它编写测试计划。设计测试用例产品发布人员根据它编写产品介绍和客户文档培训人员根据它编写培训教程 了解用户用户是一种泛称,它可细分为“客户”、 “ 最终用户” 、“间接用户”(或称为关系人 ) 客户:掏钱买软件的用户最终用户:最终操作软件的用户间接用户:既不掏钱买软件,也不使用软件 ,但它可能对软件产品产生很大影响。 需求分类业务需求 反映组织机构或客户对软件高层次的目标要求,这项需求 是用户高层领导机构决定的,它确定了系统的目标规模和 范围。用户需求 用户使用该软件要完成的任务功能需求 软件开发人员必须实现的软件功能非功能需求 是产品必须具备的属性或品质 ,包括对用户的重要属性( 有效性、效率、灵活性、完整性、互操作性、可靠性、健 壮性、可用性)和对开发者的质量属性(可维护性、可移 植性、可复用性、可测试性) 高质量需求的表象完整性正确性可行性必要性划分优先级无二义性可验证性 影响需求质量的因素用户需求不断增加模棱两可的需求用户不配合过于精简的需求说明忽略了用户的分类不准确的计划不必要的特性确定系统目标和范围 目标明确为什么要开发系统,系统最终能实现哪些 业务,为用户提供哪些有价值的功能 范围项目背景、要达到的目标、市场前景、软件的 适用范围和局限性、经济效益和社会效益、主 要风险和策略 模版 XX系统目标和范围需求前的准备 端正开发人员在需求获取中的态度需求分析员的天职就是在有限的时间内获取准确而 细致的用户需求,如果做不到就是失职,不要找借 口。 明确与用户的合作关系明确用户在需求过程中的权利和义务需提交的阶段产品 重视文档的书写质量严肃写作风格多写多练有适合的文档模版需求获取 制定调研计划根据项目的规范和范围确定要调研的部门和访谈时 间可对用户进行软件工程培训对开发人员进行用户业务培训 准备调研的资料调研的基本参考问题-参见教材37页相关调研表格模版-参见教材38页 访谈用户 编写调研报告-用户需求说明书 需求的其他来源需求分析的任务 获得当前系统的物理模型 抽象出当前系统的逻辑模型 建立目标系统的逻辑模型需求分析的原则 必须要理解问题的数据域和功能域 必须按自顶向下、逐层分解的方式对问 题进行分结和细化 要给出系统的逻辑模型和物理模型需求分析方法 问答分析法问答分析最重要的问题是:“是什么”和“为什 么”其他常见问题参见-高质量需求的表象一节 建模分析法结构化分析法 数据字典 实体-关系图 数据流图 状态变迁图 建模分析法面向对象分析法适当地使用图形符号在需求分析文档中,文字描述是第一重要的,建 模主要是起分析解释作用。Volere 需求调查模版结构化分析方法 系统流程图 数据流程图 数据字典 实体关系图 状态迁移图 处理说明系统流程图 系统流程图符号 例子书上48页数据流图(DFD) 构建过程模型的方法 数据流图是一种图形化技术,它描绘信 息流和数据从输入移动到输出的过程中 所经受的变化。 数据流图的符号数据源点或终点(外部实体) 在系统边界之外的个人和组织,它提供数据输入或接受数据输出。 数据处理(过程) 它代表从数据输入转换到数据输出的算法或程序。数据存储 保存数据的地方,以便将来由一个或多个过程来访问这些数据。数据流 表示在过程、数据存储和外部实体之间的数据移动。或或或 数据流图的画法基本原则:自外向内,自顶向下,逐层细化,完善求精。 步骤:先找系统的数据源点与终点。找出外部实现的输出数据流和输入数据流。在图的边上画出系统的外部实体。 从外部实体的输出数据流 (系统的源点)出发,按照 系统的逻辑需要,逐步画出一系列逻辑加工,直到找出外 部实体所需要的输入数据流(既系统的汇点),形成数据 流的封闭。 进行检查和修改再逐个加工出发,画出所需要的子图。 例子 假设一家工厂的采购部每天需要一张订货 报表,报表按零件编号排序,表中列出所有需 要再次订货的零件。对于每个需要再次订货的 零件应该列出下述数据:零件编号、零件名称 、订货数量、目前价格、主要供应者和次要供 应者。零件入库或出库称为事物,通过放在仓 库中的CRT终端把事物报告给订货系统。当某 种零件的库存数量少于库存量临界值时就应该 再次订货。第一步 求精第二步 求精第三步求精 练习1采用DFD图描绘客户查询可用条目的过程。 系统通过目录、产品条目、库存条目等相关 信息进行查询。 练习2请采用DFD描绘一个简单的大学课程选课系 统的关联图。其中教务处提供有关课程的信 息,学生申请选课后得到课程时间表,教师 在学生选课完成后得到班级列表。 请画出课程注册系统的DFD片段1、安排课程功能根据教务处提供的相关课 程信息形成提供的课程条目2、学生向注册系统发出选课请求,选课功 能根据学生信息、提供的课程条目进行选课 ,并把选课结果记录到选课信息表中。3、系统通过学生信息、提供的课程条目和 选课信息产生班级列表,并将结果反馈给教 师抽象层次图实体关系图 数据模型包含有三种相互关联的信息数据对象 是对软件必须理解的具有一系列不同性质或属性 的事物的表示。属性:定义数据对象的性质 我们可以用属性来对、对象的实例命名描述该实例引用另一个数据对象的实例关系:数据对象彼此之间的联系称为关系 一对一的关系(1:1) 一对多的关系(1:N) 多对多的关系(N:M) 实体关系图的符号实体(数据对象):关系属性 例子某管理信息系统具有以下实体、属性及语义描述:每名教师教授若干课程,每门课程可以由若干教师 来教授,每个班级有若干学生,每名学生可以学习 若干门课程,每门课程可以有若干学生学习,每名 学生学完一门课程后得到一个成绩。描述教师的属性有:员工号,姓名,性别,住址。描述课程的属性有:课程号,课程名,学分。描述学生的属性有:学号,姓名,性别,出生日期 。描述班级的属性有:班号,人数。ER图状态转换图 软件行为模型的实现方式-状态转换图是通过描绘系统的状态及引起系统状态转换 的事件来表示系统的行为。状态图中使用的主要符号 例子没人打电话时电话处于闲置状态;有人拿起 听筒则进入拨号音状态,到达这个状态后, 电话的行为是响起拨号音;这时如果拿起听 筒的人改变主意不想打了,他把听筒放下( 挂断),电话重又回到闲置状态;如果拿起 听筒很长时间不拨号(超时),则进入超时 状态。数据字典 数据字典是描述数据信息的集合,是对系统中 使用的所有数据元素的定义的集合 数据字典的构成名字别名使用地点与方式内容描述补充信息 获得数据字典的方法数据自顶向下的分解 常用符号可用下列一些符号来简化定义: =:表示定义于 +:表示“与” | :表示“或” mn:表示值域 :表示重复。例如: 取款单 = 帐号 + 户名 + 金额 + 日期 存期= 活期 | 3个月 | 6个月 | 1年 | 2年 | 3年 | 5年 | 8年 清单= 清单行 例子对存折格式的数据字典的定义格式为:对存折格式的数据字典的定义格式为: 存折存折= =户名户名+ +所号所号+ +帐号帐号+ +开户日期开户日期+ +性质性质+ +印密印密+1+1存取行存取行5050 户名户名=2=2字母字母2424 所号所号=“001”“999” =“001”“999” 注:储蓄所编码规定三位数字注:储蓄所编码规定三位数字 帐号帐号=“00000001”“99999999” =“00000001”“99999999” 注:帐号是由注:帐号是由8 8位数字组成位数字组成 开户日期开户日期= =年年+ +月月+ +日日 性质性质=“1”“6” =“1”“6” 注:注:“1”1”表示普通储户表示普通储户 “ “5”5”表表 示工资户等示工资户等 印密印密=“0” =“0” 注:注: 印密在存折上不显示印密在存折上不显示 存取行存取行= =日期日期+ +(摘要)(摘要)+ +支出支出+ +存入存入+ +余额余额+ +操作操作+ +复核复核 日期日期= =年年+ +月月+ +日日年年=“00”“99”=“00”“99” 月月=“01”“12”=“01”“12” 日日=“01”“31”=“01”“31” 摘要摘要=1=1字母字母4 4 注:表明是存注:表明是存 ?是取?还是换?是取?还是换? 支出支出=“=“金额金额” ” 注:金额规定不能超过注:金额规定不能超过9999999.999999999.99 金额金额=“0000000.01”“9999999.99”=“0000000.01”“9999999.99” 操作操作=“00001”“99999”=“00001”“99999”结构化分析方法的步骤 数据分析 回溯 补充 确定产品的非功能需求 复查 修正开发计划 编写需求文档-需求规格说明书定义软件的质量属性编写需求文档 基本要求必须描述软件具备的功能和性能必须用确定的、无二义性的、完整的语句来描述功 能和性能 基本内容产品功能产品性能设计限制质量属性外部接口软件开发的V字模型 需求管理 目的保障需求规格说明书与软件产品的一致性控制需求变更对项目开发的影响使需求活动与计划保持一致 任务需求变更管理需求跟踪(需求跟踪能力矩阵)总结
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号