軟件、軟件危機、軟件工程方案_第1頁
軟件、軟件危機、軟件工程方案_第2頁
軟件、軟件危機、軟件工程方案_第3頁
軟件、軟件危機、軟件工程方案_第4頁
軟件、軟件危機、軟件工程方案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

軟件、軟件危機、軟件工程方案

1、軟件及其特性

第一個寫軟件的人是Ada(AugustaAdaLovelace),在1860年代他嘗試為Babbage

(CharlesBabbage)的機械式計算機寫軟件。盡管他們的努力失敗了,但他們的名字永遠(yuǎn)

載入了計算機發(fā)展的史冊。

在1950年代,軟件伴隨著第一臺電子計算機的問世誕生了。以寫軟件為職業(yè)的人也開

始出現(xiàn),他們多是經(jīng)過訓(xùn)練的數(shù)學(xué)家和電子工程師。1960年代美國大學(xué)里開始出現(xiàn)授予計

算機專業(yè)的學(xué)位,教人們寫軟件。

本世紀(jì)中葉軟件產(chǎn)業(yè)從零開始起步,在短短的50年的時間里迅速發(fā)展成為推動人類社

會發(fā)展的龍頭產(chǎn)業(yè),并造就了一批百萬、億萬富翁。隨著信息產(chǎn)業(yè)的發(fā)展,軟件對人類社會

性越來越重要。

那么,如何給軟件定義哪?軟件是什么?

首先要說明的是,軟件對于人類而言是一個全新的東西,其發(fā)展歷史不過四、五十年。

人們對軟件的認(rèn)識經(jīng)歷了一個由淺到深的過程。

在計算機系統(tǒng)發(fā)展的初期,硬件通常用來執(zhí)行一個單一的程序,而這個程序又是為一個

特定的目的而編制的。早期當(dāng)通用硬件成為平常事情的時候,軟件的通用性卻是很有限的。

大多數(shù)軟件是由使用該軟件的個人或機構(gòu)研制的,軟件往往帶有強烈的個人色彩。早期的軟

件開發(fā)也沒有什么系統(tǒng)的方法可以遵循,軟件設(shè)計是在某個人的頭腦中完成的一個隱藏的過

程。而且,除了源代碼往往沒有軟件說明書等文檔。

從60年代中期到70年代中期是計算機系統(tǒng)發(fā)展的第二個時期,在這一時期軟件開始作

為一種產(chǎn)品被廣泛使用,出現(xiàn)了“軟件作坊”專職應(yīng)別人的需求寫軟件。這一軟件開發(fā)的方

法基本上仍然沿用早期的個體化軟件開發(fā)方式,但軟件的數(shù)量急劇膨脹,軟件需求日趨復(fù)

雜,維護(hù)的難度越來越大,開發(fā)成本令人吃驚地高,而失敗的軟件開發(fā)項目卻屢見不鮮。

“軟件危機”就這樣開始了!

“軟件危機”使得人們開始對軟件及其特性進(jìn)行更深一步的研究,人們改變了早期對軟

件的不正確看法。早期那些被認(rèn)為是優(yōu)秀的程序常常很難被別人看懂,通篇充滿了程序技

巧。現(xiàn)在人們普遍認(rèn)為優(yōu)秀的程序除了功能正確,性能優(yōu)良之外,還應(yīng)該容易看懂、容易使

用、容易修改和擴充。

現(xiàn)在,被普遍接受的軟件的定義是:

軟件(software)是計算機系統(tǒng)中與硬件(hardware)相互依存的另一部分,它包括程序

(program)、相關(guān)數(shù)據(jù)(data)及其說明文檔(bbbbbbbb)。

其中程序是按照事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是是程序能正常操縱

信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)維護(hù)和使用有關(guān)的各種圖文資料。

軟件同傳統(tǒng)的工業(yè)產(chǎn)品相比,有其獨特的特性:

1)軟件是一種邏輯實體,具有抽象性。這個特點使它與其它工程對象有著明顯的差

異。人們可以把它記錄在紙上、內(nèi)存、和磁盤、光盤上,但卻無法看到軟件本身的形態(tài),必

須通過觀察、分析、思考、判斷,才能了解它的功能、性能等特性。

2)軟件沒有明顯的制造過程。一旦研制開發(fā)成功,就可以大量拷貝同一內(nèi)容的副本。

所以對軟件的質(zhì)量控制,必須著重在軟件開發(fā)方面下工夫。

3)軟件在使用過程中,沒有磨損、老化的問題。軟件在生存周期后期不會因為磨損而

老化,但會為了適應(yīng)硬件、環(huán)境以及需求的變化而進(jìn)行修改,而這些修改有不可避免的引入

錯誤,導(dǎo)致軟件失效率升高,從而似的軟件退化。當(dāng)修改的成本變得難以接受時,軟件就被

拋棄。

