第二版軟件工程第一章軟件與軟件工程_第1頁
第二版軟件工程第一章軟件與軟件工程_第2頁
第二版軟件工程第一章軟件與軟件工程_第3頁
第二版軟件工程第一章軟件與軟件工程_第4頁
第二版軟件工程第一章軟件與軟件工程_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

2023/10/23國防科技大學計算機學院1前言

軟件和軟件工程在信息化社會中的地位和作用2023/10/23國防科技大學計算機學院2八十年代初科學家的預言(1/2)Osborne1979將迎來”新的工業(yè)革命”Toffler1980

微電子的發(fā)展是人類歷史上的”第三次浪潮”80年代初 美國商業(yè)周刊雜志在頭版刊登大標題:

“軟件:新的驅動力”

當時人們還沒有意識到他們的預見是多么的正確。2023/10/23國防科技大學計算機學院3八十年代初科學家的預言(2/2)Naisbitt1982

人類社會將“從工業(yè)社會向信息社會轉變”Feigenbaum1983

計算機控制的信息和知識將成為20世紀表現(xiàn)能力的焦點Stoll1989

網(wǎng)絡和軟件產(chǎn)生的“電子社會”是實現(xiàn)全球知識交流的關鍵。2023/10/23國防科技大學計算機學院4二十年后的現(xiàn)實1.計算機的發(fā)展與普及2.計算機軟件的發(fā)展與普及3.計算機網(wǎng)絡的發(fā)展與普及2023/10/23國防科技大學計算機學院5觀察與思考因為普及了計算機、軟件和網(wǎng)絡…迎來了信息化社會和知識經(jīng)濟。2023/10/23國防科技大學計算機學院6軟件在信息化社會中的地位和作用軟件與經(jīng)濟軟件與政治軟件與軍事軟件與文化軟件與教育軟件與法律道德

2023/10/23國防科技大學計算機學院7結論軟件是信息化社會和知識經(jīng)濟的基礎,它滲透到人們生活、工作的所有領域,并迅速的改變著人們的生活和工作方式,改變著社會的產(chǎn)業(yè)結構和面貌。人們對軟件的依靠越來越密切,社會需要大量的豐富多彩的軟件,并隨著社會的發(fā)展不斷更新、充實和提高。2023/10/23國防科技大學計算機學院8教材2023/10/23國防科技大學計算機學院9教材和參考書2023/10/23國防科技大學計算機學院10第一章軟件與軟件工程軟件與軟件工程的概念軟件生存周期軟件開發(fā)模型軟件工程工具及環(huán)境軟件工程組織度量2023/10/23國防科技大學計算機學院111.1軟件軟件的概念;軟件的特點;軟件的分類;軟件的發(fā)展;軟件危機。第一章軟件與軟件工程2023/10/23國防科技大學計算機學院121.1.1軟件的概念

軟件是什么?1.1軟件2023/10/23國防科技大學計算機學院13軟件的概念軟件是計算機系統(tǒng)的重要組成部分;軟件是邏輯產(chǎn)品,需要計算機硬件和系統(tǒng)軟件的支撐;軟件是計算機控制系統(tǒng)的指揮中樞;軟件是信息轉換器,它能對信息進行加工、處理或變換;軟件是工具,在人們的生活、工作、休閑,在社會的經(jīng)濟、軍事、政治、文化、科學技術、教育中發(fā)揮具大作用;1.1軟件2023/10/23國防科技大學計算機學院14軟件的概念計算機世界的軟件軟件是能夠完成預定功能和性能,并對相應數(shù)據(jù)進行加工的程序和描述程序及其操作的文檔。

軟件=程序+數(shù)據(jù)+文檔程序=算法+數(shù)據(jù)結構1.1軟件2023/10/23國防科技大學計算機學院151.1.2軟件的特點軟件開發(fā)與傳統(tǒng)的產(chǎn)品生產(chǎn)存在本質(zhì)差別;軟件是邏輯產(chǎn)品,而不是物理產(chǎn)品;軟件不會磨損;1.1軟件2023/10/23國防科技大學計算機學院16軟件的描述(1/3)

軟件由程序、數(shù)據(jù)、文檔組成。1.1軟件2023/10/23國防科技大學計算機學院17軟件的描述(2/3)程序設計語言面向機器

