暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
2019人机协作的用户故事场景提取与迭代演进-王春晖 , 金芝 , 赵海燕 , 刘璘 , 张伟 , 崔牧原.pdf
120
20页
0次
2022-05-23
免费下载
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2019,30(10):31863205 [doi: 10.13328/j.cnki.jos.005795] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
人机协作的用户故事场景提取与迭代演进
王春晖
1,2,4
,
1,2
,
赵海燕
1,2
,
3
,
1,2
,
崔牧原
1,2
1
(北京大学 信息科学技术学院,北京 100871)
2
(高可信软件技术教育部重点实验室(北京大学),北京 100871)
3
(清华大学 软件学院,北京 100084)
4
(内蒙古师范大 计算机科学技术学院,内蒙古 呼和浩特 010022)
通讯作者: 金芝, E-mail: zhijin@pku.edu.cn
: 敏捷软件开发中常用用户故事表达需求:用户故事讲述了具体的用户角色希望软件完成的功能.系统新
版本的需求常常来自多个用户故事的整合.随着版本的迭,不断会有新的用户故事出现.用户故事的迭代式管理和
整合是敏捷开发成功的关键.为帮助开发者掌握项目的用户故事需求,提出人机协作的用户故事理解、整合和管理
方法,支持需求的迭代更新.具体而言,提出用户故事元模型和带场景细粒度描述的用户故事表示,从故事描述、功能
特征属性以及场景 3 个维度表达用户故事.便于开发者理解用户故事所表达的功能需求.提出基于元模型的用户故
事理解,以及用户故事表达元素的自动提取方法.提出人机协同式用户故事整合方法,使用功能场景图辅助开发者确
定用户故事间的关联关系.提出基于功能场景图的用户故事迭代更新方法.案例研究展示了方法的可行性.
关键词: 敏捷需求工程;用户故事;需求抽取;需求迭代演进;用户故事关系挖掘
中图法分类号: TP311
中文引用格式: 王春晖,金芝,赵海燕,刘璘,张伟,崔牧原.人机协作的用户故事场景提取与迭代演进.软件学报,2019,30(10):
3186–3205. http://www.jos.org.cn/1000-9825/5795.htm
英文引用格式: Wang CH, Jin Z, Zhao HY, Liu L, Zhang W, Cui MY, Human-assisted elicitation and evolution of user stories
with scenarios. Ruan Jian Xue Bao/Journal of Software, 2019,30(10):31863205 (in Chinese). http://www.jos.org.cn/1000-9825/
5795.htm
Human-assisted Elicitation a nd Evol ution of User Stories with Scenar ios
WANG Chun-Hui
1,2,4
, JIN Zhi
1,2
, ZHAO Hai-Yan
1,2
, LIU Lin
3
, ZHANG Wei
1,2
, CUI Mu-Yuan
1,2
1
(School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China)
2
(Key Laboratory of High Confidence Software Technology of Ministry of Education (Peking University), Beijing 100871, China)
3
(School of Software, Tsinghua University, Beijing 100084, China)
4
(College of Computer Science and Technolgoy, Inner Mongolia Normal University, Hohhot 010020, China)
Abstra ct : User stories are widely used in agile development projects. Every user story tells what the user/customer wants the system to
do. However, a user story can only contain a small piece of the requirements but not the whole business logic. That means that when the
customers submit user stories, the developers need to combine them together according to the relationships among them for producing or
updating the system requirements. That is very tedious, time-consuming, and error-prone. This study proposes a human-machine
基金项目: 国家重点基础研究发展计划(973)(2015CB352201); 国家自然科学基(61620106007, 61751210, 61272163,
61432020, 61690200)
Foundation item: National Basic Research Program of China (973) (2015CB352201); National Natural Science Foundation of China
(61620106007, 61751210, 61272163, 61432020, 61690200)
本文由面向 DevOps 的软件工程新技术专题特约编辑荣国平、白晓颖、岳涛推荐.
收稿时间: 2018-09-01; 修改时间: 2018-10-31; 采用时间: 2018-12-14; jos 在线出版时间: 2019-05-22
CNKI 网络优先出版: 2019-05-22 15:26:00, http://kns.cnki.net/kcms/detail/11.2560.TP.20190522.1525.004.html
王春晖 :人机协作的用户故事场景提取与迭代演进
3187
collaborative approach to support the user story understanding and system functional requirements generation. This approach proposes to
include the scenarios as the fine-grained representation of user stories and presents a feature-scenario model to capture the elements of
user stories in three dimensions, i.e., the story description, the function attributes, and the scenarios. It designs a three-step algorithm to
accept the submission of user stories, extract the features of each user story, and construct its functional scenario. As there are
relationships among different user stories, it defines three types of correlative relations among them based on the functional scenarios.
With the help of the customers, it supports the measurement and the identification of these relations and then constructs the systems view
of the functional requirements. It is also applicable when obtaining new user stories for tolerating the requirements evolution. A case study
shows the feasibility of this approach.
Key words: agile requirements engineering; user story; requirements elicitation; requirement evolution; user story relation mining
软件开发过程中,需求很难一次性完整获得,而且也会频繁发生变更.传统方法试图在开发前完成并确认整
个需求文档,但这样开发出的软件产品常常因不满足用户需要而使项目以失败告
[1]
.敏捷方法注重领域用户
与开发团队的频繁交互,能够快速响应需求变化,在较短的时间内开发出满足用户需求的软件产品
[2]
.但开发者
如何能够准确理解领域用户需求并有效地维护和管理需求变更,仍然是困扰敏捷开发团队的难题.
一方面,在敏捷方法中,用户故事是领域用户表达需求的最主要方式,该种方式只对意图进行简短说明
[3]
,
要开发者与领域用户进一步沟通,以形成系统功能说明.另一方面,在发布规划时
[3]
(规划迭代开发选择的用户故
,确定项目时间表),需要根据领域用户对特定功能特征的急切程度以及用户故事间的关系排列用户故事的
先级.目前,一般通过领域用户与开发者之间的反复交流和讨论,建立起用户故事索引表,人工梳理故事间的关
[13]
.大型软件开发一般会产生大量用户故事,每天都出现大量的新增需求,比如百度公司每天新增需求卡片
6 700
[4]
.用户故事间的关系可能错综复杂,它们常常重复和不一致.建立起完整的故事关系,特别是建立新
增的和已有的用户故事间的关系非常困难.如果能有一种()自动化的手段帮助处理用户故事文档,进行需求
抽取以及关联关系挖掘,将有可能辅助实现高效的用户故事管理.
为了降低敏捷团队成员间沟通和理解的困难程度,领域用户可以描述更多的系统行为,以方便开发者确定
系统功能.行为驱动的敏捷方法
[5,6]
提出使用场景(scenario)更细粒度的描述用户故事,表达用户故事在不同状况
下的系统活动,便于在开发前进行需求验证及测试.场景描述了用户故事在特定上下文中的结果.这种描述方法
以领域用户所希望的系统行为出发,引导领域用户提出需.系统行为源于待开发软件产品的业务结果,表明,
为了达成业务结果应该如何去做.因而,容易被领域用户接受.同时,在场景中关注目标系统的细粒度行为需求,
更容易被开发者理解和实现.
一个软件系统通常有很多用户故事,需要一种有效的方式将这些用户故事组织在一起,建立用户故事之间
的关系,形成对未来系统的整体需求
[7,8]
.目前已有一些整合用户故事的方法
[911]
,它们通过建立用户故事与需求
模型之间的映射,实现从一组用户故事到需求模型的转换,包括从用户故事到 Use-Case 模型
[12]
业务流模型
[10]
以及目标模型
[11]
等的转换.也有方法借助自然语言分析技术自动地从用户故事中提取概念模型,并检查需求的
完整性
[9,13,14]
.但是由于自然语言描述本身的二义性及用户故事描述的不规范,全自动的模型转换非常困难.
,大多数方法都仅提供模型编辑工具,辅助模型生成
[912]
.
敏捷开发过程中,需求并不是事先定义好的,而是通过利益相关者之间的频繁交互,随着迭代开发过程
步变得清晰
[1]
.在每个迭代周期结束时,领域用户根据对已实现功能的测试及评估结果提出需求变更申
,主要包括添加或删除功能或修改已实现的功能.变更的功能(用户故事)应该快速地融合到系统需求模型
,以实现模型的快速更新,还需要检查更新的需求与前期版本需求是否存在冲突
[17]
.目前,用户故事管理的
办法主要是建立用户故事列表和索引卡,人工分析用户故事的变化
[3]
以及变更的成本和风险.有的研究通过
分析多个连续版本的需求文档来评估需求变更的风险
[18,19]
,也有的研究提供辅助平台,借助相关领域知识帮
助管理需求演进
[20]
.
本文提出一种敏捷需求工程场景下的人机协作式用户故事理解和系统功能需求获取方法.该方法提出带
场景的用户故事表示,当领域用户提交一组用户故事后,可根据用户故事元模型,借助用户故事模板以及句法规
,采用自然语言分析技术,进行用户故事的特征抽取和功能表达.提出基于用户故事概念关系推理规则的用户
of 20
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