計算機英語譯文_第1頁
計算機英語譯文_第2頁
計算機英語譯文_第3頁
計算機英語譯文_第4頁
計算機英語譯文_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《計算機英語(第3版)》參考譯文

第一單元:計算機與計算機科學

課文A:計算機概覽

一、引言

計算機是一種電子設備,它能接收一套指令或一個程序,然后通過對數(shù)字數(shù)據(jù)進行運算

或?qū)ζ渌问降男畔⑦M行處理來執(zhí)行該程序。

要不是由于計算機的發(fā)展,現(xiàn)代的高科技世界是不可能產(chǎn)生的。不同類型和大小的計算

機在整個社會被用于存儲和處理各種數(shù)據(jù),從保密政府文件、銀行交易到私人家庭賬目。計

算機通過自動化技術開辟了制造業(yè)的新紀元,而且它們也增強了現(xiàn)代通信系統(tǒng)的性能。在幾

乎每一個研究和應用技術領域,從構建宇宙模型到產(chǎn)生明天的氣象報告,計算機都是必要的

工具,并且它們的應用本身就開辟了人們推測的新領域。數(shù)據(jù)庫服務和計算機網(wǎng)絡使各種各

樣的信息源可供使用。同樣的先進技術也使侵犯個人隱私和商業(yè)秘密成為可能。計算機犯罪

已經(jīng)成為作為現(xiàn)代技術代價組成部分的許多風險之一。

二、歷史

第一臺加法機是法國科學家、數(shù)學家和哲學家布萊斯?帕斯卡于1642年設計的,它是數(shù)

字計算機的先驅(qū)。這個裝置使用了一系列帶有10個齒的輪子,每個齒代表從0到9的一個數(shù)

字。

輪子互相連接,從而通過按照正確的齒數(shù)向前轉(zhuǎn)動輪子,就可以將數(shù)字彼此相加。17世紀

70

年代,德國哲學家和數(shù)學家戈特弗里德?威廉?萊布尼茲對這臺機器進行了改良,設計了一

也能做乘法的機器。

法國發(fā)明家約瑟夫一瑪麗?雅卡爾,在設計自動織機時,使用了穿孔的薄木板來控制復

雜圖案的編織。在19世紀80年代期間,美國統(tǒng)計學家赫爾曼?何勒里斯,想出了使用類似雅

卡爾的木板那樣的穿孔卡片來處理數(shù)據(jù)的主意。通過使用一種將穿孔卡片從電觸點上移過的

系統(tǒng),他得以為1890年的美國人口普查匯編統(tǒng)計信息。

1、分析機

也是在19世紀,英國數(shù)學家和發(fā)明家查爾斯?巴比奇,提出了現(xiàn)代數(shù)字計算機的原理。

他構想出旨在處理復雜數(shù)學題的若干機器,如差分機。許多歷史學家認為,巴比奇及其合伙

人,數(shù)學家奧古斯塔?埃達?拜倫,是現(xiàn)代數(shù)字計算機的真正先驅(qū)。巴比奇的設計之一,分

機,具有現(xiàn)代計算機的許多特征。它有一個以一疊穿孔卡片的形式存在的輸入流、一個保存

數(shù)據(jù)的“倉庫”、一個進行算術運算的“工廠”和一個產(chǎn)生永久性紀錄的打印機。巴比奇未

能將這個想法付諸實踐,盡管在那個時代它在技術上很可能是可行的。

2、早期的計算機

模擬計算機是19世紀末開始制造的。早期型號是靠轉(zhuǎn)動的軸和齒輪來進行計算的。用任

何其他方法都難以計算的方程近似數(shù)值,可以用這樣的機器來求得。開爾文勛爵制造了一臺

機械潮汐預報器,這實際上就是一臺專用模擬計算機。第一次和第二次世界大戰(zhàn)期間,機械

模擬計算系統(tǒng),以及后來的電動模擬計算系統(tǒng),在潛艇上被用作魚雷航線預測器,在飛機上

被用作轟炸瞄準具的控制器。有人還設計了另一個系統(tǒng),用于預測密西西比河流域春天的洪

水。

3、電子計算機

第二次世界大戰(zhàn)期間,以倫敦北面的布萊切利公園為工作地點的一組科學家和數(shù)學家,

制造了最早的全電子數(shù)字計算機之一:"巨人"。到1943年12月,這個包含了1500個真空

的“巨人”開始運轉(zhuǎn)了。它被以艾倫喳靈為首的小組用于破譯德國用恩尼格碼加密的無線

電報,他們的嘗試大部分是成功的。

除此而外,在美國,約翰?阿塔納索夫和克利福德?貝里早在1939年就在艾奧瓦州立學院

制造了一臺原型電子機。這臺原型機和后來的研究工作都是悄悄完成的,而且后來因1945

電子數(shù)字積分計算機(ENIAC)的研制而顯得相形見細。ENIAC被授予了專利。但是,數(shù)

年后,在1973年,當該機被揭露吸收了在阿塔納索夫一貝里計算機中首次使用的原理后,

項專利被廢除了。

圖1A-1:ENIAC是最早的全電子數(shù)字計算機之一。

ENIAC(見圖1A-1)含有18,000個真空管,具有每分鐘幾百次的乘法運算速度,但是,

其程序最初是通過導線傳送到處理器內(nèi)的,必須由人工更改。根據(jù)美籍匈牙利數(shù)學家約翰?

馮?諾伊曼的想法,后來制造的機器帶有一個程序存儲器。指令像數(shù)據(jù)一樣存儲在“存儲器”

中,使計算機在執(zhí)行過程中擺脫了紙帶閱讀器的速度限制,并使問題在不給計算機重新接線

的情況下得以解決。

20世紀50年代末,晶體管在計算機中的應用,標志著比在真空管機器情況下體積小、速

度快、用途廣的邏輯元件的出現(xiàn)。由于晶體管使用的功率小得多,壽命也長得多,僅這項發(fā)

展本身就導致了被稱之為第二代計算機的改良機器的產(chǎn)生。元件變小了,元件的間距也變小

了,而且系統(tǒng)的制造成本也變得低得多。

4、集成電路

20世紀60年代末,集成電路(見圖1A-2)得到采用,從而有可能將許多晶體管制作在一

塊硅襯底上,晶體管之間用覆鍍在適當位置的導線相連接。集成電路導致價格、尺寸和故障

率的進一步降低。20世紀70年代中期,隨著大規(guī)模集成電路和后來的超大規(guī)模集成電路(微

芯片)的采用,成千上萬個彼此相連的晶體管被蝕刻在一塊硅襯底上,于是微處理器成為現(xiàn)

實。

圖1A-2:集成電路

那么,再回過頭來看看現(xiàn)代計算機處理開關值的能力:20世紀70年代的計算機一般一次

能夠處理8個開關值。也就是說,在每個循環(huán)中,它們能處理8個二進制數(shù)字或位的數(shù)據(jù)。8

個位為一組,稱為一個字節(jié);每個字節(jié)包含256個開與關(或。與1)的可能模式。每個模式

相當于一條指令、一條指令的一部分或者一個特定的數(shù)據(jù)類型,如一個數(shù)字、一個字符或一

個圖形符號。例如,11010。10這個模式可能是二進制數(shù)據(jù)——在此情況下代表210這個十

制數(shù)字,或者它可能是一條指令,告訴計算機將存儲在其交換設備中的數(shù)據(jù)與存儲在存儲芯

片某個位置的數(shù)據(jù)進行比較。

一次能處理16、32和64位數(shù)據(jù)的處理器的研制,提高了計算機的速度。一臺計算機能夠

處理的全部可識別模式——操作總清單——稱為其指令集。隨著現(xiàn)代數(shù)字計算機的不斷發(fā)

展,這兩個因素——能夠同時處理的位數(shù)和指令集的大小——在繼續(xù)增長。

三、硬件

不論尺寸大小,現(xiàn)代數(shù)字計算機在概念上都是類似的。然而,根據(jù)成本與性能,它們可

分為幾類:個人計算機或微型計算機,一種成本較低的機器,通常只有桌面大?。ūM管“膝

上型計算機”小到能夠放入公文包,而“掌上型計算機”能夠放入口袋);工作站,一種具

有增強型圖形與通信能力、從而使其對于辦公室工作特別有用的微型計算機;小型計算機,

一般就個人使用而言太昂貴,其性能適合于工商企業(yè)、學?;?qū)嶒炇?;以及大型機,一種大

型的昂貴機器,具有滿足大規(guī)模工商企業(yè)、政府部門、科研機構或者諸如此類機構需要的能

力(其中體積最大、速度最快的稱為巨型計算機)。

一臺數(shù)字計算機不是單一的機器。確切地說,它是由5個不同的要素組成的系統(tǒng):(1)

中央處理器;(2)輸入設備;(3)存儲設備;(4)輸出設備;以及(5)被稱作總線的

通信

網(wǎng)絡,它將系統(tǒng)的所有要素連接起來并將系統(tǒng)與外界連接起來。

四、編程

一個程序就是一系列指令,告訴計算機硬件對數(shù)據(jù)執(zhí)行什么樣的操作。程序可以內(nèi)嵌在

硬件本身里,或以軟件的形式獨立存在。在一些專門或“專用”計算機中,操作指令被嵌入

其電路里;常見的例子有計算器、手表、汽車發(fā)動機和微波爐中的微型計算機。另一方面,

通用計算機盡管含有一些內(nèi)置的程序(在只讀存儲器中)或者指令(在處理器芯片中),但

依靠外部程序來執(zhí)行有用的任務。計算機一旦被編程,就只能做在任何特定時刻控制它的軟

件所允許它做的事情。廣泛使用的軟件包括一系列各種各樣的應用程序——告訴計算機如何

執(zhí)行各種任務的指令。

