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