第1章[2]-軟件工程學(xué)范疇_第1頁(yè)
第1章[2]-軟件工程學(xué)范疇_第2頁(yè)
第1章[2]-軟件工程學(xué)范疇_第3頁(yè)
第1章[2]-軟件工程學(xué)范疇_第4頁(yè)
第1章[2]-軟件工程學(xué)范疇_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 1968 1968年北大西洋公約組織年北大西洋公約組織(NATO)(NATO)在聯(lián)邦德國(guó)召開(kāi)的一次會(huì)議在聯(lián)邦德國(guó)召開(kāi)的一次會(huì)議上上Fritz Bauer首次提出首次提出“軟件工程軟件工程”的概念,的概念,試圖將工程化方法試圖將工程化方法應(yīng)用于軟件開(kāi)發(fā)。應(yīng)用于軟件開(kāi)發(fā)。它反映了軟件人員認(rèn)識(shí)到軟件危機(jī)的出現(xiàn)以及它反映了軟件人員認(rèn)識(shí)到軟件危機(jī)的出現(xiàn)以及為謀求解決這一危機(jī)的一種努力。為謀求解決這一危機(jī)的一種努力。 其其中心思想中心思想就是把軟件當(dāng)作一種工業(yè)產(chǎn)品,要求就是把軟件當(dāng)作一種工業(yè)產(chǎn)品,要求“采用工程采用工程化的原理與方法對(duì)軟件進(jìn)行計(jì)劃、開(kāi)發(fā)和維護(hù)化的原理與方法對(duì)軟件進(jìn)行計(jì)劃、開(kāi)發(fā)和維護(hù)”。

2、1.2 1.2 軟件工程學(xué)軟件工程學(xué)2一、定義一、定義n 在在NATONATO會(huì)議上,會(huì)議上,F(xiàn)ritz Bauer對(duì)軟件工程的定義是:對(duì)軟件工程的定義是: “ “軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理。地運(yùn)行的軟件,而建立和使用完善的工程原理?!?n 19931993年年IEEEIEEE給出的定義:給出的定義: “ “軟件工程是:軟件工程是: 把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開(kāi)發(fā)、運(yùn)行和維護(hù)過(guò)程,也就是把工程應(yīng)用于軟件;件開(kāi)發(fā)、運(yùn)行和維護(hù)過(guò)程

3、,也就是把工程應(yīng)用于軟件; 研究研究中提到的途徑。中提到的途徑?!?總之總之n 軟件工程軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的一門(mén)工程學(xué)科。是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的一門(mén)工程學(xué)科。n 采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)和維護(hù)軟件,把經(jīng)采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)和維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理方法和當(dāng)前能夠得到的最好技術(shù)結(jié)過(guò)時(shí)間考驗(yàn)而證明正確的管理方法和當(dāng)前能夠得到的最好技術(shù)結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。4二、軟件工程的目標(biāo)二、軟件工程的目標(biāo) 運(yùn)用先進(jìn)的軟件開(kāi)發(fā)技術(shù)和管理方法來(lái)提高軟件的運(yùn)用先進(jìn)的軟

4、件開(kāi)發(fā)技術(shù)和管理方法來(lái)提高軟件的質(zhì)量質(zhì)量和和生生產(chǎn)率產(chǎn)率,以較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并,以較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。 5n 生產(chǎn)率與成本密切相關(guān)生產(chǎn)率與成本密切相關(guān) 生產(chǎn)率的提高往往意味著開(kāi)發(fā)周期的縮短,成本下降。生產(chǎn)率的提高往往意味著開(kāi)發(fā)周期的縮短,成本下降。n 生產(chǎn)率與質(zhì)量之間也有著內(nèi)在的聯(lián)系生產(chǎn)率與質(zhì)量之間也有著內(nèi)在的聯(lián)系 表面上看,追求高質(zhì)量會(huì)延長(zhǎng)軟件開(kāi)發(fā)時(shí)間,并因此增加了表面上看,追求高質(zhì)量會(huì)延長(zhǎng)軟件開(kāi)發(fā)時(shí)間,并因此增加了成本,似乎降低了生產(chǎn)率。但如果生產(chǎn)的軟件質(zhì)量差,雖然開(kāi)發(fā)成本,似乎降

