北京理工大學(xué)教學(xué)課件_第1頁(yè)
已閱讀1頁(yè),還剩57頁(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、北京理工大學(xué)教學(xué)課件,軟件工程,課 名:軟件工程,參考教材:1、張海藩,軟件工程導(dǎo)論(第5版),清華大學(xué)出版社,20082、齊治昌等,軟件工程(第二版),高等教育出版社,20063、鄭人杰等,軟件工程概論,機(jī)械工業(yè)出版社,2010教學(xué)方式:授課+實(shí)驗(yàn)課時(shí): 40,教學(xué)目的和要求:,(1) 掌握軟件工程的基本概念(2)學(xué)會(huì)軟件工程項(xiàng)目開(kāi)發(fā)過(guò)程的分析、設(shè) 計(jì)、編碼要求以及測(cè)試、維護(hù)的基本策

2、 略和方法(3)了解軟件工程項(xiàng)目管理的基本內(nèi)容和方 法,主要內(nèi)容為:,(1)軟件工程概述: 軟件工程發(fā)展、過(guò)程模型.(2) 軟件工程技術(shù):  軟件工程分析方法、軟件工程系統(tǒng)設(shè)計(jì)方法、軟件測(cè)試技術(shù)(3)軟件維護(hù):軟件的可維性、軟件維護(hù)的任務(wù)及過(guò)程、  軟件維護(hù)的副作用(4) 軟件項(xiàng)目管理技術(shù): 軟件項(xiàng)目管理的基本概念、項(xiàng)目計(jì)劃、 風(fēng)險(xiǎn)分析、軟件質(zhì)量保證、軟件配置管理,第一章,軟件工程

3、概述,第一章 軟件工程概述的內(nèi)容,1.1 引言 1.2  軟件基本概念、分類、特點(diǎn)1.3 軟件工程的發(fā)展過(guò)程  1.4 軟件工程的活動(dòng) 1.5  軟件過(guò)程模型 1.6  Rational統(tǒng)一過(guò)程模型,1.1 引 言,為什么要講軟件和軟件工程? 唯有對(duì)軟件和軟件的開(kāi)發(fā)過(guò)程,有充分的認(rèn)識(shí),才能更好的開(kāi)發(fā)出過(guò)程受控、質(zhì)量受控的軟件產(chǎn)品。 對(duì)于軟件和軟件工程

4、的認(rèn)識(shí)是困難的,但軟件開(kāi)發(fā)過(guò)程又存在很多困惑,需要對(duì)此有正確的、深刻的認(rèn)識(shí)。,1.1 引 言,軟件不僅僅是在計(jì)算機(jī)運(yùn)行的程序任何預(yù)先定義好的程序步驟的地方,都有軟件的身影軟件的應(yīng)用領(lǐng)域系統(tǒng)軟件實(shí)時(shí)軟件商業(yè)軟件工程和科學(xué)計(jì)算軟件嵌入式軟件個(gè)人計(jì)算機(jī)軟件基于Web的軟件(網(wǎng)站)人工智能軟件,1.2.1 軟件,1.2軟件基本概念、分類、特點(diǎn),軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一 部分,包括程序、數(shù)據(jù)及相關(guān)文檔的完整

5、集合。,,,,,三要素,程序:按事先設(shè)計(jì)的功能、性能要求執(zhí)行的指令 (語(yǔ)句)序列;,數(shù)據(jù):使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);,文檔:與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文資料。,可執(zhí)行的,,計(jì)算機(jī)軟件定義(GB) 與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。,其中:I=(i1,i2,… ,in) 輸入集合。Ij表示一個(gè)抽象的輸入數(shù)據(jù)類型 O=(O1,O2,…,On)

6、 輸出集合。Oj表示一個(gè)抽象的輸出數(shù)據(jù)類型E=(e1,e2,…,en) 構(gòu)成集合。ei表示一個(gè)子系統(tǒng)或一個(gè)構(gòu)件R=(r1,r2,…,rn) 構(gòu)件關(guān)系集合.ri表示一個(gè)關(guān)系。,軟件表示 S = ( I, O, E, R ),1.2.2 軟件的特點(diǎn),1. 是邏輯實(shí)體,非物理實(shí)體,具抽象性;2. 沒(méi)有明顯的制作過(guò)程;3. 運(yùn)行、使用期間不存在磨損、老化;4. 軟件的開(kāi)發(fā)、運(yùn)行受計(jì)算機(jī)系統(tǒng)的限制;復(fù)雜性高