匯編語言、機器語言等面向過程Fortran,Pascal,C等面向對象C++,Java等面向問題結構化查詢語言SQL等1.1軟件2023/10/23國防科技大學計算機學院18軟件的描述(3/3)數(shù)據(jù)

用程序設計語言要求的數(shù)據(jù)結構表示文檔

規(guī)范準確清晰簡潔無歧義自然語言結構化英語圖表

1.1軟件2023/10/23國防科技大學計算機學院191.1.3軟件分類系統(tǒng)軟件實時軟件商務軟件工程和科學計算軟件嵌入式軟件人工智能軟件個人計算機軟件1.1軟件2023/10/23國防科技大學計算機學院201.1.4軟件的發(fā)展軟件發(fā)展的四個階段軟件發(fā)展存在的問題1.1軟件2023/10/23國防科技大學計算機學院211)軟件發(fā)展的四個階段1950---1965

沒有系統(tǒng)的軟件開發(fā)方法和管理機制、自定義軟件、批處理、有限分布。1965---1975

產(chǎn)生人機交互的新概念、新技術軟件產(chǎn)品、多用戶、實時、數(shù)據(jù)庫。1.1軟件2023/10/23國防科技大學計算機學院221973---1988

微處理器的出現(xiàn)并廣泛應用 分布式系統(tǒng)、嵌入智能、低成本硬件、消費者的影響。1986---2000

廣域和局域網(wǎng)絡迅速普及 強大的桌面系統(tǒng)、面向對象技術、專家系統(tǒng)、人工智能、神經(jīng)網(wǎng)絡、并行計算、網(wǎng)絡計算機。軟件發(fā)展的四個階段(2/2)1.1軟件2023/10/23國防科技大學計算機學院232)軟件發(fā)展存在的問題(1/2)軟件開發(fā)能力不能滿足人們的需要。社會對軟件的依賴程度加大,人們普遍關注軟件的安全和可靠性。建造高可靠性、高質(zhì)量軟件的任務任重路遠。1.1軟件2023/10/23國防科技大學計算機學院24軟件發(fā)展存在的問題

(2/2)若干年前開發(fā)的應用軟件經(jīng)過幾十次修改已無人認識它的內(nèi)部結構,己經(jīng)不可維護。由于經(jīng)濟原因,嵌入式系統(tǒng)存在許多怪現(xiàn)象,企業(yè)不愿意投入資源再生產(chǎn),而采取打補丁+時髦界面的方法。1.1軟件2023/10/23國防科技大學計算機學院251.1.5軟件危機1.軟件危機的表現(xiàn)硬件發(fā)展超過軟件,硬件潛能沒有充分發(fā)揮。軟件產(chǎn)業(yè)的發(fā)展長期滯后,與硬件發(fā)展不協(xié)調(diào)。1.1軟件2023/10/23國防科技大學計算機學院26

軟件危機軟件開發(fā)成本過高軟件質(zhì)量得不到保證軟件開發(fā)效率低難以控制開發(fā)進度,工作量估計困難

軟件不能滿足社會發(fā)展的需求,成為社會、經(jīng)濟發(fā)展的制約因素1.1軟件2023/10/23國防科技大學計算機學院27程序規(guī)模、工作量與成本的關系1.1軟件2023/10/23國防科技大學計算機學院282.軟件危機原因軟件的規(guī)模加大、復雜性提高、性能增強軟件是邏輯產(chǎn)品,尚未完全認識其本質(zhì)和特點缺乏有效的、系統(tǒng)的開發(fā)、維護大型軟件項目的技術手段和管理方法1.1軟件2023/10/23國防科技大學計算機學院29軟件危機原因用戶對軟件需求的描述和軟件開發(fā)人員對需求的理解往往存在差異,用戶經(jīng)常要求修改需求,開發(fā)人員很難適應軟件開發(fā)的技術人員和管理人員缺乏軟件工程化的素質(zhì)和要求,對工程化的開銷認識不足………1.1軟件2023/10/23國防科技大學計算機學院303.軟件危機仍在繼續(xù)

---影響軟件質(zhì)量的糊涂認識(1/3)在項目的初始階段對系統(tǒng)若明若暗就開始寫程序認為軟件是靈活的容易修改,對軟件需求的改變不以為然程序調(diào)試成功標志著工作的結束1.1軟件2023/10/23國防科技大學計算機學院31軟件危機仍在繼續(xù)