5、低了生產(chǎn)率。但如果生產(chǎn)的軟件質(zhì)量差,雖然開(kāi)發(fā)的時(shí)間可能縮短,但之后可能會(huì)造成返工,總的開(kāi)發(fā)時(shí)間可能會(huì)的時(shí)間可能縮短,但之后可能會(huì)造成返工,總的開(kāi)發(fā)時(shí)間可能會(huì)更長(zhǎng)。即使不返工,也無(wú)疑會(huì)增加維護(hù)代價(jià)。更長(zhǎng)。即使不返工,也無(wú)疑會(huì)增加維護(hù)代價(jià)。6三、軟件工程三要素三、軟件工程三要素 軟件工程是一種層次化的技術(shù),其中過(guò)程、方法和工具是軟件軟件工程是一種層次化的技術(shù),其中過(guò)程、方法和工具是軟件工程的三個(gè)要素。工程的三個(gè)要素。n 軟件工程軟件工程方法方法為軟件開(kāi)發(fā)為軟件開(kāi)發(fā)提供了提供了 “ “如何做如何做” ” 的技術(shù);的技術(shù);n 軟件軟件工具工具為軟件工程方法提為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支供

6、了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境;撐環(huán)境;n 過(guò)程過(guò)程是為了獲得高質(zhì)量的軟是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。7四、軟件工程學(xué)的范疇四、軟件工程學(xué)的范疇1. 軟件開(kāi)發(fā)技術(shù)軟件開(kāi)發(fā)技術(shù)軟件開(kāi)發(fā)方法學(xué)軟件開(kāi)發(fā)方法學(xué)軟件工具軟件工具軟件工程環(huán)境軟件工程環(huán)境2. 軟件工程管理軟件工程管理軟件管理學(xué)軟件管理學(xué)軟件經(jīng)濟(jì)學(xué)軟件經(jīng)濟(jì)學(xué)軟件度量學(xué)軟件度量學(xué)81. 軟件開(kāi)發(fā)方法學(xué)軟件開(kāi)發(fā)方法學(xué) 軟件方法學(xué)是指組織軟件生產(chǎn)過(guò)程的一系列方法、技術(shù)和規(guī)軟件方法學(xué)是指組織軟件生產(chǎn)過(guò)程的一系列方法、技術(shù)和規(guī)范。通常將軟

7、件開(kāi)發(fā)全過(guò)程中使用的一整套技術(shù)方法的集合稱(chēng)為范。通常將軟件開(kāi)發(fā)全過(guò)程中使用的一整套技術(shù)方法的集合稱(chēng)為方法學(xué)方法學(xué)( (methedology) ),也稱(chēng)為,也稱(chēng)為范型范型( (paradigm) )。 目前使用最廣泛的軟件工程方法學(xué):傳統(tǒng)方法(結(jié)構(gòu)化方法)目前使用最廣泛的軟件工程方法學(xué):傳統(tǒng)方法(結(jié)構(gòu)化方法)和面向?qū)ο蠓椒ā:兔嫦驅(qū)ο蠓椒ā?(1) 結(jié)構(gòu)化方法結(jié)構(gòu)化方法 也稱(chēng)為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生命周期的全也稱(chēng)為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,采用結(jié)構(gòu)化技術(shù)來(lái)完成每個(gè)階段的過(guò)程依次劃分為若干個(gè)階段,采用結(jié)構(gòu)化技術(shù)來(lái)完成每個(gè)階段的任務(wù)。任務(wù)

8、。 特點(diǎn):特點(diǎn):n 強(qiáng)調(diào)自頂向下順序地完成軟件開(kāi)發(fā)的各階段任務(wù);強(qiáng)調(diào)自頂向下順序地完成軟件開(kāi)發(fā)的各階段任務(wù);n 結(jié)構(gòu)化方法要么面向行為,要么面向數(shù)據(jù),缺乏使兩者有機(jī)結(jié)結(jié)構(gòu)化方法要么面向行為,要么面向數(shù)據(jù),缺乏使兩者有機(jī)結(jié)合的機(jī)制。合的機(jī)制。10(2) 面向?qū)ο蠓椒嫦驅(qū)ο蠓椒╪ 把數(shù)據(jù)和行為看的同等重要,將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)把數(shù)據(jù)和行為看的同等重要,將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方法。合起來(lái)的方法。n 軟件開(kāi)發(fā)過(guò)程是多次反復(fù)迭代的演化過(guò)程。軟件開(kāi)發(fā)過(guò)程是多次反復(fù)迭代的演化過(guò)程。n 面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦?,保證了各項(xiàng)開(kāi)發(fā)面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦裕WC了