7、,成本昂貴。涉及社會(huì)因素。,1.2.3 軟件分類,軟件從設(shè)計(jì)、實(shí)現(xiàn)、維護(hù)和傳統(tǒng)工程有相同的基礎(chǔ),2. 基于軟件工作方式:* 實(shí)時(shí)處理* 分時(shí)處理* 交互處理* 批處理,1. 基于軟件大的功能框架: * 系統(tǒng)軟件 * 支撐(工具)軟件 * 應(yīng)用軟件,管理者的錯(cuò)誤觀點(diǎn):我們已經(jīng)有標(biāo)準(zhǔn)和規(guī)程了我們已經(jīng)有好的開(kāi)發(fā)平臺(tái)和工具了我們可以在開(kāi)發(fā)進(jìn)度得不到保障時(shí),可增加開(kāi)發(fā)人員我們可以外包

8、一部分項(xiàng)目,緩解項(xiàng)目的壓力,用戶的錯(cuò)誤觀點(diǎn):因?yàn)橹理?xiàng)目的目標(biāo),可先編程序。不考慮項(xiàng)目將來(lái)怎樣,以后要變改就行了,開(kāi)發(fā)者的錯(cuò)誤觀點(diǎn):編完程序就大功告成程序未運(yùn)行前,沒(méi)有質(zhì)量問(wèn)題最后項(xiàng)目完成只提交程序軟件工程,就是寫文檔,增加開(kāi)發(fā)成本,1軟件開(kāi)發(fā)的錯(cuò)誤觀點(diǎn),開(kāi)發(fā)者,管理者,用戶,1.2.4 軟件開(kāi)發(fā)技術(shù)面臨的問(wèn)題,1.2.5 軟件危機(jī),概括地說(shuō),軟件危機(jī)包含下述兩個(gè)方面的問(wèn)題:如何開(kāi)發(fā)軟件,以滿足對(duì)軟件日益增長(zhǎng)的需求;如何

9、維護(hù)數(shù)量不斷膨脹的已有軟件。在軟件開(kāi)發(fā)和維護(hù)的過(guò)程中存在這么多嚴(yán)重問(wèn)題,一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟件開(kāi)發(fā)與維護(hù)的方法不正確有關(guān)。,1.2.6.軟件危機(jī)的主要特點(diǎn),軟件開(kāi)發(fā)周期大大超過(guò)規(guī)定日期;軟件系統(tǒng)開(kāi)發(fā)成本高,周期長(zhǎng),質(zhì)量差,滿足不了市場(chǎng)需求; 軟件質(zhì)量無(wú)保證軟件系統(tǒng)開(kāi)發(fā)人員數(shù)量少,質(zhì)量低.軟件系統(tǒng)維護(hù)難度大.軟件開(kāi)發(fā)缺乏合適的工具和方法軟件的版權(quán)問(wèn)題得不到保證,1.2.7 yet, Success Ha

10、sn?t Come Easily,31%,53%,,成功,爭(zhēng)議,失敗,,,16%,成功的標(biāo)準(zhǔn):,用戶在使用用戶使用軟件很容易做完要做的事,開(kāi)發(fā)人員寫出的軟件達(dá)不到用戶要求: 人的能力問(wèn)題. 當(dāng)前技術(shù)發(fā)展問(wèn)題 系統(tǒng)平臺(tái)問(wèn)題,失敗的根本原因,1.3 軟件工程的發(fā)展,1.3.1 軟件的發(fā)展,在軟件危機(jī)形式下,軟件工程誕生了,1968年在北大西洋公約組織(NATO)的德國(guó)開(kāi)的學(xué)術(shù)會(huì)議上,軟件工程術(shù)語(yǔ)首次提出,1.3.

11、2 軟件生命周期(Software Life Cycle),軟件產(chǎn)品或軟件系統(tǒng)從設(shè)計(jì)、投入使用到被淘汰的全過(guò)程,1.3.3 硬件、軟件生命周期的比較,,,,,,,,,,,,,硬件故障率曲線,軟件實(shí)際故障率曲線,生命初期,,磨損后,,理想曲線,,實(shí)際曲線,由于副作用造成的故障率提高,,修改,,故障率,故障率,時(shí)間,時(shí)間,改正一個(gè)問(wèn)題需付出的代價(jià),,需求分析,結(jié)構(gòu)設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,集成測(cè)試,系統(tǒng)測(cè)試,現(xiàn)場(chǎng),改正一個(gè)問(wèn)題的估計(jì)

