技术文章

需求工程综述及需求管理解决方案-VISSLM REQ需求管理工具

时间:2023-05-23

作者·黄雨西

一、需求工程概述

通俗的讲,“需求”就是用户的需要,它包括用户要解决的问题、达到的目标、以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。

按CMMI软件能力成熟度的定义,需求是开发方和利益攸关方就系统未来所达到的功能和质量所达成的一致约定和协议。

按PMP定义,需求是指发起人、客户和其它干系人的已量化且记录下来的需要与期望,收集需求旨在定义和管理客户期望。

上世纪80年代中期,随着需求在整个系统开发与维护过程中的地位越来越重要,逐步在工程界形成了软件工程的子领域——需求工程 (Requirement Engineering, RE)。即通过应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助系统分析、开发人员理解问题,评估可行性,协商合理的解决方案、无歧义地制定方案、确认要求以及将要求转换到可运行系统。

需求工程是一个项目的开端,也是项目建设的基石。需求工程的过程包括了需求开发和需求管理两个部分。整体需求工程一般在项目启动前开始,包括需求获取、分析、规划定义和需求验证等活动。通过开展组织内外的需求评审,以确定需求基线,并在需求发生变更时,重新进行需求的获取、分析、定义和验证评审。对需求变更影响项进行相关识别、风险应对、修改和跟踪,对需求状态和变化过程进行统计分析和测量汇报。

 

二、需求工程发展历程

随着软件工程技术的发展,需求工程越来越引起人们的关注。特别是当今产品业务需求的发展,信息种类和数量高速增长,用户的需求也日趋复杂,需求变更似乎成为了必然。通过充分了解需求工程的发展历程,对于把握需求工程的发展、认识需求工程的困难性、有效开展需求工程活动都大有裨益。

  • 结构化需求工程

结构化思维能站在整体角度,遵循启发性的原则分解问题与场景,循序渐进、逐步求精,全面完整的对问题进行系统思考和解决。结合结构化思维的面向整体、自上而下分类分析、逐步求精的思想,针对需求分析自上向下整理系统需求、软件需求类型和需求元素(属性),建立结构化需求结构和模型,形成管理系统/软件需求的模板,用于需求分析。

各类需求可通过不同类型、不同数量的需求元素(属性)来定义,每类需求关注的需求元素(属性)存在差异。因此,需求最终由各种类型需求的需求元素(属性)组成,需求元素(属性)是需求的基本单元。

  • 敏捷需求工程

随着2001年,敏捷软件开发宣言的创立,对于软件开发过程的价值观和原则,对于敏捷软件开发中的团队协助都产生了很大的影响。此外还有一些敏捷方法,如Scrum、极限编程(XP)、特征驱动的开发和Kanban(看板),也在不断的涌现。在敏捷开发的背景下,需求工程是在整个开发过程中迭代地执行,而不仅是拘泥于开发过程的开始阶段。为此,一个实时的、敏捷的需求工程模型用于将高级需求细化为开发人员可以实现的低级任务,使业务人员、利益攸关方、用户和开发人员能以某种方式协同工作。从通过史诗的方法捕获需求开始,利用用户故事、故事图进行改进,通过Kanban的方法设计、开发和交付,利用持续交付(CD)这样的敏捷开发技术对需求进行测试与验证。

  • 数据驱动与NLP需求工程

在传统需求工程中,需求主要从客户的领域知识中引出,依赖于定性数据收集方法。得益于整个社会的持续数字化,大数据、人工智能技术的高速发展,为传统需求工程带来了新的机会,包括从静态数据中自动获取需求,从各种类型模型中提取需求(如业务流程模型、UML模型)。尤其是近期GPT-4模型的发布所引起的AI浪潮,未来的需求工程或许能够从动态数据中提取需求,包括从自然语言生成需求、从需求工程的过程中挖掘需求、基于主动学习和半监督机器学习的需求特征分析。使用和分析各类工程活动所产生的数据类型,以及自动数据融合和情景方法来集成、处理和分析大量的异构数据源以引出需求,也是未来一个可能的研究方向。

 

三、VISSLM REQ需求管理工具特点

