一种基于目标和场景的用例驱动需求获取方法

文档序号:6403194阅读:230来源:国知局
专利名称:一种基于目标和场景的用例驱动需求获取方法
技术领域
本发明涉及需求工程领域,具体涉及一种基于目标和场景的用例驱动需求获取方法,用以全面高效的对系统进行需求建模。
背景技术
近年来,需求工程成为了计算机软件研究的热点之一,需求工程是一个项目的开端,在软件开发过程中的重要性已不容质疑。需求获取是需求工程的主体,只有真正满足用户需求的软件产品才能被用户接受,需求获取需要通过不断交流沟通使软件开发者和用户对系统要求形成共识。如何快速地获取并准确表达用户需求,是长期困扰开发者的难题。一些调查表明,设计的软件产品存在的不完整性、不正确性等问题,其中80%以上是需求错误导致的。随着web服务的发展,网络环境下的信息服务需求在关注对所提供服务的软件要求的同时,还有诸多信息服务之间的交互作用,大大增加了需求分类的复杂性;同时缺乏对非功能需求的分析建模技术也大大降低了现有需求技术的实用性;此外,在开发复杂软件系统时,需求的信息量庞大和复杂,无法验证所获取的需求是否满足用户的要求,或者错误理解了用户的需求描述。以上这些因素都可能导致获取的系统需求不完全或者存在某些错误。在进行需求获取时,采用系统化的需求获取和分析方法,对于构建系统需求非常有效,一定程度上解决了上面的一些问题。现阶段,系统需求获取和分析方法很多,主要介绍以下三种方法:用例驱动的、面向目标的和基于场景的需求获取方法。其中:1、用例驱动的需求获取方法该方法是需求工程中·大多采用的方法,用例驱动分析的基本概念是执行者和用例,通过识别并独立分析每个执行者所涉及的所有用例,可以了解系统的每一类用户的要求和愿望,而用户的要求与愿望正是系统的重要部分,所有用例的集合描述了用例的功能。非功能需求则反映的是系统的质量属性的特性和业务规则、法规制度等各种约束,如:易操作性、可靠性、可维护性等。非功能需求不能通过用例得到,但是其中一些非功能需求对用例的实现具有约束作用。通常非功能需求需要写入用例文档中,这些非功能需求需要独立获取。该方法优点在于用例驱动技术为软件需求规格化提供了一个基本的元素,且该元素是可验证、可度量的,该方法被开发人员普遍接受;缺点在于缺少对需求获取的系统化支持,且无法得知用例的来源,而且非功能性需求通常在用例描述或文本中描述,使需求获取带来一些不便。2、面向目标的需求获取方法面向目标的需求获取是近年来兴起的一种需求分析方法,它与软件系统的目标功能更加紧密相关,更加关注需求分析的早期阶段。1987年初K.Yue首先引入目标概念,他除了关心“what”和“how”的需求分析以外,还在对“why”问题理解的基础上,将目标作为判断需求完整性的依据:即需求如果能够满足当前的目标,就说明需求是完整的;如果需求不能满足当前的目标,则说明需求是不完整的。该方法的优点在于,从需求目标出发来判断需求是否完整;缺点是不能从目标过渡到规格化需求描述。3、基于场景的需求获取方法在需求分析中使用场景进行分析的方法源于Objectory并且应用于OBJ。作为需求工程的发展成果,基于场景的需求获取逐步得到了人们的重视。这种方法试图用领域用户熟悉的情景实例引导他们逐步提供系统信息。它首先采集一组现实系统的运行情景,领域用户根据这些情景分别说明现实系统中各种行为及其目的。场景在需求过程中,可以在预想情况下导出需求,帮助发现异常事件,获得面向对象概念模型,通过场景原型理解需求,说明设计结果,创建上下文等。Jacobson等提出第一个用例驱动的面向对象的分析过程模型,Regnell进一步发展了该模型,并强调了从场景中综合需求模型的重要性。Potts提出了 Inquiry Cycle方法,在面向目标的需求分析中,使用场景脚本识别障碍和问题。Sutcliffe提出的SCRAM方法结合了概念证明、场景和设计的基本原理。在OMT中,场景以文本形式出现,规定为一个时间序列,它们可以转化得到一个事件图,采用一种半形式化的表示。该方法的优点在于,通过场景来引导用户,有效的导出需求;缺点在于并未给出场景的表示形式以及如何去引导用户来获得需求。

