軟件工程總體介紹_第1頁
軟件工程總體介紹_第2頁
軟件工程總體介紹_第3頁
軟件工程總體介紹_第4頁
軟件工程總體介紹_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件工程總體介紹意外效應(yīng)法則與計算機(jī)軟件

某些新科技的發(fā)明創(chuàng)造會給其他一些看似無關(guān)的技術(shù)領(lǐng)域、給商務(wù)企業(yè)、給公眾甚至整個社會文化帶來深遠(yuǎn)而出人意料的影響和作用。這就是所謂的“意外效應(yīng)法則(thelawofunintendedconsequences)”。計算機(jī)軟件已經(jīng)成為世界舞臺上最為重要的科技領(lǐng)域,并且是“意外效應(yīng)法則”的一個最好的體現(xiàn)。

軟件的角色現(xiàn)在的軟件具有產(chǎn)品和產(chǎn)品生產(chǎn)載體的雙重作用。作為一個產(chǎn)品,它顯示了由計算機(jī)硬件體現(xiàn)的計算能力。無論是在手機(jī)還是在大型計算機(jī)中,軟件都扮演著信息轉(zhuǎn)換的角色:產(chǎn)生、管理、查詢、修改、顯示或者傳遞各種不同的信息。 作為產(chǎn)品生產(chǎn)的載體,軟件提供了計算機(jī)控制(操作系統(tǒng))、信息通信(網(wǎng)絡(luò))、以及應(yīng)用程序開發(fā)和控制(軟件工具和環(huán)境)的基礎(chǔ)平臺。軟件的特性軟件是設(shè)計開發(fā)的,而不是傳統(tǒng)意義上的生產(chǎn)制造。軟件產(chǎn)品成本主要在于開發(fā)設(shè)計,不能像管理制造項目那樣管理軟件開發(fā)項目。軟件不會“磨損”。磨損的硬件部件可以用備用的器件替換。而軟件卻不存在備用器件。每個軟件的錯誤都暗示了設(shè)計的缺陷或者在從設(shè)計轉(zhuǎn)化到機(jī)器可執(zhí)行代碼的過程中產(chǎn)生的錯誤。因此,軟件維護(hù)比硬件維護(hù)更為復(fù)雜。雖然整個工業(yè)向著基于組件組裝的構(gòu)造模式發(fā)展,然而大多數(shù)軟件仍是根據(jù)實際的顧客需求定制的。在硬件設(shè)計中,器件復(fù)用是工程進(jìn)程中通用的方法。而在軟件設(shè)計中,大規(guī)模的復(fù)用還剛剛開始嘗試。軟件的分類系統(tǒng)軟件應(yīng)用軟件工程/科學(xué)軟件嵌入式軟件產(chǎn)品線軟件Web應(yīng)用軟件人工智能軟件

未來工程師將面臨的挑戰(zhàn):普適計算:無線網(wǎng)絡(luò)的快速發(fā)展也許將很快促成真正的分布式計算的實現(xiàn)。軟件工程師所面臨的挑戰(zhàn)將是開發(fā)系統(tǒng)和應(yīng)用軟件,以使得小型設(shè)備、個人電腦和企業(yè)應(yīng)用可以通過大量的網(wǎng)絡(luò)設(shè)施進(jìn)行通信。網(wǎng)絡(luò)資源:萬維網(wǎng)已經(jīng)快速發(fā)展為一個計算引擎和內(nèi)容提供平臺。軟件工程師新的任務(wù)是構(gòu)建一個簡單而智能的應(yīng)用程序,為全世界的最終用戶市場提供服務(wù)。開源軟件:軟件工程師面對的挑戰(zhàn)是,開發(fā)可以自我描述的代碼,而更重要的是,開發(fā)某種技術(shù),以便于用戶和開發(fā)人員都能夠了解已經(jīng)發(fā)生的改動,并且知道這些改動如何在軟件中體現(xiàn)出來?!靶陆?jīng)濟(jì)”:90年代后期困擾金融市場的網(wǎng)絡(luò)經(jīng)濟(jì)衰退以及21世紀(jì)初隨之而來的討論使得許多商業(yè)人士相信,新經(jīng)濟(jì)已經(jīng)衰亡?,F(xiàn)在,新經(jīng)濟(jì)體系依然健康地生存著,只是發(fā)展緩慢。它將朝著多點(diǎn)通信和分布式的方向發(fā)展。軟件工程師面臨的挑戰(zhàn)是利用最新形成的理念,開發(fā)出便于大眾傳媒,產(chǎn)品發(fā)布的應(yīng)用程序。

軟件危機(jī)

軟件危機(jī)是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。這些問題絕不僅僅是不能正常運(yùn)行的軟件才具有的,實際上,幾乎所有軟件都不同程度地存在這些問題。