12、費(fèi)用,改正一個(gè)問(wèn)題估計(jì)的工作量,20,200,2000,1000,5.0,2.5,0.05,0.5,(美元),(人天),,,,,,,,,,,,,1.4 軟件工程的定義,1 IEEE93對(duì)軟件工程定義: 軟件工程是(1)將系統(tǒng)化的、嚴(yán)格約束的、可量化的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)。即將工程化應(yīng)用于軟件。(2)在(1)中所述方法的研究,IEEE:美國(guó)電氣和電子工程師學(xué)會(huì):(Institute of Ele

13、ctrical and Electronics Engineers)學(xué)會(huì)設(shè)各種專門技術(shù)分會(huì),軟件標(biāo)準(zhǔn)分技術(shù)委員會(huì)為SESS,2 定義給的四個(gè)要點(diǎn):軟件工程方法和性質(zhì)----系統(tǒng)化、嚴(yán)格約束、可量化的方法軟件工程方法的作用和范圍-----軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)軟件工程方法的目標(biāo)----即將工程化應(yīng)用于軟件軟件工程方法的趨勢(shì)-----方法的研究,在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用

14、性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿 足用戶需求的產(chǎn)品 。,3 軟件工程的目標(biāo),技術(shù)的觀點(diǎn):包括:軟件項(xiàng)目的分析、設(shè)計(jì)、編碼、測(cè)試、維護(hù)等技術(shù)方法。按軟件技術(shù)理論,以高效、健壯、可復(fù)用、可維護(hù)為目的,研究軟件體系結(jié)構(gòu)、組成以及構(gòu)造方式、等,工程的觀點(diǎn):包括:軟件項(xiàng)目招標(biāo)、合同、實(shí)施、監(jiān)督、驗(yàn)收推廣等。以經(jīng)濟(jì)管理科學(xué)為依據(jù),研究軟件工程的規(guī)劃策略和經(jīng)濟(jì)收益等工程問(wèn)題,管理的觀點(diǎn):包括:軟件項(xiàng)目開(kāi)發(fā)人員組織控制、進(jìn)度風(fēng)險(xiǎn)分

15、析和質(zhì)量保證體系等方面。以科學(xué)性、高效可行及可測(cè)量性為目標(biāo)來(lái)研究工程項(xiàng)目管理,,,,4 軟件工程的三視圖,,,5 軟件工程基本原理,1、用分階段的生命周期計(jì)劃嚴(yán)格管理2、堅(jiān)持進(jìn)行階段評(píng)審3、實(shí)行嚴(yán)格的產(chǎn)品控制4、采用現(xiàn)代程序設(shè)計(jì)技術(shù)5、結(jié)果應(yīng)能清楚地審查6、開(kāi)發(fā)小組的人員應(yīng)該少而精7、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性,軟件工程的基本思想生命周期的觀點(diǎn)重視文檔的作用自上而下和逐步細(xì)化的思想模塊化的思想反復(fù)迭代

16、的思想注意編程風(fēng)格,1.5 軟件過(guò)程模型,軟件工程學(xué)的基礎(chǔ)是軟件過(guò)程軟件過(guò)程貫穿于軟件生命周期中軟件工程學(xué)中的方法用于軟件過(guò)程的各階段的各項(xiàng)活動(dòng)中,1 軟件過(guò)程定義,,,,,工具,方法,過(guò)程,質(zhì)量焦點(diǎn),Software engineering layers,質(zhì)量焦點(diǎn):支持軟件工程的根基就在于對(duì)質(zhì)量的關(guān)注。過(guò)程:軟件工程的過(guò)程將技術(shù)層結(jié)合在一起,使計(jì)算機(jī)軟件合理和及時(shí)開(kāi)發(fā)出來(lái)。方法:涵蓋一系列的任務(wù):需求分析、設(shè)計(jì)、編