五、未來的發(fā)展

計算機發(fā)展的一個持續(xù)不斷的趨勢是微小型化,亦即將越來越多的電路元件壓縮在越來

越小的芯片空間內(nèi)的努力。研究人員也在設法利用超導性來提高電路的功能速度。超導性是

在超低溫條件下在某些材料中觀察到的電阻減小現(xiàn)象。

計算機發(fā)展的另一個趨勢是“第五代”計算機的研制工作,亦即研制可以解決復雜問題

而且其解決方法用“創(chuàng)造性的”這個詞來形容或許最終名副其實的計算機,理想的目標是真

正的人工智能。正在積極探索的一條道路是并行處理計算,亦即利用許多芯片來同時執(zhí)行數(shù)

個不同的任務。一種重要的并行處理方法是模仿神經(jīng)系統(tǒng)結(jié)構的神經(jīng)網(wǎng)絡。另一個持續(xù)不斷

的趨勢是計算機聯(lián)網(wǎng)的增加。計算機聯(lián)網(wǎng)現(xiàn)在使用由衛(wèi)星和電纜鏈路構成的世界范圍的數(shù)據(jù)

通信系統(tǒng),來將全球的計算機連在一起。止匕外,大量的研究工作還投入在探索“光”計算機

的可能性上——這種硬件處理的不是電脈沖而是快得多的光脈沖。

第二單元:計算機體系結(jié)構

課文A:計算機硬件

一、引言

計算機硬件是計算機運行所需要的設備,由可被物理操縱的部件組成。這些部件的功能

一般分為3個主要類別:輸入、輸出和存儲。這些類別的部件與微處理器相連接,特別是與

計算機的中央處理器相連接。中央處理器系電子線路,它通過稱為總線的線路或電路來提供

計算能力和對計算機進行控制。

另一方面,軟件是計算機用來處理數(shù)據(jù)的一套指令,如文字處理程序或電子游戲。這些

程序通常被存儲起來,并由計算機硬件調(diào)入和調(diào)出中央處理器。軟件也控制著硬件如何利用:

例如,如何從存儲設備中檢索信息。輸入與輸出硬件的交互是由基本輸入/輸出系統(tǒng)(BIOS)

軟件控制的。

盡管微處理器在技術上仍被認為是硬件,但其部分功能也與計算機軟件有關系。既然微

處理器同時具有硬件與軟件的特征,它們因此經(jīng)常被稱作固件。

二、輸入硬件

輸入硬件由給計算機提供信息和指令的外部設備——亦即計算機中央處理器以外的部

件—組成。光筆是帶有光敏端頭的輸入筆,用來在計算機顯示屏上直接寫畫,或者通過按

光筆上的夾子或用光筆接觸屏幕來在屏幕上選擇信息。這種筆含有光傳感器,用于識別筆所

經(jīng)過的屏幕部分。鼠標是為一只手抓握而設計的指示設備。它在底部有一個檢測裝置(通常

是一個圓球),使用戶能夠通過在一個平面上移動鼠標來控制屏幕上指針或光標的運動。該

裝置滑過平面時,光標隨著在屏幕上移動。要在屏幕上選擇項目或命令,用戶就點擊鼠標上

的按鈕。操縱桿是由一根桿子組成的指示設備,該桿以向多個方向移動來操縱計算機屏幕上

的光標或者其他圖形對象。鍵盤是一個像打字機的設備,它使用戶得以向計算機鍵入文本和

命令。有些鍵盤有特殊功能鍵或集成指示設備,如軌跡球或者可以讓用戶通過手指的移動來

移動屏幕上光標的觸敏區(qū)。

光掃描儀利用光感應設備將圖片或文本等形式的圖像轉(zhuǎn)換成計算機能夠處理的電子信

號。例如,一張照片可以掃入一臺計算機,然后包括在該計算機創(chuàng)建的文本文件中。兩種最

常見的掃描儀類型是平板掃描儀和手持式掃描儀,前者類似一臺辦公室用復印機,后者用手

動的方式從要處理的圖像上掃過。麥克風是將聲音轉(zhuǎn)換成可被計算機存儲、處理和回放的信

號的設備。語音識別模塊是將話語轉(zhuǎn)換成計算機能夠識別和處理的信息的設備。

調(diào)制解調(diào)器代表調(diào)制器一解調(diào)器,是將計算機與電話線連接、允許信息傳送給或接收自

另一臺計算機的設備。每臺發(fā)送或接收信息的計算機都必須與調(diào)制解調(diào)器相連接。一臺計算

機發(fā)送的信息由調(diào)制解調(diào)器轉(zhuǎn)換成音頻信號,然后通過電話線傳送到接收端調(diào)制解調(diào)器,由

其將信號轉(zhuǎn)換成接收端計算機能夠理解的信息。

三、輸出硬件

輸出硬件由將信息從計算機中央處理器傳給計算機用戶的外部設備構成。視頻顯示器或

屏幕將計算機生成的信息轉(zhuǎn)換成可視信息。顯示器一般有兩種形式:陰極射線管視頻屏幕和

液晶顯示視頻屏幕?;陉帢O射線管的屏幕或監(jiān)視器看起來就像一臺電視機。從中央處理器

輸出的信息,使用電子束顯示出來,其過程是電子束掃描熒光屏,而熒光屏則發(fā)出光并產(chǎn)生

圖像?;谝壕э@示器的屏幕將可視信息顯示在比基于陰極射線管的視頻監(jiān)視器平且小的屏

幕上。液晶顯示器常常用于膝上型計算機。

打印機將計算機輸出的文本和圖像打印在紙上。點陣打印機使用細小的金屬絲打擊色

帶,從而形成字符。激光打印機使用光束在磁鼓上畫圖像,然后由磁鼓吸起稱為墨粉的微小

黑粒。墨粉熔凝到紙上,形成圖像。噴墨打印機將小墨滴噴射到紙上,形成字符和圖像。

四、存儲硬件

存儲硬件永久性地存儲信息和程序,供計算機檢索。兩種主要的存儲設備是磁盤驅(qū)動器

和存儲器。磁盤驅(qū)動器有幾種類型:硬盤、軟盤、磁光盤和光盤。硬盤驅(qū)動器將信息存儲在

盤中嵌入的磁性顆粒中。硬盤驅(qū)動器通常是計算機的固定部分,能存儲大量的信息并對其進

行非??焖俚臋z索。軟盤驅(qū)動器也將信息存儲在磁性顆粒中,但這些顆粒是嵌入可移動的盤

中的,而這些盤既可能是軟的也可能是硬的。軟盤比硬盤存儲的信息少,檢索該信息的速度

也慢得多。磁光盤驅(qū)動器將信息存儲在對激光和磁場均敏感的可移動盤上。它們可存儲的信

息通常與硬盤一樣多,但檢索速度稍微慢一點。由反射材料制成的光盤,其表面燒蝕出凹陷

區(qū)。光盤驅(qū)動器(只讀光盤存儲器,CD-ROM)就是將信息存儲于此。存儲在只讀光盤存

器上的信息不能擦除或用新信息蓋寫。它們能夠存儲和硬盤驅(qū)動器差不多的信息量,但信息

檢索速度比其慢。

存儲器指存儲信息供中央處理器快速檢索的計算機芯片。隨機存儲器(RAM)用來存儲

操作計算機程序的信息和指令。通常,程序由磁盤驅(qū)動器的存儲區(qū)調(diào)到隨機存儲器中。隨機

存儲器也稱作易失性存儲器,因為當計算機的電源關閉時,計算機芯片中的信息隨著丟失。

只讀存儲器(ROM)包含必須永久性可供計算機操作使用的關鍵信息和軟件,如從開機到

機一直指揮計算機運行的操作系統(tǒng)。只讀存儲器叫做非易失性存儲器,因為當計算機的電源

關閉時,存儲芯片中的信息不會丟失。

有些設備有不止一種用途。例如,軟盤也可用作輸入設備,如果它們含有計算機用戶要

使用和處理的信息的話。此外,它們也可用作輸出設備,如果用戶想將計算結(jié)果存儲在它們

上面的話。

五、硬件的連接

要想運轉(zhuǎn),硬件需要物理連接,使部件之間能夠通信和交互??偩€提供了一種常見的互

連系統(tǒng)。它由一組導線或電路組成,在計算機的內(nèi)部組成部分之間協(xié)調(diào)和移動信息。計算機

總線由兩條通道組成:一條由中央處理器用來給數(shù)據(jù)定位,叫做地址總線;另一條用來將該

數(shù)據(jù)送往那個地址,叫做數(shù)據(jù)總線。總線可用兩個特征來描述:一次可以處理的信息量——

稱為總線寬度,以及傳送這些數(shù)據(jù)的速度。

串行連接是一根或一組導線,用于將信息從中央處理器傳送到外部設備,如鼠標、鍵盤、

調(diào)制解調(diào)器、掃描儀和一些類型的打印機。這種連接一次只能傳送一段數(shù)據(jù),因此比較慢。

使用串行連接的好處在于它能提供遠距離的有效連接。

并行連接使用多組導線來同時傳送數(shù)個信息塊。多數(shù)掃描儀和打印機使用這種連接方

式。并行連接比串行連接速度快得多,但它僅限于中央處理器和外部設備之間不到3米(10

英尺)的距離。

第三單元:計算機語言與編程

課文A:編程語言

一、引言

在計算機科學中,編程語言是用于編寫可由計算機運行的一系列指令(計算機程序)的

人工語言。與英語等自然語言相類似,編程語言有詞匯、語法和句法。然而,自然語言不適

合為計算機編程,因為它們會引起歧義,也就是說它們的詞匯和語法結(jié)構可能被用多種方式

進行解釋。用于計算機編程的語言必須有簡單的邏輯結(jié)構,它們的語法、拼寫和標點符號規(guī)