---影響軟件質(zhì)量的糊涂認識(2/3)程序運行前無法評價程序的質(zhì)量一個軟件項目給客戶提交的主要是程序,而軟件文檔則認為可有可無、可多可少等等。雖然發(fā)布了軟件標準和規(guī)范,但在實踐中執(zhí)行需要額外的開銷,劃不來1.1軟件2023/10/23國防科技大學計算機學院32軟件危機仍在繼續(xù)

---影響軟件質(zhì)量的糊涂認識(3/3)雖然開發(fā)了許多軟件工具,但很多開發(fā)者對使用這些工具興趣不大為了開發(fā)軟件人們不惜用重金購買最新型號的主機和工作站而不愿意購買軟件工具在軟件開發(fā)過程中,進度遲后就增派更多的程序員突擊,趕進度………1.1軟件2023/10/23國防科技大學計算機學院331.2軟件工程的概念1968年NATO計算機科學會議軟件危機-->根源-->解決途徑

軟件工程第一章軟件與軟件工程2023/10/23國防科技大學計算機學院341.2.1.軟件工程的定義(1/3)

軟件工程FritzBauer[nau69]

為了經(jīng)濟的獲得可靠的,在實際機器上高效運行的軟件,而建立和使用的好的工程原則。1.2軟件工程的概念2023/10/23國防科技大學計算機學院35軟件工程的定義(2/3)

軟件工程[教材]軟件工程是運用工程、科學和數(shù)學的原則與方法研制、維護計算機軟件的有關技術和管理的方法。1.2軟件工程的概念2023/10/23國防科技大學計算機學院36軟件工程的定義(3/3)

軟件工程[IEE93](1)將系統(tǒng)的、規(guī)范的、可度量的方法應用于軟件的開發(fā)、運行和維護的過程;(2)

上述方法的研究。1.2軟件工程的概念2023/10/23國防科技大學計算機學院37軟件工程三要素

過程、方法和工具(1/5)質(zhì)量是軟件工程的生命線,軟件工程以質(zhì)量保證為基礎。質(zhì)量管理促進了過程的改進,創(chuàng)造了許多行之有效的軟件開發(fā)方法和工具。1.2軟件工程的概念2023/10/23國防科技大學計算機學院38軟件工程三要素

過程、方法和工具(2/5)軟件工程釆用層次化的方法,每個層次都包括過程、方法、工具三要素。方法支撐過程和工具、過程和工具促進方法學的研究。1.2軟件工程的概念2023/10/23國防科技大學計算機學院39軟件工程三要素

過程、方法和工具將系統(tǒng)的、規(guī)范的、可量化的方法運用到軟件工程的始終,滲透到軟件工程的過程、方法和工具中。1.2軟件工程的概念軟件工程過程方法工具2023/10/23國防科技大學計算機學院40

軟件工程三要素

過程、方法和工具(3/5)軟件工程的過程過程貫穿軟件開發(fā)的各個環(huán)節(jié),各環(huán)節(jié)之間建立里程碑;管理者在軟件工程過程中對軟件開發(fā)的質(zhì)量、進度、成本進行評估、管理和控制;技術人員采用相應的方法和工具生成軟件工程產(chǎn)品(模型、文檔、數(shù)據(jù)、報告、表格等)。1.2軟件工程的概念2023/10/23國防科技大學計算機學院41軟件工程三要素

過程、方法和工具(4/5)

軟件工程的方法軟件工程方法是完成軟件工程項目的技術手段。它支持項目計劃和估算、系統(tǒng)和軟件需求分析、設計、編程、測試和維護。軟件工程方法依賴一組原則,它貫穿軟件工程的各個環(huán)節(jié)。軟件工程方法分兩類:傳統(tǒng)方法和面向對象方法1.2軟件工程的概念2023/10/23國防科技大學計算機學院42軟件工程三要素

