软件需求基础知识.ppt

上传人:牧羊曲112 文档编号:6611033 上传时间:2023-11-17 格式:PPT 页数:19 大小:245.66KB
返回 下载 相关 举报
软件需求基础知识.ppt_第1页
第1页 / 共19页
软件需求基础知识.ppt_第2页
第2页 / 共19页
软件需求基础知识.ppt_第3页
第3页 / 共19页
软件需求基础知识.ppt_第4页
第4页 / 共19页
软件需求基础知识.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《软件需求基础知识.ppt》由会员分享,可在线阅读,更多相关《软件需求基础知识.ppt(19页珍藏版)》请在三一办公上搜索。

1、2023/11/17,1,软件需求工程Software Requirements Engineering(SRE)第一部分 需求工程综述第一章 软件需求基础,龚 永 罡,2/19,学习目标,在学完本章内容之后,你应该能够:理解软件需求工程的关键名词;理解需求开发与需求管理的区别;了解劣质需求的特征;掌握优质需求的特点。,3/19,关于项目涉众,我们称参与软件项目或受软件项目影响的人为项目干系人,或称为项目涉众,主要包括:客户:为达到业务目标而投资项目或购买产品 用户:直接或间接使用产品 需求分析员:负责获取和编写需求 开发人员:根据需求文档设计、实现、维护软件 测试人员:检测产品的分析、设计、

2、实现与预计的一致 文档编制人员:负责编写用户手册、用户培训资料和帮助系统 法律人员:保证产品的合法性和知识产权 生产人员:制造包含该软件的产品 其他人员:市场策划、营销、技术支持以及其他辅助人员,4/19,需求工程是一个相对较新的术语,它包含着与发现、记录和维护计算机系统的需求相关的所有活动。术语“工程”的使用意味着,应该采用系统的和可重复的技术来确保系统需求是完整的、一致的和相关的。术语“需求工程”是从系统工程的角度定义的。如果从商业系统角度来讲,也可以把需求工程看作是“系统分析”。,关于需求工程,将自然科学理论应用到具体的工农业生产部门中形成的各学科的总称。如水利工程、化学工程、土木工程,

3、5/19,1.1 软件需求的定义 1)定义,IEEE(美国电气和电子工程师协会)软件标准词汇表定义需求为:用户解决问题或达到目标所需要的条件或权能(Capability 天分、潜能:一种可以得到发展应用的才能或能力【美国传统词典】)。系统或系统部件要满足合同、标准、规范或正式规定文档所需具有的条件或权能。一种反映上面(1)或(2)所描述的条件或权能的文档说明。,P5,6/19,第3层 功能需求层,第1层业务需求层,业务需求,远景与范围文档,1.1 软件需求的定义 2)需求的层次,图1-1 需求关系图,功能需求,系统需求,外部界面,约束条件,软件需求规范和模型,功能性需求,非功能性需求,P6,7

4、/19,软件需求包括三个不同层次需求:业务需求用户需求功能需求与非功能需求,描述用户使用产品必须完成的任务,通过使用实例(use-case)文档予以说明。,1.1 软件需求的定义 2)需求的层次,P7,定义开发人员必须实现的软件功能,用户通过这些功能完成他们的日常工作和任务,以满足业务需求。通过软件需求规范给予说明。,描述系统展现给用户的行为和执行的操作等,包括质量属性、操作界面细节、性能要求、约束条件、应遵从的标准与规范等。通过软件需求规范和模型给予说明。,业务:个人或某个机构的本行业本职工作。,反映组织或客户对系统、产品高层次的目标要求;通过项目远景与范围文档予以说明。,8/19,1.1

5、软件需求的定义 3)需求定义的要点,软件需求定义“做什么?”,不描述“怎么做?”需求规格说明(SRS software requirements specification)重点描叙产品应达到和满足的功能与非功能需求特性。软件开发与运行环境、开发进度、产品成本、培训需求等内容应该在项目需求中进行定义。,P8,9/19,1.2 软件需求的开发和管理,可以将整个软件需求工程领域划分为需求开发和需求管理。前者产生经过验证的SRS;后者以SRS为基线,对需求变更进行控制、管理。,P9,已通过正式复审和批准的规约或产品,它将作为进一步开发的基础,并且只能通过正式的变化控制过程来改变。,10/19,1.2

6、 软件需求的开发和管理,图1-2 软件需求工程的组成,P9,11/19,1.2 软件需求的开发和管理1)需求开发,P9,12/19,1.2 软件需求的开发和管理2)需求管理,P10,13/19,1.2 需求的开发和管理3)开发与管理的分界,图1-3 需求开发与需求管理的分界,P10,14/19,1.3 所以项目都有需求,开发软件过程中最为困难的部分是对要开发什么作出准确的判断。所以概念性工作中最难的是建立详细的技术需求,包括所有与用户、机器和其他软件系统的接口。这部分工作的错误对最终系统的破坏最大,也最难纠正。一个没有经过用户确认的需求,不可能得到好的结果。,P10,15/19,1.4 不合格

7、的SRS产生的原因,用户参与不够(认识不到位);用户需求不断变化(易变性);用户需求模棱两可(不确定性);不必要的特性(没有抓主要矛盾);SRS不符合要求(没有强调质量);用户分类不到位(分析不全面);计划不准确(计划没有反映实际情况)。,P12,16/19,1.5 优质需求过程的好处,在开发后期和维护阶段重做的工作将大大减少。节约开发成本。能弥补用户期望和开发者实际开发之间的“鸿沟”,能使产品更富有吸引力,能拥有忠实的客户关系。将需求明确地分配到各软件子系统,能简化硬软件的集成,也能确保软硬件系统功能匹配适当。能降低需求变更带来的负面影响。有利于系统测试,确保产品质量。,P14,17/19,

8、1.6 优秀需求的特点1)需求陈述的特点,完整性正确性可行性必要性优先性无二义性可验证性,每项需求都必须将所要实现的功能描述清楚。,每项需求都必须准确地陈述其要开发的功能。,每项需求都必须是在已知系统和环境的能力和限制范围内可以实现的。,每项需求都应把客户真正所需要的和最终系统所需遵从的标准记下来。,给每项需求、特性分配一个实施优先级,以指明它在特定产品中所占的分量。,对所有需求说明的读者都只能有一个明确统一的解释。,每项需求都能通过设计测试用例或其它验证方法。,P15,18/19,1.6 优秀需求的特点2)SRS 的特点,完整性 一致性 可修改性 可跟踪性,不遗漏任何必要的信息。,与其它软件需求或高层(系统、业务)需求不相矛盾。,每项需求独立标出,并与别的需求区别开来,无二义性;每项需求在SRS中只出现一次;使用目录表、索引和相互参照列表方法,使SRS更容易修改。,每项需求以一种结构化的、粒度好的方式编写并单独标明,便于跟踪。,P16,19/19,本章小结,关于涉众;关于需求工程;软件需求是客户需求信息和软件行为、特性、设计及开发约束的描述的集合;软件需求的三个层次和它们相关的活动;需求开发与需求管理的特点与区别;劣质的需求产生的问题;优秀软件需求的特性。推荐读物 1,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号