則必須精確。

編程語言在復雜性和通用程度上差異很大。一些編程語言是為了處理特定類型的計算問

題或為了用于特定型號的計算機系統(tǒng)而編寫的。例如,F(xiàn)ORTRAN和COBOL等編程語言是

解決某些普遍的編程問題類型而編寫的——FORTRAN是為了科學領域的應用,而COBOL

為了商業(yè)領域的應用。盡管這些語言旨在處理特定類型的計算機問題,但它們具有很高的可

移植性,也就是說它們可以用來為多種類型的計算機編程。其他的語言,如機器語言,是為

一種特定型號的計算機系統(tǒng),甚至是一臺特定的計算機,在某些研究領域使用而編寫的。最

常用的編程語言具有很高的可移植性,可以用于有效地解決不同類型的計算問題。像C、

PASCAL和BASIC這樣的語言就屬于這一范疇。

二、語言類型

編程語言可分為低級語言和高級語言。低級編程語言或機器語言,是編程語言中最基礎

的類型,可以被計算機直接理解。機器語言視計算機制造商與型號不同而有所區(qū)別。高級語

言是必須首先翻譯成機器語言計算機才能理解和處理的編程語言。C、C++、PASCAL和

FORTRAN都是高級語言的例子。匯編語言是中級語言,非常接近于機器語言,沒有其他高

級語言所表現(xiàn)出的語言復雜程度,但仍然得翻譯成機器語言。

1、機器語言

在機器語言中,指令被寫成計算機能夠直接理解的1和0(稱作位)序列。一條機器語言

指令一般告訴計算機4件事:(1)到計算機主存(隨機存儲器)的什么位置去找一兩個數(shù)

或簡單的數(shù)據(jù)片;(2)要執(zhí)行的簡單操作,如將兩個數(shù)字相加;(3)在主存的什么位置

放該簡單操作的結(jié)果;(4)到什么位置去找下一條要執(zhí)行的指令。盡管所有的可執(zhí)行程序

最終都是以機器語言的形式被計算機讀入的,但它們并非都是用機器語言編寫的。直接用機

器語言編程極端困難,因為指令是。和1的序列。一條典型的機器語言指令可能寫成10010

11001011,意思是把存儲寄存器A的內(nèi)容加到存儲寄存器B的內(nèi)容中。

2、高級語言

高級語言是相對復雜的一系列語句,它們使用來自人類語言的詞匯和句法。高級語言比

匯編語言或機器語言類似于正常的人類語言,因此用高級語言來編寫復雜的程序比較容易。

這些編程語言可以更快地開發(fā)更大和更復雜的程序。然而,高級語言必須由稱為編譯器的另

外一種程序翻譯成機器語言,計算機才能理解它們。因為這個原因,與用匯編語言編寫的程

序相比較,用高級語言編寫的程序可能運行時間長,占用內(nèi)存多。

3、匯編語言

計算機程序員通過使用匯編語言,使機器語言程序比較容易編寫。在匯編語言中,每個

語句大致對應于一條機器語言指令。匯編語言的語句是借助易于記憶的命令編寫的。在一個

典型的匯編語言語句中,把存儲寄存器A的內(nèi)容加到存儲寄存器B的內(nèi)容中這一命令,可能

成ADDB,A。匯編語言與機器語言具有某些共同的特征。例如,對特定的位進行操控,用

編語言和機器語言都是可行的。當盡量減少程序的運行時間很重要時,程序員就使用匯編語

言,因為從匯編語言到機器語言的翻譯相對簡單。匯編語言也用于計算機的某個部分必須被

直接控制的情況,如監(jiān)視器上的單個點或者單個字符向打印機的流動。

三、高級語言的分類

高級語言通常分為面向過程語言、函數(shù)式語言、面向?qū)ο笳Z言或邏輯語言。當今最常見

的高級語言是面向過程語言。在這種語言中,執(zhí)行某個完整功能的一個或多個相關的語句塊

組成一個程序模塊或過程,而且被給予諸如“過程A”一類名稱。如果在程序的其他地方需

要同樣的操作序列,可以使用一個簡單的語句調(diào)回這個過程。實質(zhì)上,一個過程就是一個小

型程序。一個大型程序可以通過將執(zhí)行不同任務的過程組合在一起而構成。過程語言使程序

變得比較短,而且比較容易被計算機讀取,但要求程序員將每個過程都設計得足夠通用,能

用于不同的情況。

函數(shù)式語言像對待數(shù)學函數(shù)一樣對待過程,并允許像處理程序中的任何其他數(shù)據(jù)一樣處

理它們。這就使程序構造在更高、更嚴密的水平上得以實現(xiàn)。函數(shù)式語言也允許變量——在

程序運行過程中可以被用戶指定和更改的數(shù)據(jù)符號——只被賦值一次。這樣,通過減少對語

句執(zhí)行的確切順序給予關注的必要性,就簡化了編程,因為一個變量沒有必要每次在一個程

序語句中用到,都重新聲明或重新說明。來自函數(shù)式語言的許多思想已經(jīng)成為許多現(xiàn)代過程

語言的關鍵部分。

面向?qū)ο笳Z言是函數(shù)式語言的發(fā)展結(jié)果。在面向?qū)ο笳Z言中,用來編寫程序的代碼和由

程序處理的數(shù)據(jù),組合成叫做對象的單元。對象進一步組合成類,而類則定義對象必須具有

的屬性。類的一個簡單例子就是書這個類。這個類中的對象可能是小說和短篇小說。對象還

有某些與其相關的功能,稱為方法。計算機通過使用一個對象的某種方法來訪問該對象。方

法對對象中的數(shù)據(jù)執(zhí)行某種操作,然后將值返回給計算機。對象的類也可進一步組合成層,

而在層中一個類的對象可繼承另一個類的方法。面向?qū)ο笳Z言提供的這種結(jié)構,使該語言對

于復雜的編程任務非常有用。

邏輯語言將邏輯用作其數(shù)學基礎。邏輯程序由事實組和“如果一則”規(guī)則構成,“如果一

則”規(guī)則具體說明一組事實如何可以從其他事實組中推斷出來,例如:

如果X語句為真,貝IJY語句為假。

在這樣一個程序的執(zhí)行過程中,一條輸入語句可以按照邏輯從程序中的其他語句推斷出

來。許多人工智能程序使用這種語言編寫。

四、語言結(jié)構與成分

編程語言使用特定類型的語句或指令,來給程序提供功能結(jié)構。程序中的一個語句是表

達一個簡單想法的基本句子——它的目的是給計算機一條基本指令。語句定義所允許的數(shù)據(jù)

類型、數(shù)據(jù)如何處理以及過程和函數(shù)的工作方式。程序員使用語句來操控編程語言的常見成

分,如變量和宏(程序中的小程序段)。

數(shù)據(jù)聲明語句給稱為變量的那些程序元素以名稱和屬性。變量在程序中可以賦予不同的

值。變量可以具有的屬性稱為類型,它們包括:變量中能保存哪些可能的值;這些值中使用

何種程度的數(shù)值精度;以及一個變量可以如何以有組織結(jié)構的方式——如以表或數(shù)組的形式

——表示一組比較簡單的值。在許多編程語言中,一個關鍵的數(shù)據(jù)類型是指針。指針變量本

身沒有值,而是含有計算機可以用來查找某個其他變量的信息——也就是說,它們指向另一

個變量。

表達式是語句的一段,用于描述要對一些程序變量執(zhí)行的一系列計算操作,如X+Y/Z,

其中X、丫和Z為變量,加法和除法是計算操作。賦值語句給一個變量賦予得自某個表達式的

值,而條件語句則指定要被測試、然后用于選擇接下來應該執(zhí)行的其他語句的表達式。

過程和函數(shù)語句將某些代碼塊定義為以后可在程序中回調(diào)的過程或函數(shù)。這些語句也定

義程序員可選的變量和參數(shù)種類,以及當表達式訪問過程或函數(shù)時代碼所返回的值的類型。

許多編程語言也容許叫做宏的小翻譯程序。宏將那些用程序員定義的語言結(jié)構編寫的代碼段

翻譯成編程語言可以理解的語句。

五、歷史

編程語言幾乎可以追溯到20世紀40年代數(shù)字計算機發(fā)明之時。隨著商用計算機的推出,

最早的匯編語言出現(xiàn)于20世紀50年代末。最早的過程語言是在20世紀50年代末到60年代初

開發(fā)的:約翰?巴克斯創(chuàng)造了FORTRAN語言,接著格雷斯?霍珀創(chuàng)造了COBOL語言。第一

函數(shù)式語言是LISP,由約翰?麥卡錫于20世紀50年代末編寫。所有這3種語言今天仍在廣泛

使

用,但經(jīng)歷過大量更新。

20世紀60年代末,出現(xiàn)了最早的面向?qū)ο笳Z言,如SIMULA語言。邏輯語言在20世紀70

年代中期隨著PROLOG語言的推出而變得廣為人知,PROLOG語言是一種用于編寫人工智

能軟件的語言。在20世紀70年代,過程語言繼續(xù)發(fā)展,出現(xiàn)了ALGOL、BASIC.PASCAL.

C和Ada等語言。SMALLTALK語言是一種具有高度影響力的面向?qū)ο笳Z言,它導致了面向

象語言與過程語言在C++和更近期的JAVA語言中的結(jié)合。盡管純粹邏輯語言的流行程度已

經(jīng)下降,但其以關系語言形式用于現(xiàn)代數(shù)據(jù)庫的變種卻變得非常重要,如結(jié)構化查詢語言。

第四單元:軟件開發(fā)

課文A:計算機程序

一、引言

計算機程序是指揮計算機執(zhí)行某種處理功能或功能組合的一套指令。要使指令得到執(zhí)

