软件系统架构设计
設計步驟:
定義子系統
定義子系統外部接口
定義系統物理架構(設備環境、網絡環境、數據環境)
集中式結構對主機要求比較高。穩定性高、安全性高,設備要求高、費用高、不利于擴充。
客戶機/服務器結構,一種分布與集中相結合的結構,擴充性比較好、有利于分階段的實現、
表示層、應用層、數據層,邏輯分層有利于提升系統性能。
兩層結構 ,胖客戶端,不利于維護,因為要適應不同的客戶端設備
三層結構,客戶機-應用服務器-數據庫服務器,便于維護,只要改應用服務器,不用改客戶端,但是開發難度變大。
B/S結構(電商平臺)
客戶機-Web服務器-應用服務器-數據庫服務器
不需要維護客戶機,客戶只要有瀏覽器就行。系統數據傳輸速度不夠快
組件對象分布結構
沒有客戶機和服務器的明顯界限,分布式對象中間件來協調。
軟件結構設計:(模塊就是一個功能單元,模塊不能太多,以減少接口與連接成本)
確定構造子系統的模塊元素
定義每個模塊的功能
定義模塊的接口,設計接口的數據結構
確定模塊之間的調用與返回關系
評估軟件結構質量,進行結構優化
模塊功能黑盒:模塊名稱、輸入數據、功能定義、輸出數據
信息隱蔽:模塊外部不可知道模塊內部細節,使系統更健壯,更加方便維護,比較容易找到錯誤的位置,利于糾錯,不易擴散錯誤。
模塊獨立性:每一個模塊只涉及自己的功能,接口要設計簡單,高內聚低耦合,每一個模塊之間的耦合要低,模塊內各個元素內聚要高。主要關注提供模塊內聚程度。
反復完善結構優化,模塊功能、大小、接口復雜度,不斷調優
數據庫結構設計:
邏輯結構設計(ER model)
物理結構設計(物理設備的存儲方法和存儲時間、空間、穩定性、檢索效率、索引空間、數據完整性規則)
總結
- 上一篇: 【zabbix】企业微信告警
- 下一篇: 基于java财务管理系统(java毕业设