9、各項(xiàng)開(kāi)發(fā)活動(dòng)之間的平滑過(guò)渡。活動(dòng)之間的平滑過(guò)渡。n 對(duì)于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面向?qū)ο蠓椒ǜ鼘?duì)于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面向?qū)ο蠓椒ǜ袃?yōu)勢(shì)。有優(yōu)勢(shì)。 11(3) 形式化方法形式化方法 形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開(kāi)發(fā)方法,它形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開(kāi)發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)明轉(zhuǎn)換為可執(zhí)行的程序??蓪⑾到y(tǒng)的規(guī)格說(shuō)明轉(zhuǎn)換為可執(zhí)行的程序。 該過(guò)程的具體描述如圖所示。該過(guò)程的具體描述如圖所示。 12形式化方法的主要特點(diǎn):形式化方法的主要特點(diǎn):n 軟件需求規(guī)格說(shuō)明被細(xì)化為用數(shù)學(xué)記號(hào)表達(dá)的詳細(xì)的形式化規(guī)軟件需求規(guī)格說(shuō)明被細(xì)化為用數(shù)學(xué)記號(hào)表達(dá)的詳細(xì)的

10、形式化規(guī)格說(shuō)明;格說(shuō)明;n 設(shè)計(jì)、實(shí)現(xiàn)和單元測(cè)試等開(kāi)發(fā)過(guò)程由一個(gè)變換開(kāi)發(fā)過(guò)程代替。設(shè)計(jì)、實(shí)現(xiàn)和單元測(cè)試等開(kāi)發(fā)過(guò)程由一個(gè)變換開(kāi)發(fā)過(guò)程代替。通過(guò)一系列變換將形式的規(guī)格說(shuō)明細(xì)化成為程序。這種細(xì)化的過(guò)通過(guò)一系列變換將形式的規(guī)格說(shuō)明細(xì)化成為程序。這種細(xì)化的過(guò)程如圖所示。程如圖所示。132.2.軟件工具軟件工具 在軟件開(kāi)發(fā)的整個(gè)過(guò)程中,輔助軟件開(kāi)發(fā)的軟件。在軟件開(kāi)發(fā)的整個(gè)過(guò)程中,輔助軟件開(kāi)發(fā)的軟件。 軟件工具有:需求分析工具、軟件設(shè)計(jì)工具、編譯工具、編輯軟件工具有:需求分析工具、軟件設(shè)計(jì)工具、編譯工具、編輯工具、軟件測(cè)試工具、軟件配置工具。工具、軟件測(cè)試工具、軟件配置工具。143.3.軟件工程環(huán)境軟件工程

11、環(huán)境 方法與工具相結(jié)合,再加上配套的軟、硬件支持就形成環(huán)境。方法與工具相結(jié)合,再加上配套的軟、硬件支持就形成環(huán)境。4 4、軟件工程管理、軟件工程管理 為了按照進(jìn)度及預(yù)算完成開(kāi)發(fā)計(jì)劃,實(shí)現(xiàn)預(yù)期的經(jīng)濟(jì)和社會(huì)為了按照進(jìn)度及預(yù)算完成開(kāi)發(fā)計(jì)劃,實(shí)現(xiàn)預(yù)期的經(jīng)濟(jì)和社會(huì)效益。包括:成本估算、進(jìn)度安排、人員組織和質(zhì)量保證等多方效益。包括:成本估算、進(jìn)度安排、人員組織和質(zhì)量保證等多方面的內(nèi)容,涉及管理學(xué)、度量學(xué)和經(jīng)濟(jì)學(xué)等多項(xiàng)學(xué)科。面的內(nèi)容,涉及管理學(xué)、度量學(xué)和經(jīng)濟(jì)學(xué)等多項(xiàng)學(xué)科。151.3 傳統(tǒng)軟件工程和面向?qū)ο筌浖こ虃鹘y(tǒng)軟件工程和面向?qū)ο筌浖こ桃弧⒊绦蛟O(shè)計(jì)方法的兩次飛躍一、程序設(shè)計(jì)方法的兩次飛躍1.1.結(jié)構(gòu)化

12、程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì) 程序設(shè)計(jì)風(fēng)格從程序設(shè)計(jì)風(fēng)格從“追求技巧與效率追求技巧與效率”到到“清晰第一、效率第清晰第一、效率第二二”的轉(zhuǎn)變,從而提高了程序的易讀性和可靠性。的轉(zhuǎn)變,從而提高了程序的易讀性和可靠性。2020世紀(jì)世紀(jì)7070年代年代以后,結(jié)構(gòu)化的技術(shù)從編碼階段擴(kuò)展到設(shè)計(jì)與分析階段,逐步形以后,結(jié)構(gòu)化的技術(shù)從編碼階段擴(kuò)展到設(shè)計(jì)與分析階段,逐步形成了結(jié)構(gòu)化的軟件開(kāi)發(fā)范型,即傳統(tǒng)軟件工程或經(jīng)典軟件工程。成了結(jié)構(gòu)化的軟件開(kāi)發(fā)范型,即傳統(tǒng)軟件工程或經(jīng)典軟件工程。 結(jié)構(gòu)化程序設(shè)計(jì)的結(jié)構(gòu)化程序設(shè)計(jì)的“程序程序= =數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+ +算法算法”,使得數(shù)據(jù)與其,使得數(shù)據(jù)與其上的操作分離,使得解空間和

