软件需求的12条最佳实践

上传人:pu****.1 文档编号:511213396 上传时间:2022-10-08 格式:DOCX 页数:7 大小:12.15KB
返回 下载 相关 举报
软件需求的12条最佳实践_第1页
第1页 / 共7页
软件需求的12条最佳实践_第2页
第2页 / 共7页
软件需求的12条最佳实践_第3页
第3页 / 共7页
软件需求的12条最佳实践_第4页
第4页 / 共7页
软件需求的12条最佳实践_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件需求的12条最佳实践》由会员分享,可在线阅读,更多相关《软件需求的12条最佳实践(7页珍藏版)》请在金锄头文库上搜索。

1、咨询实践中总结了针对软件需求工程的12 条最佳实践,罗列如 下。所谓最佳并非严密的逻辑证明,而是经过大量的实践与观察依据 经验确定的,智者见智,仁者见仁,有争议在所难免,仅供参考,能 够对大家有所启发,足矣。1 成立甲乙双方参与的需求控制组项目的成功不单是乙方的成功,而是甲乙双方的成功,甲乙双方 紧密配合,互相理解,互相合作才能成功,需要避免一方独大,一方 具有绝对控制权的现象,所以成立甲乙双方参与的需求控制组是避免 需求蔓延的有效手段。该组织具有对需求的决策权,对于每项需求的 增删改都要平衡了进度、质量、投入后才能确定,该组织不能是一个 流于形式的组织,应切实地参与到需求的获取、描述、分析、

2、确认、 变更等活动中。2 识别合适的需求提供者,尤其不要遗漏了最终用户在获取需求时应该首先识别谁可能有需求,首先识别出来合适的 需求提供者,需求的提供者中包括了客户、最终用户、间接用户。客 户是掏钱买软件的人,最终用户是使用软件的人,间接用户是对软件 有影响力,但是他可能不使用该软件,也不掏钱买该软件,三种类型 的角色有可能有重合,三者都决定了软件的需求,可能不同的角色对 需求的作用不同,不要忽略了任何一种类型的需求提供者。在很多项 目中往往忽略了最终用户的需求,而导致操作层的需求捕获不全,系 统在上线时返工很大。3 定义需求调研问题单 在需求调研的准备阶段,需要准备好需要关注的问题,事先的准

3、 备可以保证需求调研活动的完备性、高效性。在调研问题单中尤其不 要遗忘如下的问题:异常是如何处理的?峰值是如何处理的?非功能性的需求有哪些?未来可能的变化有哪些?最重要的需求是什么? 对照问题单进行调研进行及时的记录后,调研记录可以请客户确 认是否完备正确。4 在项目初期教育客户如何实施一个软件项目客户教育是一个大问题,尤其是对一个没有IT经验的客户,如 果客户缺乏正确的实施一个IT项目的观点,那么他就不知道如何去 提需求,如何控制需求的范围,如何管理一个IT项目。客户的需求 是一个项目的输入,如果需求不明确、需求有遗漏、需求总是变化、 需求不切实际、需求没有划分优先级,则对整个项目的成败影响

4、重大。因此需要在项目的初期对客户实施教育,告诉客户项目成败的关键因 子是什么,在整个项目进展过程中客户需要注意什么。5 引导用户划分需求的优先级用户往往不关注需求的优先级,认为所有的需求都重要,需求工 程师需要引导用户划分需求的优先级,而不是单刀直入的让用户划分 需求的优先级。可以通过如下的启发式问题引导客户划分需求的优先 级:在谈到的上述的需求中,最重要的3 项需求是什么? 这个需求比另外一个需求更重要吗?对于这个需求是否可以考虑采用其他的解决方案,而不通过系统 来实现?或简单实现?如果推迟或不实现这个需求,是否对项目的目标有影响? 如果推迟或不实现这个需求,会对哪些业务,哪些人员有影响?6

5、 采用用户故事+ 验收准则描述用户需求用户故事是敏捷开发方法中描述用户需求的方法,该方法采用三 段论的方式描述需求:角色 功能 目的如:作为一个家庭主妇,我需要一个30 平米的餐厅,以便于我招待 10 个朋友进餐。作为一个系统管理员,我希望系统能够自动备份重要的数据,以 便于在发生灾难时可以自动恢复。通过这个描述方式可以帮助我们确定每个需求的重要性,同时也 提供了一个伸缩的弹性,即这个需求的细节特性可能有比较大的协商 空间,可以方便我们进行需求、质量、进度、投入的平衡。仅仅描述了用户故事还不足以让开发人员准确了解需求,还需要 描述每个故事的验收标准,通过验收标准来细化需求,在开发与用户 之间达

