2019面向特征的领域建模技术FeatureOrientedDomainModeling课件

上传人:我*** 文档编号:145337846 上传时间:2020-09-19 格式:PPT 页数:67 大小:1.35MB
返回 下载 相关 举报
2019面向特征的领域建模技术FeatureOrientedDomainModeling课件_第1页
第1页 / 共67页
2019面向特征的领域建模技术FeatureOrientedDomainModeling课件_第2页
第2页 / 共67页
2019面向特征的领域建模技术FeatureOrientedDomainModeling课件_第3页
第3页 / 共67页
2019面向特征的领域建模技术FeatureOrientedDomainModeling课件_第4页
第4页 / 共67页
2019面向特征的领域建模技术FeatureOrientedDomainModeling课件_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《2019面向特征的领域建模技术FeatureOrientedDomainModeling课件》由会员分享,可在线阅读,更多相关《2019面向特征的领域建模技术FeatureOrientedDomainModeling课件(67页珍藏版)》请在金锄头文库上搜索。

1、1,面向特征的领域建模技术(Feature-Oriented Domain Modeling),梅 宏 北京大学 信息科学技术学院软件研究所 高可信软件技术教育部重点实验室 2019年2月25日交通大学,新竹,2,领域工程与应用工程,3,主要内容,Domain Analysis,DRM,Domain Design,DSSA,Requirements Analysis,ARM,主要问题 1 DRM的结构 2 DRM的建立 3 基于DRM的ARM的建立 4 基于DRM的DSSA的设计,4,领域需求模型(DRM)的结构,相关研究成果发表于 ICRE05, REJ06, SoSyM06 .,5,DRM

2、的结构,使用 特征模型 作为DRM 基本思想 把 特征 作为问题空间的基本实体 使用 特征 以及 特征间的关系 刻画问题空间,Problem space,Feature,Relation between features,Feature-oriented view of the problem space,6,特征,什么是特征? 从外延来看:一个特征描述了一种具有用户/客户价值的软件特点。 从内涵来看:一个特征是由一组紧密关联的单个需求构成的单元。,7,特征模型,FM,三种视图,记录了特征间的精化关系,记录了特征间的交互关系,记录了特征间的约束关系,特征模型 = 特征 + 关系 (精化 + 约

3、束 + 交互),8,特征的属性,名称(Name) 特征的助记符号 描述(Description) 对特征所指需求的详细叙述 可选性(Optionality) Optional; Mandatory 绑定时间(Binding-Time) Reuse-time, Compile-time, Install-time, Load-time, Run-time, 绑定状态(Binding-State) Bound; Removed; Undecided,9,精化关系(Refinements),精化 是一种存在于 不同 粒度/抽象层次 的特征之间的关系 不同 粒度/抽象层次 的特征 通过精化关系形成层次

4、式的结构 层次结构提供了一种描述复杂系统的手段,10,三种精化关系,分解(Decomposition) 把一个特征精化为一组作为其构成成分的子特征称为 分解 属性化(Characterization) 识别出一个特征具有的属性型特征 称为 属性化 特殊化(Specialization) 把一个特征精化为一个包含更多细节的特征 称为 特殊化,11,三种精化关系,编辑,拷贝,粘贴,删除,图元移动,移动模式,移动约束,虚框移动,整体移动,水平约束,垂直约束,Decomposition,Characterization,Specialization,Specialization,整体,部分,实体,行为

5、属性,简单示例,12,约束关系(Constraints),约束 是一种特征间的 静态依赖关系 更严格而言,约束是不同特征的绑定状态之间的依赖关系 约束提供了对特征模型的剪裁结果进行验证的手段 剪裁是对特征模型进行复用的手段 约束有助于验证剪裁结果的完整性和一致性,13,约束关系,几种不同类型的约束 二元约束(Binary Constraints) 组约束(Group Constraints) 绑定谓词(Binding Predicates) 组合约束(Composite Constraints),14,二元约束,requires mutual-requires excludes,mutual-

6、requires(A, B: Feature) =def require(A, B) AND require (B, A),requires(A, B: Feature) =def (A.Binding-State = bound) (B.Binding-State = bound),excludes(A, B: Feature) =def NOT (A.Binding-State = bound) AND (B.Binding-State = bound),15,组约束,mutex-group 一组相互排斥的特征 all-group 一组相互依赖的特征 none-group 一组松散的特征,

7、mutex-group(P: set Feature) =def A, B P : exclude(A, B),all-group(P: set Feature) =def A, B P : mutual-require(A, B),none-group(P: set Feature) =def TRUE,16,绑定谓词,single-bound 一组特征中只有一个特征处于绑定状态 multiple-bound 一组特征中有多个特征处于绑定状态 all-bound 一组特征全部处于绑定状态,single-bound(P: set Feature) =def one A P : (A.Bindi

8、ng-State = bound),multiple-bound(P: set Feature) =def some A P : (A.Binding-State = bound),all-bound(P: set Feature) =def A P : (A.Binding-State = bound),17,组合约束,示例: single-bound(A, B, C) requires multiple-bound(D, E),18,图形化约束标记,19,图形化约束标记,简单示例,Constraints:,A,require,E, C,exclude,F,,,mutex,-,group,(

9、A, B, C),single,-,bound,(A, B, C),require,D.,Graphical Notation:,20,交互关系,交互 是一种特征间的 动态依赖关系 交互 是 约束 在软件系统运行时刻的体现 交互提供了将各个相对独立的成分组装生成系统的手段 即:系统 = 构成成分 + 构成成分之间的交互 同时,关注交互和约束之间的追踪关系,21,几种特征之间的交互关系,Invoke Meta-level configure Resource configure Notify Flow,22,Invoke 调用,定时邮件收取,邮件收取,邮件收取用例,invoke,invoke,尝

