接上篇:北京北大青鳥學校學術(shù)部提供:
9. 考慮軟件的移植性
移植是軟件開發(fā)中一項具體而又實際的工作。即使僅僅對軟件進行常規(guī)升級,也要把這看得和向另一個操作系統(tǒng)或數(shù)據(jù)庫移植一樣重要。 當你使用了某個操作系統(tǒng)的特性,如它的進程間通信(IPC)策略,或用某數(shù)據(jù)庫專有語言寫了存儲過程。你的軟件和那個特定的產(chǎn)品結(jié)合度就已經(jīng)很高了。好的軟件設(shè)計者把那些特有的實現(xiàn)細節(jié)打包隱藏起來,所以,當那些特性該變的時候,你僅僅需要更新那個包就可以了。
10. 接受變化
北京北大青鳥學校認為一個好的軟件設(shè)計師應(yīng)該將所有系統(tǒng)將可能發(fā)生的變化以及潛在需求記錄下來,以便將來能夠?qū)崿F(xiàn)通過在建模期間考慮這些假設(shè)的情況,你就有可能開發(fā)出足夠強壯且容易維護的軟件。設(shè)計強壯的軟件是你最基本的目標。
11.不要低估對軟件規(guī)模的需求
Internet 帶給我們的最大的教訓是你必須在軟件開發(fā)的最初階段就考慮軟件規(guī)模的可擴充性。今天只有100人的部門使用的應(yīng)用程序,明天可能會被有好幾萬人的組織使用,下月,通過因特網(wǎng)可能會有幾百萬人使用它。在軟件設(shè)計的初期,根據(jù)在用例模型中定義的必須支持的基本事務(wù)處理,確定軟件的基本功能。然后,在建造系統(tǒng)的時候再逐步加入比較常用的功能。在設(shè)計的開始考慮軟件的規(guī)模需求,避免在用戶群突然增大的情況下,重寫軟件。
12. 性能僅僅是很多設(shè)計因素之一
關(guān)注軟件設(shè)計中的一個重要因素--性能,這好象也是用戶最關(guān)心的事情。一個性能不佳的軟件將不可避免被重寫。但是你的設(shè)計還必須具有可靠性,可用性,便攜性和可擴展性。你應(yīng)該在工程開始就應(yīng)該定義并區(qū)分好這些因素,以便在工作中恰當使用。性能可以是,也可以不是優(yōu)先級最高的因素,我的觀點是,給每個設(shè)計因素應(yīng)有的考慮。(北京北大青鳥學校)
13. 管理接口
“UML User Guide”(Grady Booch,Ivar Jacobson和Jim Rumbaugh ,Addison Wesley, 1999)中指出,你應(yīng)該在開發(fā)階段的早期就定義軟件模塊之間的接口。這有助于你的開發(fā)人員全面理解軟件的設(shè)計結(jié)構(gòu)并取得一致意見,讓各模塊開發(fā)小組相對獨立的工作。一旦模塊的接口確定之后,模塊怎樣實現(xiàn)就不是很重要了。從根本上說,如果你不能夠定義你的模塊“從外部看上去會是什么樣子”,你肯定也不清楚模塊內(nèi)要實現(xiàn)什么。 (北京北大青鳥學校,未完)