版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程開發(fā)和管理規(guī)本文闡述軟件工程開發(fā)和管理的流程規(guī),作為軟件工程開發(fā)的高級指引,本規(guī)定義了軟 件開發(fā)的各個階段以與每個階段的工作活動和工件,但不對活動和工件的細(xì)節(jié)作過多規(guī)定。 在工程開發(fā)過程中,每個工程根據(jù)自身的需要確定這些活動和工件的細(xì)節(jié)。工程階段? 啟動階段這個階段的工作目的是決定一個工程是否需要啟動。為了到達(dá)這個目的,首先要明確項(xiàng) 目的總體戰(zhàn)略目標(biāo),對工程的需要建立認(rèn)同。即確定到底需要做什么、開發(fā)什么產(chǎn)品或提供 什么效勞,以與需要解決什么樣的問題和需要滿足客戶或市場的什么要求等,同時還要總結(jié) 工程工作的圍、所需資源、大約開支、各種風(fēng)險(xiǎn),以與該工程不執(zhí)行的其他替代選擇等。這 些代表了對
2、整個工程目標(biāo)從戰(zhàn)略角度和宏觀層次所進(jìn)展的分析,通過工程的意向書總結(jié)岀 來,由此確證客戶或工程發(fā)起人和贊助者的要求與期望,并幫助他們判定工程是否上馬。項(xiàng) 目意向總結(jié)書的通過與工程被批準(zhǔn)上馬形成了這個工程的起始點(diǎn)。? 方案階段這個階段的工作是為整個工程做方案。工程開場后,首先要確定工程的具體圍,明確定 出工程到底要做什么,總結(jié)、歸納并定出產(chǎn)品的功能。然后進(jìn)一步制定工程的方案,列出每 項(xiàng)具體工作,并建立所有工作任務(wù)的重要性與順序;確定每項(xiàng)工作的執(zhí)行人和所需資源;根 據(jù)人員的配置和能力設(shè)定各項(xiàng)工作和整個工程的完成時間表。? 執(zhí)行階段這個階段的工作是通過執(zhí)行工程的方案來完成工程的任務(wù)。它包括落實(shí)一切所需
3、資源, 如:人員、設(shè)備、費(fèi)用、技術(shù)、信息,由管理者領(lǐng)導(dǎo)全體工程參與者開展各項(xiàng)工作。同時跟 蹤各項(xiàng)具體工作和整個工程的進(jìn)度,定期向全體工程人員與工程的發(fā)起人報(bào)告工程狀態(tài)。? 控制階段這個階段的工作是確證工程工作的結(jié)果符合工程的方案。它通過對工程結(jié)果的衡量和審 核,與工程方案所期望的結(jié)果進(jìn)展比較,找出實(shí)際結(jié)果與方案的差異,并制定處理措施。這 個階段的工作還包括對工程進(jìn)程中岀現(xiàn)的任何更改要求進(jìn)展審核和批準(zhǔn)。同時調(diào)解工程進(jìn)程 中岀現(xiàn)的各種問題,如:對缺乏的資源的補(bǔ)償調(diào)節(jié);對工程的進(jìn)度表與各項(xiàng)具體工作的優(yōu)先 級或順序的修訂。? 完畢階段這個階段的工作是確保工程的最終結(jié)果或提交物到達(dá)方案的要求,并對完成的
4、結(jié)果作可 承受確實(shí)認(rèn)。還包括在工程完成之后的收尾工作,對整個工程的經(jīng)歷進(jìn)展總結(jié),修訂工程文 檔,用戶培訓(xùn)等。階段完成標(biāo)志在工程開發(fā)過程中,當(dāng)一個階段完成后才會開展下一個階段的工作;另外,“某個階段 完成'通常被定義為工程的一個里程碑,里程碑標(biāo)識了工程的進(jìn)度,它是工程開發(fā)和控制的 重要參考,對整個工程有重要的意義。因此,“確證某個階段是否已經(jīng)完成"的工作非常有 重要。? 每一個階段的完畢以它特定任務(wù)的完成為象征只有當(dāng)某個階段中被規(guī)定的所有工作任務(wù)都完成了,這個階段才算真正完畢,整個工程 才可以進(jìn)入到下一個階段中去。反過來說,要是階段中某個任務(wù)沒有全部完成,按照工程的 定義,整個
5、階段就不能算是完成,因此工程就不能進(jìn)入到下一個階段去。? 衡量階段完畢的工作結(jié)果必須是實(shí)在的交付品階段中的任務(wù)是否完成是透過任務(wù)活動中產(chǎn)生的交付品來表達(dá)的,交付品必須是可交付 的、非抽象的、實(shí)質(zhì)的并且可以通過用衡量的方法來判斷是否真正地完成了的具體事物。 如:某一階段的完成是以建造一個樣品或完成某分文件作為象征。任何工程階段的完畢,都 應(yīng)該有這樣的實(shí)質(zhì)性東西的完成作為象征。? 跨階段的進(jìn)程以階段結(jié)尾的合格驗(yàn)證和審核來決定當(dāng)一個階段完畢時,在進(jìn)入到下一個階段之前所需要做的工作應(yīng)包括對交付品進(jìn)展合格 驗(yàn)證,并檢查這一階段的工作質(zhì)量和效率,由此判斷是否可以進(jìn)入到下一個階段。這些檢驗(yàn) 象征了一個階段的
6、結(jié)尾終點(diǎn),表示工程的進(jìn)程離開了上一個階段而進(jìn)入了下一個階段。啟動階段圖3-1啟動階段的任務(wù)和工件?產(chǎn)品領(lǐng)域研究研究產(chǎn)品所在領(lǐng)域的狀況,為工程論證提供依據(jù)。研究容包括:0 產(chǎn)品領(lǐng)域的現(xiàn)狀和前景0 產(chǎn)品領(lǐng)域的商業(yè)模式和業(yè)務(wù)流程0 產(chǎn)品的價值和盈利空間0 產(chǎn)品的特性和復(fù)雜度?技術(shù)可行性研究研究產(chǎn)品的實(shí)現(xiàn)技術(shù),總結(jié)技術(shù)可行性。研究容包括:00 類似產(chǎn)品的當(dāng)前實(shí)現(xiàn)技術(shù)和技術(shù)趨勢0 實(shí)現(xiàn)技術(shù)的候選方案0 各個方案的優(yōu)點(diǎn)、本錢和風(fēng)險(xiǎn)0 開發(fā)團(tuán)隊(duì)與實(shí)現(xiàn)技術(shù)的匹配情況?工程論證基于商業(yè)和技術(shù)等方面對工程的可行性進(jìn)展論證,確定工程是否開展。如果開展工程, 那么進(jìn)一步論證工程的總體方案。論證的容包括:o 商業(yè)可行性
7、o 技術(shù)可行性o 當(dāng)前產(chǎn)品與類似產(chǎn)品的比較o 工程收益和前景o 工程的本錢和風(fēng)險(xiǎn)o 工程的總體方案?確定工程目標(biāo)和圍工程開場時,所有相關(guān)人員必須對工程的目標(biāo)和圍達(dá)成共識,形成共同的工程愿景。并 把愿景表達(dá)為?工程開發(fā)大綱?向相關(guān)人員傳達(dá)。?工程開發(fā)大綱?的容包括:用三到五圖表來描述產(chǎn)品目標(biāo)、功能、平臺、客戶、進(jìn)度表和開發(fā)職責(zé)能用一個段落來綜述產(chǎn)品,再用一個段落來描述每個重要的功能的功能用一個段落來描述每個對產(chǎn)品有用的但本工程不實(shí)現(xiàn)的功能用一個段落來明確每個重要的涉眾群體和他們的風(fēng)險(xiǎn)股本求用一個段落來講述每個重要的工程需求險(xiǎn)按風(fēng)險(xiǎn)暴露量對每個重要的工程風(fēng)險(xiǎn)都用一個段落來討論報(bào)用一個段落綜述產(chǎn)品的
8、回報(bào),其后再對每個重要的工程回報(bào)都用一個段落來用一到三個段落將上述所有局部聯(lián)系起來,明確工程的需求和風(fēng)險(xiǎn),再用論 據(jù)來總結(jié)為什么這個工程會成功表3-1工程開發(fā)大綱方案階段汁劃階段圖4-1方案階段的任務(wù)和工件?規(guī)模、工作量評估圍繞各項(xiàng)方案的制定工作對工程的規(guī)模、工作量等進(jìn)展評估,評估的容包括:00 模塊數(shù)量與復(fù)雜度0 輸入、輸岀和對外接口等數(shù)量與復(fù)雜度0 SLOC和功能點(diǎn)0 非生產(chǎn)性的支持工作量0 開發(fā)工作量人月0 進(jìn)度與里程碑0 進(jìn)度風(fēng)險(xiǎn)?定制工程開發(fā)方案工程開發(fā)方案表達(dá)了工程組對整個開發(fā)周期的預(yù)期,指定了工程開發(fā)的總體方針。與其 他方案一樣,工程開發(fā)方案不是固定不變的,在執(zhí)行過程中要對方案進(jìn)
9、展監(jiān)控,可能會根據(jù) 實(shí)際情況修改方案并重新發(fā)布。?工程開發(fā)方案?的容包括:用三到五圖表來描述產(chǎn)品目標(biāo)、功能、平臺、客戶、進(jìn)度表和開發(fā)職責(zé)?工程開發(fā)方案?的概述局部應(yīng)該是?工程開發(fā)大綱?中概述局部的拷貝。當(dāng)工程方案改變時,修訂?工程開發(fā)方案?的概述局部而不是修訂?工程開發(fā)大綱?。這樣,以后在進(jìn)展工程 評價時,通過比較? 工程開發(fā)大綱?和?工程開發(fā)方案?的概述,就能看岀工程是如何改變的咼級功能用一到五頁的篇幅來概述產(chǎn)品的功能,其中,要包括這些功能的附加信息開發(fā) 者需要這樣的信息來了解實(shí)現(xiàn)需求。工程成員確定軟件工程職能角色,以與分配到這些角色的人員數(shù)量。軟件過程概述這個工程中所應(yīng)用的軟件過程。具體容
10、可在? 質(zhì)量保證方案?中定義軟件工程方法概述這個工程中所應(yīng)用的軟件工程方法和技術(shù)。具體容可在? 質(zhì)量保證方案?中定義進(jìn)度和工作量這一局部要表達(dá)出整個工程進(jìn)度和工作量的估計(jì)。其中要包括:?對固定不變的里程碑和同步點(diǎn)的解釋?在評估中的設(shè)想情況、評估中的不準(zhǔn)確性的可能來源?隨著工程的進(jìn)展如何更新評估具體進(jìn)度表容可在? 開發(fā)進(jìn)度表?中定義風(fēng)險(xiǎn)管理方案概述這個工程中風(fēng)險(xiǎn)管理方案。具體容可在?風(fēng)險(xiǎn)管理方案?中定義測量概述這個工程中要收集的測量。軟件工具列出要使用的每一項(xiàng)軟件工具,以與該工具所支持的任務(wù)。工程支持硬件支持 明確所需的硬件,包括那些需要移動、獲取或升級的硬件。 軟件支持 明確所需的軟件,包括需
11、要獲取、安裝或升級的軟件件。 人力支持由哪個人、部門或團(tuán)隊(duì)為開發(fā)組的哪項(xiàng)任務(wù)提供支持。表4-1工程開發(fā)方案?定制風(fēng)險(xiǎn)管理方案風(fēng)險(xiǎn)管理任務(wù)包括:風(fēng)險(xiǎn)識別、風(fēng)險(xiǎn)分析、確定風(fēng)險(xiǎn)優(yōu)先級、定制風(fēng)險(xiǎn)化解方案、風(fēng)險(xiǎn) 化解和風(fēng)險(xiǎn)監(jiān)控【如:圖4-2】。玄“祐魚川屁fi at分析 w_兩斑您桁鯉G丄 獅t右遼枷詢杞此陽鎰?chuàng){II Hej 1 川M區(qū)別析險(xiǎn)優(yōu)先級 險(xiǎn)化解方案這局部的容是描述風(fēng)險(xiǎn)化圖4-2風(fēng)險(xiǎn)管理任務(wù)?風(fēng)險(xiǎn)管理方案?定義這些任務(wù)的執(zhí)行流程和人員分配。?風(fēng)險(xiǎn)管理方案?的容包括:用文字和圖表概述風(fēng)險(xiǎn)管理任務(wù)的總體執(zhí)行流程。詳細(xì)說明“風(fēng)險(xiǎn)識別任務(wù)的實(shí)施細(xì)節(jié)和各項(xiàng)工作的負(fù)責(zé)人。詳細(xì)說明“風(fēng)險(xiǎn)分析任務(wù)的實(shí)施細(xì)節(jié)和
12、各項(xiàng)工作的負(fù)責(zé)人。詳細(xì)說明“確定風(fēng)險(xiǎn)優(yōu)先級任務(wù)的實(shí)施細(xì)節(jié)和各項(xiàng)工作的負(fù)責(zé)人。 詳細(xì)說明“定制風(fēng)險(xiǎn)處理方案任務(wù)的實(shí)施細(xì)節(jié)和各項(xiàng)工作的負(fù)責(zé)人。 當(dāng)風(fēng)險(xiǎn)發(fā)生時,需要采取相應(yīng)的措施化解風(fēng)險(xiǎn)。作的操作規(guī)和流程。詳細(xì)說明風(fēng)險(xiǎn)監(jiān)控任務(wù)的實(shí)施細(xì)節(jié)和各項(xiàng)工作的負(fù)責(zé)人。表4-2風(fēng)險(xiǎn)管理方案本周的排名如果本周已被完全化解用“-表示上周排名如果是新識別的風(fēng)險(xiǎn)用“-表示該風(fēng)險(xiǎn)已上表的周數(shù)風(fēng)險(xiǎn)的名稱或簡述風(fēng)險(xiǎn)類型只針對進(jìn)度相關(guān)的風(fēng)險(xiǎn):名 名 數(shù)風(fēng)險(xiǎn)管理常會用到?Top N風(fēng)險(xiǎn)列表?,風(fēng)險(xiǎn)列表按照風(fēng)險(xiǎn)暴露量排序列岀當(dāng)前項(xiàng) 目中主要的N個風(fēng)險(xiǎn),?Top N風(fēng)險(xiǎn)列表?的容包括:o方案編制o組織和管理 o設(shè)計(jì)和實(shí)現(xiàn) o客戶和需求
13、 o 承包商o 產(chǎn)品o 人員o過程o技術(shù)o 外部環(huán)境o開發(fā)環(huán)境率度案度風(fēng)險(xiǎn)發(fā)生的百分比概率風(fēng)險(xiǎn)發(fā)生時損失的進(jìn)度工作日或工作周發(fā)生概率X損失程度風(fēng)險(xiǎn)的當(dāng)前狀態(tài):未發(fā)生、已發(fā)生、已化解簡述風(fēng)險(xiǎn)的化解方案,如果有具體的化解方案文檔那么到相應(yīng)文檔 對已發(fā)生的風(fēng)險(xiǎn),簡述化解進(jìn)度未發(fā)生的風(fēng)險(xiǎn)用“-表示表4-3風(fēng)險(xiǎn)列表?定制質(zhì)量保證方案保證工作質(zhì)量的一個重要步驟是制定一套合理的質(zhì)量保證方案并貫徹執(zhí)行。?質(zhì)量保證方案?的容包括:說明編寫的目的、適用圍以與對相關(guān)人員的要求等 詳細(xì)說明這個工程中所應(yīng)用的軟件過程。程方法詳細(xì)說明這個工程中所應(yīng)用的軟件工程方法和技術(shù)。對工程方法中的各種工作任務(wù)進(jìn)展規(guī),明確執(zhí)行的時機(jī)、
14、流程和準(zhǔn)那么 這些工作任務(wù)包括:常規(guī)開發(fā)活動 需求分析、架構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測試、發(fā)布和實(shí)施等 會議工作例會、進(jìn)度會議、審查會議等評審方案評審、技術(shù)評審、質(zhì)量評審等測量產(chǎn)品規(guī)模測量、進(jìn)度測量、缺陷率測量、測試覆蓋率測量等其他活動技能培訓(xùn)、資料收集、部流、客戶溝通等表4-4 工作規(guī)?定制開發(fā)進(jìn)度方案基于當(dāng)前對工程的規(guī)模和工作量評估,定制初步的開發(fā)進(jìn)度表,作為工程開發(fā)方案的組 成局部。?開發(fā)進(jìn)度表?的容包括:oo 工程的開場和完畢時間o 工程各個階段的開場和完畢時間o 每個階段的工作任務(wù)與其開場和完畢時間o 每個工作任務(wù)的子任務(wù)的與其開場和完畢時間o 里程碑和同步點(diǎn)o 角色的定義和任務(wù)分配作
15、為跟蹤工程進(jìn)度的重要依據(jù),進(jìn)度表在工程推進(jìn)過程中需要不斷細(xì)化。另外,當(dāng)實(shí)際 進(jìn)度與方案進(jìn)度出現(xiàn)偏差時,需要修改進(jìn)度表并重新發(fā)布。執(zhí)行階段I需求分棲階段一執(zhí)行階段架絢設(shè)計(jì)X、軟件構(gòu)建軟件構(gòu)建許段方案 卜*彳舟迪也鞫盤iH 甘価1曲癡 八bum卜*畸段嚴(yán)斗】階段總I階段訊金毀方案卜權(quán)Bidli Kl圖5-1執(zhí)行階段的任務(wù)和工件?需求分析分析產(chǎn)品的關(guān)鍵需求、對架構(gòu)設(shè)計(jì)有影響的需求和風(fēng)險(xiǎn)較高的需求,直到分析的程度能 開展足界面原型設(shè)計(jì)和架構(gòu)設(shè)計(jì)工作。?需求規(guī)格說明書?的容包括:業(yè)務(wù)需從商業(yè)或業(yè)務(wù)角度宏觀上對產(chǎn)品或系統(tǒng)的要求。它主要在宏觀的層面歸納總 足客戶提出的要求或贏得市場競爭所必須實(shí)現(xiàn)的功能、性能
16、、質(zhì)量等要求。1. 做什么2. 做的圍3. 對結(jié)果的要求需求從客戶對軟件產(chǎn)品或系統(tǒng)使用方案的角度出發(fā),描述和總結(jié)使用者利用該軟需求或系統(tǒng)能夠做的事或能夠完成的任務(wù)。+根據(jù)上述使用者需求列出的使用方案,列出開發(fā)者必須為軟件產(chǎn)品或系統(tǒng)實(shí)1. 運(yùn)行速度、容量、并發(fā)性能2. 對資源的利用率3. 對外界輸入的反響速度和準(zhǔn)確性4. 對過失的負(fù)荷能力o必須適應(yīng)的運(yùn)行環(huán)境的要求包括運(yùn)行平臺、網(wǎng)絡(luò)與其他硬件要求o與其他系統(tǒng)兼容的要求包括與操作系統(tǒng)、數(shù)據(jù)庫、瀏覽器與其他應(yīng)件的兼容要求o與外部其他系統(tǒng)和組件的接口要求o對用戶重要的質(zhì)量標(biāo)志可靠性、效率性、靈活性、平安性、互操作穩(wěn)定性、健全性、可用性o對開發(fā)者重要的質(zhì)
17、量標(biāo)志可維護(hù)性、多用轉(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需求分析告?需求分析報(bào)告?的編制方式可以是多樣的,例如把所有“非功能性需求'組織成“外 部接口需求"、“質(zhì)量屬性需求"和“需求約束"?!救纾簣D5-2】£1的 伍也/麗常卜|元瓦縮丐風(fēng)略誡卅
18、例欖電需耒槪逐"卜用制豈與嗟用戶按門此化按y_ 抉件接【1通信按口性能11用曲平安性 可織護(hù)性嚴(yán)煩遵守的標(biāo)準(zhǔn)用例揃述 軟件需求規(guī)格說明I?外郵按盂求彳具體需求卜Jft量屬性滯求設(shè)il和倔圖4i圖5-2需求規(guī)格說明書?界面原型設(shè)計(jì)明確了系統(tǒng)的關(guān)鍵需求后,就可以進(jìn)展界面原型設(shè)計(jì)工作,獲取用戶的反響,盡快確定 產(chǎn)品的界面基調(diào)。同時要編寫一份?界面設(shè)計(jì)概要?文檔,作為后續(xù)的界面設(shè)計(jì)工作的指 導(dǎo)。?界面設(shè)計(jì)概要?的容包括:o 設(shè)計(jì)的理念o 理念的來源或參考o(jì) 設(shè)計(jì)的要點(diǎn)o 與類似產(chǎn)品界面的比照?架構(gòu)設(shè)計(jì)架構(gòu)設(shè)計(jì)從關(guān)鍵需求開場,建立概念性的架構(gòu),并逐步細(xì)化和驗(yàn)證。最終生成架構(gòu)設(shè)計(jì) 說明書和架構(gòu)基
19、線代碼。架構(gòu)設(shè)計(jì)的方法:可以從幾個不同的視角進(jìn)展架構(gòu)設(shè)計(jì),然后匯總綜合得岀完整的設(shè) 計(jì)。架構(gòu)設(shè)計(jì)的五個視圖【如:圖5-3】架構(gòu)設(shè)計(jì)的五視圏r運(yùn)行鑒構(gòu)卜輸削嗣卜匕汕1代口石Ft:壯假設(shè)重占連盟掘需卑3丄散出梨枸川E衣用和數(shù)據(jù)說罔表示斜'址'邏紺架輸灶益 Mirt訂mb出 空仝性打吐翌墮強(qiáng) 頁誕劇麗 捉供fi也樣的眼務(wù)瓷注白是廳為或眠査的劃井撲化化出護(hù)的存比X 掘鋸裱就幡成髓豔缶謹(jǐn) 紐邊際胡丄尢注栽件血何安裝戍卅:耳亍im曙部黑機(jī)壽報(bào)轉(zhuǎn)給配皆軼侔蔡域的可靠性,可悼堀性 販視口犠輕序的靜質(zhì)位豎何豊石麗個亦 親疋3扁 閔石 利場響邙首蛍舞嚼寶轉(zhuǎn)和粋?cè)枨?關(guān)注點(diǎn)足敬件陽冃標(biāo)單朮如何嶽時
20、到鎖件閃惻縮惟 応可川壓 ttiit±rt匚小1 凡廣也 援供輔血妙旄模從E們可離址題料肉叨陡塢塊川翼及汴"星輕鯉I理妙1也踐 茨曲辿程,線糠T對取鳴運(yùn)行時概怎珈井跖啊步,城苗等冋嚨 鴨呎榨序包朮輸譯時卿的禪命依雜X;條鰲塹戔曲開童 期須嵌性VMit犬辻點(diǎn)軟件橡墀 ,生秫爼觀方代L k$埠解惟捌試牲譚榨庠文件EHAft據(jù)胖呼包鳳成柞玄,誨坤J®軻捉僉喘盼到評序心r. : F州H譯后目標(biāo)對 處方片幻t 也H;發(fā)架構(gòu)圖5-3架構(gòu)設(shè)計(jì)的五視圖說明編寫的目的、適用圍以與設(shè)計(jì)原那么等。關(guān)注功能。其設(shè)計(jì)著重考慮功能需求。1. 細(xì)化功能單元2. 發(fā)現(xiàn)通用機(jī)制3. 細(xì)化領(lǐng)域模型4
21、. 確定子系統(tǒng)接口和交互機(jī)制關(guān)注程序包。其設(shè)計(jì)著重考慮開發(fā)期質(zhì)量屬性,如可擴(kuò)展性、可重用性、可移 易理解性和易測試性等。1. 確定要開發(fā)或直接利用的程序包之間的依賴關(guān)系2. 確疋米用的技術(shù)、框架等關(guān)注持久化數(shù)據(jù)的存儲方案。其設(shè)計(jì)著重考慮“數(shù)據(jù)需求。1. 持久化數(shù)據(jù)存儲方案2. 數(shù)據(jù)傳遞、數(shù)據(jù)復(fù)制、數(shù)據(jù)同步等策略關(guān)注進(jìn)程、線程、對象等運(yùn)行時概念,以與相關(guān)的并發(fā)、同步、通信等問題。 著重考慮運(yùn)行期質(zhì)量屬性,例如性能、可伸縮性、持續(xù)可用性和平安性等。1. 確定引入哪些進(jìn)程與線程2. 確定主動對象、被動對象,以與控制關(guān)系3. 處理進(jìn)程線程的創(chuàng)立、銷毀、通信機(jī)制、資源爭用等4. 協(xié)議設(shè)計(jì)關(guān)注軟件系統(tǒng)最終
22、如何安裝或部署到物理機(jī)器。其設(shè)計(jì)著重考慮“安裝和部署 求。1. 確定物理配置方案2. 確定如何將目標(biāo)程序映射到物理節(jié)點(diǎn)基于上述的設(shè)計(jì)進(jìn)展總結(jié),并描述架構(gòu)基線。?架構(gòu)設(shè)計(jì)說明書?的容包括:構(gòu)構(gòu)構(gòu)構(gòu)構(gòu)表5-2架構(gòu)設(shè)計(jì)說明書架構(gòu)設(shè)計(jì)的另一個重要任務(wù)是編寫架構(gòu)基線代碼,基線代碼表述和驗(yàn)證架構(gòu),同時也是 指導(dǎo)后續(xù)開發(fā)的根底代碼。架構(gòu)基線代碼的容包括:所有工程工程工程目錄結(jié)構(gòu)軟件包結(jié)構(gòu)導(dǎo)入所有依賴包根底公共代碼架構(gòu)框架代碼架構(gòu)框架例如代碼和測試代碼數(shù)據(jù)庫框架圖5-4 和圖5-5展示了軟件架構(gòu)師的工作和成功的軟件架構(gòu)設(shè)計(jì)包含的容:軟件系統(tǒng)的分解毎個模塊的接口如何過義 檢塊閭來用何種殳氐機(jī)制咖何滿足約康和顧跌
23、同性的帚 如何適卩電川徒發(fā)工的變化軟件架構(gòu)師的工作規(guī)劃系統(tǒng)的組成劃分不同的子系統(tǒng)每個子系統(tǒng)縻也相對獨(dú)立的子系統(tǒng)閭通過轉(zhuǎn)定的交耳#UI滿足系統(tǒng)各方面的需求嗣蛇性陡.持媒咼川性的需求 逍螢匚丁 HL叮章川t的五京 鶴足妁束FB制的需求深入硏究開發(fā).迄if期冊的情況圖5-4軟件架構(gòu)師的工作e好的模塊化I、持代化數(shù)據(jù)白儲方*、EI好的規(guī)劃數(shù)増卜蘇軸篥£"I數(shù)躬時歩誰暉 可移IfltL筑略°.可伸縮性最略U朝輔f靈活的涼嘉規(guī)感H持茲亦用由膈無操榨兀嘗南_圖5-5成功的軟件架構(gòu)設(shè)計(jì)1軟件構(gòu)建軟件可以分階段進(jìn)展構(gòu)建,每個階段可以使用增量的方式開發(fā),用通過假設(shè)干個Build構(gòu)建,
24、最后發(fā)布階段性產(chǎn)品成果。注意:在這里,名詞“階段的含義和本文其他地方的含義不一樣?階段方案構(gòu)建階段方案的容包括:o 確定本階段要實(shí)現(xiàn)的功能o 列岀階段任務(wù)o 方案Build構(gòu)建數(shù)量o 細(xì)化?開發(fā)進(jìn)度表?中本階段的工作容? Build 構(gòu)建詳見:下一節(jié)?階段產(chǎn)品發(fā)布構(gòu)建階段完成后發(fā)布階段產(chǎn)品成果,向用戶展示并承受用戶反響,同時做好階段總結(jié)?發(fā)布清單?的容包括:o產(chǎn)品版本號和日期o 改正的Bug0 修改的功能0實(shí)現(xiàn)的新功能0其他說明?階段總結(jié)報(bào)告?的容包括:0 階段任務(wù)的完成情況0 進(jìn)度方案的執(zhí)行情況0 用戶的反響情況0 本階段碰到的主要問題0 下一階段的改進(jìn)建議2 Build 構(gòu)建Build構(gòu)建
25、以增量的方式執(zhí)行階段的開發(fā)任務(wù),每個Build構(gòu)建的周期一般不超過兩星期,每一次Build構(gòu)建都會發(fā)布為一個部版本,并提交測試。測試發(fā)現(xiàn)的問題留待以后的Build構(gòu)建解決。Build方案?Build方案?的容包括:0 本次Build的版本號0 本次Build的歷時0 本次Build的工作任務(wù)? 要解決的遺留Bug? 本應(yīng)由以前的Build實(shí)現(xiàn)的,但推遲到本次Build實(shí)現(xiàn)的功能? 要實(shí)現(xiàn)的新功能? 其他工作任務(wù)0 工作任務(wù)分配?需求細(xì)化根據(jù)?Build方案?,細(xì)化本次Build要實(shí)現(xiàn)的需求,細(xì)化到能進(jìn)展詳細(xì)設(shè)計(jì)為止。有了細(xì)化的需求后就編寫本次Build的測試方案?測試方案?的容包括:o 功能測
26、試? 要測試的功能? 測試時間? 測試方式? 驗(yàn)收標(biāo)準(zhǔn)o 其他測試性能測試、邊界測試、使用界面測試、可用性測試、平安性測試等? 要測試的容? 測試時間? 測試方式? 驗(yàn)收標(biāo)準(zhǔn)0O OOOOO?界面設(shè)計(jì)根據(jù)細(xì)化的需求設(shè)計(jì)用戶界面,當(dāng)界面確定后即可編寫測試用例。?測試用例?的容包括:0 測試用例對應(yīng)的功能模塊0 測試用例的性質(zhì)功能測試用例、性能測試用例、。OOOOO0 輸入或操作步驟0 期望輸出0 實(shí)際輸岀執(zhí)行測試后再填寫0 是否通過執(zhí)行測試后再填寫?詳細(xì)設(shè)計(jì)詳細(xì)實(shí)際每項(xiàng)需求的實(shí)現(xiàn)方法,對于重要的設(shè)計(jì)決策、算法、公共模塊和外部接口等必 須以模塊設(shè)計(jì)文檔的形式進(jìn)展記錄。?模塊設(shè)計(jì)文檔?的容包括:0
27、模塊名稱0 設(shè)計(jì)思想0 設(shè)計(jì)圖表類圖、流程圖等0 要點(diǎn)描述包、接口、類、方法、算法、設(shè)計(jì)模式0 測試方式?編碼、單元測試編碼和單元測試是開發(fā)人員的工作,對于重要的代碼都必須進(jìn)展單元測試,編寫代碼必 須遵守以下準(zhǔn)那么:0 遵守編碼規(guī)o 編碼前必須充分理解相關(guān)的需求o 編碼前先進(jìn)展設(shè)計(jì),把流程理順o 注意設(shè)計(jì)方法和設(shè)計(jì)模式的靈活運(yùn)用o 總體考慮問題,使代碼遵從架構(gòu)并容易測試o 設(shè)計(jì)時要充分考慮異常情況和臨界條件o 嚴(yán)禁Copy-Paste,注意提取公共代碼,在編碼過程中實(shí)現(xiàn)重構(gòu)o 異常處理必須記錄日志,嚴(yán)禁草率地直接打印異常信息o 靈活運(yùn)用ASSERT() / VERIFY()等斷言來幫助調(diào)試程序
28、o 單元測試是程序員的工作,所以編碼完成后必須對代碼嚴(yán)格測試o 功能代碼完成后必須先做以下4件事情:? 編譯代碼,保證編譯通過?不運(yùn)行程序?qū)Υa進(jìn)展全面檢查? 用調(diào)試模式啟動程序,一行一行單步執(zhí)行代碼,并注意調(diào)試輸出? 改變條件,讓代碼盡可能走遍所有程序分支o Check In代碼前必須保證能編譯通過? 創(chuàng)立Build代碼集成發(fā)布前需凍結(jié)代碼,所有人把要提交的代碼Check In,并保證編譯后的程序能在測試效勞器上正常啟動,界面能正常翻開。同時還要提交Build清單。?Build清單?的容包括:o Build版本號和日期o 改正的Bugo 修改的功能o 實(shí)現(xiàn)的新功能o 其他說明?集成測試按照?
29、測試方案?針對? Build清單?執(zhí)行?測試用例?,測試完成后編寫測試報(bào)告。?測試報(bào)告?的容包括:o 測試用例匯總用例數(shù)量、通過的用例數(shù)量、未通過的用例數(shù)量等o Bug匯總Bug總數(shù)、新增Bug數(shù)量、關(guān)閉Bug數(shù)量、Bug趨勢圖表等o 測試方案執(zhí)行情況o 測試總結(jié)控制階段風(fēng)險(xiǎn)管理丿控制階段)b斑險(xiǎn)列表質(zhì)量管理)£變更管理 砰審報(bào)告 變更磁理報(bào)告|、 工作報(bào)甘E 測星報(bào)告圖6-1控制階段的任務(wù)和工件? 風(fēng)險(xiǎn)管理開發(fā)期間要對風(fēng)險(xiǎn)進(jìn)展監(jiān)控,定期檢查、更新和發(fā)布?風(fēng)險(xiǎn)列表?。? 質(zhì)量管理1評審評審是質(zhì)量保證的重要環(huán)節(jié),原那么上每個重要的工作任務(wù)或階段完畢前都必須經(jīng)過評 審,如:方案評審、方案
30、評審、需求評審、設(shè)計(jì)評審和代碼評審等,工作是否被通過、是否 需要修改或重做均由評審結(jié)果斷定,評審結(jié)果以?評審報(bào)告?的形式發(fā)布。?評審報(bào)告?的容包括:評審主題、時間、提交者、評審者等評審容的列表和簡述評審過程中重要的問答記錄整個評審的結(jié)果,如:1. 完全通過,無需修改2. 根本通過,需要作小量修改,但不必再評審3. 大體通過,需要作一些修改,之后再評審4. 不通過,需要作大幅修改,之后必須重新評審評審意見針對評審結(jié)論提出的意見和建議表7-1評審報(bào)告2測試測試是對被構(gòu)建產(chǎn)品最直接有效的質(zhì)量保證措施,測試完畢后需要提交?測試報(bào)告?。? 變更管理開發(fā)過程中經(jīng)常會出現(xiàn)多種變更,如:需求變更、設(shè)計(jì)變更或人
31、員變更等。這些變更通 常會對開發(fā)進(jìn)度造成影響,因此要對變更與其處理過程進(jìn)展跟蹤,最后報(bào)告變更的處理結(jié) 果。?變更處理報(bào)告?的容包括:變更主題、發(fā)生時間等變更的詳細(xì)描述變更的處理方式和步驟變更的處理結(jié)果變更對工程造成的影響表7-2變更處理報(bào)告? 進(jìn)度監(jiān)控工程進(jìn)度會議是了解工程實(shí)際進(jìn)度的有效措施,在會議中評審工作報(bào)告,解決遇到的問 題并方案下一步工作:?工作報(bào)告?的容包括:1.1. 根本信息: 報(bào)告者、匯報(bào)時間、工作時間段等2. 工作情況:已完成的工作、未完成的工作3. 遇到的問題:工作中碰到的阻礙4. 工作方案:下一步的工作方案工程進(jìn)度會議的另一個重要議題是審查進(jìn)度表,了解工程實(shí)際進(jìn)度與方案進(jìn)度
32、的差異。 為進(jìn)度表調(diào)整和資源調(diào)配提供重要依據(jù)。? 測量在工程開發(fā)過程中,收集一些關(guān)鍵的測量,對了解工程狀態(tài)和進(jìn)展工程決策很有幫助, 同時也為以后的工程提供歷史數(shù)據(jù)參考。每個測量都要生成測量報(bào)告并存檔。?測量報(bào)告?的容包括:1. 根本信息,包括測量主題、測量時間、測量者等2. 測量容和測量值3. 測量分析完畢階段圖7-1控制階段的任務(wù)和工件? 產(chǎn)品測試因?yàn)楫a(chǎn)品即將驗(yàn)收和發(fā)布,所以必須對產(chǎn)品進(jìn)展完整測試,產(chǎn)品測試比其他測試要求更 嚴(yán)格,當(dāng)產(chǎn)品的質(zhì)量到達(dá)發(fā)布的要求后才能發(fā)布。產(chǎn)品的質(zhì)量由?測試報(bào)告?表達(dá)。? RC版本發(fā)布發(fā)布RC版本讓用戶體驗(yàn)并收集反響意見,為產(chǎn)品驗(yàn)收作準(zhǔn)備。RC版本發(fā)布后,產(chǎn)品不應(yīng)
33、該有大改動,一般只是界面的局部調(diào)整。? 編制用戶文檔針對不同的使用者角色,編制相應(yīng)的用戶文檔,對管理者用戶需要提供?安裝、維護(hù)指 南?,對普通用戶需要編制?產(chǎn)品使用手冊?。?安裝、維護(hù)指南?的容包括:1.1. 產(chǎn)品各組件的說明2. 產(chǎn)品部署架構(gòu)3. 安裝、配置和卸載等步驟4. 啟動、停止和重啟等操作5. 其它操作:日志、備份、復(fù)原等?產(chǎn)品使用手冊?的容包括:1. 產(chǎn)品介紹2. 各個功能的介紹3. 通過實(shí)際案例介紹各個功能的使用方式和操作步驟? 產(chǎn)品使用培訓(xùn)對于為特定客戶開發(fā)的軟件產(chǎn)品,在發(fā)布前需要對用戶進(jìn)展產(chǎn)品的使用培訓(xùn)。培訓(xùn)前需 要部署好操作環(huán)境,編寫培訓(xùn)資料,然后組織培訓(xùn)會議。? 產(chǎn)品驗(yàn)收
34、對于為特定客戶開發(fā)的軟件產(chǎn)品,通常根據(jù)簽訂的開發(fā)合同和產(chǎn)品方案等條款逐項(xiàng)驗(yàn) 收,驗(yàn)收時,用戶通常會執(zhí)行驗(yàn)收測試案例。? 最后修訂在產(chǎn)品驗(yàn)收通過后,正式發(fā)布前對產(chǎn)品作最后的修訂,可能包括:1.1. 開發(fā)文檔修訂2. 用戶文檔修訂3. 代碼整理? 正式版發(fā)布正式版的發(fā)布標(biāo)志著開發(fā)階段的完畢,產(chǎn)品從此時起進(jìn)入維護(hù)階段,正式發(fā)布前可能要 做一些準(zhǔn)備工作,如:數(shù)據(jù)遷移和環(huán)境配置等。? 工程總結(jié)工程完畢后需要對整個工程開發(fā)階段的工作進(jìn)展總結(jié),交流心得,吸取經(jīng)歷和教訓(xùn),并 歸檔為?工程總結(jié)報(bào)告?。?工程總結(jié)報(bào)告?的容包括:1.1. 總體評價2. 本錢、收益匯總3. 重要心得4. 管理總結(jié)5. 技術(shù)總結(jié)總結(jié)A
35、屯屋僅國計(jì)塔I>毫序目目韓科範(fàn)國啟動徳"方案階段I1姬鰹_戶文檔®&<iT丿艸祝計(jì)B|c產(chǎn)品嘗楓1丿£、盤、須目總編1_)J產(chǎn)昂便用培譏控桔結(jié)冃圖8-1工程階段軟件工程開發(fā)經(jīng)歷多個階段,每個階段包含多個任務(wù),每個任務(wù)會產(chǎn)生相應(yīng)的工件。需 要相應(yīng)的質(zhì)量保證措施對任務(wù)進(jìn)展監(jiān)控,保證任務(wù)的執(zhí)行。任務(wù)完成后也需要對任務(wù)進(jìn)展評 審,保證任務(wù)的質(zhì)量。這些工作均由開發(fā)團(tuán)隊(duì)和相關(guān)人員按照工作流程執(zhí)行。因此,合理的角色任務(wù)分配和溝 通制度是軟件工程成功的重要保障。圖8-2 列岀幾種比較普遍的角色和任務(wù)劃分方案:頊目脣童1用戶需嗥ifliiw捲護(hù)V筑責(zé)入 jFpp
36、pPptnm! P p-3-FP?pP設(shè)計(jì)開賈p?PPPmaF罰tf諄P設(shè)計(jì)開發(fā)尸1ppPpP4>2P需求1P?聖構(gòu)嚴(yán)1p爲(wèi)計(jì)開£pP測試pPP*圖8-2角色和任務(wù)劃分方案職責(zé)和角色不清楚往往是造成軟件工程團(tuán)隊(duì)管理混亂的一個重要原因,一個好的軟件團(tuán) 隊(duì)必須根據(jù)團(tuán)隊(duì)規(guī)模的不同和工程本身的特點(diǎn)對工程成員的角色和崗位進(jìn)展明確的劃分,這 樣團(tuán)隊(duì)中的每個成員才可能有清晰的責(zé)任和目標(biāo)。軟件開發(fā)不管采用哪種生命周期模型和開發(fā)方法論,整個過程都會包含需求,設(shè)計(jì),開 發(fā),測試,配置管理等各項(xiàng)活動。而這些活動會對應(yīng)到工程中的不同角色,工程中進(jìn)展崗位 劃分后每個崗位成員可以兼職多個角色。形成相關(guān)的角
37、色崗位矩陣。方案一 工程負(fù)責(zé)人總覽全局對于小作坊的軟件開發(fā)團(tuán)隊(duì),可以由一個工程負(fù)責(zé)人總覽全局。工程負(fù)責(zé)人承擔(dān)從用戶 需求-> 軟件需求-> 總體設(shè)計(jì)的所有工作。同時還需要做到整個團(tuán)隊(duì)進(jìn)度規(guī)劃,質(zhì)量保證,配 置管理和溝通協(xié)調(diào)等相關(guān)工作。所以小型工程團(tuán)隊(duì)對工程負(fù)責(zé)人的業(yè)務(wù),技術(shù)和溝通管理等 技能都要求較高,工程負(fù)責(zé)人是工程中的總體方案確認(rèn)者和架構(gòu)師。工程負(fù)責(zé)人能力和技能 往往決定了整個軟件工程的成敗。我們這里指的小型團(tuán)隊(duì)并不是只一個人單打獨(dú)斗的工程,所以工程負(fù)責(zé)人最好不要介入 到模塊設(shè)計(jì)和編碼活動中,而是應(yīng)該把重點(diǎn)放在進(jìn)度的控制和質(zhì)量的保證上面。由于工程負(fù) 責(zé)人一般有較強(qiáng)的技術(shù)能力,所以工程負(fù)責(zé)人可
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024銅門制安工程賠償合同
- 2025年度不銹鋼板材行業(yè)綠色制造與可持續(xù)發(fā)展合同范本2篇
- 2024藥品研發(fā)項(xiàng)目合作開發(fā)與成果轉(zhuǎn)讓合同3篇
- 2025年度智能倉儲物流服務(wù)合同范本二零二五年度4篇
- 《銀伯爵珠寶培訓(xùn)》課件
- 2024版商鋪轉(zhuǎn)讓協(xié)議書范本
- 中國魔芋素食品行業(yè)發(fā)展前景預(yù)測及投資方向研究報(bào)告
- 2025年水電工程安裝與智能化改造合同范本
- 2025年鞍鋼集團(tuán)工程技術(shù)有限公司招聘筆試參考題庫含答案解析
- 2025年中咨工程管理咨詢有限公司招聘筆試參考題庫含答案解析
- 導(dǎo)尿及留置導(dǎo)尿技術(shù)
- 情人合同范例
- 建筑公司勞務(wù)合作協(xié)議書范本
- 安徽省合肥市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 《基于杜邦分析法的公司盈利能力研究的國內(nèi)外文獻(xiàn)綜述》2700字
- 儒家思想講解課程設(shè)計(jì)
- 2024年個人汽車抵押借款合同范本(四篇)
- 2024-2025學(xué)年九年級化學(xué)上冊 第二單元 單元測試卷(人教版)
- 軌道交通設(shè)備更新項(xiàng)目可行性研究報(bào)告-超長期國債
- 2024-2030年中國一氧化二氮?dú)怏w行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報(bào)告
- NB/T 11446-2023煤礦連采連充技術(shù)要求
評論
0/150
提交評論