【廣告】
完畢這4個階段稱為一個開發(fā)周期,它產(chǎn)生的軟件稱作代(generation)。實際上軟件設(shè)計的主要任務就是將軟件分解成模塊是指能實現(xiàn)某個功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元。 除非產(chǎn)品的生命結(jié)束, 一個現(xiàn)有產(chǎn)品能夠通過反復下一個同樣的起始、細化、構(gòu)建和移交四階段,各個階段的側(cè)重點與次不同,從而演進為下一代產(chǎn)品。 這個時期我們稱之為演進(evolution)。后伴隨著產(chǎn)品經(jīng)過幾個周期的演進,新一代產(chǎn)品也不斷被制造出來。比如,演進周期的啟動可能由下面這幾項觸發(fā):用戶建議增強功能、用戶環(huán)境的改變、重要技術(shù)的變更,以及應對競爭的需要。
軟件開發(fā)項目管理是指“在一定資源如時間、資金、人力和設(shè)備等約束條件下對一個有既定目標(質(zhì)量、投資、進度)要求的任務進行計劃和控制的過程。其次,要注重培養(yǎng)團隊的團結(jié)一心的合作精神,發(fā)揚良好的職業(yè)道德?!表椖抗芾硪韵到y(tǒng)的觀點來對一個項目進行全程的控制,同樣也可以用此來完成對軟件項目的管理,而且由于軟件項目的特殊性預目管理在應用于軟件項目的管理時,也會有其獨特的一面。 與一般項目比較,軟件項目,有其自身的特點。軟件開發(fā)同時具備知識密集型和勞動密集型的特點,軟件項目的成果具有非物質(zhì)性的特殊表現(xiàn)形式,可見性差。因此。軟件開發(fā)過程中經(jīng)常出現(xiàn)如下問題:,用戶想到什么就提什么,沒有明確的應用需求。第二,由于缺乏正確的時間估計,導致開發(fā)時間倉促。第三,軟件開發(fā)過程中,不同的員工對事物的描述方式不同,給工作協(xié)調(diào)性帶來不便。事實已經(jīng)表明'沒有得到有效管理的軟件開發(fā)過程.將會隨著整個軟件業(yè)的迅速發(fā)展'將越來越突出的面臨著風險性與挑戰(zhàn)性。為確保軟件項目能夠低成本、高質(zhì)量的順利完成,加強軟件開發(fā)的管理工作尤為重要。
我們需要弄清楚產(chǎn)品經(jīng)理或項目需求提出者為什么要做這個項目?這是本質(zhì)的業(yè)務需求。需求分析確定的業(yè)務需求,都是從業(yè)務需求推導出來的,都必須為業(yè)務需求服務。
產(chǎn)品需求一般包括產(chǎn)品需求規(guī)格說明書和產(chǎn)品需求矩陣。產(chǎn)品需求矩陣一般按照子系統(tǒng)、功能集、執(zhí)行單元的結(jié)構(gòu)列出所有的功能需求,每列則對應每項功能的工作步驟以及每個步驟的工作量。
產(chǎn)品需求寫完后,需要進行評審。在需求評審會上,產(chǎn)品、技術(shù)詳細評審需求是否完整,產(chǎn)品功能的正常場景是什么?是否形成閉環(huán)?異常場景是什么?是否考慮周全?
詳細設(shè)計詳細設(shè)計階段就是依據(jù)概要設(shè)計階段的分解,設(shè)計每個模塊內(nèi)的算法、流程,為每個模塊完成的功能進行具體的描述,要把功能描述轉(zhuǎn)變?yōu)榈?、結(jié)構(gòu)化的過程描述。
詳細設(shè)計這個階段,各個模塊可以分給不同的人去并行設(shè)計。軟件分為系統(tǒng)軟件和應用軟件,并不只是包括可以在計算機上運行的程序,與這些程序相關(guān)的文件一般也被認為是軟件的一部分。設(shè)計者的工作對象是一個模塊,根據(jù)概要設(shè)計賦予的局部任務和對外接口,設(shè)計并表達出模塊的算法、流程、狀態(tài)轉(zhuǎn)換等內(nèi)容。這里要注意,如果發(fā)現(xiàn)有結(jié)構(gòu)調(diào)整(如分解出子模塊等)的必要,必須返回到概要設(shè)計階段,將調(diào)整反應到概要設(shè)計文檔中,而不 能就地解決,不打招呼。詳細設(shè)計文檔的部分是模塊的流程圖、狀態(tài)圖、局部變量及相應的文字說明等。一個模塊對應一篇詳細設(shè)計文檔。