軟件及其開發(fā)概述_第1頁
軟件及其開發(fā)概述_第2頁
軟件及其開發(fā)概述_第3頁
軟件及其開發(fā)概述_第4頁
軟件及其開發(fā)概述_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

高級(jí)軟件工程

AdvancedSoftwareEngineeringE-mail:weiyan@主要教材:古天龍,軟件開發(fā)的形式化方法,高等教育出版社,2005楊文龍、古天龍,軟件工程(第2版),電子工業(yè)出版社,2004齊治昌,譚慶平等,軟件工程(第2版),高等教育出版社,2004

CarloGhezzi,etal.軟件工程基礎(chǔ)(第2版),施平安譯,清華大學(xué)出版社,2003參考教材

SoftwareEngineering,TheoryandPractice,

ShariLawrencePfleeger,Prentice-Hall,Inc.1998

陳松喬等,現(xiàn)代軟件工程,清華大學(xué)出版社,2004

張海藩,軟件工程導(dǎo)論(第五版),清華大學(xué)出版社,2008本章主要介紹軟件、軟件開發(fā)的歷史、軟件危機(jī)、軟件工程的誕生、定義、主要研究?jī)?nèi)容,軟件工程模式以及軟件工程與其他學(xué)科領(lǐng)域的關(guān)系。第1章軟件及其開發(fā)概述1.1軟件開發(fā)的歷史1、軟件的概念

計(jì)算機(jī)世界的軟件軟件是能夠完成預(yù)定功能和性能,并對(duì)相應(yīng)數(shù)據(jù)進(jìn)行加工的程序和描述程序及其操作的文檔。

軟件=程序+數(shù)據(jù)+文檔程序=算法+數(shù)據(jù)結(jié)構(gòu)軟件是計(jì)算機(jī)系統(tǒng)的重要組成部分;軟件是邏輯產(chǎn)品,需要計(jì)算機(jī)硬件和系統(tǒng)軟件的支撐;軟件是計(jì)算機(jī)控制系統(tǒng)的指揮中樞;軟件是信息轉(zhuǎn)換器,它能對(duì)信息進(jìn)行加工、處理或變換;軟件是工具,在人們的生活、工作、休閑,在社會(huì)的經(jīng)濟(jì)、軍事、政治、文化、科學(xué)技術(shù)、教育中發(fā)揮具大作用。2、軟件的特點(diǎn)

軟件是一種邏輯實(shí)體,具有抽象性。

軟件的生產(chǎn)與硬件不同。

在軟件的運(yùn)行使用期間,沒有磨損,老化問題。

軟件產(chǎn)品不允許有誤差,雖然實(shí)際上不可能沒有缺陷。

軟件的開發(fā)運(yùn)行常常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依賴性。

軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式。3、軟件開發(fā)

所謂軟件開發(fā),實(shí)際上就是把現(xiàn)實(shí)世界的需求反映成軟件的模型化并予以實(shí)現(xiàn)的過程。

在計(jì)算機(jī)發(fā)展的不同時(shí)期,人們對(duì)軟件的認(rèn)識(shí)不同,相應(yīng)地,所進(jìn)行的軟件開發(fā)也具有不同的特點(diǎn)。1.2軟件危機(jī)(SoftwareCrisis)軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重的問題。這些問題不僅僅是不能正常運(yùn)行的軟件才具有,事實(shí)上幾乎所有軟件都不同程度地存在這些問題。概括說,軟件危機(jī)包含兩方面的問題:如何開發(fā)軟件,以滿足不斷增長(zhǎng)、日趨復(fù)雜的需求。如何維護(hù)數(shù)量不斷膨脹的軟件產(chǎn)品。1、軟件危機(jī)的主要問題2、軟件危機(jī)的主要表現(xiàn)軟件成本日益增長(zhǎng)硬件和軟件所占費(fèi)用的比例圖1968年,美國(guó)花費(fèi)于軟件的投資高達(dá)60億美元,有些系統(tǒng),特別是軍用系統(tǒng),軟件費(fèi)用要高出硬件費(fèi)用好幾倍,例如美國(guó)全球軍事指揮控制系統(tǒng)的計(jì)算機(jī)硬件費(fèi)用為1億美元,而軟件費(fèi)用高達(dá)7.2億美元。1980年美國(guó)政府的財(cái)政年度當(dāng)中,計(jì)算機(jī)系統(tǒng)方面(軟、硬件與服務(wù))共耗資達(dá)570億美元,其中320億美元(占總數(shù)的56%)用于計(jì)算機(jī)軟件方面(與同年的美國(guó)汽車行業(yè)進(jìn)行簡(jiǎn)單的比較,美國(guó)是當(dāng)時(shí)的世界第一汽車生產(chǎn)大國(guó),汽車的年銷售量為900萬輛,總的銷售額僅為720億美元)。技術(shù)的進(jìn)步使得計(jì)算機(jī)硬件的成本持續(xù)降低,而軟件成本則不斷增長(zhǎng),軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例呈現(xiàn)日益擴(kuò)大的趨勢(shì).來自美國(guó)空軍計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)表明,1970年,軟件費(fèi)用約占總費(fèi)用的60%,1975年達(dá)到72%,1980年達(dá)到80%,1985年計(jì)達(dá)到85%。這種增長(zhǎng)的速度是驚人的。(1979年,美國(guó)的國(guó)防預(yù)算為1258億美元,其中9%用于計(jì)算機(jī)領(lǐng)域,約113億美元。在這113億美元當(dāng)中,91億美元(約占80%)用于軟件投資,僅有22億美元用于硬件設(shè)備)。難于控制開發(fā)進(jìn)度

在研究大型系統(tǒng)時(shí),遇到越來越多的困難。有的系統(tǒng)干脆失敗了,損失了大量金錢和人力;有的系統(tǒng)雖然完成了,但性能不理想,或推遲了許多年,經(jīng)費(fèi)大大超過預(yù)算。如一個(gè)大項(xiàng)目負(fù)責(zé)人所說:“軟件人員太像皇帝新衣故事中的裁縫了。當(dāng)我來檢查軟件開發(fā)工作時(shí),所得到的回答好像對(duì)我說我們正忙于編織這件帶有魔法的織物,只要等一會(huì)兒,你就會(huì)看到這件織物是極其美麗的。但是我什么也看不到,什么也摸不到,也說不出任何一個(gè)有關(guān)的數(shù)字;沒有任何辦法得到一些信息說明事情確實(shí)進(jìn)行得非常順利,而且我已經(jīng)知道許多人最終已經(jīng)編織了一大堆昂貴的廢物而離去,還有不少人最終什么也沒有作出來?!睘檐浖_發(fā)制定進(jìn)度是很困難的事情:通常我們對(duì)一個(gè)任務(wù)根據(jù)其復(fù)雜性、工作量及進(jìn)度要求安排人力。如有10人月的工作量,則由一個(gè)人完成需要10個(gè)月,由10個(gè)入完成則需要一個(gè)月。但這種工作量估計(jì)方式僅對(duì)各部分工作互不干擾的情況下才適用,例如當(dāng)各部分工作尚能很好地劃分時(shí),安排由不同人完成不同部分的工作。但作為整體,尚需討論合作,這種討論交流活動(dòng)就增加了工作量。軟件系統(tǒng)的結(jié)構(gòu)很復(fù)雜,各部分附加聯(lián)系極大。增加更多人工作,往往不是縮短時(shí)間進(jìn)度,而是會(huì)延緩進(jìn)度。

