技術頻道

      從軟件開發(fā)角度淺談組態(tài)軟件

        前言:首先看看近些年重多編程發(fā)燒友對軟件等相關事物的一些總體認識,先說主體——人,無論是以做設計為主還是做coding,最后都不可能完全與編程脫離關系。程序是客體,軟件開發(fā)人員雖然經(jīng)常把程序的正確性、可靠性、高效率性、易用性、可讀性(可理解性)、可擴展性、可復用性、兼容性、可移植性掛在嘴邊,真正地理解并實施起來卻很難,并且也很少。
        組態(tài)軟件也不例外。除了有上述特點以外,還具有一些新的特性,比如可編譯性、可容錯性、可管理性、可存儲性、可配置性等儲多特點。如此眾多特性,一時也很難消化。本文便是從軟件開發(fā)的角度探討對組態(tài)軟件的認識。

        關鍵詞:軟件開發(fā);組態(tài)軟件;面向?qū)ο蟆?/FONT>


        蒸氣機的發(fā)明標志著人類大踏步進入工業(yè)革命時代,機器生產(chǎn)機器則標志著第一次工業(yè)革命的的結(jié)束。同樣,軟件工具的使用標志著計算機領域正在疾步前進,那用軟件生產(chǎn)軟件,是不是也代表了一次軟件革命?

        是的!組態(tài)軟件正是這樣一種軟件,用軟件生產(chǎn)軟件的工具。組態(tài)軟件就像是一個用代碼實現(xiàn)的功能倉庫,讓你自由拼湊出任何由組態(tài)軟件本身所能支持的功能,之所以這里說“拼湊”,還是由組態(tài)軟件的名字而來——Configuration Software。

        傳統(tǒng)的組態(tài)軟件軟件分為,開發(fā)系統(tǒng)(CSMaker)和運行系統(tǒng)(CSViewer)兩個部分。由于編程技術的不斷發(fā)展,編譯工具的不斷衍生,CSMaker與CSViewer的工作界限也越來越模糊,由最初的靜態(tài)組態(tài)到在線組態(tài),再到最近的提出運行時組態(tài)。

        靜態(tài)組態(tài)是最傳統(tǒng)的一種組態(tài)方式,用戶在開發(fā)系統(tǒng)(CSMaker)中開發(fā),然后重新在運行系統(tǒng)(CSViewer)上運行。

        在線組態(tài)是在運行系統(tǒng)(CSViewer)運行的同時,進入開發(fā)系統(tǒng)(CSMaker),在開發(fā)系統(tǒng)中對工程進行修改,運行系統(tǒng)就會進行相應的改變。

        運行時組態(tài)是在運行系統(tǒng)(CSViewer)對已有工程進行修改,添加新的功能,運行時組態(tài)已經(jīng)同時擁有了開發(fā)系統(tǒng)(CSMaker)和運行系統(tǒng)(CSViewer)兩種功能。

        任何程序的發(fā)展都是呈螺旋式上升,都是用算法集合成功能的過程。算法和功能的不斷推進讓軟件產(chǎn)品產(chǎn)生一次又一次的飛躍。最初我們只是定義了0,1兩個子項,逢2進1的算法,即二進制的算法。之后提煉出了二進制加法功能(進而推廣出了二進制減法,乘法,除法功能),進而以四則運算的基本算法為基礎,提供了開平方,求對數(shù)等眾多功能。又以基本的數(shù)學算法為基礎開啟新功能的篇章,當功能再次被提煉整理再次升華為理論作為算法又支撐了下一代的功能的繁衍……

        組態(tài)軟件的也是一樣,由軟件的開發(fā)者以某一個開發(fā)平臺為基礎,經(jīng)過不斷的底部推高為用戶提供豐富的完善的功能。底部的推高是一個積累的過程,沒有對軟件底層基本算法的認識理解是無法做出優(yōu)秀的功能以及提供優(yōu)質(zhì)的服務。


        從軟件開發(fā)角度上講組態(tài)軟件有別于其它類軟件的最明顯的兩個特征——通用性和代碼可重用性。

        首先,組態(tài)軟件不同于定制軟件的最大區(qū)別就是所有功能都是由基本功能“拼湊”而成。很多開發(fā)系統(tǒng)(CSMaker)和運行系統(tǒng)(CSViewer)中使用的控件都是基本控件和通用控件。第二個特征更為明顯,代碼可重用性,而且代碼的可重用性與定制軟件相比高到無法想像的程度。做一個軟件工程,無論代碼庫有多豐富,要重寫一個工程都需要大量編寫程序,而組態(tài)軟件則不同。只需把通用的算法功能寫到位,便可以通過圖形化的組態(tài)完成大量代碼編寫任務。

        說到通過圖形化生成代碼,就不得不提到圖形化編程。最新的編程軟件都支持把相關的類屬性和方法以及類與類之間的關系(泛化、關聯(lián)、依賴、聚合)導出成類圖,有一些高級語言可以通過在類圖中修改類與類之間的關系,并生成相關的代碼,但是很可惜C++現(xiàn)在雖可以導出成類圖,但并不支持回導。

        也就是說,類圖可以修改但不能生成相關的代碼,這就意味著如果用C++開發(fā)的程序短期內(nèi)很難用官方的方法(比如說COM)進行圖形化代碼生成。如果不使用C++開發(fā)組態(tài)軟件,軟件的性能和效率又不能得到保證,這就需要一個推進式的發(fā)展,需要長期、穩(wěn)定的團隊把一個個面向過程的功能抽象一個面向?qū)ο蟮念悾偻ㄟ^一個個面向?qū)ο蟮念惖膶嵗M合成一個面向過程的功能,這樣周而復始不斷的螺旋式上升。

        組態(tài)軟件的產(chǎn)品線也將隨著功能的不斷細化而不斷豐富,組態(tài)軟件也不可能再只是單純的數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)監(jiān)控,它將會走向數(shù)據(jù)管理、數(shù)據(jù)分析、數(shù)據(jù)提取、工藝優(yōu)化等更多領域,我們拭目以待!

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 一区二区三区午夜| 亚洲日韩中文字幕无码一区| 无码人妻一区二区三区免费看| 国模一区二区三区| 蜜臀AV一区二区| 国产婷婷色一区二区三区| 国产精品无码亚洲一区二区三区 | 中文字幕一区精品| 国产一区二区精品久久岳√| 无码少妇丰满熟妇一区二区| 亚洲国产日韩在线一区| 日韩精品无码一区二区三区| 成人区精品一区二区不卡| 国产一区二区三区在线看片 | 亚洲午夜一区二区电影院| 亚洲成在人天堂一区二区| 久久一区不卡中文字幕| 国产一区二区电影| 一区二区三区观看免费中文视频在线播放| 一区免费在线观看| 国产日韩高清一区二区三区| 高清在线一区二区| 大伊香蕉精品一区视频在线 | 色欲综合一区二区三区| 日本不卡一区二区三区| 亚洲AV日韩AV天堂一区二区三区 | 无码日本电影一区二区网站| 99久久无码一区人妻a黑| 久久久久人妻一区二区三区vr| 91视频国产一区| 亚洲sm另类一区二区三区| 国内精品视频一区二区八戒| 日本人真淫视频一区二区三区| 国产福利电影一区二区三区久久久久成人精品综合 | 日韩精品一区二区三区四区| 无码免费一区二区三区免费播放| 亚洲一区中文字幕久久| 欧美日韩一区二区成人午夜电影| 怡红院美国分院一区二区 | 亚洲乱码日产一区三区| 亚洲一区中文字幕在线观看|