軟件工程課件:第1章 軟件工程概述_第1頁(yè)
軟件工程課件:第1章 軟件工程概述_第2頁(yè)
軟件工程課件:第1章 軟件工程概述_第3頁(yè)
軟件工程課件:第1章 軟件工程概述_第4頁(yè)
軟件工程課件:第1章 軟件工程概述_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件工程導(dǎo)論2軟件工程 - 2013 - 第一章 軟件工程概述計(jì)算機(jī)的五大門類 程序設(shè)計(jì)語(yǔ)言 數(shù)據(jù)結(jié)構(gòu)計(jì)算機(jī)軟件 人機(jī)交互 程序設(shè)計(jì)方法論 軟件工程 計(jì)算機(jī)理論計(jì)算機(jī)體系結(jié)構(gòu)計(jì)算機(jī)硬件計(jì)算機(jī)應(yīng)用3軟件工程 - 2013 - 第一章 軟件工程概述需要思考的問題0. 軟件工程是什么?計(jì)算機(jī)里的文科?管理, 認(rèn)知1. 來(lái)自硅谷的C猴管理與技術(shù)之間的辯證關(guān)系2. 炸雞的學(xué)問按部就班地批量化實(shí)現(xiàn)第一章 軟件工程學(xué)概述第二章 可行性研究第三章 需求分析第四章 形式化說(shuō)明技術(shù)第五章 總體設(shè)計(jì)第六章 詳細(xì)設(shè)計(jì)第七章 實(shí)現(xiàn)第八章 維護(hù)第九章 面向?qū)ο蠓椒▽W(xué)引論第十章 面向?qū)ο蠓治龅谑徽?面向?qū)ο笤O(shè)計(jì)第十二章

2、面向?qū)ο髮?shí)現(xiàn)第十三章 軟件項(xiàng)目管理4軟件工程 - 2013 - 第一章 軟件工程概述各章內(nèi)容第一章 軟件工程學(xué)概述6軟件工程 - 2013 - 第一章 軟件工程概述第一章內(nèi)容概要軟件與軟件危機(jī)軟件工程何謂軟件工程軟件工程與其他學(xué)科的關(guān)系軟件工程的基本原理軟件工程方法學(xué)軟件工程涉及的人員角色軟件生命周期軟件開發(fā)團(tuán)隊(duì)中的各種角色7軟件工程 - 2013 - 第一章 軟件工程概述什么是軟件?軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。其中:程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的

3、圖文材料。8軟件工程 - 2013 - 第一章 軟件工程概述軟件的特點(diǎn)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性;軟件的生產(chǎn)與硬件不同,在它的開發(fā)中沒有明顯的制造過程。對(duì)軟件的質(zhì)量控制,必須著重在軟件開發(fā)方面下功夫;與硬件不同,軟件在運(yùn)行和使用期間,沒有機(jī)械磨損、老化問題。9軟件工程 - 2013 - 第一章 軟件工程概述硬件磨損:可以用備用零件替換;軟件出故障:無(wú)法用備用零件替換來(lái)解決,是因?yàn)樵O(shè)計(jì)開發(fā)過程中存在錯(cuò)誤;軟件維護(hù)比硬件維護(hù)更復(fù)雜,它與硬件的維修有本質(zhì)差別:軟件的特點(diǎn)10軟件工程 - 2013 - 第一章 軟件工程概述雖然軟件不存在磨損與老化,但它存在退化問題。軟件

4、退化緣于修改。軟件的特點(diǎn)11軟件工程 - 2013 - 第一章 軟件工程概述Tips:關(guān)于Bugs的術(shù)語(yǔ)human mistake、error(錯(cuò)誤):指軟件開發(fā)中的人為出錯(cuò);fault(錯(cuò)誤、缺陷、瑕疵):人為錯(cuò)誤所導(dǎo)致的工作產(chǎn)品缺陷;failure(故障、失效):對(duì)用戶而言,指相對(duì)于系統(tǒng)預(yù)期行為的偏離。12軟件工程 - 2013 - 第一章 軟件工程概述軟件發(fā)展的三個(gè)時(shí)期特點(diǎn)程序設(shè)計(jì)階段(50至60年代)程序系統(tǒng)階段(60至70年代)軟件工程階段(70年代以后)軟件所指程序程序及說(shuō)明書程序、文檔、數(shù)據(jù)主要程序設(shè)計(jì)語(yǔ)言匯編及機(jī)器語(yǔ)言高級(jí)語(yǔ)言軟件語(yǔ)言(如需求定義語(yǔ)言等)軟件工作范圍程序編寫包括

