系統架構是一個極具彈性的概念,實際上就是對軟甲開發流程的規劃。中培偉業《詳細設計與系統架構最佳實踐》程老師指出,系統架構是對已確定的需求的技術實現構架、作好規劃,運用成套、完整的工具,在規劃的步驟下去完成任務。軟甲開發作為一個復雜和系統的工程,事前做好系統架構,是做好開發的前提。
但如何進行架構設計?是否有可借鑒的設計原則和方法呢?陳老師進一步指出,Mark Schultz在2007年3月發表《Architecture principles: Creating the foundation for robust architecture》一文,從通用架構、業務邏輯、技術、信息與數據、管理、發展趨勢、安全性、測試等8方面探討了在進行系統架構設計時需要考慮的 問題,除了一些軟件工程中經常提到的保持易用性、可擴展性、安全性、可測試性等一般原則之外,他對某些問題的強調值得系統架構設計人員深思。
除了國外專家的觀點之外 ,對系統架構方面應該注意的問題,程老師也有自己的督導的見解,他從4個方面對系統架構應該注意的問題發表了自己的看法。
1.在通用架構方面
充分重視非功能性需求非功能性需求應該與功能性需求一樣進行認真地設計、開發、測試和管理。無論在何處訪問,以IT系統架構為基礎的應用應該能夠提供一個與業務流程集成的一致視圖。
2.在業務邏輯方面
在一個業務系統的生命周期內,其穩定性很大程度上取決是所采用的技術是否是可控、可管理的。開發人員總是喜歡嘗試新技術的,但新技術能否融合入這個業務系統之中,則需要認真評估。
3.在發展趨勢方面
盡可能采用業界成熟的開放標準,在自己試圖定義某些協議之前,最好現考察一下是否有現成的協議可用。以前在開發一些智能控制產品時,我們采用了RS485串行總線,但由于RS485是底層協議,于是我們自己定義了一套上層通信協議,而事實證明這種做法很值得商榷。
4.在安全性方面
根據業務目標,風險與安全性之間應該達到一種平衡:不為無謂的風險強化安全性,也不為實在的風險弱化安全性。系統安全程度與系統構建維護成本總是成正比,在系統設計時就需要考慮如何達到一種適度的安全。