在目前市面上衆多(duō)的(de)管理(lǐ)軟件中,成長(cháng)力企業管理(lǐ)軟件算(suàn)是一個(gè)異類,因爲這(zhè)個(gè)軟件的(de)所有功能模塊,都沒有一行傳統意義上的(de)代碼,全部是采用(yòng)零代碼方式配置出來(lái)的(de)。而之所以要采取這(zhè)種方式的(de)原因,還(hái)要從軟件開發行業的(de)一個(gè)典故說起:“銀彈”。“銀彈”是一個(gè)比喻,在西方神話(huà)中,銀制的(de)子彈可(kě)以殺死号稱不死的(de)狼人(rén);而在軟件領域中,銀彈用(yòng)來(lái)比喻能夠極大(dà)提高(gāo)軟件開發效率的(de)萬能方法(一個(gè)經驗标準是讓軟件開發效率在10年内提高(gāo)10倍)。
Fred Brooks在1987年所發表的(de)一篇關于軟件工程的(de)經典論文《沒有銀彈》中強調,真正的(de)銀彈并不存在,複雜(zá)的(de)軟件工程問題無法靠簡單的(de)手段來(lái)解決。這(zhè)篇經典論文揭示了(le)軟件開發的(de)存在的(de)問題,軟件開發的(de)複雜(zá)度很難控制,且往往因爲複雜(zá)程度不可(kě)控而最終導緻失敗,這(zhè)是很多(duō)軟件項目開發失敗的(de)根本原因。這(zhè)篇論文同時(shí)也(yě)指明(míng)了(le)提高(gāo)軟件開發效率的(de)兩個(gè)方向:降低複雜(zá)度和(hé)需求妥協,保持複雜(zá)度可(kě)控,并在次要功能時(shí)做(zuò)出妥協,是确保軟件項目開發的(de)有效方法,這(zhè)個(gè)方法并不如“銀彈”一般完美(měi),但确實是不得(de)已而爲之的(de)可(kě)行方法。
成長(cháng)力的(de)獨特解決之道
成長(cháng)力軟件的(de)工程師們很多(duō)都有著(zhe)20年以上的(de)管理(lǐ)軟件開發的(de)經驗,對(duì)管理(lǐ)軟件開發效率低下(xià)的(de)問題也(yě)是深惡痛絕,因此從2003年起就啓動開發一套适合管理(lǐ)軟件領域使用(yòng)的(de)元模型平台,經過長(cháng)時(shí)間的(de)摸索實踐,甚至數次的(de)推倒從來(lái),最終做(zuò)出了(le)這(zhè)樣一套适合管理(lǐ)信息化(huà)系統的(de)元模型軟件平台。成長(cháng)力軟件的(de)所有産品,都是基于這(zhè)個(gè)平台,通(tōng)過零代碼的(de)方式配置的(de)。
根據我們自己的(de)實際使用(yòng)經驗數據,使用(yòng)元模型軟件平台,開發新功能的(de)速度是傳統代碼開發的(de)5倍,而調整已有功能的(de)速度,是傳統代碼開發的(de)7倍以上。爲什(shén)麽使用(yòng)元模型軟件平台可(kě)以提高(gāo)如此多(duō)的(de)開發效率?下(xià)面我們從理(lǐ)論及實踐的(de)角度,來(lái)進行說明(míng):
一、降維
降維這(zhè)個(gè)詞最近很流行,也(yě)有很多(duō)不同的(de)解釋,從元模型軟件平台的(de)角度來(lái)解釋降維,就是把複雜(zá)的(de)代碼編程轉變爲更易于理(lǐ)解的(de)業務模型。
傳統的(de)代碼編程開發中需要考慮很多(duō)維度的(de)問題,具體到某個(gè)變量如何賦值、數據如何在界面和(hé)數據庫之間傳遞等等,細節繁多(duō)、涉及面廣,即使是有專業知識的(de)人(rén),也(yě)容易疏漏出錯。總結起來(lái),就是要考慮的(de)各種因素太多(duō),維度太高(gāo),不容易把控,導緻開發效率低下(xià)。
而元模型軟件平台,則屏蔽了(le)編程細節,采用(yòng)零代碼方式的(de)建模方式,通(tōng)過各種模型來(lái)組合出各種功能,複雜(zá)度方面大(dà)大(dà)降低,因此開發效率高(gāo)。
通(tōng)過降維獲得(de)的(de)高(gāo)效是有代價的(de),降維過程中不可(kě)避免地需要忽略一些維度(因素),從而導緻某些細節被删減。簡單來(lái)說,模型能夠實現的(de)功能是傳統代碼編程能夠實現功能的(de)子集。因此元模型軟件平台聚焦于管理(lǐ)軟件開發領域,而不是所有軟件領域,這(zhè)樣就可(kě)以通(tōng)過元模型來(lái)涵蓋大(dà)多(duō)數的(de)管理(lǐ)需求。
二、擴展
由于降維的(de)代價,即使元模型軟件平台僅聚焦于管理(lǐ)軟件開發領域,也(yě)無法涵蓋全部管理(lǐ)需求。因此必須提供另外的(de)方式,去彌補因爲降維導緻的(de)損失。
在成長(cháng)力元模型平台中提供的(de)插件機制,可(kě)以有效解決降維導緻的(de)功能細節損失。整個(gè)平台采取微内核的(de)插件方式,針對(duì)不同的(de)需求,擴展專門的(de)插件來(lái)滿足特定需求。插件采取按需加載的(de)機制,僅加載需要使用(yòng)的(de)插件,因此擴展插件既可(kě)以包羅萬象,滿足各種需求,同時(shí)又不會使得(de)系統臃腫。
三、直觀
直觀和(hé)降維有一點聯系,但含義并不相同。降維可(kě)以把複雜(zá)度降低,但并不一定能變得(de)直觀,因爲直觀是從人(rén)的(de)認知角度而言的(de),對(duì)人(rén)來(lái)說,易于理(lǐ)解就是直觀。舉個(gè)例子,身份證号僅由數字加字母X組成,算(suàn)得(de)上是非常簡單,但并不直觀;而姓名加照(zhào)片的(de)方式,涉及到複雜(zá)的(de)漢字以及圖像,并不簡單,但更容易理(lǐ)解和(hé)記憶,從人(rén)的(de)認知角度而言,比一串數字加字母X的(de)身份證号要直觀得(de)多(duō)。
業界也(yě)有一些平台産品采用(yòng)模型方式去屏蔽編程細節,但用(yòng)的(de)模型還(hái)是脫不開傳統編程的(de)概念,甚至有些平台隻用(yòng)一種高(gāo)度抽象的(de)模型,這(zhè)些做(zuò)法雖然降低了(le)維度,降維後的(de)模型并不易于理(lǐ)解,開發效率也(yě)無法得(de)到有效提高(gāo)。
要讓平台産品直觀易用(yòng),就是要跳出軟件開發的(de)思維,讓非技術人(rén)員(yuán)來(lái)使用(yòng)平台産品,隻有他(tā)們覺得(de)易用(yòng),這(zhè)個(gè)平台産品才算(suàn)是真正的(de)直觀易用(yòng)的(de)。這(zhè)一點,是成長(cháng)力的(de)元模型軟件平台一直堅持的(de)設計原則。
軟件定制選成長(cháng)力
正是基于元模型平台的(de)優勢,使得(de)全管軟件定制項目成功率遠(yuǎn)超同行業水(shuǐ)平;并且因爲開發效率高(gāo),也(yě)使得(de)開發費用(yòng)大(dà)幅降低!如果您有軟件定制方面的(de)需求,請與我們的(de)咨詢顧問聯系。