軟件工程生命周期_第1頁(yè)
軟件工程生命周期_第2頁(yè)
軟件工程生命周期_第3頁(yè)
軟件工程生命周期_第4頁(yè)
軟件工程生命周期_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程軟件生命周期內(nèi)要軟件生命周期 軟件過(guò)程的基本活動(dòng)A軟件描述A軟件設(shè)計(jì)與實(shí)現(xiàn)A軟件有效性驗(yàn)證»軟件進(jìn)化軟件生命周期軟件從定義開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、使用和維 護(hù),直到最終退役的全過(guò)程稱為蜒住生 存周期。軟件生命周期由軟件定義、軟件開(kāi)發(fā)、 運(yùn)行、維護(hù)及退役五個(gè)時(shí)期。而每個(gè)時(shí) 期又可以進(jìn)一步劃分成若干階段。問(wèn)題定義“要解決什么問(wèn)題?“盡管確切定義問(wèn)題的必要性是十分明顯的,但在實(shí)踐中它卻可能是最容易被忽視的問(wèn)題”通過(guò)對(duì)客戶的訪問(wèn)調(diào)查,系統(tǒng)分析員扼要的寫 出問(wèn)題的性質(zhì)、工程目標(biāo)和工程規(guī)模的書面報(bào) 告,經(jīng)過(guò)討論和必要的修改后這份報(bào)告應(yīng)該得 到客戶用戶的確認(rèn)??尚行匝芯俊白鲞€是不做”本階段的任務(wù)是

2、根據(jù)用戶提出的工程項(xiàng)目的性 質(zhì)、目標(biāo)和規(guī)模,進(jìn)一步了解用戶的要求及現(xiàn)再號(hào)環(huán) 養(yǎng)及條件,從技術(shù)、經(jīng)濟(jì)和社會(huì)等名鷲炸究書鑒 該項(xiàng)目的可行性,即該項(xiàng)目是否值得去解決,是否存 在可行的諒棗辦法。可行性論證包括經(jīng)濟(jì)可行性、技術(shù)可行性、操作 可行性、法律可行性等。需求分析1)需求分析的任務(wù)需求分析的任務(wù)是確定待開(kāi)發(fā)的軟件系統(tǒng) “做什么,不做什么”。不考慮“怎樣做”具體任務(wù)包括確定軟件系統(tǒng)的功能需求、性能需求和運(yùn)行環(huán)境約束,編制軟件需求規(guī) 格說(shuō)明書、軟件系統(tǒng)的驗(yàn)收測(cè)試準(zhǔn)則和初步 的用戶手冊(cè)。需求分析2)需求分析的實(shí)現(xiàn)途徑軟件系統(tǒng)需求一般由用戶提出。系統(tǒng)分析員和開(kāi)發(fā)人員在需求分析階段必須與用戶反復(fù)討論、協(xié)商,

3、充分交流信息,并用某種方法和工具構(gòu)建軟件系統(tǒng)的邏輯模型。為了使開(kāi)發(fā)方與用戶對(duì)待 開(kāi)發(fā)軟件系統(tǒng)達(dá)成一致的理解,必須建立相應(yīng)的 南錄文檔。有時(shí)對(duì)大型.復(fù)雜的軟律系統(tǒng)矗主委功能.接口.人機(jī)界面等還要進(jìn)行模擬或建造原型,以便向用戶和開(kāi)發(fā)方展示待開(kāi)發(fā)軟件系統(tǒng)的 主要特征。確定軟件需求的過(guò)程看時(shí)需要反復(fù)多 次,巖終得到用戶和開(kāi)發(fā)者的確認(rèn)。需求分析3)需求分析的階段成果需求分析階段的主要成果有軟件需求規(guī)格說(shuō)明、(Software Requirements軟件需求規(guī)格說(shuō)明軟件驗(yàn)收測(cè)試計(jì)劃和準(zhǔn)則、初步的用戶手冊(cè)等。Specification,即SRS),是一個(gè)關(guān)鍵性的文檔。多數(shù)場(chǎng)合,面向開(kāi)發(fā)者的軟件需求用需求規(guī)