发明内容
本发明的目的在于克服上述已有技术的不足,并结合已有技术的优点,提供一种基于目标和场景的用例驱动需求获取方法,比较快速准确的获取需求,提高需求的正确性和完整性并减少需求冗余。其具体包括,一种基 于目标和场景的用例驱动需求获取方法,所述需求获取方法包括以下步骤:(I)将所述目标和场景分成四层结构,所述四层结构包括业务层、服务层、交互层和内部层;所述业务层用来确定系统的最终目标,所述服务层确定系统提供给组织单位的服务及其合理性,并确定产品的市场计划和产品特征,所述交互层处理系统和代理之间的交互,所述内部层确定实现所述交互所使用的方法;(2)引导用户填与表格,从而获取需求;(3)将步骤2所获取的需求转化为目标场景表格,并把目标场景表格转换为用例表格;(4)将所述用例表格转换为用例图,并同时通过用例图生成活动图、序列图和状态图;(5)非功能性需求和功能性需求相关,并对其进行建模并用模型化元素表示;包括填写非功能性需求模板,将用户添加的非功能需求模板转换为可视化的非功能需求图和软目标树。在上述技术方案的基础上,所述引导用户填写表格包括:给出待建系统的业务层目标,即待建系统的总目标,所述总目标仅有一个;
并细化业务层目标,得到细化后目标,所述细化后的目标为业务层的子目标,所述子目标即服务层目标,所述子目标共同实现业务层目标;服务层目标通过服务层的场景实现,即服务层目标引导出实现该目标的服务层场景,同时服务层场景能够作为交互层目标;每一个所述的交互层目标,由交互层场景实现。在上述技术方案的基础上,设计了目标和场景表格的填写结构和目标场景模型到用例模型的转换规则,将所获取的目标场景表格转换为用例表格,所述转换规则包括:规则1:交互层目标转换为用例表格中的用例;规则2:目标或场景语句里的主语和动作目标转换为用例表格中的参与者;规则3:内部层目标转化为用例,并根据内部层设置的父亲目标关系设置用例之间的〈〈包含>>、 继承>>、 泛化 >> 关系;规则4:交互层和内部层的场景转化为用例描述流。在上述技术方案的基础上,所述用例表格能够转化成用例图,用例图又转换为活动图、序列图和状态图。在上述技术方案的基础上,所述需求获取方法包含对非功能需求的建模,所述建模步骤如下: (I)填写非功能性需求模板,用户向该模板中添加非功能属性,主要包含非功能属性名称、简要描述、关注点、来源、优先级、相关的用例、相关的参与者、对其他非功能属性的贡献需求描述;(2)把用户添加后的非功能需求模板转换为可视化的非功能需求图和软目标树。相对于现有技术本发明的优点在于:1.设计并实现了目标和场景四层结构,方便需求分析人员和用户交互;2.将目标和场景获取的需求转换为用例模型;3.提供了用例模型到UML需求模型的转换;4.采用模型化元素对非功能需求建模。