6、成对需求的一致理解。比如:餐厅要灯光明亮;餐厅要靠近厨房;餐厅要 5 米*6 米;不仅仅是在敏捷方法中需要描述每个需求的验收准则,在传统的 需求描述中也需要明确描述需求的验收标准,但是很多需求工程师恰 恰忽略了这一点,很多项目的验收准则描述为参考需求规格说明书进 行验收。客户在验收时检查的特性实际上比需求规格说明书中描述的 特性要少的多,验收标准代表了客户的最低要求,通过编写验收标准 可以发现需求中不明确的地方,凡是不能写出验收标准的需求,通常 都是模糊的需求,通过编写验收标准可以起到对需求补充完善的作 用,验证需求的作用。7 需求描述中至少包括:业务流程图、用例、界面原型、非功能 性需求、需

7、求优先级业务流程图描述客户的业务处理的流程,对于理解需求提供了一 个很好的背景信息,可以从业务流程图中提取出功能需求与非功能性 需求。用例描述了人机交互的流程,划分了人与系统的职责,清晰刻画 了正常与异常的事件流,无论是与客户还是与技术人员都很容易沟 通,是描述功能需求的一种有效方式。界面原型将软件的功能直观地展示出来,一图胜千言,便于引导 客户提出更细致、更准确的需求,也便于与技术人员的沟通。在需求 获取与分析时应该尽早构造出界面原型。并非需要针对所有的需求都 要构造原型,核心的、难以理解的需求需要构造原型。非功能性需求是用户容易忽略的需求,需求分析人员需要引导客 户提出非功能性需求,如果客

8、户不能提出来,需求分析人员需要根据 历史的经验定义出非功能性需求并和客户确认,非功能性需求一定要 描述出来,不能想当然的认为应该如何如何而没有文档化。非功能性 需求能量化则量化,不能量化则采用原型描述。需求的优先级一般最多划分为3 级,优先级最高的最先实现。需 求的优先级为采用迭代方法提供了一个基础,也为平衡进度、质量、 需求、投入提供了决策依据。在描述系统需求时不仅仅限于上述的5 个方面,还有项目的目 标、涉及的用户角色、系统的运行环境、处理的数据等等,但是上面 的 5 个方面往往是最容易出问题的地方。8 测试人员参与需求评审,确保需求的可测试性 需求的描述要详细到可测试的程度,所谓可测试即

9、测试人员阅读 了需求以后可以编写出测试用例,能够识别出输入、操作流程、处理 逻辑及预期的输出。测试人员参与需求的评审关注的就是需求的可测 试性,如果一个需求不可测试,则说明该需求描述的不够明确。9 采用功能点方法度量软件规模,确保需求描述的明确性 功能点方法不仅仅是一种规模度量的方法,还是一种需求验证的 方法,如果存在两个人功能点分析师对同一需求计算出的功能点不一 致,往往是由于需求的描述不够明确而导致的。在需求阶段,通过度 量软件的规模可以促进对需求的沟通、理解从而发现需求中模糊、有 争议的地方。10 通过给客户讲解需求及演示界面原型的方式让客户确认需求需求每经过一个传递,就会发生一次误传,

10、要么信息有遗漏,要 么信息有错误,通过需求的确认可以及时发现这些错误,及时纠正这 些错误。开发人员给客户讲解对需求的理解、给客户演示界面原型以 及在开发过程中阶段性的演示半成品都是需求确认的方式。人们只有 在看到实际的软件时才能提出更多的需求,这是客观的现实,因此应 该多采用原型法来确认需求,这也是敏捷方法中频繁交付这条实践的 来源。对客户的需求可以确认多次,比如首先是初步的需求访谈记录确 认,然后是界面原型的确认,再进行高保真的界面原型确认,在项目 开发过程中,可以不断的对半成品的软件进行确认,直至最后的验收 确认。11 无论大小需求的变更都应纳入变更控制的流程 需求总是渐变的,对于大变更、小变更都纳入需求变更的流程, 很多项目往往忽略了对小变更的控制,积少成多,最终导致需求、设 计、代码的不一致。需求的变更可以分级控制,明确划分不同级别的 需求变更,级别不同审批的流程与权限可以不同。12针对非功能性需求执行QFD (质量功能部署)针对非功能性需求执行QFD,即建立非功能性需求与设计方案之间的映射关系,非功能性需求与测试用例之间的映射关系。在实际中 项目组往往只会关注功能性需求的实现与测试,而忽略了非功能性需 求的实现与测试,通过该实践可以规避对非功能性需求的实现风险。

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

当前位置:首页 > 学术论文 > 其它学术论文

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