软件工程与实践第2章 软件需求工程

上传人:xuz****an 文档编号:186554522 上传时间:2021-07-19 格式:PPT 页数:74 大小:1.35MB
返回 下载 相关 举报
软件工程与实践第2章 软件需求工程_第1页
第1页 / 共74页
软件工程与实践第2章 软件需求工程_第2页
第2页 / 共74页
软件工程与实践第2章 软件需求工程_第3页
第3页 / 共74页
软件工程与实践第2章 软件需求工程_第4页
第4页 / 共74页
软件工程与实践第2章 软件需求工程_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《软件工程与实践第2章 软件需求工程》由会员分享,可在线阅读,更多相关《软件工程与实践第2章 软件需求工程(74页珍藏版)》请在金锄头文库上搜索。

1、软件需求工程软件需求工程 Software Requirements Software Requirements EngineeringEngineering 2 第二 章 软件需求作为软件生命周期的第一个阶段,软件需求作为软件生命周期的第一个阶段, 其重要性越来越突出,到其重要性越来越突出,到2020世纪世纪8080年代中期,逐年代中期,逐 步形成了步形成了软件工程的子领域软件工程的子领域需求工程。需求工程。 9090年代后,需求工程成为软件界研究的重点年代后,需求工程成为软件界研究的重点 之一。从之一。从19931993年起,每两年举办一次需求工程国年起,每两年举办一次需求工程国 际研讨会

2、(际研讨会(ISREISRE),),19941994年起,每两年举办一次年起,每两年举办一次 需求工程国际会议(需求工程国际会议(ICREICRE)。一些关于需求工程)。一些关于需求工程 的工作小组相继成立,使需求工程的研究得到了的工作小组相继成立,使需求工程的研究得到了 迅速进展。迅速进展。 2.1 2.1 软件需求工程的基本概念软件需求工程的基本概念 对系统应该提供的服务和所受到的约束进行理 解、分析、建立文档、检验的过程需求工程 1.什么是软件需求工程? 2.软件需求工程的任务是什么? 3.需求工程过程 4.软件需求分析方法 软件需求的重要性 软件需求无疑是当前软件工程中的关键问题, 没

3、有需求就没有软件没有需求就没有软件。 美国于1995年开始对全国范围内的8000个软件项目 进行跟踪调查。 分析失败的原因发现, 与需求过程相关的原因占了 45%,而其中缺乏最终用户的缺乏最终用户的 参与以及不完整的需求又是两参与以及不完整的需求又是两 大首要原因,大首要原因,各占13%和12% 。 未完成 完成未实施 完成完成 软件需求的困难 软件需求是软件工程中最复杂的过程之一: 1. 应用领域的广泛性,它的实施无疑与各个应用行 业的特征密切相关。 2. 非功能性需求建模技术的缺乏,及其与功能性需 求有着错综复杂的联系,大大增加了需求工程的 复杂性。 3. 沟通上的困难,由于系统分析员、需

4、求分析员等 各方面人员有不同的着眼点和不同的知识背景, 给需求工程的实施增加了人为的难度。 软 件需 求 用 户需 求系 统需 求 功能 需求 非功能 需求 领域 需求 由客户管理员、 用户等提出 软件需求的内容 一、软件需求内容 功能需求功能需求 它是对系统应该提供的服务、功能以及系统它是对系统应该提供的服务、功能以及系统 在特定条件下的行为的描述。它与软件系统的类在特定条件下的行为的描述。它与软件系统的类 型、使用系统的用户等相关,有时需要详细描述型、使用系统的用户等相关,有时需要详细描述 系统的功能、输入系统的功能、输入/ /输出、异常等,有时还需要申输出、异常等,有时还需要申 明系统不

5、应该做什么。明系统不应该做什么。 领域需求领域需求 是由软件系统的应用领域所决定的特有的功是由软件系统的应用领域所决定的特有的功 能需求,或是对功能的约束。能需求,或是对功能的约束。 非功能需求 产品需求机构需求外部需求 互操作 需求 道德 需求 立法 需求 性能 需求 空间 需求 交付 需求 实现 需求 标准 需求 隐私 需求 安全 性需求 可用性 需求 效率 需求 可靠性 需求 可移植 性需求 传统需求分析 在传统软件工程生命周期中,涉及需求的阶段 称作需求分析。一般来说,需求分析的作用是: 定义软件的范围及必须满足的约束; 确定软件的功能和性能及与其他系统成分的接 口; 建立数据模型、功