图1为本发明提出的目标场景诱导图。图2为本发明提出的基于目标和场景的用例驱动需求获取流程图。图3为本发明提出的目标和场景建模过程图。
具体实施例方式下面将结合附图对本发明作进一步的描述。如图2所示,本发明为一种基于目标和场景的用例驱动的需求获取方法,所述方法包括以下步骤:(I)目标场景四层结构方法中将目标和场景作为需求分析的一个整体,通过场景细化目标,并从场景中发掘下层目标,需求获取人员和用户之间通过这种目标和场景相结合的方式逐步分析、挖掘出待建系统的需求。
作为一种优选方案,将目标和场景分为四个层次,一方面通过目标和场景帮助识别用例,同时也适当控制了用例的粒度。这种基于层次的方法在需求获取和目标细化过程中分离了关注点。在每一层里,目标建模伴随着场景交互,场景用来实现他们所描述的目标,同时诱导用户识别与这些场景相关的更小目标以达到细化目标的目的。四层结构分别是业务层、服务层、交互层和内部层。a)业务层:用来确定系统的最终目标;b)服务层:用来确定系统提供给组织单位的服务及其合理性,确定产品的市场计划和产品特征;c)交互层:关心的是系统和它的代理之间的交互;d)内部层:系统需要执行什么以实现交互功能。(2)诱导用户填写目标和场景四层结构。目标和场景建模的过程如图3所示:首先给出待建系统的业务层目标,即待建系统的总目标,该总目标只能有一个。然后细化业务层目标·,这些细化后的目标为业务层的子目标,即服务层目标,它们能以某种关系实现业务层目标,而服务层目标本身通过服务层的场景实现,即服务层目标引导出实现该目标的服务层场景。同样,服务层场景又可以作为交互层目标,因为他们关注的是代理(可以是人、机器或系统)之间的交互。对于每一个交互层目标,由交互层场景实现。通过对交互层场景的审查,可以识别出内部层目标,该层目标关注待建系统内部操作的实现,这些目标由内部层场景实现。(3)将步骤2诱导用户所获取的需求用目标场景表格表示,并把目标场景表格转换为用例表格目标。四层目标场景结构格式设计为可以引导用户使用自然语言对需求进行描述的形式,但是其中的自然语言需要按照一定的句式,这种设计规则决定了如何将其转换为用例图。方法中目标被定义为“something that some stakeholder hopes to achievein the future”。显然,目标与一个动词和一个或多个参数相关联,且每一个参数担任了与动词相关的不同角色,一个场景被定义为“a possible behavior limited to a set ofpurposeful interactions taking place among several agents,,。一个目标由一个或多个场景实现,场景由包含前置条件和后置条件的多个状态组成。显然,场景与一个主语、一个动词和一个或多个参数相关,被表达成一个带有主语、谓语和一些参数的句子。转换规则如下:1.交互层目标转换为用例表格中的用例;2.目标或场景语句里的主语和动作目标转换为用例表格中的参与者;3.内部层目标转化为用例,并根据内部层设置的父亲目标关系设置用例之间的 包含>>、 继承>>、 泛化 >> 关系;4.交互层和内部层的场景转化为用例描述流。(4)将用例模型转换为UML需求模型,实现了模型之间的自动化转换,包括:1.用例表格自动转换为用例图;2.用例图自动转换为序列图和活动图;3.序列图自动转换为状态图。(5)把非功能性需求和功能性需求相关,并采用模型化元素对其建模,建模步骤如下:1.填写非功能性需求模板用户向该模板中添加非功能属性,对于每个非功能需求元素,模板中可以选择和其相关的上述步骤3中获得表示功能性需求的用例表格中的各项,表示该非功能需求和功能需求中的该项相关,这样就表示了该非功能性需求的来源、和其中的用例、参与者等的相关性、其中用例对其产生的贡献等,从而使得非功能性需求和功能性需求相关。非功能需求模板中的非功能属性主要包含非功能属性名称、简要描述、关注点、来源、优先级、相关的用例、相关的参与者、对其他非功能属性的贡献需求描述等。2.作为一种优选方案,把用户添加后的非功能需求模板转换为可视化的非功能需求图和软目标树。软目标相对于功能需求里的目标,软目标树反映了一个非功能需求包含的子目标和其他类型软目标对该软目标产生的积极或消极影响。利用软目标树可以获取某一特定非功能需求在系统开发过程中的解决方案。而且,当软目标树中有足够积极证据或较少的消极证据时,认为该软目标被满足。本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其他各种相应的改变以及变形,而所有这些改变以及变形都应该属于本发明权利要求的保护范围之内。
权利要求
1.一种基于目标和场景的用例驱动需求获取方法,其特征在于:所述需求获取方法包括以下步骤: (1)将所述目标和场景分成四层结构,所述四层结构包括业务层、服务层、交互层和内部层;所述业务层用来确定系统的最终目标,所述服务层确定系统提供给组织单位的服务及其合理性,并确定产品的市场计划和产品特征,所述交互层处理系统和代理之间的交互,所述内部层确定实现所述交互所使用的方法; (2)引导用户填写表格,从而获取需求; (3)将步骤2所获取的需求转化为目标场景表格,并把目标场景表格转换为用例表格; (4)将所述用例表格转换为用例图,并通过用例图生成活动图、序列图和状态图; (5)非功能性需求和功能性需求相关,并对其进行建模并用模型化元素表示;包括填写非功能性需求模板,把用户添加后的非功能需求模板转换为可视化的非功能需求图和软目标树。
2.如权利要求1 所述的一种基于目标和场景的用例驱动需求获取方法,其特征在于:所述引导用户填写表格包括: 给出待建系统的业务层目标,即待建系统的总目标,所述总目标仅有一个; 并细化业务层目标,得到细化后目标,所述细化后的目标为业务层的子目标,所述子目标即服务层目标,所述子目标共同实现业务层目标; 服务层目标通过服务层的场景实现,即服务层目标引导出实现该目标的服务层场景,同时服务层场景能够作为交互层目标; 每一个所述的交互层目标,由交互层场景实现。
3.如权利要求1所述的一种基于目标和场景的用例驱动需求获取方法,其特征在于:设计了目标和场景表格的填写结构和目标场景模型到用例模型的转换规则,将所获取的目标场景表格转换为用例表格,所述转换规则包括: 规则1:交互层目标转换为用例表格中的用例; 规则2:目标或场景语句里的主语和动作目标转换为用例表格中的参与者; 规则3:内部层目标转化为用例,并根据内部层设置的父亲目标关系设置用例之间的 包含>>、 继承>>、 泛化 >> 关系; 规则4:交互层和内部层的场景转化为用例描述流。
4.如权利要求1所述的一种基于目标和场景的用例驱动需求获取方法,其特征在于:所述用例表格能够转化成用例图、活动图、序列图和状态图。
5.如权利要求1所述的一种基于目标和场景的用例驱动需求获取方法,其特征在于:所述需求获取方法包含对非功能需求的建模,所述建模步骤如下: (1)填写非功能性需求模板,用户向该模板中添加非功能属性,主要包含非功能属性名称、简要描述、关注点、来源、优先级、相关的用例、相关的参与者、对其他非功能属性的贡献需求描述; (2)把用户添加后的非功能需求模板转换为可视化的非功能需求图和软目标树。
全文摘要
一种基于目标和场景的用例驱动需求获取方法,(1)将所述目标和场景分成四层结构,所述四层结构包括业务层、服务层、交互层和内部层;(2)引导用户填写表格,从而获取需求(3)将步骤2所获取的需求转化为目标场景表格,并把目标场景表格转换为用例表格;(4)将所述用例表格转换为用例图,并通过用例图生成活动图、序列图和状态图;(5)非功能性需求和功能性需求相关,把用户添加后的非功能需求模板转换为可视化的非功能需求图和软目标树。设计并实现了目标和场景四层结构,方便需求分析人员和用户交互;将目标和场景获取的需求转换为用例模型;提供了用例模型到UML需求模型的转换。
文档编号G06Q10/00GK103246926SQ20131019643
公开日2013年8月14日 申请日期2013年5月23日 优先权日2013年5月23日
发明者段振华, 戴娟, 田聪, 张南, 王小兵, 刘艳艳 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1