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