6、能模型和行为模型; 最终提供需求规格说明,并用于作为评估软件 质量的依据。 二、需求工程的活动二、需求工程的活动 需求工程是系统工程和软件工程的一个交叉分支,涉 及到软件系统的目标、软件系统提供的服务、软件系统的 约束和软件系统运行的环境。它还涉及这些因素和系统的 精确规格说明以及系统进化之间的关系。它也提供现实需 求和软件能力之间的桥梁。 需求工程需求工程 系统目标 系统服务 软件约束 运行环境 需求工程的基本活动包括:需求工程的基本活动包括: 获取需求;深入实际,在充分理解用户需求的基 础上,获取系统需求。 需求分析与建模;进行需求建模、对模型或原型 进行分析。 确认需求;确保需求说明准确

7、、完整地表达系统 的主要特性。 进化需求。客户的需要总是不断(连续)增长 的 ,进化需求是必要的。 一、一、需求获取需求获取( (requirementerequiremente licitationlicitation) ) 是需求工程的主体。是需求工程的主体。 缺乏领域知识,应用领域的问题常常是模糊的、不 精确的; 存在默认的知识,如难以描述的常识问题; 存在多个知识源,且多知识源之间可能有冲突; 客户可能的偏见,如不能提供或不想告知你所需要 了解的事情。 非常困难,主要原因有: 需求获取技术 需求抽取的方法一般有: 1.面谈法 重要而直接,简单的需求获取技术。 2. 问卷调查法 是对面谈

8、法的补充。 3.需求专题讨论会 最有力的需求获取技术。有利 于 培养高效团队。 4. 观察用户的工作流程 适用于用户无法准确表达 需求的情况。 5. 原型化方法 6. 基于用例的方法 还有知识工程方法等如:场记分析法、卡片分 类法、分类表格技术和基于模型的知识获取等。 面谈的对象主要有用户和领域专家:面谈的对象主要有用户和领域专家: 1 1) 面谈前的准备要充分;面谈前的准备要充分; 2 2) 面谈后注意认真分析总结;面谈后注意认真分析总结; 3 3) 注意掌握面谈的人际交流技能。注意掌握面谈的人际交流技能。 需求获取技术 需求抽取的方法一般有: 1.面谈法 重要而直接,简单的需求获取技术。

9、2. 问卷法调查法 是对面谈法的补充。 3.需求专题讨论会 最有力的需求获取技术。有利 于 培养高效团队。 4. 观察用户的工作流程 适用于用户无法准确表达 需求的情况。 5. 原型化方法 6. 基于用例的方法 是从多个用户中收集需求信息的有效是从多个用户中收集需求信息的有效 方式方式 ,一般问卷设计形式:,一般问卷设计形式: 1 1)多项选择问题)多项选择问题 ; 2 2)评分问题)评分问题 ; 3 3)排序问题)排序问题 。 需求获取技术 需求抽取的方法一般有: 1.面谈法 重要而直接,简单的需求获取技术。 2. 问卷法调查法 是对面谈法的补充。 3.需求专题讨论会 最有力的需求获取技术。

10、有利 于 培养高效团队。 4. 观察用户的工作流程 适用于用户无法准确表达 需求的情况。 5. 原型化方法 6. 基于用例的方法 由开发方和用户方共同召开由开发方和用户方共同召开, ,操作步骤:操作步骤: 开发方根据双方制定的开发方根据双方制定的需求调研计划需求调研计划召开相关需求主题沟召开相关需求主题沟 通会;通会; 会后开发方整理出会后开发方整理出需求调研记录需求调研记录提交给用户方确认;提交给用户方确认; 如果此主题还有未明确的问题则再次沟通如果此主题还有未明确的问题则再次沟通, ,否则开始下一主题;否则开始下一主题; 所有需求都沟通清楚后,开发方根据历次所有需求都沟通清楚后,开发方根据

11、历次需求调研记录需求调研记录整整 理出理出用户需求说明书用户需求说明书,提交给用户方确认签字。,提交给用户方确认签字。 因此系统应该具备以下功能:因此系统应该具备以下功能: 基本数据维护功能基本数据维护功能 基本业务功能基本业务功能 数据库管理功能数据库管理功能 信息查询功能信息查询功能 例例1 1:有一个大学图书管理系统,该系统除了一般的:有一个大学图书管理系统,该系统除了一般的 图书管理功能外,还能够为学生和教工从其他图书馆图书管理功能外,还能够为学生和教工从其他图书馆 借阅图书和文献资料提供服务。借阅图书和文献资料提供服务。 1. 1. 功能需求功能需求 基本数据维护功能:基本数据维护功

