北京北大青鳥學(xué)校:軟件模型設(shè)計師(14-20)

接上文,北京北大青鳥學(xué)校學(xué)術(shù)部提供

14. 合理安排項目計劃
在軟件開發(fā)中沒有捷徑可以走?s短你的在需求分析上花的時間,結(jié)果只能是開發(fā)出來的軟件不能滿足用戶的需求,必須被重寫。在軟件建模上每節(jié)省一周,在將來的編碼階段可能會多花幾周時間,因為你在全面思考之前就動手寫程序。你為了節(jié)省一天的測試時間而漏掉了一個bug,在將來的維護(hù)階段,可能需要花幾周甚至幾個月的時間去修復(fù)。與其如此,還不如重新安排一下項目計劃。

15. 別信賴任何人
大部分程序員認(rèn)為他們自己比其他人更優(yōu)秀,他們可能拋棄你設(shè)計的模型而用自己認(rèn)為更好的。 只有良好的溝通才能解決這些問題。要明確的是,不要只依靠一家產(chǎn)品或服務(wù)提供商,即使你的公司(或組織)已經(jīng)在建模、文檔和過程等方面向那個公司投入了很多錢。

16. 證明你的設(shè)計在實踐中可行
在設(shè)計的時候應(yīng)當(dāng)先建立一個技術(shù)原型, 或者稱為“端到端”原型。以證明你的設(shè)計是能夠工作的。你應(yīng)該在開發(fā)工作的早期做這些事情,因為,如果軟件的設(shè)計方案是不可行的,在編碼實現(xiàn)階段無論采取什么措施都于事無補(bǔ)。技術(shù)原型將證明你的設(shè)計的可行性,從而,你的設(shè)計將更容易獲得支持。

17. 應(yīng)用已知的模式
目前,我們有大量現(xiàn)成的分析和設(shè)計模式以及問題的解決方案可以使用。一般來說,好的模型設(shè)計和開發(fā)人員,都會避免重新設(shè)計已經(jīng)成熟的并被廣泛應(yīng)用的東西。
北京北大青鳥學(xué)校建議大家多看看這個網(wǎng)站:http://www.ambysoft.com/processPatternsPage.html 收藏了許多開發(fā)模式的信息。

18. 研究每個模型的長處和弱點
目前有很多種類的模型可以使用。用例捕獲的是系統(tǒng)行為需求,數(shù)據(jù)模型則描述支持一個系統(tǒng)運(yùn)行所需要的數(shù)據(jù)構(gòu)成。你可能會試圖在用例中加入實際數(shù)據(jù)描述,但是,這對開發(fā)者不是非常有用。同樣,數(shù)據(jù)模型對描述軟件需求來說是無用的。每個模型在你建模過程中有其相應(yīng)的位置,但是,你需要明白在什么地方,什么時候使用它們。

19. 在現(xiàn)有任務(wù)中應(yīng)用多個模型
當(dāng)你收集需求的時候,考慮使用用例模型,用戶界面模型和領(lǐng)域級的類模型。當(dāng)你設(shè)計軟件的時候,應(yīng)該考慮制作類模型,順序圖、狀態(tài)圖、協(xié)作圖和最終的軟件實際物理模型。程序設(shè)計人員應(yīng)該慢慢意識到,僅僅使用一個模型而實現(xiàn)的軟件要么不能夠很好地滿足用戶的需求,要么很難擴(kuò)展。

20. 教育你的聽眾
教給你開發(fā)人員基本的建模知識;否則,他們會只看看你畫的漂亮圖表,然后繼續(xù)編寫不規(guī)范的程序。另外, 你還需要告訴你的用戶一些需求建模的基礎(chǔ)知識。給他們解釋你的用例(uses case)和用戶界面模型,以使他們能夠明白你要表達(dá)地東西。當(dāng)每個人都能使用一個通用的設(shè)計語言的時候(比如UML-譯者注),你的團(tuán)隊才能實現(xiàn)真正的合作。 (北京北大青鳥學(xué)校,未完)

北大青鳥網(wǎng)上報名
北大青鳥招生簡章