您好,欢迎您来到我的个人博客!
柳正利的个人博客
文章内容

IStar2.0——面向目标建模语言

0
发布时间:『 2018-05-04 23:25』  博客类别:项目管理  阅读(660) 评论(0)

    i*模型是90年代中期提出的一种面向目标和参与者的建模和推理框架。它包括建模语言以及用于分析创建的模型的推理技术。i*很快被研究社区采纳,例如需求工程和商业建模。受益于其内在的开放性质,i*语言的多个扩展版本被提出。i*的这种灵活性已经得到了研究人员的充分利用,使得研究者能够受益于一个统一的建模和推理方法,同时剪裁到他们的需要。然而,这种用法也有一些缺点。最关键的是难以在专家社区之外传播框架。

    ——新使用的人发现这个语言很难理解

    ——教育者没有分享主干知识

    ——没有给实践者提供一个可靠的能在项目使用的参考

    ——技术提供者不能轻易确定哪些是要实现的核心结构,哪些技术可以应用于这些构造之上

    

    作为对平衡框架开放特性和前文提到的实用性问题的解决方案的一种回应,I*研究社区开始研究基于i*核心概念的一种能够被广泛接受的建模框架,iStar相继被提出,在此基础上,2016年相继提出了iStar2.0.在详细介绍iStar2.0之前,先给出一个大学旅行报销的案例,来说明一下其核心概念。

QQ鎴浘20180504225324.jpg


2 参与者和参与者类型


参与者是这个语言的社会建模特性的核心,他们是主动的,自主的实体,通过与其他实体协作来达成自己的目标。在iStar2.0语言中,包含两种参与者:

    

    ——Role:在某些特定场景下的社会参与者行为的抽象表达,例如,学生,博士生。

    ——Agent:一种具有具体,物理表现的参与者,例如人类个体,组织等。

    无论何时区分演员的类型都是不相关的,因为现有的场景或建模阶段,没有专门化的泛型角色的概念可以在模型中使用。例如,我们可以把旅行社作为一个Actor来表示,我们还不知道它是一个特定的代理(Agent)还是一个表征旅行社的角色。Actor以图形的形式表示为圆圈。在代理的情况下,在Agent的圈子的顶部添加了一行直线。对于角色,在下部添加一条曲线。图形符号遵循原始i*采纳的助记符准则。

QQ鎴浘20180504231221.jpg

    Actor之间存在两种关系,is-a和participates-in。其中is-a表示部分和整体的关系,例如PhD studengt is-a studeng. Participates-in: 表示两个参与者之间除特殊/泛化以外的任何其他连接。这种连接对参与者没有限制,不过依据连接元素的不同,连接也表示不同的含义。如下所述的两种典型情况: 

     (1)如果连接的源节点是agent,目标节点是role,则表示扮演关系,agent扮演一个给定角色。

    (2) 如果连接的源节点和目标节点属于同一种类型,通常表示part-of的关系。例如销售部分是公司的组成部分。

QQ鎴浘20180504231647.jpg


3 意图元素


    意图元素表示参与者想要的东西。因此,他们建模不同的需求,是iStar 2.0语言的中心。在Actor的边界内出现的意图元素表示那个Actor想要的东西。作为两个角色之间的依赖关系的一部分,意图元素也可以出现在Actor边界之外。iStar2.0语言中包含下列元素:

    ——目标。Actor想要达到的状态,并有明确的成就标准。

    ——量化。Actor需要某种程度的成就的属性。

    ——任务。表示Actor想要执行的动作,通常是为了达到某种目的。

    ——资源。执行任务所需的物理或信息实体。


4 社会依赖


依赖表示一种社会关系。假设参与者可以是人、组织、技术系统(硬件、软件)或其任何组合,使得iStar2.0成为社会技术建模语言。依赖关系被定义为与VE参数的关系:

——Depender是依赖于某物的参与者;

——DependerELem是depender角色边界中的意图元素。依赖关系从何处开始,这解释了依赖关系存在的原因;

——dependum是依赖性对象的意图元素;

——Dependee是应该提供依赖的Actor;

——DependeeElmt是一种意图元素,用来解释dependee打算如何提供依赖关系;

下图给出了一个依赖关系的示意图:

5 意图元素连接


意图元素之间有四种类型的链接:Refinement, needed-by,contribution和qualification。如下表所示。

5.1细化

    为了提高易用性,iStar 2.0采用了一种称为细化的通用关系,它将目标和任务按层次结构联系起来。Refinement是一种n-ary关系,将一个父母与一个或多个孩子联系在一起。一种意图元素可以是大多数一种关系中的父元素。有两种细化关系:

——AND:所有n个孩子(n 2)的全部完成,使父节点才能完成;

——Inclusive OR: 至少有一个孩子的完成, 父节点就可以完成。这种关系只允许一个孩子节点。

下图给出了这种关系的示意图。其中实心箭头表示Inclusive OR,T型箭头表示AND关系。

5.2 Needed-By

    Needed-By关系将一个任务与一个资源连接起来,它表示参与者需要资源来执行任务。这种关系并没有具体说明为什么需要这样做:消费、阅读、运动、创作等等。图形上,用一个圆形箭头表示,箭头指向任务,如图所示。

5.3 Contribution

    贡献链接代表了意图元素对质量的影响,并且是帮助分析人员在决策过程中选择不同的目标或任务的关键。贡献链接导致了条件证据的积累。贡献是从源意图元素到目标质量的关系,并且具有以下类型之一:


——Make:资源对目标的满足有非常积极的影响。


——Help:资源对目标的满足有非常弱的积极影响。


——Hurt:资源对目标的满足有非常弱的负面影响。


——Break:资源对目标的满足具有非常强的负面影响。


贡献用一个实线箭头表示,用文本来表示贡献类型。

6 元模型

    iStar2.0的元模型如下图所示,其中涉及的概念和关系在前面已经解过了,下面给出图示。


关键字:   iStar     目标建模     需求分析  
声明:本站部分资源来源于互联网,如果侵犯了您的权利,请来信告知,我们将在24小时以内删除. 联系邮箱:zhengli_liu@126.com
Powered by liuzhengli.com 豫ICP备18011046号
Copyright © 2018 liuzhengli.com All rights reserved.