過程、方法和工具(5/5)軟件工程工具它為軟件工程的過程和方法提供自動化或半自動化的工具支持。將若干工具集成起來,與軟件工程數(shù)據(jù)庫和計算機系統(tǒng)構成一個支持軟件開發(fā)的系統(tǒng)稱“計算機輔助軟件工程(CASE)”,系統(tǒng)中某一工具的信息加工結果可以作為另一工具的輸入。集成的軟件工程工具再加上人的因素構成了軟件工程環(huán)境。1.2軟件工程的概念2023/10/23國防科技大學計算機學院43軟件開發(fā)方法和軟件工具結構化分析方法結構化程序設計語言面向對象分折方法面向對象程序設計語言1.2軟件工程的概念2023/10/23國防科技大學計算機學院443.軟件和軟件開發(fā)過程軟件過程和軟件產(chǎn)品密切相關。大型軟件項目沒有良好的軟件開發(fā)過程,不可能建造出用戶滿意的優(yōu)質(zhì)產(chǎn)品;反之,一個好的軟件產(chǎn)品隱含著良好的軟件開發(fā)過程。計算機軟件領域產(chǎn)品和過程不斷交替創(chuàng)新,促進軟件工程的進步和發(fā)展。1.2軟件工程的概念2023/10/23國防科技大學計算機學院451.2.2軟件工程目標

(1/6)在給定成本、進度的前提下,開發(fā)出具有

可修改性、有效性、可靠性、可適應性、可追蹤性、可移植性、可互操作性并滿足用戶需求的軟件產(chǎn)品。1.2軟件工程的概念2023/10/23國防科技大學計算機學院46軟件工程目標

(2/6)有效性能有效地利用計算機的時間和空間資源可修改性容許對系統(tǒng)進行修改而不增加原系統(tǒng)的復雜性,它支持軟件的調(diào)試與維護。1.2軟件工程的概念2023/10/23國防科技大學計算機學院47軟件工程目標

(3/6)可靠性具有能夠防止因概念、設計和結構等方面的不完善而造成的系統(tǒng)失效,具有挽回因操作不當造成軟件系統(tǒng)失效的能力可理解性系統(tǒng)具有清晰的結構,能直接反映軟件需求。1.2軟件工程的概念2023/10/23國防科技大學計算機學院48

軟件工程目標

(4/6)可維護性便于對軟件增加新功能、改進性能、修改錯誤、移植

可重用性軟件易于被再次使用1.2軟件工程的概念2023/10/23國防科技大學計算機學院49軟件工程目標

(5/6)可適應性采用流行的程序設計語言、運行環(huán)境、標準的術語和格式??勺粉櫺詫浖M行正向和反向追蹤的能力

1.2軟件工程的概念2023/10/23國防科技大學計算機學院50軟件工程目標

(6/6)可移植性從一個環(huán)境搬遷到另一個環(huán)境

可互操作性多個軟件要素相互通訊協(xié)同完成任務的能力

1.2軟件工程的概念2023/10/23國防科技大學計算機學院511.2.3軟件工程原則

(1/6)在軟件開發(fā)過程中,為了達到軟件開發(fā)目標,必須遵循下列原則:

抽象模塊化信息隱藏局部化一致性完全性可驗證性1.2軟件工程的概念2023/10/23國防科技大學計算機學院52軟件工程原則

(2/6)抽象關注事物基本、重要的部分,忽略不相關成分

抽象可以使我們的思維聚焦于問題本質(zhì),從而簡化問題,控制問題復雜度,支持復雜、龐大軟件系統(tǒng)的開發(fā)。1.2軟件工程的概念2023/10/23國防科技大學計算機學院53軟件工程原則

(3/6)模塊化模塊是程序中一個邏輯上相對獨立、具有良好的接口定義的編程單位:過程、函數(shù)、類、程序包等模塊化是,將復雜的系統(tǒng)分解為一個個相對獨立的模塊來加以實現(xiàn),有助于抽象和信息隱藏以及表示復雜的系統(tǒng)1.2軟件工程的概念2023/10/23國防科技大學計算機學院54軟件工程原則

(4/6)信息隱藏模塊中的軟件設計決策信息封裝起來的技術,只知道它的功能以及對外的接口,而不知它的內(nèi)部細節(jié)

有助于軟件開發(fā)人員的注意力集中于更高的抽象層次

1.2軟件工程的概念2023/10/23國防科技大學計算機學院55

軟件工程原則

(5/6)局部化物理模塊內(nèi)集中邏輯上相互關聯(lián)的計算資源