行,計算機必須執(zhí)行程序,也就是說,計算機要讀取程序,然后按準確的順序?qū)嵤┏绦蛑芯?/p>

碼的步驟,直至程序結(jié)束。一個程序可多次執(zhí)行,而且,取決于用戶提供給計算機的選項和

數(shù)據(jù),每次執(zhí)行可能產(chǎn)生不同的結(jié)果。

程序分為兩大類:應用程序和操作系統(tǒng)。應用程序直接為用戶執(zhí)行某種功能,如處理文

字或玩游戲。操作系統(tǒng)管理計算機以及與之相連的各種資源和設備,如隨機存儲器、硬盤驅(qū)

動器、監(jiān)視器、鍵盤、打印機和調(diào)制解調(diào)器,以便其他程序可以使用它們。操作系統(tǒng)的例子

包括:DOS、Windows95.OS/2和UNIX。

二、程序開發(fā)

軟件設計者使用經(jīng)常被稱為實用程序或開發(fā)程序的專門應用程序來創(chuàng)建新程序。程序員

使用稱為文本編輯程序的另一種程序,來以稱為編程語言的特殊符號編寫新程序。程序員使

用文本編輯程序創(chuàng)建一個文本文件,這個文本文件是一個有序指令表,也稱為程序源文件。

構成程序源文件的單個指令稱為源代碼。在這個時候,一種專門的應用程序?qū)⒃创a翻譯成

機器語言或目標代碼——操作系統(tǒng)將認作真程序并能夠執(zhí)行的一種格式。

將源代碼翻譯成目標代碼的應用程序有3種:編譯程序、解釋程序和匯編程序。這3種應

用程序有不同的操作方式,對不同類型的編程語言進行操作,但是,它們都要達到將編程語

言翻譯成機器語言的相同目的。

編譯程序?qū)⑹褂肍ORTRAN、C和Pascal等高級編程語言編寫的文本文件一次性從源代

碼翻譯成目標代碼。這不同于BASIC等解釋執(zhí)行的語言所采取的方式。在解釋執(zhí)行的語言中,

程序是隨著每條指令的執(zhí)行而逐個語句地翻譯成目標代碼的。解釋執(zhí)行的語言的優(yōu)點是,它

們可以立即開始執(zhí)行程序,而不需要等到所有的源代碼都得到編譯。對程序的更改也可以相

當快地進行,無需等到程序重新編譯完。解釋執(zhí)行的語言的缺點是,它們執(zhí)行起來慢,因為

每次運行程序,都必須對整個程序一次一條指令地翻譯。另一方面,編譯執(zhí)行的語言只編譯

一次,因此計算機執(zhí)行起來可比解釋執(zhí)行的語言快得多。由于這個原因,編譯執(zhí)行的語言比

解釋執(zhí)行的語言常用,而且,在專業(yè)和科學領域幾乎總是應用編譯執(zhí)行的語言。

另一種翻譯程序是匯編程序,它用于以匯編語言編寫的程序或程序組成部分。匯編語言

也是一種編程語言,但它遠比其他類型的高級語言類似于機器語言。在匯編語言中,一個語

句通常可以翻譯成機器語言的一條指令。今天,匯編語言很少用來編寫整個程序,而是最常

用于程序員需要直接控制計算機某方面功能的情況下。

程序經(jīng)常編寫為一組較小的程序片,每片表示整個應用程序的某個方面。每片獨立編譯

之后,一種稱為連接程序的程序?qū)⑺蟹g好的程序片組合成一個可執(zhí)行程序。

程序罕有第一次能夠正確運行的,所以一種稱為調(diào)試程序的程序常被用來幫助查找稱為

程序錯誤的問題。調(diào)試程序通常在運行的程序中檢測到一個事件,并將程序員指引到該事件

在程序代碼中的起源。

Java等最近出現(xiàn)的編程系統(tǒng),采取多種方法相結(jié)合的方式創(chuàng)建和執(zhí)行程序。編譯程序取

來Java源程序,并將其翻譯成中間形式。這樣的中間程序隨后通過因特網(wǎng)傳送給計算機,

計算機里的解釋程序接著將中間形式作為應用程序來執(zhí)行。

三、程序元素

多數(shù)程序僅由少數(shù)幾種步驟構成,這些步驟在整個程序中在不同的上下文和以不同的組

合方式多次重復。最常見的步驟執(zhí)行某種計算,然后按程序員指定的順序,進入程序的下一

個步驟。

程序經(jīng)常需要多次重復不長的一系列步驟,例如:在瀏覽游戲得分表并從中找出最高得

分時。這種重復的代碼序列稱為循環(huán)。

計算機具有的使其如此有用的能力之一,是它們能夠作出條件判定,并根據(jù)正在處理的

數(shù)據(jù)的值執(zhí)行不同的指令。if-then-else(如果-則-否則)語句執(zhí)行這種功能,采用的方

是測試某個數(shù)據(jù)片,然后根據(jù)結(jié)果從兩個指令序列中選擇一個。這些選擇對象中的指令之一

可能是一個got。語句,用以指引計算機從程序的另一個部分選擇下一條指令。例如,一個

序可能比較兩個數(shù),并視比較結(jié)果而分支到程序的另一個部分:

Ifxisgreaterthany

then

gotoinstruction#10

elsecontinue

程序經(jīng)常不止一次地使用特定的一系列步驟。這樣的一系列步驟可以組合成一個子例

程,而子例程根據(jù)需要可在主程序的不同部分進行調(diào)用或訪問。每次調(diào)用一個子例程,計算

機都會記住該調(diào)用發(fā)生時自己在程序中所處的位置,以便在運行完這個子例程后還能夠回到

那里。在每次調(diào)用之前,程序可以指定子例程使用不同的數(shù)據(jù),從而允許一個通用性很強的

代碼片只編寫一次,但以多種方式使用。

大多數(shù)程序使用幾種不同的子例程。其中最常用的是函數(shù)、過程、庫、系統(tǒng)例程以及設

備驅(qū)動程序。函數(shù)是一種短的子例程,用來計算某個值,如角的計算,而該值計算機僅用一

條基本指令無法計算。過程執(zhí)行的是比較復雜的功能,如給一組名字排序。庫是為多種不同

程序使用而編寫的子例程。系統(tǒng)例程類似于庫程序,但實際上用于操作系統(tǒng)。它們?yōu)閼贸?/p>

序提供某種服務,如打印一行文字。設備驅(qū)動程序是一種系統(tǒng)例程,它們加到操作系統(tǒng)中,

以使計算機能夠與掃描儀、調(diào)制解調(diào)器或打印機等新設備通信。設備驅(qū)動程序常常具有可以

作為應用程序直接執(zhí)行的特征。這使用戶得以直接控制設備。這一點很有用,例如:在彩色

打印機更換墨盒后需要重新調(diào)整以達到最佳打印質(zhì)量的情況下。

四、程序功能

現(xiàn)代計算機通常將程序存儲在計算機可以隨機訪問的某種形式的磁性存儲介質(zhì)上,如固

定放在計算機內(nèi)的硬盤或者便攜式軟盤。這些磁盤上稱為目錄的額外信息,指明盤上各種程

序的名稱、它們寫入盤中的時間以及它們在磁盤介質(zhì)上的起始位置。用戶命令計算機執(zhí)行一

個特定應用程序時,操作系統(tǒng)就瀏覽這些目錄,找到程序,并將一個副本讀入隨機存儲器。

操作系統(tǒng)然后命令中央處理器開始執(zhí)行程序開頭的指令。程序開頭的指令為計算機處理信息

作好準備,其方法是在隨機存儲器中找到空閑存儲單元來容納工作數(shù)據(jù),從盤中檢索用戶指

出的標準選項和默認值的副本,并在監(jiān)視器上繪制初始顯示。

應用程序通過調(diào)用系統(tǒng)例程來對用戶輸入的任何信息都要求一個副本。操作系統(tǒng)將如此

輸入的任何數(shù)據(jù)都轉(zhuǎn)換成標準的內(nèi)部形式。應用程序然后使用該信息決定下一步干什么,如

執(zhí)行某項期望的處理功能——像重新格式化一頁文本或從盤上的另一個文件獲取一些額外

信息。兩種情況無論是哪一種,都要調(diào)用其他系統(tǒng)例程,以事實上完成結(jié)果的顯示或?qū)ΡP上

文件的訪問。

運行結(jié)束或接到退出的提示時,應用程序進行進一步的系統(tǒng)調(diào)用,以確保所有需要保存

的數(shù)據(jù)已寫回磁盤。然后,應用程序向操作系統(tǒng)進行最后一次系統(tǒng)調(diào)用,指明它已運行結(jié)束。

操作系統(tǒng)接下來釋放隨機存儲器和該應用程序使用的任何設備,并等待用戶的命令,以開始

運行另一個程序。

五、歷史

人們以程序的形式存儲指令序列已經(jīng)有幾個世紀了。18世紀的音樂盒和19世紀末與20

世紀初的自動鋼琴,就可以播放音樂程序。這些程序以一系列金屬針或紙孔的形式存儲,每

一行(針或孔)表示何時演奏一個音符,而針或孔則表明此時演奏什么音符。19世紀初,

著法國發(fā)明家約瑟夫一瑪麗?雅卡爾發(fā)明由穿孔卡片控制的織機,對物理設備更精巧的控制

變得常見了。在編織特定圖案的過程中,織機的各個部分得進行機械定位。為了使這個過程

自動化,雅卡爾使用一張紙質(zhì)卡片代表織機的一個定位,用卡片上的孔來指示應該執(zhí)行織機

的哪種操作。整條花毯的編織可編碼到一疊這樣的卡片上,同樣的一疊卡片每次使用都會編

出相同的花毯圖案。在開發(fā)和使用的程序中,有的由24,000多張卡片構成。

