“ABC”软件开发方法
2017-11-09陈宇锋
陈宇锋
摘 要在计算机的发展过程中,软件作为一种遵照特定顺序组成的计算机指令与数据的集合体,始终影响并深刻改变着人们的生活。软件离不开软件开发,软件开发则指的是建造软件系统并构筑系统中各部分的过程,它要求通过某种程序语言加以实现,而本文将简要阐述软件开发方法中的“基于软件体系结构的构件组装”模式,即“ABC”模式。
【关键词】“ABC”模式 软件开发 计算机技术 程序语言 软件生命周期
当今社会的发展过程是信息交流传播的过程。1946年,世界上第一台计算机在美国诞生,时至今日,计算机早已走入千家万户并逐渐成为人们学习与工作不可或缺的一部分。可以说,计算机的出现与发展极大地改变了信息交流的模式,通过各种各样的软件结构,计算机的表达及使用效率将得到质的提升,若想促进这种提升,人们就应继续注重计算机软件研发领域的技术革新,以此为信息技术的发展及应用提供源源不断的思辨与创新。
1 软件开发在当今时代的意义
随着科学水平的进步与信息技术的不断推广,目前,计算机在各行各业中均有所应用,人们需要通过计算机完成信息传输与交流互动,这对他们的生产与工作产生了直接化的影响。而在所有计算机技术中,软件的意义显得最为重要,倘若没有软件作为支撑,计算机将无法协助人们完成交流与工作,也就会显著影响人类社会的正常运转。
软件是一种无形但却能通过虚拟运算来实际模拟特性、质量、运行数据并产生效果方式的指令集合。很多时候,软件都是有生命周期并需要经常更新换代的。而在当前局势下,随着计算机设备及硬件的发展,软件的复杂程度正变得越来越高,大批软件的代码行数从早期的十万级、百万级逐渐增长,如今已达到了千万乃至于上亿的级别。持续扩大的代码规模对软件的开发效率形成了制约,为应对这种制约,软件应当具备更多、更强、更复杂的计算及应用能力。成千上百万行的代码需要得到妥善排序及处理,这需要越来越多的网络工程师加入到实际添加代码及编写软件的行列之中,倘若不处理好软件开发问题,软件开发工作中的实际举措将无法与事态变化的速率相调和,届时,计算机将可能无法继续维持高频度、高功率的计算,这势必会导致高新技术行业效率整体下滑。
针对这种问题,人们应重视软件系统的开发与日常维护,对软件精益求精,同时在开发后经常进行纠错、修改和升级,令系统能始终满足客户群体的需求。从而为当今时代的经济建设添砖加瓦并贡献出属于自己的那部分力量。
2 当今软件开发与编程模式的局限性
众所周知,计算机软件主要分为系统软件与应用软件两大类。系统软件是指控制并协调计算机正常运转、为外部设备提供连接并支持应用软件开发与运行的计算机系统,它是用户无需干预的多种软件及程序的集合;应用软件则是指利用C语言、java等进行编写的主要应用于商业及生活中的安装软件,这是本文主要涉及的部分。
对计算机软件开发来说,用户的实际需求应对软件开发方向起决定性作用,然而,我国计算机软件在开发过程中却往往存在着脱离用户需求的问题。这个问题主要是由于在进行计算机软件开发前没有进行合理的规划,计算机软件开发中的重点是制定开发计划,但在现实生活中开发者却经常由于这样或那样的因素而在开发过程中没能制定计划,这就导致软件在开发过程中精准程度不足,其编程及代码缺乏逻辑,从而显著降低了计算机软件开发与应用时期的效率。
同时,由于我国在计算机技术起步方面比发达国家晚,开发编程领域内的技术水平远远落后于美、日、英、法、德等国,这就使得我国在计算机软件开发领域缺乏与发达国家同等水平的竞争力。竞争力的缺失又更进一步损害了我国自主開发的进取心与创新意识,当市场上出现比较受欢迎的计算机软件时,其他从业商家首先想到的不是革新技术,而是一味抄袭、改造别人的创意,这无疑大大降低了计算机软件开发从业者的热情及责任心。
3 ABC开发方法简介
为应对上述问题,计算机软件开发领域一方面应寄希望于国家对抄袭行为的打击与严惩,另一方面也应提升自身从业能力,在明确考虑到客户需求的前提下,尽可能使开发出来的软件满足不同用户在不同领域内的需求。
近年来,基于构件的软件开发(CBSD)技术正逐渐得到广泛应用与重视,它对COTS构件质量和种类的要求较为突出,同时也可降低系统开发与维护成本。CBSD技术从出现伊始,便是一种更为先进的软件开发模式。它为软件开发者提供了一条从基础到精细,洞察软件结构并逐步构建系统以满足客户需求的有效途径。CBSD可以将原有的软件开发从使用应用系统开发转变为集成应用系统,其关注的焦点是源代码与目标码构件的复用,而软件体系结构则可基于这种构件和连接件的分解模式进行描述,这样做能精化设计环节,促使领域内的构造更容易被理解。这便导出了一种可以将CBSD技术与普通软件体系结构技术结合应用的技术,即基于软件体系结构的构件组装,也就是ABC(Architecture Based Component Composition)技术。
ABC技术的指导思想是以SA为主,CBSD为辅,将系统结构作为软件生命周期内设计阶段的最关键要素,从而为系统提供能满足不同要求者需求的半开放式基础。软件工程的已有实践均表明没有哪种单一的技术模式可以完美应对各种类型的问题,因此在软件生命周期内,开发者应结合软件结构对软件开发过程施以直接、特别的影响,在开发周期内运用ABC模式控制软件各个基端的高层结构复杂性,再基于构件的软件复用来提高开发质量及效率。这可以分析并解释其生命周期内的演化方式及方向,对软件体系的整个生命周期实行建模,使其在不断调整并适应的过程中满足客户需求,进而促使软件结构朝着更为科学化、具体化、系统化的发展方向前进。
4 采用ABC方法开发软件的简要步骤
ABC方法是SA(软件体系结构)与CBSD(基于构建的软件开发)这两种方法的结合,SA提供了一种实现构件结构构筑的途径,即通过指令与体系结构描述语言进行构件接口方面的阐述及定义;CBSD则提供了运用现有中间件设施实现基于构件的软件复用的途径。ABC方法将这两种途径进行了较为高效的整合,从而显著地将软件体系结构导入了软件生命周期的各个阶段。endprint
4.1 设计体系结构
ABC模式是将软件体系结构与构件组装结合在一起的软件开发手段,它能在对客户需求的分析阶段导入现有的体系结构概念,进而以结构化的模式组织并协调客户需求与应用控制之间的矛盾。在这一阶段,软件需求是一种相对动态的特征,通过将这些动态化的需求与静态的模板联系到一起,可以组织并架构出一种较为实用的分析模型。这便是设计体系结构的初衷,即将客户实用需求与软件应用要素结合在一起进行量化的处理及分析。
同时,ABC模式在构建构件分析模型的基础上,还导入了一种变化性质的表现机制,进而将这一机制继续分割为几种相互交流的模式以描述特征之间的动态与静态依存关系。这就为领域特征模型的建造与软件系统的完整性提供了保障。
ABC模式的设计阶段主要依赖于SA构建模型。在这一阶段,设计者应结合软件系统需求制定出适用于全局的规划,再进一步细化领域空间内的构件和连接子,进而建立起动态与静态相结合的SA模型。其实,ABC模式正是这样一种将责任识别与需求这两者的关系调节在一起进行深入分析的手段,它正是一种对软件系统的基础结构进行规划与设计,进而以此作为后续设计研发、组装及软件维护的应用指南。
4.2 软件组装与部署
ABC模式的组装与部署阶段是将通过设计得到的SA模型进行选取、鉴定、检查并应用的过程。在进行一致性校验后,将系统整体改建为可供安装的软件包,再把一些无法复用的构件描述转换为基于C++或Java代码的模型与构架,以便能最终组装到目标系统。
制作软件的目的是将软件包基于中间件平台安装并运行。在启用中间件平臺之前,还需经过一定的部署才可使其平稳运行。系统设计与研发阶段的部分信息可以进行复用,ABC模式定义了SA部署视图,图中含有大量设计过程与研发过程中衍生出来的部署信息,将这些信息以表现化的图形方式展示出来,可以在实际操作过程中显示目标环境中的资源与资源负载状况,从而促进其完成软件的部署。
4.3 软件维护与验证
ABC软件开发可谓对SA的细化、演进与回馈。经由ABC模式开发后的软件体系,其结构语法和语义信息得到了进一步的完善。在最终的维护和演化阶段,运行视图可以提供系统在运行过程中的实际状态,因而保留了系统最完整也最精确的信息。而在反射式软件中间件的辅助下,人们也可通过一些软件体系结构随时对软件系统进行在线维护,这些软件体系结构能反映出系统运行时的状态,经过这种反映,ABC方法可以实现特征建模工具与软件体系结构、建模工具及作为构件运行平台的软件结构设计及组装、应用部署、维护等方面的改进。
同时,在ABC模式中,对系统随时展开验证也是很有必要的。这主要分为三个层次:
(1)从语法层次上进行验证,指的是对SA模型从接口构件匹配形式到连接的种种关系层面上进行校验;
(2)在实践实验中根据已经实现的语言和平台规范,对数据与指令进行有类别、分层次的检查;
(3)站在程序语言语义的角度,描述构件行为对系统整体的影响,例如阐述程序的有效性或完整性,对其进行检查,从而确保开发软件的正常运行。
5 ABC模式的优越性
5.1 面向更广大的群体
ABC模式对传统的单一建模模式提出了质疑,它立足在“基于客户群体需求”的基础上,将网络空间在软件应用领域内的客户及潜在客户群体联系到了一起,使这些人的需求与ABC模式紧密结合起来,再通过这些需求对网络软件研发的激励作用加速ABC模式的显著发展。
而在ABC模式的建模中,这种方针也得到了较为切实地运用。在构建构件建模的过程中,程序群体中的每一个个体都会为其自身对环境进行探索及实现,这种建模特征使得体系在建模特征上得到了进一步地扩张,在容量允许的范围内,用户群体可以在这一构筑体系中随时加入群体或是从群体中退出,他们能完全以一种自发性的形式与其他用户展开交流,这就使得软件在演化过程中涌现出的用户需求不再是一些潜在的概念,而是在用户之间展开交流的过程中逐步成型并完善的一种高度发达的群体理念。
ABC模式正是在软件中引用了这种改变,它真正构建并塑造了一种面向群体的模型,进而使得群体中的个体可以根据自身需求对所需要的特征进行描述,这达成了一种有利于网络软件技术发展并改进的良好循环。
5.2 设计目的清晰、明确
ABC模式一般都有较为复杂的构建交互,它往往存在着大量的连接子模型,构件系统在运行过程中一般都会根据所运行的环境展开一定容量的扩张,这一过程是软件开发与运行的重要阶段。随着计算机运行处理能力、网络传输效率、硬盘存储总量的提升,当前很多软件的设计方式都面临着对软件的要求与需求标准越来越高,需求信息较分散,计算及设计过程极为繁琐等情况,而ABC模式则很好的应对了这些问题。
为了能更好地利用运算资源、提高效率,运用ABC模式能迅速理解系统中多个构件及它们之间的关系,对系统的运转方式及运行时刻进行深入细致的分析,在拆分过程中计算并理解所需理解的部分,这使得在软件设计过程中便将整体与局部的关系很好的囊括到了一起,从而可以使之在结合多数要素后做出较为合理、精准的决策。
将部署信息、系统拆分状况与部署评估的目标完整结合到一起可以简化原有的分析过程、精化并细化运算过程,这有利于简化实际设计软件并应用软件的运行步骤,可以提高软件运行效率,这便是ABC模式最主要的优点。
6 结语
在十几年的时间里,ABC模式得到了较为长足的发展。当今形势下,软件运行平台的能力越来越强,网络技术的应用范围也变得越来越大,计算机正因其实用性与高效性而越来越广地渗入到人类生活的方方面面,而基于ABC方法指导下的软件设计应用,则可较高的减少软件研发时间及费用,进而显著提高软件应对问题时的灵活性、可靠性。
总而言之,伴随着互联网的兴起及大数据网络化时代的到来,计算机技术正日新月异的改变着自身形态。这导致软件从诞生起到现在已发生了翻天覆地的变化,展望未来,应用ABC模式及方法的软件设计体系将会也仍将发挥重要的理论及使用价值,但倘若不随时更新、强化这一方法,不积极面对可能到来的新挑战与新机遇,那即便是再先进的理论也还是会被时代淘汰。因此,软件研发从业人员应在巧妙运用ABC模式改善工作效率的同时,将新技术、新思想与具体实践结合起来,从而做到月月新、日日新,以此确保在自身在软件开发领域内的百战不殆。
参考文献
[1]梅宏,黄罡,张路,张伟.ABC:一种全生命周期软件体系结构建模方法[J].中国科学:信息科学,2014,44(05):564-587.
[2]梅宏,陈锋,冯耀东,杨杰.ABC:基于体系结构、面向构件的软件开发方法[J].软件学报,2003,14(04):721-732.
[3]陈洪涛.面向软件过程的ABC系统的研究与实现[D].上海交通大学,2004.
[4]林跃进,夏一丁,刘春雨.使用ABC方法、设计实现基于构件的可复用软件架构[J].科技传播,2010(10).
作者单位
广东省兴宁市技工学校 广东省兴宁市 514500endprint