《軟件工程第一章 (2)》由會員分享,可在線閱讀,更多相關(guān)《軟件工程第一章 (2)(16頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,軟件工程陸惠恩主編,*,國家級教材,高等學(xué)校計(jì)算機(jī)專業(yè)教材,軟件工程,電子教案,陸惠恩主編,人民郵電出版社,200,7,年,1,軟件工程陸惠恩主編,軟件工程目錄,第1章概述,第2章可行性研究與軟件開發(fā)計(jì)劃,第3章需求分析,第4章概要設(shè)計(jì),第5章詳細(xì)設(shè)計(jì),第6章軟件實(shí)現(xiàn),第7章軟件維護(hù),第8章面向?qū)ο蠓椒▽W(xué)與,UML,第9章面向?qū)ο蠹夹g(shù)與,UML,應(yīng)用,第10章軟件開發(fā)環(huán)境,第11章軟件重用,第12章軟件工程管理,2,軟件工程陸惠恩主編,第,1,章概 述,本章主要內(nèi)容:,軟件工程的產(chǎn)生,軟件生產(chǎn)的發(fā)展,軟件
2、危機(jī),軟件工程,軟件生命周期,軟件過程模型,本章重點(diǎn):,軟件工程學(xué),軟件生命周期。,3,軟件工程陸惠恩主編,1.1,軟件工程的產(chǎn)生,1.1.1,軟件生產(chǎn)的發(fā)展,軟件是指計(jì)算機(jī)程序及其有關(guān)的數(shù)據(jù)和文檔。,軟件生產(chǎn)的各個(gè)階段必需完成的有關(guān)計(jì)算機(jī)程序的功能、設(shè)計(jì)、編制的文字或圖形資料,這些資料稱為“文檔”。,1.,程序設(shè)計(jì)時(shí)期,2.,軟件,=,程序,+,文檔時(shí)期,3.,軟件工程階段,4.,第,4,階段,4,軟件工程陸惠恩主編,1.1.2,軟件危機(jī),軟件危機(jī)是指在計(jì)算機(jī)軟件開發(fā)和維護(hù)時(shí)所遇到的一系列問題。,軟件危機(jī)主要包含的問題:,如何開發(fā)軟件以滿足對軟件日益增長的需求;,如何維護(hù)數(shù)量不斷增長的已有軟
3、件。,1.,軟件危機(jī)主要表現(xiàn)形式,2.,軟件危機(jī)產(chǎn)生的原因,3.,解決軟件危機(jī)的途徑,5,軟件工程陸惠恩主編,1.2.,軟件工程,1.2.1,軟件工程定義,1.,什么是軟件,?,軟件是指計(jì)算機(jī)程序及其有關(guān)的數(shù)據(jù)和文檔。,軟件文檔(,software documentation,)是以人們可讀的形式出現(xiàn)的技術(shù)數(shù)據(jù)和信息。,“軟件是程序以及開發(fā)、使用和維護(hù)所需要的所有文檔,(document),?!?2.,什么是軟件工程,?,軟件工程(,software engineering,)是軟件開發(fā)、運(yùn)行、維護(hù)和引退的系統(tǒng)方法。,軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。,軟件工程采用工程的概念、原理
4、、技術(shù)和方法來開發(fā)與維護(hù)軟件。,軟件工程的目標(biāo)是實(shí)現(xiàn)軟件的優(yōu)質(zhì)高產(chǎn)。,6,軟件工程陸惠恩主編,1.2,軟件工程,1.2.2,軟件工程學(xué)的內(nèi)容,軟件工程學(xué)的內(nèi)容為軟件開發(fā)技術(shù)和軟件工程管理。,軟件開發(fā)技術(shù)包含軟件工程方法學(xué)、軟件工具和軟件工程環(huán)境。,軟件工程管理學(xué)包含軟件工程經(jīng)濟(jì)學(xué)和軟件管理學(xué)。,1.,軟件工程方法學(xué),三個(gè)要素:方法,工具,過程。,2.,軟件工具,3.,軟件工程環(huán)境:是方法和工具的結(jié)合。,“軟件開發(fā)環(huán)境是相關(guān)的一組軟件工具集合,它支持一定的軟件開發(fā)方法或按照一定的軟件開發(fā)模型組織而成”。,計(jì)算機(jī)輔助軟件工程,(Computer Aided Software Engineering
5、,,,CASE),是一組工具和方法的集合,可以輔助軟件生命周期各階段進(jìn)行軟件開發(fā)活動(dòng)。,7,軟件工程陸惠恩主編,1.2.2,軟件工程學(xué)的內(nèi)容,4.,軟件工程管理,目的是為了能按預(yù)定的時(shí)間和費(fèi)用,成功地生產(chǎn)軟件產(chǎn)品。,內(nèi)容:費(fèi)用管理、,人,員組織、工程計(jì)劃管理、軟件配置管理。,軟件工程各階段所產(chǎn)生的全部文檔和軟件本身構(gòu)成軟件配置。,5,、,軟件過程是“把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)”。,軟件過程是軟件工程方法學(xué)的三個(gè)要素(方法、工具和過程)之一。,1.2.3,軟件工程基本原理,用分階段的生命周期計(jì)劃進(jìn)行嚴(yán)格的管理;,堅(jiān)持進(jìn)行階段評審;,實(shí)行嚴(yán)格的產(chǎn)品控制;,采用現(xiàn)代程序設(shè)計(jì)技術(shù);,軟
6、件工程結(jié)果應(yīng)能清楚地審查;,開發(fā)小組的人員應(yīng)該少而精;,承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。,8,軟件工程陸惠恩主編,1.3,軟件生命周期,1.,軟件生命周期定義,從設(shè)計(jì)軟件產(chǎn)品開始到產(chǎn)品不能使用為止的時(shí)間周期。,軟件生命周期中,軟件開發(fā)與維護(hù)時(shí)的費(fèi)用越低,軟件的使用壽命越長,產(chǎn)生的價(jià)值就越大,這就是掌握軟件工程學(xué)的目的。,2.,軟件生命周期劃分的原則,3.,軟件生命周期的階段劃分,由軟件計(jì)劃、軟件開發(fā)和軟件運(yùn)行維護(hù)三個(gè)時(shí)期組成。,軟件,計(jì)劃,時(shí)期分為問題定義、可行性研究、需求分析三階段。,軟件,開發(fā),時(shí)期分為軟件概要設(shè)計(jì)、軟件詳細(xì)設(shè)計(jì)、軟件實(shí)現(xiàn)、綜合測試等階段。,軟件,運(yùn)行,過程中需要不斷地進(jìn)
7、行,維護(hù),,使軟件持久滿足用戶需要。,9,軟件工程陸惠恩主編,1.4,軟件開發(fā)模型,1.4.1,瀑布模型,(Waterfall Model),10,軟件工程陸惠恩主編,1.4.2,快速原型模型,快速原型模型(,Rapid Prototype Model,)是快速開發(fā)一個(gè)可以運(yùn)行的原型系統(tǒng),,通常有三種類型:,漸增式的原型:也稱增量模型。,用于驗(yàn)證軟件需求的原型。,用于驗(yàn)證設(shè)計(jì)方案的原型。,11,軟件工程陸惠恩主編,1.4.3,增量模型,增量方式包括:,增量開發(fā),增量提交,12,軟件工程陸惠恩主編,1.4.4,噴泉模型,適用于面向?qū)ο蠓椒ā?主張分析和設(shè)計(jì)過程的重疊、不嚴(yán)格區(qū)分。,模塊集成過程:
8、,反復(fù)經(jīng)過分析、設(shè)計(jì)、測試、集成,再分析、設(shè)計(jì)、測試、集成。,13,軟件工程陸惠恩主編,1.4.5,統(tǒng)一過程,(RUP,),RUP,(,Rational Unified Process,)使用,UML,,采用用例驅(qū)動(dòng)和架構(gòu)優(yōu)先的策略,,采用迭代增量建造方法。,通常,,結(jié)構(gòu)化方法可使用瀑布模型、增量模型和螺旋模型進(jìn)行開發(fā);,面向數(shù)據(jù)結(jié)構(gòu)方法可使用瀑布模型、增量模型進(jìn)行開發(fā);,面向?qū)ο蠓椒刹捎每焖僭?、噴泉模型、軟件重用開發(fā)模型(11章)和統(tǒng)一過程,RUP,進(jìn)行開發(fā)。,14,軟件工程陸惠恩主編,第1章小結(jié),文檔,軟件,軟件危機(jī),軟件工程是軟件開發(fā)、運(yùn)行、維護(hù)和引退的系統(tǒng)方法。,軟件工程學(xué)的主要內(nèi)
9、容是軟件開發(fā)技術(shù)和軟件工程管理。,軟件工程過程,軟件生命周期。,軟件生命周期模型(,SW life cycle model),,或稱軟件開發(fā)模型。,瀑布模型:,規(guī)范的、文檔驅(qū)動(dòng)的方法。,快速原型模型:,構(gòu)建原型系統(tǒng)讓用戶試用,獲取用戶真實(shí)需求。,增量模型,:,能在早期向用戶提交部分產(chǎn)品和易于維護(hù),軟件的體系結(jié)構(gòu)必須是開放的。,噴泉模型:,適用于面向?qū)ο蠓椒ā?RUP,:,適用于面向?qū)ο蠓椒?,使?UML,,,采用用例驅(qū)動(dòng)和架構(gòu)優(yōu)先的策略,迭代增量的建造方法。,15,軟件工程陸惠恩主編,習(xí)題1,選擇題答案,9.,A,:(1);,B,:(2);,C,:(4);,D,(3);,E,:(1),10.,A,:;,B,:;,C,:,16,軟件工程陸惠恩主編,