企業軟件自助開發平台–源起

  • 2019 年 10 月 21 日
  • 筆記

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

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服務器 重要特性就是動態生成業務邏輯實例