確保模塊內(nèi)各成分關系密切而??熘g的關系松散,保證模塊具有良好的獨立性

1.2軟件工程的概念2023/10/23國防科技大學計算機學院56軟件工程原則

(6/6)一致性整個軟件系統(tǒng)均使用統(tǒng)一的符號、概念和術語完全性整個軟件系統(tǒng)不丟失任何重要的成分,軟件完全實現(xiàn)系統(tǒng)所需的功能、行為和性能可驗證性軟件系統(tǒng)應易于檢查、測試和評審1.2軟件工程的概念2023/10/23國防科技大學計算機學院57軟件開發(fā)目標在給定成本、進度和滿足用戶需求的前提下,開發(fā)的軟件產(chǎn)品應具有

可修改性有效性可靠性適應性可追蹤性可移植性可互操作性1.2軟件工程的概念2023/10/23國防科技大學計算機學院58軟件開發(fā)原則

在軟件開發(fā)過程中,為了達到軟件開發(fā)目標,必須遵循下列原則:

抽象模塊化信息隱藏局部化一致性完全性可驗證性1.2軟件工程的概念2023/10/23國防科技大學計算機學院591.3軟件生存周期軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、運行(使用)和維護直到退役的全過程稱為軟件生存周期,包括軟件定義、開發(fā)、使用和維護三部分。軟件工程的目標和原則貫穿整個軟件生存周期。第一章軟件與軟件工程2023/10/23國防科技大學計算機學院60

軟件的定義和開發(fā)過程問題定義可行性研究需求分析軟件開發(fā)概要設計詳細設計實現(xiàn)組裝測試確認測試可行性研究需求分析概要設計

詳細設計

實現(xiàn)

組裝測試確認測試1.3軟件生存周期2023/10/23國防科技大學計算機學院611.3.1問題定義

1.可行性研究任務

了解用戶要求和現(xiàn)實環(huán)境

從技術、經(jīng)濟、市場等方面研究并論證開發(fā)該軟件系統(tǒng)的可行性1.3軟件生存周期2023/10/23國防科技大學計算機學院62可行性研究

(2/3)技術可行性當前的軟件開發(fā)方法和工具能否支持需求的實現(xiàn);操作可行性用戶能否在特定的環(huán)境下使用這個軟件;經(jīng)濟可行性開發(fā)和使用、維護這個軟件的成本能否被用戶所接受。1.3軟件生存周期2023/10/23國防科技大學計算機學院63可行性研究(3/3)

階段性產(chǎn)品可行性論證報告制定初步項目開發(fā)計劃(人員,進度)1.3軟件生存周期2023/10/23國防科技大學計算機學院64問題定義2.需求分析任務

確定用戶對軟件系統(tǒng)的需求:功能需求軟件必須要完成的功能;性能需求軟件的安全性、可靠性、可維護性、精度、錯誤處理、適應性、用戶培訓等;運行環(huán)境約束待開發(fā)的軟件產(chǎn)品必須滿足的環(huán)境要求1.3軟件生存周期2023/10/23國防科技大學計算機學院65需求分析(2/4)重要性軟件開發(fā)的依據(jù),軟件驗收的標準困難難以說清、

動態(tài)變化、

歧義、復雜、應用軟件的需求分析涉及應用領域的知識和經(jīng)驗。1.3軟件生存周期2023/10/23國防科技大學計算機學院66需求分析

(3/4)需求分析過程需求分析人員必須與用戶不斷、反復地交流和商討,使用戶需求逐步準確、一致、完全。方法

面向數(shù)據(jù)流的分析方法面向數(shù)據(jù)流的分析方法面向對象的分析方法抽象、問題分解、快速原型、多視點等工具

RationalRose,WitClass,VisualModel1.3軟件生存周期2023/10/23國防科技大學計算機學院67需求分析

(4/4)階段性產(chǎn)品軟件需求規(guī)格說明書SRS用軟件需求規(guī)格說明語言描述軟件系統(tǒng)的功能需求、性能需求、接口需求、設計需求、軟件產(chǎn)品的基本結構、采用的開發(fā)標準和驗收原則等。用戶手冊概要。1.3軟件生存周期2023/10/23國防科技大學計算機學院681.3.2軟件開發(fā)1.概要設計任務根據(jù)SRS建立目標軟件系統(tǒng)的總體結構、設計全局數(shù)據(jù)庫和數(shù)據(jù)結構,規(guī)定設計約束,制定組裝測試計劃等等。1.3軟件生存周期2023/10/23國防科技大學計算機學院69

