版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、由安博測試空間技術(shù)中心http:/ 軟件工程導(dǎo)論軟件工程導(dǎo)論 張海藩,清華大學(xué)出版社張海藩,清華大學(xué)出版社 參考教材:參考教材:(1 1)實用軟件工程實用軟件工程,鄭人杰等,清華大學(xué)出版社,鄭人杰等,清華大學(xué)出版社(2 2)軟件工程軟件工程,齊治昌等,高等教育出版社,齊治昌等,高等教育出版社 (3 3)軟件工程原理、方法與應(yīng)用軟件工程原理、方法與應(yīng)用,史濟(jì)民,高,史濟(jì)民,高等教育出版社等教育出版社 第一章 軟件工程概論1.1軟件工程發(fā)展歷史軟件工程軟件工程指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程科學(xué)指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程科學(xué)軟件工程方法軟件工程方法: :是采用工程的概念、原理是采用工程的概念、原
2、理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來。夠得到的最好的技術(shù)方法結(jié)合起來。Evolution of software 早期早期 面向批處理面向批處理有限的分布有限的分布自定義軟件自定義軟件19501960Evolution of software 早期早期 第二階段第二階段 面向批處理面向批處理 多用戶多用戶有限的分布有限的分布 實時實時自定義軟件自定義軟件 數(shù)據(jù)庫數(shù)據(jù)庫 軟件產(chǎn)品軟件產(chǎn)品 1950196019701980Evolution of softwa
3、re 早期早期 第二階段第二階段 第三階段第三階段 面向批處理面向批處理 多用戶多用戶 分布式系統(tǒng)分布式系統(tǒng)有限的分布有限的分布 實時實時 嵌入嵌入“智能智能”自定義軟件自定義軟件 數(shù)據(jù)庫數(shù)據(jù)庫 低成本硬件低成本硬件 軟件產(chǎn)品軟件產(chǎn)品 消費(fèi)者的影響 19501960197019801990Evolution of software 早期早期 第二階段第二階段 第三階段第三階段 第四第四階段階段面向批處理面向批處理 多用戶多用戶 分布式系統(tǒng)分布式系統(tǒng) 強(qiáng)大的桌面系統(tǒng)強(qiáng)大的桌面系統(tǒng)有限的分布有限的分布 實時實時 嵌入嵌入“智能智能” 面向?qū)ο蠹济嫦驅(qū)ο蠹夹g(shù)術(shù)自定義軟件自定義軟件 數(shù)據(jù)庫數(shù)據(jù)庫 低成
4、本硬件低成本硬件 專家系專家系統(tǒng) 軟件產(chǎn)品軟件產(chǎn)品 消費(fèi)者的影響 人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò) 并行計算并行計算 網(wǎng)絡(luò)計算機(jī)網(wǎng)絡(luò)計算機(jī)195019601970198019902000軟件的特點軟件的特點 軟件是一個邏輯的而不是物理的產(chǎn)軟件是一個邏輯的而不是物理的產(chǎn)品。品。 軟件具有與硬件不同的特點軟件具有與硬件不同的特點: :F軟件是由開發(fā)或工程化而形成的,而軟件是由開發(fā)或工程化而形成的,而不是傳統(tǒng)意義上的制造產(chǎn)生的不是傳統(tǒng)意義上的制造產(chǎn)生的; ; F軟件不會軟件不會“磨損磨損”; ;F大多數(shù)軟件是自定義的,而不是通過大多數(shù)軟件是自定義的,而不是通過已有構(gòu)件組裝的。已有構(gòu)件組裝的。F維護(hù)不同維護(hù)不
5、同. .軟件構(gòu)件軟件構(gòu)件要求: 標(biāo)準(zhǔn)構(gòu)件標(biāo)準(zhǔn)構(gòu)件(components) 可復(fù)用性可復(fù)用性(Reusability) 集成化軟件開發(fā)環(huán)境集成化軟件開發(fā)環(huán)境(ISEE)應(yīng)用應(yīng)用系統(tǒng)系統(tǒng) 軟件生產(chǎn)過程 軟件生產(chǎn)過程應(yīng)用構(gòu)件應(yīng)用構(gòu)件提取車間提取車間 應(yīng)用應(yīng)用構(gòu)件庫構(gòu)件庫領(lǐng)域領(lǐng)域 1 1領(lǐng)域領(lǐng)域 2 2應(yīng)用應(yīng)用系統(tǒng)系統(tǒng) 軟件生產(chǎn)過程應(yīng)用構(gòu)件應(yīng)用構(gòu)件提取車間提取車間 應(yīng)用應(yīng)用構(gòu)件庫構(gòu)件庫構(gòu)件生構(gòu)件生產(chǎn)車間產(chǎn)車間領(lǐng)域領(lǐng)域 1 1領(lǐng)域領(lǐng)域 2 2應(yīng)用應(yīng)用系統(tǒng)系統(tǒng)1 12 23 34 41 1基礎(chǔ)構(gòu)件,基礎(chǔ)構(gòu)件,2 2功能構(gòu)件功能構(gòu)件 3 3接口構(gòu)件,接口構(gòu)件,4 4用戶界面構(gòu)件用戶界面構(gòu)件 軟件生產(chǎn)過程應(yīng)用
6、構(gòu)件應(yīng)用構(gòu)件提取車間提取車間 應(yīng)用應(yīng)用構(gòu)件庫構(gòu)件庫構(gòu)件生構(gòu)件生產(chǎn)車間產(chǎn)車間 構(gòu)件庫構(gòu)件庫組裝組裝車間車間領(lǐng)域領(lǐng)域 1 1領(lǐng)域領(lǐng)域 2 2應(yīng)用應(yīng)用系統(tǒng)系統(tǒng) . .1 12 23 34 41 1基礎(chǔ)構(gòu)件,基礎(chǔ)構(gòu)件,2 2功能構(gòu)件功能構(gòu)件 3 3接口構(gòu)件,接口構(gòu)件,4 4用戶界面構(gòu)件用戶界面構(gòu)件 軟件技術(shù)面臨的問題:F 軟件軟件復(fù)雜性復(fù)雜性 例例:1 Windows:1 Windows程序超過程序超過10001000萬行萬行 2 WWMCCS 2 WWMCCS(軍事和控制)花費(fèi)(軍事和控制)花費(fèi)35003500多人拖多人拖了幾年,交付后發(fā)顯出了幾年,交付后發(fā)顯出100100個錯誤。最后失個錯誤。最后
7、失敗。敗。 3 3 城市銀行出納機(jī)程序城市銀行出納機(jī)程序7.87.8萬行,萬行,150150人年人年F 軟件生產(chǎn)率軟件生產(chǎn)率 OO OO技術(shù)技術(shù)( (軟件軟件IC)IC) 軟件危機(jī)的主要特征u軟件開發(fā)周期大大超過規(guī)定日期軟件開發(fā)周期大大超過規(guī)定日期; ;u軟件系統(tǒng)開發(fā)成本高,周期長,質(zhì)量差,滿軟件系統(tǒng)開發(fā)成本高,周期長,質(zhì)量差,滿足不了市場需求足不了市場需求; ;u 軟件質(zhì)量無保證軟件質(zhì)量無保證u軟件系統(tǒng)開發(fā)人員數(shù)量少,質(zhì)量低軟件系統(tǒng)開發(fā)人員數(shù)量少,質(zhì)量低F軟件系統(tǒng)維護(hù)難度大軟件系統(tǒng)維護(hù)難度大F軟件開發(fā)缺乏合適的工具和方法軟件開發(fā)缺乏合適的工具和方法F軟件的版權(quán)問題得不到保證軟件的版權(quán)問題得不
8、到保證改正一個問題需付出的代價需求分析結(jié)構(gòu)設(shè)計詳細(xì)設(shè)計編碼集成測試系統(tǒng)測試現(xiàn)場改正一個問題的估計費(fèi)用改正一個問題估計的工作量20200200010005.02.50.050.5(美元)(人天)yet, Success Hasnyet, Success Hasn t Come Easilyt Come Easily31%31%53%53%16%16%Successfully(成功)Challenged(挑戰(zhàn))Canceled(失敗) 成功的標(biāo)準(zhǔn):s用戶在使用用戶在使用s用戶使用軟件很容易做完要做的事用戶使用軟件很容易做完要做的事 失敗的根本原因: 開發(fā)人員寫出的軟件達(dá)不到用戶要求:開發(fā)人員寫出的
9、軟件達(dá)不到用戶要求:F 人的能力問題人的能力問題. .F 當(dāng)前技術(shù)發(fā)展問題當(dāng)前技術(shù)發(fā)展問題F 系統(tǒng)平臺問題系統(tǒng)平臺問題 中國軟件產(chǎn)業(yè):挑戰(zhàn)與機(jī)遇 挑戰(zhàn):挑戰(zhàn):P 外國軟件打入外國軟件打入J 軟件侵權(quán)行為軟件侵權(quán)行為J 軟件開發(fā)投資力度不足軟件開發(fā)投資力度不足J 軟件人才結(jié)構(gòu)不合理,缺乏高級軟件人才結(jié)構(gòu)不合理,缺乏高級系統(tǒng)程序員和項目負(fù)責(zé)人。系統(tǒng)程序員和項目負(fù)責(zé)人。 軟件人員缺乏軟件工程化的概念。軟件人員缺乏軟件工程化的概念。軟件工程 (software engineering) 軟件工程為了經(jīng)濟(jì)地獲得可靠的和軟件工程為了經(jīng)濟(jì)地獲得可靠的和能在實際機(jī)器上高效運(yùn)行的軟件而建能在實際機(jī)器上高效運(yùn)行的
10、軟件而建立合使用的好的工程原則。立合使用的好的工程原則。 軟件工程 一種層次化技術(shù)一種層次化技術(shù)工具工具方法方法過程過程質(zhì)量焦點質(zhì)量焦點Software engineering layers軟件工程 一種層次化技術(shù)一種層次化技術(shù):支持軟件工程的根基就在于對質(zhì)量的關(guān)注。軟件工程的過程將技術(shù)層結(jié)合在一起,使計算機(jī)軟件合理和及時開發(fā)出來。:涵蓋一系列的任務(wù):需求分析、設(shè)計、編程、測試和微護(hù)。:對過程、方法提供自動或半自動的支持。例CASE集成軟件、硬件或一個軟件工程數(shù)據(jù)庫。軟件工程是一門交叉學(xué)科軟件工程是一門交叉學(xué)科u軟件開發(fā)模型軟件開發(fā)模型u軟件開發(fā)方法軟件開發(fā)方法u 軟件立項到終止的全過程軟件立
11、項到終止的全過程u 軟件開發(fā)工具軟件開發(fā)工具u 軟件開發(fā)環(huán)境軟件開發(fā)環(huán)境 u 計算機(jī)輔助軟件工程(計算機(jī)輔助軟件工程(CASECASE)u 軟件工程管理軟件工程管理u 軟件工程經(jīng)濟(jì)學(xué)軟件工程經(jīng)濟(jì)學(xué)軟件工程的主要研究內(nèi)容軟件工程框架可可用用性性性性性性確確正正合合算算選取適宜的開發(fā)模型選取適宜的開發(fā)模型采用合適的設(shè)計方法采用合適的設(shè)計方法提供高質(zhì)量的工程支持提供高質(zhì)量的工程支持重視軟件工程的管理重視軟件工程的管理基基本本過過程程原則原則 目標(biāo)目標(biāo) 過過 程程支支持持過過程程組組織織過過程程“軟件工程”課程的教學(xué)與實踐與其它軟件專業(yè)課的區(qū)別:與其它軟件專業(yè)課的區(qū)別:“軟件工程”課程的教學(xué)與實踐u
12、對軟件的認(rèn)識:對軟件的認(rèn)識: 上升上升 程序程序 系統(tǒng)系統(tǒng)u 思維定式:思維定式: 上升上升 程序員程序員 系統(tǒng)工程師系統(tǒng)工程師 ( (系統(tǒng)分析員系統(tǒng)分析員) )系統(tǒng)分析員的地位用戶用戶分析員分析員程序員程序員“一個好的工業(yè),應(yīng)有一套良好的標(biāo)準(zhǔn)來配套”軟件的工業(yè)化生產(chǎn)過程應(yīng)具備的特點:軟件的工業(yè)化生產(chǎn)過程應(yīng)具備的特點:F明確的工作步驟明確的工作步驟F詳細(xì)具體的規(guī)范化文檔詳細(xì)具體的規(guī)范化文檔F明確的質(zhì)量評價標(biāo)準(zhǔn)明確的質(zhì)量評價標(biāo)準(zhǔn)軟件工程技術(shù)的兩個明顯特點:u 強(qiáng)調(diào)規(guī)范化強(qiáng)調(diào)規(guī)范化u 強(qiáng)調(diào)文檔化強(qiáng)調(diào)文檔化1.2 軟件生存周期1.2.1 1.2.1 軟件生存周期軟件生存周期 ( (Software
13、Life Cycle) ) 軟件產(chǎn)品或軟件系統(tǒng)從提出軟件產(chǎn)品或軟件系統(tǒng)從提出、設(shè)計、投入使用到被淘汰、設(shè)計、投入使用到被淘汰的全過程。的全過程。F結(jié)構(gòu)化開發(fā)方法(瀑布模型)F快速原型方法F面向?qū)ο箝_發(fā)方法F方法 軟件生命周期人的生命周期費(fèi)用效益費(fèi)用貢獻(xiàn)2 2軟件生存期的步驟(1)(1)制定計劃制定計劃(2)(2)需求分析和定義需求分析和定義(3)(3)軟件設(shè)計軟件設(shè)計(4)(4)程序編寫程序編寫(5)(5)軟件測試軟件測試(6)(6)運(yùn)行運(yùn)行/ /維護(hù)維護(hù)軟件生存期的階段劃分( (國標(biāo)計算機(jī)軟件開發(fā)規(guī)范國標(biāo)計算機(jī)軟件開發(fā)規(guī)范) )(1)(1)可行性研究與計劃可行性研究與計劃(2)(2)需求分析
14、需求分析(3)(3)總體設(shè)計總體設(shè)計 上游上游 (4)(4)詳細(xì)設(shè)計詳細(xì)設(shè)計(5)(5)實現(xiàn)實現(xiàn)(6)(6)集成測試集成測試(7)(7)確認(rèn)測試確認(rèn)測試 下游下游(8)(8)使用和維護(hù)使用和維護(hù)只考慮只考慮編寫程序編寫程序 涉及整個涉及整個軟件生存軟件生存周期周期擴(kuò)展到擴(kuò)展到軟件工作的范圍1.2.2 軟件過程模型 軟件過程模型是軟件開發(fā)全部過軟件過程模型是軟件開發(fā)全部過程、活動和任務(wù)的程、活動和任務(wù)的結(jié)構(gòu)框架結(jié)構(gòu)框架。它能直。它能直觀表達(dá)軟件開發(fā)全過程,明確規(guī)定要觀表達(dá)軟件開發(fā)全過程,明確規(guī)定要完成的主要活動、任務(wù)和開發(fā)策略。完成的主要活動、任務(wù)和開發(fā)策略。 軟件過程模型也常稱為:軟件過程模型
15、也常稱為: 軟件開發(fā)模型軟件開發(fā)模型 軟件生存期模型軟件生存期模型 軟件工程范型軟件工程范型軟件生存期模型可歸結(jié)為三大類F 瀑布模型瀑布模型F 原型模型原型模型F OO OO模型模型1. 瀑布模型 ( (線形順序模型線形順序模型) )可行性研究與計劃可行性研究與計劃需求分析需求分析設(shè)計設(shè)計編碼編碼運(yùn)行維護(hù)運(yùn)行維護(hù)測試測試定義定義階段階段開開發(fā)發(fā)階階段段維護(hù)階段維護(hù)階段按照傳統(tǒng)瀑布模型開發(fā)軟件的特點1).1).階段間具有順序性和依賴性。階段間具有順序性和依賴性。2).2).推遲實現(xiàn)的觀點。推遲實現(xiàn)的觀點。3).3).每個階段必須完成規(guī)定的文檔每個階段必須完成規(guī)定的文檔; ; 每個階段結(jié)束前完成文
16、檔審查每個階段結(jié)束前完成文檔審查, , 及早改正錯誤。及早改正錯誤。2. 原型模型又稱快速成型模型又稱快速成型模型一般用于最終系統(tǒng)的早期用戶評一般用于最終系統(tǒng)的早期用戶評價價, ,開發(fā)工期短,質(zhì)量有保證開發(fā)工期短,質(zhì)量有保證原型范型聽取用聽取用戶意見戶意見建造建造/ /修改修改 原型原型用戶測試用戶測試運(yùn)行原型運(yùn)行原型原型化軟件生存期模型系統(tǒng)需求系統(tǒng)需求分析定義分析定義生成生成原型原型系統(tǒng)系統(tǒng)設(shè)計設(shè)計程序程序設(shè)計設(shè)計編碼編碼測試測試 運(yùn)運(yùn) 行行和維護(hù)和維護(hù)原型化原型化含原型化的含原型化的軟件生存期軟件生存期3. 演化模型針對事先不能完整定義需求針對事先不能完整定義需求的軟件開發(fā)的軟件開發(fā)演化模
17、型開發(fā)過程(1) (1) 根據(jù)用戶給出的待開發(fā)系統(tǒng)的核心根據(jù)用戶給出的待開發(fā)系統(tǒng)的核心需求,先開發(fā)出核心系統(tǒng)。需求,先開發(fā)出核心系統(tǒng)。(2)(2)用戶試用后,提出精化系統(tǒng)、增強(qiáng)系用戶試用后,提出精化系統(tǒng)、增強(qiáng)系統(tǒng)能力的需求,開發(fā)人員實施開發(fā)的統(tǒng)能力的需求,開發(fā)人員實施開發(fā)的迭代過程。迭代過程。需求需求設(shè)計設(shè)計需求需求編碼編碼測試測試集成集成運(yùn)運(yùn)行行、試試用用核心系統(tǒng)開發(fā)核心系統(tǒng)開發(fā)設(shè)計設(shè)計需求需求編碼編碼測試測試集成集成運(yùn)運(yùn)行行、試試用用第二次迭代第二次迭代反饋反饋反饋反饋演化模型4.螺旋模型風(fēng)險風(fēng)險分析分析工程工程實施實施制定制定計劃計劃客戶客戶評估評估Product Maintenance
18、 Projects 產(chǎn)生維護(hù)計劃產(chǎn)生維護(hù)計劃 Product Enhancement Projects產(chǎn)生增加計劃產(chǎn)生增加計劃New Product Development Projects 新產(chǎn)生發(fā)展計劃新產(chǎn)生發(fā)展計劃Concept Development Projects 發(fā)展的觀點發(fā)展的觀點5. 增量模型(遞增模型、增殖模型) 先完成一個系統(tǒng)子集的開先完成一個系統(tǒng)子集的開發(fā),再按同樣的開發(fā)步驟增加發(fā),再按同樣的開發(fā)步驟增加功能功能 ( (系統(tǒng)子集系統(tǒng)子集),),如此遞增下如此遞增下去直至滿足全部系統(tǒng)需求。去直至滿足全部系統(tǒng)需求。 系統(tǒng)的總體設(shè)計在初始子集設(shè)系統(tǒng)的總體設(shè)計在初始子集設(shè)計階段就應(yīng)作出設(shè)想。計階段就應(yīng)作出設(shè)想。分析分析 增量模型設(shè)計設(shè)計 編碼編碼測試測試
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 手指骨折協(xié)議書
- 混凝土終止協(xié)議書
- 苗木管護(hù)合同范本
- 薩內(nèi)轉(zhuǎn)會協(xié)議書
- 螃蟹訂貨協(xié)議書
- 視頻播出協(xié)議書
- 設(shè)備交付協(xié)議書
- 設(shè)備建造合同范本
- 訴調(diào)對接協(xié)議書
- 請假離職協(xié)議書
- 激光熔覆應(yīng)用介紹
- 電除顫臨床操作規(guī)范指南樣本
- 教學(xué)《近似數(shù)》數(shù)學(xué)課件教案
- 2025年西昌市邛海瀘山風(fēng)景名勝區(qū)管理局招聘5名執(zhí)法協(xié)勤人員備考題庫完整參考答案詳解
- 2025年中共湛江市委巡察服務(wù)保障中心、湛江市清風(fēng)苑管理中心公開招聘事業(yè)編制工作人員8人備考題庫完整參考答案詳解
- 2025年產(chǎn)業(yè)融合發(fā)展與區(qū)域經(jīng)濟(jì)一體化進(jìn)程研究可行性研究報告
- 醫(yī)??乒ぷ髁鞒坦芾順?biāo)準(zhǔn)化方案
- 喜播教育課程故事
- 公路工程工點標(biāo)準(zhǔn)化管理指南
- 醫(yī)院藥學(xué) 試題及答案 模塊十一藥學(xué)信息服務(wù)題庫
- 煙草證到期代辦委托書
評論
0/150
提交評論