1. 程式人生 > >企業軟體自助開發平臺--源起

企業軟體自助開發平臺--源起

第一章.企業管理軟體建設的困局

1.1.管理軟體的本質

  在知識經濟的時代,軟體扮演了一個越來越重要的角色,通過網際網路充斥了生產、生活的各個角落;在軟體的大潮中,管理軟體形成了獨特的一支,

它以服務企業經營管理、提升管理效率,提高企業競爭力為目的。企業管理在接收軟體,從無到有,從有到不斷改善,持續發揮效能的過程,稱之為企業資訊化。

企業越大,資訊化越重要,它如企業的血液,運輸著營養,也檢測者企業的健康。所以資訊化的每一步建設和改造都至關重要。然而企業資訊化的過程並非一番風順的,

一些企業的資訊化系統是通過購買成型軟體來實現的,盲目信任一些軟體,或追求不符合企業自身規模和管理體系的大而全軟體系統,意圖通過一款軟體來解決管理的

所有問題,用軟體系統自帶的管理架構和流程套用在自身企業上,其實施過程往往阻力重重,其結果可能是企業效能不升反降,原來簡單的流程被軟體複雜化。另一些

企業是通過自身自研軟體的方式實現資訊化過程,往往由於自身資訊化專業知識和能力的不足,很難把自身的管理思想,管理思路在軟體中體現。其結果是軟體成為一

個不倫不類的事物,對企業經營發展沒有促進作用。選擇合理有效的管理軟體首先要認清什麼是管理軟體,企業用管理思想來制定管理制度,制度分化落實為職能和權力

;職能和權力的執行過程稱為管理過程,管理過程在以計算機等電子裝置上的資料化實現就是管理軟體. 其核心是 管理軟體是承載著管理思想的管理工具,

所以建設或購買軟體一定要以自身的管理思想體系為出發點,以軟體完全承載自身管理思想為結果。這樣管理軟體才能發揮它的效力,服務於企業,促進企業的發展。

1.2.管理軟體開發的困局

  網際網路高速發展的今天,企業管理軟體逐漸升級為 雲模式銷售的saas 服務商和以綜合解決方案提供的軟體專案供應商.軟體是為企業服務的,所以需要軟體廠商除了

具有很強的程式設計能力外,也需要豐富的行業管理知識,一款管理系統的品質也是一個開發團隊智慧和實力的證明,所以具備高素質開發團隊開發的產品也必然是高成

本的,軟體廠商為了平復軟體成本和保證收益,通常希望開發的一款軟體系統能滿足更多的客戶需求。

  對於企業自身的發展和管理而言,正如世界上不存在完全相同的兩個人,同樣也不存在完全相同的企業,也就不存在完全相同的管理模式。企業需要軟體根據其自身

的發展和管理來服務企業,這導致了軟體廠商無論從原來區域網軟體系統還是到網際網路的Saas 模式系統,都不能滿足企業管理需要;通常企業正確的做法是應用一

些區域性管理系統(Saas模式的價格更低),定製採購基於自身業務的管理系統。定製軟體通常由行業軟體開發商完成,軟體商在自有行業軟體基礎上根據企業的管

理需求進行開發。當下網際網路衝擊著所有企業的生存,企業需要創新性和更加細分的產品或服務才能增強其競爭力;也就是企業的管理模式也一直在創新。所以對軟

件廠商而言企業的需求一直在變,他們不能根據過去的經驗來套用在創新性管理的企業;也不能把握企業在其細分行業領域的管理需求,這就導致了軟體廠商對開發

成本,開發週期的不可控性.但軟體開發專案的資金預算和週期都是市場部門在合同中籤訂的。開發專案組會覺得開發符合預算和進度要求的軟體簡直難於上天。實

際上,軟體專案常常嚴重超期或超出預算仍是困擾著絕大多數軟體公司的難題.這些難題主要在於以下幾點;

其一:使用者需求很難確定。這是因為軟體開發者很難詳細瞭解使用者的需求,甚至使用者在看到產品之前也不清楚自己到底需要什麼,所以從專案開發的自始至終都可

能會有新的需求提出,致使系統結構不斷修改,最終面目全非。

其二:設計不完全可以預測。有時,一個設計時認為可行的方案,在實際執行時可能行不通,如一個對企業管理有需求的功能點可能因為在資料採集方面的條件不

成熟,導致這個功能無法使用。

其三:使用者需求不斷變化,如果最初的使用者需求沒有了解的很清楚,或者軟體團隊對使用者需求提煉的高度不夠,可能整個專案很快就會陷在不斷變化的需求之中不能自拔。

