面向特征的软件复用.ppt

面向特征的领域建模技术梅宏北京大学信息科学技术学院软件研究所高可信软件技术教育部重点实验室年月日交通大学新竹领域工程与应用工程主要内容主要问题的结构的建立基于的的建立基于的的设计领域需求模型的结构的结构使用特征模型作为基本思想把特征作为问题空间的基本实体使用特征以及特征间的关系刻画问题空间特征什么是特征从外延来看一个特征描述了一种具有用户客户价值的软件特点从内涵来看一个特征是由一组紧密关联的单个需求构成的单元特征模型三种视图特征的属性名称特征的助记符号描述对特征所指需求的详细叙述可选性绑定时间绑

面向特征的领域建模技术 (Feature-Oriented Domain Modeling) 梅 宏 北京大学 信息科学技术学院软件研究所 高可信软件技术教育部重点实验室 2008年2月25日-交通大学,新竹 领域工程与应用工程 主要内容 主要问题 1 DRM的结构 2 DRM的建立 3 基于DRM的ARM的建立 4 基于DRM的DSSA的设计 领域需求模型(DRM)的结构 DRM的结构 使用 特征模型 作为DRM 基本思想 把 特征 作为问题空间的基本实体 使用 特征 以及 特征间的关系 刻画问题空间 特征 什么是特征? 从外延来看:一个特征描述了一种具有用户/客户价值的软件特点。 从内涵来看:一个特征是由一组紧密关联的单个需求构成的单元。 特征模型 三种视图 特征的属性 名称(Name) 特征的助记符号 描述(Description) 对特征所指需求的详细叙述 可选性(Optionality) Optional; Mandatory 绑定时间(Binding-Time) Reuse-time, Compile-time, Install-time, Load-time, Run-time, … 绑定状态(Binding-State) Bound; Removed; Undecided 精化关系(Refinements) 精化 是一种存在于 不同 粒度/抽象层次 的特征之间的关系 不同 粒度/抽象层次 的特征 通过精化关系形成层次式的结构 层次结构提供了一种描述复杂系统的手段 三种精化关系 分解(Decomposition) 把一个特征精化为一组作为其构成成分的子特征称为 分解 属性化(Characterization) 识别出一个特征具有的属性型特征 称为 属性化 特殊化(Specialization) 把一个特征精化为一个包含更多细节的特征 称为 特殊化 三种精化关系 简单示例 约束关系(Constraints) 约束 是一种特征间的 静态依赖关系 更严格而言,约束是不同特征的绑定状态之间的依赖关系 约束提供了对特征模型的剪裁结果进行验证的手段 剪裁是对特征模型进行复用的手段 约束有助于验证剪裁结果的完整性和一致性 约束关系 几种不同类型的约束 二元约束(Binary Constraints) 组约束(Group Constraints) 绑定谓词(Binding Predicates) 组合约束(Composite Constraints) 二元约束 requires mutual-requires excludes 组约束 mutex-group 一组相互排斥的特征 all-group 一组相互依赖的特征 none-group 一组松散的特征 绑定谓词 single-bound 一组特征中只有一个特征处于绑定状态 multiple-bound 一组特征中有多个特征处于绑定状态 all-bound 一组特征全部处于绑定状态 组合约束 图形化约束标记 图形化约束标记 简单示例 交互关系 交互 是一种特征间的 动态依赖关系 交互 是 约束 在软件系统运行时刻的体现 交互提供了将各个相对独立的成分组装生成系统的手段 即:系统 = 构成成分 + 构成成分之间的交互 同时,关注交互和约束之间的追踪关系 几种特征之间的交互关系 Invoke Meta-level configure Resource configure Notify Flow Invoke – 调用 Meta-level configure – 元层配置 Resource configure – 资源配置 Notify – 通知 对特征 A 和 B, “A notify B” 表示: A 向 B 发送一条消息,以指明某种条件已满足或某事件已发生。 Flow – 流 二元交互分类框架 二元交互中的角色 Trigger Triggee 二元交互分类框架 二元交互分类框架 领域需求模型(DRM)的建立 几种具体类型的特征 功能 (Function) 输入和输出之间的关系 行为特点 (Behavior Characteristic) 对从输入到输出的变换过程的限制 服务 (Service) 一组相关的功能以及行为特点构成的单元 用例 (Use-Case) 用户和软件之间的交互序列 质量属性 (Quality) 对软件的非功能性需求 一种更具体的特征模型 支持工具 基于DRM的ARM的建立 基于DRM的ARM的建立 ARM 的生产过程是对 DRM 进行复用的过程 这种复用是通过 定制 达到的 剪裁:从 DRM 中选择一组符合当前复用上下文的特征 扩充:把 特定于当前应用的需求 添加到剪裁后的DRM中 基于DRM的ARM的建立 复用过程 剪裁决策 基

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档