模塊構(gòu)架設(shè)計可以從程序的運行時結(jié)構(gòu)和源代碼的組織結(jié)構(gòu)方面考慮。
1、程序的運行時結(jié)構(gòu)方面的考慮:
1) 需求的符合性:正確性、完整性;功能性需求、非功能性需求;
2) 總體性能(內(nèi)存管理、數(shù)據(jù)庫組織和內(nèi)容、非數(shù)據(jù)庫信息、任務(wù)并行性、網(wǎng)絡(luò)多人操作、關(guān)鍵算法、與網(wǎng)絡(luò)、硬件和其他系統(tǒng)接口對性能的影響);
3) 運行可管理性:便于控制系統(tǒng)運行、監(jiān)視系統(tǒng)狀態(tài)、錯誤處理;模塊間通信的簡單性;與可維護(hù)性不同;
4) 與其他系統(tǒng)接口兼容性;
5) 與網(wǎng)絡(luò)、硬件接口兼容性及性能;
6) 系統(tǒng)安全性;
7) 系統(tǒng)可靠性;
8) 業(yè)務(wù)流程的可調(diào)整性;
9) 業(yè)務(wù)信息的可調(diào)整性
10) 使用方便性
11) 構(gòu)架樣式的一致性
注:運行時負(fù)載均衡可以從系統(tǒng)性能、系統(tǒng)可靠性方面考慮。
2、源代碼的組織結(jié)構(gòu)方面的考慮:
1) 開發(fā)可管理性:便于人員分工(模塊獨立性、開發(fā)工作的負(fù)載均衡、進(jìn)度安排優(yōu)化、預(yù)防人員流動對開發(fā)的影響)、利于配置管理、大小的合理性與適度復(fù)雜性;
2) 可維護(hù)性:與運行可管理性不同;
3) 可擴充性:系統(tǒng)方案的升級、擴容、擴充性能;
4) 可移植性:不同客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)庫管理系統(tǒng);
5) 需求的符合性(源代碼的組織結(jié)構(gòu)方面的考慮)。