浅谈软件体系结构的研究

2015-01-31 06:00刘宇辰
职业技术 2015年11期
关键词:开发人员体系结构构件

刘宇辰

(哈尔滨市医药工程学校,哈尔滨150040)

浅谈软件体系结构的研究

刘宇辰

(哈尔滨市医药工程学校,哈尔滨150040)

随着软件体系规模越来越大,软件的制作过程也越来越复杂。软件设计的核心已经不再是传统的“算法+数据结构=程序”的计算设计模式,取而代之的是系统的总体结构设计和规范。软件体系结构研究的主要内容涉及软件体系结构描述、风格、评价和形式化方法等。讨论了软件体系结构的研究背景、概念、研究内容及发展趋势。

软件体系结构;软件工程;软件开发

0 引言

就像是城市中规划的一个个社区一样,每个软件系统都有它的体系结构。但在以往的众多软件工程实践中,体系结构的设计通常都是非形式化的、随意的,所产生的是不能对软件进行维护与分析的弊端。由此带来的直接后果是:体系结构的设计仅仅被开发人员模糊领悟,将其选择大多建立在以往的直觉与阅历上,并不在牢固的工程原则上。造成几乎不能对体系结构上面的设计做出同等且完备的分析。随着系统的不断演变,使得体系结构不能得到良好的维系,并且欠缺有效工具来协助人们设计完善的体系结构。事实上,每个软件都有属于它的体系结构,一个没有体系结构的软件是不存在的。如果把一个软件比作一辆汽车,从它的全体上来讲,是由于它存在核心组件、外部修饰和基本框架。放在软件中便是基于操作系统上的能达成计算逻辑的主体应用程序、利于用户操作使用的界面程序以及基本框架软件。这也使得人们着手注重软件体系结构,并深入的对其进行研究与总结。

1 软件体系结构研究的背景

起初都是利用语句来构成模块进而完成结构化程序。模块的集中与嵌套形成了层层调用的程序结构,这也就形成了体系结构。表达结构下的程序、计算表达的逻辑结构的同等性以及自上而下的开发手段,顺其自然地形成了一套体系结构。因为,在程序的整体范围并不算庞大的结构化程序设计时期,只需要利用强调结构化程序策划的方法,自上而下慢慢地不断改进,并着重解决好各模块间的关联程度问题就可以得到一个比较优秀的结构。所以在当时并没有特别着重地探求软件体系结构。但是当软件的整体规模和繁琐度日趋提高,软件危机(即软件的整体质量、复用与维护的问题)的程度也日渐严重,已有的开发方法已经迟延于现实对软件的需求,因此人们通过研究与实践形成了一套利用工程化的措施来进行软件开发的新模式,这一措施便是软件工程。而随着软件工程在实际中的深入应用,人们慢慢地领悟到:伴着软件体系繁复程度和规模的不断增长,系统的总体结构设计与相关规格描述的关键性已经大幅跨越了特定算法与数据结构的相应选择,并且拥有一个优秀的体系结构对于确保系统的完美运行是不可或缺的。于是关于软件体系结构的研究便应运而生。

自20世纪90年代后期以来,在软件工程领域的主流探讨慢慢成为针对软件体系结构的探讨,并为众多的软件成品和大型的软件系统开发提供主要技术支持,逐渐地被业内所重视。特别是近年来关于软件体系结构的探讨更是整体自立于软件工程,成为计算机科学领域的新兴热门与特殊分支。

2 软件体系结构

2.1 软件体系结构的定义

尽管软件体系结构在整个软件工程领域里已被普遍地运用,可其能够完全被学界所认可的定义至今未有。众多的专家学者都从各个不同的方面入手,对软件体系结构给予了定义上的表述。在这里笔者通过对各种表述的解读和对软件体系结构的研究,从而将其定义概括为:软件体系结构是一个程序或者系统构件的组织结构,是它们之间的关联以及支配系统的设计和演变的方针与原则。

2.2 软件体系结构的研究内容

通常,一个系统的软件体系结构都是由一组算法构件、彼此交互的构件、连接件以及构件与连接件结合在一起时的限制描述而组成。一个特定系统大多是通过构件间众多的集合同构件彼此交互来给予其定义的,并且这种系统往往能够作为一个丰富的元素提供给相关大型系统,以服务于开发人员对大型系统的设计。

