![002軟件工程概述_第1頁](http://file4.renrendoc.com/view11/M01/26/13/wKhkGWV6a-WALtFZAADU3rttfo8265.jpg)
![002軟件工程概述_第2頁](http://file4.renrendoc.com/view11/M01/26/13/wKhkGWV6a-WALtFZAADU3rttfo82652.jpg)
![002軟件工程概述_第3頁](http://file4.renrendoc.com/view11/M01/26/13/wKhkGWV6a-WALtFZAADU3rttfo82653.jpg)
![002軟件工程概述_第4頁](http://file4.renrendoc.com/view11/M01/26/13/wKhkGWV6a-WALtFZAADU3rttfo82654.jpg)
![002軟件工程概述_第5頁](http://file4.renrendoc.com/view11/M01/26/13/wKhkGWV6a-WALtFZAADU3rttfo82655.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一、軟件工程概述二、常用軟件開發(fā)模型三、軟件開發(fā)管理基礎(chǔ)四、CMM簡介教學內(nèi)容:了解軟件的基本概念軟件的特征軟件危機、軟件工程軟件生命周期中各個階段的任務(wù)、實施方法及步驟幾種典型的軟件開發(fā)模型什么是軟件?軟件是計算機程序、各種相關(guān)的文檔和數(shù)據(jù)的集合。具體地說,它包括以下幾部分:程序:能以預(yù)期的性能執(zhí)行預(yù)期功能的一段指令;數(shù)據(jù):便于程序操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔:記錄了程序的操作和使用的文檔.許多人常常把某個計算機程序叫做軟件,也常常把軟件開發(fā)簡單地說成是編寫一段程序。這些說法不正確。軟件一般分為系統(tǒng)軟件和應(yīng)用軟件兩大類。系統(tǒng)軟件指管理、監(jiān)控和維護計算機資源(包括硬件和軟件)的軟件。包括操作系統(tǒng)、各種程序設(shè)計語言、編譯軟件和數(shù)據(jù)庫管理系統(tǒng)等。應(yīng)用軟件指用戶利用計算機及其提供的系統(tǒng)軟件為解決各種實際問題而編制的計算機程序。包括辦公軟件、電子商務(wù)軟件、字處理軟件和圖形處理軟件等。軟件是邏輯產(chǎn)品,它具有抽象性,通過計算機的執(zhí)行才能體現(xiàn)它的功能和作用。其成本主要體現(xiàn)在軟件的開發(fā)和研制上,可進行大量的復制。不存在磨損和老化問題。軟件對開發(fā)、運行和硬件等環(huán)境有著不同程度的依賴性,這導致了軟件移植的問題。主要靠腦力勞動生產(chǎn),尚未擺脫手工開發(fā)方式。軟件是復雜的,而且以后會更復雜。開發(fā)和維護成本高。軟件開發(fā)有比較明確的分工。完成特定目的、符合用戶特定需求的軟件所需的組織結(jié)構(gòu)和過程、規(guī)范的集合軟件項目的實施需要周密的部署,合理的規(guī)章制度,符合項目的路線(軟件過程),良好的項目管理和人員安排。軟件開發(fā)項目分類上級下達的軟件開發(fā)項目本單位根據(jù)市場需要確定的開發(fā)項目用戶合同要求的軟件開發(fā)項目~6~軟件伴隨計算機技術(shù)的發(fā)展經(jīng)歷了三個階段:程序設(shè)計階段軟件設(shè)計階段軟件工程階段特點:尚無軟件的概念,程序設(shè)計主要圍繞硬件進行開發(fā)規(guī)模很小、工具簡單無明確分工(開發(fā)者和用戶)程序設(shè)計追求節(jié)省空間和編程技巧,無文檔資料主要是用于科學計算特點:硬件環(huán)境相對穩(wěn)定,出現(xiàn)“軟件作坊”的開發(fā)組織形式開始使用產(chǎn)品軟件(可購買),從而建立了軟件的概念系統(tǒng)規(guī)模越來越龐大,高級編程語言層出不窮,應(yīng)用領(lǐng)域不斷拓寬開發(fā)者和用戶有了明確分工,社會對軟件的需求量劇增但是軟件開發(fā)技術(shù)沒有重大突破,生產(chǎn)效率低下,從而導致“軟件危機”產(chǎn)生。由于軟件危機的產(chǎn)生,迫使人們不得不研究、改變軟件開發(fā)的技術(shù)手段和管理方法。從此軟件生產(chǎn)進入軟件工程時代。特點:軟件工程時代的生產(chǎn)方式是工程化生產(chǎn);使用數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、先進的開發(fā)技術(shù)和方法,使生產(chǎn)率大大提高;但未能完全擺脫軟件危機。1什么是軟件危機?開發(fā)軟件所需的高成本同產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象就是“軟件危機”?!败浖C”是在1968年召開的國際軟件工程會議上被人們普遍認識的。軟件危機包括兩方面的問題:一是如何開發(fā)軟件,怎樣才能滿足軟件日益增長的需要;二是如何維護數(shù)量不斷膨脹的軟件產(chǎn)品。軟件開發(fā)成本及進度難以預(yù)測用戶對已完成的軟件系統(tǒng)不滿足軟件產(chǎn)品質(zhì)量無法保證軟件產(chǎn)品難以維護軟件通常缺少適當?shù)奈臋n資料軟件成本逐年提高軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應(yīng)用技術(shù)的迅速普及。IBM公司開發(fā)OS/360系統(tǒng),共有4000多個模塊,約100萬條指令,投入5000人年,耗資數(shù)億美元,結(jié)果還是延期交付。在交付使用后的系統(tǒng)中仍發(fā)現(xiàn)大量(2000個以上)的錯誤。在軟件開發(fā)中缺乏科學管理的方法,開發(fā)進度不能保證,軟件開發(fā)和維護困難。只重視開發(fā)而輕視問題的定義,使軟件產(chǎn)品無法滿足用戶的需求。缺乏軟件質(zhì)量管理規(guī)范。對軟件開發(fā)成本的估計不準確,造成開發(fā)成本超出預(yù)算。過分重視程序設(shè)計人員的個人技能,缺少有效方法與軟件工具的支持,軟件產(chǎn)品個性化,可維護性差。硬件生產(chǎn)率大幅提高軟件生產(chǎn)隨規(guī)模增大、復雜度增大軟件生產(chǎn)率很低硬、軟件供需失衡矛盾引發(fā)“軟件危機”為了解決軟件危機就要從技術(shù)和組織管理兩個方面去研究,不斷總結(jié)經(jīng)驗教訓,提高軟件產(chǎn)品的生產(chǎn)效率,降低軟件開發(fā)和維護的成本。開發(fā)軟件選用最好的開發(fā)工具是至關(guān)重要的,工具選用的好,它可以“放大”人的智力,大大加快軟件開發(fā)速度,提高軟件質(zhì)量。為了解決軟件危機,人們開始探索用工程化的方法進行軟件開發(fā),軟件開發(fā)工程化的概念和方法應(yīng)運而生,由此誕生了一門新興學科——軟件工程學?!败浖こ獭币辉~是1968年北大西洋公約組織組織的專門討論解決“軟件危機”的國際會議上正式提出并使用的。軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。它以“工程化”的思想來開發(fā)與維護軟件。IEEE給出軟件工程的定義是:將系統(tǒng)的、規(guī)范的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運行和維護的全過程及對上述方法的研究。什么是軟件過程?軟件工程=質(zhì)量保證+過程+方法+工具開發(fā)軟件時,需要畫出路線圖,指導操作者按一定順序和步驟創(chuàng)建適時的、高質(zhì)量的軟件產(chǎn)品。開發(fā)軟件產(chǎn)品遵循的路線圖就稱為軟件過程。質(zhì)量保證是指為使軟件產(chǎn)品符合規(guī)定需求所進行的一系列有計劃的必要工作。質(zhì)量是推動軟件過程不斷改進的動力。方法層提供了軟件開發(fā)的各種方法。工具層為軟件工程方法和過程提供了自動和半自動的支撐環(huán)境。軟件工程追求的目標是可用性、正確性和合理性。也可以說是:“優(yōu)質(zhì)高產(chǎn)”,即:以較低的成本研制具有高質(zhì)量的軟件。用分階段的生命周期計劃嚴格管理堅持進行階段復審實行嚴格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計技術(shù)結(jié)果應(yīng)能清楚地審查,即每階段都有相應(yīng)文檔開發(fā)小組人員少而精承認不斷改進軟件工程實踐的必要性軟件生命周期指軟件產(chǎn)品從需求定義開始,經(jīng)過開發(fā),到軟件交付使用,直至廢棄不用為止的過程。軟件生命周期由軟件定義、軟件開發(fā)和運行維護三個時期組成。每個時期又劃分為若干個階段。通常把軟件生命周期劃分為8個階段:每個階段都有明確并且相對獨立的任務(wù)和完成標志,一個階段的任務(wù)完成后,再進入下一階段。1、軟件定義時期問題定義:確定“要解決的問題是什么”。階段結(jié)果,產(chǎn)生出:問題定義報告。可行性研究:回答“上一個階段所確定的問題是否有行得通的解決辦法”。階段結(jié)果,產(chǎn)生出:可行性研究報告。需求分析:任務(wù)是確定系統(tǒng)必須具備哪些功能?;卮稹澳繕讼到y(tǒng)必須做什么?階段結(jié)果,產(chǎn)生出:需求規(guī)格說明書在需求分析階段確定的系統(tǒng)邏輯模型是以后設(shè)計和實現(xiàn)目標系統(tǒng)的基礎(chǔ)。因此,必須準確完整地體現(xiàn)用戶的要求。問題定義報告是系統(tǒng)分析員簡要地寫出關(guān)于問題性質(zhì)、工程目標和工程規(guī)模的書面報告。軟件需求規(guī)格說明書必須清楚、準確地描述軟件的每一個基本需求(功能、性能、設(shè)計約束和屬性)和外部界面。2、軟件開發(fā)時期概要設(shè)計(也稱總體設(shè)計):關(guān)鍵問題是“怎樣實現(xiàn)目標系統(tǒng)”。階段結(jié)果,產(chǎn)生出:概要設(shè)計說明書。詳細設(shè)計:把解決方法具體化,關(guān)鍵問題是“怎樣具體地實現(xiàn)目標系統(tǒng)”。階段結(jié)果,產(chǎn)生出:詳細設(shè)計說明書。編碼和單元測試:寫出正確的、容易理解而且容易維護的程序代碼,并仔細測試每一個模塊。階段結(jié)果,產(chǎn)生出:無語法錯誤的源程序。回答“如何解決該問題?”,即系統(tǒng)“怎樣做?”任務(wù)是確定系統(tǒng)的總體結(jié)構(gòu)、外部接口、模塊的劃分、模塊的功能及數(shù)據(jù)庫設(shè)計。解決每個模塊內(nèi)部算法和數(shù)據(jù)結(jié)構(gòu)。其詳細設(shè)計說明書必須給出每一個基本部件的功能、算法和過程描述。概要設(shè)計說明書必須描述所設(shè)計軟件的總體結(jié)構(gòu)、外部接口、各個主要部件的功能與數(shù)據(jù)結(jié)構(gòu)以及各主要部件之間的接口;必要時還必須對主要部件的每一個子部件進行描述。根據(jù)設(shè)計說明書中每一個模塊的流程選取一種適當?shù)母呒壋绦蛟O(shè)計語言,寫出正確的、容易理解而且容易維護的程序代碼,并仔細測試每一個模塊。綜合測試:是通過各種類型的測試及相應(yīng)的調(diào)試使軟件達到預(yù)定的要求。最基本的是集成測試和驗收測試。集成測試是把經(jīng)過單元測試的模塊按某種選定的策略裝配起來,在裝配過程中進行必要的測試。驗收測試是按照需求規(guī)格說明書的規(guī)定,有用戶或在用戶參與下對目標系統(tǒng)進行驗收。階段結(jié)果,產(chǎn)生出:測試報告。3、運行維護時期運行維護階段:是軟件生存周期最后一個階段。關(guān)鍵任務(wù)是:通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需求。主要是改正軟件系統(tǒng)在使用過程中發(fā)現(xiàn)的隱含錯誤,擴充在使用過程中的新的功能要求;階段結(jié)果,產(chǎn)生出:軟件系統(tǒng)的問題報告和軟件修改報告(記錄發(fā)現(xiàn)軟件錯誤的情況以及修改軟件的過程)。按工作量從大到小排列,依次為:完善性維護:指在使用軟件系統(tǒng)的過程中為滿足用戶提出的新功能和性能要求而進行的維護活動。它約占總維護活動的50%。糾錯性維護:診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤。這部分維護工作約占全部維護活動的25%。適應(yīng)性維護:由于計算機技術(shù)的飛速發(fā)展,外部設(shè)備和其他系統(tǒng)元素經(jīng)常改進和變化,為適應(yīng)變化的環(huán)境而修改軟件的活動稱之為適應(yīng)性維護。它占總維護活動的18%~21%。預(yù)防性維護:為進一步改進軟件的可維護性、可靠性而進行的維護活動,約占4%。二、幾種典型的軟件開發(fā)模型確定需求開發(fā)策劃需求分析概要設(shè)計詳細設(shè)計編碼與調(diào)試測試~29~軟件集成、聯(lián)調(diào)內(nèi)部確認復制、交付、安裝試運行、用戶驗收運行、維護退役確定外部用戶需求上級下達的軟件開發(fā)課題本單位根據(jù)市場需要確定的開發(fā)課題用戶合同要求的軟件開發(fā)任務(wù)輸出可行性分析報告技術(shù)、經(jīng)濟、社會可行性,風險對策合同及評審記錄產(chǎn)品要求得到規(guī)定和滿足單位有能力滿足規(guī)定的要求~30~調(diào)研、分析確定開發(fā)目標確定項目開發(fā)的技術(shù)路線(開發(fā)的出發(fā)基線、對現(xiàn)有產(chǎn)品的復用、委托開發(fā)等)確定應(yīng)遵循的標準、法律和法規(guī)選任開發(fā)項目經(jīng)理劃分開發(fā)階段確定各階段的輸入和輸出文件~31~確定質(zhì)量控制點(評審點、驗證點和確認點)及其實施的責任人、實施方式等設(shè)計項目開發(fā)進度確定開發(fā)人員并分配職責提出開發(fā)所需資源(軟件、硬件開發(fā)環(huán)境及工具軟件、設(shè)備、資金等)要求并予以落實制定配置管理計劃和質(zhì)量保證計劃輸出策劃報告開發(fā)項目實施計劃配置管理計劃質(zhì)量保證計劃等~32~確保項目的開發(fā)符合用戶的需求(可測試性)確定設(shè)計輸入任務(wù)委托書/招標書前期對用戶的需求調(diào)研資料可行性分析報告/投標書合同等編制需求規(guī)格(說明)書需求變更控制需求的層次業(yè)務(wù)需求、用戶需求和功能需求需求的開發(fā)和管理需求驗證~33~確保產(chǎn)品的總體結(jié)構(gòu)和模塊間的關(guān)系與用戶需求的一致性內(nèi)容總體方案設(shè)計邏輯框圖接口及通訊協(xié)議選用現(xiàn)有產(chǎn)品軟件的選用邊界(約束)條件的設(shè)計運行環(huán)境設(shè)計等輸出概要設(shè)計說明書~34~詳細設(shè)計說明書與概要設(shè)計說明書是否相一致內(nèi)容算法設(shè)計數(shù)據(jù)格式設(shè)計實現(xiàn)流程設(shè)計人機界面設(shè)計測試用例設(shè)計操作設(shè)計等~35~輸出詳細設(shè)計說明書軟件組裝計劃測試計劃及測試用例安裝手冊(初稿)使用說明書(初稿)產(chǎn)品標準(初稿)內(nèi)容編寫程序代碼:源代碼→目標代碼→可執(zhí)行代碼此階段還包括部分軟件模塊的局部測試、集成與聯(lián)調(diào)根據(jù)待開發(fā)軟件的規(guī)模、控制點及人員安排,可細分為多個小階段輸出軟件(源代碼、目標代碼、可執(zhí)行代碼及相關(guān)數(shù)據(jù)文件)文檔(幫助文件等)保證編碼風格的一致性,易讀性;增強軟件源碼的可維護性~36~黑盒測試白盒測試單元測試累計綜合測試集成測試功能測試系統(tǒng)測試端到端測試健全測試衰竭測試接受測試負載測試強迫測試性能測試可用性測試安裝/卸載測試恢復測試兼容測試安全測試比較測試Alpha測試Beta測試按測試發(fā)生的順序劃分模塊測試:是對單個軟件模塊的測試單元測試:是對各個軟件功能單元的測試組裝測試:是對各軟件單元之間的互聯(lián)測試集成測試:是對硬件裝置、設(shè)備和軟件的加入性測試系統(tǒng)測試:項目組所在部門組織的對完成集成的系統(tǒng)的測試(是否滿足產(chǎn)品規(guī)格要)確認測試:單位質(zhì)量控制部門進行的測試(是否滿足產(chǎn)品規(guī)格要求)驗收測試:在現(xiàn)場安裝、調(diào)試結(jié)束并經(jīng)試運行后,與顧客一起,就滿足合同情況進行的測試(是否滿足合同要求)~38~與順序無關(guān)的測試聯(lián)合測試:當軟、硬件分頭開發(fā)完成時,對其組合體進行的測試回歸測試:對因排除不符合項而采取的措施是否產(chǎn)生了其他副作用而進行的確認性測試專項測試:針對某些具體測試項進行的確認性測試。例如:邊界條件測試等。應(yīng)根據(jù)開發(fā)規(guī)模,盡可能進行獨立測試。為了保證測試的可信性,被測試的軟件應(yīng)以源代碼的形式提交,同時說明生成可執(zhí)行代碼的環(huán)境和方法。由測試人員生成可執(zhí)行代碼,進行測試。~39~~40~不可能在需求開發(fā)階段真正進行任何測試,因為還沒有可執(zhí)行的軟件可以在開發(fā)組編寫代碼之前,以需求為基礎(chǔ)建立概念性測試用例,并使用它們發(fā)現(xiàn)軟件需求規(guī)格說明中的錯誤、二義性和遺漏,還可以進行模型分析應(yīng)按計劃對所開發(fā)的軟件模塊進行組裝并與硬件一起聯(lián)調(diào)根據(jù)需要,規(guī)定應(yīng)填寫的調(diào)試記錄~41~在模擬環(huán)境下運行,并監(jiān)視、記錄運行情況根據(jù)任務(wù)書或合同的要求進行比照,檢查其是否滿足使用要求對運行情況、測試結(jié)果及文檔的齊套性、正確性和一致性進行評審,達到確認~42~軟盤復制、光盤刻錄交付時的版本標識和登記安裝(派技術(shù)人員安裝或由用戶自行安裝)記錄軟件安裝實施計劃軟件安裝環(huán)境最低需求軟件安裝記錄~43~以用戶驗收的方式進行最終確認結(jié)論軟件設(shè)計與需求的一致性程序編碼與軟件設(shè)計的一致性文件描述與程序的一致性文件的成套性、完整性、準確性和標準化程度是否通過驗收~44~收集使用中發(fā)現(xiàn)的問題和顧客意見針對運行中出現(xiàn)的問題,按設(shè)計更改程序進行控制記錄用戶服務(wù)記錄表完善性維護糾錯性維護適應(yīng)性維護預(yù)防性維護~45~編寫軟件退役報告,并進行評審~46~1)結(jié)構(gòu)化方法自70年代以來,結(jié)構(gòu)化方法得到了廣泛的應(yīng)用和普及。該方法是一種面向數(shù)據(jù)流的開發(fā)方法,其實質(zhì)就是功能分解和抽象。結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析(SA)、結(jié)構(gòu)化設(shè)計(SD)和結(jié)構(gòu)化程序設(shè)計(SP)。作為圖形表示方法有數(shù)據(jù)流圖、模塊層次結(jié)構(gòu)圖、程序流程圖,PAD圖等。2)面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法Jackson方法是一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法,它從目標系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)圖入手,導出程序結(jié)構(gòu),并在此基礎(chǔ)上進行詳細設(shè)計和編程。3)面向?qū)ο筌浖_發(fā)方法面向?qū)ο蠓椒▽W是20世紀90年代發(fā)展起來的軟件分析設(shè)計方法。面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開發(fā)史上具有里程碑的意義。隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O(shè)計)和OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT(ObjectModellingTechnique)。
3)面向?qū)ο筌浖_發(fā)方法(續(xù))該方法把客觀世界的事物或?qū)嶓w都看成對象,把對象作為分析設(shè)計的基本元素,把所有對象都劃分成對象類,類可以派生和繼承,對每個對象類都定義一組數(shù)據(jù)(屬性)和方法(行為)。OO技術(shù)在需求分析、可維護性和可靠性這三個軟件開發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標上有了實質(zhì)性的突破,大大緩解了軟件危機。簡單式瀑布模型快速原型模型增量模型螺旋模型統(tǒng)一過程模型修改直到用戶滿意系統(tǒng)使用消亡思路或者客戶需求構(gòu)建第一個版本系統(tǒng)在沒有任何規(guī)范和規(guī)則的情況下就開發(fā)沒有明確的設(shè)計,設(shè)計思路都在開發(fā)者的頭腦中這種開發(fā)方法對于使用周期很短的小項目可用隨著時間的推移,系統(tǒng)的維護越來越困難系統(tǒng)在交付使用時,有可能會出現(xiàn)一系列的錯誤,前期和后期維護成本都很高在大型項目和商用項目中極少使用~52~瀑布模型即軟件生命周期模型,是軟件工程的典型模型。軟件生命周期的各個階段如同瀑布流水般逐級下落,形成自上而下,相互銜接的固定次序。瀑布模型采用結(jié)構(gòu)化方法開發(fā),包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化程序設(shè)計和結(jié)構(gòu)化測試方法。瀑布模型是一次開發(fā)就將一個包含全部功能的產(chǎn)品交付用戶使用。70年代流行的開發(fā)方法自上而下的開發(fā)方法每個階段都有軟件質(zhì)量管理組核實后再進行下一階段的開發(fā)每一階段都有測試每個階段都形成了明確的文檔文檔并不總能和系統(tǒng)相符合細化的文檔使得系統(tǒng)的用戶和開發(fā)人員難于理解和分辨系統(tǒng)的關(guān)系階段之間的對應(yīng)和檢查變得困難、維護代價高變更應(yīng)對能力差瀑布模型即軟件生命周期模型,是軟件工程的典型模型。軟件生命周期的各個階段如同瀑布流水般逐級下落,形成自上而下,相互銜接的固定次序。需求分析設(shè)計實現(xiàn)測試運行維護瀑布式設(shè)計階段實現(xiàn)階段集成階段需求階段細化階段使用階段消亡每個階段做完時進行驗證瀑布模型采用結(jié)構(gòu)化方法開發(fā),包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化程序設(shè)計和結(jié)構(gòu)化測試方法。瀑布模型是一次開發(fā)就將一個包含全部功能的產(chǎn)品交付用戶使用。瀑布模型具有順序性和依賴性,即后一階段的工作必須在前一階段的工作完成后才能開始。瀑布模型強調(diào)的是優(yōu)質(zhì),即每一步都循序漸進,及早消除隱患,從而保證軟件質(zhì)量。強調(diào)兩點:文檔、復審生命期模型的優(yōu)點:瀑布模型是一種線性模型它的致命缺點在于“單向性”只有做出精確的需求分析,才能取得預(yù)期的結(jié)果。由于各種客觀、主觀的原因,需求分析往往不很精確,常常給日后的開發(fā)帶來隱患。太理想化,不夠靈活。增量模型也稱漸增模型,把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計、編碼、集成和測試。增量模型從一組給定的需求開始,通過構(gòu)造一系列的可執(zhí)行工作版本來實施開發(fā)活動,每一個工作版本都納入更多的需求。步驟:將系統(tǒng)分成小的模塊按順序(重要程度)將組件交給客戶每次交互的組件都提供更多的功能。增量模型的優(yōu)點:分批地逐步向用戶提交產(chǎn)品,能在較短的時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。逐步增加產(chǎn)品功能,可以使用戶有較充裕的時間學習和適應(yīng)新產(chǎn)品。不同的構(gòu)件將可以并行開發(fā),可能能加快項目的進度。使用增量模型的困難是,在把每個新的增量組件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時,必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品,并且可能冒構(gòu)件無法集成到一起的風險??焖俳⒁粋€只包括核心功能并可在計算機上運行的程序(原型)。用戶通過使用這個原型,提出進一步的需求,開發(fā)人員按照用戶意見快速修改原型系統(tǒng),然后再次請用戶試用,直到得到明確完整的需求,按照這個最后的需求開發(fā)出的系統(tǒng)可以滿足用戶的真實需求。優(yōu)點是保證用戶的真實需求得到滿足.特點是用戶一直參與,不斷改進,系統(tǒng)邊做邊改。原型的用途是獲知用戶的真正需求,一旦需求確定了,原型將被拋棄。適用于用戶驅(qū)動的系統(tǒng)(即需求模糊或隨時間變化的系統(tǒng))建造/修改原型用戶測試運行原型
聽取用戶意見螺旋模型將工程劃分為4個主要活動:制定計劃、風險分析、實施工程和客戶評估。4個活動螺旋式地重復執(zhí)行,直到最終得到用戶認可的產(chǎn)品。制定計劃:確定軟件目標,選定實施方案,弄清項目開發(fā)的約束條件。風險分析:分析選定方案,考慮如何識別和消除風險。實施工程:實施軟件開發(fā)。這一步相當于純粹的瀑布模型??蛻粼u估:對當前工作結(jié)果進行評價,提出改進產(chǎn)品的建議。螺旋模型適用于有一定技術(shù)風險的大型軟件系統(tǒng)的開發(fā)。軟件的需求是難以預(yù)期的,開發(fā)方法必需適應(yīng)變化的需求,在快速的迭代中不斷改進小組成員并不完全按照完整的方法進行開發(fā),而根據(jù)具體問題和情況,靈活地去除非增值活動僅僅執(zhí)行一些必須的活動,使用必須的規(guī)則,編寫必須的文檔人的因素被放在第一適合互聯(lián)網(wǎng)時代的開發(fā)要求~65~快速適應(yīng)系統(tǒng)需求的變化提高軟件生產(chǎn)率突出企業(yè)自身特點,體現(xiàn)企業(yè)核心能力支持動態(tài)聯(lián)盟和虛擬組織面向業(yè)務(wù)目標持續(xù)改進和重組~66~輕量級的開發(fā)過程基于時間JustEnough并行基于組件的軟件工程~67~eXtremeProgramming(XP)SCRUMDSDMAdaptiveSoftwareDevelopment(ASD)FeatureDrivenDevelopment(FDD)CrystalFamilyRationalRUP&UML~68~統(tǒng)一軟件開發(fā)過程(RUP)是由Rational公司開發(fā)的一種軟件過程。可以認為它是一種綜合了瀑布模型,增量模型,螺旋模型,快速原型模型優(yōu)點的混合模型。它的開發(fā)使用UML。在需求分析階段,分析人員用業(yè)務(wù)用例建立需求模型。在設(shè)計階段,設(shè)計人員根據(jù)用例進行設(shè)計,建立系統(tǒng)的設(shè)計模型和實現(xiàn)模型。在開發(fā)階段,開發(fā)人員把設(shè)計模型和實現(xiàn)模型與用例進行比較、評價和設(shè)計。在測試階段,用例作為測試的依據(jù),測試人員根據(jù)用例來設(shè)計測試用例,從而驗證軟件是否正確地實現(xiàn)了用例。用例驅(qū)動用例:能向用戶提供有價值的系統(tǒng)的某種功能以架構(gòu)為中心軟件架構(gòu):系統(tǒng)的最重要的靜態(tài)和動態(tài)特征迭代和增量式迭代:工作流程的重復、每次的活動都以上次的活動為基礎(chǔ)~70~用戶所希望和需要的是什么系統(tǒng)能為每個用戶提供什么功能用例所描述和代表的是用戶與系統(tǒng)交互的一個過程,而這個過程滿足了用戶的某些需求所強調(diào)的是系統(tǒng)的功能~71~刻畫了系統(tǒng)的整體設(shè)計,忽略了細節(jié)設(shè)計,刻畫最重要的部分。什么是最重要的呢?依賴于判斷。判斷的依據(jù)是經(jīng)驗。構(gòu)架的設(shè)計價值取決于執(zhí)行該任務(wù)的人的素質(zhì)受用戶需求(用戶可能會增加那方面的需求)、軟件應(yīng)用平臺(計算機硬件、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)等)、實施問題、遺留系統(tǒng)集成等的影響~72~用例是系統(tǒng)的功能和外衣架構(gòu)是系統(tǒng)的內(nèi)在形式兩方面必須并行進化架構(gòu)只考慮核心功能(5-10%)架構(gòu)設(shè)計原則:先考慮與用例無關(guān)的不會變動的方面考慮考慮最重要的功能需求子集~73~控制迭代過程,劃分每次迭代的目標迭代原則:架構(gòu)上先實現(xiàn)最粗略的部分功能上先實現(xiàn)最重要的每次迭代盡可能的劃分的細,迭代數(shù)量不能太少每次迭代要有規(guī)范的檢查機制增量式每次迭代增加一部分設(shè)計和實現(xiàn)~74~在軟件過程中,不斷的向用戶提供新的版本每次形成的版本構(gòu)成了一個循環(huán)~75~每次循環(huán)由四個階段構(gòu)成初始想法-->產(chǎn)品系統(tǒng)向用戶提供的功能是什么系統(tǒng)的架構(gòu)是什么樣子的開發(fā)計劃、開支如何、人員安排細化詳細說明產(chǎn)品的功能設(shè)計系統(tǒng)的架構(gòu)構(gòu)造構(gòu)造能運行的產(chǎn)品移交產(chǎn)品手冊、測試手冊、用戶培訓、技術(shù)支持~76~~77~~78~用例模型:系統(tǒng)的功能和用戶的關(guān)系分析模型:提煉用例,將用例的實現(xiàn)分配給一組對象設(shè)計模型:靜態(tài)結(jié)構(gòu)和動態(tài)結(jié)構(gòu)子系統(tǒng)、類、接口實現(xiàn)模型:類、接口到組件的映射實施模型:組件到部署物理節(jié)點的映射測試模型:測試用例和用例的映射~79~~80~迭代的過程使得每次迭代過程中依賴關(guān)系的復雜程度降低~81~沒有通用的軟件過程組織因素:組織結(jié)構(gòu)、文化、管理、能力、經(jīng)驗等領(lǐng)域因素:應(yīng)用領(lǐng)域的熟悉、競爭對手的提供產(chǎn)品的影響生命周期因素:時間、專業(yè)技能技術(shù)因素:程序設(shè)計語言、開發(fā)工具、數(shù)據(jù)庫系統(tǒng)、框架等~82~三軟件項目開發(fā)過程管理軟件產(chǎn)品的特點軟件產(chǎn)品的質(zhì)量,完全取決于其設(shè)計和開發(fā)水平軟件需求的模糊性、變化性使軟件產(chǎn)品難以成熟任何一個軟件產(chǎn)品,或多或少總會存在一些故障(BUG)軟件人員廣泛存在的不規(guī)范的開發(fā)習慣使開發(fā)過程難以管理軟件質(zhì)量指標難以量化軟件測試理論和技術(shù)尚未解決軟件產(chǎn)品正確性的驗證問題軟件產(chǎn)品質(zhì)量特性:滿足需求能力的一系列特性總和功能、可靠性、易用性、效率、維護性、可移植性軟件管理必須在市場(用戶)需求和軟件成熟性之間進行權(quán)衡~84~基線的確立配置項的存取配置管理實施配置項的標識配置項的變更控制配置項的狀態(tài)記錄配置項的檢查和評審~85~控制對構(gòu)成軟件產(chǎn)品的各配置項的標識、管理、更改活動,保證軟件配置項的完全性和正確性,防止非預(yù)期的使用軟件配置項的范圍合同、技術(shù)文檔、質(zhì)量記錄等對軟件存放介質(zhì)(媒體)的要求和規(guī)定軟件的復制(軟件的生產(chǎn)過程)媒體的標識:規(guī)則、執(zhí)行者媒體的貯存(防潮、防火、防磁、防靜電、防病毒)媒體的包裝、運輸~86~各開發(fā)階段應(yīng)形成的文檔,對其擬、審、批的規(guī)定編制文檔資料所依據(jù)的標準和規(guī)范開發(fā)過程中應(yīng)形成的質(zhì)量記錄文檔與軟件之間的一致性檢查文檔資料的歸檔與發(fā)放~87~分類開發(fā)過程中的版本交付軟件產(chǎn)品的版本管理對象軟件文檔為該產(chǎn)品開發(fā)的工具軟件操作配置管理人員,配備一臺計算機(或服務(wù)器)開設(shè)開發(fā)庫、受控庫和產(chǎn)品庫訪問權(quán)限對入庫和出庫軟件的控制~88~開發(fā)庫存放正在開發(fā)(編寫)或調(diào)試(修改)、自測的軟件和文檔受控庫存放開發(fā)各階段測試通過的軟件、文檔和工具軟件的版本并給以標識。轉(zhuǎn)入下一階段時,從此處發(fā)放用作下一階段開始工作的初始版本產(chǎn)品庫存放可交付及已交付軟件、文檔及支持文件的版本各庫內(nèi)所存放的軟件和文檔,應(yīng)定期備份,以防止開發(fā)成果的意外丟失(文件重寫、介質(zhì)損壞、意外事故、非法訪問——病毒,黑客,故意破壞等)并保證可追溯性~89~開發(fā)所需的硬件環(huán)境測試所需的硬件環(huán)境(包括模擬用戶環(huán)境所必要的輸入、輸出設(shè)備)開發(fā)平臺軟件(操作系統(tǒng)、編程語言、編譯環(huán)境、調(diào)試工具等)管理軟件診斷軟件測試軟件輔助性軟件(防病毒軟件等)~90~《軟件產(chǎn)品管理辦法》《計算機信息系統(tǒng)集成資質(zhì)管理辦法(試行)》《計算機軟件保護條例》ISO/IEC12207—1995信息技術(shù)軟件生存周期過程ISO/IECTR15504軟件過程評估GB/T19000.3—2001質(zhì)量管理和質(zhì)量保證標準第3部分:GB信息技術(shù)軟件生存周期過程GB/T19001—1994在軟件開發(fā),供應(yīng)、安裝和維護中的使用指南GB/T12504—90計算機軟件質(zhì)量保證計劃規(guī)范GB/T12505—90計算機軟件配置管理計劃規(guī)范等~91~軟件質(zhì)量管理體系八項質(zhì)量管理原則過程方法基于過程的質(zhì)量管理體系模式實施質(zhì)量管理體系的意義實施質(zhì)量管理體系工作重點企業(yè)發(fā)展力量分析~92~質(zhì)量體系文件質(zhì)量手冊文件控制記錄控制管理職責質(zhì)量方針、質(zhì)量目標職責、權(quán)限與溝通管理評審資源管理人力資源基礎(chǔ)設(shè)施和工作環(huán)境~93~產(chǎn)品實現(xiàn)產(chǎn)品實現(xiàn)的策劃與顧客有關(guān)的過程設(shè)計和開發(fā)采購開發(fā)和服務(wù)提供監(jiān)視和測量裝置的控制
測量、分析和改進監(jiān)視和測量
不合格品控制
數(shù)據(jù)分析
改進
以顧客為關(guān)注焦點領(lǐng)導作用全員參與過程方法管理的系統(tǒng)方法持續(xù)改進基于事實的決策方法與供方互利的關(guān)系~94~~95~
最高管理者持續(xù)的推動時間組織業(yè)績PDCA持續(xù)循環(huán)改進~96~管理法治化職責更分明接口更明確監(jiān)督機制加強焦點得到控制競爭能力增強~97~規(guī)范管理制度增進內(nèi)部溝通提高服務(wù)質(zhì)量增強社會信心~98~四CMM簡介迄今為止學術(shù)界和工業(yè)界公認的有關(guān)軟件工程和管理實踐的最好的評價模型。為評估軟件組織的生產(chǎn)能力提供了標準。為提高軟件組織的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)客服工作總結(jié)及時解答解決用戶問題
- 食品行業(yè)食品安全培訓總結(jié)
- AIDS抗病毒治療課件
- 2025年全球及中國血流動力學監(jiān)測解決方案行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球新能源交流繼電器行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球剛性墻庇護所行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國游戲視頻背景音樂行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球滑移轉(zhuǎn)向巖石拾取器行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球甲氧氯普胺片行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國工業(yè)級硅酸鉀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 充電樁知識培訓課件
- 2025年七年級下冊道德與法治主要知識點
- 2025年交通運輸部長江口航道管理局招聘4人歷年高頻重點提升(共500題)附帶答案詳解
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(2024版)解讀
- 偏癱足內(nèi)翻的治療
- 藥企質(zhì)量主管競聘
- 信息對抗與認知戰(zhàn)研究-洞察分析
- 心腦血管疾病預(yù)防課件
- 手術(shù)室專科護士工作總結(jié)匯報
- 2025屆高三聽力技巧指導-預(yù)讀、預(yù)測
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
評論
0/150
提交評論