一個(gè)軟件項(xiàng)目估計(jì)需要12人月工作量。指定由3個(gè)人,在4個(gè)月內(nèi)完成。假定第1個(gè)月的任務(wù)花了兩個(gè)月才完成,如仍需按時(shí)完成該怎么辦呢?(1)假定此任務(wù)只有第一個(gè)月的工作量是估計(jì)錯(cuò)了,則到第二個(gè)工作月結(jié)束時(shí),尚有9個(gè)人月工作量必需在兩個(gè)月內(nèi)完成,則需用4.5個(gè)人。需要增加2個(gè)人來進(jìn)行這項(xiàng)工作;(2)假定此任務(wù)的工作量在每個(gè)月都是估計(jì)低了。第二月后,尚有18個(gè)人月的工作量要在兩個(gè)月內(nèi)完成,則需要9個(gè)人工作,即應(yīng)增加6個(gè)人。一個(gè)例子:

增加人力的結(jié)果如何呢?在第一種情況下,不論新增加的人的適應(yīng)能力有多強(qiáng),總需要有人去幫助他了解熟悉情況。如果這些工作占用了一個(gè)月的時(shí)間,這樣又有2個(gè)人月工作量是在新的計(jì)劃外。同時(shí),為了由5人共同完成工作,又需要花時(shí)間把任務(wù)重新劃分成五個(gè)部。這樣,又可能損失一部分已經(jīng)完成的工作,所以到第三個(gè)月結(jié)束時(shí)實(shí)際上雖有5人在工作,而余留下也許至少是7個(gè)人月的工作量,使任務(wù)仍不能按時(shí)完成。如果你仍想按時(shí)完成任務(wù),用投入更多人力的方法可能造成更壞的后果。對(duì)于一項(xiàng)復(fù)雜的任務(wù),通常難于通過增加人力來縮短開發(fā)時(shí)間。Brook提出的法則“在已拖延的軟件項(xiàng)目上增加人力只會(huì)使其更難按期完成”。這對(duì)于一般的工業(yè)產(chǎn)品來說是難于想象的!軟件質(zhì)量無法保證1985年11月21日,由于計(jì)算機(jī)軟件的錯(cuò)誤,造成紐約銀行與美聯(lián)儲(chǔ)電子結(jié)算系統(tǒng)收支失衡,發(fā)生了超額支付,而這個(gè)問題一直到晚上才被發(fā)現(xiàn),紐約銀行當(dāng)日帳務(wù)出現(xiàn)了230億的短款。Therac-25是加拿大原子能公司AECL和一家法國(guó)公司CGR聯(lián)合開發(fā)的一種醫(yī)療設(shè)備,它產(chǎn)生的高能光束或電子流能夠殺死人體毒瘤而不會(huì)傷害毒瘤附近的人體健康組織。該設(shè)備于1982年正式投入生產(chǎn)和使用,在1985年6月到1987年1月的不到兩年的時(shí)間里,因?yàn)檐浖毕菀l(fā)了6起由于電子流或X-光束的過量使用的醫(yī)療事故,造成4人死亡、2人重傷的嚴(yán)重后果。美國(guó)Florida州的福利救濟(jì)系統(tǒng)用于處理數(shù)百萬受撫養(yǎng)兒童、食品券、醫(yī)療援助等受資助家庭接受者的資格認(rèn)證,其基于巨型機(jī)系統(tǒng),支持84個(gè)數(shù)據(jù)庫(kù)、1390個(gè)程序、12000多個(gè)終端和個(gè)人計(jì)算機(jī)。1992年,該系統(tǒng)的錯(cuò)誤使得成千上萬的人收到了他們無權(quán)收到的救濟(jì),而其他成千上萬急需食品券的人卻排著長(zhǎng)隊(duì)等待了好幾天。據(jù)后來統(tǒng)計(jì),該錯(cuò)誤導(dǎo)致了多支付2.6億美元以及少支付5800萬美元醫(yī)療補(bǔ)助的后果。1996年,歐洲航天局阿麗亞娜5型(Ariane5)火箭在發(fā)射后40秒鐘后發(fā)生爆炸,發(fā)射基地上2名法國(guó)士兵當(dāng)場(chǎng)死亡,損耗資產(chǎn)達(dá)10億美元之巨,歷時(shí)9年的航天計(jì)劃因此嚴(yán)重受挫。事后專家的調(diào)查分析報(bào)告指出,爆炸原因在于慣性導(dǎo)航系統(tǒng)軟件技術(shù)要求和設(shè)計(jì)的錯(cuò)誤。

2003年5月4日,搭乘俄羅斯“聯(lián)盟—TMA1”載人飛船的國(guó)際空間站第七長(zhǎng)期考察團(tuán)的宇航員們返回了地球,但在返回途中,飛船偏離了降落目標(biāo)地點(diǎn)約460公里。據(jù)來自美國(guó)國(guó)家航空航天局的消息稱,這是由飛船的導(dǎo)航計(jì)算機(jī)軟件設(shè)計(jì)中的錯(cuò)誤引起的。2002年6月28日,美國(guó)商務(wù)部的國(guó)家標(biāo)準(zhǔn)技術(shù)研究所(NIST:NationalInstituteofStandardsandTechnology)發(fā)表了有關(guān)軟件缺陷的損失調(diào)查報(bào)告。報(bào)告表示,“據(jù)推測(cè),由于軟件缺陷而引起的損失額每年高達(dá)595億美元。這一數(shù)字相當(dāng)于美國(guó)國(guó)內(nèi)生產(chǎn)總值的0.6%”。對(duì)于一些安全悠關(guān)的系統(tǒng),軟件的缺陷更是造成了災(zāi)難性的后果。隨著軟件在社會(huì)生活中的廣泛應(yīng)用,特別是各種嵌入式軟件在各種智能電器中的應(yīng)用,軟件缺陷造成的損失將會(huì)更大。軟件修改、維護(hù)困難軟件的維護(hù)任務(wù)特別重。事實(shí)上,正式投入使用的商用軟件,總是存在著一定數(shù)量的錯(cuò)誤。隨著時(shí)間的延伸,在不同的運(yùn)行條件下,軟件就會(huì)出現(xiàn)故障,就需要維護(hù)。這種維護(hù)與通常意義下的設(shè)備(硬件)維護(hù)是完全不同的。因?yàn)檐浖沁壿嬙?,不是一種實(shí)物。軟件故障是軟件中的邏輯故障所造成的,不是硬件的“用舊”、“磨損”之類問題。軟件維護(hù)不是更換某種部件,而是要糾正邏輯缺陷。當(dāng)軟件系統(tǒng)變得龐大,問題變得復(fù)雜時(shí),常常會(huì)發(fā)生“糾正一個(gè)錯(cuò)誤帶來更多新的錯(cuò)誤!”的問題。

BEGINNumber=0Totaltime=0Message=1WHILEMessageGETstatusIFstatus=S Totaltime=Totaltime