12、能: 提供使用者录入,修改并进行维护基本数据的提供使用者录入,修改并进行维护基本数据的 途径。基本数据包括读者的信息、图书资料的相关途径。基本数据包括读者的信息、图书资料的相关 信息,可以对这些信息进行修改,更新。信息,可以对这些信息进行修改,更新。 基本业务功能:基本业务功能: 读者借、还书籍的登记管理功能,随时根据读读者借、还书籍的登记管理功能,随时根据读 者借、还书籍的情况更新数据库系统,如果书籍已者借、还书籍的情况更新数据库系统,如果书籍已 经借出,可以进行预留操作,书籍的编目、入库、经借出,可以进行预留操作,书籍的编目、入库、 更新等操作。更新等操作。 数据库管理功能:数据库管理功能

13、: 对所有图书信息及读者信息进行统一管理维护对所有图书信息及读者信息进行统一管理维护 的功能,对书籍的借还也要进行详细的登记,以便的功能,对书籍的借还也要进行详细的登记,以便 协调整个图书馆的运作。协调整个图书馆的运作。 信息查询功能:信息查询功能: 提供对各类信息的查询功能,如对本图书馆的提供对各类信息的查询功能,如对本图书馆的 用户借书信息,还书的信息,书籍源信息,预留信用户借书信息,还书的信息,书籍源信息,预留信 息等进行查询,对其他图书馆的书籍、资料源信息息等进行查询,对其他图书馆的书籍、资料源信息 的查询功能。的查询功能。 2. 2.非功能需求非功能需求 系统安全性需求:系统安全性需

14、求:为保证系统安全性,对本图书为保证系统安全性,对本图书 馆的各项功能进行分级、分权限操作,对各类用户进馆的各项功能进行分级、分权限操作,对各类用户进 行确认。对其它图书馆借阅图书和文献资料服务控制行确认。对其它图书馆借阅图书和文献资料服务控制 访问范围:如限访问范围:如限IPIP、限用户等。、限用户等。 对系统可用性的需求:对系统可用性的需求:为了方便使用者,要求对为了方便使用者,要求对 所有交互操作提供在线帮助功能。所有交互操作提供在线帮助功能。 对系统查询速度的需求:对系统查询速度的需求:要求系统在要求系统在20S20S之内响之内响 应查询服务请求。应查询服务请求。 对系统可靠性的需求:

15、对系统可靠性的需求:要求系统失败发生率小于要求系统失败发生率小于 1%1%。 3. 3. 领域需求领域需求 例如:对例如:对“ “大学图书管理系统大学图书管理系统” ”,提出一些与图书,提出一些与图书 管理的业务相关的需求:管理的业务相关的需求: 图书编目要求按照图书编目要求按照中国图书馆分类法中国图书馆分类法进行;进行; 由于版权限制,某些文献资料只能在图书馆规定由于版权限制,某些文献资料只能在图书馆规定 的阅览室阅读,并限制复制和打印。的阅览室阅读,并限制复制和打印。 第一条需求是对遵循我国图书管理的规定,执行第一条需求是对遵循我国图书管理的规定,执行 对图书的分类管理的标准。而第二条需求

16、则是版权法对图书的分类管理的标准。而第二条需求则是版权法 对图书馆文献资料的保护的需要,描述了对一类文献对图书馆文献资料的保护的需要,描述了对一类文献 资料有限制的使用和服务。资料有限制的使用和服务。 二、二、需求分析与建模 需求分析和建模又包含三个层次的工作。 1. 需求分析 2. 需求建模(分为企业建模、功能需求建模和非 功能需求建模等) 3. 需求规格说明不同的描述方式。 主要对收集到的需求进行提炼、分析和认真审 查,确保所有参加人员取得一致共识。找出错误、 遗漏和不足,建立完整的分析模型。 需求分析常用技术需求分析常用技术 为了降低软件的复杂度,便于对问题的分析和为了降低软件的复杂度,便于对问题的分析和 理解,常采用以下技术:理解,常采用以下技术: 1. 1. 分解分解 将大问题分解为小问题,通常是自顶而将大问题分解为小问题,通常是自顶而 下,不断细化的过程。下,不断细化的过程。 2. 2. 抽象抽象 抓住问题的本质特性,从不同抽象层次抓住问题的本质特性,从不同抽象层次 进行分析,提出解决问题的方案。进行分析,提出解决问题的方案。 3. 3. 多视点多视点 注意从各类开发人员和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号