13、問(wèn)題空間不一致。上的操作分離,使得解空間和問(wèn)題空間不一致。 面對(duì)大規(guī)模軟件產(chǎn)品的開(kāi)發(fā),結(jié)構(gòu)化技術(shù)不能很好實(shí)現(xiàn)。面對(duì)大規(guī)模軟件產(chǎn)品的開(kāi)發(fā),結(jié)構(gòu)化技術(shù)不能很好實(shí)現(xiàn)。162.2.面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì) 在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,數(shù)據(jù)及其操作被封裝在一個(gè)個(gè)稱(chēng)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,數(shù)據(jù)及其操作被封裝在一個(gè)個(gè)稱(chēng)為為“對(duì)象對(duì)象”的統(tǒng)一體中,對(duì)象之間通過(guò)的統(tǒng)一體中,對(duì)象之間通過(guò)“消息消息”相互連接,相互連接,“對(duì)對(duì)象象+ +消息消息”機(jī)制取代了機(jī)制取代了“數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+ +算法算法”的思路,較好第實(shí)現(xiàn)了的思路,較好第實(shí)現(xiàn)了“解空間解空間”與與“問(wèn)題空間問(wèn)題空間”的一致性。的一致性。 程序程序 =

14、 = 對(duì)象對(duì)象 + + 消息消息 17 結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)編碼示例結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)編碼示例n銀行儲(chǔ)蓄處理事務(wù)。這一事務(wù)包含銀行儲(chǔ)蓄處理事務(wù)。這一事務(wù)包含1個(gè)數(shù)據(jù)個(gè)數(shù)據(jù)(賬戶(hù)余額賬戶(hù)余額)和和3個(gè)對(duì)個(gè)對(duì)數(shù)據(jù)的操作數(shù)據(jù)的操作存款、取款與利息結(jié)算存款、取款與利息結(jié)算(每年度一次每年度一次)。 采用結(jié)構(gòu)化程序設(shè)計(jì)中,數(shù)采用結(jié)構(gòu)化程序設(shè)計(jì)中,數(shù)據(jù)據(jù)“賬戶(hù)余額賬戶(hù)余額”與施加在其上的與施加在其上的操作是分離的,存款、取款與利操作是分離的,存款、取款與利息結(jié)算等息結(jié)算等3個(gè)過(guò)程模塊分別將相個(gè)過(guò)程模塊分別將相應(yīng)的操作施加于應(yīng)的操作施加于“賬戶(hù)余額賬戶(hù)余額”,使數(shù)據(jù)獲得更新。使數(shù)據(jù)

15、獲得更新。 存款存款取款取款利息利息結(jié)算結(jié)算帳戶(hù)帳戶(hù)余額余額數(shù)據(jù)數(shù)據(jù)操操作作18 采用面向?qū)ο蠓缎蜁r(shí),采用面向?qū)ο蠓缎蜁r(shí),存款、取款與利息結(jié)算作為存款、取款與利息結(jié)算作為對(duì)象內(nèi)部的對(duì)象內(nèi)部的3個(gè)事件過(guò)程,個(gè)事件過(guò)程,與與“賬戶(hù)余額賬戶(hù)余額”一起封裝在一起封裝在稱(chēng)為稱(chēng)為“銀行賬戶(hù)銀行賬戶(hù)”的對(duì)象中,的對(duì)象中,通過(guò)來(lái)自對(duì)象外部的通過(guò)來(lái)自對(duì)象外部的3種不種不同的消息,可以采用啟動(dòng)相同的消息,可以采用啟動(dòng)相應(yīng)的操作。應(yīng)的操作。帳戶(hù)帳戶(hù)余額余額利息結(jié)算利息結(jié)算存存 款款取取 款款銀行賬戶(hù)銀行賬戶(hù)消息消息消息消息消息消息19二、兩類(lèi)軟件工程方法二、兩類(lèi)軟件工程方法1.1.傳統(tǒng)軟件工程傳統(tǒng)軟件工程n結(jié)構(gòu)化開(kāi)