Current-time Number=Number+1ELSETotaltime=Totaltime+Current-time ENDIFGETMessage/”1-startthestream;0-endofthestream”ENDWHILEPRINTNumber,Totaltime/Number END軟件并不像人們想象的那么易于修改!3、造成軟件危機(jī)的原因規(guī)模的復(fù)雜性結(jié)構(gòu)的復(fù)雜性環(huán)境的復(fù)雜性領(lǐng)域的復(fù)雜性交流的復(fù)雜性軟件規(guī)模的復(fù)雜性

隨著計(jì)算機(jī)應(yīng)用的日益廣泛,需要開發(fā)的軟件規(guī)模越來越龐大。以美國(guó)宇航局的軟件系統(tǒng)為例:1963年,水星計(jì)劃的軟件系統(tǒng)約有200萬條指令;1967年,雙子星座計(jì)劃系統(tǒng)約為400萬條指令;1973年,阿波羅計(jì)劃系統(tǒng)達(dá)到1000萬條指令;1979年,哥倫比亞航天飛機(jī)系統(tǒng)更是達(dá)到了4000萬條指令。軟件龐大的規(guī)模是引起技術(shù)上和心理上挫折的一個(gè)重要因素;此外,規(guī)模的復(fù)雜性引起了大量學(xué)習(xí)和理解上的負(fù)擔(dān)。由于在需求分析及生成規(guī)格的階段需要搜集和分析的信息數(shù)量非常巨大,從而可能會(huì)使得信息不正確或不完整,并且在審查階段也未能檢查出來。正如Leveson所認(rèn)為的:幾乎所有與計(jì)算機(jī)過程控制系統(tǒng)有關(guān)的事故都是源于這類由軟件規(guī)模因素所引起的錯(cuò)誤。軟件結(jié)構(gòu)的復(fù)雜性

結(jié)構(gòu)復(fù)雜性體現(xiàn)在管理和技術(shù)兩個(gè)方面。在管理方面,開發(fā)小組用來組織和管理開發(fā)活動(dòng)時(shí)所采用的層次的寬度和深度,決定了用來管理系統(tǒng)的結(jié)構(gòu)的復(fù)雜性;此外,軟件開發(fā)機(jī)構(gòu)內(nèi)部的慣例和制度可能會(huì)改變各小組之間的信息流動(dòng),從而增加了結(jié)構(gòu)復(fù)雜性。在技術(shù)方面,軟件系統(tǒng)的模塊結(jié)構(gòu)愈加復(fù)雜,模塊之間復(fù)雜的調(diào)用關(guān)系以及接口信息往往超過了人們所能接受的程度。這種結(jié)構(gòu)的復(fù)雜性可以用模塊之間的耦合度來衡量,耦合度反映了在需求變化的情況下,相應(yīng)所需修改的模塊的數(shù)量。

環(huán)境的復(fù)雜性

首先,運(yùn)行中的軟件總是受其所處環(huán)境的影響,在接收到外界環(huán)境的觸發(fā)事件時(shí),軟件應(yīng)該做出正確的響應(yīng)。為了保證軟件的可靠性,原則上必須對(duì)其所處環(huán)境有很好的理解,對(duì)外界環(huán)境可能產(chǎn)生的所有事件進(jìn)行考慮,但這往往是難以辦到的。其次,對(duì)于許多軟件系統(tǒng)來說,人們往往缺乏對(duì)其所運(yùn)行的環(huán)境特性的認(rèn)識(shí)。許多系統(tǒng)只有當(dāng)成功地運(yùn)行于其環(huán)境時(shí),才能對(duì)其環(huán)境進(jìn)行很好的理解。再次,軟件運(yùn)行環(huán)境的多樣性和異構(gòu)性給軟件開發(fā)者帶來了更大的挑戰(zhàn)。

領(lǐng)域的復(fù)雜性

軟件中所操作的對(duì)象僅僅是對(duì)應(yīng)用領(lǐng)域真實(shí)對(duì)象的模擬,因而軟件開發(fā)者需要從現(xiàn)實(shí)世界中抽象出軟件模型所需的部分,并以其為基礎(chǔ)構(gòu)建軟件。但是對(duì)于有的應(yīng)用領(lǐng)域來說,這些模擬只能是近似的。其原因可能是由于對(duì)應(yīng)用領(lǐng)域?qū)ο蟮恼J(rèn)識(shí)不完全,或者是由于該模型所具有的苛刻條件限制,或者兩者兼而有之。對(duì)于一個(gè)應(yīng)用工程來說,其中所使用的模型應(yīng)該是具有合理的科學(xué)理論支持,并且經(jīng)過良好測(cè)試的。然而在某些軟件應(yīng)用領(lǐng)域中,并不存在可以認(rèn)知的模型,或者沒有準(zhǔn)確的模型來描繪相應(yīng)的物理對(duì)象的幾何、拓?fù)湟约捌渌卣鳌T谶@種缺少準(zhǔn)確認(rèn)識(shí)的情況下,應(yīng)用領(lǐng)域的某些方面很可能在軟件中不能體現(xiàn)出來。同時(shí),由于有的軟件是根據(jù)近似的模型來構(gòu)建的,因而這些模型不一定能反映事實(shí)情況。

交流的復(fù)雜性

由于軟件龐大的規(guī)模、大量的內(nèi)部結(jié)構(gòu)、以及應(yīng)用領(lǐng)域的不同屬性等因素,在開發(fā)一個(gè)大型軟件系統(tǒng)時(shí)所參與的不僅僅是單個(gè)的人,而是一個(gè)團(tuán)隊(duì)。該團(tuán)隊(duì)里的每個(gè)人參與開發(fā)過程中的一個(gè)或多個(gè)活動(dòng)。此時(shí),對(duì)于參與不同開發(fā)階段的人來說,彼此之間明確的交流非常重要。但是,一方面,由于結(jié)構(gòu)的復(fù)雜性以及開發(fā)團(tuán)隊(duì)的龐大等原因,團(tuán)隊(duì)成員之間的交流非常困難;另一方面,成員之間在進(jìn)行交流時(shí)使用的媒介往往是自然語言、圖、表等非形式化的方式,這些媒介很難準(zhǔn)確地描述出所開發(fā)的產(chǎn)品的基本屬性,并且,由于這些媒介本身所具有的二義性,往往會(huì)使開發(fā)人員產(chǎn)生錯(cuò)誤的理解,這種錯(cuò)誤將會(huì)隨著開發(fā)過程的進(jìn)行而逐漸蔓延開來,最終導(dǎo)致災(zāi)難性的后果。4、解決軟件危機(jī)的途徑采用工程的方法來組織和管理軟件開發(fā)。導(dǎo)致軟件工程的誕生的發(fā)展從理論上探討程序正確性和可靠性問題。推動(dòng)形式化方法的深入研究軟件危機(jī)仍在繼續(xù)