5、設(shè)計(jì)和測(cè)試軟件生命周期需求者程序設(shè)計(jì)者本人少數(shù)用戶市場(chǎng)用戶開發(fā)軟件的組織個(gè)人開發(fā)小組(“軟件作坊”)開發(fā)小組及大中型軟件開發(fā)機(jī)構(gòu)13軟件工程 - 2013 - 第一章 軟件工程概述軟件發(fā)展的三個(gè)時(shí)期特點(diǎn)程序設(shè)計(jì)階段(50至60年代)程序系統(tǒng)階段(60至70年代)軟件工程階段(70年代以后)軟件規(guī)模小型中小型大中小型決定質(zhì)量的因素個(gè)人程序技術(shù)小組技術(shù)水平管理水平開發(fā)技術(shù)和手段子程序程序庫(kù)結(jié)構(gòu)化程序設(shè)計(jì)數(shù)據(jù)庫(kù)、開發(fā)工具、開發(fā)環(huán)境、工程化開發(fā)方法、標(biāo)準(zhǔn)和規(guī)范、網(wǎng)絡(luò)及分布式開發(fā)、面向?qū)ο蠹夹g(shù)14軟件工程 - 2013 - 第一章 軟件工程概述軟件發(fā)展的三個(gè)時(shí)期特點(diǎn)程序設(shè)計(jì)階段(50至60年代)程序系統(tǒng)

6、階段(60至70年代)軟件工程階段(70年代以后)維護(hù)責(zé)任者程序設(shè)計(jì)者開發(fā)小組專職維護(hù)人員硬件特征價(jià)格高存儲(chǔ)容量小工作可靠性差降價(jià)、速度、容量及工作可靠性有明顯提高向超高速、大容量、微型化及網(wǎng)絡(luò)化方向發(fā)展軟件特征完全不受重視軟件技術(shù)的發(fā)展不能滿足需要,出現(xiàn)軟件危機(jī)開發(fā)技術(shù)有進(jìn)步,但未獲突破性進(jìn)展,價(jià)高,未完全擺脫軟件危機(jī)15軟件工程 - 2013 - 第一章 軟件工程概述軟件危機(jī)在程序系統(tǒng)階段,軟件技術(shù)的發(fā)展不能滿足需要,“軟件危機(jī)”就這樣出現(xiàn)了。軟件危機(jī)是指:在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。幾乎所有軟件都不同程度地存在這些問題。大體上,這些問題分為兩方面:如何開發(fā)軟件,

7、以滿足對(duì)軟件日益增長(zhǎng)的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。16軟件工程 - 2013 - 第一章 軟件工程概述軟件危機(jī)的主要表現(xiàn)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確;用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;軟件產(chǎn)品的質(zhì)量往往靠不??;軟件常常是不可維護(hù)的;軟件通常沒有適當(dāng)?shù)奈臋n資料;17軟件工程 - 2013 - 第一章 軟件工程概述失敗的教訓(xùn)1. 三露,聯(lián)想,Intentia的MOVEX 15個(gè)月,200萬(wàn)賠償 1998-20002. 哈藥 ORACLE, 利馬與凱娜 2000-20023. 廣州標(biāo)致與許繼集團(tuán) 1993, 199818軟件工程 - 2013 - 第一章 軟件工程概

