




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
哈爾濱工業(yè)大學(xué)軟件學(xué)院第1章軟件工程概述楊大易2015/11/24本章主要內(nèi)容1.1什么是軟件1.2軟件危機(jī)1.3軟件工程1.4軟件工程方法1.5軟件生命周期模型1.6本章小結(jié)哈爾濱工業(yè)大學(xué)軟件學(xué)院11.1什么是軟件
軟件的定義
計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行時(shí)所必需的數(shù)據(jù)。(IEEE-1983)
軟件(software)由三部分組成
可以在計(jì)算機(jī)上運(yùn)行的程序(program);
運(yùn)行程序需要的數(shù)據(jù)(data);
開發(fā)、維護(hù)、使用需要的各種文檔(document)。哈爾濱工業(yè)大學(xué)軟件學(xué)院21.1什么是軟件
軟件的特征
軟件是一種邏輯實(shí)體,具有抽象性
軟件沒有明顯的制造過程
軟件在使用過程中,沒有磨損、老化的問題
軟件對(duì)硬件和環(huán)境有著不同程度的依賴性
軟件的開發(fā)至今尚未完全擺脫手工作坊式的開發(fā)方式,生產(chǎn)效率低
軟件的成本相當(dāng)昂貴
軟件工作牽涉到很多社會(huì)因素哈爾濱工業(yè)大學(xué)軟件學(xué)院31.1什么是軟件
軟件的發(fā)展過程
從1946年到60年代初:程序設(shè)計(jì)時(shí)期,其主要特征是程序生產(chǎn)方式為個(gè)體手工方式。
從20世紀(jì)60年代初到70年代初:程序系統(tǒng)時(shí)期,程序的規(guī)模已經(jīng)很大,需要多人分工協(xié)作,軟件的開發(fā)方式由“個(gè)體生產(chǎn)”發(fā)展到了“軟件作坊”。
從20世紀(jì)70年代中期至80年代中期:軟件工程時(shí)期,軟件的開發(fā)以工程化的思想為指導(dǎo),用工程化原則、方法和標(biāo)準(zhǔn)來開發(fā)和維護(hù)軟件。
從20世紀(jì)80年代中期至今:面向?qū)ο髸r(shí)期,面向?qū)ο筌浖_發(fā)技術(shù)在迅速取代傳統(tǒng)軟件工程開發(fā)方法。哈爾濱工業(yè)大學(xué)軟件學(xué)院41.2軟件危機(jī)
1968年北大西洋公約組織的計(jì)算機(jī)科學(xué)家在德國(guó)召開國(guó)際會(huì)議,把計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中出現(xiàn)的一系列嚴(yán)重問題稱為“軟件危機(jī)”。
軟件危機(jī)的主要表現(xiàn)
軟件功能與實(shí)際需求不符
軟件價(jià)格昂貴
軟件產(chǎn)品的質(zhì)量差
對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常不準(zhǔn)確
軟件文檔資料通常既不完整也不合格
軟件的維護(hù)費(fèi)用急劇上升哈爾濱工業(yè)大學(xué)軟件學(xué)院51.2軟件危機(jī)
產(chǎn)生軟件危機(jī)的原因
軟件缺乏“可見性”,在寫出程序代碼并在計(jì)算機(jī)上運(yùn)行之前,軟件開發(fā)過程的進(jìn)展質(zhì)量較難衡量,很難檢驗(yàn)開發(fā)的正確性。
軟件規(guī)模龐大,邏輯結(jié)構(gòu)復(fù)雜。
開發(fā)管理人員只重視設(shè)計(jì)程序而輕視用戶需求分析,導(dǎo)致最后研制出的軟件產(chǎn)品無法滿足用戶的需求。
軟件設(shè)計(jì)技術(shù)和管理技術(shù)落后,沒有統(tǒng)一的軟件質(zhì)量管理規(guī)范。
在軟件的開發(fā)與維護(hù)關(guān)系問題上存在錯(cuò)誤的概念,重視開發(fā),而輕視維護(hù)。哈爾濱工業(yè)大學(xué)軟件學(xué)院61.3軟件工程
軟件工程的提出
1968年,北大西洋公約組織在原西德召開計(jì)算機(jī)科學(xué)會(huì)議,由FritzBauer首次提出了“軟件工程”的概念。
軟件工程的定義
軟件工程是用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。它應(yīng)用工程的概念、原理、技術(shù)和方法,應(yīng)用科學(xué)的開發(fā)技術(shù)和管理方法來開發(fā)軟件。
1983年IEEE給出的定義:將系統(tǒng)化的、規(guī)范的、可量化的方法應(yīng)用與軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化方法應(yīng)用于軟件。哈爾濱工業(yè)大學(xué)軟件學(xué)院71.3軟件工程
軟件工程基本思想——著名的軟件工程專家B.W.Boehm于1983年提出
用分階段的生存周期計(jì)劃嚴(yán)格管理
堅(jiān)持進(jìn)行階段評(píng)審
實(shí)行嚴(yán)格的產(chǎn)品控制
采用現(xiàn)代程序設(shè)計(jì)技術(shù)
結(jié)果應(yīng)能清楚地審查
開發(fā)小組的人員應(yīng)少而精
承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性哈爾濱工業(yè)大學(xué)軟件學(xué)院81.3軟件工程
軟件工程知識(shí)體系
swebok_2004軟件工程知識(shí)體系指南
軟件工程三要素:方法、工具、過程
軟件工程過程:將各個(gè)技術(shù)層次結(jié)合在一起,使合理、及時(shí)地開發(fā)計(jì)算機(jī)軟件成為可能。
軟件工程方法:為構(gòu)建軟件提供技術(shù)上的解決方法。
軟件工程工具:為過程和方法提供自動(dòng)化或半自動(dòng)化的支持。哈爾濱工業(yè)大學(xué)軟件學(xué)院91.4軟件工程方法
把在軟件生命周期全過程中使用的一整套技術(shù)集合稱為方法(methodology),也可稱為方法學(xué)或范型。
軟件工程方法包括開發(fā)方法、開發(fā)工具和開發(fā)過程三方面。
目前使用得最廣泛的軟件工程方法,分別是傳統(tǒng)方法和面向?qū)ο蠓椒ā9枮I工業(yè)大學(xué)軟件學(xué)院101.4軟件工程方法
傳統(tǒng)方法:把一個(gè)復(fù)雜問題的求解過程分階段進(jìn)行,自頂向下,逐層分解,使得每個(gè)階段處理的問題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。
軟件定義時(shí)期:確定軟件開發(fā)必須完成的任務(wù);論證軟件可行性;確定用戶需求的詳細(xì)功能和性能??蓜澐譃槿齻€(gè)階段:?jiǎn)栴}定義、可行性研究和需求分析。
軟件開發(fā)時(shí)期:設(shè)計(jì)和實(shí)現(xiàn)軟件的定義。四個(gè)階段:總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼及單元測(cè)試、綜合測(cè)試。
軟件維護(hù)時(shí)期:對(duì)投入使用的軟件的修改,實(shí)際上是對(duì)軟件的一次重新定義和開發(fā)過程。
傳統(tǒng)方法也稱為生命周期方法或結(jié)構(gòu)化方法。哈爾濱工業(yè)大學(xué)軟件學(xué)院111.4軟件工程方法
傳統(tǒng)方法的特征
開發(fā)過程分為三個(gè)時(shí)期,每個(gè)時(shí)期又分成若干階段;
采用結(jié)構(gòu)化技術(shù)來完成軟件開發(fā)各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運(yùn)用;
從上而下,順序地完成軟件開發(fā)的各階段任務(wù)。
傳統(tǒng)方法仍然是使用十分廣泛的軟件工程方法。哈爾濱工業(yè)大學(xué)軟件學(xué)院121.4軟件工程方法
面向?qū)ο蠓椒ǎ菏且环N把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法,簡(jiǎn)稱OO
(Object-Oriented)方法。
面向?qū)ο蠓椒ǖ奶卣?/p>
是建立在對(duì)象概念基礎(chǔ)上的方法學(xué),對(duì)象的概念貫穿于開發(fā)全過程。
運(yùn)用人類日常的思維方法和原則進(jìn)行系統(tǒng)開發(fā),體現(xiàn)出繼承性、封裝性、多態(tài)性等基本特征。
可劃分為三個(gè)階段:面向?qū)ο蠓治觯∣OA)、面向?qū)ο笤O(shè)計(jì)(OOD)、面向?qū)ο髮?shí)現(xiàn)(OOI)。哈爾濱工業(yè)大學(xué)軟件學(xué)院131.5軟件生命周期模型
軟件項(xiàng)目開發(fā)和維護(hù)的全過程。
軟件生命周期模型的種類:
以軟件需求完全確定為基礎(chǔ)的瀑布模型;
開發(fā)初期僅給出基本需求的漸進(jìn)式模型,如原型模型、螺旋模型、噴泉模型等;
以形式化開發(fā)方法為基礎(chǔ)的變換模型、基于第四代語言技術(shù)的模型。
在實(shí)際開發(fā)時(shí),應(yīng)根據(jù)項(xiàng)目的特點(diǎn)和現(xiàn)有的條件選取合適的模型,也可以把幾種模型組合起來使用以便充分利用各模型的優(yōu)點(diǎn)。哈爾濱工業(yè)大學(xué)軟件學(xué)院141.5軟件生命周期模型
瀑布模型
嚴(yán)格按照軟件生存周期各個(gè)階段來進(jìn)行開發(fā),上一階段的輸出即是下一階段的輸入,強(qiáng)調(diào)每一階段的嚴(yán)格性。哈爾濱工業(yè)大學(xué)軟件學(xué)院151.5軟件生命周期模型
瀑布模型的優(yōu)點(diǎn)
提供了軟件開發(fā)的基本框架,有利于軟件開發(fā)過程中人員組織與管理,有利于開發(fā)方法和工具的研究與使用。
瀑布模型的缺點(diǎn)
在軟件開發(fā)的初期階段就要求做出正確、全面、完整的需求分析對(duì)許多應(yīng)用軟件來說是極其困難的;
不支持產(chǎn)品的演化,缺乏靈活性,對(duì)開發(fā)過程中很難發(fā)現(xiàn)的錯(cuò)誤,使軟件產(chǎn)品難以維護(hù)。
瀑布模型的適用場(chǎng)合
適合于需求明確、完整、無重大變化的軟件系統(tǒng)。哈爾濱工業(yè)大學(xué)軟件學(xué)院161.5軟件生命周期模型
原型模型
開發(fā)人員與用戶一起進(jìn)行需求分析,進(jìn)行快速設(shè)計(jì),建造原型,原型由用戶評(píng)估,進(jìn)一步修改原型,再次進(jìn)行設(shè)計(jì)。迭代這個(gè)過程,逐步滿足用戶需要。哈爾濱工業(yè)大學(xué)軟件學(xué)院171.5軟件生命周期模型
原型模型的優(yōu)點(diǎn)
原型模型法可以得到良好的需求定義,能夠有效處理用戶的模糊需求,開發(fā)者和用戶得到充分的協(xié)作。
原型模型的缺點(diǎn)
開發(fā)者常常需要實(shí)現(xiàn)上的折衷,以使原型能盡快工作;
用戶似乎看到的是軟件的工作版本,其實(shí)軟件質(zhì)量和可靠性難以保證;
資源規(guī)劃和管理較為困難,更新文檔工作量繁重。
原型模型的適用場(chǎng)合
適合于不能預(yù)先確切定義需求的軟件系統(tǒng)的開發(fā)。哈爾濱工業(yè)大學(xué)軟件學(xué)院181.5軟件生命周期模型
螺旋模型
綜合了瀑布模型和原型模型的優(yōu)點(diǎn),即將兩者結(jié)合,并加入了風(fēng)險(xiǎn)分析機(jī)制。哈爾濱工業(yè)大學(xué)軟件學(xué)院191.5軟件生命周期模型
螺旋模型的優(yōu)點(diǎn)
螺旋模型特別強(qiáng)調(diào)原型的可擴(kuò)充性和可修改性;
為項(xiàng)目管理人員及時(shí)調(diào)整管理決策提供了方便,可降低開發(fā)風(fēng)險(xiǎn)。
螺旋模型的缺點(diǎn)
如果每次迭代的效率不高,會(huì)致使迭代次數(shù)過多;
需要有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),要求開發(fā)隊(duì)伍水平較高。
螺旋模型的適用場(chǎng)合
支持需求不明確、特別是大型軟件系統(tǒng)的開發(fā)。哈爾濱工業(yè)大學(xué)軟件學(xué)院201.5軟件生命周期模型
噴泉模型
以用戶需求為動(dòng)力,以對(duì)象為驅(qū)動(dòng)的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程。哈爾濱工業(yè)大學(xué)軟件學(xué)院211.5軟件生命周期模型
噴泉模型的特點(diǎn)
軟件系統(tǒng)可維護(hù)性較好;
各階段相互重疊,表明了面向?qū)ο箝_發(fā)方法各階段間的交叉和無縫過渡;
整個(gè)模型是一個(gè)迭代的過程,包括一個(gè)階段內(nèi)部的迭代和跨階段的迭代;
模型具有增量開發(fā)特性,能做到分析一點(diǎn)、設(shè)計(jì)一點(diǎn)、實(shí)現(xiàn)一點(diǎn)、測(cè)試一點(diǎn),支持系統(tǒng)演化。
模型是對(duì)象驅(qū)動(dòng)的,對(duì)象是各階段活動(dòng)的主體,也是項(xiàng)目管理的基本內(nèi)容。
該模型很自然地支持軟部件的重用。哈爾
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《Reuse and recycle》作業(yè)設(shè)計(jì)方案
- 第06講 文言文斷句 講義 中考語文復(fù)習(xí)
- 2025年高中化學(xué)新教材同步 必修第一冊(cè) 第4章 第1節(jié) 第3課時(shí) 原子結(jié)構(gòu)與元素的性質(zhì)
- 綠化費(fèi)合同范本
- 出售肉牛批發(fā)合同范本
- 個(gè)人借款擔(dān)保合同
- 加工銷售合同范本
- 化工儀表習(xí)題庫(kù)及參考答案
- 印刷材料合同范例
- 樂器培訓(xùn)合同范本模板
- 二零二四年度嬰幼兒奶粉電商平臺(tái)銷售合作協(xié)議2篇
- 房地產(chǎn)市場(chǎng)報(bào)告 -2024年第四季度大連寫字樓和零售物業(yè)市場(chǎng)報(bào)告
- 簡(jiǎn)單的路線圖(說課稿)2024-2025學(xué)年三年級(jí)上冊(cè)數(shù)學(xué)西師大版
- Unit 5 Now and Then-Lesson 3 First-Time Experiences 說課稿 2024-2025學(xué)年北師大版(2024)七年級(jí)英語下冊(cè)
- 《中國(guó)心力衰竭診斷和治療指南2024》解讀
- 2025中國(guó)人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中國(guó)食物成分表2020年權(quán)威完整改進(jìn)版
- 增額終身壽險(xiǎn)的購(gòu)買理由
- 【MOOC】影視鑒賞-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 智研咨詢發(fā)布:2025年中國(guó)商用密碼行業(yè)市場(chǎng)現(xiàn)狀、發(fā)展概況、未來前景分析報(bào)告
- 《氫科學(xué)技術(shù)應(yīng)用》課件-3-1 氫氣的儲(chǔ)存
評(píng)論
0/150
提交評(píng)論