16、發(fā)方法結(jié)構(gòu)化開(kāi)發(fā)方法n軟件分析軟件分析總體設(shè)計(jì)總體設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)面向過(guò)程的編碼面向過(guò)程的編碼測(cè)試測(cè)試2.2.面向?qū)ο筌浖こ堂嫦驅(qū)ο筌浖こ蘮面向?qū)ο蟮拈_(kāi)發(fā)方法面向?qū)ο蟮拈_(kāi)發(fā)方法n軟件分析與對(duì)象抽取軟件分析與對(duì)象抽取對(duì)象詳細(xì)設(shè)計(jì)對(duì)象詳細(xì)設(shè)計(jì)面向?qū)ο蟮木幋a面向?qū)ο蟮木幋a測(cè)試測(cè)試 201.4 軟件工程知識(shí)體系及知識(shí)域軟件工程知識(shí)體系及知識(shí)域一、軟件工程知識(shí)體一、軟件工程知識(shí)體n 19941994年,美國(guó)年,美國(guó)Embry-Riddle航空大學(xué)計(jì)算與數(shù)學(xué)系航空大學(xué)計(jì)算與數(shù)學(xué)系Thomas B.Hilburn教授開(kāi)始了教授開(kāi)始了“軟件工程知識(shí)體系指南軟件工程知識(shí)體系指南”(Guide to So

17、ftware Engineering Body of Knowledge,SWEBOK)研究研究項(xiàng)目。項(xiàng)目。 n 20012001年年4 4月,發(fā)布月,發(fā)布SWEBOK0.95版。版。n 20042004年年6 6月,發(fā)布月,發(fā)布SWEBOK2004版。版。21二、軟件工程知識(shí)體系指南的目標(biāo)二、軟件工程知識(shí)體系指南的目標(biāo) SWEBOKSWEBOK指南的指南的目的目的是確認(rèn)軟件工程學(xué)科的范圍,并為支持該是確認(rèn)軟件工程學(xué)科的范圍,并為支持該學(xué)科的本體知識(shí)提供指導(dǎo)。學(xué)科的本體知識(shí)提供指導(dǎo)。目標(biāo)目標(biāo):1. 1. 促使軟件工程本體知識(shí)成為世界范圍的共識(shí);促使軟件工程本體知識(shí)成為世界范圍的共識(shí);2. 2.

18、 澄清軟件工程與其他相關(guān)學(xué)科之間的關(guān)系(如與計(jì)算機(jī)科學(xué)、澄清軟件工程與其他相關(guān)學(xué)科之間的關(guān)系(如與計(jì)算機(jī)科學(xué)、項(xiàng)目管理、計(jì)算機(jī)工程以及計(jì)算機(jī)數(shù)學(xué)),并且確定軟件工程學(xué)項(xiàng)目管理、計(jì)算機(jī)工程以及計(jì)算機(jī)數(shù)學(xué)),并且確定軟件工程學(xué)科的范圍;科的范圍;3. 3. 反映軟件工程學(xué)科內(nèi)容的特征;反映軟件工程學(xué)科內(nèi)容的特征;4. 4. 確定軟件工程本體知識(shí)的各個(gè)專(zhuān)題;確定軟件工程本體知識(shí)的各個(gè)專(zhuān)題;5. 5. 為相應(yīng)的課程和職業(yè)資格認(rèn)證材料的編寫(xiě)奠定基礎(chǔ)。為相應(yīng)的課程和職業(yè)資格認(rèn)證材料的編寫(xiě)奠定基礎(chǔ)。 22 為達(dá)到上述目標(biāo)為達(dá)到上述目標(biāo)1,SWEBOK指南完成的每一階段都要廣泛指南完成的每一階段都要廣泛征求業(yè)

19、界各方人士意見(jiàn)。征求業(yè)界各方人士意見(jiàn)。 目標(biāo)目標(biāo)2和和3則有一個(gè)知識(shí)深淺程度的定位問(wèn)題,也就是軟件工則有一個(gè)知識(shí)深淺程度的定位問(wèn)題,也就是軟件工程師應(yīng)具有什么樣的知識(shí),知識(shí)定位深了程師應(yīng)具有什么樣的知識(shí),知識(shí)定位深了(如數(shù)學(xué)建模如數(shù)學(xué)建模),一般人,一般人達(dá)不到,知識(shí)定位淺了,不敷使用。達(dá)不到,知識(shí)定位淺了,不敷使用。 SWEBOK定位在大學(xué)畢業(yè)后有四年工作經(jīng)驗(yàn)的人。這是因?yàn)槎ㄎ辉诖髮W(xué)畢業(yè)后有四年工作經(jīng)驗(yàn)的人。這是因?yàn)槿绻麤](méi)有參加過(guò)軟件系統(tǒng)開(kāi)發(fā)全過(guò)程,不了解如何與用戶(hù)溝通,如果沒(méi)有參加過(guò)軟件系統(tǒng)開(kāi)發(fā)全過(guò)程,不了解如何與用戶(hù)溝通,不理解延誤交付期遭受的罰款壓力,不理解沒(méi)完沒(méi)了的質(zhì)量糾紛,不理解延

