第14卷第1期软件导刊Vo1. 14No. 1 2015年1月Software Guide 基于业务驱动的需求获取方法邱会鲁,赵卫东,邵秀秀,吕峰(山东科技大学信息科学与工程学院,山东音岛266590)摘要:针对需求获取中需求范围确定、需求沟通及理解、需求定义等方面存在的问题,对需求获取方法进行了新的探索,提出了一种基于业务驱动的需求获取方法,其中包括支撑业务驱动过程的业务需求映射模型,维度一需求体系应用和业务驱动需求,采用了层次分析法、质量功能部署、业务分解结构和统一建模语言UML等技术。应用结果表明,该方法具有可操作性,能够有效提高需求获取工作效率和质量。关键词:需求获取;业务驱动;业务←需求映射模型;维度-需求体系;层次分析法;质量功能部署DOI: 10. 11907/rjdk. 143673 中固分类号:TP301文献标识码:A文章编号:1672-7800(2015)001-0004-04之间存在选择性的映射关系。所谓选择性是指根据软件。引言功能需求与用户需求进行业务筛选,此模型主要给系统分析人员提供界定软件产品范围依据。业务-需求映射模需求获取是软件开发的基础,对后续的分析设计及开型如图1所示。发实施有重大影响,同时也决定着客户对需求完整性、正确性的认可度。StandishGroup的研究表明,至少有1/3业务域软件域以上的项目是因为与需求获取、需求建档和需求管理相关的原因而陷入困境[1)。目前,需求获取仍是一个需要关注且也旦国和深入研究的领域o且\国文献[2J中提出了与需求获取息息相关的3个至关重国国苟且要的因素z①应搜集什么信息;②要求解决的问题列表;③用户对解系统行为或结构施加的约束。与这些因素相关国i且的需求范围确定、需求沟通与理解和需求定义等存在诸多也困难。针对需求获取的问题和难点,一些研究提出了基于国((@ 领域知识和本体论的需求获取方法[叫,以及基于情景与基于用例驱动的需求获取方法[6-7J等,但对于如何从业务」叫需求口F阳能需求。N巾叫求角度驱动软件需求获取过程的研究还比较少,本文提出的基于业务驱动的需求获取方法源于对需求层次化问及图1业务一需求映射模型RUP业务建模的思考。需求获取具有层次化的特点,而 业务一需求映射数据结构且各层次之间存在紧密的关联。首先要有业务需求,业务根据业务一需求映射模型的特点,可以将需求数据抽不正确或不清楚,后续工作会受到很大影响;其次是用户象为以下基本结构:需求,用户需求需要与具体的业务需求保持→致;最后是(1)集合B、S,F与={x\x为业务需求},F= 软件需求,涉及软件功能性和非功能性需求。这种思路提{YF \YF为软件功能需求}.NF= {YNF \ YNF为软件非功能供了解决需求获取的主线,即业务驱动需求获取过程。性需求}.S={y\yεF或yεNF}。(2)序偶<>表示Z与y的二元映射关系.R为映1 业务一需求映射模型射关系集合.<工.y>εR。 业务一需求映射过程与规则业务一需求映射模型由业务域和软件域组成,两个域基于业务驱动的需求获取主要包括两方面映射:①用作者简介:邱会鲁0990-),男,山东曲阜人,山东科技大学信息科学与工程学院硕士研究生,研究方向为软件工程。
5 第1期邱会鲁,赵卫东,邵秀秀,等:基于业务驱动的需求获取方法户需求与约束到软件的非功能性需求映射,这个过程通过需求之间存在微弱的关系;3表示存在较弱的关系;5表示质量功能展开技术QFD(Qua!ity Function Deployment)进存在一般的关系;7表示存在密切的关系;9表示非常密切行选择映射;②业务需求到软件功能的映射,这个过程主的关系;必要时采用中间等级,2表示介于1与3之间;4 要是通过层次分析法AHP(Analytic Hierarchy Process) 表示介于5与7之间;6表示介于7与O之间;0:表示空标识业务需求优先级,并对其进行业务模型构建,通过用白,不存在关系。例转换方式转换为系统用例,并将其它相关业务模型转换加权后的重要度定义为公式(1): 为系统功能性描述。下面对两种映射进行介绍zHj = 2..:UHURij + 2..:CHiCR’j (1) i(1)用户及约束与软件非功能需求的映射。①标识与i=l i=1 如果第j项非功能性需求与多项用户需求和约束密描述用户需求及约束条件;②对用户需求及约束进行重要切相关,并且这些用户需求和约束需求比较重要,那么H度分析;③标识涉及的非功能性需求;④应用QFD关系矩j取值就越大,就表示这项非功能性需求越重要。阵;⑤整理出软件非功能需求。在映射(2)中应用AHP方法。AHP方法即层次分析(2)业务需求映射。①标识业务域需求;②利用AHP法,它将给定描述的目标进行成对比较,分析其相对重要方法标识出业务需求优先级;③构建业务模型F④应用业程度,据此定量地得出各目标的权重,从而确定优先级。务与软件功能映射规则;⑤整理出软件功能需求。针对上述映射(1),通过建立QFD过程,对相关用户首先,以B=[bi} JmXm表示业务需求重要度组成的判需求和约束条件进行映射,这种方法可以有效提高用户和断矩阵:软件项目内部横向和纵向沟通的有效性。而映射(2)各步bbbb11 12 13 J 骤制定了如表1所示的映射规则,映射规则从业务需求域bbbb", 21 22 23 2元素入手,与软件需求元素进行关联,建立用户可以对照b31 32 3m B = Ib bb;l3 一(2) 理解的系统概貌。表1业务-软件功能映射规则映射对规则bm1 bbm2 m3 b,= 执行者用户业务各级执行者对应软件各级用户bij表示业务需求i相对于业务需求对实现软件需J业务实体~输入业务实体定义作为软件功能需求的输入求的重要度。其中,bji=l/bij。判断矩阵元素bij的赋值评业务实体-输出处理后业务实体作为软件功能需求输出业务实体-存储分准则为业务实体对照不同的存储方式:1:需求i与需求J对业务需求的贡献相当;3: 业务内容与逻辑一处理业务内容对应软件功能需求i与需求j相比重要;5:需求i与需求j相比极为重业务流程与逻辑一处理业务流程对应功能间关联要;2,4为可取的中间值 QFD与AHP应用其次,计算业务需求重要度。将业务需求两两对比,在映射(1)中主要采用广义的QFD技术,它是一种采通过评定,建立业务需求重要度矩阵后,进行特征向量W用矩阵的形式量化评估目的和手段相互关系的分析工具,=[W,W2'…,W,…W]τ的计算。1im本文在传统关系矩阵的基础上进行了应用,对映射进行评计算判断矩阵B中每行元素的几何平均值:估,确定非功能需求,确立的非功能需求关系矩阵如图2(3) 所示。z 将W",进行归一化,计算业务需求i的重要度值Wi非功能需求用重叫=飞/2..:叫(4) 户要需度求再次对业务需求重要度进行→致性检验计算:关联关系矩阵←一一E 计算出判断矩阵B的最大特征值λ约要束度λ= --L f: (BW), (5) 一一一mTT w 非功能需求重要度计算一致性指数CI:图2QFD非功能需求关系矩阵αÀmö二m(6) 用户与约束需求重要度评估:用户需求与约束需求重m -1 要度分别用UH;Ci=1 ,2,…,m)和CH(i= 1 ,2,…,时表i计算一致性比率CR:示,取值为5个等级:1表示不影响基本需求;2表示不影CI ιR=一一(7) 响主要需求;3表示比较重要刊表示重要的影响;5表示RI 特别重要的影响。其中RI为平均随机一致性指数,取值如表2所示。关系矩阵中关系度URij与CRij评估采用1、3、5、7、9当CR~时,重要度矩阵有满意的一致性;当CR>时,对重要度矩阵中的评分进行调整,直到达到矩等关系度等级:1表示该交点多对应的非功能需求和用户
6 软件导刊2015年阵的一致性满足要求。Z A B -4 重要度矩阵阶数叫〈υ7 8 Z, RI M 在问题空间到软件空间的需求映射中,业务需求、用户及约束需求重要度的引人是十分重要的环节。首先,重Y 要度的引入有效避免了需求收集与定义的随意性,加强了N 需求收集的管理;其次,可量化的需求为系统分析人员进行软件功能与非功能需求分析提供了重要的数据支持,保D C X 证了需求映射转换的可靠性。重要度计算的结果与定性图4三维度一需求体系分析的结果基本一致,但在各参量计算过程中,从大量的构造二维度一需求体系2业务需求、用户及约束需求中确定参量的比较规模十分复2-DRS= {<> .<> .<> .<a,e>} 1 杂,这要求系统分析人员考虑业务需求集的划分、对用户z-DRS= {<> .<> ,<>} 2 需求的合理性判定及用户对约束需求的重视程度等因素,z-DRS= {< > .<c,e>} 3 这增加了需求定义的工作量。构造的兰维需求体系有:3-DRS={<α,b,c>,<a,b,d>,<α,b,e>,<a, 1 2 维度一需求体系c,d>,<α,c,e> ,<a,d,e>} 3-DRS= {<,d> ,<b,c,e> ,<b,d,e>} z 维度一需求体系表示维度←需求体系的应用特点:维度一需求体系(DimensionRequiremer山System), (1)维度一需求体系提供了一种可视化的需求交流环以下简称为DRS,是依据维度的思想构建一种多视角获境,它可以将用户与系统分析员各自熟知的领域集合在一取需求的可视化工具。已有的多维度需求获取工具研究起进行展示,方便双方进行交流。有三维需求模型川和对等多维度需求映射模型[时,前者(2)维度一需求体系具有潜在的分析特性,它的维度主要对技术、过程及人3个维度进行定义与应用,发现和点在计算机中存储为二元组<xi,yj>或三元组<xi,yj,解决冲突,后者主要探讨需求及功能维度的关系,并对两zk>结构,这就为计算机自动进行静态需求分析提供了基维度进行夹角定义。在基于业务驱动的需求获取方法础。中,DRS为每个维度预先定义需求工程中的相关概念,根据需要建立二维度一需求体系(2-DRS) (见图3)和3 需求获取方法三维度一需求体系(3→DRS)(见图4),DRS主要从业务维度入手,展开对业务需求、用户需求和软件需求的收集基于业务驱动需求获取方法,要求系统分析人员与用和挖掘。户通过业务诱导方式逐步推进需求获取过程,通过业务分y, 解结构BBS(BusinessBreakdown Structure)建立业务域,在业务映射模型基础上构造维度→需求体系,在收集过程中飞应用统→建模语言UML(Unified Modeling Language)建立相关模型。图5给出了基于业务驱动的需求获取过程。(1)明确需求涉众。明确需求涉众是软件项目开始的首要环节,也是需求获取工作能否顺利完成的关键要素。理想情况是在软件需求发展中有许多参与者参加,但现实并非如此,重要的是,我们认识到这些不同利益者和特定X X X; X. 2 角色的存在,以确保正确的人在正确的时间参与,并且使图3二维度一需求体系正确的期望得到实现。 维度一需求体系应用(2)建立业务域。建立业务域是驱动整个过程的基维度需求体系选取业务需求a、用户角色b、用户需础,要明确与业务相关的组织结构、业务术语、业务内容、求c、功能需求d及非功能性需求e为关注维度,首先以业业务实体、业务规则、业务流程和业务前景。下面以软件务为第一关注维度,构建维度一需求体系进行需求获取,工程人才实践教学平台项目为研究实例,按照基于业务驱然后在获取结果的基础上进行不含业务维度的维度需动需求获取方法流程,其中BBS应用实例如图6所示。求体系获取。这样做的主要目的是按照业务驱动的总体在完成BBS结构收集的同时进行相应业务记录,综思想进行需求获取,保证需求获取的层次性和有效性。合实践评价业务明细记录举例如表3所示。
第1期邱会鲁,赵卫东,邵秀秀,等z基于业务驱动的需求获取方法 7 动的需求获取方法中起到承上启下的作用。按照业务映射模型映射步骤进行QFD与AHP应用,获取到非功能需求列表,并利用UML技术建立模型,然后通过映射规则经过抽象、精化与合并等方式转化到软件需求,形成系统模型与软件需求文档o业务用例映射转化为系统用例及描述的表示如图7所示,而对业务实体进行描述后形成如图8所示的业务实体类图,可结合输入输出映射为软件业务需求映射问题?数据需求。安排任课教师;维度需求二体系问题。实践教擎主管图5基于业务驱动的帽求获取过程产安排指导教师←安排任课教师人员管理→←实践批次管理』实践学生管理!准备!点设置实践教学大纲实践教学主管实践考勤:课程授课圄7人员管理业务用例与系统用例对照F制定任务题目l分配任务牛任务描述←指定组长务」任务分配「处理延期任务,.....进度控审←俨主排""进行综合实践→;JI..J::r:rtJ~ ←控制进度与质量升L唱」阶段成果检查提交实践成果「理序评价卡任务文档评价评价综合实践-!←综合实践报告评价」综合评价学生日常学习图6综合实践BBS业务分解结构袋3综合实践评价业务朋细记录圈8综合实践业务实体类图角色业务描述业务实体业务规则(4)构造与应用维度一需求体系。根据业务映射模型综合实践成果(综合实(1)提交者=[团构造维度需求体系。维度需求体系作为-种展现与(1)检查综合实践成果编号、综合实践队编号|实践成践成果,填写评成果类型、成果内容、提员编号J;(2)综交流的工具,提供了一种多角度需求获取的方式,帮助用教师价;(2)检查综合交者、提交时间)综合实合实践成果类型户和系统分析员在某一维度上进一步收集需求,这个过程实践报告,填写践报告(综合实践报告=[需求分析说评语编号、综合实践报告内明书|代码|使用可以查缺补漏和消除部分冲突需求。图9是综合实践授容、综合实践报告提交手册!建模文件]课模块中几项业务与软件功能的二维度需求体系应用示者、综合实践报告提交(1)学生技术提时间)综合实践成果评例,它清晰标注了相应的业务与软件功能,方便用户理解问与反馈以2)提价(综合实践成果评价及与系统分析人员沟通。交实践成果;(3)编号、评价内容)综合实学生填写并提交实践(5)需求获取确认。需求获取确认是一个分析与评价践报告评价(综合实践报告;(4)浏览综报告评价编号、评价内的过程,对基于业务驱动的过程进行审查,最后与用户达合实践成果和报容)告评价成共识。要对建模过程中的业务用倒、业务活动图及业务实体类图等进行建模检查,对系统建模与文档进行检查。(3)业务一需求映射。业务一需求映射在基于业务驱
第14卷第1期软件导干。Vol. 14No. 1 2015年1月Software Guide 基于FlashLite的移动终端GUI开发研究全鑫(如卒高等师范学校,江苏如泉226000)摘要:手机已经成为集成多项功能的移动终端。支持FlashLite的手机的出现,使Flash有了新的表现形式和应用载体,而动画在手机媒体上的广泛应用促进丁Flash和手机媒体的结合与共同发展。基于FlashLite的移动终端GUI设计发展迅速.Flash Lite播放器可以使用户在手机上体验到接近电脑视频的Flash播放画质,用户可如在桌面上一样在移动终端上处理程序,同时能提供逼真、形象的动画。关键词:Flash Lite;移动终端;GUI设计DOI:lO. 11907/rjdk. 143265 中图分类号:TP302文献标识码:A文章编号:1672-7800(2015)001-0008-03手机功能的多样化,越来越要求手机界面注重人性化、人。引言机交互。随着智能手机的发展,通讯功能已不再是手机唯→的重要功能,手机越来越多地与计算机、网络进行融合。予机是人们日常生活中使用最多的电子移动终端。这些都将使得手机的交互方式发生改变,同时也意味着其这个阶段也可以追溯到业务域中,进行需求的选代获取,析为映射过程提供了质量保证。实践表明,该方法具有可通过业务追踪的方式监控业务的发展。操作性,能有效收集业务需求、用户需求及软件需求,保证业务需求需求的完整性、必要性和一致性,其应用对需求工程层次化获取具有重要的现实意义。随着行业业务量与业务复杂度教材准的不断增加,基于业务驱动的需求获取方法会更完善。知识点参考文献:世置[IJ 莱芬韦尔.软件工程需求管理用例方法[MJ.第2版.蒋恙,译.北制定实践京z机械工业出版社.2004.教学大纲[2J 布雷.需求工程导引[M].舒忠梅,译.北京2人民邮电出版社.2003‘[3J 金芝.基于本体的需求自动获取[J].计算机学报.2000. 23 (曰:486-492. 功能需求维护教材教材教材知识点知识点编辑教学发布教学τ载信息申请发布维护叶配大铜大纲教学大纲[ 4J 舒风笛,赵玉柱,王继,等.个性化领域知识支持的用户主导需求图9二维度需求体系应用示例获取方法口].计算机研究与发展.2007. 44(6): 1044-1052. [5J 程学生,王聪.基于领域模型的需求获取方法[JJ.计算机应用研业务是用户需求的来源,符合业务需要的软件才有价究.2006(5):74-76. 值。业务是后续工作的基础,用户与系统分析人员要始终因]陈小红,伊斌,全芝.从交互情景出发的需求捕获方法及其支撑玉重视业务工作。业务驱动需求获取的过程给出了需求获取具[1].计算机学报.2011,34(2):329-341. 的实施步骤,业务域的内容及业务-需求映射模型中的定[7J 陈建明,陈炬刚UseCase驱动的软件需求获取过程模型[J].计算量分析内容为UML模型的建立与完善提供了重要依据。机工程.(6):66-69. [8J 成伊格斯.软件需求[MJ国陆丽娜,王忠民,王志敏,译.北京.机械工业出版社.结i吾[9J 王继站,李明树.一个三维需求模型及其对涉众协同的支持口].软件学报,2007,18(0): 2380-2395. 基于业务驱动的需求获取方法以业务获取为主线,借[10J 李杨.基于them巳方法的对等多维需求映射模型[DJ.郑州:郑州助业务分解及维度一需求体系,通过业务一需求映射模型大学,2011.进行业务映射转换,层次分析法与质量功能部署的定量分(责任编辑:杜能钢)作者简介:金鑫0983-),男,江苏南通人,硕士,江苏省如卒高等师范学校讲师,研究方向为多媒体设计和用户界面设计。