《领域工程技术介绍课件.ppt》由会员分享,可在线阅读,更多相关《领域工程技术介绍课件.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、领域工程与面向特征的领域分析领域工程领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点面向特征的领域分析面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径1软件复用软件复用软件复用软件复用需求复用需求复用需求复用需求复用12005-10-27软件复用的两点基本思想222005-10-273基本思想1时间3个月3个月3个月传统传统软件开发软件开发时间开发软件A,B,Cn个月3天3天3天基于复用基于复用软件开发软件开发以以“空间空间”换换“时间时间”32005-10-274基本思想2(基本假设)9个月个月时间时间3个月3个
2、月3个月开发软件A,B,Cn个月3天3天3天传统传统软件开发软件开发基于复用基于复用软件开发软件开发不同软件应用之间不同软件应用之间 存在可复用的成分存在可复用的成分42005-10-27领域工程552005-10-27软件复用:两种开发活动消费消费可复用软件资产可复用软件资产可复用软件资产可复用软件资产生产生产软件件应用用生产生产软件的哪些成分软件的哪些成分具有复用价值?具有复用价值?DevelopmentDevelopmentFOR FOR reusereuseDevelopmentDevelopmentWITH WITH reusereuse反馈反馈662005-10-27软件:三种基本
3、构成成分通用共性成分通用共性成分领域共性成分领域共性成分应用特定成分应用特定成分适用于适用于所有所有软件应用软件应用的构成成分的构成成分适用于适用于特定特定软件应用软件应用的构成成分的构成成分适用于适用于一组一组软件应用软件应用的构成成分的构成成分772005-10-27领域领域领域普适普适理想情况理想情况:软件的可复用成分具有普适性软件的可复用成分具有普适性现实情况现实情况:软件应用所针对的:软件应用所针对的 问题的差异性问题的差异性导致导致 软件的可复用成分不可能具有绝对的普适性软件的可复用成分不可能具有绝对的普适性882005-10-27领域一组具有相似或相近软件需求的一组具有相似或相近
4、软件需求的应用系统所覆盖的功能区域应用系统所覆盖的功能区域软件应用软件应用1软件应用软件应用4软件应用软件应用3软件应用软件应用2992005-10-27领域功能区域功能区域应用系统应用系统abcde1234567f10102005-10-27两种类型的领域垂直领域客户管理领域权限管理领域水平领域行业领域行业领域1.1.行业领域的子领域行业领域的子领域2.2.贯穿多个行业领域贯穿多个行业领域11112005-10-27与 面向普适的复用 相比 面向领域的复用更容易成功12领域领域普适普适122005-10-27领域工程与应用工程(面向领域的软件复用)13132005-10-27消费消费可复用软
5、件资产可复用软件资产可复用软件资产可复用软件资产生产生产软件件应用用生产生产DevelopmentDevelopmentFOR FOR reusereuseDevelopmentDevelopmentWITH WITH reusereuse反馈反馈消费消费特定领域特定领域特定领域特定领域可复用软件资产可复用软件资产可复用软件资产可复用软件资产生产生产特定领域特定领域软件应用软件应用生产生产领域工程领域工程应用工程应用工程反馈反馈14142005-10-2715消费消费特定领域特定领域特定领域特定领域可复用软件资产可复用软件资产可复用软件资产可复用软件资产生产生产特定领域特定领域软件应用软件应用
6、生产生产领域工程领域工程应用工程应用工程反馈反馈应用工程应用工程输入输入DevelopmentDevelopment WITH WITH reusereuseDevelopmentDevelopment WITHOUT WITHOUT reusereuse123152005-10-27应用工程应用工程领域工程领域工程 (Development for Reuse)领域分析领域分析领域设计领域设计领域实现领域实现领域模型领域模型DSSA领域构件领域构件应用工程应用工程 (Development with Reuse)需求分析需求分析软件设计软件设计构件组装构件组装需求模型需求模型ASSA应用系统
7、应用系统可复用软件资产库可复用软件资产库生产生产消费消费反馈反馈DSSA:Domain Specific Software ArchitectureASSA:Application Specific Software Architecture应用工程应用工程应用工程应用工程 (Development without Reuse)需求分析需求分析软件设计软件设计软件编码软件编码需求模型需求模型ASSA应用系统应用系统输入输入12316162005-10-27领域工程投资回报点17172005-10-2718累积成本领域成员数量应用工程应用工程(Development WITHOUT reuse)
8、应用工程应用工程(Development WITH reuse)领域工程领域工程成本成本?25182005-10-27软件复用成熟度19192005-10-27软件复用成熟度第一级:产品的独立开发不存在任何形式的复用,领域内各个软件产品的开发相互独立第二级:领域无关型基础设施的标准化软件中的普适性复用成分得到了系统的复用,但仍然不存在对领域共性的复用第三级:软件平台领域中的共性成分被封装为一个软件平台,领域中的软件产品都基于此平台进行开发第四级:软件产品的手工导出领域中的可复用资产具有较强的可定制性,软件产品的开发通过手工定制的方式进行第五级:软件产品的自动化导出领域中的产品通过对领域可复用资
9、产的自动化定制而产生20202005-10-2721复用成熟度复用成熟度领域工程领域工程应用工程应用工程通用共性成分的复用通用共性成分的复用产品的独立开发领域无关型基础设施的标准化软件平台软件产品的手工导出软件产品的自动化导出212005-10-27小结22领域工程领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点222005-10-27目录领域工程领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点面向特征的领域分析面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径23软件复用软件复用软
10、件复用软件复用需求复用需求复用需求复用需求复用232005-10-27面向特征的领域分析24242005-10-27什么是什么是特征特征?从 一则寻物启示开始252005-10-27本人丢失一件物品:该物品是一辆 交通工具,有 两个轮子,人力驱动。车架为 斜梁结构,车身为 黄颜色,略微生锈,车把上有一个 银色铃铛,某物品某物品交通工具交通工具两个轮子两个轮子人力驱动人力驱动斜梁结构斜梁结构黄颜色黄颜色略微生锈略微生锈银色铃铛银色铃铛寻物启示262005-10-27某物品某物品交通工具交通工具两个轮子两个轮子人力驱动人力驱动斜梁结构斜梁结构黄颜色黄颜色略微生锈略微生锈银色铃铛银色铃铛将 该物品
11、与 同类领域中的其它物品 区分开将 该物品所属的类别领域与 其它类别领域 区分开领域共性领域变化性272005-10-27什么是特征在一般意义下,特征 是 一个事物所展现出的 具有区分作用 的 特点 282005-10-27特征概念的一个具体应用292005-10-2730302005-10-27对于 软件 这个事物而言,它的特征 体现为什么?31312005-10-27研究者 对 软件特征 的 定义 存在两种不同的视角32322005-10-27第一种视角下的几个定义(1/2)定义定义1(Feature Engineering Tur99):):A set of functional and
12、 extra-functional requirements.:一个由功能性和非功能性需求构成的集合一个由功能性和非功能性需求构成的集合定义定义2(Feature-based Software Evolution Meh02):):A group of individual requirements that describes a unit of functionality with respect to a specific point of view relative to a software development life cycle.:一组单个需求,描述了一个与软件开发生命周期中
13、特定一组单个需求,描述了一个与软件开发生命周期中特定视角相关的功能单元视角相关的功能单元33332005-10-27第一种视角下的几个定义(2/2)定义定义3(Requirements Engineering Wie99):):A set of logically related functional requirements that provides a capability to the user and enables the satisfaction of a business requirement:一组逻辑相关的功能性需求构成的集合,它为用户提供一组逻辑相关的功能性需求构成的集合
14、,它为用户提供了一种能够满足特定业务需求的能力了一种能够满足特定业务需求的能力34342005-10-27第二种视角下的几个定义(1/2)定义定义4(IEEE软件工程术语词典软件工程术语词典 Scc90):):A software characteristic specified or implied by requirements documentation(for example,functionality,performance,attributes,or design constraints).:一个被软件需求文档明确或隐含说明的软件特点(如,一个被软件需求文档明确或隐含说明的软件特点
15、(如,功能、性能、属性、或设计约束等)功能、性能、属性、或设计约束等)35352005-10-27第二种视角下的几个定义(2/2)定义定义5(FODA Kan90):):A prominent or distinctive user-visible aspect,quality,or characteristic of a software system or systems.:软件系统具有的一种显著的或具有区分作用的,且用户软件系统具有的一种显著的或具有区分作用的,且用户可见的方面、性质、或特点可见的方面、性质、或特点定义定义6(HP Laboratories,Martin L.Griss
16、Gri00):):A product characteristic that users and customers view as important in describing and distinguishing members of the product line.:软件产品线中的产品具有的特点,它对于用户和客户对软件产品线中的产品具有的特点,它对于用户和客户对产品线中产品的描述和区分具有重要作用产品线中产品的描述和区分具有重要作用36362005-10-27这两种视角有联系吗?这两种视角有冲突吗?37372005-10-27概念概念内涵内涵外延外延第一种视角第二种视角3838200
17、5-10-27什么是(软件)特征就内涵而言,特征 是 由一组相对紧密关联的 单个需求构成的单元就外延而言,特征 是 一种具有用户或客户价值的软件特点 特征 是对 需求 的 封装命名评判标准392005-10-27 “面向特征的领域分析面向特征的领域分析”的的 基本思想基本思想、目的?目的?40402005-10-27“面向特征的领域分析”基本思想基本思想基本思想把把 特征特征 作为封装需求的基本单元作为封装需求的基本单元使用使用 特征模型(特征模型(特征特征+特征间的关系特征间的关系)作为组织需)作为组织需求的基本方式求的基本方式优点:优点:软件需求具有较好的可定制性软件需求具有较好的可定制性
18、The Requirements SpaceFeatureRelation between Features41412005-10-27“面向特征的领域分析”基本思想42某物品某物品交通工具交通工具两个轮子两个轮子人力驱动人力驱动斜梁结构斜梁结构黄颜色黄颜色横梁结构横梁结构黑颜色黑颜色颜色颜色颜色颜色梁架结构梁架结构422005-10-27“面向特征的领域分析”目的需求复用How?43432005-10-27Develop for ReuseDevelop with Reuse可可复复用用软件件资产消费消费生产生产生产生产领域工程领域工程应用工程应用工程软件复用44442005-10-27需求
19、复用领域工程域工程应用工程用工程(定制)(定制)领域特征模型域特征模型消费消费生产生产生产生产领域特征模型?定制?45452005-10-27 领域特征模型:领域共性特征(将该领域与其它领域区分开)+领域变化性特征(将领域内的个体相互区分开)领域模型的核心成分 领域 需求 的 共性 和 变化性 模型462005-10-27 定制:对 领域变化性特征 进行绑定某物品某物品交通工具交通工具两个轮子两个轮子人力驱动人力驱动斜梁结构斜梁结构黄颜色黄颜色横梁结构横梁结构黑颜色黑颜色颜色颜色颜色颜色梁架结构梁架结构472005-10-2748 “面向特征的领域分析面向特征的领域分析”的的 基本途径?基本途
20、径?共性变化性共性变化性 分析分析482005-10-27共性变化性 分析49x x2 2-2xy+y-2xy+y2 2x x3 3-x-x2 2y+xy-yy+xy-y2 2x x3 3-x-x2 2y-xyy-xy2 2+y+y3 3123共性:共性:由由x,yx,y两个变量构成两个变量构成的多项式的多项式变化性:变化性:每个多项式对每个多项式对x,yx,y的的组合规则存在差异组合规则存在差异492005-10-27共性变化性 分析50(xy)(xy)2 2(x(x2 2+y)(xy)+y)(xy)(xy)(xy)2 2(x+y)(x+y)123(x(xy)y)(x(xy)y)(x(x2 2y)y)(x(xy)y)1 1502005-10-27需求工程研究的两点沉淀512005-10-27沉淀之一需求工程需求工程Requirements Engineering?需求需求 是是 可数的可数的522005-10-27沉淀之二需求需求 具有层次性具有层次性532005-10-27小结54面向特征的领域分析面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径542005-10-27