版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、.軟件項目開發(fā)和管理規(guī)范本文闡述軟件項目開發(fā)和管理的流程規(guī)范,作為軟件項目開發(fā)的高級指引,本規(guī)范定義了軟件開發(fā)的各個階段以及每個階段的工作活動和工件,但不對活動和工件的細(xì)節(jié)作過多規(guī)定。在項目開發(fā)過程中,每個項目根據(jù)自身的需要確定這些活動和工件的細(xì)節(jié)。項目階段圖 2-1 項目開發(fā)的五個階段 啟動階段 這個階段的工作目的是決定一個項目是否需要啟動。為了達到這個目的,首先要明確項目的總體戰(zhàn)略目標(biāo),對項目的需要建立認(rèn)同。即確定到底需要做什么、開發(fā)什么產(chǎn)品或提供什么服務(wù),以及需要解決什么樣的問題和需要滿足客戶或市場的什么要求等,同時還要總結(jié)項目工作的范圍、所需資源、大約開支、各種風(fēng)險,以及該項目不執(zhí)行的
2、其他替代選擇等。這些代表了對整個項目目標(biāo)從戰(zhàn)略角度和宏觀層次所進行的分析,通過項目的意向書總結(jié)出來,由此確證客戶或項目發(fā)起人和贊助者的要求與期望,并幫助他們判定項目是否上馬。項目意向總結(jié)書的通過及項目被批準(zhǔn)上馬形成了這個項目的起始點。 計劃階段 這個階段的工作是為整個項目做計劃。項目開始后,首先要確定項目的具體范圍,明確定出項目到底要做什么,總結(jié)、歸納并定出產(chǎn)品的功能。然后進一步制定項目的計劃,列出每項具體工作,并建立所有工作任務(wù)的重要性及順序;確定每項工作的執(zhí)行人和所需資源;根據(jù)人員的配置和能力設(shè)定各項工作和整個項目的完成時間表。 執(zhí)行階段 這個階段的工作是通過執(zhí)行項目的計劃來完成項目的任務(wù)
3、。它包括落實一切所需資源,如:人員、設(shè)備、費用、技術(shù)、信息,由管理者領(lǐng)導(dǎo)全體項目參與者開展各項工作。同時跟蹤各項具體工作和整個項目的進度,定期向全體項目人員及項目的發(fā)起人報告項目狀態(tài)。 控制階段 這個階段的工作是確證項目工作的結(jié)果符合項目的計劃。它通過對項目結(jié)果的衡量和審核,與項目計劃所期望的結(jié)果進行比較,找出實際結(jié)果與計劃的差別,并制定處理措施。這個階段的工作還包括對項目進程中出現(xiàn)的任何更改要求進行審核和批準(zhǔn)。同時調(diào)解項目進程中出現(xiàn)的各種問題,如:對缺乏的資源的補償調(diào)節(jié);對項目的進度表及各項具體工作的優(yōu)先級或順序的修訂。 結(jié)束階段 這個階段的工作是確保項目的最終結(jié)果或提交物達到計劃的要求,并
4、對完成的結(jié)果作可接受的確認(rèn)。還包括在項目完成之后的收尾工作,對整個項目的經(jīng)歷進行總結(jié),修訂項目文檔,用戶培訓(xùn)等。階段完成標(biāo)志在項目開發(fā)過程中,當(dāng)一個階段完成后才會開展下一個階段的工作;另外,“某個階段完成”通常被定義為項目的一個里程碑,里程碑標(biāo)識了項目的進度,它是項目開發(fā)和控制的重要參考,對整個項目有重要的意義。因此,“確證某個階段是否已經(jīng)完成”的工作非常有重要。 每一個階段的結(jié)束以它特定任務(wù)的完成為象征 只有當(dāng)某個階段中被規(guī)定的所有工作任務(wù)都完成了,這個階段才算真正結(jié)束,整個項目才可以進入到下一個階段中去。反過來說,要是階段中某個任務(wù)沒有全部完成,按照項目的定義,整個階段就不能算是完成,因此
5、項目就不能進入到下一個階段去。 衡量階段結(jié)束的工作結(jié)果必須是實在的交付品 階段中的任務(wù)是否完成是透過任務(wù)活動中產(chǎn)生的交付品來體現(xiàn)的,交付品必須是可交付的、非抽象的、實質(zhì)的并且可以通過用衡量的方法來判斷是否真正地完成了的具體事物。如:某一階段的完成是以建造一個樣品或完成某分文件作為象征。任何項目階段的結(jié)束,都應(yīng)該有這樣的實質(zhì)性東西的完成作為象征。 跨階段的進程以階段結(jié)尾的合格驗證和審核來決定 當(dāng)一個階段結(jié)束時,在進入到下一個階段之前所需要做的工作應(yīng)包括對交付品進行合格驗證,并檢查這一階段的工作質(zhì)量和效率,由此判斷是否可以進入到下一個階段。這些檢驗象征了一個階段的結(jié)尾終點,表示項目的進程離開了上一
6、個階段而進入了下一個階段。啟動階段圖 3-1 啟動階段的任務(wù)和工件 產(chǎn)品領(lǐng)域研究 研究產(chǎn)品所在領(lǐng)域的狀況,為項目論證提供依據(jù)。研究內(nèi)容包括:o 產(chǎn)品領(lǐng)域的現(xiàn)狀和前景 o 產(chǎn)品領(lǐng)域的商業(yè)模式和業(yè)務(wù)流程 o 產(chǎn)品的價值和盈利空間 o 產(chǎn)品的特性和復(fù)雜度 技術(shù)可行性研究 研究產(chǎn)品的實現(xiàn)技術(shù),總結(jié)技術(shù)可行性。研究內(nèi)容包括:oo 類似產(chǎn)品的當(dāng)前實現(xiàn)技術(shù)和技術(shù)趨勢 o 實現(xiàn)技術(shù)的候選方案 o 各個方案的優(yōu)點、成本和風(fēng)險 o 開發(fā)團隊與實現(xiàn)技術(shù)的匹配情況 項目論證 基于商業(yè)和技術(shù)等方面對項目的可行性進行論證,確定項目是否開展。如果開展項目,則進一步論證項目的總體方案。論證的內(nèi)容包括:o 商業(yè)可行性 o 技術(shù)
7、可行性 o 當(dāng)前產(chǎn)品與類似產(chǎn)品的比較 o 項目收益和前景 o 項目的成本和風(fēng)險 o 項目的總體方案 確定項目目標(biāo)和范圍 項目開始時,所有相關(guān)人員必須對項目的目標(biāo)和范圍達成共識,形成共同的項目愿景。并把愿景敘述為項目開發(fā)大綱向相關(guān)人員傳達。項目開發(fā)大綱的內(nèi)容包括:概 述用三到五張圖表來描述產(chǎn)品目標(biāo)、功能、平臺、客戶、進度表和開發(fā)職責(zé)高級功能用一個段落來綜述產(chǎn)品,再用一個段落來描述每個重要的功能不實現(xiàn)的功能用一個段落來描述每個對產(chǎn)品有用的但本項目不實現(xiàn)的功能涉 眾用一個段落來明確每個重要的涉眾群體和他們的風(fēng)險股本項目需求用一個段落來講述每個重要的項目需求項目風(fēng)險按風(fēng)險暴露量對每個重要的項目風(fēng)險都用
8、一個段落來討論項目回報用一個段落綜述產(chǎn)品的回報,其后再對每個重要的項目回報都用一個段落來討論結(jié) 論用一到三個段落將上述所有部分聯(lián)系起來,明確項目的需求和風(fēng)險,再用論點和論據(jù)來總結(jié)為什么這個項目會成功表 3-1 項目開發(fā)大綱計劃階段圖 4-1 計劃階段的任務(wù)和工件 規(guī)模、工作量評估 圍繞各項計劃的制定工作對項目的規(guī)模、工作量等進行評估,評估的內(nèi)容包括:oo 模塊數(shù)量與復(fù)雜度 o 輸入、輸出和對外接口等數(shù)量與復(fù)雜度 o SLOC和功能點 o 非生產(chǎn)性的支持工作量 o 開發(fā)工作量(人月) o 進度與里程碑 o 進度風(fēng)險 定制項目開發(fā)計劃 項目開發(fā)計劃體現(xiàn)了項目組對整個開發(fā)周期的預(yù)期,指定了項目開發(fā)的
9、總體方針。與其他計劃一樣,項目開發(fā)計劃不是固定不變的,在執(zhí)行過程中要對計劃進行監(jiān)控,可能會根據(jù)實際情況修改計劃并重新發(fā)布。項目開發(fā)計劃的內(nèi)容包括:概 述用三到五張圖表來描述產(chǎn)品目標(biāo)、功能、平臺、客戶、進度表和開發(fā)職責(zé)。 (項目開發(fā)計劃的概述部分應(yīng)該是項目開發(fā)大綱中概述部分的拷貝。當(dāng)項目計劃改變時,修訂項目開發(fā)計劃的概述部分而不是修訂項目開發(fā)大綱。這樣,以后在進行項目評價時,通過比較項目開發(fā)大綱和項目開發(fā)計劃的概述,就能看出項目是如何改變的)高級功能用一到五頁的篇幅來概述產(chǎn)品的功能,其中,要包括這些功能的附加信息(開發(fā)者需要這樣的信息來了解實現(xiàn)需求)。項目成員確定軟件工程職能角色,以及分配到這些
10、角色的人員數(shù)量。軟件過程概述這個項目中所應(yīng)用的軟件過程。 (具體內(nèi)容可在質(zhì)量保證計劃中定義)軟件工程方法概述這個項目中所應(yīng)用的軟件工程方法和技術(shù)。 (具體內(nèi)容可在 質(zhì)量保證計劃中定義)進度和工作量這一部分要表達出整個項目進度和工作量的估計。其中要包括: 對固定不變的里程碑和同步點的解釋 在評估中的設(shè)想情況、評估中的不準(zhǔn)確性的可能來源 隨著項目的進展如何更新評估 (具體進度表內(nèi)容可在開發(fā)進度表中定義)風(fēng)險管理計劃概述這個項目中風(fēng)險管理計劃。 (具體內(nèi)容可在風(fēng)險管理計劃中定義)測 量概述這個項目中要收集的測量。軟件工具列出要使用的每一項軟件工具,以及該工具所支持的任務(wù)。項目支持硬件支持 明確所需的
11、硬件,包括那些需要移動、獲取或升級的硬件。軟件支持 明確所需的軟件,包括需要獲取、安裝或升級的軟件件。人力支持 由哪個人、部門或團隊為開發(fā)組的哪項任務(wù)提供支持。表 4-1 項目開發(fā)計劃 定制風(fēng)險管理計劃 風(fēng)險管理任務(wù)包括:風(fēng)險識別、風(fēng)險分析、確定風(fēng)險優(yōu)先級、定制風(fēng)險化解方案、風(fēng)險化解和風(fēng)險監(jiān)控【如:圖4-2】。圖 4-2 風(fēng)險管理任務(wù)風(fēng)險管理計劃定義這些任務(wù)的執(zhí)行流程和人員分配。風(fēng)險管理計劃的內(nèi)容包括:概 述用文字和圖表概述風(fēng)險管理任務(wù)的總體執(zhí)行流程。風(fēng)險識別詳細(xì)說明“風(fēng)險識別”任務(wù)的實施細(xì)節(jié)和各項工作的負(fù)責(zé)人。風(fēng)險分析詳細(xì)說明“風(fēng)險分析”任務(wù)的實施細(xì)節(jié)和各項工作的負(fù)責(zé)人。確定風(fēng)險優(yōu)先級詳細(xì)說
12、明“確定風(fēng)險優(yōu)先級”任務(wù)的實施細(xì)節(jié)和各項工作的負(fù)責(zé)人。定制風(fēng)險化解方案詳細(xì)說明“定制風(fēng)險處理方案”任務(wù)的實施細(xì)節(jié)和各項工作的負(fù)責(zé)人。風(fēng)險化解當(dāng)風(fēng)險發(fā)生時,需要采取相應(yīng)的措施化解風(fēng)險。 這部分的內(nèi)容是描述風(fēng)險化解工作的操作規(guī)范和流程。風(fēng)險監(jiān)控詳細(xì)說明風(fēng)險監(jiān)控任務(wù)的實施細(xì)節(jié)和各項工作的負(fù)責(zé)人。表 4-2 風(fēng)險管理計劃風(fēng)險管理中通常會用到Top N 風(fēng)險列表,風(fēng)險列表按照風(fēng)險暴露量排序列出當(dāng)前項目中主要的N個風(fēng)險,Top N 風(fēng)險列表的內(nèi)容包括:本周排名本周的排名(如果本周已被完全化解用“-”表示)上周排名上周排名(如果是新識別的風(fēng)險用“-”表示)上表周數(shù)該風(fēng)險已上表的周數(shù)風(fēng) 險風(fēng)險的名稱或簡述類
13、型風(fēng)險類型(只針對進度相關(guān)的風(fēng)險): o 計劃編制 o 組織和管理 o 設(shè)計和實現(xiàn) o 客戶和需求 o 承包商 o 產(chǎn)品 o 人員 o 過程 o 技術(shù) o 外部環(huán)境 o 開發(fā)環(huán)境 發(fā)生概率風(fēng)險發(fā)生的百分比概率損失程度風(fēng)險發(fā)生時損失的進度(工作日或工作周)暴露量發(fā)生概率 X 損失程度狀 態(tài)風(fēng)險的當(dāng)前狀態(tài):未發(fā)生、已發(fā)生、已化解化解方案簡述風(fēng)險的化解方案,如果有具體的化解方案文檔則鏈接到相應(yīng)文檔化解進度對已發(fā)生的風(fēng)險,簡述化解進度(未發(fā)生的風(fēng)險用“-”表示) 表 4-3 風(fēng)險列表 定制質(zhì)量保證計劃 保證工作質(zhì)量的一個重要步驟是制定一套合理的質(zhì)量保證計劃并貫徹執(zhí)行。質(zhì)量保證計劃的內(nèi)容包括:概 述說明
14、編寫的目的、適用范圍以及對相關(guān)人員的要求等軟件過程詳細(xì)說明這個項目中所應(yīng)用的軟件過程。軟件工程方法詳細(xì)說明這個項目中所應(yīng)用的軟件工程方法和技術(shù)。工作規(guī)范對工程方法中的各種工作任務(wù)進行規(guī)范,明確執(zhí)行的時機、流程和準(zhǔn)則等。這些工作任務(wù)包括:常規(guī)開發(fā)活動(需求分析、架構(gòu)設(shè)計、詳細(xì)設(shè)計、編碼和測試、發(fā)布和實施等)會議(工作例會、進度會議、審查會議等)評審(方案評審、技術(shù)評審、質(zhì)量評審等)測量(產(chǎn)品規(guī)模測量、進度測量、缺陷率測量、測試覆蓋率測量等)其他活動(技能培訓(xùn)、資料收集、內(nèi)部流、客戶溝通等)表 4-4 工作規(guī)范 定制開發(fā)進度計劃 基于當(dāng)前對項目的規(guī)模和工作量評估,定制初步的開發(fā)進度表,作為項目開發(fā)
15、計劃的組成部分。開發(fā)進度表的內(nèi)容包括:oo 項目的開始和結(jié)束時間 o 項目各個階段的開始和結(jié)束時間o 每個階段的工作任務(wù)及其開始和結(jié)束時間 o 每個工作任務(wù)的子任務(wù)的及其開始和結(jié)束時間o 里程碑和同步點 o 角色的定義和任務(wù)分配 作為跟蹤項目進度的重要依據(jù),進度表在項目推進過程中需要不斷細(xì)化。另外,當(dāng)實際進度與計劃進度出現(xiàn)偏差時,需要修改進度表并重新發(fā)布。執(zhí)行階段圖 5-1 執(zhí)行階段的任務(wù)和工件 需求分析 分析產(chǎn)品的關(guān)鍵需求、對架構(gòu)設(shè)計有影響的需求和風(fēng)險較高的需求,直到分析的程度能開展足界面原型設(shè)計和架構(gòu)設(shè)計工作。需求規(guī)格說明書的內(nèi)容包括:商業(yè)或業(yè)務(wù)需求從商業(yè)或業(yè)務(wù)角度宏觀上對產(chǎn)品或系統(tǒng)的要求
16、。它主要在宏觀的層面歸納總結(jié)為滿足客戶提出的要求或贏得市場競爭所必須實現(xiàn)的功能、性能、質(zhì)量等要求。 1. 做什么 2. 做的范圍 3. 對結(jié)果的要求 使用者需求從客戶對軟件產(chǎn)品或系統(tǒng)使用方案的角度出發(fā),描述和總結(jié)使用者利用該軟件產(chǎn)品或系統(tǒng)能夠做的事或能夠完成的任務(wù)。功能需求根據(jù)上述使用者需求列出的使用方案,列出開發(fā)者必須為軟件產(chǎn)品或系統(tǒng)實現(xiàn)的功能。性能需求1. 運行速度、容量、并發(fā)性能 2. 對資源的利用率 3. 對外界輸入的反饋速度和準(zhǔn)確性 4. 對差錯的負(fù)荷能力 系統(tǒng)需求o 必須適應(yīng)的運行環(huán)境的要求 (包括運行平臺、網(wǎng)絡(luò)及其他硬件要求)o 與其他系統(tǒng)兼容的要求 (包括與操作系統(tǒng)、數(shù)據(jù)庫、瀏
17、覽器及其他應(yīng)用軟件的兼容要求)o 與外部其他系統(tǒng)和組件的接口要求 質(zhì)量需求o 對用戶重要的質(zhì)量標(biāo)志 (可靠性、效率性、靈活性、安全性、互操作性、穩(wěn)定性、健全性、可用性)o 對開發(fā)者重要的質(zhì)量標(biāo)志 (可維護性、多用轉(zhuǎn)換性、重復(fù)使用性、可測試性)其他需求不屬于上述需求范圍的,但受到其他環(huán)境和商業(yè)合同影響的要求。 1. 國家或地區(qū)的任何特別的標(biāo)準(zhǔn) 2. 軟件使用界面的特別要求 3. 與知識產(chǎn)權(quán)有關(guān)的要求 4. 軟件所面對的市場和行業(yè)的規(guī)范 5. 客戶的特別要求 開發(fā)的局限對開發(fā)的成功與否起很大影響的因素,是開發(fā)能力的局限: 1. 人員的局限 2. 技術(shù)的制約和局限 3. 客戶的特別要求 表 5-1
18、需求分析告需求分析報告的編制方式可以是多樣的,例如把所有“非功能性需求”組織成“外部接口需求”、“質(zhì)量屬性需求”和“需求約束”。【如:圖5-2】圖 5-2 需求規(guī)格說明書 界面原型設(shè)計 明確了系統(tǒng)的關(guān)鍵需求后,就可以進行界面原型設(shè)計工作,獲取用戶的反饋,盡快確定產(chǎn)品的界面基調(diào)。同時要編寫一份界面設(shè)計概要文檔,作為后續(xù)的界面設(shè)計工作的指導(dǎo)。界面設(shè)計概要的內(nèi)容包括:o 設(shè)計的理念 o 理念的來源或參考 o 設(shè)計的要點 o 與類似產(chǎn)品界面的對比 架構(gòu)設(shè)計 架構(gòu)設(shè)計從關(guān)鍵需求開始,建立概念性的架構(gòu),并逐步細(xì)化和驗證。最終生成架構(gòu)設(shè)計說明書和架構(gòu)基線代碼。架構(gòu)設(shè)計的方法:可以從幾個不同的視角進行架構(gòu)設(shè)計
19、,然后匯總綜合得出完整的設(shè)計。(架構(gòu)設(shè)計的五個視圖【如:圖5-3】)圖 5-3 架構(gòu)設(shè)計的五視圖架構(gòu)設(shè)計說明書的內(nèi)容包括:概 述說明編寫的目的、適用范圍以及設(shè)計原則等。邏輯架構(gòu)關(guān)注功能。其設(shè)計著重考慮功能需求。 1. 細(xì)化功能單元 2. 發(fā)現(xiàn)通用機制 3. 細(xì)化領(lǐng)域模型 4. 確定子系統(tǒng)接口和交互機制 開發(fā)架構(gòu)關(guān)注程序包。其設(shè)計著重考慮開發(fā)期質(zhì)量屬性,如可擴展性、可重用性、可移植性、易理解性和易測試性等。 1. 確定要開發(fā)或直接利用的程序包之間的依賴關(guān)系 2. 確定采用的技術(shù)、框架等 數(shù)據(jù)架構(gòu)關(guān)注持久化數(shù)據(jù)的存儲方案。其設(shè)計著重考慮“數(shù)據(jù)需求”。 1. 持久化數(shù)據(jù)存儲方案 2. 數(shù)據(jù)傳遞、數(shù)據(jù)
20、復(fù)制、數(shù)據(jù)同步等策略 運行架構(gòu)關(guān)注進程、線程、對象等運行時概念,以及相關(guān)的并發(fā)、同步、通信等問題。其設(shè)計著重考慮運行期質(zhì)量屬性,例如性能、可伸縮性、持續(xù)可用性和安全性等。 1. 確定引入哪些進程與線程 2. 確定主動對象、被動對象,以及控制關(guān)系 3. 處理進程線程的創(chuàng)建、銷毀、通信機制、資源爭用等 4. 協(xié)議設(shè)計 物理架構(gòu)關(guān)注軟件系統(tǒng)最終如何安裝或部署到物理機器。其設(shè)計著重考慮“安裝和部署需求”。 1. 確定物理配置方案 2. 確定如何將目標(biāo)程序映射到物理節(jié)點 總 結(jié)基于上述的設(shè)計進行總結(jié),并描述架構(gòu)基線。表 5-2 架構(gòu)設(shè)計說明書架構(gòu)設(shè)計的另一個重要任務(wù)是編寫架構(gòu)基線代碼,基線代碼表述和驗證
21、架構(gòu),同時也是指導(dǎo)后續(xù)開發(fā)的基礎(chǔ)代碼。架構(gòu)基線代碼的內(nèi)容包括:o 所有工程項目 o 工程目錄結(jié)構(gòu) o 軟件包結(jié)構(gòu) o 導(dǎo)入所有依賴包 o 基礎(chǔ)公共代碼 o 架構(gòu)框架代碼 o 架構(gòu)框架示例代碼和測試代碼 o 數(shù)據(jù)庫框架 圖 5-4 和圖 5-5 展示了軟件架構(gòu)師的工作和成功的軟件架構(gòu)設(shè)計包含的內(nèi)容:圖 5-4 軟件架構(gòu)師的工作圖 5-5 成功的軟件架構(gòu)設(shè)計1 軟件構(gòu)建軟件可以分階段進行構(gòu)建,每個階段可以使用增量的方式開發(fā),用通過若干個Build構(gòu)建,最后發(fā)布階段性產(chǎn)品成果。(注意:在這里 ,名詞“階段”的含義和本文其他地方的含義不一樣) 階段計劃 構(gòu)建階段計劃的內(nèi)容包括:o 確定本階段要實現(xiàn)的功
22、能 o 列出階段任務(wù) o 計劃Build構(gòu)建數(shù)量 o 細(xì)化開發(fā)進度表中本階段的工作內(nèi)容 Build 構(gòu)建 詳見:下一節(jié) 階段產(chǎn)品發(fā)布 構(gòu)建階段完成后發(fā)布階段產(chǎn)品成果,向用戶展示并接受用戶反饋,同時做好階段總結(jié)。發(fā)布清單的內(nèi)容包括:o 產(chǎn)品版本號和日期 o 改正的Bug o 修改的功能 o 實現(xiàn)的新功能 o 其他說明 階段總結(jié)報告的內(nèi)容包括:o 階段任務(wù)的完成情況 o 進度計劃的執(zhí)行情況 o 用戶的反饋情況 o 本階段碰到的主要問題 o 下一階段的改進建議 2 Build 構(gòu)建Build構(gòu)建以增量的方式執(zhí)行階段的開發(fā)任務(wù),每個Build構(gòu)建的周期一般不超過兩星期,每一次Build構(gòu)建都會發(fā)布為一
23、個內(nèi)部版本,并提交測試。測試發(fā)現(xiàn)的問題留待以后的Build構(gòu)建解決。 Build計劃 Build計劃的內(nèi)容包括:o 本次Build的版本號o 本次Build的歷時o 本次Build的工作任務(wù) 要解決的遺留Bug 本應(yīng)由以前的Build實現(xiàn)的,但推遲到本次Build實現(xiàn)的功能 要實現(xiàn)的新功能 其他工作任務(wù) o 工作任務(wù)分配 需求細(xì)化 根據(jù)Build計劃,細(xì)化本次Build要實現(xiàn)的需求,細(xì)化到能進行詳細(xì)設(shè)計為止。有了細(xì)化的需求后就編寫本次Build的測試計劃。測試計劃的內(nèi)容包括:o 功能測試 要測試的功能 測試時間 測試方式 驗收標(biāo)準(zhǔn) o 其他測試(性能測試、邊界測試、使用界面測試、可用性測試、安
24、全性測試等) 要測試的內(nèi)容 測試時間 測試方式 驗收標(biāo)準(zhǔn) o 。 界面設(shè)計 根據(jù)細(xì)化的需求設(shè)計用戶界面,當(dāng)界面確定后即可編寫測試用例。測試用例的內(nèi)容包括:o 測試用例對應(yīng)的功能模塊o 測試用例的性質(zhì)(功能測試用例、性能測試用例、。) o 輸入(或操作步驟)o 期望輸出 o 實際輸出(執(zhí)行測試后再填寫)o 是否通過(執(zhí)行測試后再填寫) 詳細(xì)設(shè)計 詳細(xì)實際每項需求的實現(xiàn)方法,對于重要的設(shè)計決策、算法、公共模塊和外部接口等必須以模塊設(shè)計文檔的形式進行記錄。模塊設(shè)計文檔的內(nèi)容包括:o 模塊名稱 o 設(shè)計思想 o 設(shè)計圖表(類圖、流程圖等) o 要點描述(包、接口、類、方法、算法、設(shè)計模式) o 測試方
25、式 編碼、單元測試 編碼和單元測試是開發(fā)人員的工作,對于重要的代碼都必須進行單元測試,編寫代碼必須遵守下列準(zhǔn)則:o 遵守編碼規(guī)范 o 編碼前必須充分理解相關(guān)的需求o 編碼前先進行設(shè)計,把流程理順o 注意設(shè)計方法和設(shè)計模式的靈活運用 o 總體考慮問題,使代碼遵從架構(gòu)并容易測試o 設(shè)計時要充分考慮異常情況和臨界條件 o 嚴(yán)禁Copy-Paste,注意提取公共代碼,在編碼過程中實現(xiàn)重構(gòu)o 異常處理必須記錄日志,嚴(yán)禁草率地直接打印異常信息 o 靈活運用ASSERT() / VERIFY()等斷言來幫助調(diào)試程序o 單元測試是程序員的工作,所以編碼完成后必須對代碼嚴(yán)格測試 o 功能代碼完成后必須先做以下4
26、件事情: 編譯代碼,保證編譯通過 (不運行程序)對代碼進行全面檢查 用調(diào)試模式啟動程序,一行一行單步執(zhí)行代碼,并注意調(diào)試輸出 改變條件,讓代碼盡可能走遍所有程序分支 o Check In代碼前必須保證能編譯通過 創(chuàng)建Build 代碼集成發(fā)布前需凍結(jié)代碼,所有人把要提交的代碼Check In,并保證編譯后的程序能在測試服務(wù)器上正常啟動,界面能正常打開。同時還要提交Build清單。Build清單的內(nèi)容包括:o Build版本號和日期 o 改正的Bug o 修改的功能 o 實現(xiàn)的新功能 o 其他說明 集成測試 按照測試計劃針對Build清單執(zhí)行測試用例,測試完成后編寫測試報告。測試報告的內(nèi)容包括:o
27、 測試用例匯總(用例數(shù)量、通過的用例數(shù)量、未通過的用例數(shù)量等) o Bug匯總(Bug總數(shù)、新增Bug數(shù)量、關(guān)閉Bug數(shù)量、Bug趨勢圖表等)o 測試計劃執(zhí)行情況 o 測試總結(jié) 控制階段 圖 6-1 控制階段的任務(wù)和工件 風(fēng)險管理開發(fā)期間要對風(fēng)險進行監(jiān)控,定期檢查、更新和發(fā)布風(fēng)險列表。 質(zhì)量管理 1) 評審評審是質(zhì)量保證的重要環(huán)節(jié),原則上每個重要的工作任務(wù)或階段結(jié)束前都必須經(jīng)過評審,如:方案評審、計劃評審、需求評審、設(shè)計評審和代碼評審等,工作是否被通過、是否需要修改或重做均由評審結(jié)果決定,評審結(jié)果以評審報告的形式發(fā)布。評審報告的內(nèi)容包括:基本信息評審主題、時間、提交者、評審者等評審內(nèi)容評審內(nèi)容
28、的列表和簡述問答記錄評審過程中重要的問答記錄評審結(jié)論整個評審的結(jié)果,如: 1. 完全通過,無需修改 2. 基本通過,需要作小量修改,但不必再評審 3. 大體通過,需要作一些修改,之后再評審 4. 不通過,需要作大幅修改,之后必須重新評審 評審意見針對評審結(jié)論提出的意見和建議表 7-1 評審報告2) 測試測試是對被構(gòu)建產(chǎn)品最直接有效的質(zhì)量保證措施,測試結(jié)束后需要提交測試報告。 變更管理 開發(fā)過程中經(jīng)常會出現(xiàn)多種變更,如:需求變更、設(shè)計變更或人員變更等。這些變更通常會對開發(fā)進度造成影響,因此要對變更及其處理過程進行跟蹤,最后報告變更的處理結(jié)果。變更處理報告的內(nèi)容包括:基本信息變更主題、發(fā)生時間等詳
29、細(xì)信息變更的詳細(xì)描述變更處理變更的處理方式和步驟處理結(jié)果變更的處理結(jié)果變更影響變更對項目造成的影響表 7-2 變更處理報告 進度監(jiān)控 項目進度會議是了解項目實際進度的有效措施,在會議中評審工作報告,解決遇到的問題并計劃下一步工作:工作報告的內(nèi)容包括:1.1. 基本信息: 報告者、匯報時間、工作時間段等 2. 工作情況: 已完成的工作、未完成的工作 3. 遇到的問題:工作中碰到的阻礙 4. 工作計劃: 下一步的工作計劃 項目進度會議的另一個重要議題是審查進度表,了解項目實際進度與計劃進度的差異。為進度表調(diào)整和資源調(diào)配提供重要依據(jù)。 測量 在項目開發(fā)過程中,收集一些關(guān)鍵的測量,對了解項目狀態(tài)和進行
30、項目決策很有幫助,同時也為以后的項目提供歷史數(shù)據(jù)參考。每個測量都要生成測量報告并存檔。測量報告的內(nèi)容包括:1. 基本信息,包括測量主題、測量時間、測量者等2. 測量內(nèi)容和測量值 3. 測量分析 結(jié)束階段圖 7-1 控制階段的任務(wù)和工件 產(chǎn)品測試 因為產(chǎn)品即將驗收和發(fā)布,所以必須對產(chǎn)品進行完整測試,產(chǎn)品測試比其他測試要求更嚴(yán)格,當(dāng)產(chǎn)品的質(zhì)量達到發(fā)布的要求后才能發(fā)布。產(chǎn)品的質(zhì)量由測試報告體現(xiàn)。 RC版本發(fā)布 發(fā)布RC版本讓用戶體驗并收集反饋意見,為產(chǎn)品驗收作準(zhǔn)備。RC版本發(fā)布后,產(chǎn)品不應(yīng)該有大改動,一般只是界面的局部調(diào)整。 編制用戶文檔 針對不同的使用者角色,編制相應(yīng)的用戶文檔,對管理者用戶需要提
31、供安裝、維護指南,對普通用戶需要編制產(chǎn)品使用手冊。安裝、維護指南的內(nèi)容包括:1.1. 產(chǎn)品各組件的說明 2. 產(chǎn)品部署架構(gòu) 3. 安裝、配置和卸載等步驟 4. 啟動、停止和重啟等操作 5. 其它操作:日志、備份、還原等 產(chǎn)品使用手冊的內(nèi)容包括:1. 產(chǎn)品介紹 2. 各個功能的介紹 3. 通過實際案例介紹各個功能的使用方式和操作步驟 產(chǎn)品使用培訓(xùn) 對于為特定客戶開發(fā)的軟件產(chǎn)品,在發(fā)布前需要對用戶進行產(chǎn)品的使用培訓(xùn)。培訓(xùn)前需要部署好操作環(huán)境,編寫培訓(xùn)資料,然后組織培訓(xùn)會議。 產(chǎn)品驗收 對于為特定客戶開發(fā)的軟件產(chǎn)品,通常根據(jù)簽訂的開發(fā)合同和產(chǎn)品方案等條款逐項驗收,驗收時,用戶通常會執(zhí)行驗收測試案例。
32、 最后修訂 在產(chǎn)品驗收通過后,正式發(fā)布前對產(chǎn)品作最后的修訂,可能包括:1.1. 開發(fā)文檔修訂 2. 用戶文檔修訂 3. 代碼整理 正式版發(fā)布 正式版的發(fā)布標(biāo)志著開發(fā)階段的結(jié)束,產(chǎn)品從此時起進入維護階段,正式發(fā)布前可能要做一些準(zhǔn)備工作,如:數(shù)據(jù)遷移和環(huán)境配置等。 項目總結(jié) 項目結(jié)束后需要對整個項目開發(fā)階段的工作進行總結(jié),交流心得,吸取經(jīng)驗和教訓(xùn),并歸檔為項目總結(jié)報告。項目總結(jié)報告的內(nèi)容包括:1.1. 總體評價 2. 成本、收益匯總 3. 重要心得 4. 管理總結(jié) 5. 技術(shù)總結(jié) 總結(jié) 圖 8-1 項目階段軟件項目開發(fā)經(jīng)歷多個階段,每個階段包含多個任務(wù),每個任務(wù)會產(chǎn)生相應(yīng)的工件。需要相應(yīng)的質(zhì)量保證
33、措施對任務(wù)進行監(jiān)控,保證任務(wù)的執(zhí)行。任務(wù)完成后也需要對任務(wù)進行評審,保證任務(wù)的質(zhì)量。這些工作均由開發(fā)團隊和相關(guān)人員按照工作流程執(zhí)行。因此,合理的角色任務(wù)分配和溝通制度是軟件項目成功的重要保障。圖 8-2 列出幾種比較普遍的角色和任務(wù)劃分方案:圖 8-2 角色和任務(wù)劃分方案職責(zé)和角色不清楚往往是造成軟件項目團隊管理混亂的一個重要原因,一個好的軟件團隊必須根據(jù)團隊規(guī)模的不同和項目本身的特點對項目成員的角色和崗位進行明確的劃分,這樣團隊中的每個成員才可能有清晰的責(zé)任和目標(biāo)。軟件開發(fā)不管采用哪種生命周期模型和開發(fā)方法論,整個過程都會包含需求,設(shè)計,開發(fā),測試,配置管理等各項活動。而這些活動會對應(yīng)到項目
34、中的不同角色,項目中進行崗位劃分后每個崗位成員可以兼職多個角色。形成相關(guān)的角色崗位矩陣。方案一 項目負(fù)責(zé)人總覽全局對于小作坊的軟件開發(fā)團隊,可以由一個項目負(fù)責(zé)人總覽全局。項目負(fù)責(zé)人承擔(dān)從用戶需求-軟件需求-總體設(shè)計的所有工作。同時還需要做到整個團隊進度規(guī)劃,質(zhì)量保證,配置管理和溝通協(xié)調(diào)等相關(guān)工作。所以小型項目團隊對項目負(fù)責(zé)人的業(yè)務(wù),技術(shù)和溝通管理等技能都要求較高,項目負(fù)責(zé)人是項目中的總體方案確認(rèn)者和架構(gòu)師。項目負(fù)責(zé)人能力和技能往往決定了整個軟件項目的成敗。我們這里指的小型團隊并不是只一個人單打獨斗的項目,所以項目負(fù)責(zé)人最好不要介入到模塊設(shè)計和編碼活動中,而是應(yīng)該把重點放在進度的控制和質(zhì)量的保證上面。由于項目負(fù)責(zé)人一般有較強的技術(shù)能力,所以項目負(fù)責(zé)人可以承擔(dān)項目中要使用的一些新技術(shù)的研究,項目中一些疑難問題的解決等相關(guān)工作。項目負(fù)責(zé)人還應(yīng)該有計劃的設(shè)計開發(fā)人員的代碼進行Review,對發(fā)現(xiàn)的規(guī)范性,性能,復(fù)用差
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市2024-2025學(xué)年高二上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 數(shù)學(xué)-山東省濰坊市、臨沂市2024-2025學(xué)年度2025屆高三上學(xué)期期末質(zhì)量檢測試題和答案
- 2024甲乙雙方債務(wù)清償合同
- 2024年飯店股權(quán)轉(zhuǎn)讓合同范本一
- 2024建筑工程施工期間安全維護協(xié)議范本版B版
- 2024電力設(shè)施施工安全用電保障合同版B版
- 2025年度大棚蔬菜種植與農(nóng)業(yè)產(chǎn)業(yè)扶貧合作協(xié)議3篇
- 2024版勞務(wù)中介公司服務(wù)合同范本
- 2024童鞋品牌授權(quán)與獨家代理銷售合同3篇
- 2024版影視拍攝用高空吊籃臨時租賃合同2篇
- 營養(yǎng)學(xué)與健康
- 湖北高校畢業(yè)生就業(yè)協(xié)議書填寫格式說明樣表
- 江西省商品混凝土企業(yè)名錄
- 毒理學(xué)第三章化學(xué)毒物在體內(nèi)的生物轉(zhuǎn)運和生物轉(zhuǎn)化
- 企業(yè)年會活動抽獎滾動抽獎經(jīng)典創(chuàng)意高端模板課件
- 技術(shù)資料檢查評分表
- 國際森林日森林防火教育宣傳主題班會PPT模板
- 軸聯(lián)軸器離合器解析課件
- 一年級上學(xué)期語文期末試卷分析一年級上冊語文試卷
- C4支持學(xué)生創(chuàng)造性學(xué)習(xí)與表達作業(yè)1-設(shè)計方案
- 藥廠質(zhì)量管理部QA人員崗位設(shè)置表
評論
0/150
提交評論