概要設計

(2/3)方法根據(jù)軟件需求規(guī)格說明書,

自頂向下、逐步求精、

抽象、

模塊化、

局部化、信息隱藏…堅持功能模塊內(nèi)部緊耦合,功能模塊之間松耦合的原則;堅持與需求規(guī)格說明書的一致性

1.3軟件生存周期2023/10/23國防科技大學計算機學院70概要設計(3/3)工具

面向數(shù)據(jù)流的設計方法結構圖面向數(shù)據(jù)流的設計方法面向對象的設計方法RationalRose階段性產(chǎn)品概要設計規(guī)格說明書數(shù)據(jù)庫或數(shù)據(jù)結構設計說明書集成測試計劃。1.3軟件生存周期2023/10/23國防科技大學計算機學院712.詳細設計任務細化概要設計所生成的各個模塊,并詳細描述程序模塊的內(nèi)部細節(jié)(算法,數(shù)據(jù)結構等),形成可編程的程序模塊,制訂單元測試計劃階段新產(chǎn)品詳細設計規(guī)格說明書,單元測試計劃1.3軟件生存周期2023/10/23國防科技大學計算機學院723.實現(xiàn)任務根據(jù)詳細設計規(guī)格說明書編寫源程序,并對程序進行調(diào)試、單元測試、系統(tǒng)集成,驗證程序與詳細設計文檔的一致性1.3軟件生存周期2023/10/23國防科技大學計算機學院73實現(xiàn)(2/2)方法以詳細設計規(guī)格說明書為依據(jù)、基于某種程序設計語言進行編碼結構化程序設計面向對象程序設計工具VisualC++,VisualJava,etcIDE階段產(chǎn)品源程序代碼1.3軟件生存周期2023/10/23國防科技大學計算機學院74

4.組裝測試任務

組裝測試應滿足概要設計的要求。途徑測試模塊連接的正確性;測試系統(tǒng)或子系統(tǒng)的I/O;測試系統(tǒng)的功能和性能。產(chǎn)品滿足概要設計要求的程序、組裝測試報告。1.3軟件生存周期2023/10/23國防科技大學計算機學院755.確認測試

任務根據(jù)軟件需求規(guī)格說明書,測試軟件系統(tǒng)是否滿足用戶的需求

方法用戶參與,以軟件需求規(guī)格說明書為依據(jù)進行確認測試工具專用測試工具階段性產(chǎn)品可供用戶使用的軟件產(chǎn)品(文檔,源程序)1.3軟件生存周期2023/10/23國防科技大學計算機學院761.3.3軟件的使用、維護和退役軟件的使用確認測試后的軟件安裝在用戶環(huán)境中;測試通過后移交用戶使用;盡量擴大軟件發(fā)行量發(fā)揮更大的社會和經(jīng)濟效益;軟件使用過程中用戶要認真收集軟件錯誤,并撰寫軟件問題報告和軟件維護報告1.3軟件生存周期2023/10/23國防科技大學計算機學院77軟件的使用、維護和退役軟件的維護軟件工作環(huán)境不斷變化,軟件也必然跟著變化,軟件必須不斷進化以滿足客戶的需求變化,這是軟件產(chǎn)品最根本的特性。軟件維護占用軟件開發(fā)60%以上的工作量。正確性維護;擴充性維護;適應性維護。軟件產(chǎn)品的新版本

1.3軟件生存周期2023/10/23國防科技大學計算機學院78軟件的使用、維護和退役軟件的退役終止軟件運行。1.3軟件生存周期2023/10/23國防科技大學計算機學院79軟件定義開發(fā)與測試的關系1.3軟件生存周期2023/10/23國防科技大學計算機學院801.4軟件開發(fā)模型軟件開發(fā)模型是軟件開發(fā)全過程、軟件開發(fā)活動以及它們之間關系的的結構框架軟件項目的管理提供里程碑和進度表為軟件開發(fā)提供原則和方法第一章軟件與軟件工程2023/10/23國防科技大學計算機學院81軟件開發(fā)模型三類軟件開發(fā)模型1.以軟件需求完全確定為前提的瀑布模型2.在軟件開發(fā)初期只能提供基本需求所采用的漸進式開發(fā)模型如原型模型、螺旋模型3.以形式化開發(fā)方法為基礎的變換模型1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院821.4.1瀑布模型