VISSLM REQ需求管理工具作为上海创景信息科技有限公司自主可控的需求管理工具,支持开展结构需求分析与敏捷需求管理。覆盖需求工程所要求的各项需求管理活动,包括条目化的需求定义、需求版本管理、需求基线管理、需求追溯管理、需求变更管理、需求在线评审、需求数据交换等功能,能针对条目化需求进行评审和验证,能够基于需求开展敏捷活动,切实提升需求管理的质量和效率。

  • 结构化需求管理

VISSLM REQ需求管理工具支持各层级、各类型条目化需求的定义,包括系统需求、高级需求、低级需求等。提供类似WORD的文档编辑界面与中文需求的编辑操作习惯,支持表格、数学公式的插入,UML模型、VISIO业务流程等OLE对象的编辑、自定义多级列表符号、图号、表号,支持开展不同需求类型的需求元素(属性)定义。

对结构化需求的定义情况,VISSLM REQ需求管理工具能够根据需求规则集对指定的需求类型进行详尽的检查,提供需求规则集脚本化自定义与违反规则的需求清单,通过对于需求的快速检索、按属性过滤、排序,快速定位、跳转到对应的需求条目位置。

  • 面向领域工程的需求管理

领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,其覆盖了可复用软件构建的所有活动。VISSLM REQ需求管理工具支持基于需求和已存在的系统设计,利用需求与设计的追踪关系,建立不同领域的需求仓库。在类似或部分类似的系统开发过程中,通过引用与复用不同领域、不同特征的需求,快速形成需求清单与相应的系统设计,实现在领域模型的引导下进行需求的理解和分析,以及从需求到设计甚至编码的过渡。

  • 敏捷需求管理

从事安全关键性系统项目研制,既要满足行业标准合规要求,同时又要适应需求的不断变更,传统的开发模式已经难以满足快速需求变更的要求。对此,VISSLM REQ需求管理工具提供敏捷需求管理模式,在项目的需求分析、设计过程中,采用“敏捷”进行多次迭代,并且在项目开发过程中逐步迭代和调整。基于史诗、用户故事、看板等多种敏捷技术定义项目需求,并通过迭代、代办事项、燃尽图调整和监控需求分析与实现的情况,从而对项目的整体需求变迁进行把控。

  • 动态需求数据分析

VISSLM REQ需求管理工具提供需求数据展示与分析功能,通过定期的自动化需求数据采集,将各类需求类型的基础数据、隐含属性进行汇总与二次计算,动态展示需求定义与质量的趋势。通过从个人、项目、部门等多个维度进行需求数据的统计,利用表格、饼图、柱状图、趋势图等形式进行需求数据展现,为企业整体需求分析与决策提供数据基础。

 

总结

VISSLM REQ需求管理工具将需求工作流程,需求开发工具,需求工程数据三者实现完美整合,为用户提供了一个一体化的需求开发与管理工具。实现了对需求开发过程、活动以及相关工件及产品的管理,能够开展需求层级创建与需求条目导入和编辑,为需求条目设置多种形式的风格样式;能够基于已创建的需求条目建立需求关系,以多种形式展示需求条目之间的追踪关系;对于需求条目的编辑、新增,通过条目版本列表与需求基线固化需求状态,并能够比对不同状态间的需求变化情况;自动根据已创建的需求数据开展需求测量;能够在线发起评审申请并组建评审团队,基于需求条目与检查单提交、汇总、决策评审意见;提供需求模板自定义设置功能,为需求文档映射对应模板从而封装与输出符合要求的文档提供支撑;能够提供高并发用户使用与多用户并行输出的能力。

参考文献

[1]王浩宇.软件需求工程技术综述[J].计算机科学,2022,49(S2):766-779.
[2]罗俊伟. 软件需求管理工具的研究与实现[D].中国科学院研究生院(软件研究所),2003.
[3]葛晨,李洋.结构化思维在软件需求分析和描述中的应用[J].电子技术与软件工程,2017(17):76-78.
[4]刘忠宝,赵文娟.需求工程现状和发展研究[J].电脑开发与应用,2011,24(11):1-4.

技术文章

姓名

公司

电话

邮箱