版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
教師:張為電話Q:2634422548軟件工程
2023/9/222為什么要學(xué)習(xí)軟件工程2023/9/2232023/9/224為什么要學(xué)習(xí)這門課程正確理解和認(rèn)識“軟件”的概念及其特點正確地理解,領(lǐng)悟和掌握軟件工程方法學(xué)掌握軟件工程的原則、方法和思想來系統(tǒng)地開發(fā)軟件,尤其是復(fù)雜、龐大軟件的開發(fā)了解和接觸各種軟件開發(fā)技術(shù)和工具培養(yǎng)和他人相互合作進(jìn)行軟件開發(fā)、獨立解決問題的能力培養(yǎng)通過多種手段獲取新知識的能力培養(yǎng)邏輯思維能力,尤其是抽象能力軟件工程是軟件技術(shù)和管理人員必備的課程如何學(xué)習(xí)這門課程理論和實踐的結(jié)合
-->課題實習(xí)內(nèi)容小組形式軟件開發(fā)過程驗收內(nèi)容和標(biāo)準(zhǔn)(項目開發(fā)計劃、可行性研究報告、需求規(guī)格說明書、概要設(shè)計說明書、詳細(xì)設(shè)計說明書、測試計劃、測試分析報告、用戶操作手冊、項目開發(fā)總結(jié)報告、程序維護(hù)手冊、軟件修改報告、軟件問題報告、源代碼等文檔
)軟件工程目的
體驗軟件工程各階段的主要工作,特別注意吸取教訓(xùn);
學(xué)會與他人合作,培養(yǎng)團(tuán)隊精神,單干戶將得不到成績。有何意義?■本課將是學(xué)習(xí)以下課程的基礎(chǔ)綜合課程設(shè)計專業(yè)實習(xí)畢業(yè)設(shè)計■實際應(yīng)用參與單位軟件系統(tǒng)建設(shè)工作參與軟件開發(fā)第一章軟件與軟件工程1.1軟件的概念1.2軟件工程的概念1.3軟件過程模型1.4敏捷軟件開發(fā)原則和應(yīng)用1.5軟件工程人的因素9待增內(nèi)容軟件系統(tǒng)及軟件元素系統(tǒng)子系統(tǒng)模塊/包構(gòu)件/組件/中間件類屬性/方法/操作變量/運算新增內(nèi)容:軟件過程測試(V模型)測試計劃測試需求測試設(shè)計邏輯設(shè)計數(shù)據(jù)/測試用例(輸入/輸出)設(shè)計測試編碼測試運行及報告測試總結(jié)及展望新增內(nèi)容:編號文檔編號為閱讀定位而對根據(jù)文檔章節(jié)結(jié)構(gòu)編號隨機(jī)文檔結(jié)構(gòu)調(diào)整而改變本體編號因?qū)ぷ鲀?nèi)容本體識別需要而引入的標(biāo)識符隨著本體的識別而產(chǎn)生終身不變常用符號前綴REQ:需求DGN:設(shè)計TST:測試1.1.1軟件與軟件的組成計算機(jī)科學(xué)對軟件的定義軟件是在計算機(jī)系統(tǒng)支持下,能夠完成特定功能和性能的程序、數(shù)據(jù)和相關(guān)的文檔
軟件可形式的表示為:
軟件=知識+程序+數(shù)據(jù)+文檔2023/9/22131.1軟件的概念程序:用計算機(jī)程序設(shè)計語言描述的。數(shù)據(jù):程序加工的對象和結(jié)果。文檔:錄軟件開發(fā)的活動和中間制品,記錄軟件配置及變更,用于軟件專業(yè)人員和用戶的交流,用于軟件開發(fā)、過程管理和運行階段的維護(hù)。2023/9/2214遵循標(biāo)準(zhǔn)保持程序、數(shù)據(jù)和文檔的一致性。1.1.2軟件生存周期軟件生存周期:軟件從概念形成、進(jìn)化、運行到退役的全過程。圖1.1傳統(tǒng)軟件生存周期
2023/9/22151.1.3軟件的特點軟件是一種邏輯實體,不是物理實體,他具有抽象性軟件不會磨損和老化軟件主要是研制,生產(chǎn)是簡單的拷貝軟件成本昂貴,其開發(fā)方式至今尚未擺脫手工方式軟件維護(hù)不同于硬件維修,易產(chǎn)生新的問題軟件具有“復(fù)雜性”,其開發(fā)和運行常受到計算機(jī)系統(tǒng)的限制,即受環(huán)境影響大2023/9/2216圖1.2軟硬件的故障率曲線硬件交付后,初期會暴露產(chǎn)品設(shè)計、制造中的問題,各零部件需要磨合,經(jīng)長期使用會發(fā)生磨損、老化,于是故障率曲線呈“浴缸”形(如圖1.2a所示)。軟件不會磨損、老化,但軟件邏輯關(guān)系復(fù)雜、理解困難,維護(hù)過程中很可能產(chǎn)生新的缺陷(如圖1.2b所示)。2023/9/22171.1.4幾類常用的軟件系統(tǒng)軟件個人計算機(jī)軟件實時嵌入式軟件科學(xué)和工程計算軟件事務(wù)處理軟件人工智能軟件Web應(yīng)用軟件2023/9/22181.1.5軟件的質(zhì)量不同人對軟件質(zhì)量的關(guān)注點和理解是不同的。用戶:關(guān)注軟件質(zhì)量的外部屬性,如軟件的正確性、可靠性、有效性、完整性、可用性、可維護(hù)性、可移植性、可復(fù)用性等。軟件工程師:更關(guān)注軟件質(zhì)量的內(nèi)部屬性,通過提高軟件內(nèi)部屬性,如模塊化、一致性、簡潔性、可測試性、自文檔化等,支持和保證軟件外部質(zhì)量屬性的實現(xiàn)。國際標(biāo)準(zhǔn)化協(xié)會頒布的ISO9126(2001)將軟件質(zhì)量要素確定為正確性、可靠性、有效性、可使用性、可維護(hù)性、可移植性六個。2011年3月國際標(biāo)準(zhǔn)化組織對ISO9126做了修訂和擴(kuò)充,發(fā)布了ISO/IEC25010新標(biāo)準(zhǔn),增加了安全性和兼容性。軟件要素和屬性之間的關(guān)系不是獨立的,有些是相關(guān)的,甚至是矛盾的。2023/9/2219(1)正確性(correctness)。軟件滿足需求規(guī)約及完成用戶目標(biāo)的程度。(2)可用性(usability)。
學(xué)習(xí)和使用軟件的難易程度,包括:操作軟件、為軟件準(zhǔn)備輸入數(shù)據(jù),解釋軟件輸出結(jié)果等。(3)可靠性(reliability)。
軟件完成預(yù)期功能,成功運行的概率。軟件可靠性反映了軟件無故障工作的狀況。(4)有效性(efficiency)。軟件系統(tǒng)利用計算機(jī)的時間資源和空間資源完成系統(tǒng)功能的能力。2023/9/2220軟件工程8個質(zhì)量要素:(5)可維護(hù)性(maintainability)。軟件制品交付用戶使用后,能夠?qū)λM(jìn)行修改,以便改正潛伏的缺陷、改進(jìn)性能和其他屬性,使軟件制品適應(yīng)環(huán)境的變化等等。由于軟件是邏輯產(chǎn)品,只要用戶需要可以無限期地使用下去,軟件維護(hù)是
不可避免的。軟件維護(hù)成本約
占整個生命周期
的40%至60%。
軟件維護(hù)費用高
的問題今天仍然沒有明顯改變。圖1.3軟件開發(fā)成本比重上升維護(hù)成本居高不下2023/9/2221(6)可移植性(portability)。將軟件安裝在不同計算機(jī)系統(tǒng)或環(huán)境的難易程度。(7)安全性(security)。控制或保護(hù)程序和數(shù)據(jù)不受破壞的機(jī)制,以防止程序和數(shù)據(jù)受到意外的或蓄意的存取、使用、修改、毀壞或泄密。在網(wǎng)絡(luò)環(huán)境下計算機(jī)犯罪、惡作劇增多,軟件安全受到人們的高度重視。(8)可復(fù)用性(reusebility)。
概念或功能相對獨立的一個或一組相關(guān)模塊定義為一個軟構(gòu)件。軟構(gòu)件可以在多種場合應(yīng)用的程度稱為構(gòu)件的可復(fù)用性。2023/9/22221.1.6軟件的安全與保護(hù)軟件安全是軟件控制的系統(tǒng)始終處于不危及人的生命財產(chǎn)和生態(tài)環(huán)境的屬性。軟件安全包括兩個方面:(1)關(guān)鍵領(lǐng)域關(guān)鍵部位的計算機(jī)軟件必須正確、可靠的工作,要防止因概念、設(shè)計和結(jié)構(gòu)等方面的不完善造成的系統(tǒng)失效,要具有挽回因設(shè)計、操作不當(dāng)造成軟件系統(tǒng)失效的能力。(2)對進(jìn)入軟件系統(tǒng)人的身份進(jìn)行認(rèn)證、對數(shù)據(jù)訪問進(jìn)行控制,阻止計算機(jī)病毒、木馬的侵入,防止計算機(jī)失控,計算機(jī)內(nèi)的重要信息被盜,給人們的財產(chǎn)和精神造成巨大損失。
2023/9/2223軟件的安全與保護(hù)IEC國際標(biāo)準(zhǔn)SC65A-123(草案)把軟件危險程度分成四級,即災(zāi)難性、重大、較大、較小。災(zāi)難性計算機(jī)系統(tǒng)的失效會危及群眾的生命,摧毀設(shè)備、設(shè)施,造成巨大的經(jīng)濟(jì)損失重大失效會危及人員生命,部分設(shè)備、設(shè)施嚴(yán)重?fù)p壞,造成大的經(jīng)濟(jì)損失較大失效會造成人員傷害,給設(shè)備、設(shè)施造成一定損失較小不涉及安全性問題2023/9/2224表1.1IECSC65A-123不同危險等級軟件的可靠性要求
連續(xù)控制系統(tǒng)
業(yè)務(wù)處理系統(tǒng)危險等級每小時發(fā)生危險故障的次數(shù)請求調(diào)用時發(fā)生故障的概率災(zāi)難性
10-8~10-9
10-4~10-5重大
10-7~10-8
10-3~10-4較大
10-6~10-7
10-2~10-3較小
10-5~10-610-1~10-2
2023/9/22251.2軟件工程的概念1.2.1軟件工程的定義1.2.2軟件工程的發(fā)展1.2.3軟件工程的目標(biāo)和原則1.2.4軟件開發(fā)的主要方法2023/9/22261.2.1軟件工程的定義IEE93給出的軟件工程定義:
①將系統(tǒng)的、規(guī)范的、可量化的方法應(yīng)用于軟件的開發(fā)、運行和維護(hù)的過程;
②及上述方法的研究。軟件工程這一定義的第一部分要求,軟件開發(fā)、運行和維護(hù)的過程是“系統(tǒng)的”、“規(guī)范的”、“可量化的”。軟件工程定義的第二部分說明,軟件工程需要相關(guān)科學(xué)研究做基礎(chǔ),需要方法學(xué)的支持。2023/9/2227圖1.4軟件工程五要素軟件工程的項目、人、過程、方法和工具、軟件制品構(gòu)成了軟件工程的五要素,它們既有區(qū)別又有聯(lián)系(如圖1.4所示)2023/9/22282004年ACM和IEEE/CS聯(lián)合推出的軟件工程知識體SWEBOK系統(tǒng)的定義了軟件工程學(xué)科的研究目標(biāo)和主要內(nèi)容,包括:
軟件需求、設(shè)計、構(gòu)造、
測試、維護(hù)、配置管理、
軟件工程管理、軟件工程過程、
軟件工程工具和方法、軟件質(zhì)量2023/9/2229計算機(jī)系統(tǒng)4個不同的發(fā)展階段:時期主頻軟件第一代20世紀(jì)50年代初到60年代末103~105程序設(shè)計階段個體化生產(chǎn)軟件危機(jī)出現(xiàn)第二代20世紀(jì)60年代末期到80年代中期105~107程序系統(tǒng)階段作坊式生產(chǎn)軟件工程誕生第三代20世紀(jì)80年代中期到90年代末期107~108軟件工程階段工程化思想分布式系統(tǒng)第四代2000年至今109硬件與軟件綜合體系結(jié)構(gòu)獨立學(xué)科1.2.2軟件工程的發(fā)展軟件危機(jī)的原因:2023/9/2231問題出在哪里?①用戶對軟件需求的描述經(jīng)常出現(xiàn)二義性、不確定性、遺漏或錯誤。
軟件開發(fā)過程中,經(jīng)常提出變更軟件功能、界面、支撐環(huán)境等要求。2023/9/2232②軟件開發(fā)人員對用戶需求的理解與用戶的本來愿望有差異。
這種差異用戶和開發(fā)人員可能還不知道,這必然導(dǎo)致開發(fā)出來的軟件產(chǎn)品與用戶要求不一致。2023/9/2233③大型軟件項目需要組織一定的人力共同完成,多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗,而多數(shù)軟件開發(fā)人員又缺乏管理經(jīng)驗。
各類人員的信息交流不及時、不準(zhǔn)確、有時還會產(chǎn)生誤解2023/9/2234人與人的交流比寫程序困難得多。④軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關(guān)系和各個分枝,因此容易產(chǎn)生疏漏和錯誤。2023/9/2235⑤缺乏有力的方法學(xué)和工具支持,過分地依靠程序設(shè)計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化。2023/9/2236⑥軟件產(chǎn)品的特殊性和人類智力的局限性,使人們處理“復(fù)雜問題”困難重重。
所謂“復(fù)雜問題”的概念是相對的。一旦人們采用先進(jìn)的組織形式、開發(fā)方法和工具提高了軟件的開發(fā)效率和能力,新的、更大的、更復(fù)雜的問題又?jǐn)[在人們面前。2023/9/2237軟件工程的發(fā)展綜上所述,軟件工程發(fā)展的主要因素是:信息社會的廣泛需求,軟硬件技術(shù)的進(jìn)步,軟件從業(yè)人員卓有成效的工作,軟件產(chǎn)業(yè)的興起,軟件學(xué)科建設(shè)和人才培養(yǎng),各國政府對軟件發(fā)展的重視等四十年來軟件工程逐步成熟,伴隨硬件的發(fā)展,軟件工程向著施工領(lǐng)域更廣泛、開發(fā)能力更強(qiáng),過程更成熟,軟件質(zhì)量、成本、進(jìn)度更加可控的目標(biāo)邁進(jìn)。2023/9/2238圖1.5影響軟件工程發(fā)展的關(guān)鍵要素2023/9/22391.2.3軟件工程的目標(biāo)和原則軟件工程的目標(biāo)在給定成本、進(jìn)度的前提下,開發(fā)出滿足用戶或市場需要的高質(zhì)量的軟件產(chǎn)品。為了達(dá)到這些目標(biāo),在軟件開發(fā)過程中必須根據(jù)軟件系統(tǒng),特別是各子系統(tǒng)的功能、特點和實際情況,選取適宜的開發(fā)模型和設(shè)計方法,采用有效的軟件項目管理方法。過程中必須遵循的軟件工程原則:
抽象、信息隱藏、模塊化、局部化、一致性、
完全性和可驗證性。2023/9/22401.2.4軟件開發(fā)的主要方法常用的方法有:結(jié)構(gòu)化方法、面向?qū)ο蠓椒?、及形式化開發(fā)方法等。近年來隨著網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)的發(fā)展和構(gòu)建大型復(fù)雜軟件的需要:網(wǎng)絡(luò)的軟件開發(fā)方法基于構(gòu)件的軟件開發(fā)方法面向方面AOP的軟件開發(fā)方法人機(jī)界面及虛擬現(xiàn)實的軟件開發(fā)方法敏捷軟件開發(fā)方法這些方法支持軟件的分析、設(shè)計、編碼、測試,給出了指導(dǎo)軟件開發(fā)活動的基本原則、技術(shù)和步驟。2023/9/22411.結(jié)構(gòu)化方法結(jié)構(gòu)化方法是1970年代初至1980年代中廣泛使用的方法至今在科學(xué)計算、實時嵌入式應(yīng)用軟件開發(fā)中仍在發(fā)揮作用結(jié)構(gòu)化方法是從結(jié)構(gòu)化的程序設(shè)計開始逐步擴(kuò)展為,包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化程序設(shè)計的系統(tǒng)方法。結(jié)構(gòu)化分析用分層的數(shù)據(jù)流圖和控制流圖開發(fā)系統(tǒng)的功能模型和數(shù)據(jù)模型。結(jié)構(gòu)化設(shè)計按照系統(tǒng)功能模型,自頂向下,逐步求精,最終得到組成系統(tǒng)的模塊(子系統(tǒng))及它們之間的控制關(guān)系。結(jié)構(gòu)化程序設(shè)計用結(jié)構(gòu)化的程序設(shè)計語言,遵循結(jié)構(gòu)化的程序設(shè)計原則實現(xiàn)模塊功能,實現(xiàn)體系結(jié)構(gòu)中每一功能模塊的過程屬性和算法描述。2023/9/22422.面向?qū)ο蠓椒ㄇ疤釛l件1980年代中期個人計算機(jī)圖形界面迅速普及,處理基于社會的信息系統(tǒng)問題需求廣泛,為面向?qū)ο蠓椒ǖ陌l(fā)展和推廣創(chuàng)造了條件。內(nèi)容面向?qū)ο蠓椒ㄊ且詫ο?、對象關(guān)系構(gòu)建軟件系統(tǒng)的方法。包括,面向?qū)ο蠓治?、設(shè)計、編碼、測試。對象是類的實例,類用屬性、操作和關(guān)系描述。類是面向?qū)ο蠓椒ń?、設(shè)計、實現(xiàn)和測試的基礎(chǔ)。類具有良好的可復(fù)用性。UMLJ.Rumbaugh、I.Jacobson、G.Booch等人聯(lián)合開發(fā)對象管理組織(OMG)發(fā)布統(tǒng)一過程RUP將面向?qū)ο筌浖_發(fā)的分析、設(shè)計和構(gòu)造無縫聯(lián)接起來Rational
ROSE可方便地生成一系列的UML視圖2023/9/22433.形式化開發(fā)方法以軟件正確性為目標(biāo)軟件需求規(guī)約用形式化需求規(guī)約語言(RSL)描述,如VDM的META—IV,CSP,Z語言等依靠嚴(yán)格的數(shù)學(xué)推理,保證軟件開發(fā)的正確性有效解決歧義性、完整性、一致性、安全性問題形式化語言支持形式化需求規(guī)約語言有嚴(yán)格的語法、語義定義,以及一系列的數(shù)學(xué)推演規(guī)則。通常語法、語義以集合論、數(shù)理邏輯或代數(shù)學(xué)為基礎(chǔ)。規(guī)則指明軟件規(guī)約必須滿足的數(shù)學(xué)性質(zhì),及軟件實現(xiàn)與軟件規(guī)約必須保持的一致性。正確地程序變換在此基礎(chǔ)上,利用變換模型和配套的開發(fā)工具,如程序變換工具、定理證明工具等進(jìn)行一系列的程序變換,最后生成正確的程序代碼。2023/9/22441.3軟件過程模型1.3.1瀑布模型1.3.2增量過程模型1.3.3原型建造模型1.3.4螺旋模型1.3.5基于構(gòu)件的過程模型1.3.6通用軟件過程模型2023/9/22451.3軟件過程模型軟件過程(process):描述、開發(fā)、維護(hù)軟件制品,創(chuàng)建、管理和支持軟件項目的一系列活動。為了描述、規(guī)范軟件開發(fā)的管理和技術(shù)活動,需要建立軟件過程模型,對軟件開發(fā)過程的結(jié)構(gòu)和屬性進(jìn)行抽象。軟件過程模型定義了軟件開發(fā)活動,給出了它們之間的邏輯關(guān)系,為軟件工程管理提供里程碑和進(jìn)度表;為軟件開發(fā)提供框架和方法。2023/9/2246軟件過程模型軟件過程模型受軟件開發(fā)歷史環(huán)境的影響,可分為三種類型:(1)將軟件開發(fā)過程的分解與軟件生存周期劃分綁定在一起的瀑布模型及其變形。(2)軟件開發(fā)過程的分解與軟件生存周期劃分相對獨立的通用過程模型。(3)專用模型,包括基于構(gòu)件的軟件過程模型、Web應(yīng)用軟件過程模型、面向方面AOP的軟件過程模型、以形式化開發(fā)方法為基礎(chǔ)的變換模型等。2023/9/22471.3.1瀑布模型瀑布模型(waterfallmodel)也稱軟件生存周期模型,是W.Royce在1970年首先提出的。它們既是軟件開發(fā)過程的分解,也是軟件生存周期的階段劃分。瀑布模型按照各階段的目標(biāo)和任務(wù)逐步進(jìn)行開發(fā),直至通過確認(rèn)測試,向用戶交付最終軟件制品為止。
圖1.6軟件生存周期的瀑布模型2023/9/2248利用瀑布模型進(jìn)行軟件開發(fā)的
過程和生成的軟件制品2023/9/2249反饋的瀑布模型實踐中,對某一階段軟件制品的評審會經(jīng)常發(fā)現(xiàn)缺陷和疏漏,這時不得不暫停這一階段的活動,反饋到前面的有關(guān)階段修正缺陷、增補(bǔ)疏漏,然后再重復(fù)前面的工作,直至該階段通過評審后再進(jìn)入下一階段。于是,瀑布模型演變成帶有反饋的瀑布模型,如圖1.8所示。圖1.8帶反饋的瀑布模型2023/9/2250V字型瀑布模型另一種改進(jìn)的瀑布模型是V字型瀑布模型,如圖所示。軟件的分析、設(shè)計過程與軟件測試過程一一對應(yīng),強(qiáng)化了軟件設(shè)計和測試的關(guān)系,加強(qiáng)了軟件的質(zhì)量保證。圖1.9V字型瀑布模型2023/9/2251瀑布模型的特點思路簡潔、明確上一階段的開發(fā)結(jié)果是下一階段開發(fā)的輸入,相鄰兩個階段具有因果關(guān)系,緊密相聯(lián)。階段分離、評審為了保障軟件開發(fā)的正確性,每一階段任務(wù)完成后,都必須對它的階段性制品(文檔、原型、程序等)進(jìn)行評審,確認(rèn)之后再轉(zhuǎn)入下一階段瀑布模型的可行性研究、需求、設(shè)計、編碼、測試分離,有利于軟件的體系結(jié)構(gòu)設(shè)計,規(guī)范了軟件開發(fā)活動,有利于開發(fā)人員的組織、管理適用場景對于規(guī)模較小、軟件需求比較穩(wěn)定的項目或子系統(tǒng),采用瀑布模型能夠顯著提高軟件開發(fā)的質(zhì)量和效率2023/9/2252瀑布模型的缺點①需求難以確定必須要求客戶和系統(tǒng)分析員確定軟件需求后才能進(jìn)行后續(xù)的軟件開發(fā)工作,但多數(shù)場合給出大型軟件項目的全部需求是困難的,有時甚至是不現(xiàn)實的;②初版開發(fā)時間長,缺陷發(fā)現(xiàn)晚需求確定后,用戶和軟件項目負(fù)責(zé)人要等相當(dāng)長的時間(經(jīng)過設(shè)計、實現(xiàn)、測試、運行)才能得到軟件的最初版本,如果用戶對這個軟件提出比較大的修改意見,那么整個軟件項目將會蒙受巨大的人力、財力和時間損失;③缺陷積累、放大開發(fā)人員在瀑布模型“上游”出現(xiàn)“過失”(mistake)會為軟件制品帶來“缺陷”(fault)并潛伏在軟件制品中,缺陷會誤導(dǎo)“下游”的開發(fā)活動,若未被發(fā)現(xiàn),則軟件運行時會造成系統(tǒng)“故障”(failure)。造成修復(fù)成本高這時必須花力氣找到故障原因,修復(fù)缺陷,造成不應(yīng)有的人力、財力和時間損失。2023/9/2253使用瀑布模型的注意事項①需求明確后再施工;②每個階段的結(jié)果要及時評審和測試,發(fā)現(xiàn)的問題妥善處理后再開始下一階段的工作;③開發(fā)周期盡量短,盡快給用戶使用,得到反饋意見;④一次開發(fā)的軟件規(guī)模不宜過大。2023/9/2254瀑布模型實踐中,很多物理系統(tǒng)中的實時軟件,或大型軟件系統(tǒng)的某些部分已經(jīng)過嚴(yán)格的可行性論證和仿真實驗,需求是非常明確的,有些還能用嚴(yán)格的數(shù)學(xué)物理模型描述,如火箭控制系統(tǒng)的嵌入式軟件、軍用指揮控制系統(tǒng)的裝備軟件等。這樣的軟件過程就可以采用帶反饋的瀑布模型或V字瀑布模型。美國國防部標(biāo)準(zhǔn)2167-A規(guī)定,瀑布模型是國防部合同中軟件開發(fā)交付的依據(jù),德國國防部1992年也強(qiáng)調(diào)了V字瀑布模型的作用。2023/9/22551.3.2增量過程模型動因:解決瀑布模型的不足對于軟件開發(fā)前需求基本確定的大型軟件項目,采用瀑布模型開發(fā)時間長、不能快速占領(lǐng)市場、不能在短期內(nèi)得到用戶的反饋意見。增量過程模型的基本思想
開發(fā)人員與用戶協(xié)商將需求分解,劃分為一系列增量,并為增量排序,急需的增量排在前面先開發(fā),不急需的放在后面。
每個增量都?xì)v經(jīng)需求、設(shè)計、編碼、測試、移交幾個階段(如圖1.10所示)。
根據(jù)增量間的依賴關(guān)系、開發(fā)人員和項目的實際情況,有些增量可串行開發(fā),有些可并行開發(fā)。
在此過程中不斷開發(fā)、不斷集成、不斷交付,直到完成所有增量的開發(fā),得到最終的軟件制品。2023/9/2256
圖1.10增量過程模型2023/9/2257例:開發(fā)字處理軟件第一個增量構(gòu)件基本的文件管理、編輯、和文檔生成功能第二個增量構(gòu)件更完善的編輯和文檔生成功能;第三個增量構(gòu)件實現(xiàn)拼寫和語法檢查功能;第四個增量構(gòu)件完成高級的頁面排版功能2023/9/2258優(yōu)點①不斷地發(fā)布軟件新版本,可及時獲得客戶的反饋,用于調(diào)整后續(xù)的軟件開發(fā)策略;②由于軟件需求是確定的,可先對軟件體系結(jié)構(gòu)進(jìn)行設(shè)計,能保持良好的軟件體系結(jié)構(gòu)。缺點①增量規(guī)模不能大(開發(fā)不要超過20k行代碼),否則會暴露瀑布模型的缺點;②將客戶需求分解成增量序列必須對系統(tǒng)需求十分了解,并有頂層設(shè)計的經(jīng)驗;③多數(shù)系統(tǒng)都需要基本服務(wù),如何為基本服務(wù)定義增量,何時實現(xiàn)這些增量,處理起來比較困難。2023/9/2259增量過程模型的特點1.3.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 按揭購房貸款合同范本
- 展覽宣傳活動合同
- 企業(yè)資產(chǎn)抵押貸款合同
- 2024購車協(xié)議書合同范本
- 批量購房合同協(xié)議
- 2024企業(yè)員工勞動合同樣本
- 企業(yè)資產(chǎn)買賣合同模板
- 房屋轉(zhuǎn)讓協(xié)議標(biāo)準(zhǔn)合同范本
- 2024建設(shè)施工合同有些分類
- 2024公司股權(quán)轉(zhuǎn)讓及后續(xù)合伙經(jīng)營合同
- 公司組織架構(gòu)圖模板課件
- 遼寧省葫蘆島市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 植物種子的傳播方式課件
- 電纜敷設(shè)施工方案及安全措施
- 百合干(食品安全企業(yè)標(biāo)準(zhǔn))
- 肺血栓栓塞癥臨床路徑(縣級醫(yī)院版)
- 國開成本會計第10章綜合練習(xí)試題及答案
- 《西游記》-三打白骨精(劇本臺詞)精選
- T∕CSCS 012-2021 多高層建筑全螺栓連接裝配式鋼結(jié)構(gòu)技術(shù)標(biāo)準(zhǔn)-(高清版)
- 充電站項目合作方案-高新
- 急診科臨床診療指南-技術(shù)操作規(guī)范更新版
評論
0/150
提交評論