(1/4)

主要思想軟件開發(fā)過程與軟件生命周期是一致的相鄰二階段之間存在因果關系需對階段性產(chǎn)品進行評審1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院83瀑布模型

(2/4)1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院84瀑布模型的優(yōu)點(3/4)軟件生命周期模型,使軟件開發(fā)過程可以在分析、設計、編碼、測試和維護的框架下進行;軟件開發(fā)過程具有系統(tǒng)性、可控性,克服了軟件開發(fā)的隨意性

。1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院85瀑布模型的缺點(4/4)

項目開始階段用戶很難精確的提出產(chǎn)品需求,由于技術進步,用戶對系統(tǒng)深入的理解,修改需求十分普遍。項目開發(fā)晚期才能得到程序的運行版本,這時修改軟件需求和開發(fā)中的錯誤代價很大。采用線性模型組織項目開發(fā)經(jīng)常發(fā)生開發(fā)小組人員“堵塞狀態(tài)”,特別是項目的開始和結束。1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院861.4.2快速原型模型用戶/客戶給出軟件產(chǎn)品的一般需求開發(fā)小組和用戶共同定義軟件總體目標,標識已知需求對界面、功能、人機交互方式等,進行設計并建造原型1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院87快速原型模型強調(diào)“快速”,釆用基于構件的軟件開發(fā)方法,盡量縮短軟件開發(fā)周期,不宜釆用過多的新技術用戶/客戶對原型進行評估修改需求、更新設計、完善原型直至確定需求。1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院88原型模型示意圖1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院89RAD模型的開發(fā)過程(1/3)業(yè)務建模按照下列問題建立業(yè)務功能的信息流模型:什么信息驅動業(yè)務流程?生成什么信息?誰生成該信息?該信息流往何處?誰處理它?數(shù)據(jù)建模精化信息流,形成一組支持該業(yè)務所需的數(shù)據(jù)對象。標識出每個對象的特征(稱為屬性),并定義這些對象間的關系。業(yè)務建模數(shù)據(jù)建模過程建模應用生成測試修正1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院90RAD模型的開發(fā)過程(2/3)過程建模對定義的數(shù)據(jù)對象進行變換,實現(xiàn)一個業(yè)務功能所需的信息流。創(chuàng)建過程描述以增加、修改、刪除或檢索一個數(shù)據(jù)對象。業(yè)務建模數(shù)據(jù)建模過程建模應用生成測試修正1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院91RAD模型的開發(fā)過程(3/3)應用生成

采用第四代技術創(chuàng)建軟件、重用已有的程序構件或創(chuàng)建可重用的構件。使用自動化工具輔助軟件建造。測試修正RAD過程強調(diào)重用,許多程序構件已經(jīng)過測試,但所有新構件和接口必須測試。業(yè)務建模數(shù)據(jù)建模處理建模應用生成測試修正1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院92原型模型的優(yōu)點原型模型支持軟件需求開發(fā),幫助用戶和開發(fā)人員理解需求,是軟件需求工程的關鍵。它產(chǎn)生的正式需求文擋,是軟件開發(fā)的基礎。如果開發(fā)的原型是可運行的,它的若干高質(zhì)量的程序片段和開發(fā)工具可用于工作程序的開發(fā)。原型的開發(fā)和評審是系統(tǒng)分析員和用戶/客戶共同參予的迭代過程,每個迭代循環(huán)都是線性過程。1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院93原型模型的缺點對于大型軟件項目,原型模型需要足夠的人力資源以建立足夠的原型組。原型模型要求開發(fā)者和客戶在一段時間內(nèi)共同完成原型系統(tǒng)的開發(fā),如果任何一方?jīng)]有實現(xiàn)承諾,會導致原型開發(fā)的失敗。如果系統(tǒng)難以模塊化,建造原型所需構件就有問題;如果高性能是一個指標,原型模型也可能不奏效。原型模型不適合采用很多新技術的項目1.4軟件開發(fā)模型2023/10/23國防科技大學計算機學院94原型模型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論