其四:客觀條件的不確定性。在專案的進展過程中,可能會有人員的流動,可能會有資源的調整,可能會有這樣或那樣的客觀條件的限制而阻擋了專案的正常進行。

在這樣高度的不確定之中,在較早階段精確估計一個專案不只是很難地,甚至是不可能的

解決這樣的困局不是沒有辦法的,需要一個有對企業成長過程和軟體管理能力非常高的軟體建設團隊,能對企業規模和成長階段準確的進行管理諮詢定位,

同時還有能力開發出符合企業自身並且適應它成長的軟體系統,這樣的資訊化團隊無疑價格是非常高昂的.

1.3.企業管理軟體Paas平臺(HouseLet)

  小房子管理軟體自助開發平臺十餘年來的發展一直致力於解決管理軟體開發應用過程的困局.通過不斷進化創造出了低成本高質量建設管理軟體的開發體系,形成企業

管理軟體開發獨特的建設思想,輔助企業快速低成本開發承載企業自身管理思想的、量身定製的、並且隨企業的發展一起進化的管理軟體系統.

 

第二章.企業軟體自助開發與應用平臺

 

小房子(Houselet)企業軟體自助開發平臺系統 採用雲端計算技術的管理軟體開發與應用平臺,基於共有云(或私有云)部署的PAAS系統.平臺採用完全開放的開發模式,

採用輕程式碼開發管理系統, 只需要掌握資料庫知識(sql程式設計技術).

 

管理軟體本身就是對資料,資料邏輯的處理,反應到資料庫中就是 表,檢視,儲存,函式 等資料儲存形式和表現形式,小房子把這些資料形式的對映填入 ActionData 和 Dictdata 兩種系統表中,

並在這兩個表中配置上業務關係和邏輯-小房子就根據這些資料配置生成常規的管理軟體。

 

2.1.小房子的發展

 

小房子平臺是數位軟體開發工程師和幾位管理諮詢師 經過近十年的時間打磨而成;小房子系統開發的初衷是為了解決大型生產企業管理諮詢方案的實施,諮詢方案要求軟體系統隨諮詢方案的制定而變化

,能迅速落實諮詢方案;諮詢團隊要採集企業各個方面的資料(基礎資料,生產資料,業務資料),諮詢方案涉及企業管理各個管理層面;涉及的部門崗位非常多,各崗位上的員工對於資訊化的應用層次不齊

,企業現有軟體系統不易更換等因素;所以軟體實施工作步履維艱。經過諮詢團隊和企業高層多次探討,最終採用一種分佈實施,逐步實施的方案.

 

這個方案在實施初期見效很快,但對軟體開發工程師來說是一個極其苦惱而又無奈的過程,苦惱是因為要根據諮詢方案推進要不間斷地改動軟體,從事過管理系統開發的朋友都明白,

改動伴隨的是反覆的除錯和測試,而剛剛穩定下來的系統,根據諮詢方案的下一步實施,剛剛開發的功能很可能棄之不用;這就是無奈的地方. 怎麼解決這個問題呢? 團隊反覆討論後,決定要開發一個自己的平臺系統,這個平臺要滿足

1.靈活 不拘泥於業務(就是不管哪兒來的,什麼樣業務需求,必須通吃); 

2.快速(極快的速度實現功能,諮詢師上午給的要求,下午就開始在部門應用);

3.穩定,結實(就是說不但不挑剔任何食物,還要能吃的快,消化的快,最終還不要拉肚子,不要影響身體健康).這樣一套系統應該怎樣開發,從哪裡開始開發呢?

專案小組經過多次多方磋商,國外的架構師朋友共同參與下采用雲端計算的資料管理思想和資料處理技術。

 

通過對該技術特點的逐漸分析,實踐,總結 再分析總結 再結合我們實際的需要,確定了我們開發這套系統的核心思想:我們 稱之為 ‘離層’的資料管理開發技術.

我們的目標就是平臺能夠 簡單,高效,穩定的配置出資料管理資訊系統;.經過數年來的不斷升級改進,版本上從最初的 區域網兩層結構到現在的適應於廣域網際網路的多層結構

,再擴充套件的雲服務架構;配置應用上從簡到繁 再從繁到簡的這麼個沉浮過程,軟體已能適合大多數管理軟體的需求,實現了一個可大可小根據需要自由伸縮的雲結構系統.小房子的發展數年來經過多個行業的檢驗,