17、程、測(cè)試和維護(hù)。工具:對(duì)過(guò)程、方法提供自動(dòng)或半自動(dòng)的支持。例CASE集成軟件、硬件或一個(gè)軟件工程數(shù)據(jù)庫(kù)。,根據(jù)不同的項(xiàng)目來(lái)定義貫穿于軟件生命周期之中的一組關(guān)鍵活動(dòng)區(qū)域。也稱過(guò)程模型,2 軟件過(guò)程的位置和作用,3. 瀑布模型 (線形順序模型),可行性研究與計(jì)劃,需求分析,設(shè)計(jì),編碼,運(yùn)行維護(hù),測(cè)試,,,,,,,,,,,,,,,定義階段,,,開(kāi)發(fā)階段,,,維護(hù)階段,,開(kāi)發(fā)軟件的特點(diǎn):過(guò)程具有順序性和依賴性不適應(yīng)需求不確定的項(xiàng)目

18、錯(cuò)誤最后才發(fā)現(xiàn)開(kāi)始進(jìn)程呈阻塞情況,,承接上一項(xiàng)活動(dòng)中接收本項(xiàng)活動(dòng)所需的對(duì)象作為輸入 利用輸入進(jìn)行本項(xiàng)活動(dòng)。 把本項(xiàng)的活動(dòng)成果傳送下一項(xiàng) 對(duì)本項(xiàng)工作進(jìn)行評(píng)審,若評(píng)審正確才能進(jìn)行下一項(xiàng)工作,確定:系統(tǒng)功能系統(tǒng)性能,設(shè)計(jì):數(shù)據(jù)結(jié)構(gòu)體系結(jié)構(gòu)接口算法,開(kāi)發(fā)軟件的原則,分析:系統(tǒng)需求軟件需求,4 原型模型,,,,,聽(tīng)取用戶意見(jiàn),建造/修改原型,用戶測(cè)試運(yùn)行原型,原型模型帶來(lái)的問(wèn)題:原型時(shí)期的質(zhì)量問(wèn)題用戶如何理

19、解進(jìn)度先入為主的非最佳方式,,不適合原型開(kāi)發(fā)的領(lǐng)域: 實(shí)時(shí)控制軟件 數(shù)值計(jì)算軟件,原型產(chǎn)生的步驟,需求分析和定義規(guī)格 軟件設(shè)計(jì)的一種工具 解決不確定性的工具 一種實(shí)驗(yàn)工具 開(kāi)發(fā)同時(shí),作為同步培訓(xùn)工具原型演化為最終系統(tǒng)軟件維護(hù)的輔助工具,應(yīng)用領(lǐng)域,需求,,設(shè)計(jì),,,編碼,,測(cè)試,,集成,,運(yùn)行、試用,,,,核心系統(tǒng)開(kāi)發(fā),,,設(shè)計(jì),需求,,編碼,,測(cè)試,,集成,,運(yùn)行、試用,,,,第二次迭代,,,,,反饋,

20、反饋,,5 演化(迭代)模型,需要足夠的人力資源用戶和設(shè)計(jì)都成為關(guān)鍵適用于MIS形式的系統(tǒng),開(kāi)發(fā)過(guò)程(1) 根據(jù)用戶要求開(kāi)發(fā)出核心系統(tǒng)(2)用戶試用后,提出精化系統(tǒng)、增強(qiáng)系統(tǒng)能力的需求,開(kāi)發(fā)人員實(shí)施開(kāi)發(fā)的迭代過(guò)程,6 增量模型(遞增模型、增殖模型),先完成一個(gè)系統(tǒng)子集的開(kāi)發(fā),再按同樣的開(kāi)發(fā)步驟增加功能 (系統(tǒng)子集),如此遞增下去直至滿足全部系統(tǒng)需求。 系統(tǒng)的總體設(shè)計(jì)在初始子集設(shè)計(jì)階段就應(yīng)作出設(shè)想。,,分析,增量模型,,設(shè)計(jì),,編

21、碼,,測(cè)試,,,,,分析,,設(shè)計(jì),,編碼,,測(cè)試,,,,,分析,,設(shè)計(jì),,編碼,,測(cè)試,,,,,分析,,設(shè)計(jì),,編碼,,測(cè)試,,,,增量1,增量2,增量3,增量4,,,交付的增量1,交付的增量2,交付的增量3,交付的增量4,日歷時(shí)間,7.螺旋模型,瀑布模型和增量模型相結(jié)合,增加風(fēng)險(xiǎn)分析 用來(lái)指導(dǎo)大型軟件項(xiàng)目的開(kāi)發(fā) 將開(kāi)發(fā)劃分為制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶評(píng)估四類活動(dòng) 沿螺旋線每轉(zhuǎn)一圈,表示開(kāi)發(fā)出一個(gè)

