- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
XXXXXX大学软件工程SOFTWAREENGINEERING教师:XXXXX2024
教学目标:(1)理解软件需求分析的概念和特点;(2)掌握需求分析的具体任务及过程;(3)掌握需求获取的方法;(4)能够编写小型项目的需求规格说明书。第3章软件需求工程
3.1.1软件需求1.什么是需求IEEE软件工程标准词汇表中对需求的定义是:(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力;(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。3.1需求工程概述
3.1需求工程概述功能性需求功能性需求主要描述软件应该做什么,即为用户或其他系统完成的功能、提供的服务。功能性需求是软件的一项基本需求,但并不是唯一的需求。非功能性需求非功能性需求主要描述软件质量属性的特性,包括易用性、可靠性、执行速度以及异常处理能力等。
3.1需求工程概述软件产品要满足用户所需就要创建良好的需求,一般良好的需求应该包含以下9个特性:(1)正确性:技术可行,内容合法,符合软件设计实际要求;(2)完整性:能够表达一个完整的想法;(3)清晰性:不易被错误理解,不模棱两可;(4)一致性:不与其它需求相冲突;(5)可追踪性:可以唯一识别并进行跟踪;(6)可验证性:可验证软件能够满足用户需求;(7)可行性:可以在预期成本和计划进度内完成;(8)模块化:可单独变更而不影响其它需求,或不会造成较大影响;(9)独立于设计:不包括项目设计和实现的细节、计划信息等。
3.1.2需求分析需求分析是研究用户要求,以得到目标系统的需求定义的过程,即理解、分析和表达“系统必须做什么”的过程。客户需求的模糊性对问题空间理解的不完备性与不一致性客户需求的动态性
需求分析过程需求获取需求提炼需求描述需求验证
角色名称描述用户直接操作软件的人员客户软件开发的委托方或软件市场的目标客户需求分析人员负责进行需求搜集,并进行分析形成软件需求规格说明书3.2需求获取
3.2.2需求获取存在问题(1)分析人员与用户的沟通问题(2)误解客户需求问题(3)需求的不确定性问题(4)获取方法问题(5)时间问题
3.2.3需求获取方法1.访谈2.问卷调查3.实地考查4.情景分析5.构造原型
3.2.4提高获取的效率
1.主动了解客户业务和相关知识2.及时整理记录3.对客户进行正确分类4.引导客户,使其充分表达自己的想法5.充分利用需求确认会议6.需求是变动的7.及时交流
3.2.5需求获取实例
【例3-1】高校财务问答系统需求获取实例1.确定用户类型
2.确定场景
3.3需求提炼3.3.1需求分析模型所谓模型,就是为了理解事物而对该事物做出的一种抽象,在软件工程中的模型由一组图形符号和组织这些符号的规则组成。
3.3.2需求分析模型分类1.域建模2.用例建模3.组件和服务建模4.性能建模
3.3.3需求分析建模方法
结构化分析建模方法是从数据流进行分析,用数据流程图把要开发的软件功能结构表示出来,这种图形是软件的功能模型,所以它是一种建模活动。面向对象分析建模不仅仅是新的编程语言的汇总。它是一种新的思维方式,一种关于计算和信息结构化的新思维。面向对象的分析建模可以视为是一个包含抽象、封装、模块化、层次、分类、并行、稳定、可重用和可扩展性等元素概念的框架。
3.4需求描述3.4.1需求描述方法通常有三种方法进行需求描述:(1)用好的结构化和自然语言编写文本型文档;(2)建立图形化模型,这些模型可以描绘转换过程、系统状态和它们之间的变化、数据关系、逻辑流或对象类和它们的关系;(3)编写形式化规模说明,可以通过使用数学上精确的形式化逻辑语言来定义需求。尽管形式化规格说明具有很强的严密性和精确度,但由于其所使用的形式化语言只有极少数专业人员才熟悉,所以,这一方法一直没有在工业界得到普遍使用。
3.4.2软件需求规格说明软件需求规格说明书(SoftwareRequirementSpecification,SRS)是需求分析的结果,它具有广泛的使用范围,并成为客户、分析人员和设计人员之间进行理解和交流的手段。客户通过需求规格说明书指定需求,检查需求描述是否满足原来的期望;设计人员通过需求规格说明书了解软件需要开发的内容,将其作为软件设计的基本出发点;测试人员根据软件需求规格说明书中对产品行为的描述,制定测试计划、测试用例和测试过程;产品发布人员根据软件需求规格说明书和用户界面设计编写用户手册等文档。
3.4.3需求描述的编写原则(1)句子和段落要短。使用正确的语法、拼写、标点。使用术语,要保持一致性,并在术语表或数据字典中定义它们。(2)要检查需求是否被有效地定义。换句话说,作为软件需求规格说明的编
文档评论(0)