軟件工程導(dǎo)論_第1頁(yè)
軟件工程導(dǎo)論_第2頁(yè)
軟件工程導(dǎo)論_第3頁(yè)
軟件工程導(dǎo)論_第4頁(yè)
軟件工程導(dǎo)論_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章軟件工程引論1.1軟件產(chǎn)品的概念與特征1.2軟件危機(jī)1.3軟件工程的產(chǎn)生及其發(fā)展1.1軟軟件件產(chǎn)品的的概念與與特征1.1..1軟軟件產(chǎn)產(chǎn)品的概概念與分分類就本質(zhì)而而言,軟軟件就是是一個(gè)信信息轉(zhuǎn)換換器,它它的功能能不外是是產(chǎn)生、、管理、、獲取、、修改、、顯示或或轉(zhuǎn)換信信息。它它擔(dān)任著著雙重角角色,首首先,它它是一種種產(chǎn)品,,表達(dá)了了由計(jì)算算機(jī)硬件件體現(xiàn)的的計(jì)算潛潛能;其其次,它它又是開開發(fā)和運(yùn)運(yùn)行產(chǎn)品品的載體體,是計(jì)計(jì)算機(jī)控控制(操操作系統(tǒng)統(tǒng))、信信息通信信(網(wǎng)絡(luò)絡(luò))的基基礎(chǔ),也也是創(chuàng)建建和控制制其他軟軟件(軟軟件工具具和開發(fā)發(fā)環(huán)境))的基礎(chǔ)礎(chǔ)。對(duì)于軟件件的一種種公認(rèn)的的解釋是是:軟件件是計(jì)算算機(jī)系統(tǒng)統(tǒng)中與硬硬件相互互依存的的另一部部分,它它是包括括程序、、數(shù)據(jù)及及其相關(guān)關(guān)文檔的的完整集集合。其其中,程程序是為為實(shí)現(xiàn)設(shè)設(shè)計(jì)的功功能和性性能要求求而編寫寫的指令令序列;;數(shù)據(jù)是是使指令令能夠正正常操縱縱信息的的數(shù)據(jù)結(jié)結(jié)構(gòu);文文檔是與與程序開開發(fā)、維維護(hù)和使使用有關(guān)關(guān)的圖文文資料。。根據(jù)用途途劃分,,軟件可可以大致致劃分成成如下類類別:(1)系系統(tǒng)軟軟件:就就一般情情況來說說,系統(tǒng)統(tǒng)軟件是是為其他他軟件服服務(wù)的軟軟件。系系統(tǒng)軟件件與計(jì)算算機(jī)硬件件交互頻頻繁,處處理大量量的確定定或不確確定的復(fù)復(fù)雜數(shù)據(jù)據(jù),往往往需要具具有多用用戶支持持、資源源精細(xì)調(diào)調(diào)度、并并發(fā)操作作管理、、多種外外部設(shè)備備接口支支持等項(xiàng)項(xiàng)功能。。(2)實(shí)實(shí)時(shí)軟軟件:管管理、分分析、控控制現(xiàn)實(shí)實(shí)世界中中所發(fā)生生的事件件的軟件件稱為實(shí)實(shí)時(shí)軟件件。它一一般有數(shù)數(shù)據(jù)采集集、數(shù)據(jù)據(jù)分析、、輸出控控制等三三方面的的功能。。實(shí)時(shí)軟軟件需要要保持一一個(gè)現(xiàn)實(shí)實(shí)任務(wù)可可以接受受的響應(yīng)應(yīng)時(shí)間,,即必須須保證能能夠在嚴(yán)嚴(yán)格限定定的時(shí)間間范圍內(nèi)內(nèi)對(duì)輸入入做出響響應(yīng)。(3)商商業(yè)管管理軟件件:商業(yè)業(yè)信息處處理是最最大的軟軟件應(yīng)用用領(lǐng)域,,包括常常規(guī)的數(shù)數(shù)據(jù)處理理軟件和和一些交交互式的的計(jì)算處處理(如如POS軟件)軟軟件。它它的基本本功能是是將已有有的數(shù)據(jù)據(jù)重新構(gòu)構(gòu)造,變變換成一一種可以以輔助商商業(yè)操作作和管理理決策的的形式。。在這個(gè)個(gè)過程中中,幾乎乎都要涉涉及到對(duì)對(duì)于大型型數(shù)據(jù)庫(kù)庫(kù)的訪問問。各類類管理信信息系統(tǒng)統(tǒng)(MIS))、企業(yè)資源源計(jì)劃((ERP))、客戶關(guān)系系管理((CRM))等都是典典型的商商業(yè)管理理軟件。。(4)工工程與與科學(xué)計(jì)計(jì)算軟件件:此類類軟件的的特征是是要實(shí)現(xiàn)現(xiàn)特定的的“數(shù)值值分析””算法。。例如離離散傅立立葉變換換、有限限元分析析、演化化計(jì)算等等等。CAD//CAM軟件一般般也可以以歸屬到到這一類類型中來來。(5)嵌嵌入式式軟件::駐留在在專用智智能產(chǎn)品品的內(nèi)存存中,用用于控制制這些產(chǎn)產(chǎn)品進(jìn)行行正常工工作,完完成很有有限、很很專業(yè)的的功能的的軟件。。例如各各類智能能檢測(cè)儀儀表、數(shù)數(shù)碼相機(jī)機(jī)、移動(dòng)動(dòng)電話、、微波爐爐等智能能產(chǎn)品都都必須在在嵌入式式軟件的的支持下下才能正正常工作作。(6)人人工智智能軟件件:利用用非數(shù)值值算法去去解決復(fù)復(fù)雜問題題的軟件件。各類類專家系系統(tǒng)、模模式識(shí)別別軟件、、人工神神經(jīng)網(wǎng)絡(luò)絡(luò)軟件都都屬于人人工智能能軟件。。(7)個(gè)個(gè)人計(jì)計(jì)算機(jī)軟軟件:文文字處理理系統(tǒng)、、電子表表格、游游戲娛樂樂軟件等等等。此外,還還可以根根據(jù)軟件件的規(guī)模模(代碼碼行及開開發(fā)工作作量,如如表1..1)、、軟件的的工作方方式、使使用頻度度、失效效后造成成的影響響等對(duì)軟軟件產(chǎn)品品進(jìn)行分分類。表1.1根根據(jù)規(guī)模模進(jìn)行軟軟件分類類軟件規(guī)模類別參加人員數(shù)開發(fā)期限產(chǎn)品規(guī)模(源代碼行數(shù))微型11~4周0.5?k小型11~6月1~2?k中型2~51~2年5~50?k大型5~202~3年50~100?k甚大型100~10004~5年1?M極大型2000~50005~10年1~10?M1.1..2軟軟件產(chǎn)產(chǎn)品的特特征在制造硬硬件時(shí),,人的創(chuàng)創(chuàng)造性的的勞動(dòng)過過程(分分析、設(shè)設(shè)計(jì)、建建造、測(cè)測(cè)試)能能夠完全全轉(zhuǎn)換成成物理的的形式,,但軟件件是邏輯輯的而不不是物理理的產(chǎn)品品,因此此軟件具具有和硬硬件完全全不同的的特征::(1)軟軟件是是一種邏邏輯實(shí)體體,具有有抽象性性。我們們可以把把軟件保保存在媒媒體介質(zhì)質(zhì)上,但但卻無法法直接看看到軟件件的形態(tài)態(tài),因而而必須通通過運(yùn)行行、觀察察、分析析、思考考、判斷斷才能夠夠了解軟軟件的功功能、性性能及其其他特性性。換句句話說,,軟件產(chǎn)產(chǎn)品具有有明顯的的非可視視特征。。(2)軟軟件的的生產(chǎn)與與硬件不不同。軟軟件是由由開發(fā)或或工程化化而形成成的,不不是由傳傳統(tǒng)意義義上的制制造過程程生產(chǎn)的的。雖然然軟件開開發(fā)和硬硬件制造造之間有有一些相相似之處處,可是是兩者在在本質(zhì)上上是不同同的。這這兩者都都能夠通通過良好好的設(shè)計(jì)計(jì)獲得高高質(zhì)量的的產(chǎn)品,,但即使使有了良良好的設(shè)設(shè)計(jì)和優(yōu)優(yōu)秀的樣樣品,硬硬件在批批量制造造過程中中仍然可可能引入入質(zhì)量問問題,這這種情況況對(duì)于軟軟件而言言幾乎不不存在。。軟件在開開發(fā)完畢畢,形成成為產(chǎn)品品之后,,其批量量制造過過程只是是簡(jiǎn)單的的拷貝//復(fù)制;;軟件的的開發(fā)和和硬件的的制造都都依賴于于人,但但參與者者和他們們完成的的工作之之間的關(guān)關(guān)系不同同;兩者者的終極極目的都都是建造造產(chǎn)品,,但方法法不同;;軟件的的成本集集中在開開發(fā)過程程上,而而硬件生生產(chǎn)的成成本更多多地表現(xiàn)現(xiàn)在原材材料消耗耗上。因因此,軟軟件項(xiàng)目目開發(fā)過過程不能能完全像像硬件制制造過程程那樣來來管理。。(3)軟軟件產(chǎn)產(chǎn)品不會(huì)會(huì)“磨損損”。和和硬件產(chǎn)產(chǎn)品類似似,軟件件產(chǎn)品也也會(huì)出現(xiàn)現(xiàn)故障。。所不同同的是,,硬件產(chǎn)產(chǎn)品的故故障多來來自外在在條件導(dǎo)導(dǎo)致的““磨損””或“老老化”,,而軟件件產(chǎn)品如如果發(fā)生生故障,,無一例例外的是是在設(shè)計(jì)計(jì)開發(fā)過過程中留留有隱患患。因此此,硬件件的故障障可以通通過簡(jiǎn)單單的更換換部件解解決,而而軟件的的故障必必須通過過全面的的軟件維維護(hù)活動(dòng)動(dòng)才有望望克服。。同時(shí),,不完善善的維護(hù)護(hù)活動(dòng)又又可能在在軟件中中注入新新的故障障,導(dǎo)致致軟件質(zhì)質(zhì)量的““退化””。也就就是說,,軟件故故障的修修復(fù)要比比硬件故故障的修修復(fù)復(fù)雜雜得多。。因此,,衡量軟軟件產(chǎn)品品質(zhì)量的的一個(gè)重重要指標(biāo)標(biāo)就是它它的“可可維護(hù)性性”。圖圖1.1是軟、、硬件產(chǎn)產(chǎn)品的失失效率曲曲線。圖1.1軟軟件/硬硬件產(chǎn)品品失效率率曲線1.1..3軟軟件發(fā)發(fā)展的階階段劃分分自從20世紀(jì)40年代代第一臺(tái)臺(tái)計(jì)算機(jī)機(jī)問世以以來,就就有了““程序””的概念念,可以以認(rèn)為它它是軟件件的前身身。經(jīng)過過了幾十十年的發(fā)發(fā)展,人人們對(duì)軟軟件有了了更為深深刻的認(rèn)認(rèn)識(shí),在在這幾十十年中,,軟件開開發(fā)經(jīng)歷歷了三個(gè)個(gè)發(fā)展階階段:20世紀(jì)紀(jì)50~~60年年代屬于于程序設(shè)設(shè)計(jì)階段段;20世紀(jì)60~70年代代為程序序系統(tǒng)階階段;20世紀(jì)紀(jì)70年年代之后后進(jìn)入軟軟件工程程階段。。各階段段的特點(diǎn)點(diǎn)與區(qū)別別見表1.2。。表1.2計(jì)計(jì)算機(jī)軟軟件發(fā)展展的三個(gè)個(gè)階段及及其特點(diǎn)點(diǎn)階段特點(diǎn)程序設(shè)計(jì)程序系統(tǒng)軟件工程軟件所指程序程序及說明書程序、文檔、數(shù)據(jù)主要程序設(shè)計(jì)語(yǔ)言匯編及機(jī)器語(yǔ)言高級(jí)語(yǔ)言軟件語(yǔ)言*軟件工作范圍程序編寫設(shè)計(jì)和測(cè)試整個(gè)軟件生命周期需求者程序設(shè)計(jì)者本人少數(shù)用戶市場(chǎng)用戶開發(fā)軟件的組織個(gè)人開發(fā)小組開發(fā)小組及大、中型開發(fā)機(jī)構(gòu)軟件規(guī)模小型中、小型大、中、小型階段特點(diǎn)程序設(shè)計(jì)程序系統(tǒng)軟件工程決定質(zhì)量的因素個(gè)人技術(shù)小組技術(shù)水平技術(shù)與管理水平開發(fā)技術(shù)和手段子程序、程序庫(kù)結(jié)構(gòu)化程序設(shè)計(jì)數(shù)據(jù)庫(kù)、開發(fā)工具、集成開發(fā)環(huán)境、工程化開發(fā)方法、標(biāo)準(zhǔn)和規(guī)范、網(wǎng)絡(luò)及分布式開發(fā)、面向?qū)ο蠹夹g(shù)、計(jì)算機(jī)輔助軟件工程維護(hù)責(zé)任者程序設(shè)計(jì)者開發(fā)小組專職維護(hù)人員硬件的特征高價(jià)、存儲(chǔ)量小、可靠性差降價(jià),速度、容量和可靠性明顯提高向超高速、大容量、網(wǎng)絡(luò)化、微型化方向發(fā)展軟件的特征完全不受重視軟件的技術(shù)發(fā)展不能滿足需求,出現(xiàn)軟件危機(jī)開發(fā)技術(shù)有進(jìn)步,但仍未完全擺脫軟件危機(jī)表1.2計(jì)計(jì)算機(jī)軟軟件發(fā)展展的三個(gè)個(gè)階段及及其特點(diǎn)點(diǎn)1.2軟軟件件危危機(jī)1.2..1軟軟件危危機(jī)及其其表現(xiàn)現(xiàn)代計(jì)算算機(jī)應(yīng)用用系統(tǒng)中中,軟件件的地位位日益重重要和突突出。如如何滿足足日益增增長(zhǎng)的軟軟件需求求,如何何維護(hù)應(yīng)應(yīng)用中的的大量已已有軟件件,已經(jīng)經(jīng)成為了了計(jì)算機(jī)機(jī)應(yīng)用系系統(tǒng)進(jìn)一一步發(fā)展展的瓶頸頸。1968年年,北大大西洋公公約組織織的計(jì)算算機(jī)科學(xué)學(xué)家們?cè)谠诼?lián)邦德德國(guó)召開開的國(guó)際際會(huì)議上上討論了了軟件危危機(jī)問題題,同時(shí)時(shí)也是在在這個(gè)會(huì)會(huì)議上提提出了““軟件工工程”這這個(gè)名詞詞,導(dǎo)致致了一門門新的工工程學(xué)科科的正式式誕生。。簡(jiǎn)單地說說,所謂謂軟件危危機(jī),就就是指在在軟件開開發(fā)和軟軟件維護(hù)護(hù)過程中中所存在在的一系系列嚴(yán)重重問題。。具體地地說,軟軟件危機(jī)機(jī)具有如如下一些些表現(xiàn)::(1)軟軟件開開發(fā)沒有有真正的的計(jì)劃性性,對(duì)軟軟件開發(fā)發(fā)進(jìn)度和和軟件開開發(fā)成本本的估計(jì)計(jì)常常很很不準(zhǔn)確確,計(jì)劃劃的制定定帶有很很大的盲盲目因素素,因此此工期超超出、成成本失控控的現(xiàn)象象經(jīng)常困困擾著軟軟件開發(fā)發(fā)者。(2)對(duì)對(duì)于軟軟件需求求信息的的獲取常常常不充充分,軟軟件產(chǎn)品品往往不不能真正正地滿足足用戶的的實(shí)際需需求。(3)缺缺乏良良好的軟軟件質(zhì)量量評(píng)測(cè)手手段,從從而導(dǎo)致致軟件產(chǎn)產(chǎn)品的質(zhì)質(zhì)量常常常得不到到保證。。(4)對(duì)對(duì)于軟軟件的可可理解性性、可維維護(hù)性認(rèn)認(rèn)識(shí)不夠夠;軟件件的可復(fù)復(fù)用性、、可維護(hù)護(hù)性不如如人意。。有些軟件件因?yàn)檫^過于“個(gè)個(gè)性化””,甚至至是難以以理解的的,更談?wù)劜簧线M(jìn)進(jìn)行維護(hù)護(hù)。缺乏乏可復(fù)用用性引起起的大量量重復(fù)性性勞動(dòng)極極大地降降低了軟軟件的開開發(fā)效率率。(5)軟軟件開開發(fā)過程程沒有實(shí)實(shí)現(xiàn)“規(guī)規(guī)范化””,缺乏乏必要的的文檔資資料或者者文檔資資料不合合格、不不準(zhǔn)確,,難以進(jìn)進(jìn)行專業(yè)業(yè)維護(hù)。。(6)軟軟件開開發(fā)的人人力成本本持續(xù)上上升,如如美國(guó)在在1995年的的軟件開開發(fā)成本本已經(jīng)占占到了計(jì)計(jì)算機(jī)系系統(tǒng)成本本的90%(如如圖1..2所示示)。(7)缺缺乏自自動(dòng)化的的軟件開開發(fā)技術(shù)術(shù),軟件件開發(fā)的的生產(chǎn)率率依然低低下,遠(yuǎn)遠(yuǎn)遠(yuǎn)滿足足不了急急劇增長(zhǎng)長(zhǎng)的軟件件需求((如圖1.3所所示)。。圖1.2計(jì)計(jì)算機(jī)系系統(tǒng)硬件件、軟件件成本比比例變化化圖1.3軟件技術(shù)術(shù)的發(fā)展展落后于于需求軟件危機(jī)機(jī)曾經(jīng)是是歷史上上的陰影影,目前前軟件工工程界也也仍然在在一定程程度上受受到它的的影響。。軟件工工程概念念的提出出,正是是為了克克服軟件件危機(jī)。。自1968年年以來,,隨著軟軟件工程程學(xué)的不不斷發(fā)展展,軟件件危機(jī)得得到了一一定程度度的遏制制,但還還遠(yuǎn)遠(yuǎn)沒沒有被徹徹底解決決?!禩heStandishGroup..Chaos.1995.》一文報(bào)告告了20世紀(jì)90年代代中期美美國(guó)商用用軟件產(chǎn)產(chǎn)業(yè)的情情況:1995年美國(guó)國(guó)公司取取消了810億億美元的的軟件項(xiàng)項(xiàng)目;在在所考察察的軟件件項(xiàng)目中中,在完完成前就就取消了了其中的的31%%;53%的軟軟件項(xiàng)目目進(jìn)度拖拖延,通通常拖延延的時(shí)間間超過預(yù)預(yù)定工期期50%%以上;;只有9%的大大型軟件件項(xiàng)目能能夠及時(shí)時(shí)交付且且費(fèi)用不不超支((對(duì)中型型和小型型軟件公公司來說說這一數(shù)數(shù)據(jù)為16%))。1.2..2產(chǎn)產(chǎn)生軟軟件危機(jī)機(jī)的原因因軟件危機(jī)機(jī)的存在在是不爭(zhēng)爭(zhēng)的事實(shí)實(shí)。產(chǎn)生生軟件危危機(jī)的原原因可以以歸納為為主、客客觀兩個(gè)個(gè)方面。。從客觀上上來看,,軟件不不同于硬硬件,它它的生產(chǎn)產(chǎn)過程和和產(chǎn)品都都具有明明顯的““不可視視”特征征,這就就導(dǎo)致在在完成編編碼并且且上機(jī)運(yùn)運(yùn)行之前前,對(duì)于于軟件開開發(fā)過程程的進(jìn)展展情況較較難衡量量,軟件件產(chǎn)品的的質(zhì)量也也較難進(jìn)進(jìn)行先期期評(píng)價(jià),,因此,,對(duì)于開開發(fā)軟件件的過程程進(jìn)行管管理和控控制比較較困難。。在軟件件工程的的早期,,制定詳詳細(xì)的開開發(fā)計(jì)劃劃并且進(jìn)進(jìn)行全程程跟蹤調(diào)調(diào)控,對(duì)對(duì)于所有有的階段段產(chǎn)品和和階段工工作進(jìn)展展進(jìn)行技技術(shù)審查查和管理理復(fù)審,,可望在在一定程程度上克克服“開開發(fā)過程程不可視視”造成成的消極極影響。。此外,軟軟件運(yùn)行行過程中中如果發(fā)發(fā)現(xiàn)了錯(cuò)錯(cuò)誤,那那么必然然是遇到到了在開開發(fā)時(shí)期期(分析析、設(shè)計(jì)計(jì)、編碼碼過程))引入的的,在檢檢測(cè)過程程中沒有有能夠檢檢查出來來的故障障。對(duì)于于此類故故障的維維護(hù),通通常意味味著要修修改早期期的分析析結(jié)果、、設(shè)計(jì)結(jié)結(jié)果并調(diào)調(diào)整編碼碼。由于于軟件產(chǎn)產(chǎn)品的不不可視特特征,維維護(hù)過程程不像硬硬件產(chǎn)品品維護(hù)時(shí)時(shí)只要簡(jiǎn)簡(jiǎn)單的更更換損壞壞部件那那樣容易易,這在在客觀上上造成了了軟件難難以維護(hù)護(hù)的結(jié)果果。利用用足夠的的文檔資資料使不不可視的的產(chǎn)品可可視化,,有助于于提升軟軟件產(chǎn)品品的可理理解性和和可維護(hù)護(hù)性。從主觀上上分析,,導(dǎo)致軟軟件危機(jī)機(jī)發(fā)生的的另一大大原因,,可以歸歸于在計(jì)計(jì)算機(jī)系系統(tǒng)發(fā)展展的早期期,軟件件開發(fā)的的“個(gè)體體化”特特點(diǎn),主主要表現(xiàn)現(xiàn)為忽視視軟件需需求分析析的重要要性、忽忽視軟件件的可理理解性、、文檔不不完備、、輕視軟軟件的可可維護(hù)性性、過分分強(qiáng)調(diào)編編碼技巧巧等等方方面。只有軟件件的用戶戶才真正正了解他他們自己己的需求求。而且且應(yīng)當(dāng)承承認(rèn),用用戶一開開始并不不見得能能夠清晰晰、準(zhǔn)確確、無二二意地表表達(dá)自己己的需求求。軟件件開發(fā)人人員需要要做大量量的、深深入細(xì)致致的調(diào)研研工作,,引導(dǎo)用用戶逐步步準(zhǔn)確、、具體地地描述軟軟件的需需求,才才能夠得得到對(duì)問問題、目目標(biāo)的正正確認(rèn)識(shí)識(shí),從而而獲得解解決問題題的恰當(dāng)當(dāng)出發(fā)點(diǎn)點(diǎn),有望望開發(fā)出出真正能能夠滿足足用戶需需求的軟軟件產(chǎn)品品。在對(duì)對(duì)用戶的的需求沒沒有清楚楚的認(rèn)識(shí)識(shí)時(shí)就倉(cāng)倉(cāng)促進(jìn)行行程序編編寫,最最終必然然會(huì)導(dǎo)致致開發(fā)工工作的失失敗。一般來說說,軟件件產(chǎn)品從從策劃、、定義、、開發(fā)、、使用與與維護(hù)直直到最后后廢棄,,要經(jīng)過過一個(gè)漫漫長(zhǎng)的時(shí)時(shí)期,通通常把這這個(gè)時(shí)期期稱為軟軟件的““生命周周期”。??梢砸詫⑸芷诜址肿鳌败涇浖x義”、““軟件開開發(fā)”和和“運(yùn)行行與維護(hù)護(hù)”三個(gè)個(gè)階段。。在軟件定定義階段段中,主主要進(jìn)行行軟件目目標(biāo)的策策劃、可可行性研研究和軟軟件的需需求分析析工作,,通過和和用戶多多次交流流,在所所要開發(fā)發(fā)的軟件件必須““作什么么”方面面和用戶戶達(dá)成一一致(當(dāng)當(dāng)然在開開發(fā)過程程中也允允許在嚴(yán)嚴(yán)格的控控制下進(jìn)進(jìn)行需求求變更))。軟件被定定義之后后,進(jìn)入入開發(fā)階階段,主主要對(duì)軟軟件的體體系架構(gòu)構(gòu)、數(shù)據(jù)據(jù)結(jié)構(gòu)和和主要算算法進(jìn)行行設(shè)計(jì)和和編碼實(shí)實(shí)現(xiàn)。對(duì)對(duì)于編碼碼結(jié)果,,還要按按照規(guī)范范進(jìn)行測(cè)測(cè)試后,,才能最最終交付付使用。。如前所所述,在在開發(fā)階階段也可可能對(duì)于于此前不不夠準(zhǔn)確確的軟件件定義結(jié)結(jié)果進(jìn)行行調(diào)整。。統(tǒng)計(jì)數(shù)數(shù)據(jù)表明明,在典典型的軟軟件工程程過程中中,編碼碼工作量量大約只只占軟件件開發(fā)全全部工作作量的15%~~20%%。軟件的運(yùn)運(yùn)行與維維護(hù)階段段在軟件件生命周周期中占占據(jù)的比比例最大大。在軟軟件運(yùn)行行過程中中,分析析和設(shè)計(jì)計(jì)階段的的一些遺遺留缺陷陷可能會(huì)會(huì)逐步暴暴露;運(yùn)運(yùn)行環(huán)境境的演變變也會(huì)對(duì)對(duì)運(yùn)行中中的軟件件提出變變更要求求;用戶戶新需求求的提出出則常常常要求擴(kuò)擴(kuò)充現(xiàn)有有軟件的的功能或或者改進(jìn)進(jìn)其性能能,所有有這些要要求與問問題都必必須通過過“軟件件維護(hù)””工作去去解決。。在維護(hù)護(hù)過程中中,必須須注意保保持所有有軟件工工作產(chǎn)品品之間的的一致性性。針對(duì)對(duì)不同的的需求,,維護(hù)工工作一般般可以分分為糾錯(cuò)錯(cuò)性維護(hù)護(hù)、適應(yīng)應(yīng)性維護(hù)護(hù)、擴(kuò)充充性維護(hù)護(hù)和預(yù)防防性維護(hù)護(hù)等不同同類型。。作為軟件件,應(yīng)當(dāng)當(dāng)有一個(gè)個(gè)完整的的配置。。Boehm(美國(guó)著名名的軟件件工程專專家,加加州州立立大學(xué)教教授)指指出,““軟件是是程序以以及開發(fā)發(fā)、使用用、維護(hù)護(hù)程序所所需要的的所有文文檔”。。所以以,軟件件產(chǎn)品除除包括程程序之外外,應(yīng)當(dāng)當(dāng)包括完完整、準(zhǔn)準(zhǔn)確、翔翔實(shí)的文文檔資料料。主要要的文檔檔應(yīng)當(dāng)包包括“需需求規(guī)格格說明書書”、““體系結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)說明書書”、““詳細(xì)設(shè)設(shè)計(jì)說明明書”、、“安裝裝手冊(cè)””、“操操作手冊(cè)冊(cè)”、““系統(tǒng)管管理員手手冊(cè)”等等。缺乏乏必要的的配置文文檔,將將嚴(yán)重影影響軟件件的可理理解性,,從而給給軟件的的維護(hù)造造成嚴(yán)重重障礙。。做好包括括項(xiàng)目策策劃、可可行性研研究、需需求分析析三項(xiàng)內(nèi)內(nèi)容的軟軟件定義義工作,,是提高高軟件質(zhì)質(zhì)量、降降低軟件件成本、、保證開開發(fā)進(jìn)度度的關(guān)鍵鍵環(huán)節(jié)。。值得注意意的嚴(yán)重重問題是是,在軟軟件開發(fā)發(fā)的不同同階段進(jìn)進(jìn)行修改改所付出出的代價(jià)價(jià)是極其其不同的的。在早早期引入入變動(dòng),,涉及的的面比較較小,因因而代價(jià)價(jià)也比較較低;在在開發(fā)的的中期,,因?yàn)樵S許多配置置項(xiàng)(被被標(biāo)識(shí)的的工作產(chǎn)產(chǎn)品)已已經(jīng)完成成,所以以引入一一個(gè)變動(dòng)動(dòng),就要要對(duì)它所所涉及的的所有已已經(jīng)完成成的配置置項(xiàng)進(jìn)行行變更,,不僅工工作量大大,而且且邏輯上上也更復(fù)復(fù)雜,因因此付出出的代價(jià)價(jià)劇增;;如果在在軟件““已經(jīng)完完成”時(shí)時(shí)再引入入變更,,更是要要付出高高得多的的代價(jià)。。根據(jù)美美國(guó)一些些軟件公公司的統(tǒng)統(tǒng)計(jì)資料料,軟件件開發(fā)后后期引入入一個(gè)變變動(dòng)比在在早期引引入相同同變動(dòng)所所需付出出的代價(jià)價(jià)高2~~3個(gè)數(shù)數(shù)量級(jí)。。圖1.4定定性地描描繪了在在不同時(shí)時(shí)期引入入一個(gè)變變動(dòng)需要要付出的的代價(jià)的的變動(dòng)趨趨勢(shì)。圖圖1.5是美國(guó)國(guó)貝爾實(shí)實(shí)驗(yàn)室統(tǒng)統(tǒng)計(jì)得出出的定量量結(jié)果。。圖1.4變變更代價(jià)價(jià)隨時(shí)間間變化的的趨勢(shì)示示意圖1.5改改正一個(gè)個(gè)問題需需要付出出的代價(jià)價(jià)1.2..3解解決軟軟件危機(jī)機(jī)的途徑徑可以借鑒鑒其他工工程領(lǐng)域域的成功功經(jīng)驗(yàn),,基于軟軟件危機(jī)機(jī)產(chǎn)生的的主、客客觀原因因,從軟軟件工程程技術(shù)和和軟件工工程管理理兩方面面來采取取措施,,防范軟軟件危機(jī)機(jī)的發(fā)生生。軟件開發(fā)發(fā)不是某某種個(gè)體體勞動(dòng)的的神秘技技巧,而而應(yīng)當(dāng)是是一種組組織良好好、管理理嚴(yán)密,,分析、、設(shè)計(jì)、、編碼、、測(cè)試、、品保等等各類人人員協(xié)同同配合、、共同完完成的工工程項(xiàng)目目。在軟軟件開發(fā)發(fā)過程中中,必須須充分吸吸收和借借鑒人類類長(zhǎng)期以以來從事事各種工工程項(xiàng)目目所積累累的行之之有效的的原理、、概念、、技術(shù)和和方法,,特別要要注意吸吸收幾十十年來在在計(jì)算機(jī)機(jī)硬件研研究和開開發(fā)中積積累的經(jīng)經(jīng)驗(yàn)、教教訓(xùn)。從管理層層面上考考慮,應(yīng)應(yīng)當(dāng)注意意推廣和和使用在在實(shí)踐中中總結(jié)出出來的開開發(fā)軟件件的成功功的技術(shù)術(shù)和方法法,并且且探索更更好的、、更有效效的技術(shù)術(shù)和方法法,注意意積累軟軟件開發(fā)發(fā)過程中中的經(jīng)驗(yàn)驗(yàn)數(shù)據(jù)財(cái)財(cái)富,逐逐步消除除在計(jì)算算機(jī)系統(tǒng)統(tǒng)早期發(fā)發(fā)展階段段形成的的一些錯(cuò)錯(cuò)誤概念念和做法法。建立立適合于于本組織織的軟件件工程規(guī)規(guī)范;制制定軟件件開發(fā)中中各個(gè)工工作環(huán)節(jié)節(jié)的流程程文件、、工作指指南和階階段工作作產(chǎn)品模模板;實(shí)實(shí)施針對(duì)對(duì)軟件開開發(fā)全過過程的計(jì)計(jì)劃跟蹤蹤和品質(zhì)質(zhì)管理活活動(dòng);為為每一項(xiàng)項(xiàng)工程開開發(fā)活動(dòng)動(dòng)建立配配置管理理庫(kù);實(shí)實(shí)施嚴(yán)格格的產(chǎn)品品基線管管理并建建立組織織的軟件件過程數(shù)數(shù)據(jù)庫(kù)和和軟件財(cái)財(cái)富庫(kù);;為各類類員工及及時(shí)提供供必要的的培訓(xùn)等等等都是是加強(qiáng)軟軟件開發(fā)發(fā)活動(dòng)管管理工作作的有效效手段。。從技術(shù)角角度考慮慮,應(yīng)當(dāng)當(dāng)開發(fā)和和使用更更好的軟軟件開發(fā)發(fā)工具,,提高軟軟件開發(fā)發(fā)效率和和開發(fā)工工作過程程的規(guī)范范化程度度。在計(jì)計(jì)算機(jī)軟軟件開發(fā)發(fā)的各個(gè)個(gè)階段,,都有大大量的繁繁瑣重復(fù)復(fù)的工作作要做,,在適當(dāng)當(dāng)?shù)能浖ぞ叩牡妮o助下下,開發(fā)發(fā)人員可可以把這這類工作作做的既既快又好好。目前前廣為使使用的統(tǒng)統(tǒng)一建模模語(yǔ)言((UML))、各種配置置管理工工具、缺缺陷管理理工具和和自動(dòng)測(cè)測(cè)試工具具都在軟軟件工程程活動(dòng)中中發(fā)揮了了很好的的作用。。計(jì)算機(jī)機(jī)輔助軟軟件工程程(CASE)更是目前前備受重重視的一一個(gè)旨在在實(shí)現(xiàn)軟軟件開發(fā)發(fā)自動(dòng)化化的新的的領(lǐng)域。。1.3軟件工程程的產(chǎn)生生及其發(fā)發(fā)展1968年,北北大西洋洋公約組組織的計(jì)計(jì)算機(jī)科科學(xué)家們們?cè)谠?lián)聯(lián)邦德國(guó)國(guó)召開的的國(guó)際會(huì)會(huì)議上,,針對(duì)軟軟件危機(jī)機(jī)的嚴(yán)峻峻形勢(shì),,提出了了把在其其他工程程領(lǐng)域中中行之有有效的一一些工程程學(xué)知識(shí)識(shí)運(yùn)用到到軟件開開發(fā)過程程中來,,從管理理和技術(shù)術(shù)兩個(gè)方方面研究究如何更更好地開開發(fā)和維維護(hù)計(jì)算算機(jī)軟件件的設(shè)想想。這也也就是軟軟件工程程的基本本思路。。在這次次會(huì)議上上首次提提出并使使用了““軟件工工程”這這一術(shù)語(yǔ)語(yǔ)。簡(jiǎn)單地說說,軟件件工程是是指導(dǎo)軟軟件開發(fā)發(fā)和維護(hù)護(hù)的工程程學(xué)科。。它的核核心思想想是采用用工程的的概念、、原理、、技術(shù)和和方法來來開發(fā)和和維護(hù)軟軟件,把把經(jīng)過實(shí)實(shí)踐考驗(yàn)驗(yàn)而證明明是正確確的管理理技術(shù)和和當(dāng)前能能夠得到到的最好好的技術(shù)術(shù)方法結(jié)結(jié)合起來來,從而而大大提提高軟件件開發(fā)的的成功率率和生產(chǎn)產(chǎn)率。許許多計(jì)算算機(jī)專家家都曾經(jīng)經(jīng)描述過過“軟件件工程””的定義義。Boehm曾為軟件件工程下下過定義義:“運(yùn)運(yùn)用現(xiàn)代代科學(xué)技技術(shù)知識(shí)識(shí)來設(shè)計(jì)計(jì)并構(gòu)造造計(jì)算機(jī)機(jī)程序及及為開發(fā)發(fā)、運(yùn)行行和維護(hù)護(hù)這些程程序所必必需的相相關(guān)文件件資料””。1983年,IEEE(電氣和電電子工程程師協(xié)會(huì)會(huì))給出出的軟件件工程定定義為::“軟件件工程是是開發(fā)、、運(yùn)行、、維護(hù)和和修復(fù)軟軟件的系系統(tǒng)方法法”。FritzBauer(美國(guó)著名名的軟件件工程專專家)則則給出了了另一個(gè)個(gè)關(guān)于軟軟件工程程學(xué)的定定義:““建立并并使用完完善的工工程化原原則,以以較經(jīng)濟(jì)濟(jì)的手段段獲得能能在實(shí)際際機(jī)器上上有效運(yùn)運(yùn)行的可可靠軟件件的一系系列方法法”。后來又有有一些從從事軟件件工程方方法學(xué)研研究的人人陸續(xù)提提出了許許多更為為完善的的軟件工工程的定定義,但但主要思思想都是是強(qiáng)調(diào)軟軟件開發(fā)發(fā)過程中中需要應(yīng)應(yīng)用工程程化原則則的重要要性。IEEE給出了關(guān)關(guān)于軟件件工程的的一個(gè)更更加綜合合的定義義:(1)將將系統(tǒng)統(tǒng)化的、、規(guī)范的的、可度度量的方方法應(yīng)用用于軟件件的開發(fā)發(fā)、運(yùn)行行和維護(hù)護(hù)過程。。即將工工程化方方法應(yīng)用用于軟件件開發(fā)與與維護(hù)過過程中。。(2)對(duì)對(duì)上述述方法的的研究。。就內(nèi)容來來看,軟軟件工程程應(yīng)當(dāng)包包括三個(gè)個(gè)要素::方法、、工具和和過程。。軟件工工程方法法為軟件件開發(fā)提提供了““如何做做某項(xiàng)工工作”的的技術(shù)指指南。它它包括了了多方面面的任務(wù)務(wù)。例如如項(xiàng)目策策劃和估估算方法法、軟件件需求分分析方法法、體系系結(jié)構(gòu)的的設(shè)計(jì)方方法、詳詳細(xì)設(shè)計(jì)計(jì)方法、、軟件測(cè)測(cè)試方法法等等。。使得整整個(gè)開發(fā)發(fā)過程的的每一種種階段任任務(wù)都能能夠“有有章可循循”。軟件工程程工具為為軟件工工程方法法提供了了自動(dòng)的的或半自自動(dòng)的軟軟件支撐撐環(huán)境。。目前這這樣的工工具已經(jīng)經(jīng)有許多多種,而而且已經(jīng)經(jīng)有人把把諸多軟軟件工程程工具集集成起來來,使得得一種工工具產(chǎn)生生的信息息可以為為其他工工具所使使用,形形成了一一種稱之之為計(jì)算算機(jī)輔助

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。