22、更完善的新的軟件版本,,要點(diǎn):相似于增量模型,是順序模型與原型過(guò)程的統(tǒng)一,強(qiáng)調(diào)版本的升級(jí)。,活動(dòng)化分不同更強(qiáng)調(diào):計(jì)劃、風(fēng)險(xiǎn)分析、用戶評(píng)估,與增量模型的區(qū)別:,8. 噴泉模型,,演化,,,,分析,,,,設(shè)計(jì),,,,實(shí)現(xiàn),,,,確認(rèn),,,,維護(hù),,,,,1990年B.H.Sollers和J.M.Edwards提出主要用于采用面向?qū)ο蠹夹g(shù)的項(xiàng)目噴泉體現(xiàn)迭代和無(wú)間隙的特征軟件的某些部分常常被重復(fù)工作多次,相關(guān)對(duì)象在每次迭代中隨之加入漸進(jìn)

23、的軟件成分在分析、設(shè)計(jì)、實(shí)現(xiàn)等各項(xiàng)活動(dòng)之間無(wú)明顯邊界,9.構(gòu)件集成模型,構(gòu)件庫(kù),問(wèn)題域,識(shí)別構(gòu)件,查找構(gòu)件,,生成構(gòu)件,,,,組裝系統(tǒng),,查到構(gòu)件,未查到構(gòu)件,模型要點(diǎn):? 基于軟件復(fù)用性? 形成統(tǒng)一開(kāi)發(fā)過(guò)程? 采用統(tǒng)一建模語(yǔ)言,35,基本需求,螺旋,螺旋模型第n次迭代,原型,建造原型第n次迭代,維護(hù),運(yùn)行系統(tǒng),需求分析,設(shè)計(jì),編碼,測(cè)試,,,,,,,,,,,,,,1,3,2,5,7,8,6,14,9,4,,,,,,,4GT

24、,,,4GT,,,,,,,,4GT,,,10,11,12,13,組合模型,要點(diǎn):幾種模型配合使用以一種模型為主,嵌入其它模型由開(kāi)發(fā)者選擇開(kāi)發(fā)路徑,?已經(jīng)有先例的項(xiàng)目 ?問(wèn)題明確且時(shí)間緊的項(xiàng)目 ?規(guī)模較大且時(shí)間緊的項(xiàng)目 ?需求不確定的項(xiàng)目 ?帶有突破性技術(shù)的項(xiàng)目 ?客戶難以溝通和理解的項(xiàng)目 ?明顯復(fù)用潛

25、力的項(xiàng)目,項(xiàng)目適應(yīng)模型的規(guī)律(一般情況),,,項(xiàng)目情況,適用模型,瀑布模型增量模型演化模型原型模型螺旋模型原型模型構(gòu)件模型,37,Rational統(tǒng)一過(guò)程RUP,RUP是由IBM公司開(kāi)發(fā)和維護(hù)的過(guò)程產(chǎn)品它提供了在開(kāi)發(fā)機(jī)構(gòu)中分派任務(wù)和責(zé)任的方法它的目的是在可以預(yù)見(jiàn)的日程和預(yù)算前提下確保滿足最終用戶需求的高質(zhì)量軟件的產(chǎn)生,RUP的優(yōu)越性,提高了團(tuán)隊(duì)的生產(chǎn)力創(chuàng)建并維護(hù)模型為如何有效地使用UML提供了指導(dǎo)是一個(gè)可配置的過(guò)程

26、吸收了許多在商業(yè)上得到證明的軟件開(kāi)發(fā)的最佳實(shí)踐經(jīng)驗(yàn),RUP所吸收的最佳工程實(shí)踐經(jīng)驗(yàn),迭代地開(kāi)發(fā)軟件需求管理使用基于組件的體系結(jié)構(gòu)可視化的軟件建模驗(yàn)證軟件質(zhì)量控制軟件的變化,RUP的二維結(jié)構(gòu),軟件工程方法學(xué) 通常把在軟件生命周期全過(guò)程中使用的一整套技術(shù)的集合稱為方法學(xué)(methodology),也稱為范型(paradigm)。軟件工程方法學(xué)包括三個(gè)要素,這就是方法、工具和過(guò)程。目前使用得最廣泛的軟件工程方法學(xué),分別是傳

