欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    面向特征的领域建模技术FeatureOrientedDomainModeling.ppt

    • 资源ID:5451110       资源大小:1.34MB        全文页数:67页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向特征的领域建模技术FeatureOrientedDomainModeling.ppt

    1,面向特征的领域建模技术(Feature-Oriented Domain Modeling),梅 宏北京大学信息科学技术学院软件研究所高可信软件技术教育部重点实验室2008年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的结构,使用 特征模型 作为DRM基本思想把 特征 作为问题空间的基本实体使用 特征 以及 特征间的关系 刻画问题空间,Problem space,Feature,Relation between features,Feature-oriented view of the problem space,6,特征,什么是特征?从外延来看:一个特征描述了一种具有用户/客户价值的软件特点。从内涵来看:一个特征是由一组紧密关联的单个需求构成的单元。,7,特征模型,FM,三种视图,记录了特征间的精化关系,记录了特征间的交互关系,记录了特征间的约束关系,特征模型=特征+关系(精化+约束+交互),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),精化 是一种存在于 不同 粒度/抽象层次 的特征之间的关系不同 粒度/抽象层次 的特征 通过精化关系形成层次式的结构层次结构提供了一种描述复杂系统的手段,10,三种精化关系,分解(Decomposition)把一个特征精化为一组作为其构成成分的子特征称为 分解属性化(Characterization)识别出一个特征具有的属性型特征 称为 属性化特殊化(Specialization)把一个特征精化为一个包含更多细节的特征 称为 特殊化,11,三种精化关系,编辑,拷贝,粘贴,删除,图元移动,移动模式,移动约束,虚框移动,整体移动,水平约束,垂直约束,Decomposition,Characterization,Specialization,Specialization,整体,部分,实体,行为属性,简单示例,12,约束关系(Constraints),约束 是一种特征间的 静态依赖关系更严格而言,约束是不同特征的绑定状态之间的依赖关系约束提供了对特征模型的剪裁结果进行验证的手段剪裁是对特征模型进行复用的手段约束有助于验证剪裁结果的完整性和一致性,13,约束关系,几种不同类型的约束二元约束(Binary Constraints)组约束(Group Constraints)绑定谓词(Binding Predicates)组合约束(Composite Constraints),14,二元约束,requiresmutual-requiresexcludes,mutual-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)=defNOT(A.Binding-State=bound)AND(B.Binding-State=bound),15,组约束,mutex-group一组相互排斥的特征all-group一组相互依赖的特征none-group一组松散的特征,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.Binding-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,(A,B,C),single,-,bound,(A,B,C),require,D.,Graphical Notation:,20,交互关系,交互 是一种特征间的 动态依赖关系交互 是 约束 在软件系统运行时刻的体现交互提供了将各个相对独立的成分组装生成系统的手段即:系统=构成成分+构成成分之间的交互同时,关注交互和约束之间的追踪关系,21,几种特征之间的交互关系,InvokeMeta-level configureResource configureNotifyFlow,22,Invoke 调用,定时邮件收取,邮件收取,邮件收取用例,invoke,invoke,尝试从预先设定的邮件服务器上收取邮件,当用户点击特定的UI构件时,尝试从预先设定的邮件服务器上收取邮件,在每一个预先设置的时间点上尝试从预先设定的邮件服务器上收取邮件,23,Meta-level configure 元层配置,定时邮件收取,定时邮件收取配置器,Meta-level configure,根据用户的请求设定 定时邮件收取 的绑定状态,即在 bound 和 undecided 两个状态之间切换,这是一个运行时刻绑定的特征,24,Resource configure 资源配置,邮件过滤器,邮件过滤配置器,Resource configure,根据预先设定的过滤规则对收到的邮件进行过滤,根据用户的请求修改邮件过滤规则,25,Notify 通知,对特征 A 和 B,“A notify B”表示:A 向 B 发送一条消息,以指明某种条件已满足或某事件已发生。,A,B,Notify,26,Flow 流,邮件收取,邮件解密,邮件过滤,垃圾箱,收件箱,Flow,Flow,过滤规则集合,Read rules,Put into,27,二元交互分类框架,二元交互中的角色TriggerTriggee,28,二元交互分类框架,DIMENSION 2:Trigger 和 Triggee 是否存在如下的约束requires(trigger,triggee).VALUES:Explicit(显式),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,相关研究成果发表于 COMPSAC03.,31,几种具体类型的特征,功能(Function)输入和输出之间的关系行为特点(Behavior Characteristic)对从输入到输出的变换过程的限制服务(Service)一组相关的功能以及行为特点构成的单元用例(Use-Case)用户和软件之间的交互序列质量属性(Quality)对软件的非功能性需求,32,一种更具体的特征模型,33,支持工具,实践应用:在与云南昆明863软件企业孵化器的合作中,在 办公自动化 和 公路工程管理 等领域中得到了成功的应用,34,基于DRM的ARM的建立,DRM,Requirements Analysis,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 Feature Model 2,Partially-Customized Feature Model N,在绑定时间1 做出的剪裁决策,在绑定时间2 做出的剪裁决策,复用过程,在绑定时间N 做出的剪裁决策,在绑定时间N+1 做出的剪裁决策,37,剪裁决策,An UndecidedFeature,A RemovedFeature,A BoundFeature,删除,绑定,38,基于DRM的ARM的建立,一个问题目前的研究 缺乏对 非完全绑定的特征模型 进行验证的有效手段后果增加了定制过程的困难性在当前绑定时间中做出的错误的剪裁决策得不到及时的检查,从而进一步向后续的绑定时间传播,39,三条验证准则,40,三条验证准则,41,基于DRM的DSSA的设计,相关研究成果发表于 MODELS05,REJ06,42,基于DRM的DSSA的设计,在设计阶段如何利用特征模型中的信息我们的途径:,43,三个重要的层次,需求层单个需求 被聚集成具有更大粒度的特征一个特征包含了一组紧密关联的单个需求规约层规约 是对 需求的 操作化(Operationalization)软件开发人员按照规约去编写软件,从而满足需求规约 被聚集成具有更大粒度的责任(Responsibility)一个责任包含了一组紧密关联的规约实现层该层中包含了预先编程实现的软件构件,使用这些构件能够快速实现特定的责任称之为 基础设施构件,44,基于DRM的DSSA的设计,45,基于DRM的DSSA的设计,A:特征的操作化每一个特征分别被操作化为 一组责任 以及 责任之间/责任与资源容器之间 的交互,46,基于DRM的DSSA的设计,B:资源容器分析从特征之间的间接交互中发现资源容器资源容器往往是间接交互的特征之间的媒介从特征的描述中发现资源容器,Interaction,Resource Container,Feature,47,基于DRM的DSSA的设计,通过 A.特征操作化 和 B.资源容器分析,特征以及特征之间的交互被转化为 责任、资源容器、以及 直接的交互,Direct,-,Interaction,Requirement,1.*,Interaction,Responsibility,Resource Container,1.*,Operationalized,-,into,1,Feature,Direct,-,Interaction,The Requirement Level,The Specification Level,48,基于DRM的DSSA的设计,C:种子构件创建对于每一个特征,在规约层上建立一个对应的实体,称为 种子构件种子构件 解决了 构件的“原罪问题”,即:构件从哪里来在后继活动中,将对种子构件进行进一步的合并,以获取更大粒度的构件,Component Seed,1,1,Feature,49,基于DRM的DSSA的设计,D:责任分配把 责任 分配到 种子构件 上从这种意义上,特征构件 可以被视为 责任容器根据责任分配的结果可以区分两种类型的责任核心责任(Core-Responsibility)附加责任(Added-Responsibility),Component Seed,Core,Responsibility,Added,Responsibility,Responsibility,*,*,50,核心责任和附加责任,:Core-Responsibility,:Added-Responsibility,51,基于DRM的DSSA的设计,E:概念构件分析把 种子构件/资源容器 聚集成 更大粒度的单元,称为 概念构件把具有较紧密联系的 种子构件/资源容器 聚集成 概念构件把具有相同相同交互上下文的 种子构件 聚集成 概念构件,Direct,-,Interaction,Component Seed,Core,Responsibility,Added,Responsibility,Responsibility,Conceptual Component,Resource Container,*,*,Direct,-,Interaction,*,*,Direct,-,Interaction,52,基于DRM的DSSA的设计,F:基础设施构件分析分析概念构件的实现上下文,发掘出 对其实现有益的 基础设施构件,Conceptual Component,Infrastructure Component,Depend,-,on,53,一个简单的示例,一个简单的文档编辑软件特征1:Save将当前文档保存到 磁盘 上特征2:Copy将当前文档中被选择的文字拷贝到 粘贴板 上特征3:Cut将当前文档中被选择的文字剪切到 粘贴板 上特征4:Paste将 粘贴板 上的文字粘贴到当前文档光标所在位置特征5:Un/Re-do根据用户的请求,撤销/重做 那些未被存盘的编辑操作,54,一个简单的示例,特征间的交互分析,Save,Copy,Cut,Paste,Notify,2,3,4,5,1,Resource configure,Resource configure,Resource configure,55,种子构件建立,Save,Copy,Cut,Paste,Un/Re-do,2,3,4,5,1,56,特征操作化;资源容器分析;责任分配,Save,Copy,Cut,Paste,Un/Re-do,Copy,Cut,Paste,Save,Clipboard,2,3,4,5,1,6,:Core Responsibility,:Added Responsibility,57,交互分析,Save,Copy,Cut,Paste,Un/Re-do,Copy,Cut,Paste,Save,Clipboard,write,write,read,2,3,4,5,1,6,:Core Responsibility,:Added Responsibility,58,特征 Un/Re-do的操作化;资源构件分析;责任分配,Save,Copy,Cut,Paste,Un/Re-do,Copy,Cut,Paste,Save,Inform Saved,Undo,Redo,Clear URI,Record URI,Record URI,Record URI,Clipboard,write,write,read,Un/Re-do Info(URI),2,3,4,5,1,6,7,:Core Responsibility,:Added Responsibility,59,交互分析,Save,Copy,Cut,Paste,Un/Re-do,Copy,Cut,Paste,Save,Inform Saved,Undo,Redo,Clear URI,Un/Re-do Info(URI),Record URI,Record URI,Record URI,Clipboard,inform,write,write,read,write,write,write,consume,consume,clear,2,3,4,5,1,6,7,:Core Responsibility,:Added Responsibility,60,概念构件分析,Save,Copy,Cut,Paste,Un/Re-do,Copy,Cut,Paste,Save,Inform Saved,Undo,Redo,Clear URI,Un/Re-do Info(URI),Record URI,Record URI,Record URI,Clipboard,inform,write,write,read,write,write,write,consume,consume,clear,2,3,4,5,1,6,7,:Core Responsibility,:Added Responsibility,61,概念构件及其之间的交互,Clipboard,Clipboard,Edit,Copy,Cut,Paste,URI,URI,Save,Save,Un/Re-do,Un/Re-do,62,概念构件分析,Save,Copy,Cut,Paste,Un/Re-do,Copy,Cut,Paste,Save,Inform Saved,Undo,Redo,Clear URI,Un/Re-do Info(URI),Record URI,Record URI,Record URI,Clipboard,inform,write,write,read,write,write,write,consume,consume,clear,2,3,4,5,1,6,7,:Core Responsibility,:Added Responsibility,63,概念构件及其之间的交互,Un/Re-do,Clipboard,Clipboard,Edit,Copy,Cut,Paste,URI,Save,Un/Re-do,Save,64,基础设施构件分析,Clipboard Component(Provided by OS),Stack Component(Provided by API),Depend-on,Depend-on,I/O Component(Provided by OS),Depend-on,65,支持工具,下一阶段:基于责任的软件体系结构 转换为 UML2.0中的软件体系结构,从而实现与工业标准的兼容,特征的操作化视图,特征模型视图,责任到构件的分配视图,66,总结,67,总 结,使用 特征模型 组织需求以及需求之间的关系;利用 约束 实现对需求的有效剪裁与复用;利用 特征到责任的操作化 和 责任的聚合 实现从特征模型到软件体系结构的过渡;,

    注意事项

    本文(面向特征的领域建模技术FeatureOrientedDomainModeling.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开