---影響軟件質(zhì)量的糊涂認(rèn)識(shí)在項(xiàng)目的初始階段對(duì)系統(tǒng)若明若暗就開始寫程序認(rèn)為軟件是靈活的容易修改,對(duì)軟件需求的改變不以為然程序調(diào)試成功標(biāo)志著工作的結(jié)束程序運(yùn)行前無法評(píng)價(jià)程序的質(zhì)量一個(gè)軟件項(xiàng)目給客戶提交的主要是程序,而軟件文檔則認(rèn)為可有可無、可多可少等等。雖然發(fā)布了軟件標(biāo)準(zhǔn)和規(guī)范,但在實(shí)踐中執(zhí)行需要額外的開銷,劃不來雖然開發(fā)了許多軟件工具,但很多開發(fā)者對(duì)使用這些工具興趣不大為了開發(fā)軟件人們不惜用重金購(gòu)買最新型號(hào)的主機(jī)和工作站而不愿意購(gòu)買軟件工具在軟件開發(fā)過程中,進(jìn)度遲后就增派更多的程序員突擊,趕進(jìn)度………1.3軟件工程1、軟件工程定義“軟件工程是為了以經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的、可靠的軟件而確立和使用的健全的工程原理和方法”。——FritzBauer“軟件工程是開發(fā),運(yùn)行,維護(hù)和修復(fù)軟件的系統(tǒng)的方法”?!狪EEE83“應(yīng)用系統(tǒng)的、規(guī)范的和可量化的方法去開發(fā)、運(yùn)行和維護(hù)軟件,以及對(duì)這些方法的研究”?!狪EEE93“運(yùn)用現(xiàn)代科學(xué)技術(shù)知識(shí)來設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序設(shè)計(jì)及為開發(fā),運(yùn)行和維護(hù)這些程序所必須的相關(guān)文件資料”?!狟oehm“軟件工程學(xué)是為在成本限額以內(nèi)按時(shí)完成開發(fā)和修改軟件產(chǎn)品所需的系統(tǒng)生產(chǎn)和維護(hù)的技術(shù)和管理的學(xué)科”?!狥airely軟件工程是以借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。軟件工程包括四個(gè)要素:方法、工具、過程和語言

方法

是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法。工具是為運(yùn)用方法而提供的自動(dòng)或半自動(dòng)的支撐環(huán)境。過程是為獲得高質(zhì)量的軟件所需要完成的以一系列任務(wù)的框架。語言用以支持軟件的分析、設(shè)計(jì)和實(shí)現(xiàn)。軟件工程的要素

付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā)工作,及時(shí)交付使用軟件工程的基本目標(biāo)軟件工程目標(biāo)之間的相互關(guān)系圖低開發(fā)成本易于維護(hù)按時(shí)交付高可靠性高性能互斥關(guān)系互補(bǔ)關(guān)系2軟件工程發(fā)展簡(jiǎn)史20世紀(jì)60年代:開發(fā)方法--“功能性程序設(shè)計(jì)”,編程無章法,隨意性很大類似于智力游戲,依賴于才智與技巧。軟件開發(fā)遠(yuǎn)遠(yuǎn)滿足不了社會(huì)發(fā)展的需求,出現(xiàn)了一場(chǎng)“軟件危機(jī)”。在理論上--1968年10月北大西洋公約組織(NATO)的科學(xué)委員會(huì)提出了軟件危機(jī)問題,認(rèn)為這將是影響計(jì)算機(jī)應(yīng)用發(fā)展的瓶頸,從而提出“軟件工程”問題。技術(shù)的目標(biāo)--如何擴(kuò)大程序系統(tǒng)的規(guī)模,以適應(yīng)更復(fù)雜的應(yīng)用。20世紀(jì)70年代:開發(fā)技術(shù):1)從程序中分離出數(shù)據(jù)結(jié)構(gòu)與算法。2)進(jìn)一步把結(jié)構(gòu)化程序設(shè)計(jì)方法發(fā)展成結(jié)構(gòu)化開發(fā)方法,包括結(jié)構(gòu)化分析方法及結(jié)構(gòu)化設(shè)計(jì)方法。在理論上:1)數(shù)據(jù)結(jié)構(gòu),算法理論。2)形式方法——用推理及邏輯斷言等對(duì)程序正確性進(jìn)行驗(yàn)證。3)軟件工程方法:開始提出軟件開發(fā)模型——瀑布模型及相應(yīng)的結(jié)構(gòu)化分析、設(shè)計(jì)、編程及測(cè)試方法。技術(shù)的目標(biāo):要解決軟件危機(jī)。要求在時(shí)間、費(fèi)用、質(zhì)量三要素的工程要求下有序地完成項(xiàng)目。20世紀(jì)80年代:開發(fā)方法:由單純的編程技術(shù)轉(zhuǎn)向構(gòu)造系統(tǒng)的方法。提出一套記號(hào)表示法及步驟來描述、定義、分析、驗(yàn)證系統(tǒng)的結(jié)構(gòu)。而管理復(fù)雜的文檔資料及規(guī)格說明成為管理系統(tǒng)結(jié)構(gòu)的主要手段。理論成就:關(guān)系數(shù)據(jù)庫(kù)的關(guān)系理論。此外,軟件開發(fā)技術(shù)中的度量問題受到重視。最著名的有軟件工作量估計(jì)COCOMO,軟件過程改進(jìn)模型CMM(軟件過程能力成熟度模型)等。技術(shù)的目標(biāo):要求大幅度提高個(gè)人的生產(chǎn)率(Windows所提供的能力);提倡發(fā)展軟件復(fù)用;面向?qū)ο蠹夹g(shù)的重新崛起。20世紀(jì)90年代:開發(fā)方法:基于部件的開發(fā)方法;Internet是遍布全世界的一個(gè)巨大的計(jì)算機(jī)網(wǎng)絡(luò),Java語言的誕生正是應(yīng)允了這個(gè)要求。Java語言有著很好的網(wǎng)上移植性、安全性、并且在編程難度上,也較C,C++語言簡(jiǎn)單?;贗nternet/web技術(shù)的軟件開發(fā)成為這一時(shí)期的最主要特點(diǎn)。開發(fā)技術(shù)的研究焦點(diǎn)是部件的互連及集成問題。因此,研究軟件體系結(jié)構(gòu)、軟件設(shè)計(jì)模式、標(biāo)準(zhǔn)化問題、協(xié)議、集成等,已成為焦點(diǎn)。理論成就:以研究封閉的系統(tǒng)轉(zhuǎn)向一個(gè)開放的不斷進(jìn)化的系統(tǒng)。提出了一類“交互模型”作為計(jì)算的基礎(chǔ)。目標(biāo)--JUSTINTIMEINFORMATION。即要在正確的時(shí)刻,把正確的信息,安全地送到正需要信息的人處。可以預(yù)料軟件工程的重要性還要繼續(xù)增加:經(jīng)濟(jì)原因:全球的軟件開銷已經(jīng)從1985年的1400億美元上升到2000年的8000億美元。軟件滲透到整個(gè)社會(huì)中,越來越多的軟件用于控制各種機(jī)器(如飛機(jī)、醫(yī)療設(shè)備等)的關(guān)鍵功能,支持全球范圍的關(guān)鍵功能(如電子商務(wù)等),這一事實(shí)保證了社會(huì)越來越對(duì)可靠的軟件感興趣。毫無疑問,如何更好地構(gòu)造更加完美的軟件仍然是一個(gè)重要的問題。3軟件工程基本原理1983年,B.W.Boehm總結(jié)出七條基本原理:用分階段的生命周期計(jì)劃嚴(yán)格管理。堅(jiān)持進(jìn)行階段評(píng)審。實(shí)施嚴(yán)格的產(chǎn)品控制。采用現(xiàn)代程序設(shè)計(jì)技術(shù)。結(jié)果應(yīng)能清楚地審查。開發(fā)小組的成員應(yīng)該少而精。承認(rèn)不斷的改進(jìn)軟件工程實(shí)踐的必要性。4軟件工程的主要內(nèi)容軟件開發(fā)模型軟件開發(fā)方法軟件工程過程軟件工具軟件開發(fā)環(huán)境軟件工程標(biāo)準(zhǔn)軟件工程經(jīng)濟(jì)學(xué)軟件開發(fā)模型模型是軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。例如軟件開發(fā)方法瀑布模型、進(jìn)化模型、螺旋模型及噴泉模型等。

