版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件開發(fā)過程概述
BeyondTechnology南海東軟信息技術(shù)學(xué)院2012.03軟件開發(fā)過程概述BeyondTechnology南海東軟信本節(jié)教學(xué)目標(biāo)本節(jié)的目標(biāo)是介紹軟件過程的思想。學(xué)習(xí)本節(jié),需要了解以下內(nèi)容:軟件過程和軟件過程模型的概念幾個(gè)一般的軟件過程模型及它們的使用范圍軟件需求、軟件開發(fā)、測(cè)試和進(jìn)化中所涉及到的活動(dòng)概貌本節(jié)教學(xué)目標(biāo)本節(jié)的目標(biāo)是介紹軟件過程的思想。學(xué)習(xí)本節(jié),需要了本節(jié)主要內(nèi)容什么是軟件過程軟件過程與軟件工程的關(guān)系什么是軟件過程模型過程反復(fù)過程活動(dòng)本節(jié)主要內(nèi)容什么是軟件過程幾個(gè)概念什么軟件:計(jì)算機(jī)程序和相關(guān)文檔。軟件產(chǎn)品可為特定客戶或通用市場(chǎng)開發(fā)什么是軟件工程:軟件工程是關(guān)于軟件生產(chǎn)的各個(gè)方面的工程學(xué)科什么是軟件過程:以軟件開發(fā)和進(jìn)化為目的的一系列活動(dòng)什么是軟件過程模型:以特定角度提出的軟件過程的簡(jiǎn)化表示形式幾個(gè)概念什么軟件:計(jì)算機(jī)程序和相關(guān)文檔。軟件產(chǎn)品可為特定客戶軟件過程軟件過程是復(fù)雜的,像所有智力過程一樣,它依賴于人的判斷軟件過程具有極大的差異型。沒有一個(gè)理想的過程,并且不同的機(jī)構(gòu)采用的是完全不同的軟件開發(fā)方法。對(duì)于一些系統(tǒng),需要使用一種非常結(jié)構(gòu)化的開發(fā)過程;而對(duì)于業(yè)務(wù)系統(tǒng),由于需求的變更頻繁,采用一個(gè)靈活、敏捷的過程可能更有效軟件過程軟件過程是復(fù)雜的,像所有智力過程一樣,它依賴于人的判軟件過程雖然不同軟件過程有很大的差異,但是有些基本活動(dòng)還是所有軟件過程都具有的。它們是:軟件描述:軟件的功能以及軟件操作上的約束必須定義軟件設(shè)計(jì)和實(shí)現(xiàn):軟件一定要按照描述來生產(chǎn)軟件有效性驗(yàn)證:軟件要被確定是有效的,即軟件能做客戶想要的事情軟件進(jìn)化:軟件一定按客戶需要的變更來進(jìn)化軟件過程雖然不同軟件過程有很大的差異,但是有些基本活動(dòng)還是所軟件過程模型軟件過程模型是軟件過程的抽象表示法。每個(gè)過程模型從一個(gè)特定的角度表現(xiàn)一個(gè)過程,只提供過程的某一側(cè)面的信息。從體系結(jié)構(gòu)的角度來分析一些非常一般的過程模型,來解釋不同的軟件開發(fā)方法。在實(shí)際的開發(fā)過程中,往往將這些模型看做過程框架,對(duì)其進(jìn)行擴(kuò)展并匹配它們來創(chuàng)建符合實(shí)際環(huán)境的專用的軟件開發(fā)過程。討論以下過程模型:瀑布模型進(jìn)化式開發(fā)基于組件的軟件工程
這三個(gè)一般模型廣泛的用于當(dāng)前的軟件工程實(shí)踐。它們相互不排斥,而且經(jīng)常一起使用,尤其是在大型系統(tǒng)開發(fā)當(dāng)中。軟件過程模型軟件過程模型是軟件過程的抽象表示法。每個(gè)過程模型瀑布模型這個(gè)模型采用一些基本的過程活動(dòng),即描述、開發(fā)、有效性驗(yàn)證和進(jìn)化,并且使用單獨(dú)的過程階段(如需求描述、軟件設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等階段)表現(xiàn)這些活動(dòng)。該模型圖從一個(gè)階段到另一個(gè)階段逐次下降,因此命名為“瀑布模型”或軟件生命周期模型:
瀑布模型這個(gè)模型采用一些基本的過程活動(dòng),即描述、開發(fā)、有效性瀑布模型需求分析與定義:通過咨詢系統(tǒng)用戶建立系統(tǒng)的服務(wù)、約束和目標(biāo)。并對(duì)其詳細(xì)定義從而為系統(tǒng)描述服務(wù)系統(tǒng)和軟件設(shè)計(jì):系統(tǒng)設(shè)計(jì)過程區(qū)分硬件和軟件系統(tǒng)的需求。它建立一個(gè)總體的系統(tǒng)體系結(jié)構(gòu)。軟件設(shè)計(jì)包括識(shí)別和描述一些基本的軟件系統(tǒng)的抽象及其之間的關(guān)系瀑布模型需求分析與定義:通過咨詢系統(tǒng)用戶建立系統(tǒng)的服務(wù)、約束實(shí)現(xiàn)和單元測(cè)試:在這個(gè)階段,軟件設(shè)計(jì)是作為一組程序或者程序單元實(shí)現(xiàn)的,單元測(cè)試就是檢驗(yàn)每個(gè)單元是否符合描述集成和系統(tǒng)測(cè)試:集成單個(gè)的程序單元或者程序,并對(duì)他能夠整體進(jìn)行測(cè)試以確保其滿足需求。在測(cè)試之后,軟件系統(tǒng)交付給客戶使用運(yùn)行和維護(hù):正常情況下(雖然不是必須的),這是一個(gè)具有最長(zhǎng)生命周期的階段。系統(tǒng)被安裝并且進(jìn)入實(shí)際的使用中。維護(hù)包括改正在早期各階段末發(fā)現(xiàn)的錯(cuò)誤,改善系統(tǒng)單元的實(shí)現(xiàn),當(dāng)新的需求出現(xiàn)時(shí)提供系統(tǒng)的服務(wù)能力實(shí)現(xiàn)和單元測(cè)試:在這個(gè)階段,軟件設(shè)計(jì)是作為一組程序或者程序單瀑布模型主要優(yōu)勢(shì):它的每個(gè)階段都生成文檔,而且它與其他工程過程模型相一致主要缺點(diǎn):他將項(xiàng)目生硬得分解成這些確切的階段。委托事項(xiàng)一定要在過程的早期階段清晰給出,而這意味著他難以響應(yīng)用戶需求的變更實(shí)用范圍:只有在全面理解需求,而且在系統(tǒng)開發(fā)過程中不太可能發(fā)生重大改變的時(shí)候,應(yīng)該采用瀑布模型。瀑布模型主要優(yōu)勢(shì):它的每個(gè)階段都生成文檔,而且它與其他工程過進(jìn)化式開發(fā)模型這個(gè)方法在描述活動(dòng)、開發(fā)活動(dòng)和有效性驗(yàn)證活動(dòng)中不斷修改內(nèi)容,即用抽象描述快速開發(fā)出一個(gè)初始的系統(tǒng),然后由客戶提供的信息來精煉系統(tǒng),直到客戶滿意為止該方法主張描述、開發(fā)和有效性驗(yàn)證等活動(dòng)并行執(zhí)行,同時(shí)讓這些活動(dòng)都能得到快速的反饋信息進(jìn)化式開發(fā)模型這個(gè)方法在描述活動(dòng)、開發(fā)活動(dòng)和有效性驗(yàn)證活動(dòng)中進(jìn)化式開發(fā)模型進(jìn)化式開發(fā)有兩個(gè)基本類型:探索式開發(fā):其目標(biāo)是與用戶一起工作,共同探討系統(tǒng)需求,直至最后交付系統(tǒng)。這類開發(fā)是從需求較清楚的部分開始,根據(jù)用戶的建議逐漸向系統(tǒng)中添加功能拋棄式原型:這種開發(fā)方法的目標(biāo)是理解用戶需求,然后再給出系統(tǒng)的一個(gè)較好的需求定義。原型著重對(duì)客戶需求理解差的那一部分的實(shí)驗(yàn)進(jìn)化式開發(fā)模型進(jìn)化式開發(fā)有兩個(gè)基本類型:進(jìn)化式開發(fā)模型主要優(yōu)勢(shì):進(jìn)化式方法在應(yīng)付客戶緊急需要的情況下較瀑布模型更為有效。基于進(jìn)化式方法的軟件過程的好處是不斷的補(bǔ)充完善。當(dāng)用戶對(duì)系統(tǒng)需求有更深刻理解時(shí),能夠很快在軟件系統(tǒng)中得到反映。從工程學(xué)和管理學(xué)角度來看,此方法存在兩個(gè)問題:過程不可見:如果系統(tǒng)開發(fā)很快,要產(chǎn)生每個(gè)版本的文檔來反映變更就很不劃算系統(tǒng)結(jié)構(gòu)通常較差:這是因?yàn)檫B續(xù)的變革損壞了系統(tǒng)的結(jié)構(gòu)。越往后變更系統(tǒng)就越困難,而且成本逐漸上升進(jìn)化式開發(fā)模型主要優(yōu)勢(shì):進(jìn)化式方法在應(yīng)付客戶緊急需要的情況下進(jìn)化式開發(fā)模型實(shí)用范圍:對(duì)于很小規(guī)?;蛘咧行拖到y(tǒng)(達(dá)到500000行代碼),采用進(jìn)化式開發(fā)方法不失為一種最佳選擇。對(duì)于大型的,生命周期很長(zhǎng)的系統(tǒng),由不同的團(tuán)隊(duì)負(fù)責(zé)開發(fā)系統(tǒng)的不同部分,進(jìn)化式開發(fā)的問題就變得很突出。采用這種方法很難建立一個(gè)穩(wěn)定的系統(tǒng)框架,保證來自不同團(tuán)隊(duì)的貢獻(xiàn)可以很好的集成。因此對(duì)于大型系統(tǒng),可以采用混合型開發(fā)方法。結(jié)合瀑布模型和進(jìn)化式開發(fā)方法的優(yōu)點(diǎn)。進(jìn)化式開發(fā)模型實(shí)用范圍:基于組件的軟件工程模型這種方法是基于已存在的很多可復(fù)用的組件。系統(tǒng)的開發(fā)過程主要是把這些組件集成到新系統(tǒng)中,而非從頭開發(fā)。復(fù)用時(shí)常對(duì)快速系統(tǒng)開發(fā)來說是必不可少的。面向復(fù)用的方法依賴可以存取的可復(fù)用軟件組件以及能集成這些組件的框架?;诮M件的軟件工程模型這種方法是基于已存在的很多可復(fù)用的組件基于組件的軟件工程模型初始需求和有效性驗(yàn)證方面和其他開發(fā)過程一樣,但是中間過程就有很大的不同:組件分析:按照需求描述,搜尋能滿足需求的組件需求修改:根據(jù)得到的組件信息修改需求,如不允許修改需求,則要重新尋求組件使用復(fù)用的系統(tǒng)設(shè)計(jì):在這個(gè)階段設(shè)計(jì)系統(tǒng)的框架,或者重復(fù)使用一個(gè)已存在的框架。如果沒有合適的框架,則需要重新設(shè)計(jì)一個(gè)新的軟件開發(fā)和集成:當(dāng)沒有合適的組件時(shí),就要自己開發(fā),然后再集成這些自己開發(fā)的和現(xiàn)成的組件,使之成為一個(gè)整體?;诮M件的軟件工程模型初始需求和有效性驗(yàn)證方面和其他開發(fā)過程基于組件的軟件工程模型主要優(yōu)點(diǎn):減少了需要開發(fā)的軟件數(shù)量,從而降低了軟件開發(fā)成本,同時(shí)也降低了風(fēng)險(xiǎn)。通常也可以使軟件快速交付主要缺點(diǎn):有時(shí)為了適應(yīng)某個(gè)組件,存在對(duì)客戶需求的修改,而且這可能導(dǎo)致一個(gè)不符合用戶真正需要的系統(tǒng)。此外,對(duì)系統(tǒng)進(jìn)化的控制也不起作用,因?yàn)榭蓮?fù)用的組件新的版本是不受機(jī)構(gòu)控制的基于組件的軟件工程模型主要優(yōu)點(diǎn):減少了需要開發(fā)的軟件數(shù)量,從過程反復(fù)對(duì)于所有的大型軟件項(xiàng)目來說,變更是不可避免的。這意味著軟件過程不是一個(gè)一次性的過程,在有變更請(qǐng)求,系統(tǒng)需要重新去做的時(shí)候,過程活動(dòng)就會(huì)有規(guī)律的重復(fù)進(jìn)行重復(fù)式開發(fā)對(duì)于軟件來說是一個(gè)十分基礎(chǔ)的內(nèi)容,在這里我們通過兩個(gè)過程模型的描述來介紹這個(gè)主題,這兩個(gè)過程模型是專門設(shè)計(jì)用于支持過程重復(fù)的:增量式開發(fā)螺旋式開發(fā)過程反復(fù)對(duì)于所有的大型軟件項(xiàng)目來說,變更是不可避免的。這意味增量式開發(fā)模型在增量開發(fā)的過程中,客戶大概地提出系統(tǒng)需要提供的服務(wù),指明哪些服務(wù)是最重要的,哪些是最不重要的。此時(shí),一系列的交付增量被確定,每個(gè)增量提供系統(tǒng)功能的子集。對(duì)增量中服務(wù)的分配取決于服務(wù)的優(yōu)先次序。最高優(yōu)先級(jí)的服務(wù)首先被交付。增量式開發(fā)模型在增量開發(fā)的過程中,客戶大概地提出系統(tǒng)需要提供增量式開發(fā)模型增量式開發(fā)模型增量式開發(fā)模型每個(gè)增量開發(fā)沒有必要使用相同的過程方法,當(dāng)一個(gè)增量中的服務(wù)有了完善的描述時(shí),開發(fā)可以使用瀑布模型。在描述不清楚的地方,就可能用一個(gè)進(jìn)化式開發(fā)模型增量式開發(fā)模型每個(gè)增量開發(fā)沒有必要使用相同的過程方法,當(dāng)一個(gè)增量式開發(fā)模型主要優(yōu)點(diǎn):客戶無需等到整個(gè)系統(tǒng)實(shí)現(xiàn)。第一個(gè)增量會(huì)滿足他們大多數(shù)關(guān)鍵需求,因此,軟件馬上就能使用客戶可以將早期的增量作為原型,從中獲得對(duì)后面系統(tǒng)增量的需求經(jīng)驗(yàn)項(xiàng)目總體性失敗的風(fēng)險(xiǎn)比較低。雖然可能在一些增量中遇到問題,但是其他一些增量將會(huì)成功的交付客戶因?yàn)樽钪匾脑隽孔钕忍峤唬竺娴脑隽恳膊粩嗟谋患蛇M(jìn)來,這就使得最重要的系統(tǒng)服務(wù)得到了最多的測(cè)試。主要缺點(diǎn):很難把客戶的需求映射到適當(dāng)規(guī)模的增量上。大多數(shù)系統(tǒng)功能都用到的公共服務(wù)很難在初期定義出來增量式開發(fā)模型主要優(yōu)點(diǎn):增量式方法模型增量式方法的一個(gè)最近的進(jìn)化方法稱作“極限編程”(extremeprogramming)。它是建立在開發(fā)和交付非常小的功能增量方式上的,客戶參與在開發(fā)的過程中,經(jīng)常性的參與代碼改進(jìn)和結(jié)對(duì)編程。增量式方法模型增量式方法的一個(gè)最近的進(jìn)化方法稱作“極限編程”螺旋式開發(fā)模型它不是將軟件過程用一系列的活動(dòng)和活動(dòng)間的回溯來表示,而是將過程用螺旋線表示。在螺旋線中,每個(gè)回路表示軟件過程的一個(gè)階段。因此,最里面的回路可能與系統(tǒng)可行性分析有關(guān),下一個(gè)回路與系統(tǒng)需求定義有關(guān),再下一個(gè)回路與系統(tǒng)設(shè)計(jì)有關(guān),等等。螺旋式開發(fā)模型它不是將軟件過程用一系列的活動(dòng)和活動(dòng)間的回溯來螺旋式開發(fā)模型螺旋式開發(fā)中每個(gè)回路分成四個(gè)部分:目標(biāo)設(shè)置:為項(xiàng)目的每個(gè)階段定義專門目標(biāo)風(fēng)險(xiǎn)評(píng)估和規(guī)避:每個(gè)項(xiàng)目風(fēng)險(xiǎn)確定以后要進(jìn)行詳細(xì)的分析,并采取措施規(guī)避風(fēng)險(xiǎn)開發(fā)和有效性驗(yàn)證:在風(fēng)險(xiǎn)預(yù)估之后,就可以為系統(tǒng)選擇開發(fā)模型規(guī)劃:對(duì)項(xiàng)目進(jìn)行評(píng)審之后確定是否需要進(jìn)入螺旋線的下一個(gè)回路特點(diǎn):對(duì)風(fēng)險(xiǎn)考慮是明確的,對(duì)每個(gè)環(huán)節(jié)都有風(fēng)險(xiǎn)評(píng)估適用于:風(fēng)險(xiǎn)比較大的項(xiàng)目螺旋式開發(fā)模型螺旋式開發(fā)中每個(gè)回路分成四個(gè)部分:過程活動(dòng)在軟件開發(fā)過程中,如何來組織描述、開發(fā)、驗(yàn)證和進(jìn)化這四個(gè)基本過程,取決于軟件類型、人員以及機(jī)構(gòu)的組織結(jié)構(gòu)過程活動(dòng)在軟件開發(fā)過程中,如何來組織描述、開發(fā)、驗(yàn)證和進(jìn)化這過程活動(dòng)-軟件描述軟件描述或者需求工程主要是理解定義系統(tǒng)需要哪些服務(wù)以及找出開發(fā)和運(yùn)行期間受到哪些約束需求工程對(duì)于軟件過程是一個(gè)特別關(guān)鍵的階段,這個(gè)階段的錯(cuò)誤將不可避免的帶到后續(xù)的系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)階段中過程活動(dòng)-軟件描述軟件描述或者需求工程主要是理解定義系統(tǒng)需要軟件開發(fā)過程概述報(bào)告課件過程活動(dòng)-軟件描述需求工程過程有四個(gè)主要階段:可行性研究:從軟硬件技術(shù)上能否實(shí)現(xiàn),從業(yè)務(wù)角度成本是否劃算來判斷。研究的結(jié)果就是要得出結(jié)論,該系統(tǒng)是否值得進(jìn)行更細(xì)致的分析需求導(dǎo)出和分析:這是一個(gè)通過對(duì)現(xiàn)有系統(tǒng)分析、與潛在用戶和購買者討論、進(jìn)行任務(wù)分析等導(dǎo)出系統(tǒng)需求的過程。也許需要開發(fā)一個(gè)或多個(gè)不同的系統(tǒng)模型和原型。這樣有助于分析員了解所描述的系統(tǒng)需求描述:就是把在分析活動(dòng)中收集的信息以文檔的形式確定下來。在這個(gè)文檔中有兩類需求:用戶需求:從客戶和最終用戶角度對(duì)系統(tǒng)需求的抽象描述系統(tǒng)需求:對(duì)系統(tǒng)要提供的功能的詳盡描述需求有效性驗(yàn)證:檢查文檔的描述的準(zhǔn)確性、完備性等過程活動(dòng)-軟件描述需求工程過程有四個(gè)主要階段:過程活動(dòng)-軟件描述需求工程過程的產(chǎn)出:產(chǎn)出用以描述系統(tǒng)的文檔。在這個(gè)文檔中包含兩個(gè)層次的需求描述:最終用戶和客戶需求高層次的需求描述;系統(tǒng)開發(fā)人員需要比較詳細(xì)的系統(tǒng)描述。過程活動(dòng)-軟件描述需求工程過程的產(chǎn)出:產(chǎn)出用以描述系統(tǒng)的文檔過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)該階段是把系統(tǒng)描述轉(zhuǎn)換成一個(gè)可運(yùn)行的系統(tǒng)的過程包含設(shè)計(jì)和編碼兩個(gè)部分。如果是進(jìn)化式開發(fā)方法,可能還包含軟件的精煉過程軟件設(shè)計(jì)是對(duì)實(shí)現(xiàn)軟件的結(jié)構(gòu)、系統(tǒng)的數(shù)據(jù)、系統(tǒng)組件間的接口以及所用的算法的描述。設(shè)計(jì)者不可能一次就完成一個(gè)完整的設(shè)計(jì),這是一個(gè)多次反復(fù)的過程。過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)該階段是把系統(tǒng)描述轉(zhuǎn)換成一個(gè)可運(yùn)行的過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)過程中一些專門的活動(dòng):體系結(jié)構(gòu)設(shè)計(jì):確定系統(tǒng)是由哪些子系統(tǒng)構(gòu)成的,以及這些子系統(tǒng)之間的關(guān)系是怎樣的,并對(duì)這些內(nèi)容編寫文檔抽象描述:對(duì)每個(gè)子系統(tǒng)提供的服務(wù)以及子系統(tǒng)在什么范圍內(nèi)運(yùn)行給出抽象描述接口設(shè)計(jì):對(duì)每個(gè)子系統(tǒng),都要給出與其他子系統(tǒng)間的接口設(shè)計(jì)并編寫文檔。這個(gè)接口描述一定是無二義的組件設(shè)計(jì):把服務(wù)分配到不同的組建,并設(shè)計(jì)這些組件的接口數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):詳細(xì)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)階段要試用的數(shù)據(jù)結(jié)構(gòu),并給出描述算法設(shè)計(jì):詳細(xì)設(shè)計(jì)服務(wù)將要采用的算法并對(duì)此給出描述以上是設(shè)計(jì)過程中非常一般的模型,實(shí)際的過程中有不同程度的調(diào)整過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)過程中一些專門的活動(dòng):過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)對(duì)設(shè)計(jì)過程可能的調(diào)整:設(shè)計(jì)的最后兩個(gè)階段——數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)——可能推遲到實(shí)現(xiàn)過程完成如果試用探索式開發(fā)方法,系統(tǒng)界面的設(shè)計(jì)可能要在數(shù)據(jù)結(jié)構(gòu)得到定義之后進(jìn)行抽象描述階段可能要忽略掉隨著敏捷開發(fā)方法的越來越多的使用,設(shè)計(jì)過程的輸出不再是單獨(dú)的文檔了,可能是用程序代碼來表示。在系統(tǒng)體系結(jié)構(gòu)完成之后,后面的設(shè)計(jì)階段都是漸增式的。每個(gè)增量可以表示為一段程序代碼而不是設(shè)計(jì)模型結(jié)構(gòu)化的設(shè)計(jì)方法(面向功能的設(shè)計(jì))與面向?qū)ο蟮脑O(shè)計(jì)方法過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)對(duì)設(shè)計(jì)過程可能的調(diào)整:過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)完成后,就是實(shí)現(xiàn)系統(tǒng)的程序開發(fā)過程程序設(shè)計(jì)因人而異,通常沒有統(tǒng)一的模式程序設(shè)計(jì)人員要對(duì)自己開發(fā)的程序進(jìn)行調(diào)試錯(cuò)誤檢測(cè)和調(diào)試不是一回事,檢測(cè)是要發(fā)現(xiàn)存在的錯(cuò)誤,而調(diào)試是要定位錯(cuò)誤并改正這些錯(cuò)誤進(jìn)行程序調(diào)試時(shí),首先要對(duì)程序的行為有一個(gè)最初的預(yù)計(jì),然后執(zhí)行程序看輸出結(jié)果是否同預(yù)期的一樣。調(diào)試過程需要程序員一步步地手動(dòng)跟蹤代碼,同時(shí)會(huì)需要一些測(cè)試用例來定位問題。過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)完成后,就是實(shí)現(xiàn)系統(tǒng)的程序開過程活動(dòng)-軟件有效性驗(yàn)證軟件有效性驗(yàn)證,或更一般的稱為檢驗(yàn)和有效性檢驗(yàn),是要看系統(tǒng)是否符合他的描述以及系統(tǒng)是否符合客戶的預(yù)期目標(biāo)。他包括檢查過程和從用戶需求定義到程序開發(fā)的每個(gè)軟件過程階段。通常的測(cè)試過程:先是組件測(cè)試,其次是集成系統(tǒng)測(cè)試,最后是用客戶數(shù)據(jù)對(duì)系統(tǒng)的測(cè)試。這是一個(gè)多次反復(fù)的過程。過程活動(dòng)-軟件有效性驗(yàn)證軟件有效性驗(yàn)證,或更一般的稱為檢驗(yàn)和過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試過程的階段:組件(或單元)測(cè)試:測(cè)試單個(gè)組件,以確保其操作的正確性,獨(dú)立的測(cè)試每個(gè)組件,而不受其他系統(tǒng)組件的影響。組件可能是簡(jiǎn)單的實(shí)體,如函數(shù)或?qū)ο箢?,或是這些實(shí)體的組合集成系統(tǒng)測(cè)試:組件得以集成形成系統(tǒng)。這個(gè)過程側(cè)重于找出組件間非預(yù)期的交互行為和組件接口問題。也關(guān)注系統(tǒng)是否滿足功能上和非功能上的需求,并測(cè)試系統(tǒng)的總體特性。對(duì)于大型系統(tǒng)可能有:子系統(tǒng)集成測(cè)試、最終系統(tǒng)集成測(cè)試等多階段測(cè)試過程系統(tǒng)接收測(cè)試:系統(tǒng)在運(yùn)行之前進(jìn)行的最后階段測(cè)試。是用客戶提供的真實(shí)數(shù)據(jù)進(jìn)行測(cè)試。能暴露系統(tǒng)需求中的錯(cuò)誤和遺漏以及系統(tǒng)是否達(dá)到性能要求等其他的問題過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試過程的階段:過程活動(dòng)-軟件有效性驗(yàn)證組件的開發(fā)和測(cè)試是交叉進(jìn)行的。程序員自己構(gòu)造用來測(cè)試的數(shù)據(jù),在代碼開發(fā)過程中增量的進(jìn)行測(cè)試對(duì)于增量式開發(fā)方法,每一個(gè)增量在開發(fā)的時(shí)候就應(yīng)該測(cè)試,這種測(cè)試根據(jù)對(duì)增量的需求來設(shè)計(jì)對(duì)于極限編程,測(cè)試和需求都是先于開發(fā)過程。這幫助測(cè)試者和開發(fā)者理解需求并保證不會(huì)由于設(shè)計(jì)測(cè)試案例而拖延時(shí)間一個(gè)獨(dú)立的測(cè)試團(tuán)隊(duì)需要有一個(gè)擬定的測(cè)試計(jì)劃并按照這個(gè)測(cè)試計(jì)劃來工作,制定測(cè)試計(jì)劃的依據(jù)是系統(tǒng)描述和設(shè)計(jì)過程活動(dòng)-軟件有效性驗(yàn)證組件的開發(fā)和測(cè)試是交叉進(jìn)行的。程序員過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試計(jì)劃是如何把測(cè)試和開發(fā)活動(dòng)聯(lián)系起來的?接收測(cè)試也叫做α測(cè)試,需要持續(xù)到客戶與開發(fā)者都滿意為止系統(tǒng)需要上市銷售時(shí),要進(jìn)行的測(cè)試叫做β測(cè)試過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試計(jì)劃是如何把測(cè)試和開發(fā)活動(dòng)聯(lián)系起過程活動(dòng)-軟件進(jìn)化軟件的變更可以發(fā)生在系統(tǒng)開發(fā)之中或之后的任何時(shí)間里現(xiàn)在已經(jīng)不再將軟件工程看作是開發(fā)和維護(hù)兩個(gè)完全獨(dú)立的過程,而是將其看作一個(gè)進(jìn)化的過程,即在軟件的生命期內(nèi)不斷的隨著需求的變化而變更的進(jìn)化式過程過程活動(dòng)-軟件進(jìn)化軟件的變更可以發(fā)生在系統(tǒng)開發(fā)之中或之后的任Rational統(tǒng)一過程Rational統(tǒng)一過程(RUP)是現(xiàn)代過程模型的一個(gè)實(shí)例。他是混合過程模型的一個(gè)很好的實(shí)例。他集合了所有一般過程模型的要素,支持反復(fù),并給出了描述和設(shè)計(jì)上的一個(gè)好的實(shí)踐。RUP過程認(rèn)識(shí)到傳統(tǒng)過程模型展現(xiàn)的是過程的一個(gè)視角,RUP一般從三個(gè)視角來描述:動(dòng)態(tài)視角,給出模型隨時(shí)間所經(jīng)歷的各個(gè)階段靜態(tài)視角,給出所有規(guī)定的過程活動(dòng)實(shí)踐視角,建議在過程中采用好的實(shí)踐實(shí)例Rational統(tǒng)一過程Rational統(tǒng)一過程(RUP)是Rational統(tǒng)一過程RUP動(dòng)態(tài)視角(組織成幾個(gè)可以重復(fù)的階段)開端:建立系統(tǒng)的一個(gè)業(yè)務(wù)案例。評(píng)估系統(tǒng)對(duì)業(yè)務(wù)的貢獻(xiàn),決定項(xiàng)目是否有必要繼續(xù)進(jìn)行細(xì)化:增進(jìn)對(duì)問題的理解,建立系統(tǒng)的體系框架,給出項(xiàng)目計(jì)劃并識(shí)別關(guān)鍵項(xiàng)目風(fēng)險(xiǎn),本階段完成時(shí),就得到系統(tǒng)的需求模型,是軟件的一個(gè)體系描述和開發(fā)計(jì)劃構(gòu)造:主要關(guān)心的是系統(tǒng)設(shè)計(jì)、編碼和測(cè)試。系統(tǒng)的各個(gè)部分在并行開發(fā),再集成在一起。在這個(gè)階段完成時(shí),就得到了一個(gè)能工作的軟件系統(tǒng)了,還有能交付給用戶的相關(guān)文檔轉(zhuǎn)換:RUP的最后階段,關(guān)注如何將系統(tǒng)從開發(fā)單位轉(zhuǎn)移到用戶單位,并使之在真是環(huán)境中工作。此階段完成時(shí),就有了一個(gè)在操作環(huán)境下能正常工作的軟件系統(tǒng)及其文檔了Rational統(tǒng)一過程RUP動(dòng)態(tài)視角(組織成幾個(gè)可以重復(fù)的Rational統(tǒng)一過程RUP的靜態(tài)視角(靜態(tài)工作流)工作流描述業(yè)務(wù)建模使用業(yè)務(wù)對(duì)業(yè)務(wù)過程進(jìn)行建模需求找出與系統(tǒng)進(jìn)行交互的參與者并開發(fā)用例完成對(duì)系統(tǒng)需求的建模分析和設(shè)計(jì)使用體系結(jié)構(gòu)模型、組件模型、對(duì)象模型和序列模型來創(chuàng)建并記錄設(shè)計(jì)模型實(shí)現(xiàn)實(shí)現(xiàn)系統(tǒng)中的組件并將他們合理安排在子系統(tǒng)中,從設(shè)計(jì)模型自動(dòng)代碼生成有助于加快此過程測(cè)試測(cè)試是一個(gè)反復(fù)過程,他的執(zhí)行是與實(shí)現(xiàn)緊密相關(guān)聯(lián)的。系統(tǒng)測(cè)試緊隨實(shí)現(xiàn)環(huán)節(jié)的完成部署創(chuàng)建和奮發(fā)產(chǎn)品版本并安裝到他們的工作場(chǎng)所配置和變更管理此支持工作流管理對(duì)系統(tǒng)的變更項(xiàng)目管理此支持工作流管理系統(tǒng)開發(fā)環(huán)境此工作流用于提供軟件開發(fā)團(tuán)隊(duì)可用的合適的軟件工具Rational統(tǒng)一過程RUP的靜態(tài)視角(靜態(tài)工作流)工作流Rational統(tǒng)一過程RUP的實(shí)踐視角:反復(fù)的開發(fā)軟件:根據(jù)客戶的輕重緩急來規(guī)劃系統(tǒng)的增量,在開發(fā)過程中先開發(fā)和交付最高優(yōu)先權(quán)的系統(tǒng)特征管理需求:明確的記錄客戶的需求并跟蹤這些需求的變更。在接受之前分析系統(tǒng)的變更所帶來的影響使用基于組件的體系結(jié)構(gòu):將系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)成組件式可視化模型軟件:使用圖形化UML模型來表現(xiàn)軟件的靜態(tài)和動(dòng)態(tài)視圖驗(yàn)證軟件質(zhì)量:確保軟件滿足了機(jī)構(gòu)質(zhì)量標(biāo)準(zhǔn)控制對(duì)軟件的變更:使用變更管理軟件及配置管理過程和工具來管理軟件的變更Rational統(tǒng)一過程RUP的實(shí)踐視角:Rational統(tǒng)一過程RUP并不適合于所有的開發(fā)類型,但是他卻是代表了新的一代的一般過程。最重要的創(chuàng)新在于對(duì)階段的分解和工作流,以及將軟件部署到用戶環(huán)境視為過程的一部分。階段是動(dòng)態(tài)的而且是有目標(biāo)的。工作流是靜態(tài)的,且是不與單個(gè)階段相關(guān)的技術(shù)活動(dòng),但是可以在整個(gè)開發(fā)過程中使用,以便達(dá)到每個(gè)階段的目標(biāo)Rational統(tǒng)一過程RUP并不適合于所有的開發(fā)類型,但是通常描述的過程活動(dòng)及產(chǎn)出文檔需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼集成測(cè)試確認(rèn)測(cè)試撰寫用戶文檔用戶培訓(xùn)打包和交付通常描述的過程活動(dòng)及產(chǎn)出文檔需求分析需求分析(1/3)任務(wù)進(jìn)行需求調(diào)查,定義軟件的用戶需求,撰寫軟件需求規(guī)格說明書(SRS)根據(jù)SRS,撰寫軟件確認(rèn)測(cè)試計(jì)劃評(píng)審SRS和軟件確認(rèn)測(cè)試計(jì)劃輸入用戶的初步需求描述輸出軟件需求規(guī)格說明書軟件確認(rèn)測(cè)試計(jì)劃需求分析(1/3)任務(wù)需求分析和軟件定義(2/3)實(shí)施根據(jù)用戶需求描述,分析和定義軟件系統(tǒng)的需求,按照《軟件需求規(guī)格說明書編寫指南》編寫軟件需求規(guī)格說明書(SRS)根據(jù)SRS,制定軟件確認(rèn)測(cè)試計(jì)劃,按照《軟件確認(rèn)測(cè)試計(jì)劃編寫指南》編寫軟件確認(rèn)測(cè)試計(jì)劃文檔對(duì)需求分析的結(jié)果(軟件需求規(guī)格說明書和軟件確認(rèn)測(cè)試計(jì)劃)進(jìn)行評(píng)審需求分析和軟件定義(2/3)實(shí)施需求分析和軟件定義(3/3)說明用戶需求描述了用戶對(duì)目標(biāo)軟件系統(tǒng)的期望和要求(包括功能、性能和設(shè)計(jì)約束等),因此,需求分析只需關(guān)心要解決的問題,而無需關(guān)心這些問題的解決方案軟件確認(rèn)測(cè)試計(jì)劃應(yīng)該包含軟件需求規(guī)格說明書中所定義的所有需求的測(cè)試內(nèi)容需求分析和軟件定義(3/3)說明概要設(shè)計(jì)(1/3)任務(wù)根據(jù)SRS,進(jìn)行軟件的總體結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì),撰寫軟件總體結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)規(guī)格說明書根據(jù)軟件的概要設(shè)計(jì),制定軟件集成測(cè)試計(jì)劃輸入軟件需求規(guī)格說明書SRS輸出軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件集成測(cè)試計(jì)劃概要設(shè)計(jì)(1/3)任務(wù)概要設(shè)計(jì)(2/3)實(shí)施根據(jù)SRS來進(jìn)行軟件設(shè)計(jì)按照《軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書編寫指南》編寫軟件總體結(jié)構(gòu)設(shè)計(jì)文檔按照《軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書編寫指南》編寫軟件數(shù)據(jù)設(shè)計(jì)文檔按照《軟件接口設(shè)計(jì)規(guī)格說明書編寫指南》編寫軟件接口設(shè)計(jì)文檔按照《軟件集成測(cè)試計(jì)劃編寫指南》編寫軟件集成測(cè)試計(jì)劃文檔概要設(shè)計(jì)(2/3)實(shí)施概要設(shè)計(jì)(3/3)說明概要設(shè)計(jì)要給出滿足用戶需求的軟件解決方案,主要是指軟件的總體結(jié)構(gòu)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì),不涉及具體模塊的內(nèi)部細(xì)節(jié)概要設(shè)計(jì)(3/3)說明詳細(xì)設(shè)計(jì)(1/3)任務(wù)進(jìn)行軟件的詳細(xì)設(shè)計(jì),撰寫軟件詳細(xì)設(shè)計(jì)規(guī)格說明書根據(jù)軟件的詳細(xì)設(shè)計(jì),制定軟件單元測(cè)試計(jì)劃輸入軟件需求規(guī)格說明書SRS軟件總體設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書詳細(xì)設(shè)計(jì)(1/3)任務(wù)詳細(xì)設(shè)計(jì)(2/3)實(shí)施根據(jù)SRS和軟件總體結(jié)構(gòu)、接口和數(shù)據(jù)設(shè)計(jì)規(guī)格說明書,進(jìn)行軟件的詳細(xì)設(shè)計(jì),根據(jù)《軟件詳細(xì)設(shè)計(jì)規(guī)格說明書編寫指南》撰寫軟件詳細(xì)設(shè)計(jì)文檔根據(jù)每個(gè)模塊的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)的設(shè)計(jì),以及《軟件單元測(cè)試計(jì)劃編寫指南》編寫軟件單元測(cè)試計(jì)劃文檔輸出軟件詳細(xì)設(shè)計(jì)規(guī)格說明書軟件單元測(cè)試計(jì)劃詳細(xì)設(shè)計(jì)(2/3)實(shí)施詳細(xì)設(shè)計(jì)(3/3)說明詳細(xì)設(shè)計(jì)主要根據(jù)軟件需求規(guī)格說明書,在軟件總體結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)的基礎(chǔ)上,涉及軟件解決方案的詳細(xì)細(xì)節(jié),尤其是模塊的實(shí)現(xiàn)算法和思想詳細(xì)設(shè)計(jì)(3/3)說明編碼(1/2)任務(wù)編寫程序進(jìn)行單元測(cè)試,撰寫單元測(cè)試報(bào)告輸入軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件詳細(xì)設(shè)計(jì)規(guī)格說明書單元測(cè)試計(jì)劃編碼(1/2)任務(wù)編碼(2/2)實(shí)施根據(jù)軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書、軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書、軟件接口設(shè)計(jì)規(guī)格說明書、軟件詳細(xì)設(shè)計(jì)規(guī)格說明書進(jìn)行編碼根據(jù)單元測(cè)試計(jì)劃對(duì)各個(gè)模塊進(jìn)行單元測(cè)試輸出經(jīng)過單元測(cè)試的軟件模塊源程序單元測(cè)試報(bào)告編碼(2/2)實(shí)施集成測(cè)試(1/2)任務(wù)集成各個(gè)軟件模塊進(jìn)行測(cè)試輸入軟件模塊的程序代碼軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件集成測(cè)試計(jì)劃集成測(cè)試(1/2)任務(wù)集成測(cè)試(2/2)實(shí)施根據(jù)軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書、軟件接口設(shè)計(jì)規(guī)格說明書、軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書和軟件集成測(cè)試計(jì)劃,逐步組裝模塊進(jìn)行軟件的集成測(cè)試,撰寫集成測(cè)試報(bào)告輸出可運(yùn)行的、經(jīng)過集成測(cè)試的目標(biāo)軟件系統(tǒng)集成測(cè)試報(bào)告集成測(cè)試(2/2)實(shí)施確認(rèn)測(cè)試(1/2)任務(wù)根據(jù)軟件需求規(guī)格說明書和軟件確認(rèn)測(cè)試計(jì)劃進(jìn)行確認(rèn)測(cè)試,撰寫確認(rèn)測(cè)試報(bào)告輸入軟件需求規(guī)格說明書確認(rèn)測(cè)試計(jì)劃確認(rèn)測(cè)試(1/2)任務(wù)確認(rèn)測(cè)試(2/2)實(shí)施根據(jù)軟件需求規(guī)格說明書和確認(rèn)測(cè)試計(jì)劃,對(duì)軟件進(jìn)行確認(rèn)測(cè)試,撰寫確認(rèn)測(cè)試報(bào)告輸出可運(yùn)行的、經(jīng)過確認(rèn)測(cè)試的目標(biāo)軟件系統(tǒng)確認(rèn)測(cè)試報(bào)告說明確認(rèn)測(cè)試由用戶進(jìn)行測(cè)試確認(rèn)測(cè)試(2/2)實(shí)施撰寫用戶文檔(1/2)任務(wù)撰寫用戶文檔輸入軟件需求規(guī)格說明書軟件總體結(jié)構(gòu)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)規(guī)格說明書可運(yùn)行的目標(biāo)軟件系統(tǒng)撰寫用戶文檔(1/2)任務(wù)撰寫用戶文檔(2/2)實(shí)施根據(jù)用戶軟件需求規(guī)格說明書,軟件總體結(jié)構(gòu)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)規(guī)格說明書撰寫用戶文檔用戶文檔一般包括:《用戶使用手冊(cè)》,《安裝手冊(cè)》,《軟件開發(fā)手冊(cè)》等等輸出《用戶手冊(cè)》《安裝手冊(cè)》《開發(fā)指南》撰寫用戶文檔(2/2)實(shí)施用戶培訓(xùn)(1/2)任務(wù)對(duì)用戶進(jìn)行培訓(xùn)輸入軟件需求規(guī)格說明書用戶使用手冊(cè)、安裝手冊(cè)、開發(fā)手冊(cè)可運(yùn)行的目標(biāo)軟件系統(tǒng)用戶培訓(xùn)(1/2)任務(wù)用戶培訓(xùn)(2/2)實(shí)施根據(jù)可運(yùn)行的目標(biāo)軟件系統(tǒng)、《用戶使用手冊(cè)》,《安裝手冊(cè)》,《開發(fā)手冊(cè)》對(duì)用戶進(jìn)行培訓(xùn)輸出無用戶培訓(xùn)(2/2)實(shí)施打包交付(1/2)任務(wù)對(duì)軟件進(jìn)行打包,并交付用戶使用輸入可執(zhí)行的目標(biāo)軟件系統(tǒng)各種要交付的文檔和資料,包括電子版和打印版打包交付(1/2)任務(wù)打包交付(2/2)實(shí)施制作安裝軟件安裝并配置目標(biāo)軟件系統(tǒng)交付安裝軟件、文檔和資料輸出安裝軟件交付給用戶的文檔和資料打包交付(2/2)實(shí)施RUP補(bǔ)充介紹RUP(RationalUnifiedProcess)是軟件工程化過程RUP是一個(gè)流程工具平臺(tái),一個(gè)流程框架RUP猶如一個(gè)菜譜,通過菜譜做成各種菜系RUP是一個(gè)定制流程的工具平臺(tái)RUP補(bǔ)充介紹RUP(RationalUnifiedPrRUP核心RUP核心RUP的組織方式時(shí)間軸階段和迭代內(nèi)容軸工作流程RUP的組織方式時(shí)間軸RUP通過時(shí)間軸的組織先啟(Inception):定義項(xiàng)目目標(biāo)和范圍精化(Elaboration):計(jì)劃項(xiàng)目、指定特性、構(gòu)架基線化構(gòu)建(Construction):構(gòu)建產(chǎn)品產(chǎn)品化(Transition):將產(chǎn)品發(fā)布到用戶社區(qū)RUP通過時(shí)間軸的組織RUP的工作流程業(yè)務(wù)建模需求分析設(shè)計(jì)實(shí)施測(cè)試部署配置與變更管理項(xiàng)目管理環(huán)境RUP的工作流程相關(guān)活動(dòng)組迭代過程相關(guān)活動(dòng)組迭代過程RUP核心概念RUP核心概念參考資料RUP學(xué)堂
/developerworks/cn/rational/theme/rational-rup/rup.html揭開RUP的神秘面紗/developerworks/cn/onlinecourse/rational/rational_rupintro/index.html下一代業(yè)務(wù)驅(qū)動(dòng)的開發(fā)流程定制平臺(tái)/developerworks/cn/onlinecourse/rational/r-bdpplatform/index.htmlRUP導(dǎo)論參考資料RUP學(xué)堂標(biāo)準(zhǔn)文檔SPP的60余個(gè)文檔模板/doc/Document/DocPattern/linrui18.htm文檔目錄講義\SPP-Template標(biāo)準(zhǔn)文檔SPP的60余個(gè)文檔模板討論:模型選擇汽車防抱死制動(dòng)系統(tǒng)大學(xué)記賬系統(tǒng),準(zhǔn)備替換一個(gè)已存在的系統(tǒng)一個(gè)位于火車站的交互式火車車次查詢系統(tǒng)討論:模型選擇汽車防抱死制動(dòng)系統(tǒng)案例分析閱讀案例回答以下問題:軟件開發(fā)過程的案例分析問題一描述以上軟件開發(fā)的過程,并指出采用該過程可能存在哪些風(fēng)險(xiǎn)?問題二運(yùn)用學(xué)習(xí)過的軟件過程模型,請(qǐng)你設(shè)計(jì)你認(rèn)為合適的開發(fā)過程,并說明理由。案例分析閱讀案例回答以下問題:本章小節(jié)了解軟件開發(fā)的幾種模型怎樣來描述軟件開發(fā)過程--文檔本章小節(jié)了解軟件開發(fā)的幾種模型本節(jié)要點(diǎn)回顧軟件過程是產(chǎn)生一個(gè)軟件系統(tǒng)的一系列活動(dòng)。軟件過程模型是這些過程的抽象表示所有的軟件過程包括:軟件描述、軟件設(shè)計(jì)于實(shí)現(xiàn)、軟件有效性驗(yàn)證以及軟件進(jìn)化一般的過程模型描述軟件過程的組織。一般的模型實(shí)例包括瀑布模型、進(jìn)化式開發(fā)和基于組件的軟件工程過程反復(fù)模型反映軟件過程是一個(gè)循環(huán)活動(dòng)。這個(gè)方法的好處是他允許對(duì)系統(tǒng)描述或者設(shè)計(jì)的進(jìn)一步修改。反復(fù)模型的例子包括增量式開發(fā)模型和螺旋式模型本節(jié)要點(diǎn)回顧軟件過程是產(chǎn)生一個(gè)軟件系統(tǒng)的一系列活動(dòng)。軟件過程本節(jié)要點(diǎn)回顧需求工程是開發(fā)軟件描述的過程。他包括產(chǎn)生一個(gè)面向用戶的系統(tǒng)描述和一個(gè)面向開發(fā)者的更詳盡的描述設(shè)計(jì)和實(shí)現(xiàn)過程是將一個(gè)需求描述轉(zhuǎn)換為一個(gè)可以運(yùn)行的軟件系統(tǒng)的過程。系統(tǒng)的設(shè)計(jì)方法被用來完成這個(gè)轉(zhuǎn)換軟件有效性檢驗(yàn)是檢查系統(tǒng)是否與他的描述相一致以及是否符合系統(tǒng)用戶的真正需要軟件進(jìn)化是修改已存在的軟件系統(tǒng)以適應(yīng)用戶新的需求的過程。這也是小型和中型系統(tǒng)開發(fā)的一般方法Rational統(tǒng)一過程是現(xiàn)在一般過程模型,特點(diǎn)是組織成階段(開端、細(xì)化、構(gòu)造和轉(zhuǎn)換),但是把活動(dòng)(需求、分析和設(shè)計(jì)等)和這些階段想分離本節(jié)要點(diǎn)回顧需求工程是開發(fā)軟件描述的過程。他包括產(chǎn)生一個(gè)面向練習(xí)與思考為一下各個(gè)系統(tǒng)提出合適的軟件過程模型,并基于系統(tǒng)所屬類型給出你的理由:銀行自動(dòng)匯員機(jī)處理系統(tǒng)一個(gè)支持軟件維護(hù)的虛擬現(xiàn)實(shí)系統(tǒng)大學(xué)記帳系統(tǒng),準(zhǔn)備替換一個(gè)已存在的系統(tǒng)一個(gè)位于火車站的交互式火車車次查詢系統(tǒng)解釋為什么用進(jìn)化式開發(fā)方法開發(fā)的系統(tǒng)可能難以維護(hù)說明為什么在需求工程中區(qū)分用戶需求開發(fā)和系統(tǒng)需求開發(fā)是重要的描述在軟件設(shè)計(jì)過程中的主要活動(dòng)以及這些活動(dòng)的輸出。使用一個(gè)實(shí)體-關(guān)系圖,說明這些活動(dòng)之間可能存在的關(guān)系練習(xí)與思考為一下各個(gè)系統(tǒng)提出合適的軟件過程模型,并基于系統(tǒng)所軟件開發(fā)過程概述
BeyondTechnology南海東軟信息技術(shù)學(xué)院2012.03軟件開發(fā)過程概述BeyondTechnology南海東軟信本節(jié)教學(xué)目標(biāo)本節(jié)的目標(biāo)是介紹軟件過程的思想。學(xué)習(xí)本節(jié),需要了解以下內(nèi)容:軟件過程和軟件過程模型的概念幾個(gè)一般的軟件過程模型及它們的使用范圍軟件需求、軟件開發(fā)、測(cè)試和進(jìn)化中所涉及到的活動(dòng)概貌本節(jié)教學(xué)目標(biāo)本節(jié)的目標(biāo)是介紹軟件過程的思想。學(xué)習(xí)本節(jié),需要了本節(jié)主要內(nèi)容什么是軟件過程軟件過程與軟件工程的關(guān)系什么是軟件過程模型過程反復(fù)過程活動(dòng)本節(jié)主要內(nèi)容什么是軟件過程幾個(gè)概念什么軟件:計(jì)算機(jī)程序和相關(guān)文檔。軟件產(chǎn)品可為特定客戶或通用市場(chǎng)開發(fā)什么是軟件工程:軟件工程是關(guān)于軟件生產(chǎn)的各個(gè)方面的工程學(xué)科什么是軟件過程:以軟件開發(fā)和進(jìn)化為目的的一系列活動(dòng)什么是軟件過程模型:以特定角度提出的軟件過程的簡(jiǎn)化表示形式幾個(gè)概念什么軟件:計(jì)算機(jī)程序和相關(guān)文檔。軟件產(chǎn)品可為特定客戶軟件過程軟件過程是復(fù)雜的,像所有智力過程一樣,它依賴于人的判斷軟件過程具有極大的差異型。沒有一個(gè)理想的過程,并且不同的機(jī)構(gòu)采用的是完全不同的軟件開發(fā)方法。對(duì)于一些系統(tǒng),需要使用一種非常結(jié)構(gòu)化的開發(fā)過程;而對(duì)于業(yè)務(wù)系統(tǒng),由于需求的變更頻繁,采用一個(gè)靈活、敏捷的過程可能更有效軟件過程軟件過程是復(fù)雜的,像所有智力過程一樣,它依賴于人的判軟件過程雖然不同軟件過程有很大的差異,但是有些基本活動(dòng)還是所有軟件過程都具有的。它們是:軟件描述:軟件的功能以及軟件操作上的約束必須定義軟件設(shè)計(jì)和實(shí)現(xiàn):軟件一定要按照描述來生產(chǎn)軟件有效性驗(yàn)證:軟件要被確定是有效的,即軟件能做客戶想要的事情軟件進(jìn)化:軟件一定按客戶需要的變更來進(jìn)化軟件過程雖然不同軟件過程有很大的差異,但是有些基本活動(dòng)還是所軟件過程模型軟件過程模型是軟件過程的抽象表示法。每個(gè)過程模型從一個(gè)特定的角度表現(xiàn)一個(gè)過程,只提供過程的某一側(cè)面的信息。從體系結(jié)構(gòu)的角度來分析一些非常一般的過程模型,來解釋不同的軟件開發(fā)方法。在實(shí)際的開發(fā)過程中,往往將這些模型看做過程框架,對(duì)其進(jìn)行擴(kuò)展并匹配它們來創(chuàng)建符合實(shí)際環(huán)境的專用的軟件開發(fā)過程。討論以下過程模型:瀑布模型進(jìn)化式開發(fā)基于組件的軟件工程
這三個(gè)一般模型廣泛的用于當(dāng)前的軟件工程實(shí)踐。它們相互不排斥,而且經(jīng)常一起使用,尤其是在大型系統(tǒng)開發(fā)當(dāng)中。軟件過程模型軟件過程模型是軟件過程的抽象表示法。每個(gè)過程模型瀑布模型這個(gè)模型采用一些基本的過程活動(dòng),即描述、開發(fā)、有效性驗(yàn)證和進(jìn)化,并且使用單獨(dú)的過程階段(如需求描述、軟件設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等階段)表現(xiàn)這些活動(dòng)。該模型圖從一個(gè)階段到另一個(gè)階段逐次下降,因此命名為“瀑布模型”或軟件生命周期模型:
瀑布模型這個(gè)模型采用一些基本的過程活動(dòng),即描述、開發(fā)、有效性瀑布模型需求分析與定義:通過咨詢系統(tǒng)用戶建立系統(tǒng)的服務(wù)、約束和目標(biāo)。并對(duì)其詳細(xì)定義從而為系統(tǒng)描述服務(wù)系統(tǒng)和軟件設(shè)計(jì):系統(tǒng)設(shè)計(jì)過程區(qū)分硬件和軟件系統(tǒng)的需求。它建立一個(gè)總體的系統(tǒng)體系結(jié)構(gòu)。軟件設(shè)計(jì)包括識(shí)別和描述一些基本的軟件系統(tǒng)的抽象及其之間的關(guān)系瀑布模型需求分析與定義:通過咨詢系統(tǒng)用戶建立系統(tǒng)的服務(wù)、約束實(shí)現(xiàn)和單元測(cè)試:在這個(gè)階段,軟件設(shè)計(jì)是作為一組程序或者程序單元實(shí)現(xiàn)的,單元測(cè)試就是檢驗(yàn)每個(gè)單元是否符合描述集成和系統(tǒng)測(cè)試:集成單個(gè)的程序單元或者程序,并對(duì)他能夠整體進(jìn)行測(cè)試以確保其滿足需求。在測(cè)試之后,軟件系統(tǒng)交付給客戶使用運(yùn)行和維護(hù):正常情況下(雖然不是必須的),這是一個(gè)具有最長(zhǎng)生命周期的階段。系統(tǒng)被安裝并且進(jìn)入實(shí)際的使用中。維護(hù)包括改正在早期各階段末發(fā)現(xiàn)的錯(cuò)誤,改善系統(tǒng)單元的實(shí)現(xiàn),當(dāng)新的需求出現(xiàn)時(shí)提供系統(tǒng)的服務(wù)能力實(shí)現(xiàn)和單元測(cè)試:在這個(gè)階段,軟件設(shè)計(jì)是作為一組程序或者程序單瀑布模型主要優(yōu)勢(shì):它的每個(gè)階段都生成文檔,而且它與其他工程過程模型相一致主要缺點(diǎn):他將項(xiàng)目生硬得分解成這些確切的階段。委托事項(xiàng)一定要在過程的早期階段清晰給出,而這意味著他難以響應(yīng)用戶需求的變更實(shí)用范圍:只有在全面理解需求,而且在系統(tǒng)開發(fā)過程中不太可能發(fā)生重大改變的時(shí)候,應(yīng)該采用瀑布模型。瀑布模型主要優(yōu)勢(shì):它的每個(gè)階段都生成文檔,而且它與其他工程過進(jìn)化式開發(fā)模型這個(gè)方法在描述活動(dòng)、開發(fā)活動(dòng)和有效性驗(yàn)證活動(dòng)中不斷修改內(nèi)容,即用抽象描述快速開發(fā)出一個(gè)初始的系統(tǒng),然后由客戶提供的信息來精煉系統(tǒng),直到客戶滿意為止該方法主張描述、開發(fā)和有效性驗(yàn)證等活動(dòng)并行執(zhí)行,同時(shí)讓這些活動(dòng)都能得到快速的反饋信息進(jìn)化式開發(fā)模型這個(gè)方法在描述活動(dòng)、開發(fā)活動(dòng)和有效性驗(yàn)證活動(dòng)中進(jìn)化式開發(fā)模型進(jìn)化式開發(fā)有兩個(gè)基本類型:探索式開發(fā):其目標(biāo)是與用戶一起工作,共同探討系統(tǒng)需求,直至最后交付系統(tǒng)。這類開發(fā)是從需求較清楚的部分開始,根據(jù)用戶的建議逐漸向系統(tǒng)中添加功能拋棄式原型:這種開發(fā)方法的目標(biāo)是理解用戶需求,然后再給出系統(tǒng)的一個(gè)較好的需求定義。原型著重對(duì)客戶需求理解差的那一部分的實(shí)驗(yàn)進(jìn)化式開發(fā)模型進(jìn)化式開發(fā)有兩個(gè)基本類型:進(jìn)化式開發(fā)模型主要優(yōu)勢(shì):進(jìn)化式方法在應(yīng)付客戶緊急需要的情況下較瀑布模型更為有效?;谶M(jìn)化式方法的軟件過程的好處是不斷的補(bǔ)充完善。當(dāng)用戶對(duì)系統(tǒng)需求有更深刻理解時(shí),能夠很快在軟件系統(tǒng)中得到反映。從工程學(xué)和管理學(xué)角度來看,此方法存在兩個(gè)問題:過程不可見:如果系統(tǒng)開發(fā)很快,要產(chǎn)生每個(gè)版本的文檔來反映變更就很不劃算系統(tǒng)結(jié)構(gòu)通常較差:這是因?yàn)檫B續(xù)的變革損壞了系統(tǒng)的結(jié)構(gòu)。越往后變更系統(tǒng)就越困難,而且成本逐漸上升進(jìn)化式開發(fā)模型主要優(yōu)勢(shì):進(jìn)化式方法在應(yīng)付客戶緊急需要的情況下進(jìn)化式開發(fā)模型實(shí)用范圍:對(duì)于很小規(guī)模或者中型系統(tǒng)(達(dá)到500000行代碼),采用進(jìn)化式開發(fā)方法不失為一種最佳選擇。對(duì)于大型的,生命周期很長(zhǎng)的系統(tǒng),由不同的團(tuán)隊(duì)負(fù)責(zé)開發(fā)系統(tǒng)的不同部分,進(jìn)化式開發(fā)的問題就變得很突出。采用這種方法很難建立一個(gè)穩(wěn)定的系統(tǒng)框架,保證來自不同團(tuán)隊(duì)的貢獻(xiàn)可以很好的集成。因此對(duì)于大型系統(tǒng),可以采用混合型開發(fā)方法。結(jié)合瀑布模型和進(jìn)化式開發(fā)方法的優(yōu)點(diǎn)。進(jìn)化式開發(fā)模型實(shí)用范圍:基于組件的軟件工程模型這種方法是基于已存在的很多可復(fù)用的組件。系統(tǒng)的開發(fā)過程主要是把這些組件集成到新系統(tǒng)中,而非從頭開發(fā)。復(fù)用時(shí)常對(duì)快速系統(tǒng)開發(fā)來說是必不可少的。面向復(fù)用的方法依賴可以存取的可復(fù)用軟件組件以及能集成這些組件的框架?;诮M件的軟件工程模型這種方法是基于已存在的很多可復(fù)用的組件基于組件的軟件工程模型初始需求和有效性驗(yàn)證方面和其他開發(fā)過程一樣,但是中間過程就有很大的不同:組件分析:按照需求描述,搜尋能滿足需求的組件需求修改:根據(jù)得到的組件信息修改需求,如不允許修改需求,則要重新尋求組件使用復(fù)用的系統(tǒng)設(shè)計(jì):在這個(gè)階段設(shè)計(jì)系統(tǒng)的框架,或者重復(fù)使用一個(gè)已存在的框架。如果沒有合適的框架,則需要重新設(shè)計(jì)一個(gè)新的軟件開發(fā)和集成:當(dāng)沒有合適的組件時(shí),就要自己開發(fā),然后再集成這些自己開發(fā)的和現(xiàn)成的組件,使之成為一個(gè)整體?;诮M件的軟件工程模型初始需求和有效性驗(yàn)證方面和其他開發(fā)過程基于組件的軟件工程模型主要優(yōu)點(diǎn):減少了需要開發(fā)的軟件數(shù)量,從而降低了軟件開發(fā)成本,同時(shí)也降低了風(fēng)險(xiǎn)。通常也可以使軟件快速交付主要缺點(diǎn):有時(shí)為了適應(yīng)某個(gè)組件,存在對(duì)客戶需求的修改,而且這可能導(dǎo)致一個(gè)不符合用戶真正需要的系統(tǒng)。此外,對(duì)系統(tǒng)進(jìn)化的控制也不起作用,因?yàn)榭蓮?fù)用的組件新的版本是不受機(jī)構(gòu)控制的基于組件的軟件工程模型主要優(yōu)點(diǎn):減少了需要開發(fā)的軟件數(shù)量,從過程反復(fù)對(duì)于所有的大型軟件項(xiàng)目來說,變更是不可避免的。這意味著軟件過程不是一個(gè)一次性的過程,在有變更請(qǐng)求,系統(tǒng)需要重新去做的時(shí)候,過程活動(dòng)就會(huì)有規(guī)律的重復(fù)進(jìn)行重復(fù)式開發(fā)對(duì)于軟件來說是一個(gè)十分基礎(chǔ)的內(nèi)容,在這里我們通過兩個(gè)過程模型的描述來介紹這個(gè)主題,這兩個(gè)過程模型是專門設(shè)計(jì)用于支持過程重復(fù)的:增量式開發(fā)螺旋式開發(fā)過程反復(fù)對(duì)于所有的大型軟件項(xiàng)目來說,變更是不可避免的。這意味增量式開發(fā)模型在增量開發(fā)的過程中,客戶大概地提出系統(tǒng)需要提供的服務(wù),指明哪些服務(wù)是最重要的,哪些是最不重要的。此時(shí),一系列的交付增量被確定,每個(gè)增量提供系統(tǒng)功能的子集。對(duì)增量中服務(wù)的分配取決于服務(wù)的優(yōu)先次序。最高優(yōu)先級(jí)的服務(wù)首先被交付。增量式開發(fā)模型在增量開發(fā)的過程中,客戶大概地提出系統(tǒng)需要提供增量式開發(fā)模型增量式開發(fā)模型增量式開發(fā)模型每個(gè)增量開發(fā)沒有必要使用相同的過程方法,當(dāng)一個(gè)增量中的服務(wù)有了完善的描述時(shí),開發(fā)可以使用瀑布模型。在描述不清楚的地方,就可能用一個(gè)進(jìn)化式開發(fā)模型增量式開發(fā)模型每個(gè)增量開發(fā)沒有必要使用相同的過程方法,當(dāng)一個(gè)增量式開發(fā)模型主要優(yōu)點(diǎn):客戶無需等到整個(gè)系統(tǒng)實(shí)現(xiàn)。第一個(gè)增量會(huì)滿足他們大多數(shù)關(guān)鍵需求,因此,軟件馬上就能使用客戶可以將早期的增量作為原型,從中獲得對(duì)后面系統(tǒng)增量的需求經(jīng)驗(yàn)項(xiàng)目總體性失敗的風(fēng)險(xiǎn)比較低。雖然可能在一些增量中遇到問題,但是其他一些增量將會(huì)成功的交付客戶因?yàn)樽钪匾脑隽孔钕忍峤唬竺娴脑隽恳膊粩嗟谋患蛇M(jìn)來,這就使得最重要的系統(tǒng)服務(wù)得到了最多的測(cè)試。主要缺點(diǎn):很難把客戶的需求映射到適當(dāng)規(guī)模的增量上。大多數(shù)系統(tǒng)功能都用到的公共服務(wù)很難在初期定義出來增量式開發(fā)模型主要優(yōu)點(diǎn):增量式方法模型增量式方法的一個(gè)最近的進(jìn)化方法稱作“極限編程”(extremeprogramming)。它是建立在開發(fā)和交付非常小的功能增量方式上的,客戶參與在開發(fā)的過程中,經(jīng)常性的參與代碼改進(jìn)和結(jié)對(duì)編程。增量式方法模型增量式方法的一個(gè)最近的進(jìn)化方法稱作“極限編程”螺旋式開發(fā)模型它不是將軟件過程用一系列的活動(dòng)和活動(dòng)間的回溯來表示,而是將過程用螺旋線表示。在螺旋線中,每個(gè)回路表示軟件過程的一個(gè)階段。因此,最里面的回路可能與系統(tǒng)可行性分析有關(guān),下一個(gè)回路與系統(tǒng)需求定義有關(guān),再下一個(gè)回路與系統(tǒng)設(shè)計(jì)有關(guān),等等。螺旋式開發(fā)模型它不是將軟件過程用一系列的活動(dòng)和活動(dòng)間的回溯來螺旋式開發(fā)模型螺旋式開發(fā)中每個(gè)回路分成四個(gè)部分:目標(biāo)設(shè)置:為項(xiàng)目的每個(gè)階段定義專門目標(biāo)風(fēng)險(xiǎn)評(píng)估和規(guī)避:每個(gè)項(xiàng)目風(fēng)險(xiǎn)確定以后要進(jìn)行詳細(xì)的分析,并采取措施規(guī)避風(fēng)險(xiǎn)開發(fā)和有效性驗(yàn)證:在風(fēng)險(xiǎn)預(yù)估之后,就可以為系統(tǒng)選擇開發(fā)模型規(guī)劃:對(duì)項(xiàng)目進(jìn)行評(píng)審之后確定是否需要進(jìn)入螺旋線的下一個(gè)回路特點(diǎn):對(duì)風(fēng)險(xiǎn)考慮是明確的,對(duì)每個(gè)環(huán)節(jié)都有風(fēng)險(xiǎn)評(píng)估適用于:風(fēng)險(xiǎn)比較大的項(xiàng)目螺旋式開發(fā)模型螺旋式開發(fā)中每個(gè)回路分成四個(gè)部分:過程活動(dòng)在軟件開發(fā)過程中,如何來組織描述、開發(fā)、驗(yàn)證和進(jìn)化這四個(gè)基本過程,取決于軟件類型、人員以及機(jī)構(gòu)的組織結(jié)構(gòu)過程活動(dòng)在軟件開發(fā)過程中,如何來組織描述、開發(fā)、驗(yàn)證和進(jìn)化這過程活動(dòng)-軟件描述軟件描述或者需求工程主要是理解定義系統(tǒng)需要哪些服務(wù)以及找出開發(fā)和運(yùn)行期間受到哪些約束需求工程對(duì)于軟件過程是一個(gè)特別關(guān)鍵的階段,這個(gè)階段的錯(cuò)誤將不可避免的帶到后續(xù)的系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)階段中過程活動(dòng)-軟件描述軟件描述或者需求工程主要是理解定義系統(tǒng)需要軟件開發(fā)過程概述報(bào)告課件過程活動(dòng)-軟件描述需求工程過程有四個(gè)主要階段:可行性研究:從軟硬件技術(shù)上能否實(shí)現(xiàn),從業(yè)務(wù)角度成本是否劃算來判斷。研究的結(jié)果就是要得出結(jié)論,該系統(tǒng)是否值得進(jìn)行更細(xì)致的分析需求導(dǎo)出和分析:這是一個(gè)通過對(duì)現(xiàn)有系統(tǒng)分析、與潛在用戶和購買者討論、進(jìn)行任務(wù)分析等導(dǎo)出系統(tǒng)需求的過程。也許需要開發(fā)一個(gè)或多個(gè)不同的系統(tǒng)模型和原型。這樣有助于分析員了解所描述的系統(tǒng)需求描述:就是把在分析活動(dòng)中收集的信息以文檔的形式確定下來。在這個(gè)文檔中有兩類需求:用戶需求:從客戶和最終用戶角度對(duì)系統(tǒng)需求的抽象描述系統(tǒng)需求:對(duì)系統(tǒng)要提供的功能的詳盡描述需求有效性驗(yàn)證:檢查文檔的描述的準(zhǔn)確性、完備性等過程活動(dòng)-軟件描述需求工程過程有四個(gè)主要階段:過程活動(dòng)-軟件描述需求工程過程的產(chǎn)出:產(chǎn)出用以描述系統(tǒng)的文檔。在這個(gè)文檔中包含兩個(gè)層次的需求描述:最終用戶和客戶需求高層次的需求描述;系統(tǒng)開發(fā)人員需要比較詳細(xì)的系統(tǒng)描述。過程活動(dòng)-軟件描述需求工程過程的產(chǎn)出:產(chǎn)出用以描述系統(tǒng)的文檔過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)該階段是把系統(tǒng)描述轉(zhuǎn)換成一個(gè)可運(yùn)行的系統(tǒng)的過程包含設(shè)計(jì)和編碼兩個(gè)部分。如果是進(jìn)化式開發(fā)方法,可能還包含軟件的精煉過程軟件設(shè)計(jì)是對(duì)實(shí)現(xiàn)軟件的結(jié)構(gòu)、系統(tǒng)的數(shù)據(jù)、系統(tǒng)組件間的接口以及所用的算法的描述。設(shè)計(jì)者不可能一次就完成一個(gè)完整的設(shè)計(jì),這是一個(gè)多次反復(fù)的過程。過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)該階段是把系統(tǒng)描述轉(zhuǎn)換成一個(gè)可運(yùn)行的過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)過程中一些專門的活動(dòng):體系結(jié)構(gòu)設(shè)計(jì):確定系統(tǒng)是由哪些子系統(tǒng)構(gòu)成的,以及這些子系統(tǒng)之間的關(guān)系是怎樣的,并對(duì)這些內(nèi)容編寫文檔抽象描述:對(duì)每個(gè)子系統(tǒng)提供的服務(wù)以及子系統(tǒng)在什么范圍內(nèi)運(yùn)行給出抽象描述接口設(shè)計(jì):對(duì)每個(gè)子系統(tǒng),都要給出與其他子系統(tǒng)間的接口設(shè)計(jì)并編寫文檔。這個(gè)接口描述一定是無二義的組件設(shè)計(jì):把服務(wù)分配到不同的組建,并設(shè)計(jì)這些組件的接口數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):詳細(xì)設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)階段要試用的數(shù)據(jù)結(jié)構(gòu),并給出描述算法設(shè)計(jì):詳細(xì)設(shè)計(jì)服務(wù)將要采用的算法并對(duì)此給出描述以上是設(shè)計(jì)過程中非常一般的模型,實(shí)際的過程中有不同程度的調(diào)整過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)過程中一些專門的活動(dòng):過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)對(duì)設(shè)計(jì)過程可能的調(diào)整:設(shè)計(jì)的最后兩個(gè)階段——數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)——可能推遲到實(shí)現(xiàn)過程完成如果試用探索式開發(fā)方法,系統(tǒng)界面的設(shè)計(jì)可能要在數(shù)據(jù)結(jié)構(gòu)得到定義之后進(jìn)行抽象描述階段可能要忽略掉隨著敏捷開發(fā)方法的越來越多的使用,設(shè)計(jì)過程的輸出不再是單獨(dú)的文檔了,可能是用程序代碼來表示。在系統(tǒng)體系結(jié)構(gòu)完成之后,后面的設(shè)計(jì)階段都是漸增式的。每個(gè)增量可以表示為一段程序代碼而不是設(shè)計(jì)模型結(jié)構(gòu)化的設(shè)計(jì)方法(面向功能的設(shè)計(jì))與面向?qū)ο蟮脑O(shè)計(jì)方法過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)對(duì)設(shè)計(jì)過程可能的調(diào)整:過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)完成后,就是實(shí)現(xiàn)系統(tǒng)的程序開發(fā)過程程序設(shè)計(jì)因人而異,通常沒有統(tǒng)一的模式程序設(shè)計(jì)人員要對(duì)自己開發(fā)的程序進(jìn)行調(diào)試錯(cuò)誤檢測(cè)和調(diào)試不是一回事,檢測(cè)是要發(fā)現(xiàn)存在的錯(cuò)誤,而調(diào)試是要定位錯(cuò)誤并改正這些錯(cuò)誤進(jìn)行程序調(diào)試時(shí),首先要對(duì)程序的行為有一個(gè)最初的預(yù)計(jì),然后執(zhí)行程序看輸出結(jié)果是否同預(yù)期的一樣。調(diào)試過程需要程序員一步步地手動(dòng)跟蹤代碼,同時(shí)會(huì)需要一些測(cè)試用例來定位問題。過程活動(dòng)-軟件設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)完成后,就是實(shí)現(xiàn)系統(tǒng)的程序開過程活動(dòng)-軟件有效性驗(yàn)證軟件有效性驗(yàn)證,或更一般的稱為檢驗(yàn)和有效性檢驗(yàn),是要看系統(tǒng)是否符合他的描述以及系統(tǒng)是否符合客戶的預(yù)期目標(biāo)。他包括檢查過程和從用戶需求定義到程序開發(fā)的每個(gè)軟件過程階段。通常的測(cè)試過程:先是組件測(cè)試,其次是集成系統(tǒng)測(cè)試,最后是用客戶數(shù)據(jù)對(duì)系統(tǒng)的測(cè)試。這是一個(gè)多次反復(fù)的過程。過程活動(dòng)-軟件有效性驗(yàn)證軟件有效性驗(yàn)證,或更一般的稱為檢驗(yàn)和過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試過程的階段:組件(或單元)測(cè)試:測(cè)試單個(gè)組件,以確保其操作的正確性,獨(dú)立的測(cè)試每個(gè)組件,而不受其他系統(tǒng)組件的影響。組件可能是簡(jiǎn)單的實(shí)體,如函數(shù)或?qū)ο箢?,或是這些實(shí)體的組合集成系統(tǒng)測(cè)試:組件得以集成形成系統(tǒng)。這個(gè)過程側(cè)重于找出組件間非預(yù)期的交互行為和組件接口問題。也關(guān)注系統(tǒng)是否滿足功能上和非功能上的需求,并測(cè)試系統(tǒng)的總體特性。對(duì)于大型系統(tǒng)可能有:子系統(tǒng)集成測(cè)試、最終系統(tǒng)集成測(cè)試等多階段測(cè)試過程系統(tǒng)接收測(cè)試:系統(tǒng)在運(yùn)行之前進(jìn)行的最后階段測(cè)試。是用客戶提供的真實(shí)數(shù)據(jù)進(jìn)行測(cè)試。能暴露系統(tǒng)需求中的錯(cuò)誤和遺漏以及系統(tǒng)是否達(dá)到性能要求等其他的問題過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試過程的階段:過程活動(dòng)-軟件有效性驗(yàn)證組件的開發(fā)和測(cè)試是交叉進(jìn)行的。程序員自己構(gòu)造用來測(cè)試的數(shù)據(jù),在代碼開發(fā)過程中增量的進(jìn)行測(cè)試對(duì)于增量式開發(fā)方法,每一個(gè)增量在開發(fā)的時(shí)候就應(yīng)該測(cè)試,這種測(cè)試根據(jù)對(duì)增量的需求來設(shè)計(jì)對(duì)于極限編程,測(cè)試和需求都是先于開發(fā)過程。這幫助測(cè)試者和開發(fā)者理解需求并保證不會(huì)由于設(shè)計(jì)測(cè)試案例而拖延時(shí)間一個(gè)獨(dú)立的測(cè)試團(tuán)隊(duì)需要有一個(gè)擬定的測(cè)試計(jì)劃并按照這個(gè)測(cè)試計(jì)劃來工作,制定測(cè)試計(jì)劃的依據(jù)是系統(tǒng)描述和設(shè)計(jì)過程活動(dòng)-軟件有效性驗(yàn)證組件的開發(fā)和測(cè)試是交叉進(jìn)行的。程序員過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試計(jì)劃是如何把測(cè)試和開發(fā)活動(dòng)聯(lián)系起來的?接收測(cè)試也叫做α測(cè)試,需要持續(xù)到客戶與開發(fā)者都滿意為止系統(tǒng)需要上市銷售時(shí),要進(jìn)行的測(cè)試叫做β測(cè)試過程活動(dòng)-軟件有效性驗(yàn)證測(cè)試計(jì)劃是如何把測(cè)試和開發(fā)活動(dòng)聯(lián)系起過程活動(dòng)-軟件進(jìn)化軟件的變更可以發(fā)生在系統(tǒng)開發(fā)之中或之后的任何時(shí)間里現(xiàn)在已經(jīng)不再將軟件工程看作是開發(fā)和維護(hù)兩個(gè)完全獨(dú)立的過程,而是將其看作一個(gè)進(jìn)化的過程,即在軟件的生命期內(nèi)不斷的隨著需求的變化而變更的進(jìn)化式過程過程活動(dòng)-軟件進(jìn)化軟件的變更可以發(fā)生在系統(tǒng)開發(fā)之中或之后的任Rational統(tǒng)一過程Rational統(tǒng)一過程(RUP)是現(xiàn)代過程模型的一個(gè)實(shí)例。他是混合過程模型的一個(gè)很好的實(shí)例。他集合了所有一般過程模型的要素,支持反復(fù),并給出了描述和設(shè)計(jì)上的一個(gè)好的實(shí)踐。RUP過程認(rèn)識(shí)到傳統(tǒng)過程模型展現(xiàn)的是過程的一個(gè)視角,RUP一般從三個(gè)視角來描述:動(dòng)態(tài)視角,給出模型隨時(shí)間所經(jīng)歷的各個(gè)階段靜態(tài)視角,給出所有規(guī)定的過程活動(dòng)實(shí)踐視角,建議在過程中采用好的實(shí)踐實(shí)例Rational統(tǒng)一過程Rational統(tǒng)一過程(RUP)是Rational統(tǒng)一過程RUP動(dòng)態(tài)視角(組織成幾個(gè)可以重復(fù)的階段)開端:建立系統(tǒng)的一個(gè)業(yè)務(wù)案例。評(píng)估系統(tǒng)對(duì)業(yè)務(wù)的貢獻(xiàn),決定項(xiàng)目是否有必要繼續(xù)進(jìn)行細(xì)化:增進(jìn)對(duì)問題的理解,建立系統(tǒng)的體系框架,給出項(xiàng)目計(jì)劃并識(shí)別關(guān)鍵項(xiàng)目風(fēng)險(xiǎn),本階段完成時(shí),就得到系統(tǒng)的需求模型,是軟件的一個(gè)體系描述和開發(fā)計(jì)劃構(gòu)造:主要關(guān)心的是系統(tǒng)設(shè)計(jì)、編碼和測(cè)試。系統(tǒng)的各個(gè)部分在并行開發(fā),再集成在一起。在這個(gè)階段完成時(shí),就得到了一個(gè)能工作的軟件系統(tǒng)了,還有能交付給用戶的相關(guān)文檔轉(zhuǎn)換:RUP的最后階段,關(guān)注如何將系統(tǒng)從開發(fā)單位轉(zhuǎn)移到用戶單位,并使之在真是環(huán)境中工作。此階段完成時(shí),就有了一個(gè)在操作環(huán)境下能正常工作的軟件系統(tǒng)及其文檔了Rational統(tǒng)一過程RUP動(dòng)態(tài)視角(組織成幾個(gè)可以重復(fù)的Rational統(tǒng)一過程RUP的靜態(tài)視角(靜態(tài)工作流)工作流描述業(yè)務(wù)建模使用業(yè)務(wù)對(duì)業(yè)務(wù)過程進(jìn)行建模需求找出與系統(tǒng)進(jìn)行交互的參與者并開發(fā)用例完成對(duì)系統(tǒng)需求的建模分析和設(shè)計(jì)使用體系結(jié)構(gòu)模型、組件模型、對(duì)象模型和序列模型來創(chuàng)建并記錄設(shè)計(jì)模型實(shí)現(xiàn)實(shí)現(xiàn)系統(tǒng)中的組件并將他們合理安排在子系統(tǒng)中,從設(shè)計(jì)模型自動(dòng)代碼生成有助于加快此過程測(cè)試測(cè)試是一個(gè)反復(fù)過程,他的執(zhí)行是與實(shí)現(xiàn)緊密相關(guān)聯(lián)的。系統(tǒng)測(cè)試緊隨實(shí)現(xiàn)環(huán)節(jié)的完成部署創(chuàng)建和奮發(fā)產(chǎn)品版本并安裝到他們的工作場(chǎng)所配置和變更管理此支持工作流管理對(duì)系統(tǒng)的變更項(xiàng)目管理此支持工作流管理系統(tǒng)開發(fā)環(huán)境此工作流用于提供軟件開發(fā)團(tuán)隊(duì)可用的合適的軟件工具Rational統(tǒng)一過程RUP的靜態(tài)視角(靜態(tài)工作流)工作流Rational統(tǒng)一過程RUP的實(shí)踐視角:反復(fù)的開發(fā)軟件:根據(jù)客戶的輕重緩急來規(guī)劃系統(tǒng)的增量,在開發(fā)過程中先開發(fā)和交付最高優(yōu)先權(quán)的系統(tǒng)特征管理需求:明確的記錄客戶的需求并跟蹤這些需求的變更。在接受之前分析系統(tǒng)的變更所帶來的影響使用基于組件的體系結(jié)構(gòu):將系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)成組件式可視化模型軟件:使用圖形化UML模型來表現(xiàn)軟件的靜態(tài)和動(dòng)態(tài)視圖驗(yàn)證軟件質(zhì)量:確保軟件滿足了機(jī)構(gòu)質(zhì)量標(biāo)準(zhǔn)控制對(duì)軟件的變更:使用變更管理軟件及配置管理過程和工具來管理軟件的變更Rational統(tǒng)一過程RUP的實(shí)踐視角:Rational統(tǒng)一過程RUP并不適合于所有的開發(fā)類型,但是他卻是代表了新的一代的一般過程。最重要的創(chuàng)新在于對(duì)階段的分解和工作流,以及將軟件部署到用戶環(huán)境視為過程的一部分。階段是動(dòng)態(tài)的而且是有目標(biāo)的。工作流是靜態(tài)的,且是不與單個(gè)階段相關(guān)的技術(shù)活動(dòng),但是可以在整個(gè)開發(fā)過程中使用,以便達(dá)到每個(gè)階段的目標(biāo)Rational統(tǒng)一過程RUP并不適合于所有的開發(fā)類型,但是通常描述的過程活動(dòng)及產(chǎn)出文檔需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼集成測(cè)試確認(rèn)測(cè)試撰寫用戶文檔用戶培訓(xùn)打包和交付通常描述的過程活動(dòng)及產(chǎn)出文檔需求分析需求分析(1/3)任務(wù)進(jìn)行需求調(diào)查,定義軟件的用戶需求,撰寫軟件需求規(guī)格說明書(SRS)根據(jù)SRS,撰寫軟件確認(rèn)測(cè)試計(jì)劃評(píng)審SRS和軟件確認(rèn)測(cè)試計(jì)劃輸入用戶的初步需求描述輸出軟件需求規(guī)格說明書軟件確認(rèn)測(cè)試計(jì)劃需求分析(1/3)任務(wù)需求分析和軟件定義(2/3)實(shí)施根據(jù)用戶需求描述,分析和定義軟件系統(tǒng)的需求,按照《軟件需求規(guī)格說明書編寫指南》編寫軟件需求規(guī)格說明書(SRS)根據(jù)SRS,制定軟件確認(rèn)測(cè)試計(jì)劃,按照《軟件確認(rèn)測(cè)試計(jì)劃編寫指南》編寫軟件確認(rèn)測(cè)試計(jì)劃文檔對(duì)需求分析的結(jié)果(軟件需求規(guī)格說明書和軟件確認(rèn)測(cè)試計(jì)劃)進(jìn)行評(píng)審需求分析和軟件定義(2/3)實(shí)施需求分析和軟件定義(3/3)說明用戶需求描述了用戶對(duì)目標(biāo)軟件系統(tǒng)的期望和要求(包括功能、性能和設(shè)計(jì)約束等),因此,需求分析只需關(guān)心要解決的問題,而無需關(guān)心這些問題的解決方案軟件確認(rèn)測(cè)試計(jì)劃應(yīng)該包含軟件需求規(guī)格說明書中所定義的所有需求的測(cè)試內(nèi)容需求分析和軟件定義(3/3)說明概要設(shè)計(jì)(1/3)任務(wù)根據(jù)SRS,進(jìn)行軟件的總體結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì),撰寫軟件總體結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)規(guī)格說明書根據(jù)軟件的概要設(shè)計(jì),制定軟件集成測(cè)試計(jì)劃輸入軟件需求規(guī)格說明書SRS輸出軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件集成測(cè)試計(jì)劃概要設(shè)計(jì)(1/3)任務(wù)概要設(shè)計(jì)(2/3)實(shí)施根據(jù)SRS來進(jìn)行軟件設(shè)計(jì)按照《軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書編寫指南》編寫軟件總體結(jié)構(gòu)設(shè)計(jì)文檔按照《軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書編寫指南》編寫軟件數(shù)據(jù)設(shè)計(jì)文檔按照《軟件接口設(shè)計(jì)規(guī)格說明書編寫指南》編寫軟件接口設(shè)計(jì)文檔按照《軟件集成測(cè)試計(jì)劃編寫指南》編寫軟件集成測(cè)試計(jì)劃文檔概要設(shè)計(jì)(2/3)實(shí)施概要設(shè)計(jì)(3/3)說明概要設(shè)計(jì)要給出滿足用戶需求的軟件解決方案,主要是指軟件的總體結(jié)構(gòu)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì),不涉及具體模塊的內(nèi)部細(xì)節(jié)概要設(shè)計(jì)(3/3)說明詳細(xì)設(shè)計(jì)(1/3)任務(wù)進(jìn)行軟件的詳細(xì)設(shè)計(jì),撰寫軟件詳細(xì)設(shè)計(jì)規(guī)格說明書根據(jù)軟件的詳細(xì)設(shè)計(jì),制定軟件單元測(cè)試計(jì)劃輸入軟件需求規(guī)格說明書SRS軟件總體設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書詳細(xì)設(shè)計(jì)(1/3)任務(wù)詳細(xì)設(shè)計(jì)(2/3)實(shí)施根據(jù)SRS和軟件總體結(jié)構(gòu)、接口和數(shù)據(jù)設(shè)計(jì)規(guī)格說明書,進(jìn)行軟件的詳細(xì)設(shè)計(jì),根據(jù)《軟件詳細(xì)設(shè)計(jì)規(guī)格說明書編寫指南》撰寫軟件詳細(xì)設(shè)計(jì)文檔根據(jù)每個(gè)模塊的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)的設(shè)計(jì),以及《軟件單元測(cè)試計(jì)劃編寫指南》編寫軟件單元測(cè)試計(jì)劃文檔輸出軟件詳細(xì)設(shè)計(jì)規(guī)格說明書軟件單元測(cè)試計(jì)劃詳細(xì)設(shè)計(jì)(2/3)實(shí)施詳細(xì)設(shè)計(jì)(3/3)說明詳細(xì)設(shè)計(jì)主要根據(jù)軟件需求規(guī)格說明書,在軟件總體結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)的基礎(chǔ)上,涉及軟件解決方案的詳細(xì)細(xì)節(jié),尤其是模塊的實(shí)現(xiàn)算法和思想詳細(xì)設(shè)計(jì)(3/3)說明編碼(1/2)任務(wù)編寫程序進(jìn)行單元測(cè)試,撰寫單元測(cè)試報(bào)告輸入軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件詳細(xì)設(shè)計(jì)規(guī)格說明書單元測(cè)試計(jì)劃編碼(1/2)任務(wù)編碼(2/2)實(shí)施根據(jù)軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書、軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書、軟件接口設(shè)計(jì)規(guī)格說明書、軟件詳細(xì)設(shè)計(jì)規(guī)格說明書進(jìn)行編碼根據(jù)單元測(cè)試計(jì)劃對(duì)各個(gè)模塊進(jìn)行單元測(cè)試輸出經(jīng)過單元測(cè)試的軟件模塊源程序單元測(cè)試報(bào)告編碼(2/2)實(shí)施集成測(cè)試(1/2)任務(wù)集成各個(gè)軟件模塊進(jìn)行測(cè)試輸入軟件模塊的程序代碼軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書軟件接口設(shè)計(jì)規(guī)格說明書軟件集成測(cè)試計(jì)劃集成測(cè)試(1/2)任務(wù)集成測(cè)試(2/2)實(shí)施根據(jù)軟件總體結(jié)構(gòu)設(shè)計(jì)規(guī)格說明書、軟件接口設(shè)計(jì)規(guī)格說明書、軟件數(shù)據(jù)設(shè)計(jì)規(guī)格說明書和軟件集成測(cè)試計(jì)劃,逐步組裝模塊進(jìn)行軟件的集成測(cè)試,撰寫集成測(cè)試報(bào)告輸出可運(yùn)行的、經(jīng)過集成測(cè)試的目標(biāo)軟件系統(tǒng)集成測(cè)試報(bào)告集成測(cè)試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 壽險(xiǎn)公司財(cái)務(wù)制度
- 如何學(xué)財(cái)務(wù)制度管理知識(shí)
- 科技研究型財(cái)務(wù)制度
- 現(xiàn)代公司財(cái)務(wù)制度
- 分子公司財(cái)務(wù)制度
- 農(nóng)村公路安全隱患治理制度
- 蘭州市第六十六中學(xué)分層作業(yè)冊(cè)編審制度
- 公司基本制度包括哪些制度
- 養(yǎng)老院老人家庭關(guān)懷制度
- 施工現(xiàn)場(chǎng)施工防生物入侵制度
- 公安交警隊(duì)和車輛管理所標(biāo)識(shí)制作及設(shè)置規(guī)范
- 【高中數(shù)學(xué)競(jìng)賽真題?強(qiáng)基計(jì)劃真題考前適應(yīng)性訓(xùn)練】 專題03三角函數(shù) 真題專項(xiàng)訓(xùn)練(全國(guó)競(jìng)賽+強(qiáng)基計(jì)劃專用)原卷版
- DB33∕T 1152-2018 建筑工程建筑面積計(jì)算和竣工綜合測(cè)量技術(shù)規(guī)程
- 2025年湖南省郴州市中考模擬英語試題(含答案含聽力原文無音頻)
- SL631水利水電工程單元工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)第1部分:土石方工程
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 英語試卷(含標(biāo)準(zhǔn)答案)+聽力音頻
- 福建省龍巖市2024-2025學(xué)年高一上學(xué)期期末考試物理試卷(含答案)
- 汽車修理廠輪胎采購 投標(biāo)方案(技術(shù)標(biāo) )
- 2023年7月浙江省普通高中學(xué)業(yè)水平考試(學(xué)考)化學(xué)試題
- DB3301-T 0461-2024 電動(dòng)自行車停放充電場(chǎng)所消防安全管理規(guī)
- NB-T 47013.15-2021 承壓設(shè)備無損檢測(cè) 第15部分:相控陣超聲檢測(cè)
評(píng)論
0/150
提交評(píng)論