世界上第一臺可編程的機器是由英國數(shù)學家和發(fā)明家查爾斯?巴比奇設計的,但他從未

完全制造成該機器。這臺叫做分析機的機器,使用和雅卡爾織機類似的穿孔卡片,來選擇每

個步驟應該執(zhí)行的具體算術運算。插入不同的卡片組,就會改變機器執(zhí)行的運算。這種機器

幾乎能在現(xiàn)代計算機中找到所有的對應物,但它是機械化的,而非電氣化的。分析機的制造

從未完成,因為制造它所需要的技術當時不存在。

供分析機使用的最早卡片組式程序是由詩人拜倫勛爵的女兒、英國數(shù)學家奧古斯塔?埃

達?拜倫開發(fā)的。由于這個原因,她被公認為世界上第一位程序員。

現(xiàn)代的內(nèi)部存儲計算機程序概念是由美籍匈牙利數(shù)學家約翰?馮?諾伊曼于1945年首先

提出來的。馮?諾伊曼的想法是,使用計算機的存儲器既存儲數(shù)據(jù)又存儲程序。這樣,程序

可被視為數(shù)據(jù),可像數(shù)據(jù)一樣被其他程序處理。這一想法極大地簡化了在計算機中存儲與執(zhí)

行程序的任務。

六、未來

由于計算機使用的增加,自20世紀50年代以來,計算機科學領域發(fā)展迅猛。作為對用戶

需求和技術進步的反應,計算機程序在這一時期經(jīng)歷了許多變化。計算領域的新思想,如并

行計算、分布式計算和人工智能,從根本上改變了一度決定程序形式與功能的傳統(tǒng)概念。

致力于并行計算領域研究的計算機科學家們,推出了許多新的程序模型。在并行計算中,

多個中央處理器同時合作處理同一個問題。一個問題的組成部分由不同的處理器同時處理,

這樣就加快了問題的解決速度。由于并行處理計算機的極端復雜性,以及使其盡可能有效地

運行所包含的困難,為這種系統(tǒng)設計程序的科學家和工程師面臨著許多挑戰(zhàn)。

一種稱為分布式計算的并行計算,使用多個互連計算機的中央處理器來解決問題。用來

在分布式計算應用環(huán)境下處理信息的計算機,常常通過因特網(wǎng)連接。因特網(wǎng)的應用正在成為

分布式計算的一種特別有用的形式,尤其是在使用Java等編程語言的情況下。在這種應用

中,

用戶登錄到一個站點,并下載一個Java程序到其計算機上。該Java程序運行時,就會與其

所來自的站點上的其他程序通信,也可以與不同計算機或站點上運行的其他程序通信。

人工智能研究已經(jīng)帶來其他幾種新的編程風格。例如,邏輯程序不是由供計算機盲目執(zhí)

行的單個指令構成,而是由成套的規(guī)則組成:如果x發(fā)生,則執(zhí)行y。一種稱為推理機的特殊

程序,在向其提出一個新問題時,就使用這些規(guī)則來“推理”出一個結(jié)論。邏輯程序的用途

包括自動監(jiān)控復雜系統(tǒng)和證明數(shù)學定理。

一種全然不同的計算方法稱為神經(jīng)網(wǎng)絡,在這種計算中沒有傳統(tǒng)意義上的程序。神經(jīng)網(wǎng)

絡是一組高度互連的簡單處理單元,旨在模擬大腦。神經(jīng)網(wǎng)絡不是像傳統(tǒng)計算機那樣通過程

序來指揮信息處理,而是依靠其處理單元的連接方式來處理信息。給神經(jīng)網(wǎng)絡編程的實現(xiàn)方

法是,給其提供輸入與輸出數(shù)據(jù)的已知模式,并調(diào)整處理單元之間各種互連的相對重要性,

直到完成所期望的模式匹配。神經(jīng)網(wǎng)絡通常在傳統(tǒng)計算機上模擬,但是,不同于傳統(tǒng)的計算

機程序,神經(jīng)網(wǎng)絡具有經(jīng)驗學習的能力。

第五單元:軟件過程

課文A:軟件過程模型

一、引言

一個軟件過程是生產(chǎn)出軟件產(chǎn)品的一系列活動。這些活動可能涉及使用一種像Java或C

這樣的標準編程語言從零開始開發(fā)軟件。然而,開發(fā)新軟件越來越多地使用的方法是,擴展

和修改現(xiàn)有系統(tǒng),以及配置和集成現(xiàn)成軟件或系統(tǒng)組件。

一個軟件過程模型是對一個軟件過程的一種抽象表示。每個過程模型都從一個特定角度

表示一個過程,因此都只提供有關那個過程的部分信息。本文介紹幾種非常通用的過程模型

(有時稱為過程范例),并從體系結(jié)構的角度描述它們。也就是說,我們看到的是過程的框

架,而非具體活動的細節(jié)。

這些類屬模型不是對軟件過程的規(guī)定性描述。確切點說,它們是過程的抽象,可用于解

釋軟件開發(fā)的不同方法。你可以將其視為可擴展和調(diào)整以創(chuàng)建更為具體軟件工程過程的過程

框架。

這里論述的過程模型是瀑布模型、演化開發(fā)和基于組件的軟件工程。這3種類屬過程模

型在當前的軟件工程實踐中廣泛使用。它們不是互不相容,而是經(jīng)常一起使用,尤其是在大

型系統(tǒng)開發(fā)的情況下。一個較大型系統(tǒng)內(nèi)的子系統(tǒng)可使用不同的方法開發(fā)。因此,盡管分別

討論這些模型比較方便,但應該明白,實際上它們經(jīng)常結(jié)合使用。

二、瀑布模型

最早公布的軟件開發(fā)過程模型源自比較通用的系統(tǒng)工程過程。這種模型如圖5A-1所示。

由于從一個階段到另一個階段的瀑布狀級聯(lián),該模型稱為瀑布模型或軟件生命周期。該模型

的主要階段映射基本的開發(fā)活動:

1、需求分析與定義。系統(tǒng)的服務、約束和目標要經(jīng)過與系統(tǒng)用戶的磋商加以確定。然

后,它們得到詳細定義并作為系統(tǒng)規(guī)格說明。

2、系統(tǒng)與軟件設計。系統(tǒng)設計過程將需求劃分成需硬件或軟件系統(tǒng)實現(xiàn)的部分。該過

程確立一個總的系統(tǒng)體系結(jié)構。軟件設計涉及到確定和描述基本的軟件系統(tǒng)抽象及

其相互關系。

3、實現(xiàn)與單元測試。在這個階段,軟件設計被實現(xiàn)為一組程序或程序單元。單元測試

涉及到驗證每個單元是否符合其規(guī)格說明。

4、集成與系統(tǒng)測試。單個的程序單元或程序進行集成并作為一個完整系統(tǒng)進行測試,

以確保軟件需求已得到滿足。測試之后,軟件系統(tǒng)交付客戶。

5、運行與維護。通常(但并非必定),這是軟件生命周期最長的階段。系統(tǒng)經(jīng)過安裝

投入實際使用。維護涉及到糾正在軟件生命周期前面階段沒有發(fā)現(xiàn)的錯誤,改進系

統(tǒng)單元的實現(xiàn),并隨著新需求的發(fā)現(xiàn)增強系統(tǒng)的服務。

原則上,每個階段的結(jié)果都要形成一份或多份經(jīng)過批準的文件。前一個階段未結(jié)束,下

一個階段不應開始。實際上,這些階段重疊并互相饋送信息。在設計期間,需求方面存在的

問題得到識別;在編碼期間,設計問題被發(fā)現(xiàn),等等。軟件過程并非一個簡單的線性模型,

而是涉及到一系列迭代的開發(fā)活動。

由于編制和批準文件的成本,迭代需要大筆開銷,而且需要做大量重復工作。因此,經(jīng)

過少數(shù)迭代之后,通常應凍結(jié)開發(fā)的某些部分,如規(guī)格說明,并繼續(xù)進行后面的開發(fā)階段。

存在的問題留待以后解決,置之不顧,或者通過編程繞過去。這樣倉促凍結(jié)需求,可能意味

圖5A-1:軟件生命周期

運行與

維護

集成與

系統(tǒng)測試

實現(xiàn)與

單元測試

系統(tǒng)與

軟件設計

需求定義

著系統(tǒng)將難以滿足用戶的要求。由于使用實現(xiàn)技巧規(guī)避了設計問題,這也可能導致不良的系

統(tǒng)結(jié)構。

在最后的生命周期階段(運行與維護),軟件投入使用。最初軟件需求中存在的錯誤與

疏漏被發(fā)現(xiàn),程序與設計錯誤浮現(xiàn),而且新的功能需要得到確定。因此,為保持有用性,系

統(tǒng)必須演變。進行有關更改(軟件維護)可能涉及到重復以前的過程階段。

瀑布模型的優(yōu)點在于每個階段都編制文件,而且它與其他的工程過程模型相符合。其主

要問題在于將項目僵硬地劃分成不同的階段。在過程的一個早期階段,必須定下決心,從而

使得應對客戶需求變化很困難。

因此,只有在需求得到很好理解、在系統(tǒng)開發(fā)期間不可能發(fā)生根本性變化的情況下,才

應使用瀑布模型。然而,瀑布模型體現(xiàn)了在其他工程項目中所使用的過程模型類型。所以,

基于這種方法的軟件過程仍然用于軟件開發(fā),特別是當有關軟件項目是一個較大系統(tǒng)工程項

目的一部分時。

三、演化開發(fā)

演化開發(fā)基于這樣的思想:開發(fā)一個初始的實現(xiàn),讓其接受用戶評論,并讓其經(jīng)過多個

