GJB5000B已经明确地在需求分析、设计和测试活动中提出重用的要求。软件重用可谓是实施GJB5000B三级的重中之重。
软件重用有几个不同的层次:源代码复用、不同粒度的构件复用以及框架复用等。
软件框架是通过分析和提取特定领域软件的共性部分所形成的体系结构,不同领域的软件有着不同的框架。
在获取了软件框架之后,该领域内新软件的开发将变得简单——代码不需要从头编写,只需要在框架的基础上复用或新开发一些构件,再通过构件与框架、构件与构件间的集成即可满足要求。
利用框架实现软件复用,可以提高软件的质量,降低成本,缩短开发时间,使开发越做越简单,软件效益越做越高。
为了更好地理解框架的概念,有必要厘清下列问题:
框架是平台吗?
框架不是“平台”,平台是能够提供特定服务的系统软件,而框架是一个半成品,它需要开发人员进行二次开发,才能实现具体功能。框架更侧重设计,或者可以说,框架通过调用平台提供的服务而起作用。
框架是不是类库或者是工具包?
框架不是工具包或者类库,类库或者工具包只是用来实现特定的任务。而框架却是通用的、具有一般性的某个领域的系统主体部分,开发人员在框架的基础上,根据具体业务,重用类库或者开发新的类库完成特定应用系统中与众不同的特殊部分。
体系结构与框架之间有什么关系?
框架不是软件体系结构。体系结构确定了系统整体结构、层次划分,不同部分之间的协作等设计考虑,体现了软件设计思想。而框架比体系结构更具体,它更偏重于设计思想的技术实现。而且对于同一软件体系结构,可以通过多种框架来实现,流行的框架 Struts 2.0 就是对MVC体系结构的具体实现。
框架与设计模式的关系又是什么呢?
设计模式和框架在软件设计中是两个不同的研究领域。设计模式研究的是一个设计问题的解决方法,每一个总结出来的设计模式都是被证实的某个问题的优秀解法。一个设计模式可应用于不同的框架和被不同的语言所实现。而框架则是一个软件体系结构的具体呈现,它可以是一种或多种设计模式和代码的混合体。虽然设计模式和框架有所不同,但它们却共同致力于设计重用。
框架的应用场景有什么?
组织可以根据自己的业务所属的不同领域,对业务进行抽象,抽取领域业务中的共性部分,以及以往设计经验,将软件整体架构、层次划分、设计模式等整合为领域框架,更好地进行软件重用。
这正是:
框架虽是半成品,构成系统最通用
框架概念认识清,只为更好去重用
参考书目:软件是这样炼成的——从软件需求分析到软件架构设计,作者:王朔韬,出版社:清华大学出版社
联系客服