由于软件体系结构不但为系统确立了其组织结构与拓扑结构,并且还给出了用以组成系统的元素与系统需求间的对照关系。所以软件体系结构的研究内容主要涉及到对其进行结构描述、风格定义、评价体系和体系结构组成的形式化方法等内容。目前,在软件体系结构的研究领域中,人们通常针对模块化接口语言、专属领域下的体系结构、软件复用的规范化、基于体系结构设计下的环境与形式化来进行深入的研究。并且通过:建立针对特定范畴的体系结构范型库,利用软件体系结构的模型建立检测与评估系统,对于在软件体系结构的描述中出现的特殊问题而探索出新的专属高级语言,将软件体系结构依靠当前的直观感觉与实际体验状态生成新理论等四个方向入手进行研究。从而达到利用体系结构的开发人员在实践中总结出来的设计经验与开发方法,来产生一个形式化的描述,最后成为确定性的理论基础的目的。

3 软件体系结构的发展趋势

现今软件体系结构的发展趋势主要是以软件体系结构为基础而进行的软件开发。它的开发方式大多是鉴于架构与构件。跟传统软件开发过程相比较,其在重用的元素、开发方法上有着巨大的差异。虽然都是通过面向对象技术来推动软件的重用,不过它只是达成了类与类之间继承的重用,而在全盘系统与类之间依然保有着明显的差距。为填补这个差距人们先后尝试了很多方法,例如改变系统体系结构、改变设计模式等等。而软件体系结构的应运而生则给软件系统提供了一个来自属性、结构与行为等全方位的高级抽象,使得软件体系结构的准确策划与选取成为了软件系统成功与否的重要因素。通过研究人员的实践与总结,将鉴于软件体系结构的软件开发步骤分为四步,即:需求分析、进行体系结构设计、对连接件与构件进行规划、软件成品测试与系统实现。一个优秀的软件体系结构能够成为软件开发与维护工作强大而坚实的支柱。

4 结束语

目前将大量精力投入到软件体系结构相关领域研究的人员越来越多。随着研究的深入进行,软件开发人员在开发新系统时不再需要重复他人已创造出的东西,而是在软件复用层次愈来愈高的基础上复用过往成果并应用于开发当中。这样就可以把更多的精力放在软件的创新功能上,从而大幅提高一款软件的制作功效。所以,将软件整体生产效率提高与简化软件整体上的维护过程是软件体系结构研究的突出贡献。

[1]WilliamStallings.Computer organization and architecture Designing for performance [M].Forth editing,Prentice Hall,Inc.1996.

[2]齐治昌.软件设计与体系结构[J].高等教育出版社,2010年02月.

[3]王昕阳.基于软件体系结构的系统开发[J].宁波职业技术学院学报,2010年10月第五期.

[4].张友生,李雄.软件体系结构原理、方法与实践[J].清华大学出版社,2009年08月.

(编辑 文新梅)

About the Research of Software Architecture

LIUYuchen
(Harbin Pharmaceutical and EngineeringSchool,Harbin150040,China)

With the increasing scale of the software system,the production process of software is becoming more and more complex.The core ofsoftware design is nolonger the design mode ofthe traditional“Algorithms+Data Structures=Program”, but the whole structure design and specifications of a system.The main content of software architecture research involves software architecture description,style,evaluation and formalism method,etc.This paper discusses the research background, concept,research content and development trends ofsoftware architecture.

software architecture;software engineering;software development

TP311

B

1672-0601(2015)11-0105-02

2015-09-24

刘宇辰(1988-),男,学士学位,助理讲师。

猜你喜欢
开发人员体系结构构件
钢筋混凝土构件裂缝控制
足球机器人并行行为组合控制体系结构分析
Semtech发布LoRa Basics 以加速物联网应用
专利名称:二硅化钼基陶瓷加热元件保持结构
西夏建筑构件——鸱吻
作战体系结构稳定性突变分析
基于DODAF的装备体系结构设计
基于云计算的航天器控制系统自组织体系结构
后悔了?教你隐藏开发人员选项
三星SMI扩展Java论坛 开发人员可用母语