方法是軟件開發(fā)過程所遵循的辦法和步驟。開發(fā)過程一般包括需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)等活動(dòng)。目前,主要針對(duì)需求和設(shè)計(jì),提出了各種方法,其中典型的有:結(jié)構(gòu)化方法、面向數(shù)據(jù)結(jié)構(gòu)方法、面向?qū)ο蠓椒ǖ?。軟件開發(fā)方法軟件工程過程軟件生存周期所涉及的一系列相關(guān)過程。軟件過程主要針對(duì)軟件生產(chǎn)和管理進(jìn)行研究。軟件過程可概括為三類:基本過程類---基本過程類包括獲取過程、開發(fā)過程、運(yùn)作過程、維護(hù)過程和管理過程。支持過程類---支持過程類包括文檔過程、配置管理過程、質(zhì)量保證過程、驗(yàn)證過程、確認(rèn)過程、聯(lián)合評(píng)審過程、審計(jì)過程以及問題解決過程。組織過程類---基礎(chǔ)設(shè)施過程、改進(jìn)過程以及培訓(xùn)過程。軟件工具用來輔助軟件開發(fā)、維護(hù)和管理的軟件。項(xiàng)目管理工具:支持項(xiàng)目管理活動(dòng)的工具。配置管理工具:支持完成配置項(xiàng)標(biāo)識(shí)、版本控制、變化控制、審計(jì)和狀態(tài)統(tǒng)計(jì)等任務(wù)的工具。分析和設(shè)計(jì)工具:輔助建立軟件的系統(tǒng)模型和設(shè)計(jì)的工具。程序設(shè)計(jì)工具:包括常規(guī)的編碼工具。測(cè)試工具:可以分為數(shù)據(jù)獲取工具、靜態(tài)分析工具、動(dòng)態(tài)分析工具、模擬工具以及測(cè)試管理工具等。維護(hù)工具:支持軟件維護(hù)的工具。軟件開發(fā)環(huán)境

支持軟件產(chǎn)品生產(chǎn)的軟件系統(tǒng)。該環(huán)境由集成機(jī)制和工具集組成。集成機(jī)制主要實(shí)現(xiàn)工具的集成,使之能夠系統(tǒng)、有效地支持軟件開發(fā)。集成機(jī)構(gòu)---由環(huán)境信息庫(kù)、過程控制和消息服務(wù)器、用戶界面組成。工具集---包括支持軟件開發(fā)模型和方法的工具,如支持瀑布模型和結(jié)構(gòu)化方法的分析工具、設(shè)計(jì)工具、編碼工具、測(cè)試工具等,還可包括一些工程管理和工程支持的工具。軟件工程標(biāo)準(zhǔn)根據(jù)軟件工程標(biāo)準(zhǔn)制訂的機(jī)構(gòu)和標(biāo)準(zhǔn)適用的范圍有所不同,它可分為五個(gè)級(jí)別:國(guó)際標(biāo)準(zhǔn)國(guó)家標(biāo)準(zhǔn)行業(yè)標(biāo)準(zhǔn)企業(yè)(機(jī)構(gòu))標(biāo)準(zhǔn)項(xiàng)目(課題)標(biāo)準(zhǔn)國(guó)際標(biāo)準(zhǔn)

由國(guó)際聯(lián)合機(jī)構(gòu)制訂和公布,提供各國(guó)參考的標(biāo)準(zhǔn)。例如,國(guó)際標(biāo)準(zhǔn)化組織ISO(InternationalStandardsOrganization)。國(guó)家標(biāo)準(zhǔn)

由政府或國(guó)家級(jí)的機(jī)構(gòu)制訂或批準(zhǔn),適用于全國(guó)范圍的標(biāo)準(zhǔn),如:GB—“國(guó)標(biāo)”;ANSI(AmericanNationalStandardsInstitute)—美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì));FIPS(NBS)[FederalInformationProcessingStandards(NationalBureauofStandards)]—美國(guó)商務(wù)部國(guó)家標(biāo)準(zhǔn)局聯(lián)邦信息處理標(biāo)準(zhǔn)。BS(BritishStandard)—英國(guó)國(guó)家標(biāo)準(zhǔn)。JIS(JapaneseIndustrialStandard)—日本工業(yè)標(biāo)準(zhǔn)。行業(yè)標(biāo)準(zhǔn)