20、誤交付期遭受的罰款壓力,不理解沒(méi)完沒(méi)了的質(zhì)量糾紛,就很難對(duì)其中的知識(shí)點(diǎn)有深刻的了解和體驗(yàn)。就很難對(duì)其中的知識(shí)點(diǎn)有深刻的了解和體驗(yàn)。23三、軟件工程知識(shí)體系指南的內(nèi)容三、軟件工程知識(shí)體系指南的內(nèi)容 SWEBOK指南將軟件工程知識(shí)體系劃分為指南將軟件工程知識(shí)體系劃分為1010個(gè)知識(shí)域個(gè)知識(shí)域(knowledge areas,KA),),分為兩類(lèi)過(guò)程。分為兩類(lèi)過(guò)程。n 一類(lèi)是開(kāi)發(fā)與維護(hù)過(guò)程,包括軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、一類(lèi)是開(kāi)發(fā)與維護(hù)過(guò)程,包括軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試和軟件維護(hù);軟件測(cè)試和軟件維護(hù);n 另一類(lèi)是支持和組織過(guò)程,包括軟件配置管理、軟件工程管理、另一類(lèi)是支持和組織過(guò)程

21、,包括軟件配置管理、軟件工程管理、軟件工程過(guò)程、軟件工程工具與方法和軟件質(zhì)量。軟件工程過(guò)程、軟件工程工具與方法和軟件質(zhì)量。 每個(gè)知識(shí)域還可進(jìn)一步分解為若干論題,形成一個(gè)多級(jí)層次每個(gè)知識(shí)域還可進(jìn)一步分解為若干論題,形成一個(gè)多級(jí)層次結(jié)構(gòu),以此確定軟件工程知識(shí)體系的內(nèi)容和邊界。結(jié)構(gòu),以此確定軟件工程知識(shí)體系的內(nèi)容和邊界。 24軟件工程知識(shí)體系指南軟件工程知識(shí)體系指南1010個(gè)知識(shí)域個(gè)知識(shí)域25261.5 軟件工程的軟件工程的7 7條基本原理?xiàng)l基本原理1. 1. 用分階段的生命周期計(jì)劃嚴(yán)格管理用分階段的生命周期計(jì)劃嚴(yán)格管理 在軟件開(kāi)發(fā)與維護(hù)的漫長(zhǎng)的生命周期中,需要完成許多性質(zhì)各在軟件開(kāi)發(fā)與維護(hù)的漫長(zhǎng)的

22、生命周期中,需要完成許多性質(zhì)各異的工作。這條基本原理意味著,應(yīng)該把軟件生命周期劃分成若干異的工作。這條基本原理意味著,應(yīng)該把軟件生命周期劃分成若干個(gè)階段,并相應(yīng)地制定出切實(shí)可行的計(jì)劃,嚴(yán)格按照計(jì)劃對(duì)軟件的個(gè)階段,并相應(yīng)地制定出切實(shí)可行的計(jì)劃,嚴(yán)格按照計(jì)劃對(duì)軟件的開(kāi)發(fā)與維護(hù)工作進(jìn)行管理。開(kāi)發(fā)與維護(hù)工作進(jìn)行管理。 不同層次的管理人員都必須嚴(yán)格按照計(jì)劃各盡其職地管理軟件不同層次的管理人員都必須嚴(yán)格按照計(jì)劃各盡其職地管理軟件開(kāi)發(fā)與維護(hù)工作,絕不能受客戶(hù)或上級(jí)人員的影響而擅自背離預(yù)定開(kāi)發(fā)與維護(hù)工作,絕不能受客戶(hù)或上級(jí)人員的影響而擅自背離預(yù)定計(jì)劃。計(jì)劃。272. 2. 堅(jiān)持進(jìn)行階段評(píng)審堅(jiān)持進(jìn)行階段評(píng)審 軟

23、件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后再進(jìn)行,在每軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后再進(jìn)行,在每個(gè)階段都須進(jìn)行嚴(yán)格的評(píng)審,以便盡早發(fā)現(xiàn)在軟件開(kāi)發(fā)過(guò)程中所犯?jìng)€(gè)階段都須進(jìn)行嚴(yán)格的評(píng)審,以便盡早發(fā)現(xiàn)在軟件開(kāi)發(fā)過(guò)程中所犯的錯(cuò)誤。的錯(cuò)誤。 原因:原因:n 大部分錯(cuò)誤是在編碼之前造成的。根據(jù)大部分錯(cuò)誤是在編碼之前造成的。根據(jù)BoehmBoehm等人的統(tǒng)計(jì),設(shè)計(jì)等人的統(tǒng)計(jì),設(shè)計(jì)錯(cuò)誤占軟件錯(cuò)誤的錯(cuò)誤占軟件錯(cuò)誤的63%63%,編碼錯(cuò)誤僅占,編碼錯(cuò)誤僅占37%37%;n 錯(cuò)誤發(fā)現(xiàn)與改正得越晚,所需付出的代價(jià)也越高。錯(cuò)誤發(fā)現(xiàn)與改正得越晚,所需付出的代價(jià)也越高。283. 3. 實(shí)行嚴(yán)格的產(chǎn)品控制實(shí)行嚴(yán)格的產(chǎn)

