软体框架


软体框架

文章插图
软体框架【软体框架】软体框架(software framework),通常指的是为了实现某个业界标準或完成特定基本任务的软体组件规範,也指为了实现某个软体组件规範时,提供规範所要求之基础功能的软体产品 。
基本介绍中文名:软体框架
外文名:software framework
作用:指导大型软体系统各个方面的设计
行业:计算机
学科:计算机
领域:计算机
定义软体框架(software framework),通常指的是为了实现某个业界标準或完成特定基本任务的软体组件规範,也指为了实现某个软体组件规範时,提供规範所要求之基础功能的软体产品 。框架的功能类似于基础设施,与具体的软体套用无关,但是提供并实现最为基础的软体架构和体系 。软体开发者通常依据特定的框架实现更为複杂的商业运用和业务逻辑 。这样的软体套用可以在支持同一种框架的软体系统中运行 。简而言之,框架就是制定一套规範或者规则(思想),大家(程式设计师)在该规範或者规则(思想)下工作 。或者说使用别人搭好的舞台来做编剧和表演 。目标正如同软体本身有其要达到的目标一样,架构设计要达到的目标是什幺呢?一般而言,软体架构设计要达到如下的目标:可靠性(Reliable:软体系统对于用户的商业经营和管理来说极为重要,因此软体系统必须非常可靠 。安全性(Secure):软体系统所承担的交易的商业价值极高,系统的安全性非常重要 。可伸缩性(SCAlable):软体必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能 。只有这样,才能适套用户的市场扩展得可能性 。可定製化(CuSTomizable):同样的一套软体,可以根据客户群的不同和市场需求的变化进行调整 。可扩展性(Extensible):在新技术出现的时候,一个软体系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展 。可维护性(MAIntainable):软体系统的维护包括两方面,一是排除现有的错误,二是将新的软体需求反映到现有系统中去 。一个易于维护的系统可以有效地降低技术支持的花费 。客户体验(Customer Experience):软体系统必须易于使用 。市场时机(Time to Market):软体用户要面临同业竞争,软体提供商也要面临同业竞争 。以最快的速度争夺市场先机非常重要 。相互关係软体框架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难 。特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特徵 。软体框架是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关係 。组件的外部可见属性是指其他组件对该组件所做的假设 。从和目的、主题、材料和结构的联繫上来说,软体框架可以和建筑物的架构相比拟 。一个软体框架师需要有广泛的软体理论知识和相应的经验来实施和管理软体产品的高级设计 。软体框架师定义和设计软体的模组化,模组之间的互动,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程 。一般而言,软体系统的框架(ArchitECture)有两个要素:它是一个软体系统从整体到部分的最高层次的划分 。一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息 。详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(TASk-flow) 。所谓架构元素,也就是组成系统的核心"砖瓦",而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和联结器完成某一项需求 。·建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定 。在建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改 。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察 。框架模式框架模式是解决複杂构架问题的现成形式 。构架框架或构架基础设施(中间件)是可以在其上构建某种构架的构件集 。许多主要的构架困难应在框架或基础设施中进行解决,而且通常针对于特定的领域:命令和控制、MIS、控制系统等等 。