概括地說,軟件危機(jī)包含下述兩個方面的問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。具體來說,軟件危機(jī)主要有以下一些典型表現(xiàn):對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確。用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件常常是不可維護(hù)的。軟件通常沒有適當(dāng)?shù)奈臋n資料。軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件開發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,也遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢。以上列舉的僅僅是軟件危機(jī)的一些明顯的表現(xiàn),與軟件開發(fā)和維護(hù)有關(guān)的問題遠(yuǎn)遠(yuǎn)不止這些。如何擺脫軟件危機(jī)?按工程化的原則和方法組織軟件開發(fā)工作。軟件生存期lifecycle軟件有一個孕育、誕生、成長、成熟、衰亡的生存過程。這個過程即為計算機(jī)軟件的生存期軟件生存期的六個步驟,即制定計劃、需求分析、設(shè)計、程序編碼、測試及運(yùn)行維護(hù)軟件工程的定義Boehm:運(yùn)用現(xiàn)代科學(xué)技術(shù)知識來設(shè)計并構(gòu)造計算機(jī)程序及為開發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料IEEE:軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法軟件工程三要素:

方法、工具和過程軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù)軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境軟件工程過程定義了:

方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開發(fā)各個階段完成的里程碑軟件工程項目的基本目標(biāo)付出較低的開發(fā)成本達(dá)到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護(hù)費(fèi)用能按時完成開發(fā)工作,及時交付使用軟件工程知識體(SoftwareEngineeringBodyofKnowledge,SWEBOK)

2001年由IEEE_CS發(fā)布的SWEBOK對軟件工程學(xué)科的邊界進(jìn)行了定義,將軟件工程劃分為10個知識域(KA),并詳細(xì)列出了每個知識域中的知識點(diǎn),2004年IEEE_CS又發(fā)布了新版的SWEBOK的框架。

需求基礎(chǔ)需求過程需求提取需求分析需求規(guī)范需求管理需求確認(rèn)設(shè)計基礎(chǔ)關(guān)鍵問題體系結(jié)構(gòu)設(shè)計質(zhì)量分析和評估測試基礎(chǔ)測試級別測試技術(shù)SWEBOK指南軟件需求軟件設(shè)計軟件構(gòu)造

軟件測試軟件維護(hù)軟件配置管理軟件工程管理軟件工程過程軟件工程工具和方法軟件質(zhì)量軟件設(shè)計符號軟件設(shè)計策略方法測量措施測試過程維護(hù)基礎(chǔ)維護(hù)過程關(guān)鍵問題維護(hù)技術(shù)SCM過程管理配置標(biāo)識配置控制軟件發(fā)行版本管理軟件構(gòu)造基礎(chǔ)軟件維護(hù)構(gòu)造實踐考慮配置狀態(tài)報告啟動域定義項目規(guī)劃配置控制軟件工程度量審核評估終止過程實施過程變更過程定義過程評估過程度量產(chǎn)品度量軟件質(zhì)量基礎(chǔ)軟件質(zhì)量管理過程實踐考慮軟件工具軟件方法需求工具設(shè)計工具構(gòu)造工具測試工具配置工具工程管理工具過程管理工具質(zhì)量管理工具其它工具啟發(fā)式方法形式化方法原型法除了上述知識域之外,還列出了相關(guān)學(xué)科的知識域,主要包括:計算機(jī)工程、計算機(jī)科學(xué)、管理、數(shù)學(xué)、系統(tǒng)工程等。

軟件神話引起軟件危機(jī)的諸多原因可以追溯到軟件開發(fā)的早期階段產(chǎn)生的神話。軟件神話具有一些特征使得它們很有欺騙性:例如,它們表面上看很有道理(有時含有一定真實的成分);它們符合人的直覺;它們常常是有經(jīng)驗的實踐者發(fā)布出來的。神話1:我們已經(jīng)有了關(guān)于建造軟件的標(biāo)準(zhǔn)和規(guī)程的書籍,難道它們不能給人們提供所有其需要知道的信息嗎?事實:不錯,關(guān)于標(biāo)準(zhǔn)的書籍已經(jīng)存在,但真正用到了它們嗎?軟件實踐者知道它們的存在嗎?它們完整嗎?很多情況下,對于這些問題的答案均是“不”。神話2:如果我們已經(jīng)落后于計劃,可以增加更多的程序員來趕上進(jìn)度。事實:軟件開發(fā)并非象制造一樣是一個機(jī)械過程。用Brooks的話來說:“給一個已經(jīng)延遲的軟件項目增加人手只會使其更加延遲”??雌饋?,這句話與人的直覺正好相反。但實際上,增加新人

溫馨提示

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

最新文檔

評論

0/150

提交評論