《领域工程技术介绍.ppt》由会员分享,可在线阅读,更多相关《领域工程技术介绍.ppt(54页珍藏版)》请在课桌文档上搜索。
1、1,领域工程与面向特征的领域分析,领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点,面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径,1,软件复用,需求复用,2,软件复用的两点基本思想,2,3,3,基本思想1,以“空间”换“时间”,4,4,基本思想2(基本假设),9个月,不同软件应用之间 存在可复用的成分,5,领域工程,5,6,软件复用:两种开发活动,消费,软件的哪些成分具有复用价值?,DevelopmentFOR reuse,DevelopmentWITH reuse,反馈,6,7,软件:三种基本构成成分,通用共
2、性成分,领域共性成分,应用特定成分,适用于所有软件应用的构成成分,适用于特定软件应用的构成成分,适用于一组软件应用的构成成分,7,8,领域,理想情况:软件的可复用成分具有普适性,现实情况:软件应用所针对的 问题的差异性导致 软件的可复用成分不可能具有绝对的普适性,8,9,领域,一组具有相似或相近软件需求的应用系统所覆盖的功能区域,9,10,领域,功能区域,应用系统,a,b,c,d,e,1,2,3,4,5,6,7,f,10,11,两种类型的领域,垂直领域,水平领域,行业领域,1.行业领域的子领域2.贯穿多个行业领域,11,12,与 面向普适的复用 相比 面向领域的复用更容易成功,12,13,领域
3、工程与应用工程(面向领域的软件复用),13,14,消费,DevelopmentFOR reuse,DevelopmentWITH reuse,反馈,14,15,15,Development WITH reuse,Development WITHOUT reuse,1,2,3,16,应用工程,应用工程,领域工程(Development for Reuse),领域分析,领域设计,领域实现,领域模型,DSSA,领域构件,应用工程(Development with Reuse),需求分析,软件设计,构件组装,需求模型,ASSA,应用系统,可复用软件资产库,生产,消费,反馈,DSSA:Domain Sp
4、ecific Software ArchitectureASSA:Application Specific Software Architecture,应用工程,应用工程,应用工程(Development without Reuse),需求分析,软件设计,软件编码,需求模型,ASSA,应用系统,输入,1,2,3,16,17,领域工程投资回报点,17,18,18,累积成本,领域成员数量,应用工程(Development WITHOUT reuse),应用工程(Development WITH reuse),领域工程成本,?,25,19,软件复用成熟度,19,20,软件复用成熟度,第一级:产品的独
5、立开发不存在任何形式的复用,领域内各个软件产品的开发相互独立第二级:领域无关型基础设施的标准化软件中的普适性复用成分得到了系统的复用,但仍然不存在对领域共性的复用第三级:软件平台领域中的共性成分被封装为一个软件平台,领域中的软件产品都基于此平台进行开发第四级:软件产品的手工导出领域中的可复用资产具有较强的可定制性,软件产品的开发通过手工定制的方式进行第五级:软件产品的自动化导出领域中的产品通过对领域可复用资产的自动化定制而产生,20,21,21,复用成熟度,领域工程,应用工程,通用共性成分的复用,产品的独立开发,领域无关型基础设施的标准化,软件平台,软件产品的手工导出,软件产品的自动化导出,2
6、2,小结,22,领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点,23,目录,领域工程软件复用与领域工程领域工程与应用工程领域工程与复用成熟度领域工程投资回报点,面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径,23,软件复用,需求复用,24,面向特征的领域分析,24,25,什么是特征?,26,本人丢失一件物品:该物品是一辆 交通工具,有 两个轮子,人力驱动。车架为 斜梁结构,车身为 黄颜色,略微生锈,车把上有一个 银色铃铛,,寻物启示,27,将 该物品 与 同类领域中的其它物品 区分开,将 该物品所属的类别领域与
7、 其它类别领域 区分开,领域共性,领域变化性,28,什么是特征,在一般意义下,特征 是 一个事物所展现出的 具有区分作用 的 特点,29,特征概念的一个具体应用,30,30,31,对于 软件 这个事物而言,它的特征 体现为什么?,31,32,研究者 对 软件特征 的 定义 存在两种不同的视角,32,33,第一种视角下的几个定义(1/2),定义1(Feature Engineering Tur99):A set of functional and extra-functional requirements.:一个由功能性和非功能性需求构成的集合,定义2(Feature-based Softwar
8、e 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.:一组单个需求,描述了一个与软件开发生命周期中特定视角相关的功能单元,33,34,第一种视角下的几个定义(2/2),定义3(Requirements Engineering Wie99):A set of logically related
9、 functional requirements that provides a capability to the user and enables the satisfaction of a business requirement:一组逻辑相关的功能性需求构成的集合,它为用户提供了一种能够满足特定业务需求的能力,34,35,第二种视角下的几个定义(1/2),定义4(IEEE软件工程术语词典 Scc90):A software characteristic specified or implied by requirements documentation(for example,func
10、tionality,performance,attributes,or design constraints).:一个被软件需求文档明确或隐含说明的软件特点(如,功能、性能、属性、或设计约束等),35,36,第二种视角下的几个定义(2/2),定义5(FODA Kan90):A prominent or distinctive user-visible aspect,quality,or characteristic of a software system or systems.:软件系统具有的一种显著的或具有区分作用的,且用户可见的方面、性质、或特点,定义6(HP Laboratories,
11、Martin L.Griss Gri00):A product characteristic that users and customers view as important in describing and distinguishing members of the product line.:软件产品线中的产品具有的特点,它对于用户和客户对产品线中产品的描述和区分具有重要作用,36,37,这两种视角有联系吗?,这两种视角有冲突吗?,37,38,概念,内涵,外延,第一种视角,第二种视角,38,39,什么是(软件)特征,就内涵而言,特征 是 由一组相对紧密关联的 单个需求构成的单元就外延
12、而言,特征 是 一种具有用户或客户价值的软件特点,特征 是对 需求 的 封装命名,评判标准,40,“面向特征的领域分析”的 基本思想、目的?,40,41,“面向特征的领域分析”基本思想,基本思想把 特征 作为封装需求的基本单元使用 特征模型(特征+特征间的关系)作为组织需求的基本方式优点:软件需求具有较好的可定制性,The Requirements Space,Feature,Relation between Features,41,42,“面向特征的领域分析”基本思想,42,某物品,交通工具,两个轮子,人力驱动,斜梁结构,黄颜色,横梁结构,黑颜色,颜色,颜色,梁架结构,43,“面向特征的领域
13、分析”目的,需求复用,How?,43,44,Develop for Reuse,Develop with Reuse,可复用软件资产,消费,生产,生产,领域工程,应用工程,软件复用,44,45,需求复用,领域工程,应用工程(定制),领域特征模型,消费,生产,生产,领域特征模型?,定制?,45,46,领域特征模型:领域共性特征(将该领域与其它领域区分开)+领域变化性特征(将领域内的个体相互区分开),47,定制:对 领域变化性特征 进行绑定,某物品,交通工具,两个轮子,人力驱动,斜梁结构,黄颜色,横梁结构,黑颜色,颜色,颜色,梁架结构,48,48,“面向特征的领域分析”的 基本途径?,共性变化性 分析,49,共性变化性 分析,49,x2-2xy+y2,x3-x2y+xy-y2,x3-x2y-xy2+y3,1,2,3,共性:由x,y两个变量构成的多项式,变化性:每个多项式对x,y的组合规则存在差异,50,共性变化性 分析,50,(xy)2,(x2+y)(xy),(xy)2(x+y),1,2,3,51,需求工程研究的两点沉淀,52,沉淀之一,需求工程,Requirements Engineering,需求 是 可数的,53,沉淀之二,需求 具有层次性,54,小结,54,面向特征的领域分析特征的一般性定义特征的应用举例软件的特征面向特征领域分析的基本思想与基本途径,