10、试从预先设定的邮件服务器上收取邮件,当用户点击特定的UI构件时,尝试从预先设定的邮件服务器上收取邮件,在每一个预先设置的时间点上尝试从预先设定的邮件服务器上收取邮件,23,Meta-level configure 元层配置,定时邮件收取,定时邮件收取 配置器,Meta-level configure,根据用户的请求设定 定时邮件收取 的绑定状态,即在 bound 和 undecided 两个状态之间切换,这是一个运行时刻绑定的特征,24,Resource configure 资源配置,邮件过滤器,邮件过滤配置器,Resource configure,根据预先设定的过滤规则对收到的邮件进行过滤,

11、根据用户的请求修改邮件过滤规则,25,Notify 通知,对特征 A 和 B, “A notify B” 表示: A 向 B 发送一条消息,以指明某种条件已满足或某事件已发生。,A,B,Notify,26,Flow 流,邮件收取,邮件解密,邮件过滤,垃圾箱,收件箱,Flow,Flow,过滤规则集合,Read rules,Put into,27,二元交互分类框架,二元交互中的角色 Trigger Triggee,28,二元交互分类框架,DIMENSION 2: Trigger 和 Triggee 是否存在如下的约束 requires (trigger, triggee). VALUES : Ex

12、plicit(显式), Implicit(隐式).,DIMENSION 1: Trigger 是否于 Triggee 发生直接的交互. VALUES : Direct(直接), Indirect(间接).,29,二元交互分类框架,DIMENSION 2,DIMENSION 1,direct,indirect,explicit,implicit,notify,invoke,resource configure,flow,meta-level configure,30,领域需求模型(DRM)的建立,Domain Analysis,DRM,Domain related resource,相关研究成果

13、发表于 COMPSAC03.,31,几种具体类型的特征,功能 (Function) 输入和输出之间的关系 行为特点 (Behavior Characteristic) 对从输入到输出的变换过程的限制 服务 (Service) 一组相关的功能以及行为特点构成的单元 用例 (Use-Case) 用户和软件之间的交互序列 质量属性 (Quality) 对软件的非功能性需求,32,一种更具体的特征模型,33,支持工具,实践应用:在与云南昆明863软件企业孵化器的合作中, 在 办公自动化 和 公路工程管理 等领域中得到了成功的应用,34,基于DRM的ARM的建立,DRM,Requirements Ana

14、lysis,ARM,The Reuse context,相关研究成果发表于 ICFEM04.,35,基于DRM的ARM的建立,ARM 的生产过程是对 DRM 进行复用的过程 这种复用是通过 定制 达到的 剪裁:从 DRM 中选择一组符合当前复用上下文的特征 扩充:把 特定于当前应用的需求 添加到剪裁后的DRM中,DRM,Requirements Analysis,ARM,The Reuse context,36,基于DRM的ARM的建立,DRM,ARM,Customization,Partially-Customized Feature Model 1,Partially-Customized

15、 Feature Model 2,Partially-Customized Feature Model N,在绑定时间1 做出的剪裁决策,在绑定时间2 做出的剪裁决策,复用过程,在绑定时间N 做出的剪裁决策,在绑定时间N+1 做出的剪裁决策,37,剪裁决策,An Undecided Feature,A Removed Feature,A Bound Feature,删除,绑定,38,基于DRM的ARM的建立,一个问题 目前的研究 缺乏对 非完全绑定的特征模型 进行验证的有效手段 后果 增加了定制过程的困难性 在当前绑定时间中做出的错误的剪裁决策得不到及时的检查,从而进一步向后续的绑定时间传播,

16、39,三条验证准则,40,三条验证准则,41,基于DRM的DSSA的设计,相关研究成果发表于 MODELS05, REJ06,42,基于DRM的DSSA的设计,在设计阶段如何利用特征模型中的信息 我们的途径:,43,三个重要的层次,需求层 单个需求 被聚集成具有更大粒度的特征 一个特征包含了一组紧密关联的单个需求 规约层 规约 是对 需求的 操作化(Operationalization) 软件开发人员按照规约去编写软件,从而满足需求 规约 被聚集成具有更大粒度的责任(Responsibility) 一个责任包含了一组紧密关联的规约 实现层 该层中包含了预先编程实现的软件构件,使用这些构件能够快速实现特定的责任 称之为 基础设施构件,44,基于DRM的DSSA的设计,45,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号