如 ERP的包裝印刷行業,鋼結構行業,鑄造行業,汽配行業,資產管理行業,裝置管理;OA的人力資源管理行業,企事業單位;醫療HIS系統 等等…;功能上涉及:人事檔案管理,績效管理,財務管理,車間倉庫管理,質量管理,進銷存,外貿訂單管理,內控制度管理,企業報表管理,資料分析管理……

 

2.2.小房子架構體系

 

小房子分為兩大板塊,資料管理與即時通訊。資料管理是小房子的核心,包含資料字典和選單管理兩個配置表;使用者的所有自定義開發工作全部可以在資料字典和選單管理中完成,

也就是說,兩張表解決你對資料的錄入、加工、處理、報表、列印等全部工作。即時通訊可以滿足使用者之間相互發送訊息、傳遞檔案、進行視訊、語音對話等功能,值得一提的是,

小房子的即時通訊可以對自身資料管理中任何一張資料表進行遠端傳遞,下圖是小房子架構的示意:

 

 

 

2.3.小房子部署模式

 

小房子 採用基於網際網路的混合雲部署模式。系統分為

 

通訊伺服器(Houselet cloud server): 此伺服器負責 賬戶管理,訊息服務,即使通訊,事件推送等功能。伺服器支援網際網路的共有云部署或企業內部的私有云部署

 

應用伺服器(Houselet appserver): 小房子資料應用伺服器 負責資料管理,例項化配置的資料業務邏輯,企業資料庫的操作和通訊

 

客戶端(Houseletlive): 小房子客戶端,使用者互動端,支援自定義面板,Houseletlive 為小房子獨有的資料管理瀏覽器.

 

 其中,HouseletCloudserver 處以小房子系統的頂端,客戶端(Houseletlive)登入HouseletCloudserver 伺服器,獲取該登陸使用者分配的管理系統 和 應用伺服器的地址,

再建立和應用伺服器的通訊並取得應用伺服器返回的業務系統。 小房子客戶端(Houseletlive)就像瀏覽器一樣不承載任何業務邏輯,所有小房子開發的所有系統均用同一個客戶端,

客戶端就像QQ一樣,只要能連線伺服器的電腦,均可以使用.

 

2.4.小房子怎樣解決企業軟體開發的困局

 

   ‘天下武功 唯快不破’只有開發快,變動快,維護快,才能解決軟體開發中的困局;小房子設計的中心思想就是快,簡單,易變。

 

首先,小房子開發軟體系統在資料庫結構上採用‘鬆耦合’結構佈局,力求各個業務功能,模組之間儘量獨立,以為後期的變更留出空間。

 

其二 利用小房子的透明邏輯(sql展示)功能儘量將業務邏輯暴露於表面,使更多人(諮詢,研發,實施,客戶)參與業務邏輯測試,判斷,糾錯。

 

其三 體驗式開發過程.採用小房子 配置開發特性,可以一邊調研一邊開發,選單和資料字典的配置過程,即是調研也是開發,開發過程對客戶是透明的,從而快速定位客戶需求,減少後期修改量,縮短整個實施週期.

 其四。培養客戶參與開發的能力,小房子由於是基於資料庫的完全開放的開發和應用平臺,在後期細節性的修改維護上,客戶基於對自身業務的熟練,完全能夠自主修改功能需求,這樣就解放了軟體開發工程師,減輕他們的工作量,對軟體公司而言等於縮短了工期.

2.5.小房子 技術於應用特色

1).配置開發模式,開發過程是資料庫開發加上 模組表和字典表的配置,所有的 開發和應用都基於資料庫上,資料庫之外無需程式碼開發 。資料庫方面分為系統庫和使用者庫 ,

系統庫中只有模組選單配置表和資料字典表 ,使用者庫為企業業務資料儲存和處理庫。系統庫和使用者庫也可以統一為一個庫

2).雲端計算技術 雲端計算的特性是什麼? 是彈性資源分配  能夠彈性分配儲存的系統 叫雲端儲存,能夠彈性分配計算能力的伺服器 叫雲端計算伺服器。小房子 能夠動態分配業務邏輯,

小房子的業務邏輯都配置在 anction 和 dict 兩種系統表中 在使用者登入後小房子應用伺服器把配置好的業務邏輯動態生成業務例項 存放在伺服器記憶體中 以供客戶端呼叫 ,

在客戶端不動作或下線後自動釋放業務例項小房子Appserver伺服器 重要特性就是動態生成業務邏輯例項

&n