24、品控制 在軟件開(kāi)發(fā)過(guò)程中改變需求是難免的,只能依靠科學(xué)的產(chǎn)品控在軟件開(kāi)發(fā)過(guò)程中改變需求是難免的,只能依靠科學(xué)的產(chǎn)品控制技術(shù)來(lái)順應(yīng)這種要求。也就是說(shuō),當(dāng)改變需求時(shí),為了保持軟件制技術(shù)來(lái)順應(yīng)這種要求。也就是說(shuō),當(dāng)改變需求時(shí),為了保持軟件各個(gè)配置成分的一致性,必須實(shí)行嚴(yán)格的產(chǎn)品控制,其中主要是實(shí)各個(gè)配置成分的一致性,必須實(shí)行嚴(yán)格的產(chǎn)品控制,其中主要是實(shí)行基準(zhǔn)配置管理。行基準(zhǔn)配置管理。 所謂所謂基準(zhǔn)配置基準(zhǔn)配置也稱(chēng)為也稱(chēng)為變動(dòng)控制變動(dòng)控制。即:一切有關(guān)修改軟件的建議,。即:一切有關(guān)修改軟件的建議,特別是涉及到對(duì)基準(zhǔn)配置的修改建議,都必須按照嚴(yán)格的規(guī)程進(jìn)行特別是涉及到對(duì)基準(zhǔn)配置的修改建議,都必須按照嚴(yán)格

25、的規(guī)程進(jìn)行評(píng)審,獲得批準(zhǔn)以后才能實(shí)施修改,絕對(duì)不能隨意進(jìn)行修改。評(píng)審,獲得批準(zhǔn)以后才能實(shí)施修改,絕對(duì)不能隨意進(jìn)行修改。294. 4. 采用現(xiàn)代程序設(shè)計(jì)技術(shù)采用現(xiàn)代程序設(shè)計(jì)技術(shù) 從提出軟件工程的概念開(kāi)始,人們一直把主要精力用于研究各從提出軟件工程的概念開(kāi)始,人們一直把主要精力用于研究各種新的程序設(shè)計(jì)技術(shù),并進(jìn)一步研究各種先進(jìn)的軟件開(kāi)發(fā)與維護(hù)技種新的程序設(shè)計(jì)技術(shù),并進(jìn)一步研究各種先進(jìn)的軟件開(kāi)發(fā)與維護(hù)技術(shù)。實(shí)踐表明,采用先進(jìn)的技術(shù)不僅可以提高軟件開(kāi)發(fā)和維護(hù)的效術(shù)。實(shí)踐表明,采用先進(jìn)的技術(shù)不僅可以提高軟件開(kāi)發(fā)和維護(hù)的效率,而且可以提高軟件產(chǎn)品的質(zhì)量。率,而且可以提高軟件產(chǎn)品的質(zhì)量。305. 5. 結(jié)果

26、應(yīng)能清楚地審查結(jié)果應(yīng)能清楚地審查 軟件產(chǎn)品不同于一般的物理產(chǎn)品,它是看不見(jiàn)摸不著的邏輯產(chǎn)軟件產(chǎn)品不同于一般的物理產(chǎn)品,它是看不見(jiàn)摸不著的邏輯產(chǎn)品。軟件開(kāi)發(fā)人員品。軟件開(kāi)發(fā)人員( (或開(kāi)發(fā)小組或開(kāi)發(fā)小組) )的工作進(jìn)展情況可見(jiàn)性差,難以準(zhǔn)的工作進(jìn)展情況可見(jiàn)性差,難以準(zhǔn)確度量,從而使得軟件產(chǎn)品的開(kāi)發(fā)過(guò)程比一般產(chǎn)品的開(kāi)發(fā)過(guò)程更難確度量,從而使得軟件產(chǎn)品的開(kāi)發(fā)過(guò)程比一般產(chǎn)品的開(kāi)發(fā)過(guò)程更難于評(píng)價(jià)和管理。于評(píng)價(jià)和管理。 為了提高軟件開(kāi)發(fā)過(guò)程的可見(jiàn)性,更好地進(jìn)行管理,應(yīng)該根據(jù)為了提高軟件開(kāi)發(fā)過(guò)程的可見(jiàn)性,更好地進(jìn)行管理,應(yīng)該根據(jù)軟件開(kāi)發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)定開(kāi)發(fā)組織的責(zé)任和產(chǎn)品標(biāo)軟件開(kāi)發(fā)項(xiàng)目的總目標(biāo)及