8、述軟件危機(jī)的主要表現(xiàn)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升;軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。19軟件工程 - 2013 - 第一章 軟件工程概述產(chǎn)生軟件危機(jī)的原因一方面是由于軟件本身的特點(diǎn):軟件的邏輯性程序的復(fù)雜性、規(guī)模龐大另一方面是由于軟件開發(fā)與維護(hù)的方法不正確:忽視軟件需求分析的重要性認(rèn)為軟件開發(fā)就是寫程序并設(shè)法使之運(yùn)行輕視軟件維護(hù)20軟件工程 - 2013 - 第一章 軟件工程概述消除軟件危機(jī)的途徑首先應(yīng)該對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí):它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。必須充分認(rèn)識(shí)到軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是一種組織良好

9、、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項(xiàng)目。21軟件工程 - 2013 - 第一章 軟件工程概述消除軟件危機(jī)的途徑必須充分吸取和借鑒人類長(zhǎng)期以來(lái)從事各種工程項(xiàng)目所積累的行之有效的原理、概念、技術(shù)和方法,特別要吸取幾十年來(lái)人類從事計(jì)算機(jī)硬件研究和開發(fā)的經(jīng)驗(yàn)教訓(xùn)。22軟件工程 - 2013 - 第一章 軟件工程概述消除軟件危機(jī)的途徑應(yīng)該推廣使用在實(shí)踐中總結(jié)出來(lái)的開發(fā)軟件的成功的技術(shù)和方法,并且研究探索更有效的技術(shù)和方法,盡快消除在計(jì)算機(jī)系統(tǒng)早期發(fā)展階段形成的一些錯(cuò)誤觀念和做法。應(yīng)該開發(fā)和使用更好的軟件工具。23軟件工程 - 2013 - 第一章 軟件工程概述第一章內(nèi)容概要軟件與軟件危機(jī)軟件工

10、程何謂軟件工程軟件工程與其他學(xué)科的關(guān)系軟件工程的基本原理軟件工程方法學(xué)軟件工程涉及的人員角色軟件生命周期軟件開發(fā)團(tuán)隊(duì)中的各種角色24軟件工程 - 2013 - 第一章 軟件工程概述軟件危機(jī)與軟件工程的提出面對(duì)軟件危機(jī),1968年德國(guó)召開的一次NATO會(huì)議上首次簽署聲明“軟件工程”這一說(shuō)法,認(rèn)為軟件工程應(yīng)當(dāng)使用業(yè)已建立的工程學(xué)科的基本原理和范型。背后驅(qū)使的觀念是:軟件設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)應(yīng)當(dāng)與傳統(tǒng)工程學(xué)科具有同等地位。25軟件工程 - 2013 - 第一章 軟件工程概述關(guān)于軟件工程的一些定義建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法。(Fritz Ba

11、uer,原文出自Software Engineering: A Report on a Conference Sponsored by the NATO Science Committee, NATO, 1969)1993年IEEE更全面更具體的定義:“軟件工程是:把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件;研究中提到的途徑?!?6軟件工程 - 2013 - 第一章 軟件工程概述關(guān)于軟件工程的一些定義軟件工程學(xué)科涉及到為高效率地構(gòu)建滿足客戶需求的軟件系統(tǒng)所需的理論、知識(shí)和實(shí)踐的應(yīng)用。(中國(guó)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科教程2002)軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和

12、維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。27軟件工程 - 2013 - 第一章 軟件工程概述軟件工程與其他學(xué)科的關(guān)系軟件工程應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)和管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法來(lái)創(chuàng)建軟件,從而達(dá)到提高質(zhì)量、降低成本的目的。其中:計(jì)算機(jī)科學(xué)和數(shù)學(xué)用于構(gòu)造模型、分析算法;工程科學(xué)用于制定規(guī)范、明確范型、評(píng)估成本、確定權(quán)衡;管理科學(xué)用于進(jìn)度、資源、質(zhì)量、成本等的管理。28軟件工程 - 2013 - 第一章 軟件工程概述軟件工程的本