由行業(yè)機(jī)構(gòu)、學(xué)術(shù)團(tuán)體或國(guó)防機(jī)構(gòu)制訂,并適用于某個(gè)業(yè)務(wù)領(lǐng)域的標(biāo)準(zhǔn)。例如,美國(guó)電氣和電子工程師學(xué)會(huì)IEEE(InstituteofElectricalandElectronicsEngineers)軟件工程經(jīng)濟(jì)學(xué)從經(jīng)濟(jì)學(xué)的觀點(diǎn)來研究、分析如何有效地開發(fā)、發(fā)布軟件產(chǎn)品和支持用戶使用。成本估算技術(shù)與成本估算模型的建立和使用軟件工程中不同決策的成本-效益分析多目標(biāo)決策分析不確定性的處理和風(fēng)險(xiǎn)分析工期估計(jì)和控制文檔要使軟件開發(fā)過程工程化,有計(jì)劃、有組織地管理和實(shí)施質(zhì)量保證,必須靠文檔化的控制管理和檢測(cè)標(biāo)準(zhǔn),文檔起到十分關(guān)鍵的作用,它是其規(guī)范的體現(xiàn)和指南,也是軟件開發(fā)過程的主要軟件配置之一。按照規(guī)范要求生成一套完整的文檔,就是按照軟件開發(fā)規(guī)范完成一個(gè)軟件質(zhì)量保證的過程。在軟件的開發(fā)過程中的文檔有可行性研究報(bào)告;項(xiàng)目開發(fā)計(jì)劃;軟件需求說明書;數(shù)據(jù)要求說明書;概要設(shè)計(jì)說明書;詳細(xì)設(shè)計(jì)說明書;用戶手冊(cè);操作手冊(cè);測(cè)試計(jì)劃;測(cè)試分析報(bào)告;開發(fā)進(jìn)度月報(bào);項(xiàng)目開發(fā)總結(jié)報(bào)告;維護(hù)修改建議等。軟件文檔的作用提高軟件開發(fā)過程的能見度。提高開發(fā)效率。作為開發(fā)人員在一定階段的工作成果和結(jié)束標(biāo)志。記錄開發(fā)過程中的有關(guān)信息,便于協(xié)調(diào)以后的軟件、開發(fā)、使用和維護(hù)。提供對(duì)軟件的運(yùn)行、維護(hù)和培訓(xùn)的有關(guān)信息,便于管理人員、開發(fā)人員、操作人員、用戶之間的協(xié)作、交流和了解。便于潛在用戶了解軟件的功能、性能等各項(xiàng)指標(biāo),為他們選購(gòu)符合自己需要的軟件提供依據(jù)。文檔在各類人員、計(jì)算機(jī)之間的多種橋梁作用軟件開發(fā)管理人員軟件開發(fā)人員維護(hù)人員用戶計(jì)算機(jī)測(cè)試人員1.4軟件工程模式(生存周期模型)軟件生存周期軟件生存周期模型1、軟件生存周期軟件生存周期是指軟件產(chǎn)品或軟件系統(tǒng)從定義、開發(fā)、使用、維護(hù)直到最終被淘汰的整個(gè)全過程。需求:包括問題分析和需求分析,問題分析獲取需求規(guī)程說明,需求分析生成功能規(guī)格說明;設(shè)計(jì):包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),概要設(shè)計(jì)建立整個(gè)軟件體系結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義;詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說明,即數(shù)據(jù)結(jié)構(gòu)說明及加工描述;實(shí)現(xiàn):是把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼;測(cè)試:包括單元測(cè)試、集成測(cè)試和確認(rèn)測(cè)試,這些測(cè)試活動(dòng)的目的就是使軟件系統(tǒng)達(dá)到需求階段提出的各項(xiàng)要求;維護(hù):是對(duì)投入運(yùn)行的軟件進(jìn)行修改,使軟件系統(tǒng)能適應(yīng)外界環(huán)境的變化、實(shí)現(xiàn)功能擴(kuò)充和質(zhì)量改善。2、軟件工程模式軟件工程模式:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。又稱為軟件生存期模型、軟件過程等。軟件工程模式具有雙重作用:在一個(gè)項(xiàng)目中在應(yīng)當(dāng)實(shí)現(xiàn)的各種技術(shù)活動(dòng)方面為軟件工程師提供指南。為軟件開發(fā)和維護(hù)的管理提供了一個(gè)框架,為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采取的管理措施,標(biāo)志完成相應(yīng)開發(fā)活動(dòng)的里程碑。瀑布模型維護(hù)開發(fā)定義DefinitionFeasibilityStudyRequirementsAnalysisProgramDesignCoding&ModuleTestingIntegration&SystemTestingDelivery&MaintenanceSystemDesign瀑布模型需求分析驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)變化的需求驗(yàn)證

實(shí)際的瀑布模型原型開發(fā)模型快速原型驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)變化的需求驗(yàn)證

原型系統(tǒng)是軟件開發(fā)人員與用戶溝通強(qiáng)有力的工具螺旋模型原型1原型2原型3可運(yùn)行原型需求計(jì)劃生存期計(jì)劃開發(fā)計(jì)劃集成與測(cè)試軟件需求需求確認(rèn)設(shè)計(jì)確認(rèn)與驗(yàn)證軟件產(chǎn)品設(shè)計(jì)詳細(xì)設(shè)計(jì)風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析驗(yàn)收測(cè)試實(shí)現(xiàn)集成與測(cè)試單元測(cè)試編碼開發(fā)、驗(yàn)證下一產(chǎn)品實(shí)施工程提交線評(píng)審累計(jì)成本風(fēng)險(xiǎn)分析評(píng)價(jià)方案,識(shí)別風(fēng)險(xiǎn)、消除風(fēng)險(xiǎn)制訂計(jì)劃決定目標(biāo)方案和限制客戶評(píng)估增量模型需求分析驗(yàn)證規(guī)格說明驗(yàn)證總體設(shè)計(jì)驗(yàn)證針對(duì)每個(gè)構(gòu)件,完成詳細(xì)設(shè)計(jì)、編碼和集成,經(jīng)測(cè)試后交付給用戶維護(hù)

把軟件產(chǎn)品作為一系列增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由若干相互協(xié)作的模塊構(gòu)成,并且能夠完成相對(duì)獨(dú)立的功能。四代技術(shù)(4GT)需求分析設(shè)計(jì)策略用4GT實(shí)現(xiàn)測(cè)試混合模型可以將幾種不同的模型組合成為一種混合的模型,因而允許一個(gè)項(xiàng)目沿著最有效的路徑發(fā)展。在混合模型中,多種開發(fā)模式提供了一種適用于各種具體系統(tǒng)、環(huán)境或機(jī)構(gòu)的靈活結(jié)構(gòu),使每個(gè)模式的長(zhǎng)處得以發(fā)揮。混合模型將若干開發(fā)模式的組合方式有若干種。面向?qū)ο蟮纳嫫谀P瓦M(jìn)一步開發(fā)運(yùn)行狀態(tài)集成和測(cè)試階段編碼階段面向?qū)ο笤O(shè)計(jì)階段面向?qū)ο蠓治鲭A段陳述需求階段維護(hù)期噴泉模型是典型的面向?qū)ο笊芷谀P停浞煮w現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和平滑過渡的特性。統(tǒng)一軟件開發(fā)過程(UnifiedProcess)初始階段細(xì)化階段構(gòu)造階段移交階段產(chǎn)品版本時(shí)間周期1消亡周期2周期n誕生產(chǎn)品版本時(shí)間基于構(gòu)件的軟件開發(fā)(CBD)

CBD是面向結(jié)構(gòu)的,在軟件重用和面向?qū)ο蠹夹g(shù)基礎(chǔ)上發(fā)展起來的。即使用可重用的軟件構(gòu)件來設(shè)計(jì)和構(gòu)造基于計(jì)算機(jī)的軟件系統(tǒng)。重用又稱復(fù)用,是利用已有的技術(shù)模塊不作修改或稍加改動(dòng),重新組裝形成新的軟件系統(tǒng)。軟件重用的內(nèi)容:

軟件開發(fā)方法論、軟件需求規(guī)格說明和設(shè)計(jì)、源代碼模塊和操作、文檔、分析數(shù)據(jù)、測(cè)試方案、測(cè)試用例、維護(hù)信息、軟件開發(fā)環(huán)境等。實(shí)現(xiàn)軟件重用,一般要解決如下問題:

重用軟件(構(gòu)件)的開發(fā)

應(yīng)用系統(tǒng)如何構(gòu)造和組裝軟件重用的級(jí)別:

重用數(shù)據(jù)、重用模塊代碼、重用設(shè)計(jì)、重用規(guī)格說明1.5軟件工程與其他學(xué)科領(lǐng)域的關(guān)系

