- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件体系结构(Software Architecture)
讲义九:软件框架构造技术及案例分析
内 容
软件框架概述
软件框架研究现状
实例研究——San Francisco商业开发平台
软件构造技术的开展
创造性的活动
60年代,汇编语言
结构化方法
70年代,面向功能,面向数据
面向对象方法
80年代,软件复用
基于构件方法
软件复用进一步开展
…
软件复用成为软件构造技术的研究热点
软件复用技术〔1/2〕
软件复用是提高软件生产力和质量的一种技术,将已有软件的各种有关知识用于构造新的软件,以缩短软件开发和维护的花费
代码级复用
领域知识、开发经验、体系结构、需求、设计等的复用
复用级别
软件复用技术〔2/2〕
依据复用的组织方式
个别的(Ad-hoc)复用
复用在个人
系统化的(Systematic)复用
定义了复用过程和指南
工程级别、特定领域
抽象级别较高的产品复用
系统化复用对于提高软件的质量和生产率具有更大的作用,也有较大的风险
软件框架概念的出现
Smalltalk-80开发环境中的框架Model-View-Controller (MVC),被认为是第一个得到广泛应用的框架
Apple Inc. User Interface Framework
之后出现了一系列框架产品:
Interview,ET++,Fire alarm system, (Taligent) CommonPoint, (IBM)San Francisco等等
许多学者,包括Johnson, Pree, Bosch等对框架,尤其是面向对象框架展开了大量研究,包括框架设计、框架实现、框架描述、框架复用、框架演化等
软件框架的概念
软件框架的定义和描述
定义1 一个框架由一组协作类组成,说明了整个设计、类间依赖及成员类的责任分布。[杨芙清,97]
定义2 一个框架是有意义的相互协作的类的集合,它能够同时表达针对一个特定领域实现公共的需求和设计所需要的小尺度模式和主要机制。[Firesmith, 94]
定义3 框架是一种微体系结构,为特定领域内的软件系统提供未完全实现的模板。[Jacobson, Booch, 99]
定义4 框架是指一个局部完成的软件〔子〕系统,它将要被进一步实例化。框架定义了一个软件系统族的体系结构,并且提供了根本构造单元。框架同时定义了针对特定的功能,需要在哪里进行调整和修改。[Buschmann, 96]
定义5 一个框架是一个类的集合,它表达了针对解决相关问题家族的抽象设计。[Jacobson, Foot, 88]
定义6 一个应用框架,也称为类属应用〔Generic applications〕,是为特定应用领域提供可复用结构的协作类集合。[Gamma, 95]
软件框架的概念(续)
框架反映了一个领域内应用的软件体系结构,包括其组成成分、关系以及约束
框架同时定义了针对特定的功能需要在哪里进行调整和修改
因此,软件框架
1. 提供了创立具体应用的根本构造单元。
2. 是一个局部完成的软件〔子〕系统,它将要被进一步实例化。
框架的分类
框架的分类
根据应用范围分类
根底设施框架:GUI框架、语言处理框架…
中间件集成框架:ORB框架、消息中间件…
企业应用框架:San Francisco…
根据复用方式分类
白盒框架:MFC…
黑盒框架:Avalon工程…
框架的特性——局部实现
逐步实现,逐步具体化
DSSA 框架 应用
DSSA是框架的高层设计,框架是抽象应用
框架的特性—“反向控制〞
Hollywood Principle: Don’t call us. We’ll call you.
框架的特性—固定点和扩展点
对于面向对象框架而言,扩展点是抽象类
框架特性
相关概念
领域工程
框架表达了特定领域的需求,抽象了特定领域中一组应用系统的共性,因此领域分析是一种得到领域知识的较理想的方法
产品线
应用框架是软件产品线核心资产库的重要组成局部,框架的设计和生产属于产品线核心资产库建设的范畴
构件库
从软件构造的角度来讲,框架是一种大粒度的构件。
框架与构件库的区别
框架不仅仅是类的简单集合,而且定义了一个领域通用的高层设计
构件库的结构建立于构件分类根底之上,而框架那么直接反映了问题域的结构
相关概念
框架和体系结构
框架决定了应用系统的体系结构
一个框架可以被实例化成为多个应用系统,每个应用系统具有特定的体系结构,因此框架从框架使用的角度来看,框架和体系结构之间存在着1对多(1:N)的关系
从框架开发的角度来看,框架反映了一个领域的体系结构〔DSSA〕,它是DSSA的一个实例,因此,DSSA和框架之间同样存在着1对多(1:N)的关系
从
原创力文档


文档评论(0)