13、質(zhì)特性軟件工程關(guān)注大型程序的構(gòu)造;軟件工程的中心課題是控制復(fù)雜性;軟件經(jīng)常變化;開發(fā)軟件的效率非常重要;和諧地合作是開發(fā)軟件的關(guān)鍵;軟件必須有效地支持它的用戶;軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。(跨領(lǐng)域)29軟件工程 - 2013 - 第一章 軟件工程概述軟件工程的基本原理著名的軟件工程專家BWBoehm于1983年提出了軟件工程的七條基本原理。他認(rèn)為這七條原理是確保軟件產(chǎn)品質(zhì)量和開發(fā)效率的原理的最小集合:用分階段的生命周期計(jì)劃嚴(yán)格管理;把軟件生命周期劃分成若干階段,并相應(yīng)制定出切實(shí)可行的計(jì)劃,并嚴(yán)格按照計(jì)劃對(duì)軟件的開發(fā)與維護(hù)工作進(jìn)行管理;30軟件工程 -

14、 2013 - 第一章 軟件工程概述軟件工程的基本原理堅(jiān)持進(jìn)行階段評(píng)審;大部分錯(cuò)誤是在編碼之前造成的,例如,根據(jù)Boehm等人的統(tǒng)計(jì),設(shè)計(jì)錯(cuò)誤占軟件錯(cuò)誤的63,編碼錯(cuò)誤僅占37;錯(cuò)誤發(fā)現(xiàn)與改正得越晚,所需付出的代價(jià)也越高。31軟件工程 - 2013 - 第一章 軟件工程概述軟件工程的基本原理實(shí)行嚴(yán)格的產(chǎn)品控制;當(dāng)改變需求時(shí),為了保持軟件各個(gè)配置成分的一致性,必須實(shí)行嚴(yán)格的產(chǎn)品控制,其中主要是實(shí)行基準(zhǔn)配置管理。;所謂基準(zhǔn)配置又稱為基線配置,它們是經(jīng)過階段評(píng)審后的軟件配置成分(各個(gè)階段產(chǎn)生的文檔或程序代碼)?;鶞?zhǔn)配置管理也稱為變動(dòng)控制:一切有關(guān)修改軟件的建議,特別是涉及到對(duì)基準(zhǔn)配置的修改建議,都必

15、須按照嚴(yán)格的規(guī)程進(jìn)行評(píng)審,獲得批準(zhǔn)以后才能實(shí)施修改。32軟件工程 - 2013 - 第一章 軟件工程概述軟件工程的基本原理采用現(xiàn)代程序設(shè)計(jì)技術(shù);實(shí)踐表明,采用先進(jìn)的技術(shù)既可提高軟件開發(fā)和維護(hù)的效率,又可提高軟件產(chǎn)品的質(zhì)量。結(jié)果應(yīng)能清楚地審查;為了提高軟件開發(fā)過程的可見性,更好地進(jìn)行管理,應(yīng)該根據(jù)軟件開發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使得所得到的結(jié)果能夠清楚地審查。33軟件工程 - 2013 - 第一章 軟件工程概述軟件工程的基本原理開發(fā)小組的成員應(yīng)該少而精;開發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開發(fā)效率的重要因素。承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。不僅要積極主

16、動(dòng)地采納新的軟件技術(shù),而且要注意不斷總結(jié)經(jīng)驗(yàn),評(píng)價(jià)新的軟件技術(shù)的效果,指明必須著重開發(fā)的軟件工具和應(yīng)該優(yōu)先研究的技術(shù)。34軟件工程 - 2013 - 第一章 軟件工程概述軟件工程的基本內(nèi)容軟件工程包括管理和技術(shù)兩方面的內(nèi)容。管理就是通過計(jì)劃、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。35軟件工程 - 2013 - 第一章 軟件工程概述軟件工程的基本內(nèi)容技術(shù)方面,通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(methodology),也稱為范型(paradigm)。軟件工程方法學(xué)包含三個(gè)要素:方法、工具和過程。36軟件工程 - 2013 - 第一

