接上文,北京北大青鳥學校學術部提供
14. 合理安排項目計劃
在軟件開發(fā)中沒有捷徑可以走?s短你的在需求分析上花的時間,結果只能是開發(fā)出來的軟件不能滿足用戶的需求,必須被重寫。在軟件建模上每節(jié)省一周,在將來的編碼階段可能會多花幾周時間,因為你在全面思考之前就動手寫程序。你為了節(jié)省一天的測試時間而漏掉了一個bug,在將來的維護階段,可能需要花幾周甚至幾個月的時間去修復。與其如此,還不如重新安排一下項目計劃。
15. 別信賴任何人
大部分程序員認為他們自己比其他人更優(yōu)秀,他們可能拋棄你設計的模型而用自己認為更好的。 只有良好的溝通才能解決這些問題。要明確的是,不要只依靠一家產(chǎn)品或服務提供商,即使你的公司(或組織)已經(jīng)在建模、文檔和過程等方面向那個公司投入了很多錢。
16. 證明你的設計在實踐中可行
在設計的時候應當先建立一個技術原型, 或者稱為“端到端”原型。以證明你的設計是能夠工作的。你應該在開發(fā)工作的早期做這些事情,因為,如果軟件的設計方案是不可行的,在編碼實現(xiàn)階段無論采取什么措施都于事無補。技術原型將證明你的設計的可行性,從而,你的設計將更容易獲得支持。
17. 應用已知的模式
目前,我們有大量現(xiàn)成的分析和設計模式以及問題的解決方案可以使用。一般來說,好的模型設計和開發(fā)人員,都會避免重新設計已經(jīng)成熟的并被廣泛應用的東西。
北京北大青鳥學校建議大家多看看這個網(wǎng)站:http://www.ambysoft.com/processPatternsPage.html 收藏了許多開發(fā)模式的信息。
18. 研究每個模型的長處和弱點
目前有很多種類的模型可以使用。用例捕獲的是系統(tǒng)行為需求,數(shù)據(jù)模型則描述支持一個系統(tǒng)運行所需要的數(shù)據(jù)構成。你可能會試圖在用例中加入實際數(shù)據(jù)描述,但是,這對開發(fā)者不是非常有用。同樣,數(shù)據(jù)模型對描述軟件需求來說是無用的。每個模型在你建模過程中有其相應的位置,但是,你需要明白在什么地方,什么時候使用它們。
19. 在現(xiàn)有任務中應用多個模型
當你收集需求的時候,考慮使用用例模型,用戶界面模型和領域級的類模型。當你設計軟件的時候,應該考慮制作類模型,順序圖、狀態(tài)圖、協(xié)作圖和最終的軟件實際物理模型。程序設計人員應該慢慢意識到,僅僅使用一個模型而實現(xiàn)的軟件要么不能夠很好地滿足用戶的需求,要么很難擴展。
20. 教育你的聽眾
教給你開發(fā)人員基本的建模知識;否則,他們會只看看你畫的漂亮圖表,然后繼續(xù)編寫不規(guī)范的程序。另外, 你還需要告訴你的用戶一些需求建模的基礎知識。給他們解釋你的用例(uses case)和用戶界面模型,以使他們能夠明白你要表達地東西。當每個人都能使用一個通用的設計語言的時候(比如UML-譯者注),你的團隊才能實現(xiàn)真正的合作。 (北京北大青鳥學校,未完)