4、格說(shuō)明語(yǔ)同的合同書的作用。軟件開(kāi)發(fā)軟件開(kāi)發(fā)過(guò)程由概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼與單 元測(cè)試、(綜合)測(cè)試共5個(gè)階段組成。開(kāi)發(fā)者通??商岢龆喾N設(shè)計(jì)方案,并對(duì)各種方案 在功能、性能、成本、進(jìn)度等方面進(jìn)行比較和折 衷,從中選出一種"最佳方棗” O概要設(shè)計(jì)1)任務(wù):是對(duì)需求規(guī)格說(shuō)明中提供的軟件系統(tǒng)邏輯 模型進(jìn)行進(jìn)一步的分解,從而建立軟件系統(tǒng) 的總體結(jié)構(gòu)和各子系統(tǒng)之間、各模塊之間的關(guān)系,定義各子系統(tǒng)接口界面和各功能模塊的接口,設(shè)計(jì)全局?jǐn)?shù)據(jù)庫(kù)或數(shù)據(jù)結(jié)構(gòu),規(guī)定 設(shè)計(jì)約束,制定組裝測(cè)試計(jì)劃,進(jìn)而給出每 個(gè)功能模塊的功能描述、全局?jǐn)?shù)據(jù)定義和外 部文件定義等。概要設(shè)計(jì)2)實(shí)現(xiàn)途徑選擇某種方法和工具。設(shè)計(jì)的軟件

5、系統(tǒng)應(yīng)具有良好的總體結(jié)構(gòu)、盡量降低模塊接口的復(fù)雜度,并力爭(zhēng)做到各功能模塊之間的低耦合度、而功能模塊內(nèi)部具有較高的內(nèi)聚度。3)階段性成果概要設(shè)計(jì)說(shuō)明書、數(shù)據(jù)庫(kù)或數(shù)據(jù)結(jié)構(gòu)說(shuō)明書、 組裝測(cè)試計(jì)劃等文檔。詳細(xì)設(shè)計(jì)1)任務(wù):是將概要設(shè)計(jì)產(chǎn)生的功能模塊進(jìn)一步細(xì)化, 形成可編程的程序模塊,然后設(shè)計(jì)程序模塊的內(nèi) 部細(xì)節(jié),包括算法、數(shù)據(jù)結(jié)構(gòu)以及各程序模塊間 的接口信息,并設(shè)計(jì)模塊的單元測(cè)試計(jì)劃。2)途徑:可以釆用結(jié)構(gòu)化的設(shè)計(jì)方法,采用結(jié)構(gòu)化 的程序流程圖、N-S圖、PAD圖、過(guò)程設(shè)計(jì)語(yǔ)言(PDL, Procedure Design Language )等工具進(jìn) 行描述,也可以采用面向?qū)ο蟮脑O(shè)計(jì)方法等等。3)階段

6、成果:應(yīng)提供“詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明”和單元 測(cè)試計(jì)劃等詳細(xì)設(shè)計(jì)文檔。編碼與單元測(cè)試1)編碼的主要任務(wù)是根據(jù)詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明,用某種選定的程序設(shè)計(jì)語(yǔ)言把詳細(xì)設(shè)計(jì)的結(jié)果轉(zhuǎn)化為機(jī)器可運(yùn)行的源程序模塊,這是一個(gè)編程和調(diào)試 程序的過(guò)程。一般來(lái)說(shuō),對(duì)軟件系統(tǒng)所采用的分析方法、設(shè)計(jì) 方法、編程方法以及所選用的程序設(shè)計(jì)語(yǔ)言應(yīng)盡 可能保持一致。編碼階段應(yīng)注意遵循編程標(biāo)準(zhǔn)、養(yǎng)成良好的編程 風(fēng)格,以便編寫出正確的便于理解、調(diào)試和維護(hù) 的程序模塊。2)單元測(cè)試:每編寫出一個(gè)程序模塊的源程 序,調(diào)試通過(guò)后,即對(duì)該模塊進(jìn)行測(cè)試,這 稱為單兀測(cè)試。3 )實(shí)現(xiàn)階段的成果:按一定規(guī)則存儲(chǔ)在一定載體上的通過(guò)單元測(cè)試的各功能模塊的集合