4)軟件對硬件和環(huán)境有著不同程度的依賴性。這導(dǎo)致了軟件移植的問題。

5)軟件的開發(fā)至今尚未完全擺脫手工作坊式的開發(fā)方式,生產(chǎn)效率低。

6)軟件是復(fù)雜的,而且以后會更加復(fù)雜。軟件是人類有史以來生產(chǎn)的復(fù)雜度最高的工

業(yè)產(chǎn)品。軟件涉及人類社會的各行各業(yè)、方方面面,軟件開發(fā)常常涉及其它領(lǐng)域的專門知

識,這對軟件工程師提出了很高的要求。

7)軟件的成本相當(dāng)昂貴。軟件開發(fā)需要投入大量、高強度的腦力勞動,成本非常高,

風(fēng)險也大?,F(xiàn)在軟件的開銷已大大超過了硬件的開銷。[NextPage]

8)軟件工作牽涉到很多社會因素。許多軟件的開發(fā)和運行涉及機構(gòu)、體制和管理方式

等問題,還會設(shè)計到人們的觀念和心理。這些人的因素,常常成為軟件開發(fā)的困難所在,直

接影響到項目的成敗。

2、軟件危機及其原因

軟件危機指的是在計算機軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。

1968年北大西洋公約組織的計算機科學(xué)家在聯(lián)邦德國召開的國際學(xué)術(shù)會議上第一次提

出了"軟件危機"(softwarecrisis)這個名詞。

概括來說,軟件危機包含兩方面問題:一、如何開發(fā)軟件,以滿足不斷增長,H越復(fù)雜

的需求;二、如何維護(hù)數(shù)量不斷膨脹的軟件產(chǎn)品。

具體地說,軟件危機主要有以下表現(xiàn):

(1)對軟件開發(fā)成本和進(jìn)度的估計常常不準(zhǔn)確。開發(fā)成本超出預(yù)算,實際進(jìn)度比預(yù)定

計劃一再拖延的現(xiàn)象并不罕見。

(2)用戶對“已完成”系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。

(3)軟件產(chǎn)品的質(zhì)量往往靠不住。Bug一大堆,Patch一個接一個。

(4)軟件的可維護(hù)程度非常之低。

(5)軟件通常沒有適當(dāng)?shù)奈臋n資料。

(6)軟件的成本不斷提高。

(7)軟件開發(fā)生產(chǎn)率的提高趕不.卜硬件的發(fā)展和人們需求的增長.

軟件危機的原因,一方面是與軟件本身的特點有關(guān);另一方面是由軟件開發(fā)和維護(hù)的方

法不正確有關(guān)。

軟件的特點前面已經(jīng)有一個簡單介紹。軟件開發(fā)和維護(hù)的不正確方法主要表現(xiàn)為忽視軟

件開發(fā)前期的需求分析;開發(fā)過程沒有統(tǒng)一的、規(guī)范的方法論的指導(dǎo),文檔資料不齊全,忽

視人與人的交流;忽視測試階段的工作,提交用戶的軟件質(zhì)量差;輕視軟件的維護(hù)。這些大

多數(shù)都是軟件開發(fā)過程管理上的原因。

3、軟件工程

1968年秋季,NATO(北約)的科技委員會召集了近50名一流的編程人員、計算機科學(xué)

家和工業(yè)界巨頭,討論和制定擺脫“軟件危機”的對策。在那次會議上第一次提出了軟件工

程(softwareengineering)這個概念。到今年(1998),軟件工程整整走過了30年的歷

程。

在這30年的發(fā)展中,人們針對軟件危機的表現(xiàn)和原因,經(jīng)過不斷的實踐和總結(jié),越來

越認(rèn)識到:按照工程化的原則和方法組織軟件開發(fā)工作,是擺脫軟件危機的一個主要出路。

今天,盡管“軟件危機”并未被徹底解決,但軟件工程30年的發(fā)展仍可以說是碩果累

累。

下面我們給出一個軟件工程的定義,然后簡單討論一下軟件工程所包括的內(nèi)容:

軟件工程是一門研究如何用系統(tǒng)化、規(guī)范化、數(shù)量化等工程原則和方法去進(jìn)行軟件的開

發(fā)和維護(hù)的學(xué)科。

軟件工程包括兩方面內(nèi)容:軟件開發(fā)技術(shù)和軟件項目管理。

軟件開發(fā)技術(shù)包括軟件開發(fā)方法學(xué)、軟件工具和軟件工程環(huán)境。

軟件項目管理包括軟件度量、項目估算、進(jìn)度控制、人員組織、配置管理、項目計劃

等。

統(tǒng)計數(shù)據(jù)表明,大多數(shù)軟件開發(fā)項目的失敗,并不是由于軟件開發(fā)技術(shù)方面的原因。它

們的失敗是由于不適當(dāng)?shù)墓芾碓斐傻?。遺憾的是,盡管人

溫馨提示

  • 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

提交評論