版本的改進,一直到開發(fā)出能夠滿足需要的系統(tǒng)(圖5A-2)。規(guī)格說明、開發(fā)及驗證活動

是分開進行,而是交叉進行,各項活動之間有快速的信息反饋。

演化開發(fā)有兩個基本類型:

1、探索式開發(fā)。在這種類型中,過程的目標是與客戶協(xié)作探索其需求,并交付一個最

終的系統(tǒng)。開發(fā)從業(yè)已理解的系統(tǒng)部分開始。隨著增添客戶提出的新特征,系統(tǒng)不

中間

版本

并行活動

圖5A-2:演化開發(fā)

描述

最終

版本

初始

版本

開發(fā)

驗證

規(guī)格說明

斷演變。

2、拋棄式原型開發(fā)。在這種類型中,演化開發(fā)過程的目標是理解客戶的需求,從而為

系統(tǒng)開發(fā)比較好的需求定義。原型集中試驗沒有很好理解的客戶需求。

在生產(chǎn)滿足客戶眼下需要的系統(tǒng)時,軟件開發(fā)的演化方法常常比瀑布方法有效?;谘?/p>

化方法的軟件過程的優(yōu)點是,規(guī)格說明可以漸進地開發(fā)。隨著用戶增進對其問題的理解,這

種理解可以反映在軟件系統(tǒng)中。然而,從工程和管理的角度來看,演化方法存在兩個問題:

1、過程缺乏可視性。管理員需要定期交付的產(chǎn)品來衡量進度。在快速開發(fā)系統(tǒng)的情況

下,編制反映每個系統(tǒng)版本的文件不合算。

2、系統(tǒng)常常缺乏良好的結(jié)構。不斷的更改往往會破壞軟件的結(jié)構。吸收軟件更改變得

越來越困難,越來越成本高昂。

對于中小型系統(tǒng)(上至50萬行代碼),演化方法或許是最佳的開發(fā)方法。對于不同小組

開發(fā)系統(tǒng)不同部分的大型、復雜、長壽命系統(tǒng),演化開發(fā)存在的問題尤為嚴重。使用這種方

法難以建立一個穩(wěn)定的系統(tǒng)體系結(jié)構,這使得集成各小組的貢獻變得很難。

對于大型系統(tǒng),建議使用一種混合過程,將瀑布模型和演化開發(fā)模型的最佳特征結(jié)合起

來。這可能涉及到使用演化方法開發(fā)一個拋棄式原型,以解決系統(tǒng)規(guī)格說明中存在的不確定

性。然后,可使用一種結(jié)構化程度比較高的方法重新實現(xiàn)系統(tǒng)。得到很好理解的系統(tǒng)部分可

使用基于瀑布模型的過程進行規(guī)格說明和開發(fā)。事先難以進行規(guī)格說明的其他系統(tǒng)部分,如

用戶界面,無例外地應使用探索式編程方法來開發(fā)。

四、基于組件的軟件工程

大多數(shù)軟件項目都存在某種程度的軟件復用。通常,這是非正式發(fā)生的。參加項目的人

知道有現(xiàn)成的設計或編碼類似于他們所需的設計或編碼。他們尋找這些設計或編碼,根據(jù)需

要對其進行修改,并將其吸收進他們的系統(tǒng)。對于使用演化方法進行快速系統(tǒng)開發(fā),復用常

常是必要的。

這種非正式復用的發(fā)生是不考慮所使用的開發(fā)過程的。然而,在過去幾年中,出現(xiàn)了一

種軟件開發(fā)方法,這種方法使用得越來越多,它依靠復用,被稱為基于組件的軟件工程。

這種面向復用的方法依靠大量的可復用軟件組件,以及用于這些組件的某種集成框架。

有時,這些組件本身就是可提供文本格式化或數(shù)值計算等特定功能的系統(tǒng)(商用現(xiàn)成系統(tǒng))。

基于組件的軟件工程的類屬過程模型如圖5A-3所示。

就最初的需求規(guī)格說明階段和驗證階段而言,面向復用過程與其他過程相類似,但它的

中間階段與其他過程不同。這些階段是:

1、組件分析。在有需求規(guī)格說明的情況下,搜索實現(xiàn)該規(guī)格的組件。通常,不存在完

全相符的組件??赡鼙皇褂玫慕M件只在某種程度上提供所要求的功能。

2、需求修改。在這個階段,使用已經(jīng)發(fā)現(xiàn)的組件的相關信息分析需求,然后修改需求

以反映可用的組件。在無法進行修改的情況下,可能重新進入組件分析活動,以搜

索可供選擇的解決方案。

3、帶復用的系統(tǒng)設計。在這個階段,設計系統(tǒng)框架或復用現(xiàn)有的框架。設計員考慮到

復用的組件,并組織安排框架使其適應復用的要求。如果得不到可復用的組件,可

能得設計一些新軟件。

4、開發(fā)與集成。無法外部獲得的軟件要進行開發(fā),組件和商用現(xiàn)成系統(tǒng)要集成以創(chuàng)建

新的系統(tǒng)。系統(tǒng)集成在這種模型中可能是開發(fā)過程的一部分,而非一項分開的活動。

基于組件的軟件工程具有減少需要開發(fā)的軟件量并因此降低成本與風險的明顯優(yōu)點。它

通常也可更快地交付軟件。然而,需求方面的妥協(xié)不可避免,這可能導致系統(tǒng)不能滿足用戶

的真正需要。此外,可復用組件的新版本不受其使用機構的控制,因此喪失了對系統(tǒng)演變的

某些控制。

圖5A-3:基于組件的軟件工程

需求

規(guī)格說明

組件

分析

需求

修改

帶復用的

系統(tǒng)設計

系統(tǒng)

驗證

開發(fā)與

集成

第六單元:數(shù)據(jù)庫

課文A:數(shù)據(jù)庫概覽

一、引言

數(shù)據(jù)存儲傳統(tǒng)上是使用單獨的沒有聯(lián)系的文件,這些文件有時稱為平面文件。在過去,

一個機構中的每個應用程序都使用自己的文件。例如,在一個大學中,每個部門都可能有其

自己的文件集:檔案辦公室保存著關于學生信息和學生成績的文件;經(jīng)濟資助辦公室保存著

其自己的關于需要經(jīng)濟資助以繼續(xù)學業(yè)的學生的文件;調(diào)度辦公室保存著教授的姓名和他們

所教的課程;工薪發(fā)放部門保存著其自己的關于全體教職員工(包括教授)的文件,等等。

然而,所有這些平面文件今天都可結(jié)合成一個實體——供整個大學使用的數(shù)據(jù)庫。

雖然難以給出一個普遍接受的數(shù)據(jù)庫定義,但我們使用下面常見的定義:一個數(shù)據(jù)庫是

被一個機構內(nèi)的應用程序所使用的具有邏輯相干性的相關數(shù)據(jù)的集合。

二、數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)定義、創(chuàng)建和維護數(shù)據(jù)庫。數(shù)據(jù)庫管理系統(tǒng)也允許對數(shù)據(jù)庫中的數(shù)據(jù)進

行受控的訪問。一個數(shù)據(jù)庫管理系統(tǒng)由5個組成部分構成:硬件、軟件、數(shù)據(jù)、用戶和規(guī)程。

1、硬件

硬件是指允許訪問數(shù)據(jù)的計算機物理系統(tǒng)。例如,終端、硬盤、主機和工作站被認為是

數(shù)據(jù)庫管理系統(tǒng)的硬件組成部分。

2、軟件

軟件是指允許用戶訪問、維護和更新數(shù)據(jù)的實際程序。另外,軟件還控制著哪個用戶可

以對數(shù)據(jù)庫中的哪部分數(shù)據(jù)進行訪問。

3、數(shù)據(jù)

數(shù)據(jù)庫中的數(shù)據(jù)存儲在物理存儲設備上。在一個數(shù)據(jù)庫中,數(shù)據(jù)是獨立于對其進行訪問

的軟件的一個實體。這種獨立使一個機構可以在不必更改物理數(shù)據(jù)及其存儲方式的情況下更

改軟件。如果一個機構決定使用一個數(shù)據(jù)庫管理系統(tǒng),那么該機構所需要的所有信息都應作

為一個實體保存在一起,可由數(shù)據(jù)庫管理系統(tǒng)中的軟件訪問。

4、用戶

在數(shù)據(jù)庫管理系統(tǒng)中,用戶這個術語有著廣泛的定義。我們可以將用戶分為兩類:最終

用戶和應用程序。

最終用戶是指可直接訪問數(shù)據(jù)庫以獲取信息的人。最終用戶又分為兩類:數(shù)據(jù)庫管理員

和普通用戶。數(shù)據(jù)庫管理員擁有最高程度的特權,可以控制其他用戶及其對數(shù)據(jù)庫管理系統(tǒng)

的訪問,可以將其某些特權授予其他人并保留隨時收回這些特權的能力。另一方面,普通用

戶只能使用數(shù)據(jù)庫的一部分,只能進行有限的訪問。

數(shù)據(jù)庫中數(shù)據(jù)的其他用戶就是應用程序。應用程序需要訪問和處理數(shù)據(jù)。例如,工薪發(fā)

放應用程序需要在月底訪問數(shù)據(jù)庫中的部分數(shù)據(jù),來開支付工薪的支票。

5、規(guī)程

數(shù)據(jù)庫管理系統(tǒng)的最后一個組成部分就是應該明確定義并為數(shù)據(jù)庫用戶所遵循的一套

規(guī)程或規(guī)則。

三、數(shù)據(jù)庫體系結(jié)構

美國國家標準協(xié)會標準計劃與需求委員會(ANSI/3PARC)為數(shù)據(jù)庫管理系統(tǒng)確立了一

個包含3個層次的體系結(jié)構:內(nèi)層、概念層和外層(圖6A-1)。