軟件工程作為一門獨(dú)立的學(xué)科,已經(jīng)發(fā)展成為計(jì)算機(jī)科學(xué)的一個(gè)重要的領(lǐng)域(按市場(chǎng)需求將計(jì)算機(jī)學(xué)科劃分為4個(gè)分支:計(jì)算機(jī)科學(xué)、計(jì)算機(jī)工程、軟件工程和信息系統(tǒng))。軟件工程與計(jì)算機(jī)科學(xué)及很多其它領(lǐng)域之間確實(shí)存在相互促進(jìn)的關(guān)系,這些領(lǐng)域既影響軟件工程,又受軟件工程的影響。程序設(shè)計(jì)語言是軟件開發(fā)時(shí)所用的主要工具,因此對(duì)于我們能夠多好地實(shí)現(xiàn)軟件工程目標(biāo)有著深遠(yuǎn)的影響,反之這些目標(biāo)又影響著程序設(shè)計(jì)語言的開發(fā)。軟件工程對(duì)程序設(shè)計(jì)語言的影響:如程序設(shè)計(jì)語言加入了模塊化特征、獨(dú)立的且互不依賴的編譯、規(guī)范與實(shí)現(xiàn)的分離等。程序設(shè)計(jì)語言對(duì)軟件工程的影響:如精確地描述需求和設(shè)計(jì)思想需要語言進(jìn)行嚴(yán)格描述、為語言處理所開發(fā)的實(shí)現(xiàn)技術(shù)。軟件工程與程序設(shè)計(jì)語言的關(guān)系操作系統(tǒng)對(duì)軟件工程的影響非常巨大,因?yàn)椴僮飨到y(tǒng)是建立的第一個(gè)真正的大型系統(tǒng),很多最初的軟件設(shè)計(jì)思想起源于早期建造操作系統(tǒng)的嘗試。虛擬機(jī)、抽象層以及策略與機(jī)制的分離都是操作系統(tǒng)領(lǐng)域開發(fā)的概念,普遍適用于任何大型軟件系統(tǒng)。軟件工程技術(shù)對(duì)操作系統(tǒng)結(jié)構(gòu)的影響可以從可移植的操作系統(tǒng)中體現(xiàn)出來,操作系統(tǒng)按結(jié)構(gòu)化進(jìn)行組織,它包含一部分小型的“受保護(hù)的”微內(nèi)核,提供了與硬件交互的最低限度的功能,還包含一部分“未受保護(hù)的”內(nèi)核,提供了先前與操作系統(tǒng)關(guān)聯(lián)的大部分功能。軟件工程與操作系統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)領(lǐng)域?qū)浖こ痰淖钪匾挠绊懺谟凇皵?shù)據(jù)獨(dú)立”概念,數(shù)據(jù)庫(kù)允許應(yīng)用程序在使用數(shù)據(jù)時(shí)不必考慮基本數(shù)據(jù)表示;允許數(shù)據(jù)庫(kù)系統(tǒng)被用作大型軟件系統(tǒng)的組件。軟件工程對(duì)數(shù)據(jù)庫(kù)技術(shù)的影響源于最初嘗試用數(shù)據(jù)庫(kù)來支持軟件開發(fā)環(huán)境,軟件工程需要非常長(zhǎng)的事務(wù),促進(jìn)了數(shù)據(jù)庫(kù)領(lǐng)域的進(jìn)步,涉及到從新的數(shù)據(jù)庫(kù)和事務(wù)模型到適應(yīng)最新的模型。軟件工程與數(shù)據(jù)庫(kù)的關(guān)系在人工智能研究領(lǐng)域中建造的很多軟件系統(tǒng)都是大型復(fù)雜系統(tǒng)。軟件工程技術(shù)一直用于專家系統(tǒng)和人工智能系統(tǒng),這些系統(tǒng)按模塊化進(jìn)行組織,在系統(tǒng)“已知”的事實(shí)和系統(tǒng)處理事實(shí)所用的規(guī)則之間進(jìn)行明確的分離。人工智能提出的技術(shù)包括在軟件規(guī)范和程序設(shè)計(jì)語言中使用邏輯。以人工智能技術(shù)來改進(jìn)軟件工程任務(wù),如“編程助手”。通過自然語言建立用戶接口的認(rèn)知模型影響了軟件工程的用戶接口設(shè)計(jì)。軟件工程與人工智能的關(guān)系理論計(jì)算機(jī)科學(xué)開發(fā)了許多模型,已經(jīng)成為軟件工程中有用的工具。如有窮自動(dòng)機(jī)、下推自動(dòng)機(jī)、Petri網(wǎng)、數(shù)理邏輯等。軟件工程影響了計(jì)算機(jī)科學(xué)理論。代數(shù)規(guī)范和抽象數(shù)據(jù)類型理論都是在軟件工程的需求推動(dòng)下形成的。如在規(guī)范領(lǐng)域,理論家更關(guān)心一階邏輯理論而不關(guān)心高階邏輯理論,軟件工程師即對(duì)理論功能感興趣,也對(duì)理論的表達(dá)力感興趣,由于軟件工程的需要,點(diǎn)燃了理論家們對(duì)高階邏輯理論的興趣。軟件工程與理論模型的關(guān)系與任何一種大型的、多人進(jìn)行的工作一樣,軟件開發(fā)需要做項(xiàng)目預(yù)算、制定項(xiàng)目進(jìn)度、人力資源規(guī)劃、任務(wù)分解分配及項(xiàng)目跟蹤等工作,管理科學(xué)正好研究這些問題,可以借鑒管理科學(xué)的研究成果。軟件工程為管理科學(xué)提供了一個(gè)新的領(lǐng)域,以測(cè)試管理理論和模型。軟件工程與管理科學(xué)的關(guān)系系統(tǒng)工程領(lǐng)域涉及到研究復(fù)雜系統(tǒng)。復(fù)雜系統(tǒng)是由許多相互有復(fù)雜關(guān)系的組件組成的,系統(tǒng)工程試圖發(fā)現(xiàn)適用于不同系統(tǒng)的公共主題。軟件通常是一個(gè)更大的系統(tǒng)的一個(gè)組件,系統(tǒng)工程技術(shù)可以應(yīng)用于這種系統(tǒng)的研究,對(duì)于一個(gè)上千個(gè)模塊組成的軟件系統(tǒng),可以認(rèn)為它是一個(gè)遵循系統(tǒng)工程規(guī)律的候補(bǔ)復(fù)雜系統(tǒng)。另一方面,通過擴(kuò)展系統(tǒng)工程的分析模型集,系統(tǒng)工程的研究?jī)?nèi)容更豐富了。軟件工程與系統(tǒng)工程的關(guān)系第一節(jié)活塞式空壓機(jī)的工作原理第二節(jié)活塞式空壓機(jī)的結(jié)構(gòu)和自動(dòng)控制第三節(jié)活塞式空壓機(jī)的管理復(fù)習(xí)思考題單擊此處輸入你的副標(biāo)題,文字是您思想的提煉,為了最終演示發(fā)布的良好效果,請(qǐng)盡量言簡(jiǎn)意賅的闡述觀點(diǎn)。第六章活塞式空氣壓縮機(jī)

piston-aircompressor壓縮空氣在船舶上的應(yīng)用:

1.主機(jī)的啟動(dòng)、換向;

2.輔機(jī)的啟動(dòng);

3.為氣動(dòng)裝置提供氣源;

4.為氣動(dòng)工具提供氣源;

5.吹洗零部件和濾器。

排氣量:單位時(shí)間內(nèi)所排送的相當(dāng)?shù)谝患?jí)吸氣狀態(tài)的空氣體積。單位:m3/s、m3/min、m3/h第六章活塞式空氣壓縮機(jī)

piston-aircompressor空壓機(jī)分類:按排氣壓力分:低壓0.2~1.0MPa;中壓1~10MPa;高壓10~100MPa。按排氣量分:微型<1m3/min;小型1~10m3/min;中型10~100m3/min;大型>100m3/min。第六章活塞式空氣壓縮機(jī)

