某軟件公司質(zhì)量管理體系_第1頁
某軟件公司質(zhì)量管理體系_第2頁
某軟件公司質(zhì)量管理體系_第3頁
某軟件公司質(zhì)量管理體系_第4頁
某軟件公司質(zhì)量管理體系_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

秘密秘密僅限于內(nèi)部使用質(zhì)量管理體系培訓(xùn)教材〔一〕北京博思美亞科技開展公司目錄TOC\o"1-2"\h\z\u公司標(biāo)準(zhǔn)軟件過程體系文件導(dǎo)讀1軟件生命周期模型15軟件開發(fā)過程25技術(shù)類評審111工程估算指南146標(biāo)準(zhǔn)軟件過程總體裁剪指南152公司標(biāo)準(zhǔn)軟件過程體系文件導(dǎo)讀目錄1、概述51.1目的51.2適用范圍51.3引用文件51.4術(shù)語51.5參考資料52、公司標(biāo)準(zhǔn)軟件過程的開發(fā)62.1開發(fā)歷程62.2公司標(biāo)準(zhǔn)軟件過程總體結(jié)構(gòu)93、軟件過程體系文件133.1過程管理143.2軟件開發(fā)過程153.3工程管理153.4資源管理163.5指南性文件171、概述1.1目的本文件對公司軟件過程及其體系文件的總體結(jié)構(gòu)進(jìn)行描述,為與軟件過程的開發(fā)、維護(hù)、改良、執(zhí)行、管理和跟蹤等有關(guān)的人員學(xué)習(xí)、理解和使用軟件過程體系文件提供指南。1.2適用范圍適用于SEPG、高層經(jīng)理、工程經(jīng)理、軟件開發(fā)人員、測試人員、軟件質(zhì)量保證人員、軟件配置管理人員及其他支持人員為了按標(biāo)準(zhǔn)開展各自的業(yè)務(wù)活動(dòng),學(xué)習(xí)、理解和使用軟件過程體系文件。1.3引用文件無。1.4術(shù)語無。1.5參考資料?《SoftwareProjectManagementGuidebook》〔Version2.0〕,ProcessStrategies,Inc.?《軟件工程-實(shí)踐者的研究方法》,〔美〕RogerS.Pressman著,黃柏素、梅宏譯,機(jī)械工業(yè)出版社出版,1999年10月?《實(shí)踐中的CMM-INFOSYS公司實(shí)施軟件工程之過程》,潘卡?杰羅特著,楊慧鳴、李光龍澤,2001年7月2、公司標(biāo)準(zhǔn)軟件過程的開發(fā)2.1開發(fā)歷程為了使軟件過程保持長期穩(wěn)定并能持續(xù)改良,必須開發(fā)組織〔即公司〕級的標(biāo)準(zhǔn)軟件過程。為此,公司組織了以軟件工程過程組〔SEPG〕為主體的標(biāo)準(zhǔn)軟件過程開發(fā)和文件編寫組,具體實(shí)施上述任務(wù)。公司標(biāo)準(zhǔn)軟件過程是在公司范圍內(nèi)的軟件工程全面執(zhí)行CMM二級的根底上,在軟件工程一般理論的指導(dǎo)下,收集公司全部軟件工程所采用的軟件過程,經(jīng)過分析、歸納、提煉、分類、總結(jié)等一系列步驟開發(fā)而成;又在開發(fā)標(biāo)準(zhǔn)軟件過程的根底上,形成了描述這些標(biāo)準(zhǔn)軟件過程的相互關(guān)聯(lián)的程序文件體系。本程序文件體系對組成標(biāo)準(zhǔn)軟件過程的根本軟件過程要緊,以及軟件過程要素之間的關(guān)系〔軟件過程結(jié)構(gòu)〕進(jìn)行描述,描述的重點(diǎn)放在過程的可操作性上。此外,與此相關(guān)聯(lián),開發(fā)或編寫了公司的軟件過程數(shù)據(jù)庫、與軟件過程相關(guān)的文檔庫、軟件生命周期描述文件和標(biāo)準(zhǔn)軟件過程裁剪指南。它們和公司標(biāo)準(zhǔn)軟件過程一起,組成了公司的軟件過程資產(chǎn)。公司的軟件過程資產(chǎn)為標(biāo)準(zhǔn)公司軟件工程的軟件過程提供了根底和保證。各軟件工程按標(biāo)準(zhǔn)軟件過程裁剪指南,根據(jù)工程的實(shí)際情況〔主要是客戶需求〕對公司標(biāo)準(zhǔn)軟件過程進(jìn)行裁剪,開發(fā)適合工程特定特性的工程軟件過程;工程軟件過程開發(fā)的重點(diǎn)在軟件過程的可用性,以及附加到該工程的價(jià)值。工程以工程定義的軟件過程為根底,制訂工程軟件開發(fā)方案;按方案執(zhí)行工程的軟件開發(fā)活動(dòng),產(chǎn)生相應(yīng)的軟件工作產(chǎn)品及其他開發(fā)成果;開發(fā)過程中的數(shù)據(jù)以及工程結(jié)束后進(jìn)行總結(jié)的數(shù)據(jù),經(jīng)過一定的手續(xù),反應(yīng)到公司的軟件過程數(shù)據(jù)和軟件過程相關(guān)文檔庫,豐富公司的軟件過程資產(chǎn)。如此反復(fù)循環(huán),促使軟件過程得以持續(xù)改良。以上過程和關(guān)系可以用圖1表示。圖中:表示實(shí)體,例如“分配到軟件的需求”表示活動(dòng),例如“選擇工程的軟件生命周期”圖中上半局部用粗線框圍起來的局部即公司的軟件過程資產(chǎn)局部,它由描述公司標(biāo)準(zhǔn)軟件過程的程序文件、軟件過程數(shù)據(jù)庫、與軟件過程相關(guān)的文檔庫、軟件生命周期描述文件和標(biāo)準(zhǔn)軟件過程裁剪指南組成。下半局部那么描述公司軟件過程資產(chǎn)的利用過程:軟件工程按標(biāo)準(zhǔn)軟件過程裁剪指南,根據(jù)工程的實(shí)際情況〔主要是客戶需求〕對公司標(biāo)準(zhǔn)軟件過程進(jìn)行裁剪,開發(fā)適合工程特定特性的工程軟件過程;制訂工程軟件開發(fā)方案,并按方案執(zhí)行工程的軟件開發(fā)活動(dòng);將工程數(shù)據(jù)〔包括開發(fā)過程中的數(shù)據(jù)以及工程結(jié)束后進(jìn)行總結(jié)的數(shù)據(jù)〕反應(yīng)到公司的軟件過程數(shù)據(jù)庫和軟件過程相關(guān)文檔庫。圖1公司軟件過程資產(chǎn)的開發(fā)和利用2.2公司標(biāo)準(zhǔn)軟件過程總體結(jié)構(gòu)圖2為公司標(biāo)準(zhǔn)軟件過程的總體結(jié)構(gòu)。由于本公司的產(chǎn)品〔工程〕除了純軟件產(chǎn)品〔工程〕外,還包括軟件和硬件兼有的產(chǎn)品〔工程〕,考慮到過程的完整性以及便于理解軟件過程和其他過程之間的接口關(guān)系,圖中的工程開發(fā)過程反映了軟件和硬件兼有的產(chǎn)品的整個(gè)開發(fā)過程,但其中非軟件過程局部均采用虛線,以示區(qū)別。有關(guān)內(nèi)容說明如下:〔1〕工程、工程生命周期和軟件生命周期工程是由一組有起止日期、相互協(xié)調(diào)的受控活動(dòng)組成的獨(dú)特過程,該過程要求到達(dá)符合包括時(shí)間、本錢和資源等約束條件在內(nèi)的規(guī)定要求的目標(biāo),其結(jié)果將產(chǎn)生產(chǎn)品。而軟件工程那么是為了開發(fā)軟件產(chǎn)品〔包括系統(tǒng)〕而建立的工程。工程和產(chǎn)品都具有一定的生命周期。工程生命周期是指從工程啟動(dòng)到工程結(jié)束為止的時(shí)間間隔。工程生命周期一般包括:?初期籌劃階段〔主要是可行性分析〕;?開發(fā)籌劃階段〔開發(fā)前的人、財(cái)、物等的方案和準(zhǔn)備〕;?實(shí)施階段〔具體實(shí)施工程開發(fā)方案,保證工程的質(zhì)量、本錢、進(jìn)度的順利完成〕;?結(jié)束階段〔評審、鑒定及工程交付和組織結(jié)束工作〕。在整個(gè)工程生命周期,所涉及的過程可以分為兩類:?工程開發(fā)過程〔和被開發(fā)產(chǎn)品的實(shí)現(xiàn)直接相關(guān)〕;?工程管理過程〔對工程的開發(fā)過程進(jìn)行管理和控制〕。軟件生命周期那么是指軟件產(chǎn)品的生命周期,即是指從設(shè)想-軟件產(chǎn)品開始到軟件不再供使用為止的時(shí)間間隔。軟件生命周期一般包括:概念階段、需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段、測試階段、安裝和調(diào)整階段、運(yùn)行和維護(hù)階段,有時(shí)還包括退役階段。顯然,工程生命周期和軟件生命周期在時(shí)間上是相關(guān)的,但在概念上是完全不同的。一般來說,工程生命周期不會超過該工程所開發(fā)的軟件產(chǎn)品的生命周期?!?〕工程開發(fā)過程圖中的下部表示工程的開發(fā)過程。它從客戶需求開始,通過系統(tǒng)分析,將客戶需求分解成軟件局部的需求和硬件局部的需求〔從此處工程將分成軟件工程和硬件工程兩局部〕。其中,軟件工程從軟件需求定義階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段、測試階段、驗(yàn)收交付階段到工程總結(jié),表示整個(gè)軟件開發(fā)的結(jié)束。一般來說,作為軟件開發(fā)工程到此就意味著結(jié)束了,但軟件產(chǎn)品的生命周期并未結(jié)束。軟件產(chǎn)品交付后,將經(jīng)歷使用過程中的維護(hù)階段〔維護(hù)階段的時(shí)間可能和工程合同有關(guān)〕,直到最后產(chǎn)品退役?!?〕工程管理過程圖中的中部表示工程的管理過程,即對工程的開發(fā)過程實(shí)施管理的過程。對于軟件和硬件兼有的工程來說,工程管理的主要過程如下:?初期籌劃〔主要針對系統(tǒng)分析、可行性分析進(jìn)行籌劃〕;?開發(fā)籌劃〔開發(fā)前的人、財(cái)、物等的方案和準(zhǔn)備〕;?工程跟蹤與監(jiān)控〔對工程初期的系統(tǒng)分析、可行性分析,以及工程開發(fā)過程中軟件需求定義、設(shè)計(jì)、實(shí)現(xiàn)、測試、驗(yàn)收交付等活動(dòng)進(jìn)行跟蹤與監(jiān)控〕;?軟件質(zhì)量保證〔SQA,對工程的軟件過程和軟件產(chǎn)品的符合性進(jìn)行質(zhì)量監(jiān)控,它貫穿于軟件工程的始終〕;?軟件配置管理〔SCM,為確保軟件產(chǎn)品的完整性和正確性進(jìn)行的管理,它貫穿于軟件工程的始終〕;?需求管理〔為確保滿足客戶需求進(jìn)行的管理,它貫穿于工程的始終〕;?評審過程〔包括同行評審等技術(shù)類評審和方案評審等管理類評審〕;?工程結(jié)束處理〔包括工程的鑒定、驗(yàn)收、交付,以及進(jìn)行工程總結(jié)〕。此外,在工程管理活動(dòng)中,還可能有以下管理過程:?工程培訓(xùn);?組間協(xié)調(diào)等。〔4〕過程資產(chǎn)本公司的軟件過程資產(chǎn)分兩個(gè)層次:公司級資產(chǎn)和工程級資產(chǎn)。a.公司級資產(chǎn)包括:?過程數(shù)據(jù)庫〔含軟件過程和其他過程的資產(chǎn)〕;?過程相關(guān)文檔庫;?人力資源庫。b.工程級資產(chǎn)包括:?工程控制數(shù)據(jù)庫〔工程經(jīng)理控制,用于保存工程數(shù)據(jù),以便對工程進(jìn)行跟蹤與監(jiān)控〕;?SQA管理庫〔SQA控制,用于保存工程的軟件質(zhì)量保證數(shù)據(jù)〕;?SCM管理庫〔SCM控制,用于保存工程的軟件配置管理數(shù)據(jù)〕;?SCM庫〔SCM控制,用于保存工程的所有配置項(xiàng)〕。通過一定的手續(xù),工程的工程控制數(shù)據(jù)庫和SQA管理庫中的數(shù)據(jù),經(jīng)過選擇,將補(bǔ)充到公司的過程數(shù)據(jù)庫和過程相關(guān)文檔庫中。此外,根據(jù)實(shí)際需要,總部一級也可能需要有人力資源庫。圖2軟件過程結(jié)構(gòu)圖3、軟件過程體系文件公司的軟件過程體系文件的組成如圖3所示。軟件過程體系文件軟件過程體系文件過程管理工程管理軟件開發(fā)過程資源管理指南性文件軟件開發(fā)過程程序文件標(biāo)準(zhǔn)軟件過程開發(fā)與維護(hù)過程描述文件編寫標(biāo)準(zhǔn)〔一〕過程描述文件編寫標(biāo)準(zhǔn)〔二〕質(zhì)量管理體系數(shù)據(jù)庫管理和維護(hù)文件軟件生命周期模型描述文件標(biāo)識標(biāo)準(zhǔn)術(shù)語文件控制程序客戶需求管理程序文件工程籌劃程序文件工程跟蹤與監(jiān)控程序文件工程總結(jié)程序文件軟件質(zhì)量保證程序文件軟件配置管理程序文件組間協(xié)調(diào)程序文件技術(shù)類評審程序文件高層驗(yàn)證程序文件培訓(xùn)程序工程估算指南標(biāo)準(zhǔn)軟件過程總體裁剪指南公司標(biāo)準(zhǔn)軟件過程體系文件導(dǎo)讀圖3軟件過程體系文件按文件的使用目的,公司的軟件過程體系文件分為五類:過程管理、軟件開發(fā)過程、工程管理、資源管理和指南。3.1過程管理過程管理是指對軟件過程進(jìn)行管理,此類文件的使用人員主要是對軟件過程進(jìn)行開發(fā)、維護(hù)、改良的人員,例如SEPG成員、工程經(jīng)理、SQA等。有關(guān)文件說明如下:〔1〕標(biāo)準(zhǔn)軟件過程開發(fā)與維護(hù)?使用人員:SEPG和軟件過程描述文件編寫人員。?內(nèi)容提要:本文件對如何開發(fā)和管理公司的標(biāo)準(zhǔn)軟件過程、如何編寫軟件過程描述文件、如何編寫標(biāo)準(zhǔn)軟件過程裁剪指南等作出了規(guī)定?!?〕過程描述文件編寫標(biāo)準(zhǔn)〔一〕?使用人員:軟件過程描述文件編寫人員。?內(nèi)容提要:為能分解成假設(shè)干過程元素的較大過程編寫的描述文件編寫標(biāo)準(zhǔn)?!?〕過程描述文件編寫標(biāo)準(zhǔn)〔二〕?使用人員:軟件過程描述文件編寫人員。?內(nèi)容提要:為沒有明顯的入口和出口準(zhǔn)那么的過程〔例如日常管理類的過程〕編寫的描述文件編寫標(biāo)準(zhǔn)?!?〕質(zhì)量管理體系數(shù)據(jù)庫管理和維護(hù)文件?使用人員:SEPG、工程經(jīng)理、SQA和數(shù)據(jù)庫的管理和維護(hù)人員。?內(nèi)容提要:本文件對公司的軟件過程數(shù)據(jù)庫和與過程相關(guān)文檔庫的管理和維護(hù)作出了規(guī)定。考慮到將來需要擴(kuò)充ISO9001要求的其他數(shù)據(jù)庫,故起此名?!?〕軟件生命周期模型描述文件?使用人員:工程經(jīng)理以及參與工程軟件過程定義的有關(guān)人員。?內(nèi)容提要:本文件對公司所確定的軟件生命周期模型進(jìn)行描述,作為公司的過程資產(chǎn)之一,供工程選擇適合工程情況的軟件生命周期模型時(shí)參考。〔6〕標(biāo)識標(biāo)準(zhǔn)?使用人員:對被標(biāo)識對象進(jìn)行標(biāo)識的人中員。?內(nèi)容提要:為標(biāo)準(zhǔn)包括文件、表格、產(chǎn)品的標(biāo)識而制訂的標(biāo)準(zhǔn)?!?〕術(shù)語?使用人員:SEPG和軟件過程描述文件編寫人員。?內(nèi)容提要:本文件定義了本軟件過程體系文件所使用的專用術(shù)語?!?〕文件控制程序?使用人員:文件管理人員。?內(nèi)容提要:本文件對文件的編寫、評審、批準(zhǔn)、發(fā)布、發(fā)放、回收等文件管理要求作出了規(guī)定,是整個(gè)質(zhì)量管理體系所要求的用于對受控文件進(jìn)行管理的文件。3.2軟件開發(fā)過程軟件開發(fā)過程是指與軟件開發(fā)有關(guān)的過程,相關(guān)文件的使用人員主要是和軟件開發(fā)有關(guān)的人員?!?〕軟件開發(fā)過程程序文件?使用人員:工程經(jīng)理以及參與工程軟件過程定義的有關(guān)人員。?內(nèi)容提要:本程序文件針對本公司軟件工程所采用的典型開發(fā)過程,分解成過程要素進(jìn)行描述,供各軟件工程根據(jù)標(biāo)準(zhǔn)軟件過程裁剪指南,定義工程自己的軟件過程時(shí)使用。3.3工程管理與工程管理有關(guān)的文件如下:〔10〕客戶需求管理程序文件?使用人員:工程經(jīng)理、SQA、SCM和軟件開發(fā)人員。?內(nèi)容提要:本文件是為了確保工程滿足客戶需求和如何確保滿足客戶需求,為工程編寫的有關(guān)客戶需求管理的程序文件?!?1〕工程籌劃程序文件?使用人員:工程經(jīng)理以及參與工程籌劃的其他有關(guān)人員。?內(nèi)容提要:為指導(dǎo)軟件工程進(jìn)行工程的初期籌劃和開發(fā)籌劃而編寫的程序文件?!?2〕工程跟蹤與監(jiān)控程序文件?使用人員:高層經(jīng)理、工程經(jīng)理、SQA、SCM和軟件開發(fā)人員。?內(nèi)容提要:指導(dǎo)軟件工程在工程方案執(zhí)行過程中如何對工程進(jìn)行跟蹤與監(jiān)控的程序文件?!?3〕工程總結(jié)程序文件?使用人員:工程經(jīng)理、SQA、SCM和軟件開發(fā)人員。?內(nèi)容提要:指導(dǎo)軟件工程在工程結(jié)束階段如何進(jìn)行工程總結(jié)的程序文件。〔14〕軟件質(zhì)量保證程序文件?使用人員:SQA、工程經(jīng)理、SCM和軟件開發(fā)人員。?內(nèi)容提要:指導(dǎo)軟件工程的SQA如何執(zhí)行工程的軟件質(zhì)量保證活動(dòng),以及工程的其他人員如何配合的程序文件?!?5〕軟件配置管理程序文件?使用人員:SCM、工程經(jīng)理、SQA和軟件開發(fā)人員。?內(nèi)容提要:指導(dǎo)軟件工程的SCM如何執(zhí)行工程的軟件配置管理活動(dòng),以及工程的其他人員如何配合的程序文件?!?6〕組間協(xié)調(diào)程序文件?使用人員:工程經(jīng)理、SQA、SCM和軟件開發(fā)人員。?內(nèi)容提要:工程在進(jìn)行工程籌劃時(shí),應(yīng)考慮有無組間協(xié)調(diào)的情況,本程序文件提供這方面的要求和指導(dǎo)。〔17〕技術(shù)類評審程序文件?使用人員:工程經(jīng)理、軟件開發(fā)人員、SQA以及其他參與評審的人員。?內(nèi)容提要:本程序文件為工程進(jìn)行技術(shù)類評審〔包括同行評審及其他類型的技術(shù)評審〕規(guī)定要求和提供指導(dǎo)?!?8〕高層驗(yàn)證程序文件?使用人員:高層經(jīng)理、工程經(jīng)理、SQA、SCM和軟件開發(fā)人員。?內(nèi)容提要:在公司標(biāo)準(zhǔn)軟件過程的開發(fā)和改良以及工程在執(zhí)行軟件開發(fā)活動(dòng)的過程中,高層經(jīng)理應(yīng)在哪些環(huán)節(jié)進(jìn)行驗(yàn)證,如何進(jìn)行驗(yàn)證?工程的有關(guān)人員如何配合?本程序文件為高層經(jīng)理的驗(yàn)證活動(dòng)提出要求并提供指導(dǎo)。3.4資源管理資源管理主要包括人力資源、設(shè)備、環(huán)境等方面的管理?!?9〕培訓(xùn)程序?使用人員:公司培訓(xùn)組、高層經(jīng)理、工程經(jīng)理、SQA、SCM和軟件開發(fā)人員。?內(nèi)容提要:對公司級培訓(xùn)和工程級培訓(xùn)的實(shí)施要求作出規(guī)定,包括培訓(xùn)需求的收集、培訓(xùn)方案、培訓(xùn)實(shí)施和培訓(xùn)總結(jié)等。3.5指南性文件目前提供以下指南性文件:〔20〕工程估算指南?使用人員:工程經(jīng)理及其他參與估算的人員。?內(nèi)容提要:本指南為工程估算的方法〔例如:規(guī)模估算、工作量估算等〕提供指南?!?1〕標(biāo)準(zhǔn)軟件過程總體裁剪指南?使用人員:工程經(jīng)理及其他參與工程軟件過程定義的人員。?內(nèi)容提要:總體裁剪指南是公司標(biāo)準(zhǔn)軟件過程裁剪指南中的高層裁剪指南〔或一般性裁剪指南〕。它為軟件工程在對公司標(biāo)準(zhǔn)軟件過程進(jìn)行裁剪時(shí),提供對一般性活動(dòng)進(jìn)行裁剪的指南;裁剪結(jié)果為工程進(jìn)行詳細(xì)的過程裁剪提供框架性的指導(dǎo)方針〔詳細(xì)裁剪指南分散在各程序文件的“詳細(xì)裁剪指南”中〕?!?2〕軟件過程體系文件導(dǎo)讀〔即本文件〕?使用人員:SEPG、高層經(jīng)理、工程經(jīng)理、軟件開發(fā)人員、測試人員、軟件質(zhì)量保證人員、軟件配置管理人員等為了按標(biāo)準(zhǔn)開展各自的業(yè)務(wù)活動(dòng),需要學(xué)習(xí)、理解和使用軟件過程體系文件的所有人員。?內(nèi)容提要:對公司標(biāo)準(zhǔn)軟件過程開發(fā)的背景、開發(fā)過程、標(biāo)準(zhǔn)軟件過程的總體結(jié)構(gòu),以及相應(yīng)的軟件過程體系文件進(jìn)行導(dǎo)讀性的說明。軟件生命周期模型目錄1、概述161.1目的161.2適用范圍161.3引用文件161.4術(shù)語161.5參考資料162、軟件生命周期模型描述172.1瀑布模型172.2原型+瀑布模型182.3增量模型192.4增量的迭代過程模型212.5快速應(yīng)用開發(fā)模型213、幾種模型的比擬234、其它模型采用說明235、附錄231、概述1.1目的描述公司級定義的軟件生命周期模型,供工程籌劃時(shí)根據(jù)工程的具體情況選擇或裁剪使用,由此確定軟件工程開發(fā)過程的各種不同的階段以及各階段的執(zhí)行順序。1.2適用范圍適用于本公司的軟件工程籌劃。1.3引用文件?《軟件開發(fā)過程程序文件》〔QMS-OP01-V1.0〕?《標(biāo)準(zhǔn)軟件過程開發(fā)和維護(hù)》〔QMS-PSM01-V1.0〕?《工程籌劃程序文件》〔QMS-PTM02-V2.0〕1.4術(shù)語?軟件生命周期-從軟件設(shè)想開始到軟件不再使用而結(jié)束的時(shí)間周期。軟件生命周期一般包括系統(tǒng)分析、軟件需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測試、驗(yàn)收、運(yùn)行和維護(hù)各階段,有時(shí)還包括退役階段。?軟件過程-有關(guān)開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品〔例如:工程方案、設(shè)計(jì)文檔、代碼、測試用例、用戶手冊等〕的活動(dòng)、方法、實(shí)踐和變更的集合。1.5參考資料?《軟件工程Java語言實(shí)現(xiàn)》,StephenR.Schach著,袁兆山等譯,機(jī)械工業(yè)出版社,1999年9月?《軟件工程實(shí)踐者的研究方法》,RogerS.Pressman著,黃柏素、梅宏等譯,機(jī)械工業(yè)出版社,1999年10月?《SoftwareProjectManagementGuidebook》,F(xiàn)rankJ.Koch著,2001年7月?《實(shí)用軟件工程》鄭人杰、殷人昆、陶永雷著,清華大學(xué)出版社,1997年4月?《軟件需求》,KarlE.Wiegers著,陸麗娜、王忠民、王志敏等譯,機(jī)械工業(yè)出版社,2000年7月?《統(tǒng)一軟件開發(fā)過程》,IvarJacobson、GradyBooch、JamesRumbaugh著,周伯生、馮學(xué)民、樊東平等譯,機(jī)械工業(yè)出版社,2002年1月2、軟件生命周期模型描述所有的工程軟件開發(fā)過程都應(yīng)遵循一個(gè)生命周期模型,每個(gè)模型都具有能夠幫助實(shí)際軟件工程進(jìn)行控制及協(xié)調(diào)的特征。定義生命周期模型的目的在于將本質(zhì)上無序的活動(dòng)有序化,在開發(fā)籌劃期間,必須仔細(xì)考慮工程的特征和目標(biāo)之后,再選擇生命周期模型。本文件根據(jù)組織內(nèi)工程的類型,描述常用的幾個(gè)軟件生命周期模型,工程可根據(jù)實(shí)際情況選擇或按規(guī)定剪裁使用,但應(yīng)注意與公司的標(biāo)準(zhǔn)軟件開發(fā)過程相兼容。見附錄“軟件過程結(jié)構(gòu)圖”,其中的工程軟件開發(fā)過程即為一個(gè)選擇瀑布模型的典型工程過程。2.1瀑布模型〔1〕模型描述該模型首先由Royce[1970]提出,又稱線性順序模型,包括圖2-1所示的典型的幾個(gè)階段,其重要特點(diǎn)是:只有當(dāng)一個(gè)階段的文檔已編制好,且該階段的產(chǎn)品得到SQA認(rèn)可后,該階段才算完成;測試或驗(yàn)證在每個(gè)階段都必須執(zhí)行;一旦產(chǎn)品完成提交用戶,其后的任何修改均屬于維護(hù)階段。如果需求明確、能較好理解且較穩(wěn)定,可以考慮選擇瀑布模型。圖2-1瀑布模型〔2〕缺點(diǎn)由于其線性順序的特點(diǎn),故只有在工程開發(fā)的后期才能得到具有全部功能的軟件版本;如果有未定義或未實(shí)施的需求,將會引起重復(fù)勞動(dòng),甚至開發(fā)出的產(chǎn)品不是用戶所需要的?!?〕本企業(yè)適合的工程類型操作系統(tǒng)產(chǎn)品;譯星產(chǎn)品;嵌入式產(chǎn)品開發(fā);對日軟件外包工程等。2.2原型+瀑布模型〔1〕模型描述原型模型本身是一個(gè)迭代的模型,是為了解決在產(chǎn)品開發(fā)的早期階段存在的不確定性、二義性和不完整性等問題,通過建立原型使開發(fā)者進(jìn)一步確定其應(yīng)開發(fā)的產(chǎn)品,使開發(fā)者的想象更具體化,也更易于被客戶所理解。原型只是真實(shí)系統(tǒng)的一局部或一個(gè)模型,完全可能不完成任何有用的事情,通常包括拋棄型和進(jìn)化型兩種,拋棄型指原型建立、分析之后要扔掉,整個(gè)系統(tǒng)重新分析和設(shè)計(jì);進(jìn)化型那么是對需求的定義較清楚的情形,原型建立之后要保存,作為系逐漸增加的根底,采用進(jìn)化型一定要重視軟件設(shè)計(jì)的系統(tǒng)性和完整性,并且在質(zhì)量要求方面沒有捷徑,因此,對于描述相同的功能,建立進(jìn)化型原型比建立拋棄型原型所花的時(shí)間要多。原型建立確認(rèn)需求之后采用瀑布模型的方式完成工程開發(fā),原型+瀑布模型的開發(fā)流程如圖2-2所示:屢次迭代原型逐漸完善屢次迭代原型逐漸完善局部系統(tǒng)軟件需求或軟件需求分析原型設(shè)計(jì)原型實(shí)現(xiàn)原型測試瀑布測試圖2-2原型+瀑布模型以下情形建議考慮選擇原型+瀑布模型:a.工程包含一種新技術(shù),例:新硬件、新的開發(fā)語言、新的系統(tǒng)架構(gòu)等;b.需求不很清楚;c.存在關(guān)于性能、可靠性和可行性方面的主要的、未解決的問題;d.用戶界面對系統(tǒng)成功是很關(guān)鍵的,但不很清楚?!?〕缺點(diǎn)由于原型并非最終產(chǎn)品,如果原型不能利用,可能導(dǎo)致本錢的增加;同時(shí)會引起客戶的誤解,以為產(chǎn)品即將完成。〔3〕本企業(yè)適合的工程類型新領(lǐng)域的應(yīng)用工程的開發(fā);Web開發(fā)工程等。2.3增量模型〔1〕模型描述增量模型是一種進(jìn)化軟件過程模型,融合了線性順序模型的根本成分〔重復(fù)地應(yīng)用〕和原型模型的迭代特征,如以下圖所示。當(dāng)使用增量模型時(shí),第一個(gè)增量往往是核心產(chǎn)品,即實(shí)現(xiàn)了根本的需求;核心產(chǎn)品交用戶使用〔或進(jìn)行更詳細(xì)的復(fù)審〕,使用和/或評估的結(jié)果是下一個(gè)增量的開發(fā)方案,該方案包括對核心產(chǎn)品的修改,使其能更好的滿足用戶的需要,并發(fā)布一些新增的特點(diǎn)和功能。增量模型和原型模型不一樣,強(qiáng)調(diào)每一個(gè)增量均要發(fā)布一個(gè)可操作產(chǎn)品。早期的增量是最終產(chǎn)品的“可拆卸”版本,但能提供用戶效勞功能和用戶評估的平臺。增量模型開發(fā)流程見圖2-3。系統(tǒng)系統(tǒng)分析軟件需求分析軟件結(jié)構(gòu)設(shè)計(jì)詳細(xì)設(shè)計(jì)1實(shí)現(xiàn)1測試1驗(yàn)收1詳細(xì)設(shè)計(jì)2實(shí)現(xiàn)2測試2驗(yàn)收2詳細(xì)設(shè)計(jì)n實(shí)現(xiàn)n測試n驗(yàn)收n維護(hù)增量1增量2增量n圖2-3增量模型〔2〕缺點(diǎn)由于增量模型的靈活性,往往容易退化成邊做邊改方法,使軟件過程的控制喪失了整體性,最終的產(chǎn)品也不是開放的,而是成為維護(hù)人員的惡夢。〔3〕本企業(yè)適合的工程類型各種中、大規(guī)模的工程類型;已有系統(tǒng)技術(shù)路線發(fā)生改變但需求明確的移植類工程。2.4增量的迭代過程模型〔1〕模型描述該模型是一個(gè)不斷迭代和增量的過程,迭代過程首先要處理一組客戶的業(yè)務(wù)需求,這些業(yè)務(wù)需求合起來能夠揙所開發(fā)產(chǎn)品的可用性。其次,迭代過程要解決最突出的風(fēng)險(xiǎn)問題。后續(xù)的迭代過程建立在前一次的迭代過程末期所產(chǎn)生的產(chǎn)品之一。一個(gè)增量不一定是對原有產(chǎn)品的增加,尤其在生命周期初期,開發(fā)人員可能用更加詳細(xì)和更加完善的設(shè)計(jì)來代替最初簡單的設(shè)計(jì)。在較后的階段,增量通常是對原有產(chǎn)品的增加。采用此種模型最好是基于構(gòu)件和有相應(yīng)的構(gòu)件開發(fā)工具〔如:RUP、配置管理工具等〕。迭代迭代1系統(tǒng)分析1軟件需求分析1設(shè)計(jì)1實(shí)現(xiàn)1測試1驗(yàn)收1系統(tǒng)分析2軟件需求分析2設(shè)計(jì)2實(shí)現(xiàn)2測試2驗(yàn)收2系統(tǒng)分析n軟件需求分析n設(shè)計(jì)n實(shí)現(xiàn)n測試n驗(yàn)收n迭代2迭代3維護(hù)圖2-4增量的迭代模型〔2〕缺點(diǎn)需要相當(dāng)?shù)娘L(fēng)險(xiǎn)評估的技術(shù);每個(gè)迭代循環(huán)控制不好會變成邊做邊改模式。〔3〕本企業(yè)適合的工程類型較復(fù)雜的應(yīng)用工程。2.5快速應(yīng)用開發(fā)模型〔1〕模型描述快速應(yīng)用開發(fā)模型〔RAD〕是一個(gè)線性順序的軟件開發(fā)模型,強(qiáng)調(diào)極短的開發(fā)周期〔2-3個(gè)月〕。該模型是線性順序模型的一個(gè)“高速”變種,如果需求理解得很好,且約束了工程范圍,就可通過使用基于構(gòu)件或可得用軟件包的建造方法獲得快速開發(fā)??焖賾?yīng)用開發(fā)模型流程見圖2-5。適用于信息系統(tǒng)應(yīng)用軟件的開發(fā)。小組小組1業(yè)務(wù)建模1數(shù)據(jù)建模1處理建模1應(yīng)用生成1測試1業(yè)務(wù)建模2數(shù)據(jù)建模2處理建模2應(yīng)用生成2測試2業(yè)務(wù)建模n數(shù)據(jù)建模n處理建模n應(yīng)用生成n測試n集成/測試驗(yàn)收維護(hù)小組2小組n圖2-5快速應(yīng)用開發(fā)模型〔2〕缺點(diǎn)對大型的、但可伸縮的工程,RAD需要足夠的人力以創(chuàng)立足夠的RAD小組。RAD要求開發(fā)者和用戶在一個(gè)很短的時(shí)間內(nèi)完成一個(gè)系統(tǒng),如果雙方中的任何一方?jīng)]完成約定,都會導(dǎo)致RAD工程失敗。〔3〕本企業(yè)適合的工程類型具有可重用的構(gòu)件庫和CASE工具的應(yīng)用工程;信息系統(tǒng)等。3、幾種模型的比擬軟件生命周期模型是否首先定義好絕大局部的需求?是否有多個(gè)開發(fā)周期?是否有中間軟件發(fā)布瀑布模型有無無原型+瀑布模型沒有有有增量模型有有可能增量的迭代模型沒有有有快速應(yīng)用開發(fā)模型沒有有可能4、其它模型采用說明如果在實(shí)際工作中,基于特定工程的經(jīng)驗(yàn)積累和總結(jié),可能需要形成新的軟件生命周期模型,此時(shí)可依照一定的規(guī)程〔參見《標(biāo)準(zhǔn)軟件過程開發(fā)和維護(hù)要求》、《工程籌劃程序文件》〕將其定義和描述參加到本文件中。5、附錄附錄1軟件過程結(jié)構(gòu)圖說明:圖中“工程軟件開發(fā)過程”一層延伸到產(chǎn)品退役,即表達(dá)出軟件的生命周期。采用不同的生命周期模型在該層面的“系統(tǒng)分析”和“軟件開發(fā)”階段對應(yīng)不同的過程。軟件過程結(jié)構(gòu)圖軟件開發(fā)過程目錄1、概述291.1目的291.2適用范圍291.3引用文件291.4術(shù)語291.5參考資料302、過程總體描述302.1過程概述302.2結(jié)構(gòu)描述312.3過程級裁剪指南323、過程元素333.1系統(tǒng)分析333.2軟件需求分析383.3結(jié)構(gòu)設(shè)計(jì)453.4詳細(xì)設(shè)計(jì)483.5編碼533.6集成測試563.7系統(tǒng)測試603.8驗(yàn)收633.9驗(yàn)收673.10軟件問題管理714、附錄74附錄2.3-1中大型軟件工程工程的標(biāo)準(zhǔn)軟件開發(fā)過程75附錄2.3-2中小型軟件工程工程的標(biāo)準(zhǔn)軟件開發(fā)過程76附錄2.3-3小型軟件工程工程的標(biāo)準(zhǔn)軟件開發(fā)過程77附錄3.1-1《系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書》文檔編寫標(biāo)準(zhǔn)78附錄3.1-2《可行性分析報(bào)告》文檔編寫標(biāo)準(zhǔn)80附錄3.1-3《系統(tǒng)需求規(guī)格說明書》文檔編寫標(biāo)準(zhǔn)81附錄3.2-1需求分析方法指南87附錄3.2-2結(jié)構(gòu)化分析法88附錄3.2-3面向?qū)ο蠓治龇ā睴OA〕89附錄3.2-4快速原型法90附錄3.2-5《軟件需求規(guī)格說明書》文檔編寫標(biāo)準(zhǔn)91附錄3.2-6《測試方案》文檔編寫標(biāo)準(zhǔn)95附錄3.3-1《軟件結(jié)構(gòu)設(shè)計(jì)說明書》文檔編寫標(biāo)準(zhǔn)97附錄3.4-1《軟件詳細(xì)設(shè)計(jì)說明書》文檔編寫標(biāo)準(zhǔn)101附錄3.5-1《測試報(bào)告》文檔編寫標(biāo)準(zhǔn)103附錄3.6-1集成工作單104附錄3.6-2集成測試工作單105附錄3.9-1《軟件維護(hù)實(shí)施方案》文檔編寫標(biāo)準(zhǔn)106附錄3.10-1軟件問題報(bào)告單107附錄3.10-2軟件問題狀態(tài)登記表1121、概述1.1目的本程序文件定義了公司內(nèi)部的軟件開發(fā)過程,以指導(dǎo)和標(biāo)準(zhǔn)軟件工程中開發(fā)過程的定義和相應(yīng)的實(shí)施。1.2適用范圍整個(gè)公司內(nèi)的軟件工程。1.3引用文件《過程描述文件編寫標(biāo)準(zhǔn)〔一〕》〔QMS-PSM02-V1.0〕《標(biāo)準(zhǔn)軟件過程的開發(fā)和維護(hù)》〔QMS-PSM01-V1.0〕《軟件生命周期模型描述文件》〔QMS-PSM05-V1.0〕《客戶需求管理程序文件》〔QMS-PTM01-V2.0〕《技術(shù)類評審程序文件》〔QMS-PTM09-V1.0〕《軟件配置管理程序文件》〔QMS-PTM09-V1.0〕《術(shù)語》〔QMS-PSM07-V1.0〕1.4術(shù)語?過程:把輸入轉(zhuǎn)換為輸出的一組彼此相關(guān)的活動(dòng)。?構(gòu)造:將源代碼進(jìn)行編譯、連接、生成目標(biāo)代碼的過程。?構(gòu)造環(huán)境:主要指與源碼一起進(jìn)行編譯、連接的環(huán)境,在C語言中一般是指由編譯、連接命令、環(huán)境參數(shù)、操作語句等構(gòu)成的一系列腳本程序的組合。?白盒測試:基于源碼進(jìn)行的測試,主要的形式包括語句覆蓋、分支覆蓋、路徑覆蓋等。?黑盒測試:基于目標(biāo)代碼的測試,主要的形式為功能測試。?回歸測試:對新增的功能或更正錯(cuò)誤的局部〔包括與其相關(guān)的局部〕進(jìn)行的測試,而不是對軟件系統(tǒng)全面的測試。其他術(shù)語參見《術(shù)語》文件。1.5參考資料?《軟件能力成熟度模型CMM方法及其應(yīng)用》,楊一平等著,人民郵電出版社,2001年4月?《實(shí)踐中的CMM-INFOSYS公司實(shí)施軟件工程之過程》,潘卡·杰羅特著,楊慧鳴、李光龍澤,2001年7月?《ManagingtheSoftwareProcess》WattsS.Humphrey,AddisonWesleyLongman,Inc,1989?《RecommendedApproachtoSoftwareDevelopment》SEL-81-305,1992.6?《軟件需求》,KarlE.Wiegers著,陸麗那、王忠民、王志敏等譯,機(jī)械工業(yè)出版社,2000年7月?《軟件工程Java語言實(shí)現(xiàn)》,StephenR.Schach著,袁兆山等譯,機(jī)械工業(yè)出版社,1999年9月?《軟件工程實(shí)踐者的研究方法》,RogerS.Pressman著,黃柏素、梅宏等譯,機(jī)械工業(yè)出版社,1999年10月?國際-信息技術(shù)-軟件生存周期過程指南GB/T8566-2002?軍標(biāo)-軟件開發(fā)與文檔編制SJ20778-20002、過程總體描述2.1過程概述軟件開發(fā)過程是指軟件產(chǎn)品開發(fā)活動(dòng)中所有階段、任務(wù)的組合。該過程可劃分為一系列子過程,包括:系統(tǒng)分析、軟件需求分析、設(shè)計(jì)、編碼、測試、驗(yàn)收、維護(hù),每個(gè)子過程又由一系列任務(wù)和活動(dòng)組成,如設(shè)計(jì)過程又可分為結(jié)構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)。本程序文件描述公司通用的軟件開發(fā)過程的組成〔稱之為“過程元素”〕、彼此之間的關(guān)系〔輸入、輸出接口〕,以及相應(yīng)的裁剪指南。具體的軟件開發(fā)工程可以根據(jù)其范圍、規(guī)模和復(fù)雜度,確定軟件生命周期模型,參見《軟件生命周期模型描述文件》;然后根據(jù)通用的軟件開發(fā)過程和裁剪指南,確定工程具體的軟件開發(fā)過程。本程序文件涉及的裁剪指南分為兩個(gè)層次,一層為過程級,主要針對不同的工程所采取的過程的剪裁,以定義不同的典型過程;另一層為過程元素內(nèi)部,主要針對元素內(nèi)部的各個(gè)任務(wù)的剪裁。2.2結(jié)構(gòu)描述軟件開發(fā)過程在整個(gè)標(biāo)準(zhǔn)軟件過程中的位置及組成見以下圖2.2-1。圖2.2-1軟件過程結(jié)構(gòu)圖本程序文件所描述的軟件開發(fā)過程的元素的組成見下表:過程元素階段需求分析設(shè)計(jì)實(shí)現(xiàn)測試驗(yàn)收維護(hù)系統(tǒng)分析√軟件需求分析√結(jié)構(gòu)設(shè)計(jì)√詳細(xì)設(shè)計(jì)√編碼√集成測試√√系統(tǒng)測試√驗(yàn)收√維護(hù)√每個(gè)過程元素的具體描述和工作要求見本程序文件第三節(jié)的“過程元素”描述。2.3過程級裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針開發(fā)過程全過程〔附錄2.3-1〕執(zhí)行執(zhí)行針對中大型軟件工程工程或系統(tǒng)需求明確完全自行設(shè)計(jì)、實(shí)現(xiàn)的工程簡化過程1-1〔附錄2.3-2〕執(zhí)行執(zhí)行針對中小型軟件工程工程自編/移植軟件簡化過程1-2〔附錄2.3-2〕執(zhí)行執(zhí)行針對中小型軟件工程工程自由軟件簡化過程2-1〔附錄2.3-3〕執(zhí)行執(zhí)行針對小型軟件工程工程自編/移植軟件簡化過程2-2〔附錄2.3-3〕執(zhí)行執(zhí)行針對中小型軟件工程工程自由軟件軟件開發(fā)過程中的技術(shù)類評審方式見《技術(shù)類評審程序文件》中相應(yīng)裁剪指南3、過程元素以下分別對軟件開發(fā)過程中的各個(gè)元素進(jìn)行描述。3.1系統(tǒng)分析元素概述系統(tǒng)分析的目的是形成一個(gè)清楚的、完整的、一致的和可驗(yàn)收測試的系統(tǒng)需求規(guī)格說明書,與其它過程元素的關(guān)系如以下圖所示:軟件需求分析軟件需求分析硬件設(shè)計(jì)、實(shí)現(xiàn)、集成系統(tǒng)分析系統(tǒng)需求規(guī)格說明書系統(tǒng)分配給軟件的需求系統(tǒng)分配給硬件的需求來自客戶的需求系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書可行性分析報(bào)告來自客戶的需求可以是招標(biāo)書、工程說明書或意向書等任何形式的客戶需求。系統(tǒng)分析是整個(gè)軟件生命周期的開始,應(yīng)分析待開發(fā)系統(tǒng)特定的預(yù)期使用要求,以規(guī)定系統(tǒng)需求。在此階段,系統(tǒng)工程組要用一種反復(fù)迭代的方法逐漸擴(kuò)充、完善系統(tǒng)需求,使其到達(dá)完整;對系統(tǒng)結(jié)構(gòu)進(jìn)行設(shè)計(jì),建立系統(tǒng)的頂層結(jié)構(gòu),并標(biāo)出硬件局部、軟件局部和人工操作局部。應(yīng)確保所有系統(tǒng)需求分配到各局部中。分配以各局部的系統(tǒng)需求及其相關(guān)系統(tǒng)結(jié)構(gòu)應(yīng)形成文檔,對軟件必須要實(shí)現(xiàn)的每個(gè)功能和每個(gè)要滿足的關(guān)鍵點(diǎn)進(jìn)行詳細(xì)描述。通過實(shí)施本過程元素,完成《系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書》〔附錄3.1-1〕《可行性分析報(bào)告》〔附錄3.1-2〕和《系統(tǒng)需求規(guī)格說明書》〔附錄3.1-2〕,為軟硬件開發(fā)人員正確建立所要求的系統(tǒng)提供根底。如上圖所示,《系統(tǒng)需求規(guī)格說明書》應(yīng)包括分配到軟件局部的需求和分配到硬件局部的需求兩局部。但在本文件中,如無特別說明,系統(tǒng)需求均指系統(tǒng)分配給軟件局部的需求,也屬于客戶需求;《系統(tǒng)需求規(guī)格說明書》均指系統(tǒng)分配給軟件局部的需求的規(guī)格說明書。入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么要素判斷準(zhǔn)那么招標(biāo)書、工程說明書或意向書等客戶需求已接受〔2〕出口準(zhǔn)那么要素判斷準(zhǔn)那么可行性分析報(bào)告經(jīng)過評審并批準(zhǔn)執(zhí)行系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書系統(tǒng)需求規(guī)格說明書進(jìn)行了評審并經(jīng)SCCB批準(zhǔn)作為客戶需求基線評審發(fā)現(xiàn)的問題已關(guān)閉任務(wù)〔1〕系統(tǒng)架構(gòu)和業(yè)務(wù)需求定義及系統(tǒng)可行性分析,具體過程如以下圖所示:業(yè)務(wù)需求定義系統(tǒng)架構(gòu)和業(yè)務(wù)需求定義系統(tǒng)架構(gòu)和業(yè)務(wù)需求評審可行性分析重用分析系統(tǒng)架構(gòu)識別來自客戶的需求來自早期工程的文檔來自客戶的需求系統(tǒng)架構(gòu)和業(yè)務(wù)需求書可行性分析報(bào)告a.系統(tǒng)架構(gòu)識別?收集和逐條列出所有系統(tǒng)的高層需求〔指最高層的產(chǎn)品業(yè)務(wù)目標(biāo)〕。?描述滿足這些高層需求系統(tǒng)必須實(shí)施的根本功能,著重從系統(tǒng)壽命〔使用期限〕、性能、平安、可靠性和數(shù)據(jù)項(xiàng)等方面的問題去考慮。?通過這些功能描述,得到識別軟件程序和所有主要接口的系統(tǒng)架構(gòu)。?詳細(xì)說明所有主要數(shù)據(jù)接口的格式〔如:文件、顯示、打印輸出等〕。b.重用分析?如果客戶要求的功能與已有的產(chǎn)品很相似,那么可評審已有的產(chǎn)品的《系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書》、《系統(tǒng)需求規(guī)格說明書》、《用戶手冊》和相關(guān)源代碼等來識別重用候選項(xiàng)。選擇較強(qiáng)的候選薦并估算相應(yīng)的本錢,評價(jià)其可靠性等,根據(jù)將開發(fā)工程的具體情況,對是否選用重用項(xiàng)作出一個(gè)相對折中的選擇。?調(diào)整體系結(jié)構(gòu)來說明采用的可重用軟件,把所有重用分析的結(jié)果以重用建議的形式記錄下來,寫入《系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書》文檔中。c.業(yè)務(wù)需求定義?清楚地定義系統(tǒng)必須如何在其業(yè)務(wù)環(huán)境下運(yùn)行,包括針對所有主要業(yè)務(wù)模式的業(yè)務(wù)方案腳本,又稱使用實(shí)例。形成的描述寫入《系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書》文檔。?由于最終用戶是系統(tǒng)的直接使用者,需要時(shí)可請他們作為產(chǎn)品代表,幫助建立業(yè)務(wù)方案腳本。d.系統(tǒng)架構(gòu)和業(yè)務(wù)需求的評審?就系統(tǒng)架構(gòu)和業(yè)務(wù)需求請系統(tǒng)和領(lǐng)域?qū)<疫M(jìn)行評審。e.可行性分析?在上述結(jié)果的根底上,進(jìn)一步分析高層需求,從技術(shù)、經(jīng)濟(jì)、商業(yè)以及管理等方面進(jìn)行可行性研究。?編寫《可行性研究報(bào)告》。?對可行性分析報(bào)告進(jìn)行評價(jià),作出工程是否可行的判斷和決策。如果工程可行,那么進(jìn)入下一過程;否那么終止系統(tǒng)分析。〔2〕開發(fā)系統(tǒng)需求系統(tǒng)需求的開發(fā)過程如以下圖所示。a.細(xì)化需求?基于高層需求和系統(tǒng)概念及體系結(jié)構(gòu),向下定義子系統(tǒng)層的所有需求,即細(xì)化的用戶工作流程。如果系統(tǒng)很大〔有很多子系統(tǒng)〕或如果將與其它系統(tǒng)接口,就要清楚地定義所有外部接口。?確定系統(tǒng)性能和可靠性需求。如果某個(gè)接受準(zhǔn)那么對應(yīng)到某條需求〔如:滿足特定的響應(yīng)時(shí)間〕,那么需說明這條需求的測試準(zhǔn)那么。b.編寫系統(tǒng)需求規(guī)格說明書?在用戶已有業(yè)務(wù)系統(tǒng)的層面,識別需要滿足需求的輸入和輸出的數(shù)據(jù),用結(jié)構(gòu)化或面向?qū)ο蟮姆治龇椒ǎ缮鲕浖仨殞?shí)施的底層功能和算法。定義所有的文件、報(bào)告和顯示等,并指出哪些數(shù)據(jù)用戶必須能夠修改等。?保持設(shè)計(jì)和語言的中立性,即集中在軟件需要做什么方面,而不是怎么做。?創(chuàng)立一個(gè)追溯矩陣來映射每個(gè)底層的功能或數(shù)據(jù)說明使其能夠得到實(shí)現(xiàn)。?將上述結(jié)果形成文件,完成《系統(tǒng)需求規(guī)格說明書》的編寫,作為軟件開發(fā)的根底。c.系統(tǒng)需求規(guī)格說明書評審?對《系統(tǒng)需求規(guī)格說明書》進(jìn)行同行評審。評審后的《系統(tǒng)需求規(guī)格說明書》必須經(jīng)SCCB批準(zhǔn),作為需求基線,納入配置庫。工作產(chǎn)品?《系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書》?《可行性分析報(bào)告》?《系統(tǒng)需求規(guī)格說明書》?《追溯表》〔MT-PTM01B〕〔MT-PTM01C〕職責(zé)〔1〕系統(tǒng)工程組:負(fù)責(zé)完本錢過程元素所要求的所有活動(dòng),并填寫《追溯表》〔見《客戶需求管理程序文件》〕?!?〕工程經(jīng)理:負(fù)責(zé)制訂系統(tǒng)分析階段的方案〔在執(zhí)行過程中可能需要進(jìn)行方案修訂〕;管理、度量此過程,并負(fù)責(zé)安排同行評審?!?〕SCM:統(tǒng)計(jì)已定義的需求項(xiàng)的個(gè)數(shù)和已進(jìn)行說明的需求的百分比,填寫《客戶需求統(tǒng)計(jì)表》〔見《客戶需求管理程序文件》〕。資源和能力要求?必要的培訓(xùn)資源?支持系統(tǒng)需求分析的設(shè)備?支持系統(tǒng)需求分析的工具度量?統(tǒng)計(jì)已定義的需求項(xiàng)的個(gè)數(shù)和已進(jìn)行說明的需求的百分比?質(zhì)量〔同行評審缺陷統(tǒng)計(jì)〕?完本錢元素的工作所花費(fèi)的工時(shí)詳細(xì)裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針系統(tǒng)構(gòu)架和業(yè)務(wù)需求定義及系統(tǒng)可行性分析系統(tǒng)架構(gòu)識別執(zhí)行執(zhí)行新工程或有新的需求的工程不執(zhí)行無需修改客戶需求的工程進(jìn)行重用分析執(zhí)行執(zhí)行有可重用構(gòu)件庫或是已有版本的產(chǎn)品不執(zhí)行新產(chǎn)品或無可重用構(gòu)件庫業(yè)務(wù)需求定義執(zhí)行執(zhí)行新工程或要修改業(yè)務(wù)需求定義的工程不執(zhí)行無需修改業(yè)務(wù)需求定義的工程文檔編寫規(guī)模較大的、復(fù)雜的工程不編寫規(guī)模較小的工程或快速原型開發(fā);可與系統(tǒng)需求規(guī)格說明書合并。系統(tǒng)架構(gòu)和業(yè)務(wù)需求說明書評審執(zhí)行執(zhí)行規(guī)模較大的、復(fù)雜的工程不執(zhí)行規(guī)模較小的工程可不進(jìn)行,將其放到系統(tǒng)需求說明規(guī)格說明書中一起評審。可行性分析執(zhí)行執(zhí)行對系統(tǒng)需求能否實(shí)現(xiàn)不清楚不執(zhí)行對系統(tǒng)需求能否實(shí)現(xiàn)清楚文檔編寫規(guī)模較大、較復(fù)雜的工程上,執(zhí)行了可行性分析活動(dòng),要求出此報(bào)告。不編寫規(guī)模較小、無需執(zhí)行可行性分析活動(dòng);或規(guī)模較大、較復(fù)雜的工程,執(zhí)行了可行性分析活動(dòng),但不要求單獨(dú)出此報(bào)告,可合并到系統(tǒng)需求規(guī)格說明書中。開發(fā)系統(tǒng)需求細(xì)化需求執(zhí)行執(zhí)行新工程或需求需要進(jìn)一步細(xì)化的工程不執(zhí)行針對舊工程,細(xì)化的需求已存在3.2軟件需求分析元素概述軟件需求分析是按照工程定義的軟件開發(fā)過程,根據(jù)系統(tǒng)分配給軟件的需求〔見《系統(tǒng)需求規(guī)格說明書》〕,進(jìn)行軟件質(zhì)量特性規(guī)格說明的過程。該過程包括進(jìn)一步明確軟件運(yùn)行環(huán)境,明確對軟件的功能、性能和數(shù)據(jù)要求,以及軟件與硬件、軟件與軟件之間的接口要求等,并對軟件需求進(jìn)行驗(yàn)證和文檔化,即完成對軟件需求的分析與規(guī)格定義。有關(guān)軟件需求的變更管理,請參見《軟件配置管理程序文件》。本元素在整個(gè)過程中的位置如以下圖所示:軟件需求分析軟件需求分析結(jié)構(gòu)設(shè)計(jì)系統(tǒng)分配給軟件的需求入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么要素判斷準(zhǔn)那么客戶需求〔《系統(tǒng)需求規(guī)格說明書》〕?已由SCCB批準(zhǔn)為基線?已進(jìn)入配置庫〔2〕出口準(zhǔn)那么要素判斷準(zhǔn)那么軟件需求規(guī)格說明書?已經(jīng)過審查?已批準(zhǔn)為開發(fā)基線?已進(jìn)入配置庫系統(tǒng)測試方案?已經(jīng)過審查?已獲得批準(zhǔn)?已進(jìn)入配置庫系統(tǒng)測試案例用戶手冊〔概要〕?已編寫任務(wù)各工作階段如以下圖所示:定定義收集?分析評審準(zhǔn)備系統(tǒng)分配給軟件的需求軟件需求規(guī)格說明書〔1〕準(zhǔn)備階段a.必要時(shí)對軟件需求分析員進(jìn)行相關(guān)培訓(xùn)〔包括有關(guān)的技術(shù)和業(yè)務(wù)知識培訓(xùn),以及有關(guān)的工具使用培訓(xùn)〕。b.審查客戶需求,識別并解決影響軟件需求的問題。c.選擇適當(dāng)?shù)男枨蠓治龇椒ā矃⒁姼戒?.2-1、附錄3.2-2、附錄3.2-3、附錄3.2-4〕,并準(zhǔn)備相應(yīng)的分析工具。建議采用的需求分析方法包括:結(jié)構(gòu)化分析法、面向?qū)ο蠓治龇ê涂焖僭头ǖ?。如果需要采用上述分析法以外的其它需求分析法,?yīng)該得到SEPG的批準(zhǔn)。?結(jié)構(gòu)化分析法采用結(jié)構(gòu)化的分析技術(shù)。后續(xù)過程〔設(shè)計(jì)、實(shí)現(xiàn)〕通常也應(yīng)該采用結(jié)構(gòu)化技術(shù)。適用于中、小規(guī)模的軟件工程。?面向?qū)ο蠓治龇ú捎妹嫦驅(qū)ο蟮姆治黾夹g(shù)。后續(xù)過程〔設(shè)計(jì)、實(shí)現(xiàn)〕通常也應(yīng)該采用面向?qū)ο蠹夹g(shù)。適用于各種規(guī)模的軟件工程。?快速原型法借助快速開發(fā)工具,以提供原型的方式,迅速掌握客戶對軟件的需求。適用于客戶描述不清楚對軟件的全部或局部需求。建立滿足客戶需求的原型后,根據(jù)所采用的工具和實(shí)際需要確定是否重新進(jìn)行軟件需求規(guī)格定義??焖僭筒荒茏鳛槲┮坏能浖枨笠?guī)格表達(dá)方式,必須輔之以適當(dāng)?shù)能浖枨笠?guī)格說明書。快速原型法可以與結(jié)構(gòu)化分析或面向?qū)ο蠓治黾夹g(shù)結(jié)合使用?!?〕收集、分析階段本階段需要與客戶不斷接觸、協(xié)商。通過對收集到的信息進(jìn)行分析、歸納,界定出對軟件的需求,明確在目標(biāo)產(chǎn)品中需要什么和以什么形式來表現(xiàn)。與客戶交流的根本形式通常有兩種:客戶訪談?wù){(diào)查〔正式的和非正式的〕、書面調(diào)查〔書面報(bào)告和調(diào)查表〕。此外,通過對客戶使用的表格和所處的情景進(jìn)行分析,從而獲取需求,也是常用的方法。這些方法對前面推薦的三種需求分析中采用的分析法與后續(xù)過程的設(shè)計(jì)和實(shí)現(xiàn)方法有一定的關(guān)聯(lián)關(guān)系,通常應(yīng)該保持所選用的表達(dá)方法一致。詳見需求分析方法指南。除了調(diào)查客戶正常業(yè)務(wù)處理要求以外,特別需要關(guān)注的是異常處理和例外處理要求。這些處理要求往往在軟件需求中占有很大的比例,卻容易被無視。收集、分析可重用的軟件或功能模塊,確定可用項(xiàng)。本階段的工作步驟如下:?編制工作方案,特別是與受訪者協(xié)商確定調(diào)查、訪談日程安排。?運(yùn)用選定的需求分析方法,收集、識別是、導(dǎo)出軟件需求。?收集、篩選、確定可能重用的軟件或功能模塊。〔3〕定義階段a.根據(jù)軟件需求分析結(jié)果,選擇適當(dāng)?shù)膶?shí)現(xiàn)方案并說明選擇理由,形成軟件系統(tǒng)的初步設(shè)計(jì)方案〔包括對系統(tǒng)體系結(jié)構(gòu)、數(shù)據(jù)體系結(jié)構(gòu)和接口的初步設(shè)計(jì)〕。b.描述軟件需求規(guī)格,編制《軟件需求規(guī)格說明書》〔附錄3.2-5〕。c.編制用于驗(yàn)證和確認(rèn)軟件需求是否得到滿足的方法-《系統(tǒng)測試方案》和《系統(tǒng)測試案例》,測試方案的編寫標(biāo)準(zhǔn)見附錄3.2-6。d.建立《用戶手冊》〔概要〕。e.填寫追溯表。參見《客戶需求管理程序文件》?!?〕評審階段a.評審《軟件需求規(guī)格說明書》,具體評審過程見《技術(shù)類評審程序文件》,對軟件需求的評審準(zhǔn)那么包括:?系統(tǒng)需求和系統(tǒng)設(shè)計(jì)的可追溯性;?與系統(tǒng)需求的外部一致性;?內(nèi)部一致性;?可測試性;?軟件設(shè)計(jì)的可行性;?運(yùn)作和維護(hù)的可行性。b.對軟件需求中的問題,與系統(tǒng)工程組或客戶一起確定和審查,并對客戶需求和軟件需求做出適當(dāng)?shù)母?。c.對軟件需求規(guī)格說明書進(jìn)行同行評審。d.審查、批準(zhǔn)軟件需求規(guī)格說明書,必要時(shí),對其進(jìn)行設(shè)計(jì)評審。e.將軟件需求規(guī)格說明書置于配置管理之下。當(dāng)客戶需求變更,需要對軟件需求做相應(yīng)的更改時(shí),進(jìn)行變更控制。參見《軟件配置管理程序文件》。工作產(chǎn)品?《軟件需求規(guī)格說明書》?《系統(tǒng)測試方案》?《系統(tǒng)測試案例》?《用戶手冊》〔概要〕?《追溯表》〔MT-PTM01B〕〔MT-PTM01C〕職責(zé)?工程經(jīng)理:負(fù)責(zé)選擇適宜的軟件需求分析員,組建軟件需求工作組;確定是否需要對有關(guān)人員進(jìn)行培訓(xùn);負(fù)責(zé)軟件需求規(guī)格說明書的審查和批準(zhǔn)。?軟件需求分析員:軟件需求階段工作的主要承當(dāng)者。負(fù)責(zé)完本錢過程元素產(chǎn)生的所有工作產(chǎn)品。?系統(tǒng)測試負(fù)責(zé)人:負(fù)責(zé)組織軟件系統(tǒng)測試組對軟件需求進(jìn)行分析,審查軟件需求的可測試性;參與軟件需求規(guī)格說明書的審查和批準(zhǔn)。?質(zhì)量保證人員:參與工作產(chǎn)品的審查,統(tǒng)計(jì)缺陷,并對軟件需求分析過程進(jìn)行審計(jì)。?系統(tǒng)工程人員:配合處理涉及客戶需求的軟件需求問題。?系統(tǒng)工程負(fù)責(zé)人:負(fù)責(zé)組織系統(tǒng)工程組對軟件需求進(jìn)行分析,審查軟件需求的可測試性;負(fù)責(zé)協(xié)調(diào)處理涉及客戶需求的軟件需求問題;參與軟件需求規(guī)格說明書的審查和批準(zhǔn)。?客戶:參與軟件需求規(guī)格說明書的審查和批準(zhǔn)。資源和能力要求?必要的培訓(xùn)資源?支持軟件需求的設(shè)備?支持軟件需求的工具度量?需求狀態(tài)統(tǒng)計(jì)?質(zhì)量〔同行評審缺陷統(tǒng)計(jì)〕?完本錢元素的工作所花費(fèi)的工時(shí)詳細(xì)裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針培訓(xùn)培訓(xùn)執(zhí)行執(zhí)行如果軟件需求分析人員對需求分析方法及有關(guān)的工具使用或?qū)浖枨笏槍︻I(lǐng)域的業(yè)務(wù)知識缺乏了解,那么必須進(jìn)行相關(guān)培訓(xùn)。不執(zhí)行軟件需求分析人員已經(jīng)具備相關(guān)知識。軟件需求分析軟件需求分析方法結(jié)構(gòu)化分析法采用結(jié)構(gòu)化的分析技術(shù)。后續(xù)過程〔設(shè)計(jì)、實(shí)現(xiàn)〕通常也應(yīng)該采用結(jié)構(gòu)化技術(shù)。適用于中、小規(guī)模的軟件工程。詳見附錄3.2-1需求分析方法指南。面向?qū)ο蠓治龇ú捎妹嫦驅(qū)ο蟮姆治黾夹g(shù)。后續(xù)過程〔設(shè)計(jì)、實(shí)現(xiàn)〕通常也應(yīng)該采用面向?qū)ο蠹夹g(shù)。適用于各種規(guī)模的軟件工程。詳見附錄3.2-1需求分析方法指南??焖僭头ń柚焖匍_發(fā)工具,以提供原型的方式,迅速掌握客戶對軟件的需求。適用于客戶描述不清楚對軟件的全部或局部需求。詳見附錄3.2-1需求分析方法指南。評審設(shè)計(jì)評審執(zhí)行執(zhí)行重要的或技術(shù)難度較高的軟件工程。不執(zhí)行其它軟件工程。測試系統(tǒng)測試案例文檔單獨(dú)編寫規(guī)模較大的工程。不單獨(dú)編寫小型工程,可以與系統(tǒng)測試方案合并。3.3結(jié)構(gòu)設(shè)計(jì)元素概述結(jié)構(gòu)設(shè)計(jì)是指按照《軟件需求規(guī)格說明書》,設(shè)計(jì)軟件系統(tǒng)的體系結(jié)構(gòu),即模塊結(jié)構(gòu),定義每個(gè)模塊的主要功能和模板之間的聯(lián)系〔即接口〕,并確定軟件系統(tǒng)的數(shù)據(jù)體系結(jié)構(gòu)。本元素在整個(gè)過程中的位置如以下圖所示:結(jié)構(gòu)設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)軟件需求分析詳細(xì)設(shè)計(jì)入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么:要素判斷準(zhǔn)那么軟件需求規(guī)格說明書?經(jīng)過審查?審查獲得批準(zhǔn)?進(jìn)入配置庫〔2〕出口準(zhǔn)那么:要素判斷準(zhǔn)那么結(jié)構(gòu)設(shè)計(jì)說明書?經(jīng)過審查?審查獲得批準(zhǔn)?進(jìn)入配置庫集成測試方案任務(wù)編制編制分析?設(shè)計(jì)評審?批準(zhǔn)準(zhǔn)備軟件需求規(guī)格說明書結(jié)構(gòu)設(shè)計(jì)說明書〔1〕準(zhǔn)備階段根據(jù)《軟件需求規(guī)格說明書》,對軟件需求的分析結(jié)果進(jìn)行評估。?對軟件需求階段所產(chǎn)生的初步設(shè)計(jì)方案進(jìn)行評估;?檢查重用軟件,核實(shí)它們與整個(gè)系統(tǒng)需求是否相符;?根據(jù)《軟件需求規(guī)格說明書》,對未確定需求進(jìn)行評估,確定對策。〔2〕分析、設(shè)計(jì)階段對《軟件需求規(guī)格說明書》進(jìn)行分析的根底上,使用結(jié)構(gòu)化或面向?qū)ο蟮姆椒ㄟM(jìn)行結(jié)構(gòu)設(shè)計(jì)。主要包括三個(gè)方面的工作-系統(tǒng)體系結(jié)構(gòu)、數(shù)據(jù)體系結(jié)構(gòu)以及接口的設(shè)計(jì)。a.系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)?擴(kuò)充軟件需求階段所提出的初步的系統(tǒng)體系結(jié)構(gòu)。對擴(kuò)展后的體系結(jié)構(gòu)進(jìn)行完善,降低那些使軟件難于實(shí)現(xiàn)、測試、維護(hù)和重用的因素,形成高內(nèi)聚、低耦合的系統(tǒng)體系結(jié)構(gòu)。b.數(shù)據(jù)體系結(jié)構(gòu)設(shè)計(jì)?擴(kuò)展軟件需求階段所提出的初步的數(shù)據(jù)體系結(jié)構(gòu),將其變換成實(shí)現(xiàn)軟件所需的數(shù)據(jù)結(jié)構(gòu)。c.接口設(shè)計(jì)?擴(kuò)展軟件需求階段所提出的初步的接口,將其變換成實(shí)現(xiàn)軟件所需的接口;?設(shè)計(jì)軟件模塊間的接口;?設(shè)計(jì)人和計(jì)算機(jī)間的接口〔即人機(jī)界面〕?!?〕編制階段a.根據(jù)分析和設(shè)計(jì)的結(jié)果,編制《軟件結(jié)構(gòu)設(shè)計(jì)說明書》〔附錄3.3-1〕。b.編制結(jié)構(gòu)設(shè)計(jì)的驗(yàn)收準(zhǔn)那么-《集成測試方案》和《集成測試案例》,確定用于驗(yàn)證和確認(rèn)結(jié)構(gòu)設(shè)計(jì)是否得到滿足的方法;包括集成步驟和方法。測試方案編寫標(biāo)準(zhǔn)見附錄3.2-6。驗(yàn)證和確認(rèn)的方法包括:演示、集成測試、驗(yàn)證測試、分析和審查等。c.定義錯(cuò)誤處理和恢復(fù)策略,確定用戶的輸入、顯示,更新軟件需求階段建立的初步的《用戶手冊》。d.填寫追溯表。參見《客戶需求管理程序文件》?!?〕評審、批準(zhǔn)階段a.對《結(jié)構(gòu)設(shè)計(jì)說明書》和《集成測試方案》進(jìn)行同行評審。b.對結(jié)構(gòu)設(shè)計(jì)中的問題,與軟件需求分析人員一起確定和審查,并對結(jié)構(gòu)設(shè)計(jì)進(jìn)行適當(dāng)?shù)母?。c.審查、批準(zhǔn)《結(jié)構(gòu)設(shè)計(jì)說明書》,必要時(shí),對其進(jìn)行設(shè)計(jì)評審。d.將《結(jié)構(gòu)設(shè)計(jì)說明書》、《集成測試方案》和《集成測試案例》置于配置管理之下。工作產(chǎn)品?《結(jié)構(gòu)設(shè)計(jì)說明書》?《集成測試方案》?《集成測試案例》?《用戶手冊》〔初步〕?《追溯表》〔MT-PTM01B〕〔MT-PTM01C〕職責(zé)?工程經(jīng)理:*負(fù)責(zé)選擇適宜的設(shè)計(jì)人員,組建結(jié)構(gòu)設(shè)計(jì)工作組。*負(fù)責(zé)《結(jié)構(gòu)設(shè)計(jì)說明書》和《集成測試方案》的審查和批準(zhǔn)。?結(jié)構(gòu)設(shè)計(jì)人員:結(jié)構(gòu)設(shè)計(jì)階段工作的主要承當(dāng)者,負(fù)責(zé)完本錢過程元素產(chǎn)生的所有工作產(chǎn)品。?系統(tǒng)分析員:配合處理涉及軟件需求的問題。?系統(tǒng)工程負(fù)責(zé)人:*負(fù)責(zé)組織系統(tǒng)工程組對結(jié)構(gòu)設(shè)計(jì)進(jìn)行分析,審查結(jié)構(gòu)設(shè)計(jì)的可測試性;*負(fù)責(zé)協(xié)調(diào)處理涉及軟件需求的問題;*參與《結(jié)構(gòu)設(shè)計(jì)說明書》和《集成測試方案》的審查和批準(zhǔn)。?軟件測試負(fù)責(zé)人:*負(fù)責(zé)組織軟件測試組對結(jié)構(gòu)設(shè)計(jì)進(jìn)行分析,審查結(jié)構(gòu)設(shè)計(jì)的可測試性;*參與《結(jié)構(gòu)設(shè)計(jì)說明書》和《集成測試方案》的審查和批準(zhǔn)。資源和能力要求?結(jié)構(gòu)設(shè)計(jì)所需要的人力?結(jié)構(gòu)設(shè)計(jì)所需要知識的培訓(xùn)?結(jié)構(gòu)設(shè)計(jì)所需要的設(shè)備?支持結(jié)構(gòu)設(shè)計(jì)的開發(fā)工具度量?質(zhì)量〔評審發(fā)現(xiàn)的缺陷數(shù)、缺陷的檢出率〕?完本錢元素的工作所花費(fèi)的工時(shí)詳細(xì)裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針組建設(shè)計(jì)組培訓(xùn)規(guī)模多個(gè)小組系統(tǒng)規(guī)模大、技術(shù)難度高單一小組系統(tǒng)規(guī)模小、技術(shù)難度一般結(jié)構(gòu)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)的結(jié)構(gòu)設(shè)計(jì)執(zhí)行不執(zhí)行1、如果軟件需求階段所獲得初步的系統(tǒng)體系結(jié)構(gòu)已經(jīng)足夠滿足需要2、已由客戶獲得3、舊系統(tǒng)改造、系統(tǒng)體系結(jié)構(gòu)不需更改執(zhí)行其它情況重用構(gòu)件的性能模擬執(zhí)行不執(zhí)行系統(tǒng)響應(yīng)要求不高執(zhí)行其它情況評審設(shè)計(jì)評審執(zhí)行執(zhí)行重要的或技術(shù)難度較高的軟件工程不執(zhí)行其它軟件工程測試集成測試案例文檔單獨(dú)編寫復(fù)雜軟件集成不單獨(dú)編寫簡單軟件集成,可以與集成測試方案合并3.4詳細(xì)設(shè)計(jì)元素概述詳細(xì)設(shè)計(jì)是根據(jù)《結(jié)構(gòu)設(shè)計(jì)說明書》進(jìn)行模塊設(shè)計(jì),將結(jié)構(gòu)設(shè)計(jì)所獲得的模塊按照單元、程序、規(guī)程的順序逐步細(xì)化。詳細(xì)定義各個(gè)單元的數(shù)據(jù)結(jié)構(gòu)、程序的實(shí)現(xiàn)算法以及程序、單元、模塊之間的接口等,作為以后編碼工作的依據(jù)。本元素在整個(gè)過程中的位置如以下圖所示:詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)編碼入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么:要素判斷準(zhǔn)那么結(jié)構(gòu)設(shè)計(jì)說明書?經(jīng)過審查?審查獲得批準(zhǔn)?進(jìn)入配置庫〔2〕出口準(zhǔn)那么:要素判斷準(zhǔn)那么詳細(xì)設(shè)計(jì)說明書?經(jīng)過審查?審查獲得批準(zhǔn)?進(jìn)入配置庫單元測試方案任務(wù)編制編制分析?設(shè)計(jì)評審?批準(zhǔn)準(zhǔn)備結(jié)構(gòu)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書根據(jù)已批準(zhǔn)的《結(jié)構(gòu)設(shè)計(jì)說明書》,詳細(xì)定義各個(gè)模塊的數(shù)據(jù)結(jié)構(gòu)、算法、接口等,編寫《詳細(xì)設(shè)計(jì)說明書》〔附錄3.4-1〕和《單元測試方案》,測試方案編寫標(biāo)準(zhǔn)見附錄3.2-6。〔1〕準(zhǔn)備階段根據(jù)《結(jié)構(gòu)設(shè)計(jì)說明書》,對結(jié)構(gòu)設(shè)計(jì)的設(shè)計(jì)方案進(jìn)行評估?!?〕分析、設(shè)計(jì)階段a.根據(jù)《結(jié)構(gòu)設(shè)計(jì)說明書》,擴(kuò)展結(jié)構(gòu)設(shè)計(jì)階段所定義的系統(tǒng)體系結(jié)構(gòu)。按照單元、程序、過程的順序逐步細(xì)化,將各個(gè)子系統(tǒng)成功地精化到每個(gè)元素構(gòu)件實(shí)現(xiàn)一個(gè)簡單的功能,并且能被編寫成為一個(gè)單一的單元。設(shè)計(jì)內(nèi)容還包括對將程序、單元、模塊各局部逐步構(gòu)成造成一個(gè)完整系統(tǒng)的構(gòu)造環(huán)境的要求,即按照程序、單元、模塊的順序確定集成方法。b.確定每個(gè)單元的實(shí)現(xiàn)算法?確定每個(gè)單元所包含程序的實(shí)現(xiàn)算法和處理流程。c.重用單元的檢查?識別來自軟件重用庫的單元是否重用,根據(jù)必要修改這些單元的算法和處理流程?!?〕編制階段a.根據(jù)分析和設(shè)計(jì)的結(jié)果,編制《詳細(xì)設(shè)計(jì)說明書》;b.編制詳細(xì)設(shè)計(jì)的驗(yàn)收準(zhǔn)那么-《單元測試方案》和《單元測試案例》,確定用于驗(yàn)證和確認(rèn)詳細(xì)設(shè)計(jì)是否得到滿足的方法;驗(yàn)證和確認(rèn)的方法包括:演示、集成測試、驗(yàn)證測試、分析和審查等;c.審查、批準(zhǔn)《詳細(xì)設(shè)計(jì)說明書》,必要時(shí),對其進(jìn)行設(shè)計(jì)評審;d.更新《用戶手冊》?對于每個(gè)子系統(tǒng)指定詳細(xì)的輸入和輸出格式,例如:顯示,打印機(jī)和描圖儀的輸出,以及數(shù)據(jù)儲存。〔4〕評審、批準(zhǔn)階段a.對《詳細(xì)設(shè)計(jì)說明書》和《單元測試方案》可進(jìn)行走查或〔和〕同行評審;b.對詳細(xì)設(shè)計(jì)中的問題,與結(jié)構(gòu)設(shè)計(jì)人員一起確定和審查,并對詳細(xì)設(shè)計(jì)做出適應(yīng)的更改;c.審查、批準(zhǔn)《詳細(xì)設(shè)計(jì)說明書》,必要時(shí),對其進(jìn)行設(shè)計(jì)評審;d.將《詳細(xì)設(shè)計(jì)說明書》和《單元測試方案》置于配置管理之下。工作產(chǎn)品?《詳細(xì)設(shè)計(jì)說明書》?《單元測試方案》?《單元測試案例》?《用戶手冊》?《追溯表》〔MT-PTM01B〕〔MT-PTM01C〕職責(zé)?工程經(jīng)理:*負(fù)責(zé)選擇適宜的設(shè)計(jì)人員,組建詳細(xì)設(shè)計(jì)組。*負(fù)責(zé)《詳細(xì)設(shè)計(jì)說明書》和《單元測試方案》的審查和批準(zhǔn)。?詳細(xì)設(shè)計(jì)人員:詳細(xì)設(shè)計(jì)階段工作的主要承當(dāng)者。負(fù)責(zé)完本錢過程元素產(chǎn)生的所有工作產(chǎn)品。?系統(tǒng)分析員:配合處理涉及軟件需求的問題。?系統(tǒng)工程負(fù)責(zé)人:*負(fù)責(zé)組織系統(tǒng)工程組對詳細(xì)設(shè)計(jì)進(jìn)行分析,審查詳細(xì)設(shè)計(jì)的可測試性;*負(fù)責(zé)協(xié)調(diào)處理涉及軟件需求的問題;*參與《詳細(xì)設(shè)計(jì)說明書》和《單元測試方案》的審查和批準(zhǔn)。?軟件測試經(jīng)理:*負(fù)責(zé)組織軟件測試組對詳細(xì)設(shè)計(jì)進(jìn)行分析,審查詳細(xì)設(shè)計(jì)的可測試性;*參與《詳細(xì)設(shè)計(jì)說明書》和《單元測試方案》的審查和批準(zhǔn)。資源和能力要求?詳細(xì)設(shè)計(jì)所需要的人力?詳細(xì)設(shè)計(jì)所需要知識的培訓(xùn)?詳細(xì)設(shè)計(jì)所需要的設(shè)備?支持詳細(xì)設(shè)計(jì)的開發(fā)工具度量?工時(shí)?質(zhì)量〔評審缺陷統(tǒng)計(jì)〕詳細(xì)裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針組建設(shè)計(jì)組設(shè)計(jì)組規(guī)模規(guī)模多個(gè)小組系統(tǒng)規(guī)模大、技術(shù)難度高單一小組系統(tǒng)規(guī)模小、技術(shù)難度一般詳細(xì)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)的詳細(xì)設(shè)計(jì)執(zhí)行不執(zhí)行1、如果結(jié)構(gòu)設(shè)計(jì)階段所獲得系統(tǒng)體系結(jié)構(gòu)已經(jīng)足夠滿足需要2、由客戶獲得3、舊系統(tǒng)改造、系統(tǒng)體系結(jié)構(gòu)不需更改執(zhí)行其它情況數(shù)據(jù)體系結(jié)構(gòu)的詳細(xì)設(shè)計(jì)執(zhí)行不執(zhí)行1、小工程,且數(shù)據(jù)體系結(jié)構(gòu)足夠滿足需要2、已由客戶獲得3、舊系統(tǒng)改造、數(shù)據(jù)體系結(jié)構(gòu)不需更改執(zhí)行其它情況評審走查或〔和〕同行評審方法走查小型、簡單軟件工程同行評審大中型、一般軟件工程走查和同行評審重要軟件工程設(shè)計(jì)評審執(zhí)行執(zhí)行重要的或技術(shù)難度較高的軟件工程不執(zhí)行其它軟件工程測試單元測試方案文檔編寫由獨(dú)立的單元測試人員進(jìn)行單元測試不編寫由編程人員自己進(jìn)行單元測試單元測試案例文檔單獨(dú)編寫復(fù)雜功能單元不單獨(dú)編寫簡單功能單元,可以與單元測試方案合并3.5編碼元素概述編碼階段主要完成的工作是根據(jù)詳細(xì)設(shè)計(jì)說明書編寫程序源代碼,包括必要的數(shù)據(jù)文件,并進(jìn)行單元測試,單元測試的內(nèi)容包括模塊內(nèi)程序的邏輯、功能、參數(shù)傳遞、變量引用、出錯(cuò)處理等方面。本元素在整個(gè)過程中的位置如以下圖所示:詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)集成測試入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么:要素判斷準(zhǔn)那么詳細(xì)設(shè)計(jì)說明書單元測試方案?經(jīng)過審查?審查獲得批準(zhǔn)?進(jìn)入配置庫〔2〕出口準(zhǔn)那么:要素判斷準(zhǔn)那么源代碼文件源代碼文件清單?源代碼文件獲得批準(zhǔn)?源代碼文件進(jìn)入配置庫的源代碼區(qū)單元測試報(bào)告?提交測試負(fù)責(zé)人軟件問題報(bào)告單?提交問題管理渠道任務(wù)各工作階段如以下圖所示:詳細(xì)設(shè)計(jì)說明書單元測試方案詳細(xì)設(shè)計(jì)說明書單元測試方案審查代碼編制單元測試準(zhǔn)備源程序文件單元測試報(bào)告軟件問題報(bào)告單詳細(xì)設(shè)計(jì)說明書單元測試方案〔1〕準(zhǔn)備階段?培訓(xùn)*根據(jù)員的實(shí)際水平進(jìn)行有關(guān)編程語言、編程標(biāo)準(zhǔn)、編程方法、編程工具、調(diào)試方法、配置管理等方面的培訓(xùn);*根據(jù)測試人員的實(shí)際水平進(jìn)行有關(guān)測試方法、測試工具、問題匯報(bào)方法等方面的培訓(xùn);有關(guān)被測產(chǎn)品的功能培訓(xùn)。?準(zhǔn)備開發(fā)及測試工具和環(huán)境,如有必要在各編碼組內(nèi)對臨時(shí)的編譯環(huán)境和調(diào)試方法進(jìn)行約定?!?〕編制階段?程序員依據(jù)詳細(xì)設(shè)計(jì),進(jìn)行程序單元的編制工作〔包括建立相關(guān)的構(gòu)造環(huán)境〕,并自行檢查;在無特殊要求下,單元測試也可由編程者進(jìn)行,參見裁剪指南。將編制的源代碼文件提交審查。?在更正測試問題時(shí),修改源碼,提交新的源碼文件?!?〕審查階段?對源代碼文件進(jìn)行同行評審,主要的方法為對照詳細(xì)設(shè)計(jì)說明書對代碼進(jìn)行查閱,也可根據(jù)編程者的經(jīng)驗(yàn)或程序的難度、重要程度,選擇走查評審方式,但目的都是發(fā)現(xiàn)程序存在的問題。?在更正測試問題的情況下,在更正發(fā)現(xiàn)的問題之后,對源代碼文件進(jìn)行批準(zhǔn),并將其提交配置庫的源代碼區(qū)中。〔4〕單元測試階段?從配置庫獲取源碼文件,對照單元測試方案和測試用例進(jìn)行測試,并將測試結(jié)果記錄于測試報(bào)告〔見附錄3.5-1〕。對源碼文件進(jìn)行的測試,視程序存在缺陷的情況,可能要重復(fù)進(jìn)行,直至問題解決。?將測試中發(fā)現(xiàn)的缺陷/問題記錄于問題報(bào)告單,提交測試負(fù)責(zé)人,并進(jìn)入問題管理渠道,以便相應(yīng)的開發(fā)人員進(jìn)行更正,見3.10測試問題管理。?單元測試的執(zhí)行者,一般情況下可由程序的編碼者進(jìn)行,特殊情況可由獨(dú)立于編碼者的測試人員進(jìn)行。工作產(chǎn)品?源代碼文件?《單元測試報(bào)告》?《軟件問題報(bào)告單》〔MT-OP01C〕?《軟件問題狀態(tài)登記表》〔MT-OP01D〕職責(zé)?工程經(jīng)理*建立編碼組、測試組或相應(yīng)崗位,并進(jìn)行必要的培訓(xùn);*跟蹤進(jìn)度和問題解決狀態(tài);*對提交的源代碼進(jìn)行批準(zhǔn)〔或指定負(fù)責(zé)人進(jìn)行批準(zhǔn)工作〕。?程序員:編寫和修改程序代碼〔包括自行測試〕,提交工作產(chǎn)品,批準(zhǔn)后將其配置入配置區(qū)的源碼庫。?單元測試人員:測試源代碼,提交測試報(bào)告和軟件問題報(bào)告單。?評審人員:負(fù)責(zé)對指定源代碼進(jìn)行閱讀,發(fā)現(xiàn)缺陷和問題,填寫評審報(bào)告。資源和能力要求?編碼及單元測試所需要的軟硬件開發(fā)環(huán)境和編程/測試人員;?必要的編程/測試培訓(xùn)。度量工程經(jīng)理負(fù)責(zé)進(jìn)行以下統(tǒng)計(jì):?源程序總量〔總代碼行數(shù)或功能點(diǎn)等規(guī)模測量值〕;?發(fā)現(xiàn)的缺陷總數(shù);?編碼工時(shí)和審查工時(shí);詳細(xì)裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針培訓(xùn)編程語言、編程標(biāo)準(zhǔn)、編程方法、編程工具、調(diào)試方法、配置管理執(zhí)行不執(zhí)行對開發(fā)環(huán)境和編程語言等有經(jīng)驗(yàn)的團(tuán)隊(duì)執(zhí)行對開發(fā)環(huán)境和編程語言等缺乏經(jīng)驗(yàn)的團(tuán)隊(duì),或采用新的編程語言、工具的情況測試方法、測試工具、問題匯報(bào)方法執(zhí)行不執(zhí)行對單元測試有經(jīng)驗(yàn)的團(tuán)隊(duì)執(zhí)行對單元測試缺乏經(jīng)驗(yàn)的團(tuán)隊(duì),或采用新的工具的情況不單獨(dú)編寫簡單功能單元,可以與單元測試方案合并3.6集成測試元素概述集成測試階段主要完成的工作是集成和集成測試。集成是參考結(jié)構(gòu)設(shè)計(jì)說明書并根據(jù)詳細(xì)說明書中規(guī)定的系統(tǒng)集成方案將不同的測試的程序單元進(jìn)行構(gòu)造,并逐步構(gòu)造成一個(gè)完整的軟件產(chǎn)品的過程;集成測試那么是在集成完成之后,對各單元、模塊之間接口的正確性和集成后功能的正確性進(jìn)行驗(yàn)證。對于大型軟件,集成測試可以采取分步進(jìn)行的方法,例如可以先對各子系統(tǒng)進(jìn)行集成測試,然后在子系統(tǒng)之間進(jìn)行集成測試。本元素在整個(gè)過程中的位置如以下圖所示:集成測試集成測試編碼系統(tǒng)測試入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么:要素判斷準(zhǔn)那么結(jié)構(gòu)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書集成測試方案源代碼文件?經(jīng)過審查?獲得批準(zhǔn)?進(jìn)入配置庫〔2〕出口準(zhǔn)那么:要素判斷準(zhǔn)那么集成的軟件系統(tǒng)〔完整的源代碼和目標(biāo)代碼〕?獲得批準(zhǔn)?進(jìn)入配置庫集成測試報(bào)告?提交集成測試負(fù)責(zé)人軟件問題報(bào)告單?已進(jìn)入軟件問題管理流程任務(wù)審查審查構(gòu)造集成測試準(zhǔn)備結(jié)構(gòu)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書集成測試方案源代碼文件集成的軟件系統(tǒng)集成測試報(bào)告軟件問題報(bào)告單〔1〕準(zhǔn)備階段是:?培訓(xùn)*根據(jù)編程人員的實(shí)際水平進(jìn)行有關(guān)程序語言、集成方法、版本控制工具、構(gòu)造工具和配置管理工具的培訓(xùn);*根據(jù)測試人員的實(shí)際水平進(jìn)行有關(guān)測試方法、測試工具、測試問題匯報(bào)方法等方面的培訓(xùn)。?準(zhǔn)備構(gòu)造環(huán)境;?向工程組發(fā)布集成日程及源碼庫凍結(jié)時(shí)間表;?準(zhǔn)備測試工具和環(huán)境?!?〕構(gòu)造階段?在每次集成前,根據(jù)詳細(xì)設(shè)計(jì)中的集成方法和步驟〔如自頂向下,自底向上,面向?qū)ο蟮燃煞椒ā?,集成?fù)責(zé)人負(fù)責(zé)制定集成工作表單〔見附錄3.6-1〕,其中列出分步集成的程序清單、配置區(qū)的獲取源、集成時(shí)間表、源碼庫凍結(jié)方案、集成結(jié)果的版本號或標(biāo)識名,并將該工作表單發(fā)布給所有工程的開發(fā)人員和管理人員;?凍結(jié)相關(guān)的源代碼庫;?分步驟將各局部的程序源代碼導(dǎo)入集成環(huán)境,進(jìn)行編譯和鏈接或等同的構(gòu)造操作〔針對非過程化的編程語言〕;?記錄構(gòu)造過程中出現(xiàn)的問題。如果問題屬構(gòu)造環(huán)境不完善,那么完善構(gòu)造環(huán)境;如果問題屬于源代碼文件級〔包括局部構(gòu)造環(huán)境〕的問題,那么填寫軟件問題報(bào)告單,匯報(bào)出現(xiàn)的問題;問題解決后,重復(fù)構(gòu)造過程,直至構(gòu)造完成;每次構(gòu)造需標(biāo)識每次構(gòu)造的版本號;?構(gòu)造結(jié)束或源代碼導(dǎo)入集成環(huán)境的過程結(jié)束〔取決于代碼配置管理機(jī)制〕,開放源代碼庫;?將工作產(chǎn)品提交審查?!?〕審查階段?核查集成狀態(tài)和結(jié)果,并進(jìn)行批準(zhǔn);?批準(zhǔn)后,將目標(biāo)程序和程序清單進(jìn)入目標(biāo)代碼庫。〔4〕集成測試階段?在每次集成測試前,集成測試負(fù)責(zé)人負(fù)責(zé)制定集成測試工作表〔見附錄3.6-2〕,其中列出當(dāng)次集成測試的類型、程序名及標(biāo)識號〔對應(yīng)集成結(jié)果〕、范圍、時(shí)間表、參加人員和分工,并將該工作表單發(fā)布給所有工程的開發(fā)人員和管理人員;?從目標(biāo)代碼庫獲取程序目標(biāo)碼,對照集成測試方案進(jìn)行測試,并將測試結(jié)果記錄于測試報(bào)告〔測試報(bào)告編寫標(biāo)準(zhǔn)見附錄3.5-1〕;?將測試中發(fā)現(xiàn)的缺陷/問題記錄于軟件問題報(bào)告單,提交測試負(fù)責(zé)人,并進(jìn)入軟件問題管理流程,以便由相關(guān)的開發(fā)人員進(jìn)行更正,見3.10測試問題管理;?集成測試視程序存在缺陷的情況,可能要重復(fù)進(jìn)行,直到問題解決;每當(dāng)測試軟件或軟件的環(huán)境發(fā)生變化時(shí),應(yīng)適當(dāng)進(jìn)行回歸測試。工作產(chǎn)品?集成后的系統(tǒng)目標(biāo)代碼〔包括文件清單〕,及相應(yīng)的源代碼〔包括文件清單〕?集成測試報(bào)告?《軟件問題報(bào)告單》〔MT-OP01C〕?《軟件問題狀態(tài)登記表》〔MT-OP01D〕?《集成工作單》〔MT-OP01A〕?《集成測試工作單》〔MT-OP01B〕職責(zé)?工程經(jīng)理:建立集成組、集成測試組或相應(yīng)崗位,并進(jìn)行必要的培訓(xùn);跟蹤進(jìn)度和問題解決狀態(tài);對集成后的系統(tǒng)目標(biāo)碼進(jìn)行批準(zhǔn)〔或指定負(fù)責(zé)人進(jìn)行批準(zhǔn)工作〕。?集成負(fù)責(zé)人員:負(fù)責(zé)集成過程的實(shí)施。?集成人員:負(fù)責(zé)環(huán)境構(gòu)建,集成的過程操作,并將集成后的目標(biāo)代碼提交批準(zhǔn)。?程序員、設(shè)計(jì)人員:修改源碼或設(shè)計(jì),解決集成過程中出現(xiàn)的與源碼有關(guān)的問題。?測試人員:測試系統(tǒng)目標(biāo)碼,將測試報(bào)告和軟件問題報(bào)告單提交測試負(fù)責(zé)人。資源和能力要求?集成環(huán)境、測試工具、人力設(shè)備資源?相關(guān)的版本維護(hù)管理的培訓(xùn)?集成策略及目標(biāo)代碼的版本維護(hù)度量工程經(jīng)理負(fù)責(zé)進(jìn)行以下統(tǒng)計(jì):?發(fā)現(xiàn)的缺陷總數(shù)及解決的缺陷總數(shù);?集成及集成測試的工時(shí);?進(jìn)度完成情況。詳細(xì)裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針培訓(xùn)程序語言、集成方法、版本管理工具、構(gòu)造工具和配置管理工具的培訓(xùn)執(zhí)行不執(zhí)行有集成背景的團(tuán)隊(duì)執(zhí)行對開發(fā)環(huán)境和編程語言等缺乏經(jīng)驗(yàn)的團(tuán)隊(duì),或采用新的編程語言、工具的情況培訓(xùn)測試方法、測試工具、問題匯報(bào)方法執(zhí)行不執(zhí)行對單元測試有經(jīng)驗(yàn)的團(tuán)隊(duì)執(zhí)行對單元測試缺乏經(jīng)驗(yàn)的團(tuán)隊(duì),或采用新的工具的情況3.7系統(tǒng)測試元素概述系統(tǒng)測試的主要任務(wù)是從系統(tǒng)需求的角度對系統(tǒng)運(yùn)行的正確性和性能進(jìn)行驗(yàn)證。系統(tǒng)測試的依據(jù)為系統(tǒng)測試方案。本元素在整個(gè)過程中的位置如以下圖所示:系統(tǒng)測試系統(tǒng)測試集成測試驗(yàn)收入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么:要素判斷準(zhǔn)那么系統(tǒng)需求系統(tǒng)的目標(biāo)代碼系統(tǒng)測試方案?經(jīng)過審查?獲得批準(zhǔn)?進(jìn)入配置庫用戶手冊編寫完成〔2〕出口準(zhǔn)那么:要素判斷準(zhǔn)那么系統(tǒng)測試報(bào)告軟件問題報(bào)告單?獲得批準(zhǔn)任務(wù)系統(tǒng)測試系統(tǒng)測試準(zhǔn)備系統(tǒng)需求說明書系統(tǒng)目標(biāo)代碼集成測試方案用戶手冊系統(tǒng)測試報(bào)告軟件問題報(bào)告單〔1〕準(zhǔn)備階段是:?培訓(xùn):根據(jù)測試人員的實(shí)際水平進(jìn)行有關(guān)測試方法、測試工具、測試流程、問題匯報(bào)方法等方面的培訓(xùn);有關(guān)被測產(chǎn)品的功能培訓(xùn);?安排測試日程;?準(zhǔn)備測試工具和環(huán)境;?準(zhǔn)備必要的測試數(shù)據(jù)?!?〕測試階段?從目標(biāo)代碼庫獲取程序目標(biāo)代碼,對照系統(tǒng)測試方案并參考用戶手冊進(jìn)行測試,將測試結(jié)果記錄于測試報(bào)告〔測試報(bào)告編寫標(biāo)準(zhǔn)見附錄3.5-1〕;?將測試中發(fā)現(xiàn)的缺陷/問題記錄于問題報(bào)告單,并提交測試負(fù)責(zé)人,進(jìn)入軟件問題管理流程〔見3.10〕?集成測試視程序存在缺陷的情況,可能重復(fù)進(jìn)行,直至問題解決。工作產(chǎn)品?《系統(tǒng)測試報(bào)告》?《軟件問題報(bào)告單》〔MT-OP01C〕?《軟件問題狀態(tài)登記表》〔MT-OP01D〕職責(zé)?工程經(jīng)理:負(fù)責(zé)建立系統(tǒng)測試組或相關(guān)的崗位,并進(jìn)行必要的培訓(xùn);跟蹤進(jìn)度和問題解決狀態(tài);對最終的目標(biāo)代碼進(jìn)行批準(zhǔn)〔或指定負(fù)責(zé)人進(jìn)行批準(zhǔn)工作〕。?程序員、設(shè)計(jì)人員:修改源碼或設(shè)計(jì),解決集成過程中出現(xiàn)的與源碼有關(guān)的問題。?測試人員:測試系統(tǒng)目標(biāo)碼,將測試報(bào)告提交測試負(fù)責(zé)人,將軟件問題報(bào)告單提交問題管理渠道〔見3.10〕。資源和能力要求?執(zhí)行測試的軟硬件環(huán)境和測試人員?必要的測試工具?必要的培訓(xùn)度量工程經(jīng)理負(fù)責(zé)進(jìn)行以下統(tǒng)計(jì):?發(fā)現(xiàn)的缺陷總數(shù)及解決的缺陷總數(shù);?進(jìn)度完成情況。詳細(xì)裁剪指南活動(dòng)可裁剪屬性選擇裁剪指導(dǎo)方針培訓(xùn)測試方法、測試工具、問題匯報(bào)方法執(zhí)行不執(zhí)行對單元測試有經(jīng)驗(yàn)的團(tuán)隊(duì)執(zhí)行對單元測試缺乏經(jīng)驗(yàn)的團(tuán)隊(duì),或采用新的工具的情況系統(tǒng)測試系統(tǒng)測試執(zhí)行不執(zhí)行集成測試中已包含對系統(tǒng)功能的測試執(zhí)行集成測試只涉及模塊的接口測試,不涉及功能測試3.8驗(yàn)收元素概述驗(yàn)收階段主要由驗(yàn)收測試、驗(yàn)收測試問題改正和驗(yàn)收三局部組成:?驗(yàn)收測試的主要目的是驗(yàn)證所開發(fā)的系統(tǒng)在用戶的使用環(huán)境下〔或模擬的用戶使用環(huán)境下〕是否滿足系統(tǒng)需求,從用戶的角度驗(yàn)證整個(gè)系統(tǒng)進(jìn)行的正確性。?驗(yàn)收測試問題改正是對驗(yàn)收測試中發(fā)差異性問題進(jìn)行修改。?驗(yàn)收那么是在驗(yàn)收測試的根底上,依據(jù)工程合同或工程任務(wù)書對工程的完成情況進(jìn)行綜合評價(jià)。本元素在整個(gè)過程中的位置如以下圖所示:驗(yàn)收驗(yàn)收系統(tǒng)測試維護(hù)入口準(zhǔn)那么和出口準(zhǔn)那么〔1〕入口準(zhǔn)那么:要素判斷準(zhǔn)那么驗(yàn)收測試方案已評審測試〔系統(tǒng)測試、集成測試、單元測試〕已完成〔2〕出口準(zhǔn)那么:要素判斷準(zhǔn)那么驗(yàn)收測試報(bào)告已提交驗(yàn)收測試問題報(bào)告單已關(guān)閉驗(yàn)收報(bào)告已提交任務(wù)〔1〕驗(yàn)收測試驗(yàn)收測試流程圖如下所示:分析并報(bào)告測試結(jié)果分析并報(bào)告測試結(jié)果執(zhí)行/再執(zhí)行驗(yàn)收用例準(zhǔn)備驗(yàn)收測試驗(yàn)收測試方案用戶手冊系統(tǒng)描述軟件代碼驗(yàn)收測試報(bào)告由驗(yàn)收測試組完成以下活動(dòng):a.準(zhǔn)備驗(yàn)收測試測試人員從配置庫提取驗(yàn)收測試方案和被測試系統(tǒng)的目標(biāo)代碼,根據(jù)測試方案建立測試環(huán)境,必要時(shí)準(zhǔn)備測試數(shù)據(jù)和編寫測試用例程序,同時(shí)參考用戶手冊。b.執(zhí)行/再執(zhí)行驗(yàn)收測試用例按驗(yàn)收測試方案〔必要時(shí)參考用戶手冊〕反復(fù)執(zhí)行驗(yàn)收測試用例。將測試發(fā)現(xiàn)的問題填寫到《軟件問題報(bào)告單》〔見3.10問題管理〕,通過測試問題管理渠道提交給相應(yīng)的開發(fā)人員進(jìn)行更正,并重復(fù)測試過程,直至問題得到解決。c.分析并報(bào)告測試結(jié)果分析測試結(jié)果并形成驗(yàn)收測試報(bào)告〔見附錄3.2-1〕?!?〕驗(yàn)收測試問題改正驗(yàn)收測試問題改正流程如以下圖所示:發(fā)布已驗(yàn)收測試的系統(tǒng)升級配置庫發(fā)布已驗(yàn)收測試的系統(tǒng)升級配置庫修改軟件錯(cuò)誤驗(yàn)收測試問題報(bào)告單將交付的產(chǎn)品包括以下活動(dòng):a.修改軟件錯(cuò)誤開發(fā)組人員根據(jù)測試問題報(bào)告單分析、修改錯(cuò)誤,假設(shè)有變更那么按變更控制的要求執(zhí)行。b.升級配置庫SCM負(fù)責(zé)人對新提交的配置進(jìn)行配置?!?〕驗(yàn)收a.組織驗(yàn)收驗(yàn)收在驗(yàn)收測試的根底上由驗(yàn)收組進(jìn)行,驗(yàn)收組通常應(yīng)有客戶代表和SCCB的成員參加。驗(yàn)收內(nèi)容一般包括以下方面:?對工程實(shí)施的技術(shù)路線、采用的關(guān)鍵技術(shù)進(jìn)行評價(jià);?對應(yīng)產(chǎn)生的工作產(chǎn)品的完整性、正確性進(jìn)行評價(jià);?對驗(yàn)收測試的結(jié)果進(jìn)行評價(jià);?依據(jù)工程合同或工程任務(wù)書對工程的完成情況進(jìn)行綜合評價(jià)。在上述評價(jià)的根底上,給出驗(yàn)收結(jié)論,并形成驗(yàn)收報(bào)告。驗(yàn)收結(jié)論分為:通過驗(yàn)收;需要復(fù)評;不通過驗(yàn)收。其中:?根本符合工程合同或工程任務(wù)書的要求按期保質(zhì)完成的,可視為通過驗(yàn)收。?由于提供文件資料不詳,難以判斷,或任務(wù)完成缺乏80%且原因難

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論