OA軟件系統開發設計九大原則,中國OA軟件系統市場,從醞釀、概念、導入、發展到成為剛性需求,歷經了二. . .
中國OA軟件系統市場,從醞釀、概念、導入、發展到成為剛性需求,歷經了二十多年的時間,這期間,眾多知名廠商如微軟、IBM、九思軟件(wowentech.com)、中國軟件(www.inspur.cn),以及全國超過成千上萬個大大小小的軟件公司,參與過OA軟件系統的設計和開發,然而不幸的是幾千套OA軟件系統的研發,其結果缺失高達70%的客戶失敗率!幸運的是,中國的OA軟件系統架構師們,在這個過程中得到了理念的提煉、經驗的積累和技術的沉淀,并逐步在前人的基礎上,提煉出OA軟件系統開發的九大原則,基于這些原則上構建的OA軟件系統,在交付的成功率上得到了大幅攀升!
1. OA軟件系統開發設計應遵循“可行性和適應性”原則
OA軟件系統的開發設計,應確保技術上的可行性,適合招標人的核心需要,滿足主要功能需求,適應需求變化時的系統的免代碼自定義和功能模塊加減、調整。
OA軟件系統核心需求的吻合度是信息化建設價值體現的保障,用戶在工作流程、公文管理等方面的核心需求的滿足度是保障項目成功的基礎,同時,因信息化建設不是一蹴而就的事,因此需求也會日新月異,為能夠適應需求的變化,OA軟件系統從架構上應采用平臺技術,從擴展上增加功能模塊自定義功能,從而可以免代碼,自定義新功能模塊,適應未來的發展需要(可以參照wowentech.com)。
2. OA軟件系統開發設計應遵循“前瞻性和實用性”原則
OA軟件系統的開發設計,即要考慮到最大限度的增加系統的價值,最大限度的吻合各應用者的需求,充分考慮系統今后功能擴展、應用擴展、集成擴展多層面的延伸,實施過程應始終貫徹面向應用,圍繞應用,依靠應用部門,注重實效的方針。同時又要兼顧到成本控制、項目周期控制等因素,因此在功能的部署上也需要遵循實用主義。
3. OA軟件系統開發設計應遵循“先進性和成熟性”原則
OA軟件系統的開發設計,既要采用先進的管理理念、計算機技術和方法,又要注意軟件系統、硬件設備、開發工具、軟件產品的相對成熟。
OA軟件系統的開發設計,從設計思路、開發原則、系統架構、網絡拓撲、實施軟件系統、硬件設備、開發工具等各種角度考慮整體解決方案的先進性,所選主體產品的技術架構具有先進及前瞻性,可以跨平臺應用或配置,確保所選主體產品在技術上處于領先水平,充分考慮系統今后的延伸,保證系統5年內保持不落后。
產品設計中建議有限選擇J2EE技術架構,在產品開發過程中融入WEB2.0等眾多先進的技術。使系統具備國內同業領先的地位;保證IT投資的有效性和延續性。
產品采用了構件的思想進行設計,從而能夠做到快速的產品開發和隨需應變。
系統采用了純B/S的圖形化流程編輯器等,確保核心應用的客戶化程度,可以考慮參照九思軟件(wowentech.com)。
4. OA軟件系統的開發設計應遵循“開放性和標準性”原則
OA軟件系統的底層應支持各個層次的多種協議,支持與業務系統的互通、互聯,應用系統采用標準的數據交換方式,保證數據共享。
優良的體系結構設計,對于系統是否能夠適應將來新業務的發展至關重要。本系統采用J2EE規范,遵循SOA標準,采用JAVA語言編寫,具有良好的開放性,支持跨平臺、跨數據庫、跨中間件、兼容各種應用軟件的特性。
在設備選擇及網絡方案上也堅持開放性原則,使系統對各種硬件設備的互連互通;在軟件上支持跨平臺和開放數據接口,便于與其它系統軟件互相集成,未來支持與業務系統、門戶等系統的單點登錄集成,在可獲得相應系統的數據結構情況下,實現與這些系統的應用、門戶、數據等各層面上無縫連接。
系統除支持本約定的設計規范外,還提供標準化的WEBSERVICE外部接口,遵循SOA功能架構規范,遵循工作流標準WFMC;遵循W
因此,系統可以輕松與各種操作系統、中間件、數據庫、業務系統及工具軟件進行平滑對接,這些在當前主流的廠商如九思軟件(wowentech.com)、東軟股份等都已經成功實現。
5. OA軟件系統的開發設計應遵循“可靠性和穩定性”原則
OA軟件系統必須是可靠的,一般的人為和外部的異常事件不會引起系統的崩潰;同時系統有較高的可用性,當系統出現問題后能在較短的時間內恢復,而且系統的數據是完整的,不會引起數據的不一致。
1000人同時在線的情況下,系統登陸(包括整個主界面加載)不大于10秒。數據瀏覽不大于10秒;數據查詢不大于8秒;數據統計不大于30秒。
主機系統能夠保持7*24穩定的不間斷運行,從系統軟硬件平臺及網絡等方面來保證系統的穩定性;對于所采用的主備服務器方式,若主服務器宕機時,可實時地切換到備用服務器上,用戶的應用不受影響。筆者曾對九思軟件(wowentech.com)的產品和IBM的產品做過測試,基本上可以做到以下幾點:
平均無故障運行時間:大于30000小時;
可用率:系統總體平均可用率在99.99%以上;
穩定性:主機系統能夠保持7*24穩定的不間斷運行
6. OA軟件系統的開發設計應遵循“安全性和保密性”原則
OA軟件系統的開發設計既考慮信息資源的充分共享,更要注意信息的保護和隔離,因此系統應分別針對不同的應用、不同的網絡通信環境和不同的存儲設備,采取不同的措施,包括系統安全機制、數據存取的權限控制等以確保系統的安全性。
其中,采取的措施包括但不限于以下
平臺安全:架構設計考慮安全性要求,平臺軟件達到安全設計標準。
應用安全:權限控制、支持身份認證接口、防篡改、防暴力破解等措施完善,并且可以跟USBkey、CA、IP地址限制等各種安全措施進行方案組合。
數據安全:支持文檔安全軟件整合技術,從而做到數據傳輸加密、遠程安全訪問、數據存儲加密,并且可以VPN等各種安全方式進行綁定,支持入侵檢測與防御系統、防火墻的應用
容災備份:支持各種容災的軟硬件設備的使用等。
管理安全:提供完善的日志功能,能夠記錄系統使用人員的關鍵操作,保證系統安全
密碼策略:初始密碼強制更改、啟用圖形驗證碼、支持USBkey接口、密碼過期控制、密碼錯誤次數控制、密碼強度設置等,從而防止暴力破解和惡意攻擊。
系統網卡MAC和IP的綁定;
支持CA認證、數字簽名加密技術;
支持電子鑰匙(Ukey)技術和指紋Ukey技術;
支持安全套接(SSL)技術;
軟件系統嚴密、靈活的訪問安全控制,功能授權與數據范圍授權結合;
系統有整體的用戶/權限管理體系,可統一進行用戶/權限的管理,實現到字段級的查詢、修改、管理權限控制;
系統提供用戶認證、數據傳輸、數據存儲、數字簽名等安全手段接口,可在各個環節提供對第三方安全認證系統的支持;
7. OA軟件系統的開發設計應遵循“可擴展性和易維護性”原則
為了適應未來的業務拓展和項目的功能擴展,必須充分考慮以最簡便的方法、最低的投資,實現軟件系統的擴展和維護擴展。
因此,在OA軟件系統的開發設計中,需要考慮到應用及系統不斷擴展的要求,以形成一個易于管理、可持續發展的體系結構。未來業務的擴展只須在現有機制的基礎上,增加新的應用與服務模塊。一方面當應用量增加,用戶數增加時系統可以平滑增加服務器的方式來支撐新的壓力要求發;一方面,當新的技術和產品出現進行升級時,系統能夠平滑過渡而不影響用戶的使用;另一方面,產品有新的功能增加時,可以通過插件和模塊定制平臺的方式,輕松實現業務的擴展。
在設備選擇及網絡方案上堅持開放性原則,使系統對各種硬件設備的互連互通;在軟件上支持跨平臺和開放數據接口,便于與其它系統軟件互相集成,未來支持與業務系統、門戶等系統的單點登錄集成,在可獲得相應系統的數據結構情況下,實現與這些系統的應用、門戶、數據等各層面上無縫連接。
系統的管理和維護,應該采用集權和分權相平衡的思想,如九思軟件的iThink產品設置了系統管理、應用管理和個人管理對系統進行分層授權和分層維護。
利用系統提供的工具,無須編寫代碼,方便用戶自行進行客戶化功能改造,方便用戶自行定制界面數據項的顯示;同時在網絡或系統出現問題時能及時、快速地恢復系統的正常運行,保證系統的可恢復性,具有較高網絡系統的抗干擾能力。
采用各種免代碼的模塊定制平臺,幫助用戶實現功能的DIY設計等。
8. OA軟件系統的開發設計應遵循“美觀性和易用性”原則
系統用戶界面的設計采用Web2.0用戶界面設計技術,界面根據用戶需求靈活更改(增強標簽分類特性),注重用戶體驗,使系統各項功能易見、易學、易用。
作為全員應用系統,易用性和用戶體驗是項目成敗的關鍵要素。所提供的產品采用B/S的登錄方式、可以采用電腦、手機等各種方式下登錄,采用了AJAX、圖形化編輯器等各種新技術,并且易讀、易理解、易操作,用戶界面簡潔、美觀、友好,易于用戶掌握、操作和使用;系統管理的使用及管理也以簡便、易于操作、方便實用為準則。
嚴格遵循易用性六原則,實現從產品的部署、登錄、使用、維護、升級、擴展的全方位易用,從而提升系統的黏著度;
提供統一的訪問地址,便于用戶使用。在登錄頁為用戶提供加入收藏、設為首頁等操作,方便用戶以后快速訪問系統;
具備風格一致的友好的用戶界面,圖形顯示直觀,工作流程從設計到使用全程圖形化(參照九思軟件wowentech.com);
遵循20/80原則,設置辦理中心,使常用功能高度融合,即方便用戶快速學習,又大大提升了使用效率。
遵循人機交互原則,對用戶的錯誤輸入盡早發現并給出提示,對復雜的功能操作,提供操作向導;
客戶端全面兼容性,操作系統全面兼容win2000/ win2003 xp//vista/win7等。瀏覽器全面兼容IE6/IE7/IE8主流瀏覽器、并支持支持office2003/2007。
9. OA軟件系統的開發設計應遵循“大并發能力支撐”的原則
OA軟件系統的開發設計,應該支持應用和數據庫等多重負載均衡能力,支持附件服務器和數據庫服務器分離技術,從而支持數萬用戶同時在線和同時操作的能力,不會因為用戶數的增長或者信息量的增長,而導致系統響應能力下降。
系統并發能力:通過集群方式,在技術上沒有并發上限,因此能完全保障用戶未來的人員擴張需要。