1、內(nèi)層

內(nèi)層決定數(shù)據(jù)在存儲設備上的實際存儲位置。該層涉及低級訪問方法,以及字節(jié)如何傳

向和傳自存儲設備。換句話說,內(nèi)層直接與硬件交互。

2、概念層

概念層定義數(shù)據(jù)的邏輯視圖。數(shù)據(jù)模型在該層定義,數(shù)據(jù)庫管理系統(tǒng)的主要功能——如

查詢——也在該層。數(shù)據(jù)庫管理系統(tǒng)把數(shù)據(jù)的內(nèi)部視圖轉(zhuǎn)化為用戶需要看到的外部視圖。概

念層是中介層,它使得用戶不必與內(nèi)層打交道。

3、外層

外層直接與用戶(最終用戶或應用程序)交互。它將來自概念層的數(shù)據(jù)轉(zhuǎn)化為用戶所熟

悉的格式和視圖。

四、數(shù)據(jù)庫模型

數(shù)據(jù)庫模型定義數(shù)據(jù)的邏輯設計。它也描述數(shù)據(jù)的不同部分之間的關系。在數(shù)據(jù)庫設計

史上,使用過3種數(shù)據(jù)庫模型:層次模型、網(wǎng)絡模型和關系模型。

1、層次數(shù)據(jù)庫模型

在層次模型中,數(shù)據(jù)被組織成一棵倒置的樹。每個實體只有一個父,但可有數(shù)個子。在

分層結(jié)構的頂部,有一個實體,稱為根。圖6A-2給出了一個層次模型例子的邏輯視圖。層

模型現(xiàn)在已經(jīng)過時。

2、網(wǎng)絡數(shù)據(jù)庫模型

在網(wǎng)絡模型中,實體以圖的形式來組織,圖中的有些實體可通過多條路徑訪問(圖6A-3)o

網(wǎng)絡模型沒有分層結(jié)構。這種模型現(xiàn)在也已經(jīng)過時。

3、關系數(shù)據(jù)庫模型

在關系模型中,數(shù)據(jù)被組織成稱為關系的二維表。關系模型沒有分層或網(wǎng)絡結(jié)構強加于

數(shù)據(jù)。然而,表或關系是相互關聯(lián)的(圖6A-4)。關系數(shù)據(jù)庫管理系統(tǒng)組織數(shù)據(jù),使其外

視圖呈現(xiàn)為關系或表的集合。這并不意味著數(shù)據(jù)以表的形式存儲:數(shù)據(jù)的物理存儲與數(shù)據(jù)的

邏輯組織方式毫無關系。圖6A-5給出了一個關系的例子。關系數(shù)據(jù)庫管理系統(tǒng)中的關系具

以下特征:

?名稱。關系數(shù)據(jù)庫中的每個關系都應具有一個名稱,而這個名稱在所有關系中是獨一

無二的。

?屬性。關系中的每一列都稱為一個屬性。在圖6A-5的表中,屬性是列的標題。每個

屬性賦予存儲在其下面的數(shù)據(jù)以意義。表中的每一列都必須具有一個在關系的范圍內(nèi)

獨一無二的名稱。一個關系的屬性總數(shù)稱為該關系的度。例如,在圖6A-5中,關系

的度為3。注意屬性名并不存儲在數(shù)據(jù)庫中:概念層使用屬性給每一列賦予一定的意

義。

?元組。關系中的每一行稱為一個元組。元組定義一組屬性值。一個關系中的總行數(shù)稱

為該關系的基數(shù)。注意一個關系的基數(shù)隨著元組的增加或刪除而改變。這使數(shù)據(jù)庫具

有了動態(tài)性。

關系模型是今天使用的常見模型之一。源自關系模型的另外兩種常見模型是分布式模型

和面向?qū)ο竽P汀?/p>

4、分布式數(shù)據(jù)庫模型

分布式數(shù)據(jù)庫模型并非一種新模型,而是基于關系模型的。但是,數(shù)據(jù)存儲在通過因特

網(wǎng)或?qū)S脧V域網(wǎng)通信的數(shù)臺計算機上。每臺計算機(或站點)保持數(shù)據(jù)庫的一部分或整個數(shù)

據(jù)庫。換句話說,數(shù)據(jù)或者是分段存儲的——每個站點存儲一段,或者被每個站點復制一份。

在分段型分布式數(shù)據(jù)庫中,數(shù)據(jù)是本地化的,本地使用的數(shù)據(jù)存儲在相應的站點上。然

而,這并不意味著一個站點不能訪問存儲在另一個站點上的數(shù)據(jù),但訪問大多是本地性的,

偶爾是全局性的。雖然每個站點對其本地數(shù)據(jù)具有完全的控制,但也存在通過因特網(wǎng)或廣域

網(wǎng)的全局控制。

例如,一家制藥公司可能在許多國家擁有多個站點。每個站點有一個數(shù)據(jù)庫,存儲著自

己雇員的信息。但是,中心人事部門可以控制所有的數(shù)據(jù)庫。

在復制型分布式數(shù)據(jù)庫中,每個站點都有其他站點的一個完全副本。對一個站點所存儲

的數(shù)據(jù)進行的任何修改,都要在其他每個站點上精確地重復進行。擁有這種數(shù)據(jù)庫是為了安

全。如果一個站點上的系統(tǒng)發(fā)生故障,該站點的用戶可以訪問另一個站點上的數(shù)據(jù)。

5、面向?qū)ο髷?shù)據(jù)庫模型

關系數(shù)據(jù)庫具有一個特定的數(shù)據(jù)視圖,該視圖基于數(shù)據(jù)庫元組與屬性的性質(zhì)。關系數(shù)據(jù)

庫中最小的數(shù)據(jù)單位是一個元組與一個屬性的交集。然而,有些應用程序需要將數(shù)據(jù)視為其

他形式,如看作一種結(jié)構,像由字段構成的記錄。

面向?qū)ο髷?shù)據(jù)庫試圖保留關系模型的優(yōu)點,同時允許應用程序訪問結(jié)構化數(shù)據(jù)。在面向

對象數(shù)據(jù)庫中,對象及其之間的關系得到定義。此外,每個對象可以具有可表示為字段的屬

性。

例如,在一個機構中,可以為雇員、部門和客戶定義對象類型。雇員類可以定義一個雇

員對象的屬性(名、姓、社會保險號碼、薪水等等),以及可以如何訪問它們。部門對象可

以定義部門的屬性,以及可以如何訪問它們。此外,數(shù)據(jù)庫還可以在一個雇員對象與一個部

門對象之間創(chuàng)建一種關系,以表示該雇員在該部門工作。

五、數(shù)據(jù)庫設計

任何數(shù)據(jù)庫的設計都是一項冗長、復雜的任務,只能通過一個逐步的過程來完成。第一

步通常涉及對數(shù)據(jù)庫潛在用戶的大量訪談,以收集需要存儲的信息和每個部門的訪問需求。

第二步是建立一個實體關系模型,該模型定義必須為之保存一些信息的實體、這些實體的屬

性以及這些實體之間的關系。

設計的下一步基于所要使用的數(shù)據(jù)庫的類型。在關系數(shù)據(jù)庫中,下一步是建立基于實體

關系模型的關系,并規(guī)范化這些關系。規(guī)范化是一個過程,通過該過程一組特定的關系轉(zhuǎn)化

成一組具有更堅固結(jié)構的新關系。為了達到以下目的,需要規(guī)范化:允許數(shù)據(jù)庫中的任何關

系得到表示,允許像SQL(結(jié)構化查詢語言)這樣的語言使用由原子操作組成的功能強大的

檢索操作,消除插入、刪除和更新操作中的異常,以及減少添加新的數(shù)據(jù)類型時重構數(shù)據(jù)庫

的必要性。

第七單元:計算機通信

課文A:電信與計算機

電信使世界各地的人們得以互相聯(lián)系,即刻獲取信息,并從邊遠地區(qū)實施通信。電信通

常涉及一個信息發(fā)送者和一個或多個接收者,他們通過電話系統(tǒng)等把信息從一地發(fā)送到另一

地的技術相聯(lián)系。電信設備將不同類型的信息,如聲音和圖像,轉(zhuǎn)換成電子信號。然后,這

些信號就可以通過電話線或無線電波等媒介進行發(fā)送。信號到達目的地后,接收端的設備將

電子信號轉(zhuǎn)換回可以理解的信息,如電話中的聲音、電視上的活動圖像或計算機屏幕上的文

字和圖片。電信使人們能夠在城鎮(zhèn)不同地方、國家之間以及向外層空間和從外層空間發(fā)送和

接收個人信息。電信也為新聞、數(shù)據(jù)、信息和娛樂提供了關鍵的媒介。

電信信息可通過各種方式和設備發(fā)送。信息可由一個發(fā)送者發(fā)送給一個接收者(點對

點),或者由一個發(fā)送者發(fā)送給多個接收者(點對多點)。個人通信,如兩個人之間的電話

話或傳真信息,通常涉及點對點的傳輸。通常稱為廣播的點對多點電信傳輸,為商業(yè)無線電

和電視節(jié)目播送提供了基礎。

電信以信息轉(zhuǎn)換為電子信號為開端。然后,這些信號通過媒介發(fā)送到接收機,并在那里

解碼,恢復為接收信息的人能夠理解的形式。有各種方法可以生成并解譯信號,也有許多不

同方法可以傳輸信號。

電報機與電話機等設備,通過生成調(diào)制電脈沖或以系統(tǒng)化方式變化的脈沖,來傳遞信息。

接下來,這些脈沖通過導線、無線電波或其他媒介發(fā)送給接收機,并由其進行解調(diào)。電報機