piston-aircompressor第一節(jié)活塞式空壓機(jī)的工作原理容積式壓縮機(jī)按結(jié)構(gòu)分為兩大類:往復(fù)式與旋轉(zhuǎn)式兩級(jí)活塞式壓縮機(jī)單級(jí)活塞壓縮機(jī)活塞式壓縮機(jī)膜片式壓縮機(jī)旋轉(zhuǎn)葉片式壓縮機(jī)最長(zhǎng)的使用壽命-

----低轉(zhuǎn)速(1460RPM),動(dòng)件少(軸承與滑片),潤(rùn)滑油在機(jī)件間形成保護(hù)膜,防止磨損及泄漏,使空壓機(jī)能夠安靜有效運(yùn)作;平時(shí)有按規(guī)定做例行保養(yǎng)的JAGUAR滑片式空壓機(jī),至今使用十萬小時(shí)以上,依然完好如初,按十萬小時(shí)相當(dāng)于每日以十小時(shí)運(yùn)作計(jì)算,可長(zhǎng)達(dá)33年之久。因此,將滑片式空壓機(jī)比喻為一部終身機(jī)器實(shí)不為過?;?葉)片式空壓機(jī)可以365天連續(xù)運(yùn)轉(zhuǎn)并保證60000小時(shí)以上安全運(yùn)轉(zhuǎn)的空氣壓縮機(jī)1.進(jìn)氣2.開始?jí)嚎s3.壓縮中4.排氣1.轉(zhuǎn)子及機(jī)殼間成為壓縮空間,當(dāng)轉(zhuǎn)子開始轉(zhuǎn)動(dòng)時(shí),空氣由機(jī)體進(jìn)氣端進(jìn)入。2.轉(zhuǎn)子轉(zhuǎn)動(dòng)使被吸入的空氣轉(zhuǎn)至機(jī)殼與轉(zhuǎn)子間氣密范圍,同時(shí)停止進(jìn)氣。3.轉(zhuǎn)子不斷轉(zhuǎn)動(dòng),氣密范圍變小,空氣被壓縮。4.被壓縮的空氣壓力升高達(dá)到額定的壓力后由排氣端排出進(jìn)入油氣分離器內(nèi)。4.被壓縮的空氣壓力升高達(dá)到額定的壓力后由排氣端排出進(jìn)入油氣分離器內(nèi)。1.進(jìn)氣2.開始?jí)嚎s3.壓縮中4.排氣1.凸凹轉(zhuǎn)子及機(jī)殼間成為壓縮空間,當(dāng)轉(zhuǎn)子開始轉(zhuǎn)動(dòng)時(shí),空氣由機(jī)體進(jìn)氣端進(jìn)入。2.轉(zhuǎn)子轉(zhuǎn)動(dòng)使被吸入的空氣轉(zhuǎn)至機(jī)殼與轉(zhuǎn)子間氣密范圍,同時(shí)停止進(jìn)氣。3.轉(zhuǎn)子不斷轉(zhuǎn)動(dòng),氣密范圍變小,空氣被壓縮。螺桿式氣體壓縮機(jī)是世界上最先進(jìn)、緊湊型、堅(jiān)實(shí)、運(yùn)行平穩(wěn),噪音低,是值得信賴的氣體壓縮機(jī)。螺桿式壓縮機(jī)氣路系統(tǒng):

A

進(jìn)氣過濾器

B

空氣進(jìn)氣閥

C

壓縮機(jī)主機(jī)

D

單向閥

E

空氣/油分離器

F

最小壓力閥

G

后冷卻器

H

帶自動(dòng)疏水器的水分離器油路系統(tǒng):

J

油箱

K

恒溫旁通閥

L

油冷卻器

M

油過濾器

N

回油閥

O

斷油閥冷凍系統(tǒng):

P

冷凍壓縮機(jī)

Q

冷凝器

R

熱交換器

S

旁通系統(tǒng)

T

空氣出口過濾器螺桿式壓縮機(jī)渦旋式壓縮機(jī)

渦旋式壓縮機(jī)是20世紀(jì)90年代末期開發(fā)并問世的高科技?jí)嚎s機(jī),由于結(jié)構(gòu)簡(jiǎn)單、零件少、效率高、可靠性好,尤其是其低噪聲、長(zhǎng)壽命等諸方面大大優(yōu)于其它型式的壓縮機(jī),已經(jīng)得到壓縮機(jī)行業(yè)的關(guān)注和公認(rèn)。被譽(yù)為“環(huán)保型壓縮機(jī)”。由于渦旋式壓縮機(jī)的獨(dú)特設(shè)計(jì),使其成為當(dāng)今世界最節(jié)能壓縮機(jī)。渦旋式壓縮機(jī)主要運(yùn)動(dòng)件渦卷付,只有磨合沒有磨損,因而壽命更長(zhǎng),被譽(yù)為免維修壓縮機(jī)。

由于渦旋式壓縮機(jī)運(yùn)行平穩(wěn)、振動(dòng)小、工作環(huán)境安靜,又被譽(yù)為“超靜壓縮機(jī)”。

渦旋式壓縮機(jī)零部件少,只有四個(gè)運(yùn)動(dòng)部件,壓縮機(jī)工作腔由相運(yùn)動(dòng)渦卷付形成多個(gè)相互封閉的鐮形工作腔,當(dāng)動(dòng)渦卷作平動(dòng)運(yùn)動(dòng)時(shí),使鐮形工作腔由大變小而達(dá)到壓縮和排出壓縮空氣的目的?;钊娇諝鈮嚎s機(jī)的外形第一節(jié)活塞式空壓機(jī)的工作原理一、理論工作循環(huán)(單級(jí)壓縮)工作循環(huán):4—1—2—34—1吸氣過程

1—2壓縮過程

2—3排氣過程第一節(jié)活塞式空壓機(jī)的工作原理一、理論工作循環(huán)(單級(jí)壓縮)

壓縮分類:絕熱壓縮:1—2耗功最大等溫壓縮:1—2''耗功最小多變壓縮:1—2'耗功居中功=P×V(PV圖上的面積)加強(qiáng)對(duì)氣缸的冷卻,省功、對(duì)氣缸潤(rùn)滑有益。二、實(shí)際工作循環(huán)(單級(jí)壓縮)1.不存在假設(shè)條件2.與理論循環(huán)不同的原因:1)余隙容積Vc的影響Vc不利的影響—?dú)埓娴臍怏w在活塞回行時(shí),發(fā)生膨脹,使實(shí)際吸氣行程(容積)減小。Vc有利的好處—

(1)形成氣墊,利于活塞回行;(2)避免“液擊”(空氣結(jié)露);(3)避免活塞、連桿熱膨脹,松動(dòng)發(fā)生相撞。第一節(jié)活塞式空壓機(jī)的工作原理表征Vc的參數(shù)—相對(duì)容積C、容積系數(shù)λv合適的C:低壓0.07-0.12

中壓0.09-0.14

高壓0.11-0.16

λv=0.65—0.901)余隙容積Vc的影響C越大或壓力比越高,則λv越小。保證Vc正常的措施:余隙高度見表6-1壓鉛

溫馨提示

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