27、統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。,43,結(jié)構(gòu)化方法 PK 面向?qū)ο蠓椒?,,44,結(jié)構(gòu)化方法 PK 面向?qū)ο蠓椒?傳統(tǒng)的結(jié)構(gòu)化開(kāi)發(fā)方法是以功能分析和數(shù)據(jù)分析為基礎(chǔ),采用分解和抽象的方法找出軟件功能模塊及其之間的連接關(guān)系,并找出數(shù)據(jù)的表或視圖以及它們之間的關(guān)聯(lián)。但是,該方法使得人們對(duì)現(xiàn)實(shí)世界的認(rèn)識(shí)與編程之間存在理解上的鴻溝,整個(gè)系統(tǒng)的變動(dòng)和修改十分困難,不便于軟件重用,并且難以適應(yīng)以突出控制特性的系統(tǒng)要求。,,45,結(jié)構(gòu)化方法 PK 面向?qū)ο?/p>

28、方法,,面向?qū)ο蠓椒ㄊ菑默F(xiàn)實(shí)世界中客觀存在的事物(即對(duì)象)出發(fā),盡可能地運(yùn)用人類的自然思維方式來(lái)構(gòu)造軟件系統(tǒng)。它運(yùn)用人類在日常的邏輯思維中經(jīng)常采用的思想方法與原則,例如抽象、分類、繼承、聚合、封裝等,將其貫穿于整個(gè)分析和設(shè)計(jì)過(guò)程,實(shí)現(xiàn)了客觀世界到計(jì)算機(jī)系統(tǒng)的平滑過(guò)渡,容易為人們所理解,并使得軟件的復(fù)用在面向?qū)ο蟮脑O(shè)計(jì)中成了自然而然的事情。,46,什么是CASE,CASE( Computer Aided Software Enginee

29、ring)計(jì)算機(jī)輔助軟件工程是一組工具和方法的集合,用于輔助軟件開(kāi)發(fā)、維護(hù)、管理過(guò)程中的各項(xiàng)活動(dòng),促進(jìn)軟件過(guò)程的工程化和自動(dòng)化所有軟件工程方法都需要CASE的相應(yīng)技術(shù)支持用于系統(tǒng)模型的圖形編輯器管理設(shè)計(jì)實(shí)體的數(shù)據(jù)字典生成用戶界面的GUI軟件支持程序糾錯(cuò)的調(diào)試器代碼生成器…,47,CASE 工具,IBM Rational公司產(chǎn)品(http://www.rational.com)開(kāi)發(fā)管理軟件過(guò)程: RUP需求管理:

30、 Requisite Pro 可視化建模: Rose自動(dòng)測(cè)試: Robot, Test Realtime, TestManager, XDE Tester項(xiàng)目管理: ProjectConsole配置管理: ClearCase, ClearQuest開(kāi)源CASE工具: (http://so

31、urceforget.net )CVS: 應(yīng)用廣泛的版本管理工具UML Modeler:UML模型圖形編輯工具UML2EJB: 將XML表示的UML模型轉(zhuǎn)換成EJB代碼的轉(zhuǎn)換器,48,進(jìn)一步說(shuō)明,,49,軟件工程面臨的挑戰(zhàn),遺留系統(tǒng)的問(wèn)題遺留系統(tǒng)是指那些過(guò)時(shí)或存在問(wèn)題的計(jì)算機(jī)系統(tǒng),通常是許多年以前開(kāi)發(fā)的挑戰(zhàn):既要以合理的成本維護(hù)和更新系統(tǒng),又要能夠繼承系統(tǒng)中重要的商業(yè)信息和服務(wù)異構(gòu)系統(tǒng)

32、的問(wèn)題網(wǎng)絡(luò)環(huán)境下包含不同的硬件平臺(tái)和軟件系統(tǒng)挑戰(zhàn):需要提出新的開(kāi)發(fā)技術(shù),能夠使所開(kāi)發(fā)的軟件系統(tǒng)運(yùn)行在不同的硬件平臺(tái)和系統(tǒng)環(huán)境下,50,軟件工程面臨的挑戰(zhàn),高可信軟件開(kāi)發(fā)的要求軟件的重要作用要求正確性、可靠性、安全性等可信性質(zhì)挑戰(zhàn):如何在軟件的開(kāi)發(fā)和運(yùn)行中保證其具有高可信的性質(zhì)軟件開(kāi)發(fā)方式的變化網(wǎng)絡(luò)時(shí)代帶來(lái)的沖擊挑戰(zhàn):研究分布式的軟件體系結(jié)構(gòu)和開(kāi)發(fā)模式,探索與之相適應(yīng)的軟件工程策略,51,軟件工程知識(shí)體系,軟件工程知識(shí)體系(

33、SWEBOK)IEEE計(jì)算機(jī)學(xué)會(huì)發(fā)起研究,從而促進(jìn)軟件工程發(fā)展成為獨(dú)立的專業(yè)學(xué)科2001年5月完成,發(fā)布“SWEBOK指南V1.00 (試用版)”SWEBOK的組成將軟件工程知識(shí)分解成若干知識(shí)域,形成層次化的組成結(jié)構(gòu)10個(gè)知識(shí)域軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試、軟件維護(hù)軟件配置管理、軟件工程管理、軟件工程過(guò)程、軟件工程工具與方法、軟件質(zhì)量,52,,,53,軟件工程及其相關(guān)學(xué)科,軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、 數(shù)學(xué)與

34、管理科學(xué)等基本原理, 開(kāi)發(fā)軟件的工程。它借鑒傳 統(tǒng)工程的原則和方法,以提 高質(zhì)量,降低成本為目的計(jì)算機(jī)科學(xué)和數(shù)學(xué)用于構(gòu)造 軟件的模型與算法;工程科 學(xué)用于制定規(guī)范、設(shè)計(jì)范型、 評(píng)估成本及確定權(quán)衡;管理 科學(xué)用于計(jì)劃、資源、質(zhì)量、 成本等管理,54,軟件工程與計(jì)算機(jī)科學(xué),軟件工程與計(jì)算機(jī)科學(xué)的區(qū)別計(jì)算機(jī)科學(xué)研究構(gòu)成計(jì)算機(jī)和軟件系統(tǒng)基礎(chǔ)的有關(guān)理論和方法舉例:數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、算法分

35、析等軟件工程研究開(kāi)發(fā)和發(fā)布軟件的實(shí)際問(wèn)題舉例:飛行控制軟件軟件工程的研究與實(shí)踐包括兩方面,一是扎根于計(jì)算機(jī)科學(xué),二是表現(xiàn)為一種工程學(xué)科,55,思考與討論,以下系統(tǒng)適合采用什么樣的軟件過(guò)程模型?為什么?在一種新型機(jī)器上,為一種已知語(yǔ)言開(kāi)發(fā)一個(gè)普通的編譯器,瀑布模型該項(xiàng)目的語(yǔ)言是已知的,需求是明確的和穩(wěn)定的,整個(gè)系統(tǒng)屬于中小規(guī)模,因此適合采用瀑布模型進(jìn)行軟件開(kāi)發(fā),56,案例分析,大學(xué)教務(wù)管理系統(tǒng),準(zhǔn)備替換現(xiàn)有的系統(tǒng),增量模型從

36、該系統(tǒng)的具體情況來(lái)看,系統(tǒng)的需求是比較容易明確的,整個(gè)系統(tǒng)的結(jié)構(gòu)需要重新設(shè)計(jì),但是原有的遺留系統(tǒng)中有些部分是可以重用的,因此我們可以采用增量模型實(shí)施軟件開(kāi)發(fā),57,案例分析,快速原型模型本項(xiàng)目的主要問(wèn)題在于用戶需要方面,該系統(tǒng)與最終用戶的交互是十分關(guān)鍵的,但是在項(xiàng)目初期用戶的需求基本上是不知道的,因此適合采用快速原型方法來(lái)確定用戶需求,在需求確定的基礎(chǔ)上再開(kāi)發(fā)最終系統(tǒng),大學(xué)校園的虛擬漫游系統(tǒng),這是該大學(xué)首次使用該系統(tǒng),小結(jié),軟件、軟件

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論