|
前言:首先看看近些年重多編程發燒友對軟件等相關事物的一些總體認識,先說主體――人,無論是以做設計為主還是做coding,最後都不可能完全與編程脫離關係。程序是客體,軟件開發人員雖然經常把程序的正確性、可靠性、高效率性、易用性、可讀性(可理解性)、可擴展性、可複用性、兼容性、可移植性掛在嘴邊,真正地理解並實施起來卻很難,並且也很少。 組態軟件也不例外。除了有上述特點以外,還具有一些新的特性,比如可編譯性、可容錯性、可管理性、可存儲性、可配置性等儲多特點。如此眾多特性,一時也很難消化。本文便是從軟件開發的角度探討對組態軟件的認識。
關鍵詞:軟件開發;組態軟件;麵向對象。
zhengqijidefamingbiaozhizherenleidatabujinrugongyegemingshidai,jiqishengchanjiqizebiaozhizhediyicigongyegemingdedejieshu。tongyang,ruanjiangongjudeshiyongbiaozhizhejisuanjilingyuzhengzaijibuqianjin,nayongruanjianshengchanruanjian,shibushiyedaibiaoleyiciruanjiangeming?
是的!組(zu)態(tai)軟(ruan)件(jian)正(zheng)是(shi)這(zhe)樣(yang)一(yi)種(zhong)軟(ruan)件(jian),用(yong)軟(ruan)件(jian)生(sheng)產(chan)軟(ruan)件(jian)的(de)工(gong)具(ju)。組(zu)態(tai)軟(ruan)件(jian)就(jiu)像(xiang)是(shi)一(yi)個(ge)用(yong)代(dai)碼(ma)實(shi)現(xian)的(de)功(gong)能(neng)倉(cang)庫(ku),讓(rang)你(ni)自(zi)由(you)拚(pin)湊(cou)出(chu)任(ren)何(he)由(you)組(zu)態(tai)軟(ruan)件(jian)本(ben)身(shen)所(suo)能(neng)支(zhi)持(chi)的(de)功(gong)能(neng),之(zhi)所(suo)以(yi)這(zhe)裏(li)說(shuo)“拚湊”,還是由組態軟件的名字而來――Configuration Software。
傳統的組態軟件軟件分為,開發係統(CSMaker)和運行係統(CSViewer)兩個部分。由於編程技術的不斷發展,編譯工具的不斷衍生,CSMaker與CSViewer的工作界限也越來越模糊,由最初的靜態組態到在線組態,再到最近的提出運行時組態。
靜態組態是最傳統的一種組態方式,用戶在開發係統(CSMaker)中開發,然後重新在運行係統(CSViewer)上運行。
在線組態是在運行係統(CSViewer)運行的同時,進入開發係統(CSMaker),在開發係統中對工程進行修改,運行係統就會進行相應的改變。
運行時組態是在運行係統(CSViewer)對已有工程進行修改,添加新的功能,運行時組態已經同時擁有了開發係統(CSMaker)和運行係統(CSViewer)兩種功能。
任(ren)何(he)程(cheng)序(xu)的(de)發(fa)展(zhan)都(dou)是(shi)呈(cheng)螺(luo)旋(xuan)式(shi)上(shang)升(sheng),都(dou)是(shi)用(yong)算(suan)法(fa)集(ji)合(he)成(cheng)功(gong)能(neng)的(de)過(guo)程(cheng)。算(suan)法(fa)和(he)功(gong)能(neng)的(de)不(bu)斷(duan)推(tui)進(jin)讓(rang)軟(ruan)件(jian)產(chan)品(pin)產(chan)生(sheng)一(yi)次(ci)又(you)一(yi)次(ci)的(de)飛(fei)躍(yue)。最(zui)初(chu)我(wo)們(men)隻(zhi)是(shi)定(ding)義(yi)了(le)0,1兩個子項,逢2進1的算法,即二進製的算法。之後提煉出了二進製加法功能(進而推廣出了二進製減法,乘法,除法功能),進(jin)而(er)以(yi)四(si)則(ze)運(yun)算(suan)的(de)基(ji)本(ben)算(suan)法(fa)為(wei)基(ji)礎(chu),提(ti)供(gong)了(le)開(kai)平(ping)方(fang),求(qiu)對(dui)數(shu)等(deng)眾(zhong)多(duo)功(gong)能(neng)。又(you)以(yi)基(ji)本(ben)的(de)數(shu)學(xue)算(suan)法(fa)為(wei)基(ji)礎(chu)開(kai)啟(qi)新(xin)功(gong)能(neng)的(de)篇(pian)章(zhang),當(dang)功(gong)能(neng)再(zai)次(ci)被(bei)提(ti)煉(lian)整(zheng)理(li)再(zai)次(ci)升(sheng)華(hua)為(wei)理(li)論(lun)作(zuo)為(wei)算(suan)法(fa)又(you)支(zhi)撐(cheng)了(le)下(xia)一(yi)代(dai)的(de)功(gong)能(neng)的(de)繁(fan)衍(yan)……
組(zu)態(tai)軟(ruan)件(jian)的(de)也(ye)是(shi)一(yi)樣(yang),由(you)軟(ruan)件(jian)的(de)開(kai)發(fa)者(zhe)以(yi)某(mou)一(yi)個(ge)開(kai)發(fa)平(ping)台(tai)為(wei)基(ji)礎(chu),經(jing)過(guo)不(bu)斷(duan)的(de)底(di)部(bu)推(tui)高(gao)為(wei)用(yong)戶(hu)提(ti)供(gong)豐(feng)富(fu)的(de)完(wan)善(shan)的(de)功(gong)能(neng)。底(di)部(bu)的(de)推(tui)高(gao)是(shi)一(yi)個(ge)積(ji)累(lei)的(de)過(guo)程(cheng),沒(mei)有(you)對(dui)軟(ruan)件(jian)底(di)層(ceng)基(ji)本(ben)算(suan)法(fa)的(de)認(ren)識(shi)理(li)解(jie)是(shi)無(wu)法(fa)做(zuo)出(chu)優(you)秀(xiu)的(de)功(gong)能(neng)以(yi)及(ji)提(ti)供(gong)優(you)質(zhi)的(de)服(fu)務(wu)。
從軟件開發角度上講組態軟件有別於其它類軟件的最明顯的兩個特征――通用性和代碼可重用性。
首先,組態軟件不同於定製軟件的最大區別就是所有功能都是由基本功能“拚湊”而成。很多開發係統(CSMaker)和運行係統(CSViewer)中zhong使shi用yong的de控kong件jian都dou是shi基ji本ben控kong件jian和he通tong用yong控kong件jian。第di二er個ge特te征zheng更geng為wei明ming顯xian,代dai碼ma可ke重zhong用yong性xing,而er且qie代dai碼ma的de可ke重zhong用yong性xing與yu定ding製zhi軟ruan件jian相xiang比bi高gao到dao無wu法fa想xiang像xiang的de程cheng度du。做zuo一yi個ge軟ruan件jian工gong程cheng,無wu論lun代dai碼ma庫ku有you多duo豐feng富fu,要yao重zhong寫xie一yi個ge工gong程cheng都dou需xu要yao大da量liang編bian寫xie程cheng序xu,而er組zu態tai軟ruan件jian則ze不bu同tong。隻zhi需xu把ba通tong用yong的de算suan法fa功gong能neng寫xie到dao位wei,便bian可ke以yi通tong過guo圖tu形xing化hua的de組zu態tai完wan成cheng大da量liang代dai碼ma編bian寫xie任ren務wu。
說到通過圖形化生成代碼,就不得不提到圖形化編程。最新的編程軟件都支持把相關的類屬性和方法以及類與類之間的關係(泛化、關聯、依賴、聚合)導出成類圖,有一些高級語言可以通過在類圖中修改類與類之間的關係,並生成相關的代碼,但是很可惜C++現在雖可以導出成類圖,但並不支持回導。
也就是說,類圖可以修改但不能生成相關的代碼,這就意味著如果用C++開發的程序短期內很難用官方的方法(比如說COM)進行圖形化代碼生成。如果不使用C++開發組態軟件,軟件的性能和效率又不能得到保證,這就需要一個推進式的發展,需要長期、wendingdetuanduibayigegemianxiangguochengdegongnengchouxiangyigemianxiangduixiangdelei,zaitongguoyigegemianxiangduixiangdeleideshilizuhechengyigemianxiangguochengdegongneng,zheyangzhouerfushibuduandeluoxuanshishangsheng。
組態軟件的產品線也將隨著功能的不斷細化而不斷豐富,組態軟件也不可能再隻是單純的數據采集、數據存儲、數據監控,它將會走向數據管理、數據分析、數據提取、工藝優化等更多領域,我們拭目以待!
|