7、;/詳細(xì)的單元測(cè)試報(bào)告等文檔。測(cè)試測(cè)試階段解決的主要問(wèn)題是“通過(guò)怎樣的測(cè) 試(及相應(yīng)的調(diào)試),使軟件系統(tǒng)達(dá)到用戶 的預(yù)期要求?!睖y(cè)試分模塊測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試。集成測(cè)試1)集成測(cè)試:根據(jù)概要設(shè)計(jì)提供的軟件結(jié)構(gòu)、各功能模塊的說(shuō)明和集成測(cè)試計(jì)劃,把經(jīng)過(guò)單元測(cè)試檢驗(yàn)的模塊按照某種選定的策略逐步進(jìn)行組裝和測(cè)試。3)階段成果:2)主要任務(wù):測(cè)試系統(tǒng)各模塊間的連接是否正確, 系統(tǒng)或子系統(tǒng)的正確處理能力、容錯(cuò)能力、輸入/ 輸出處理是否達(dá)到要求。/應(yīng)是滿足概要設(shè)計(jì)要求、可運(yùn)行 的軟件系統(tǒng)和源程序瘠單;/集成測(cè)試報(bào)告等文檔。驗(yàn)收測(cè)試1)任務(wù):按照驗(yàn)收測(cè)試計(jì)劃和準(zhǔn)則對(duì)軟件系統(tǒng)進(jìn)行 測(cè)試,看其是否達(dá)到了需求規(guī)格

8、說(shuō)明中定義的全 部功能和性能等方面的需求。2)驗(yàn)收測(cè)試結(jié)束時(shí),應(yīng)生成驗(yàn)收測(cè)試報(bào)告、項(xiàng)目開(kāi) 發(fā)總結(jié)報(bào)告,并向用戶提交源程序清單、最終用 戶手冊(cè)、操作手冊(cè)等文檔資料。3)最后,由專家、用戶負(fù)責(zé)人、軟件開(kāi)發(fā)和管理人 員組成的軟件評(píng)審小組要對(duì)軟件驗(yàn)收測(cè)試報(bào)告、 測(cè)試結(jié)果和軟件進(jìn)行評(píng)審,通過(guò)后,軟件產(chǎn)品正式通過(guò)驗(yàn)收(即完成了開(kāi)發(fā)合同),可以交付用 戶使用了。運(yùn)行/軟件工程師將所開(kāi)發(fā)的軟件安裝在用戶需要的運(yùn) 行環(huán)境中,以交給用戶使用,這個(gè)階段成為運(yùn)行 階段。/該階段的問(wèn)題是“軟件能否順利的為用戶進(jìn)行服 務(wù)”?!败浖倪\(yùn)行是軟件產(chǎn)品發(fā)揮社會(huì)和經(jīng)濟(jì)效益的 重要時(shí)期”/在軟件使用過(guò)程中用戶或軟件工程師必須仔細(xì)收

9、 集已發(fā)現(xiàn)的軟件運(yùn)行中的問(wèn)題,定期或不定期的 擬定“軟件問(wèn)題報(bào)告”。維護(hù)/任務(wù):通過(guò)各種維護(hù)活動(dòng)使軟件系統(tǒng)持久地滿足 用戶的需求。/每項(xiàng)維護(hù)活動(dòng)實(shí)質(zhì)上都是一次壓縮和簡(jiǎn)化了的軟 件定義和軟件開(kāi)發(fā)過(guò)程。都要經(jīng)歷提出維護(hù)要求、 分析維護(hù)要求、提出維護(hù)方案、審批維護(hù)方案、 確定維護(hù)計(jì)劃、修改軟件設(shè)計(jì)、修改程序、測(cè)試 程序、評(píng)審、驗(yàn)收等步驟。/維護(hù)活動(dòng)一般可以分程四類::改正性維護(hù):適應(yīng)性維護(hù):完善性維護(hù):預(yù)防性維護(hù)維護(hù)據(jù)統(tǒng)計(jì),軟件維護(hù)人員為了分析和 理解原軟件系統(tǒng)所花費(fèi)的工作量約占整個(gè)維護(hù)工作量的60%以上。在軟件開(kāi)發(fā)的過(guò)程中應(yīng)重視對(duì)軟件可維護(hù)性的支持。退役它是軟件生命周期的結(jié)束,即停止使用、終止 其