27、完成期限,規(guī)定開(kāi)發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使得所得到的結(jié)果能夠清楚地審查。準(zhǔn),從而使得所得到的結(jié)果能夠清楚地審查。316. 6. 開(kāi)發(fā)小組的人員應(yīng)該少而精開(kāi)發(fā)小組的人員應(yīng)該少而精 這條基本原理的含義是,軟件開(kāi)發(fā)小組的組成人員的素質(zhì)應(yīng)該這條基本原理的含義是,軟件開(kāi)發(fā)小組的組成人員的素質(zhì)應(yīng)該高,而人數(shù)不宜過(guò)多。開(kāi)發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品高,而人數(shù)不宜過(guò)多。開(kāi)發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開(kāi)發(fā)效率的重要因素。高素質(zhì)人員的開(kāi)發(fā)效率比低素質(zhì)人員質(zhì)量和開(kāi)發(fā)效率的重要因素。高素質(zhì)人員的開(kāi)發(fā)效率比低素質(zhì)人員的開(kāi)發(fā)效率可能高幾倍至幾十倍,而且高素質(zhì)人員所開(kāi)發(fā)的軟件中的開(kāi)發(fā)效率可能高幾倍

28、至幾十倍,而且高素質(zhì)人員所開(kāi)發(fā)的軟件中的錯(cuò)誤明顯少于低素質(zhì)人員所開(kāi)發(fā)的軟件中的錯(cuò)誤。此外,隨著開(kāi)的錯(cuò)誤明顯少于低素質(zhì)人員所開(kāi)發(fā)的軟件中的錯(cuò)誤。此外,隨著開(kāi)發(fā)小組人員數(shù)目的增加,因?yàn)榻涣髑闆r討論問(wèn)題而造成的通信開(kāi)銷(xiāo)發(fā)小組人員數(shù)目的增加,因?yàn)榻涣髑闆r討論問(wèn)題而造成的通信開(kāi)銷(xiāo)也急劇增加。也急劇增加。327. 7. 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 遵循上述遵循上述6 6條基本原理,就能夠按照當(dāng)代軟件工程基本原理實(shí)條基本原理,就能夠按照當(dāng)代軟件工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn),但是,僅有上述現(xiàn)軟件的工程化生產(chǎn),但是,僅有上述6 6條原理并不能保證軟件開(kāi)條原理并不能保證軟

29、件開(kāi)發(fā)與維護(hù)的過(guò)程能趕上時(shí)代前進(jìn)的步伐,能跟上技術(shù)的不斷進(jìn)步。發(fā)與維護(hù)的過(guò)程能趕上時(shí)代前進(jìn)的步伐,能跟上技術(shù)的不斷進(jìn)步。因此,因此,BoehmBoehm提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第件工程的第7 7條基本原理。按照這條原理,不僅要積極主動(dòng)地采納條基本原理。按照這條原理,不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要注意不斷總結(jié)經(jīng)驗(yàn)。新的軟件技術(shù),而且要注意不斷總結(jié)經(jīng)驗(yàn)。331.6 軟件工程的基本目標(biāo)軟件工程的基本目標(biāo) 軟件工程旨在開(kāi)發(fā)滿(mǎn)足用戶(hù)需要、及時(shí)交付、不超過(guò)預(yù)算和軟件工程旨在開(kāi)發(fā)滿(mǎn)足用戶(hù)需要、及時(shí)交付、不超過(guò)預(yù)算和無(wú)故障的軟件,其主要目標(biāo)如下:無(wú)故障的軟件,其主要目標(biāo)如下:1. 合理預(yù)算開(kāi)發(fā)成本,付出較低的開(kāi)發(fā)費(fèi)用;合理預(yù)算開(kāi)發(fā)成本,付出較低的開(kāi)發(fā)費(fèi)用;2. 實(shí)現(xiàn)預(yù)期的軟件功能,達(dá)到較好的軟件性能,滿(mǎn)足用戶(hù)的需求;實(shí)現(xiàn)預(yù)期的軟件功能,達(dá)到較好的軟件性能,滿(mǎn)足用戶(hù)的需求;3. 提高所開(kāi)發(fā)軟件的可

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論