是最早的傳遞電信信息的方法,它通過將電報電鍵與金屬導體之間的接觸(使電流得以流動

的兩個導體之間的連接)轉(zhuǎn)換成電脈沖而進行工作。這些脈沖沿著導線發(fā)送到接收機,而接

收機則將這些脈沖轉(zhuǎn)換成長與短的聲音脈沖串,或者在簡單的打印設備上打印出來的點與

劃。特定的點與劃序列代表字母表中的字母。在早期的電報中,這些序列由電報機操作員進

行解譯。這樣,電報機操作員就可以發(fā)送和接收可拼成詞語的字母。后來的電報機能自動解

譯字母和數(shù)字。電報機在很大程度上已被其他的電信形式所取代,如傳真機和電子郵件,但

在世界有些地方,電報機仍然用來發(fā)送信息。

電報機、電話機、無線電和電視都是通過修改電子信號,使其模擬或再現(xiàn)原來的信息,

來進行工作的。這種傳輸稱為模擬傳輸。然而,計算機和其他類型的電子設備是傳輸數(shù)字信

號的。數(shù)字技術將信息轉(zhuǎn)換成電子形式。其方法首先是多次測量信息的不同特性,如語音的

音高和音量。然后,這些測量值被編譯成多個系列的二進制數(shù)或1與0。最后,數(shù)字技術生

并發(fā)送與這些系列的】和0相對應的電脈沖。與模擬信號相比較,數(shù)字信息可以更快、更清

地傳輸,因為電脈沖僅需與兩個數(shù)字對應,而不是構成原信息的所有特性,如人的說話聲的

音高和音量。數(shù)字信息可以通過導線、電纜或無線電波傳輸,但必須由數(shù)字接收機進行解譯。

新型數(shù)字電話和電視正在開發(fā)中,以提高電信的效率。

大多數(shù)個人計算機通過使用普通電話網(wǎng),來進行彼此間的通信以及與因特網(wǎng)等大型網(wǎng)絡

的通信。因為電話網(wǎng)是通過將語音信號轉(zhuǎn)換成電子信號來工作的,計算機必須首先將其數(shù)字

數(shù)據(jù)轉(zhuǎn)換成語音信號。計算機使用稱為調(diào)制解調(diào)器的設備來完成這項工作。調(diào)制解調(diào)器是調(diào)

制器/解調(diào)器的縮略。調(diào)制解調(diào)器將計算機輸出的1和。數(shù)字流轉(zhuǎn)換成模擬信號,而模擬信號

可隨后通過電話網(wǎng)傳輸,就像通話者的聲音那樣。接收端計算機的調(diào)制解調(diào)器將模擬語音信

號解調(diào)還原為計算機能理解的數(shù)字形式。

電信系統(tǒng)使用多種不同的傳輸媒介傳送信息,包括銅線、光纜、通信衛(wèi)星和微波無線電。

劃分電信媒介的一種方法,是看媒介是否使用導線?;趯Ь€(或有線)的電信提供了大多

數(shù)電話與電話網(wǎng)之間的最初鏈路,是一種可靠的信息傳輸方式。沒有導線的電信,通常稱為

無線通信,使用無繩電話、蜂窩式無線電話、步話機、民用波段無線電臺、尋呼機和衛(wèi)星等

技術。無線通信提高了機動性和靈活性。

個人、企業(yè)和政府使用多種不同的電信系統(tǒng)。有些系統(tǒng),如電話系統(tǒng),使用由電纜、導

線和交換臺組成的網(wǎng)絡,來進行點對點的通信。另外一些系統(tǒng),如無線電臺與電視臺,通過

空間播出信號,任何擁有接收設備的人都可以接收。有些系統(tǒng)利用數(shù)種媒介完成傳輸。例如,

一個電話從打電話的人傳送到接電話的人,其間可能要通過銅線、光纜和無線電波進行傳輸。

隨著電信技術的發(fā)展,所有的電信系統(tǒng)都在不斷地演變。

計算機遠程通信具有發(fā)送和接收音頻信號、視頻信號、文本、軟件和多媒體的能力,是

電信市場發(fā)展最快的部分之一。計算機遠程通信利用現(xiàn)有的電話連接來傳輸數(shù)字數(shù)據(jù)。這種

傳輸常常通過因特網(wǎng)進行,而因特網(wǎng)是一個由個人、企業(yè)、政府和教育機構所使用的計算機

和信息源構成的分散型網(wǎng)絡。有些計算機使用綜合業(yè)務數(shù)字網(wǎng)(ISDN)直接連接到電話網(wǎng)

數(shù)字部分,但這需要安裝專門設備和進行電話線調(diào)整。為了大幅度提高調(diào)制解調(diào)器的速度,

目前正在開發(fā)一種供常規(guī)電話線使用的改進型調(diào)制解調(diào)器系統(tǒng),稱為數(shù)字用戶線路(D$L)。

電子郵件是因特網(wǎng)吸弓I人的一個關鍵點,也是計算機遠程通信的一種常見形式。電子郵

件是基于文本的信息傳輸系統(tǒng),它能將鍵入的信息和多媒體信息等發(fā)送給個人計算機用戶。

(一幢建筑或一家公司內(nèi)的)本地電子郵件通常經(jīng)由基于導線的內(nèi)部網(wǎng)傳送給收件人。必須

橫穿城鎮(zhèn)或國家才能到達最終目的地的電子郵件,通常通過電話網(wǎng)進行傳輸。企業(yè)經(jīng)常使用

的其他計算機遠程通信技術包括自動銀行終端及設備,用來處理將費用直接從顧客銀行帳戶

上扣除的信用卡業(yè)務。

隨著越來越復雜的計算機信息以快速提高的速度通過電話線發(fā)送,個人計算機拓展了電

話系統(tǒng)的作用范圍。這種對速度的需要促進了數(shù)字傳輸技術的發(fā)展。光纖技術的革新有望跟

上個人計算機在遠程通信方面不斷增長的使用。下一代蜂窩電話、尋呼機和電視機也將受益

于數(shù)字遠程通信的速度和清晰度。

電信和信息技術正在融合。這意味著,在我們只將其與一種功能聯(lián)系起來的設備中,有

不少可能演變?yōu)槎嘤猛驹O備。這種融合已經(jīng)開始在各種領域發(fā)生。有些電話機和尋呼機不但

能存儲電話號碼,而且還能存儲呼叫者的姓名和個人信息。現(xiàn)在正在研制帶有鍵盤和小屏幕

的先進電話機,可用于訪問因特網(wǎng)和接發(fā)電子郵件。個人計算機現(xiàn)在可以訪問信息和視頻娛

樂節(jié)目,實際上正在成為電視機和計算機終端的組合體。我們當前將其與廣播和電纜傳輸?shù)?/p>

視頻節(jié)目聯(lián)系在一起的電視機,可以通過附加的設備訪問因特網(wǎng)。未來的改進和技術革新可

能使設備之間的區(qū)別進一步模糊化。

電信技術的融合也將在可獲得的內(nèi)容以及內(nèi)容提供者的構成方面引起改變。電視機和個

人計算機都將不斷地吸納新的多媒體、交互和數(shù)字化特征。例如,一個娛樂節(jié)目可能會有屏

幕指針,鏈接到含有演員更多信息的萬維網(wǎng)網(wǎng)頁上。從近期來看,在全數(shù)字化電信時代到來

之前,調(diào)制解調(diào)器等設備在為舊的模擬世界與即將到來的數(shù)字世界提供基本鏈接方面,仍然

必不可少。

第八單元:計算機網(wǎng)絡

課文A:網(wǎng)絡基本原理

在不同計算機之間共享信息和資源的需要,導致了相互連接的計算機系統(tǒng)的產(chǎn)生。這種

相互連接的計算機系統(tǒng)被稱為網(wǎng)絡。在網(wǎng)絡中,計算機連接在一起,從而數(shù)據(jù)可以從一臺計

算機傳輸?shù)搅硪慌_計算機。在網(wǎng)絡中,計算機用戶可以交換信息,并共享分散在整個網(wǎng)絡系

統(tǒng)的資源,如打印能力、軟件包以及數(shù)據(jù)存儲設備。支持這類應用所需的基本軟件,已經(jīng)從

簡單的實用軟件包發(fā)展成一個不斷擴展的網(wǎng)絡軟件系統(tǒng),該系統(tǒng)提供了一個復雜的網(wǎng)絡范圍

的基礎結(jié)構。從某種意義上說,網(wǎng)絡軟件正在演變成一個網(wǎng)絡范圍的操作系統(tǒng)。

一、網(wǎng)絡分類

計算機網(wǎng)絡常常劃分為局域網(wǎng)、城域網(wǎng)和廣域網(wǎng)。局域網(wǎng)通常由一幢建筑物或一個建筑

群中的若干計算機組成。例如,大學校園里的計算機或制造工廠中的計算機可以用局域網(wǎng)連

接。城域網(wǎng)屬于中型網(wǎng)絡,如一個覆蓋某一社區(qū)的網(wǎng)絡。廣域網(wǎng)連接地理范圍更廣的計算機,

這些計算機或許在相鄰的城市,或許在地球相反的兩面。

網(wǎng)絡分類的另一種方式是根據(jù)網(wǎng)絡的內(nèi)部運行是基于無專利權保護的設計還是基于特

定實體(如個人或公司)所擁有和控制的革新。前一種類型的網(wǎng)絡稱為開放式網(wǎng)絡,后一種

類型的網(wǎng)絡稱為封閉式網(wǎng)絡,有時也稱為專有網(wǎng)絡。

因特網(wǎng)屬于開放式系統(tǒng)。尤其是,整個因特網(wǎng)的通信是由一組稱為TCP/IP協(xié)議組的開放

標準來控制的。任何人都可以自由地使用這些標準,而不需要付費或簽署許可協(xié)議。相反

溫馨提示

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

評論

0/150

提交評論