17、章 軟件工程概述軟件工程方法學(xué)方法:完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問題;工具:軟件工具為軟件工程方法提供了自動(dòng)或半自動(dòng)的軟件支撐環(huán)境;如果這些工具能夠集成起來(lái),即一個(gè)工具產(chǎn)生的信息可被另一個(gè)工具使用時(shí),稱這樣的支持軟件開發(fā)的系統(tǒng)為CASE(計(jì)算機(jī)輔助軟件工程)37軟件工程 - 2013 - 第一章 軟件工程概述軟件工程方法學(xué)過程:是指為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的步驟,將軟件工程的方法和工具綜合起來(lái)以達(dá)到合理、及時(shí)地進(jìn)行軟件開發(fā)的目的。它定義了:方法使用的順序;要求交付的文檔資料;為保證質(zhì)量和適應(yīng)變化所需要的管理;軟件開發(fā)各個(gè)階段完成

18、的里程碑。目前使用得最廣泛的軟件工程方法學(xué)分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。38軟件工程 - 2013 - 第一章 軟件工程概述傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)又稱生命周期方法學(xué)或結(jié)構(gòu)化范型。采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。把軟件生命周期的全過程劃分為若干個(gè)階段:前一階段是基礎(chǔ)、前提;后一階段是細(xì)化;每一個(gè)階段的開始和結(jié)束都有嚴(yán)格的標(biāo)準(zhǔn);在每一個(gè)階段結(jié)束之前都必須進(jìn)行正式嚴(yán)格的技術(shù)審查和管理復(fù)審;39軟件工程 - 2013 - 第一章 軟件工程概述傳統(tǒng)方法學(xué)的優(yōu)點(diǎn)通過將軟件生命周期劃分成若干個(gè)階段降低了

19、整個(gè)軟件開發(fā)過程的困難程度;每個(gè)階段結(jié)束前的嚴(yán)格審查保證了軟件的質(zhì)量,提高了軟件的可維護(hù)性。40軟件工程 - 2013 - 第一章 軟件工程概述傳統(tǒng)方法學(xué)存在的問題當(dāng)軟件規(guī)模龐大,或者對(duì)軟件的需求是模糊的或會(huì)隨時(shí)間而變化的時(shí)候,使用傳統(tǒng)方法學(xué)開發(fā)軟件往往不成功,而且維護(hù)起來(lái)仍然很困難。原因:把原本密切相關(guān)的數(shù)據(jù)和操作人為地分離成了兩個(gè)獨(dú)立的部分,增加了軟件開發(fā)與維護(hù)的難度。41軟件工程 - 2013 - 第一章 軟件工程概述面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué)是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方法。面向?qū)ο蠓椒▽W(xué)的4個(gè)要點(diǎn):把對(duì)象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件

20、;把所有對(duì)象都劃分成類;按照父類與子類的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)類層次結(jié)構(gòu),位于下層的類繼承了上層中某類的特點(diǎn);對(duì)象彼此間僅能通過發(fā)送消息互相聯(lián)系。42軟件工程 - 2013 - 第一章 軟件工程概述面向?qū)ο蠓椒▽W(xué)“面向?qū)ο?對(duì)象+類+繼承+通信”面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則,是盡量模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識(shí)世界解決問題的方法與過程,從而使描述問題的問題空間與實(shí)現(xiàn)解法的求解空間在結(jié)構(gòu)上盡可能一致。面向?qū)ο蠓椒▽W(xué)開發(fā)軟件的過程更為符合人類認(rèn)識(shí)和解決新問題的過程:循序漸進(jìn)、歸納+演繹。43軟件工程 - 2013 - 第一章 軟件工程概述面向?qū)ο蠓椒▽W(xué)的

21、優(yōu)點(diǎn)降低了軟件產(chǎn)品的復(fù)雜性;提高了軟件的可理解性;簡(jiǎn)化了軟件的開發(fā)和維護(hù)工作;促進(jìn)了軟件重用。44軟件工程 - 2013 - 第一章 軟件工程概述軟件工程涉及的人員角色(Role):一種職責(zé)對(duì)應(yīng)關(guān)系。通常情況下,軟件工程涉及的人員分為三種角色:客戶(Customer):花錢開發(fā)軟件系統(tǒng)的公司、組織或個(gè)人;開發(fā)者(Developer):為客戶構(gòu)建軟件系統(tǒng)的公司、組織或個(gè)人;用戶(User):最終使用該系統(tǒng)的人員。引發(fā)角色交叉的新情況:通用商業(yè)軟件包(Commercial off-the-shelf, COTS )、轉(zhuǎn)包(Subcontract)45軟件工程 - 2013 - 第一章 軟件工程概述

