第2章-软件需求工程.ppt
- 文档编号:293132
- 上传时间:2022-10-08
- 格式:PPT
- 页数:73
- 大小:1.38MB
第2章-软件需求工程.ppt
《第2章-软件需求工程.ppt》由会员分享,可在线阅读,更多相关《第2章-软件需求工程.ppt(73页珍藏版)》请在冰豆网上搜索。
软件需求工程,2,第二章,高等教育出版社高等教育电子音像出版社,软件需求作为软件生存周期的第一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域需求工程。
20世纪90年代后,需求工程成为软件界研究的重点之一。
从1993年起,每两年举办一次需求工程国际研讨会(ISRE);1994年起,每两年举办一次需求工程国际会议(ICRE)。
一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。
2.1软件需求工程的基本概念,对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程需求工程。
1.什么是软件需求工程?
2.软件需求工程的任务是什么?
3.需求工程过程4.软件需求分析方法,软件需求的重要性,软件需求无疑是当前软件工程中的关键问题,没有需求就没有软件。
美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查。
分析失败的原因发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。
未完成,完成未实施,完成,软件需求的困难,软件需求是软件工程中最复杂的过程之一。
应用领域的广泛性,它的实施无疑与各个应用行业的特征密切相关。
非功能性需求建模技术的缺乏,及其与功能性需求有着错综复杂的联系,大大增加了需求工程的复杂性。
沟通上的困难,由于系统分析员、需求分析员等各方面人员有不同的着眼点和不同的知识背景,给需求工程的实施增加了人为的难度。
软件需求,软件需求的内容,一、软件需求内容,功能需求它是对系统应该提供的服务、功能以及系统在特定条件下的行为的描述。
它与软件系统的类型、使用系统的用户等相关,有时需要详细描述系统的功能、输入/输出、异常等,有时还需要声明系统不应该做什么。
领域需求它是由软件系统的应用领域所决定的特有的功能需求,或是对功能的约束。
传统需求分析,在传统软件工程生存周期中,涉及需求的阶段称作需求分析。
一般来说,需求分析的作用是:
定义软件的范围及必须满足的约束;确定软件的功能和性能及与其他系统成分的接口;建立数据模型、功能模型和行为模型;最终提供需求规格说明,并用于作为评估软件质量的依据。
二、需求工程的活动,需求工程是系统工程和软件工程的一个交叉分支,涉及软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。
它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系。
它也提供现实需求和软件能力之间的桥梁。
需求工程,需求工程的基本活动包括:
获取需求;深入实际,在充分理解用户需求的基础上,获取系统需求。
需求分析与建模:
进行需求建模、对模型或原型进行分析。
确认需求:
确保需求说明准确、完整地表达系统的主要特性。
进化需求:
客户的需要总是不断(连续)增长的,进化需求是必要的。
一、需求获取(requirementelicitation)是需求工程的主体。
缺乏领域知识,应用领域的问题常常是模糊的、不精确的;存在默认的知识,如难以描述的常识问题;存在多个知识源,且多个知识源之间可能有冲突;客户可能的偏见,如不能提供或不想告知你所需要了解的事情。
非常困难,主要原因有:
需求获取技术,需求获取的方法一般有:
1.面谈法重要而直接、简单的需求获取技术。
2.问卷调查法是对面谈法的补充。
3.需求专题讨论会最有力的需求获取技术。
有利于培养高效团队。
4.观察用户的工作流程适用于用户无法准确表达需求的情况。
5.原型化方法6.基于用例的方法,还有知识工程方法等,如:
场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。
面谈的对象主要有用户和领域专家:
1)面谈前的准备要充分;2)面谈后注意认真分析总结;3)注意掌握面谈的人际交流技能。
需求获取技术,需求获取的方法一般有:
1.面谈法重要而直接、简单的需求获取技术。
2.问卷法调查法是对面谈法的补充。
3.需求专题讨论会最有力的需求获取技术。
有利于培养高效团队。
4.观察用户的工作流程适用于用户无法准确表达需求的情况。
5.原型化方法6.基于用例的方法,是从多个用户中收集需求信息的有效方式,一般问卷设计形式:
1)多项选择问题;2)评分问题;3)排序问题。
需求获取技术,需求获取的方法一般有:
1.面谈法重要而直接、简单的需求获取技术。
2.问卷法调查法是对面谈法的补充。
3.需求专题讨论会最有力的需求获取技术,有利于培养高效团队。
4.观察用户的工作流程适用于用户无法准确表达需求的情况。
5.原型化方法6.基于用例的方法,由开发方和用户方共同召开需求主题沟通会,操作步骤:
开发方根据双方制定的需求调研计划确定会议内容;会后开发方整理出需求调研记录提交给用户方确认;如果此主题还有未明确的问题则再次沟通,否则开始下一主题;所有需求都沟通清楚后,开发方根据历次需求调研记录整理出用户需求说明书,提交给用户方确认签字。
因此系统应该具备以下功能:
基本数据维护功能基本业务功能数据库管理功能信息查询功能,例:
有一个大学图书管理系统,该系统除了一般的图书管理功能外,还能够为学生和教工从其他图书馆借阅图书和文献资料提供服务。
1.功能需求基本数据维护功能提供使用者录入、修改并维护基本数据的途径。
基本数据包括读者的信息、图书资料的相关信息,可以对这些信息进行修改,更新。
基本业务功能读者借、还书籍的登记管理功能,随时根据读者借、还书籍的情况更新数据库系统,如果书籍已经借出,可以进行预留操作以及书籍的编目、入库、更新等操作。
数据库管理功能对所有图书信息及读者信息进行统一管理维护的功能,对书籍的借还也要进行详细的登记,以便协调整个图书馆的运作。
信息查询功能提供对各类信息的查询功能,如对本图书馆的用户借书信息、还书的信息、书籍源信息、预留信息等进行查询,对其他图书馆的书籍、资料源信息的查询功能。
2.非功能需求系统安全性需求:
为保证系统安全性,对本图书馆的各项功能进行分级、分权限操作,对各类用户进行确认。
对其他图书馆借阅图书和文献资料服务控制访问范围:
如限IP、限用户等。
对系统可用性的需求:
为了方便使用者,要求对所有交互操作提供在线帮助功能。
对系统查询速度的需求:
要求系统在20s之内响应查询服务请求。
对系统可靠性的需求:
要求系统失败发生率小于1%。
3.领域需求例如:
对“大学图书管理系统”,提出一些与图书管理的业务相关的需求:
图书编目要求按照中国图书馆分类法进行;由于版权限制,某些文献资料只能在图书馆规定的阅览室阅读,并限制复制和打印。
第一条需求是遵循我国图书管理的规定,执行对图书的分类管理的标准。
而第二条需求则是版权法对图书馆文献资料的保护的需要,描述了对一类文献资料有限制的使用和服务。
二、需求分析与建模,需求分析和建模又包含三个层次的工作。
1.需求分析2.需求建模(分为企业建模、功能需求建模和非功能需求建模等)3.需求规格说明不同的描述方式,主要对收集到的需求进行提炼、分析和认真审查,确保所有参加人员取得共识。
找出错误、遗漏和不足,建立完整的分析模型。
需求分析常用技术,为了降低软件的复杂度,便于对问题的分析和理解,常采用以下技术:
1.分解将大问题分解为小问题,通常是自顶而下、不断细化的过程。
2.抽象抓住问题的本质特性,从不同抽象层次进行分析,提出解决问题的方案。
3.多视点注意从各类开发人员和不同用户的角度考虑问题,才能获得对系统的全面、完整的需求。
三、需求的有效性验证,
(一)需求验证的重要性.由于需求是软件开发的第一阶段,直接影响后面各阶段的开发。
.需求的可变性必须进行验证。
做什么,怎么做,三、需求的有效性验证,
(二)需求验证的内容1.有效性检查指功能需求是否符合用户所提出的需求。
2.一致性检查系统功能描述及约束是否一致。
3.完备性检查是否包含所有系统用户的需求和约束。
4.可检验性检查能否设计出一组验证方法,确定了检验的标准。
四、需求管理,需求管理贯穿需求分析全过程,包括:
记录所有需求的变化,四、需求管理,需求管理的所有活动中,最重要的是“需求变更管理”,包括:
问题分析和变更描述,变更分析和成本计算,变更实现,需求管理过程需要CASE(Computer-AidedSoftwareEngineering)工具支持。
1.传统的变化管理基本内容包括软件配置、软件基线(softbaseline)和变化审查。
软件基线是软件文档或源码(或其他产出物)的一个稳定版本,它是进一步开发的基础。
它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。
建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。
需求变更管理方法,2.新的管理方法软件家族法即软件产品线方法,该方法是源于工业界产品线的概念,关注于一个软件企业如何组织一组具有共性特征的,相似产品的生产,并应用软件复用的相关原理与技术。
多视点方法它用于管理不一致性,并进行关于变化的推理。
是从多个视点出发在软件工具的协助下对需求描述,进行自动需求建模,从而提高需求模型的完整性。
需求变更管理方法,具有一组可管理的公共特性的软件密集型系统的集合(也就是软件产品线是一个集合,这个集合中的元素都有一组可以管理的公共特性),这些系统满足特定的市场需求或者任务的需要,并且按预定义的方式从一个公共的核心资产集开发得到。
即这些产品的内部结构必须是有联系的,实际上是基于同样的基础机构,按照一定的约束,采用类似的措施进行建造的。
需求工程过程,2.2需求分析方法,功能分解方法将系统看作若干功能模块的集合,每个功能又可以分解为子功能,子功能还可继续分解,分解的结果即是系统的雏形。
存在问题1.需要人工完成2.无法对描述的准确度进行验证。
3.难以适应需求的变化。
1客房预定系统2前台接待系统3前台收银系统4账务系统5管家系统6电话系统7客房系统8合约系统9经理系统10总经理系统11密码管理系统12报表系统13账务报表,酒店管理系统,例:
按照功能分解为以下子系统:
例:
盘存/销售系统,用户提出系统应有以下功能:
计算买主订单准备销售报表建立买主文件和应收账发票运行更新的盘存文件产生托运单和包装单保证库存及时订货,计算销售记录1.1.1,产生销售报表1.1.2,核对买主贷方金额1.1.3,2.2需求分析方法,结构化分析方法是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。
2.2需求分析方法,面向对象的分析方法面向对象分析方法(OOA)的关键是识别问题域内的对象,分析它们之间的关系,并建立起三类模型。
信息建模法是从数据的角度对现实世界建立系统的信息模型,基本工具是E-R图。
是由实体、属性和关系组成的网络图。
E-实体,是一个或一组对象;R-关系,实体之间联系或交互作用。
注意:
信息建模与面向对象分析的区别!
2.2.1结构化分析方法,分解:
对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决(如右图)。
一、SA法的基本思想“分解”和“抽象”,抽象:
分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就是“抽象”。
基本思想与步骤,三、SA法的描述方法1.分层的数据流图(DFD图)2.数据词典3.描述加工逻辑的结构化语言、判定表及判定树,二、SA法的步骤,深入调查研究,分析用户需求,用DFD图描述,分析系统需求,用DFD图描述,修改完善DFD图,增添功能,顾客,出版社,验证订单,汇总订单,订单,出版社订单,图书目录文件,正确订单,一批订单,出版社档案文件,画图步骤:
1.确定外部实体及输入、输出数据流。
2.确定分解顶层的加工。
3.确定使用的文件。
4.用数据流将各部分连接起来,形成数据封闭。
注意:
标注各加工框及数据流名称。
例:
图书预订系统(顶层DFD图),三、数据流图,数据流图(DataFlo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 工程
![提示](https://static.bdocx.com/images/bang_tan.gif)