10、運(yùn)行。軟件研制與軟件測(cè)試的層次對(duì)應(yīng)關(guān)系軟件過(guò)程的基本活動(dòng)所有軟件過(guò)程都包含4項(xiàng)基本活動(dòng):軟件描述(需求工程)軟件的功能及操作上的約束必須定義軟件設(shè)計(jì)與實(shí)現(xiàn)軟件一定要按描述來(lái)生產(chǎn)軟件有效性驗(yàn)證軟件要被確定是有效的,即要做客戶想要的事軟件進(jìn)化(維護(hù))軟件一定按客戶需求的變更來(lái)進(jìn)化軟件描述(需求工程)軟件描述的目標(biāo)是確定系統(tǒng)需要哪些服務(wù)以及運(yùn) 行期間受到哪些約束。需求工程產(chǎn)生用以描述系統(tǒng)的需求文檔。通常需 求文檔被分成兩個(gè)層次來(lái)描述:/最終用戶和客戶需要高層次的需求描述;/系統(tǒng)開(kāi)發(fā)人員需要比較詳細(xì)的系統(tǒng)描述。需求工程過(guò)程有4個(gè)主要階段:可行性研究、需求 導(dǎo)出與分析、需求描述和需求有效,性驗(yàn)證。軟件描

11、述(需求工程)軟件設(shè)計(jì)與實(shí)現(xiàn)軟件設(shè)計(jì)與實(shí)現(xiàn)階段是把系統(tǒng)描述轉(zhuǎn)換成一個(gè)可運(yùn)行的系統(tǒng)的過(guò)程。它總是包含設(shè)計(jì)和編程。:軟件設(shè)計(jì)是對(duì)實(shí)現(xiàn)軟件的結(jié)構(gòu)、系統(tǒng)的數(shù)據(jù)、 系統(tǒng)組件間的接口以及所用的算法進(jìn)行描述。 在設(shè)計(jì)過(guò)程中不斷添加設(shè)計(jì)要素和設(shè)計(jì)細(xì)節(jié), 并對(duì)先前的設(shè)計(jì)方案進(jìn)行修正。軟件實(shí)現(xiàn)是將設(shè)計(jì)方案轉(zhuǎn)換成可執(zhí)行的程序。軟件設(shè)計(jì)設(shè)計(jì)過(guò)程中一些特別的活動(dòng)有:/體系結(jié)構(gòu)設(shè)計(jì)一識(shí)別系統(tǒng)由哪些子系統(tǒng)構(gòu)成,及其關(guān)系 /抽象描述一每個(gè)子系統(tǒng)提供的服務(wù)及在什么范圍內(nèi)運(yùn)行/接口設(shè)計(jì)一每個(gè)子系統(tǒng)與其他子系統(tǒng)間的接口/組件設(shè)計(jì)一分派服務(wù)到不同組件,并設(shè)計(jì)接口/數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)一詳細(xì)設(shè)計(jì)并描述實(shí)現(xiàn)階段的數(shù)據(jù)結(jié)構(gòu)/算法設(shè)計(jì)一詳細(xì)設(shè)計(jì)并描

12、述服務(wù)將要采用的算法軟件設(shè)計(jì)事實(shí)上設(shè)計(jì)過(guò)程中的活動(dòng)是交替進(jìn)行的”Programming and debugging Translating a design into a program and removing errors from that program Programming is a personal activity - there is no generic programming process.Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process.The debugging processG位錯(cuò)麗誤程序)軟件有效性軟件有效性驗(yàn)證是要看系統(tǒng)是否符合它的描述以 及是否符合客戶的需求。它包括檢查過(guò)程、從用 戶需求定義到程序開(kāi)發(fā)的每個(gè)軟件過(guò)程階段。絕大多數(shù)有效性驗(yàn)證的成本發(fā)生在系統(tǒng)完成測(cè)試 的時(shí)候。“測(cè)試過(guò)程應(yīng)該和開(kāi)發(fā)過(guò)程相結(jié)合,分階段增量進(jìn)行”系統(tǒng)有效性測(cè)試過(guò)程的階段包括:/單元

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論