22、46軟件工程 - 2013 - 第一章 軟件工程概述第一章內(nèi)容概要軟件與軟件危機(jī)軟件工程何謂軟件工程軟件工程與其他學(xué)科的關(guān)系軟件工程的基本原理軟件工程方法學(xué)軟件工程涉及的人員角色軟件生命周期軟件開發(fā)團(tuán)隊(duì)中的各種角色47軟件工程 - 2013 - 第一章 軟件工程概述軟件生命周期(Software Life Cycle)一般問題的解決過程:?jiǎn)栴}的闡述:界定問題,用較寬的范圍而不是細(xì)節(jié)來(lái)定義和描述待解問題;問題的分析:?jiǎn)栴}定義的提煉,把問題分成可以理解和處理的子問題,進(jìn)而提供基本細(xì)節(jié);尋找解法:收集問題的一組可能解法;判定:每一種可能解法的評(píng)估和比較,直至獲得最佳解法;設(shè)計(jì)規(guī)格說(shuō)明:對(duì)選中解法的細(xì)

23、節(jié)描述;實(shí)現(xiàn):由設(shè)計(jì)到構(gòu)造出結(jié)果產(chǎn)品,包括把分解過的各部分綜合成一個(gè)有機(jī)的整體。48軟件工程 - 2013 - 第一章 軟件工程概述軟件生命周期(Software Life Cycle)如同任何事物一樣,軟件也有一個(gè)孕育、誕生、成長(zhǎng)、成熟、衰亡、演化的生存過程;為了用工程化方式有效地管理軟件的全過程,軟件的生存過程也可以劃分為好幾個(gè)階段,由此逐步形成“軟件生命周期”的概念;它是一個(gè)從用戶需求開始,經(jīng)過開發(fā)、交付使用,在使用中不斷增補(bǔ)修訂,直至讓位于新軟件的全過程;概括地說(shuō),軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)3個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。49軟件工程 - 2013 -

24、第一章 軟件工程概述軟件定義時(shí)期問題定義階段:界定問題的范圍,確切地定義問題;可行性研究階段:研究問題的范圍,探索這個(gè)問題是否值得去解,是否有可行的解決辦法;需求分析階段:確定目標(biāo)系統(tǒng)必須具備哪些功能;另外,要估計(jì)完成該項(xiàng)工程所需要的資源和成本,制定工程進(jìn)度表。50軟件工程 - 2013 - 第一章 軟件工程概述軟件開發(fā)時(shí)期具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件。總體設(shè)計(jì)階段:設(shè)計(jì)出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案,權(quán)衡利弊推薦一最佳方案,并制定實(shí)現(xiàn)最佳方案的詳細(xì)計(jì)劃,以及設(shè)計(jì)軟件的體系結(jié)構(gòu);詳細(xì)設(shè)計(jì)階段:設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明;編碼和單元測(cè)試階段:寫出正確的、容易理解、容易維護(hù)的程序模塊;綜合測(cè)試階段:通過各種類型的測(cè)試使軟件達(dá)到預(yù)定的要求。51軟件工程 - 2013 - 第一章 軟件工程概述運(yùn)行維護(hù)(軟件維護(hù))時(shí)期維護(hù)階段的關(guān)鍵任務(wù)是:通過各種必要的維護(hù)活動(dòng)使軟件系統(tǒng)持久地滿足用戶的需要。通常的4種維護(hù)活動(dòng):改正性維護(hù):診斷和改正使用過程中發(fā)現(xiàn)的軟件錯(cuò)誤;適應(yīng)性維護(hù):修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù):根據(jù)用戶需要改進(jìn)或擴(kuò)充軟件使

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論