題庫管理系統(tǒng)論文正文-無憂無慮畢設網(wǎng)_第1頁
題庫管理系統(tǒng)論文正文-無憂無慮畢設網(wǎng)_第2頁
題庫管理系統(tǒng)論文正文-無憂無慮畢設網(wǎng)_第3頁
題庫管理系統(tǒng)論文正文-無憂無慮畢設網(wǎng)_第4頁
題庫管理系統(tǒng)論文正文-無憂無慮畢設網(wǎng)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 本文配套程序下載地址 : 無憂無慮畢設網(wǎng) ()-大學生畢業(yè)設計站 ,免費畢業(yè)設計論文 ,無憂無慮畢設網(wǎng) 大學生畢業(yè)設計 ,出售各類畢業(yè)設計源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費視頻教程 ,我們將竭誠為您服務! 摘 要 一般情況教師想出一份試卷,要么到龐大的題庫里一道一道的把題找出來,或是從幾本相關的書里把題一道一道挑出來。這樣即費時又費力,而且很難保證試題的覆蓋面和把握好試卷的難度。正是為了能夠幫助教師輕松的出一份高質(zhì)量的試卷而開發(fā)了本軟件。為了達到預期的目標我們最終選擇了 Microsoft Office Word 做為本軟件的終端輸出。本軟件是在對現(xiàn)有控件的改進和 VBA 編程的研究的基礎上開發(fā)的。本軟件實現(xiàn)了以下主要功能: 1.手動生成試卷; 2.自動生成試卷; 3.抽取現(xiàn)有試卷; 4.用戶管理; 5.數(shù)據(jù)庫管理。大量的測試表明本軟件在 Windows 98 me 2000 XP 平臺配合 Office XP 2003 的環(huán)境下程序運行穩(wěn)定且各項功能運行得都很正確,基本達到了預期的要求! 結論:經(jīng)過老師的實際試用本軟件在界面上和功能上都有獨到之處!相信完全可以勝任出一份好的試卷任務。 關鍵詞:題庫系統(tǒng),試卷生成,數(shù)據(jù)庫, VBA 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: Abstract The general situation teacher thinks out a paper, reach huge exam pool each finds out the question, or shoulder the question together out from several relevant books. Time-consuming and also strenuous like this, and very difficult to guarantee coverage rate and paper degree of difficulty of examination question. Helping the teacher thinks out a higt quality paper is the destination of develop this Software. In the cause of this we select the terminal is Microsoft Office Word. This Software s base of develop is improve on control in existence and study the VBA programing. These functions of this software are as follows: One. Manual create paper; Two. Auto create paper; Three. Select from existential papers; Four. User manage; Five. Database manage. The result of many test is that this software is runing steady and these funtions of it is runing right in the environment which make up of Windows 98 me 2000 XP and Office XP 2003, it is basic reach the requests. In all: the result of real test by teacher is that this software are unique in interface and function. We must believe it can complete creating a high quality paper. Key Words: Exam, Problem pool, VBA, word 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 目 錄 摘 要 .1 Abstract .2 前 言 .1 1 . 簡述 .2 1.1 開發(fā)工具簡介 .2 1.1.1 Delphi 7.0的特點 .2 1.1.2 主要的控件及其屬性簡介 .2 1.1.3 數(shù)據(jù)庫連接方式選擇 .3 1.2 程序運行環(huán)境 .4 2 . 需求分析 .5 2.1 負責的功能模塊 .5 2.2 軟件功能分析 .5 3 . 設計階段 .8 3.1 概要設計 .8 3.1.1 系統(tǒng)數(shù)據(jù)庫設計 .8 3.2 詳 細設計 . 12 3.2.1 程序流程圖 . 12 3.2.2 窗體功能簡介 . 14 4 . 軟件實現(xiàn) . 21 4.1 OOP簡介 . 21 無憂無慮畢設網(wǎng) ():畢業(yè)設計源碼下載 畢業(yè)設計源碼下載: 4.2 開發(fā)的關鍵技術 . 21 5 . 軟件測試及其維護 . 25 5.1 系統(tǒng)測試平臺簡介 . 25 5.2 測試方法 . 25 5.3 系統(tǒng)維護 . 26 6 . 開發(fā)總結 . 27 參 考 文 獻 . 28 致 謝 . 29 譯 文 . 30 原 文 . 34 華北工學院計算機科學與技術系 1 前 言 在開發(fā)本軟件之前,正是我努力提高自己的 Delphi 開發(fā)水平的時期。因此我選擇了 Delphi 做為我的開發(fā)工具,然而這次開發(fā)的軟件和以前不一樣。最主要的區(qū)別在于這個軟件要以 Microsoft Office Word 做為試卷的終端輸出。而它們又是兩個不同公司的產(chǎn)品。因而,剛一開始我特別擔心這個技術能否得到比較圓滿的解決。在開發(fā)的過程中我不斷的對 VBA 技術進行研究,并且將它應用于這次的軟件開發(fā)中。因而比較好的解決了 Microsoft Office Word 的接口編程問題。還有一個比較棘手的問題就是 Delphi 提供的控件都是很基本的,而這次開發(fā)中要用到一個可以標記選中狀態(tài)的樹型控件,在對 Delphi 的 TtreeView 的深入研究后確認它不能勝任這個任務。因此,我開始尋找第三方控件,然而這一次我很失望因為只找到了一個 2000 年編寫的TCheckTree 控件,沒辦法了,最后下定決心修改那個 TCheckTree 控件以使它能更加穩(wěn)定和實用。在深入研究 Windows 的消息機制和 VCL 框架對 Windows 消息機制的封裝技術后我成功的修改了那個 TCheckTree 控件。在程序開發(fā)的后期測試中,我充分利用各個同學電腦平臺的多樣性。把本軟件在多達 4 種操作系統(tǒng)和 3 個不同版本的Office 上進行測試。測試表明:在 Windows 98 me 2000 XP 平臺配合 Office XP 2003 下程序運行穩(wěn)定且各項功能運行得都很正確! 華北工學院計算機科學與技術系 2 1 . 簡述 1.1 開發(fā)工具簡介 1.1.1 Delphi 7.0的特點 Delphi 是 Borland 公司出品的開發(fā)工具,在眾多的開發(fā)工具中,我們?yōu)槭裁匆x擇 Delphi呢?因為 Delphi具有眾多其它開發(fā)工具所沒有的優(yōu)點!具體介紹如下: 開發(fā)的高效 語言的高效 編譯的高效 執(zhí)行的高效 維護的高效 基于以上理由,我們毫不憂郁的選擇了 Delphi做為我們的開發(fā)工具! 1.1.2 主要的控件及其屬性簡介 TForm類的控件: 1) BorderIcons屬性:用來控制程序標題按鈕的可用性。 2) BorderStyle屬性:用來控制程序邊框的樣式。 3) Color屬性:用來控制程序界面的顏色。 4) Font屬性:用來控制程序界面的字體。 5) Position屬性:用來控制程序運行時界面的顯示位置。 TADOConnection類的控件: 1) ConnectionString屬性:用來控制鏈接 字符串。 2) LoginPrompt屬性:用來控制鏈接時是否要輸入密碼。 3) Connected屬性:用來控制是否進行鏈接。 TADOQuery類的控件: 1) Connection 屬性:用來指定和哪個 TADOConnection 控件相連。 2) SQL屬性:用來添加向數(shù)據(jù)庫提交的 SQL語句。 3) Add方法:用來向 SQL屬性添加 SQL語句。 4) Open方法:用來執(zhí)行 SQL語言中的 Select語句。 5) ExecSQL方法:用來執(zhí)行任何 SQL語句。 6) FieldByName屬性:用來給數(shù)據(jù)庫的字段賦值。 華北工學院計算機科學與技術系 3 7) FidldValues屬性:用來取 出數(shù)據(jù)庫的字段的。 8) Append方法:用來向數(shù)據(jù)庫添加一條記錄。 9) Edit方法:用來編輯當前的記錄。 10) Post:用來向數(shù)據(jù)庫提交所做的修改。 TADOTable類的控件: 1) Connection 屬性:用來指定和哪個 TADOConnection 控件相連。 2) Open方法:用來打開數(shù)據(jù)庫中指定的表。 3) FieldByName屬性:用來給數(shù)據(jù)庫的字段賦值。 4) FidldValues屬性:用來取出數(shù)據(jù)庫的字段的。 5) Append方法:用來向數(shù)據(jù)庫添加一條記錄。 6) Edit方法:用來編輯當前的記錄。 7) Post:用來向數(shù)據(jù)庫提交所 做的修改。 TDataSource類的控件: 1) DataSet:用來指定和哪個數(shù)據(jù)集相連。 TDBGrid類的控件: 1) DataSource:用來指定和哪個 TDataSource控件相連。 TPageControl類的控件: 1) ActivePage屬性:用來指定當前活動的 Page頁。 TCheckTree類的控件: 1) ReadOnly屬性:用來控制 TCheckTree內(nèi)的 Item是否可編輯。 2) Item屬性:用來控制 TCheckTree包含的所有樹形結點。 3) Images屬性:用來指點 TCheckTree中結點的圖標。 4) OnMouseUp事件:用來添加鼠標放開事件所執(zhí)行的程序代碼。 5) OnStateChange事件:用來添加結點狀態(tài)改變時的程序代碼。 TFlatButton類的控件: 1) Caption屬性:用來指定 TFlatButton的標題。 OnClick事件:用來添加按鈕的單擊事件所執(zhí)行的程序代碼。 1.1.3 數(shù)據(jù)庫連接方式選擇 Delphi 連接數(shù)據(jù)庫的主要方式有兩種:一是: BDE ,二是 ADO 。現(xiàn)在我們來大致比較一下這兩種技術的優(yōu)缺點: 華北工學院計算機科學與技術系 4 BDE( Borland Database Engine)是 Delphi 頗具特色的數(shù)據(jù)庫連 接管理技術。憑借窗體和報表, BDE 可以訪問諸如 Paradox,dBASE,本地 InterBase 服務器的數(shù)據(jù)庫,也可訪問遠程數(shù)據(jù)庫服務器上的數(shù)據(jù)庫,如 Oracle,SyBase,Informix 等 C S 數(shù)據(jù)庫中的數(shù)據(jù)庫,也可訪問經(jīng) ODBC可訪問的數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)庫。 ADO(ActiveX Data Objects)是微軟提供的一項技術。通過 ADO,可以方便的訪問各種類型的數(shù)據(jù)庫,特別是 OLEDB 數(shù)據(jù)庫。 ADO 已成為訪問數(shù)據(jù)庫的新的標準接口。從 Delphi 6.0 開始 Delphi 添加了對 ADO 的支持, 以便讓用戶能迅速實現(xiàn)對終端用戶用來做商業(yè)決策的數(shù)據(jù)庫的一致性訪問,結合 Delphi 本身的開發(fā)式數(shù)據(jù)組件結構,程序員可以很快地建立應用程序,用來把自己的商業(yè)數(shù)據(jù)庫通過 Internet 發(fā)送給客戶,最終用戶以及整個銷售環(huán)節(jié)。通過 ADO, Delphi 7.0 也能讓用戶快速訪問關系或非關系數(shù)據(jù)庫以及 E-Mail和商務文件系統(tǒng)。 這兩者提供了幾乎相同的功能,在進行產(chǎn)品開發(fā)時,勢必要做一個精心的比較。雖然 ADO 技術提出的時間不長,并被定位為工業(yè)標準的,而且其在性能上由于當前沒有良好的數(shù)據(jù)庫引擎支持,其性能還不夠完美,但是 ,我們應該要注意到 Borland 公司已經(jīng)宣布停止發(fā)展 BDE 了,其性能被 ADO 超越也是遲早的事,因此,在開發(fā)長期應用的產(chǎn)品時,推薦采用 ADO 技術。這樣還有另一個好處是,在進行產(chǎn)品分發(fā)時,可以避開大量 BDE的鏈接庫 DLL的分發(fā)。 基于以上原因我們選擇了 ADO做為我們的數(shù)據(jù)庫訪問組件。 1.2 程序運行環(huán)境 操作系統(tǒng): Windows 2000 Windows XP 辦公軟件: Office XP Office 2003 華北工學院計算機科學與技術系 5 2 . 需求分析 2.1 負責的功能模塊 設計試題生成功能,試題能分布整個教學內(nèi)容 設計試 題的難易程度分析功能 具有試題的答案生成功能 數(shù)據(jù)庫設計及維護 程序的其它選項設置 2.2 軟件功能分析 根據(jù)我負責的功能模塊,主要是在試卷的生成上。 1要顯示書本章節(jié)信息以供用戶使用。而在數(shù)據(jù)庫里章節(jié)的存放是沒有規(guī)則也即它們的順序不一定按照真實書本的章節(jié)順序來存儲的。但是在顯示章節(jié)信息的時候必須按照書本的章節(jié)順序來顯示。所以特別設置如下的數(shù)據(jù)類型: type ZJ=record ZJID:double; ZJName:string; end; 在這里 ZJID是設置成 double 的類型與相 對應的是數(shù)據(jù)庫里表 ZhangJie 里的 ZJ字段此字段的類型為文本弄的。故在添加此數(shù)據(jù)庫結構的時候要把文本型轉化為double 的類型。而 ZJName 對應的是數(shù)據(jù)庫里表 ZhangJie 里的 ZJName 它們?yōu)橥环N數(shù)據(jù)類型。再由于數(shù)據(jù)庫里章節(jié)的數(shù)量是不定的,故此種數(shù)據(jù)類型的變量必須是一種長度可變的類型才行,所以我們選擇了 Delphi里的動態(tài)數(shù)組類型。變量定義如下 : Var TempZJ:ZJ; HaveZJ:array of ZJ; 接下來的問題就是把這個變量記錄的數(shù)據(jù)按一定順序顯示到 TCheckTree 的 控件里了。由于章節(jié)的數(shù)量還是比較多的,所以我選擇了“改進的選擇排序”,具體的排序華北工學院計算機科學與技術系 6 算法代碼實現(xiàn)如下: for i:=0 to High(HaveZJ) do /對章節(jié)號進行排序 begin k:=i; for j:=i+1 to MaxNum do if HaveZJk.ZJIDHaveZJj.ZJID then k:=j; if ik then begin TempZJ.ZJID:=HaveZJi.ZJID; TempZJ.ZJName:=HaveZJi.ZJName; HaveZJi.ZJID:=HaveZJk.ZJID; HaveZJi.ZJName:=HaveZJk.ZJName; HaveZJk.ZJID:=TempZJ.ZJID; HaveZJk.ZJName:=TempZJ.ZJName; end; end; 2手動生 成試卷時要不斷的將用戶選擇的題目臨時存儲起來,由于記錄一道題所包含的信息不是很多,再因為這些信息一會兒還要在“保存答案”里使用,所以我設置了 4個 TStringList的全局變量,定義如下: var STTypeID,STBH,STND:TStringList; 每選一道題保存時的算法代碼如下: 首先保證要添加入的試題與現(xiàn)有的試題不能重復。 LX:=ST_DBG.Fields1.AsInteger; BH:=ST_DBG.Fields0.AsInteger; for i:=0 to STTypeID.Count-1 do begin if (StrToInt(STTypeID.Stringsi)=LX)and(StrToInt(STBH.Stringsi)=BH) then begin MessageBox(handle,要加入的試題已經(jīng)存在了! ,加入錯誤 ,MB_OK or MB_ICONERROR); 華北工學院計算機科學與技術系 7 exit; end; end; 如果不重復的話則把試題添加進來! STTypeID.Add(IntToStr(LX); /記下試題類型 STBH.Add(IntToStr(BH); /記下試題編號 STND.Add(ST_DBG.Fields4.AsString); /記下試題難度 3在自動生成試卷里最主要的一點就是如何生成一個覆蓋知道點廣且試題不重復的試卷。其中的關鍵算法在于如何生成一個不重復的隨機數(shù)序列。在 Delphi 里隨機數(shù)的產(chǎn)生函數(shù)是 Random,然而如果用這個函數(shù)來生成一定范圍內(nèi)的隨機數(shù)重復的機率太大了。其中變量定義如下: var XTH:array of integer; /存放隨機選題號 以下是產(chǎn)生不重復隨機數(shù)的算法: num:=MaxBH-MinBH+1; if num0 then /開始初始化 begin SetLength(XTH,num); for i:=0 to num-1 do XTHi:=MinBH+i; /給動態(tài)數(shù)組設初值 Randomize; /初始化隨機數(shù)生成器 for i:=0 to num-1 do begin j:=random(num); temp:=XTHi; XTHi:=XTHj; XTHj:=temp; end; end; 華北工學院計算機科學與技術系 8 3 . 設計階段 3.1 概要設計 3.1.1 系統(tǒng)數(shù)據(jù)庫設計 根據(jù)任務書的規(guī)定,現(xiàn)設計如下的數(shù)據(jù)庫表 格: 表:用戶表 (YH) 字段中文名 字段英文名 字段類型 字段長度 主鍵 姓名 UserName 文本 20 是 密碼 Password 文本 18 組 GroupID 數(shù)字 長整型 權限 QXID 數(shù)字 長整型 表:題型 (Type) 字段中文名 字段英文名 字段類型 字段長度 主鍵 編號 TypeID 自動編號 是 名稱 TypeName 文本 20 分值 FZ 數(shù)字 長整型 表:難易度 (NYD) 字段中文名 字段英文名 字段類型 字段長度 主鍵 編號 BH 自動編號 是 難易度 NYD 文本 表:用戶組 (UserGroup) 字段中文名 字段英文名 字段類型 字段長度 主鍵 編號 GroupID 自動編號 是 華北工學院計算機科學與技術系 9 組名 GroupName 文本 20 表:選擇題 (XuanZeTi) 字段中文名 字段英文名 字段類型 字段長度 主鍵 題號 TH 自動編號 是 題型 TypeID 數(shù)字 長整型 題目 TM 備注 選項 A A 文本 255 選項 B B 文本 255 選項 C C 文本 255 選項 D D 文本 255 正確答案 DA 文本 難易度 NY 數(shù)字 長整型 出自章節(jié) CZ 文本 50 表:填空題 (TianKong) 字段中文名 字段英文名 字段類型 字段長度 主鍵 題號 BH 自動編號 是 題型 TypeID 數(shù)字 長整型 題目 TM 備注 空 1 K1 文本 100 空 2 K2 文本 100 空 3 K3 文本 100 空 4 K4 文本 100 空 5 K5 文本 100 應填數(shù) YTS 數(shù)字 長整型 難易度 NY 數(shù)字 長整 型 出自章節(jié) CZ 文本 50 華北工學院計算機科學與技術系 10 表:簡答題 (JianDaTi) 字段中文名 字段英文名 字段類型 字段長度 主鍵 題號 BH 自動編號 是 題型 TypeID 數(shù)字 長整型 題目 TM 備注 答案 DA 備注 難易度 NY 數(shù)字 長整型 出自章節(jié) CZ 文本 50 表 8:原理論述題 (YuanLiLunShu) 字段中文名 字段英文名 字段類型 字段長度 主鍵 題號 BH 自動編號 是 題型 TypeID 數(shù)字 長整型 題目 TM 備注 答 案 DA 備注 難易度 NY 數(shù)字 長整型 出自章節(jié) CZ 文本 50 表 9:系統(tǒng)設計題 (XiTongSheJi) 字段中文名 字段英文名 字段類型 字段長度 主鍵 題號 BH 自動編號 是 題型 TypeID 數(shù)字 長整型 題目 TM 備注 華北工學院計算機科學與技術系 11 表格 BG 文本 100 答案 DA 備注 難易度 NY 數(shù)字 長整型 出自章節(jié) CZ 文本 50 答案表格 DABG 文本 50 題目表格 TMBG 文本 50 表 10:系統(tǒng)操作題 (XiTongCZ) 字段 中文名 字段英文名 字段類型 字段長度 主鍵 題號 BH 自動編號 是 題型 TypeID 數(shù)字 長整型 題目 TM 備注 難易度 NY 數(shù)字 長整型 出自章節(jié) CZ 文本 50 題目表格 TMBG 文本 50 問 1答案 W1DA 文本 255 問 1答案表格 W1DABG 文本 50 問 2答案 W2DA 文本 255 問 2答案表格 W2DABG 文本 50 問 3答案 W3DA 文本 255 問 3答案表格 W3DABG 文本 50 問 4答案 W4DA 文本 255 問 4答案表格 W4DABG 文本 50 問 5答案 W5DA 文本 255 問 5答案表格 W5DABG 文本 50 問題數(shù) WTS 數(shù)字 長整型 華北工學院計算機科學與技術系 12 3.2 詳細設計 3.2.1 程序流程圖 1 抽取現(xiàn)有試卷的流程圖: 華北工學院計算機科學與技術系 13 2 自動生成試卷的流程圖 : 華北工學院計算機科學與技術系 14 3 下圖是手動生成試卷的流程圖: 3.2.2 窗體功能簡介 下圖軟件的登陸界面 華北工學院計算機科學與技術系 15 在這里輸入用戶名及密碼就可以進行入軟件的主界面了! 下圖是軟件的主界面: 華北工學院計算機科學與技術系 16 在以上的軟件主界面的左邊是各個功能模塊的調(diào) 用接口! 如: 抽取現(xiàn)有試卷:點擊后進入抽取現(xiàn)有試卷的功能界面。 自動生成試卷:點擊后進入自動生成試卷的功能界面。 手動生成試卷:點擊后進入手動生成試卷。 題庫錄入:在這里可以往數(shù)據(jù)庫里添加試題。 題庫維護:在這里可以對數(shù)據(jù)庫里已有試題進行維護。 選項設置:在這里可以對軟件的其它選項進行設置。 軟件的右上角有“幫助”和“關于”按鈕!在這里可以得到軟件的使用幫助,和有關此軟件的一些開發(fā)信息! 下圖是自動生成試卷的界面: 華北工學院計算機科學與技術系 17 上圖中標為“第一部分”的樹形控件是用來設置要生成的試卷的試題的抽取范圍。 上 圖中標為“第二部分”的是用來設置各種題型的量及其分數(shù)。 上圖中標為“第三部分”的是功能按鈕,其中“生成試卷”用來根據(jù)“第二部分”的設置自動生成一份試卷?!邦A覽試卷”是用來預覽剛生成的試卷?!霸嚲泶鸢浮笔怯脕聿榭磩偵傻脑嚲淼拇鸢?。“保存試卷”是用來保存剛生成的試卷的信息。 華北工學院計算機科學與技術系 18 下圖是手動生成試卷的界面圖: 上圖中標為“第一部分”的樹形控件是用來設置要生成的試卷的試題的抽取范圍。 上圖中標為“第二部分”的是用來設置各種題型的量及其分數(shù)。 上圖中標為“第三部分”的是用來設置試卷的部分。 上圖中標為“第五 部分”的是用來選擇要加入試卷的試題。 上圖中標為“第四部分”的是功能按鈕,其中“加入試卷”用來把在“第五部分”的選擇試題加入到要生成的試卷中?!氨4嬖嚲怼笔怯脕肀4鎰偵傻脑嚲淼男畔ⅰ?華北工學院計算機科學與技術系 19 下圖是用戶管理的界面: 上圖中標為“第一部分”顯示當前系統(tǒng)已有的用戶。 上圖中標為“第二部分”選擇要進行的操作。 上圖中標為“第三部分”設置相應的信息。 上圖中標為“第四部分”??梢詣h除用戶或是提交對用戶信息的修改。 華北工學院計算機科學與技術系 20 下圖是數(shù)據(jù)庫功能模塊的界面: 上圖中標為“第一部分”可以改變數(shù)據(jù)庫的存放路徑 。 上圖中標為“第二部分”選擇要進行的操作。 上圖中標為“第三部分”選擇還原的時間點或是執(zhí)行備份操作。 華北工學院計算機科學與技術系 21 4 . 軟件實現(xiàn) 4.1 OOP簡介 每一個軟件開發(fā)人員都會經(jīng)常聽到,看到“面向?qū)ο蟆边@個詞,程序員也時常把它掛在嘴上。那么什么還是真正的“面向?qū)ο蟆保渴裁词敲嫦驅(qū)ο蟮木幊??是不是寫幾個類就算面向?qū)ο罅??為什么要面向?qū)ο螅?“面向?qū)ο笫且环N思維方式,一種方法論!” “結構化編程”( SP)是一種編程方法,是從計算機的視角來抽象問題的方法。而“面向?qū)ο缶幊獭保?OOP)也是一種編程方法,只不過它是從更接近真實世界 的視角來分析問題,使用更接近人們理解真實世界的方法來抽象問題,這種方法稱為“面向?qū)ο蟆保?OO)! “面向?qū)ο蟆边@個詞代表的是一種認識世界,分析問題,解決問題的方法,因此它是一種方法論。而面向?qū)ο缶幊虅t是將這種方法應用于程序設計的方法。當你會使用面向?qū)ο蟮姆椒ㄈニ伎迹妹嫦驅(qū)ο蟮哪J街Х治龊徒鉀Q問題的時候,才是真正的“面向?qū)ο蟆绷耍?“面向?qū)ο蟆弊钪饕奶匦杂腥齻€: 繼承性。 Delphi提供大量的可被二次開發(fā)的類。每個類都可被繼承。 封裝性。 Delphi的封裝性主要由類的私有域和保護域來實現(xiàn)的。 多態(tài)性。 Delphi的多太性主要是通過虛擬方法和動態(tài)方法來實現(xiàn)的。 4.2 開發(fā)的關鍵技術 1 VBA編程技術 Visual Basic for Applications(簡稱 VBA)是新一代標準宏語言。在沒有 VBA 以前,一些應用軟件如 Excel, Word, Access 等都采用自己的宏語言供用戶開發(fā)使用,但每一種宏語言都是相互獨立的并且它們之間是互不兼容的。這導致了應用軟件之間不能在程序上互聯(lián)。找到一種可被所有的 Microsoft 可編程應用軟件所共享的通用宏語言是 Microsoft 公司長期追求的目標。 VBA 作 為新一代的標準宏語言具有了跨越多種 OFFICE 應用軟件并且控制應用軟件對象的能力。 Delphi里封裝的三個主要交互控件:TWordApplication,TWordDocument,TwordFont. 本程序的主要實現(xiàn)技術如下: 華北工學院計算機科學與技術系 22 const BF_Name:array1.10 of String=(一、 ,二、 ,三、 ,四、 ,五、 ,六、 ,七、 , 八、 ,九、 ,十、 ); JG:String= ; var ItemIndex:OleVariant; NewDocument:_Document; FZ,TL,BF,STH,i,WTS,YTS:integer; temp,AppPath,BGName:string; procedure SetFont(aBold,aItalic,aShadow,aSize:integer); begin SJ_WF.ConnectTo(SJ_WD.Sentences.Get_Last.Font); SJ_WF.Name:=宋體 ; SJ_WF.Bold := aBold; SJ_WF.Italic := aItalic; SJ_WF.Shadow := aShadow; SJ_WF.Size := aSize; end; begin AppPath:=ExtractFilePath(Application.ExeName); /取得本程序的路徑 /顯示進度窗口 RateProcess_F.Show; RateProcess_F.CZ_P.Caption:=正在鏈接 Microsoft Office Word.; RateProcess_F.Rate_Gauge.MaxValue:=SJT_ADOQ.RecordCount+25; RateProcess_F.Repaint; /重繪窗口 ,否則顯示不出新設置的控件屬性 try SJ_WA.Connect; except MessageBox(handle,無法連接,也許沒有安裝 Word,連接出錯 , MB_Ok or MB_ICONERROR); RateProcess_F.Close; Abort; end; RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+10; 華北工學院計算機科學與技術系 23 /SJ_WA.Visible := False; /SJ_WA.Caption := 題庫系統(tǒng)與試卷生成 ; /建立一個新文檔 NewDocument:=SJ_WA.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam); RateProcess_F.CZ_P.Caption:=正在新建 Microsoft Office Word 文檔 .; RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5; RateProcess_F.Repaint; /建立 WordDocument連接 , 用第二種方法不容易出錯 /SJ_WD.ConnectTo(SJ_WA.Documents.Item(ItemIndex); SJ_WD.ConnectTo(NewDocument); SJ_WD.Windows.Item(ItemIndex).Caption:=數(shù)據(jù)庫原理與應用期末試卷 ; /此文檔的第一個窗口的標題 RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5; RateProcess_F.Repaint; /因為 Word進行拼寫檢查需要很多時間,所以首先關閉檢查 SJ_WA.Options.CheckSpellingAsYouType := False; SJ_WA.Options.CheckGrammarAsYouType := False; /設置 Word的字體 SetFont(1,0,0,22); /設置段落對齊方式 SJ_WD.Range.InsertAfter(數(shù)據(jù)庫原理與應用期末試卷 +#13); RateProcess_F.Rate_Gauge.Progress:=RateProcess_F.Rate_Gauge.Progress+5; RateProcess_F.Repaint; /SJ_WA.Documents.Item(ItemIndex).Paragraphs.Alignment:=wdAlignParagraphLeft; SJ_WD.Range.InsertAfter(學校 _ 班級 _ 姓名 _ 得分 _ +#13); SetFont(0,0,0,14); 2 TCheckTree控件的修改。 由于 Delphi自帶的 TTreeView里并沒有復選框的功能。因此,必須重新設計控件。 在設計時因 TTreeView里有一個 StateIndex和 StateImages,而縱觀 TTreeView的代華北工學院計算機科學與技術系 24 碼可以知道它只是發(fā)布了一下 TCustomTreeView定義并實現(xiàn)好的屬性和方法而已。因此我們也選擇 TCustomTreeView為 TCheckTree控件的祖先類。 重要的實現(xiàn)技術為: procedure TCheckTree.WMPaint( var Msg: TWMPaint ); var I: Integer; begin for I := 0 to Items.Count - 1 do begin if not(Items I .StateIndex in Ord(csUnknown).Ord(csPartiallyChecked) then Items I .StateIndex := Ord(csUnchecked) /這里我修改了 end; inherited; end; function TCheckTree.GetItemState( Node:TTreeNode ): TCheckCheckState; begin Result := TCheckCheckState( Node.StateIndex ); end; procedure TCheckTree.SetItemState( Node:TTreeNode; Value: TCheckCheckState ); begin if TCheckCheckState( Node.StateIndex ) Value then ChangeNodeCheckState( Node, Value ); end; procedure TCheckTree.StateChange( Node: TTreeNode; NewState: TCheckCheckState ); begin if Assigned( FOnStateChange ) then FOnStateChange( Self, Node, NewState ); end; 華北工學院計算機科學與技術系 25 5 . 軟件測試及其維護 5.1 系統(tǒng)測試平臺簡介 硬件平臺 CPU Intel P4 1.5G 主板 Intel 850芯片組的 GA-8TX-C 內(nèi)存 2 128M的三星 Rambus內(nèi)存 硬盤 Seagate Barracuda 7200.7 80G 顯卡 Unika 小妖 G9800 顯示器 美格 770PF, 17寸純平顯示器 軟件環(huán)境 操作系統(tǒng) Microsoft WindowsXP簡體中文專業(yè)版 SP1 辦公軟件 Microsoft Office 2003 顯卡驅(qū)動 nVIDIA ForceWare驅(qū)動 56.72版 For Win2000/XP 5.2 測試方法 測試在軟件開發(fā)過程中一直都是備受關注的,即使在傳統(tǒng)的軟件工程中,也有一個明確、獨立的測試 階段。隨著軟件危機的頻頻出現(xiàn)以及人們對于軟件本質(zhì)的進一步認識,測試的地位得到了前所未有的提高。測試已經(jīng)不僅僅局限于軟件開發(fā)中的一個階段,它已經(jīng)開始貫穿于整個軟件開發(fā)過程,人們已經(jīng)開始認識到:測試開始的時間越早,測試執(zhí)行的越頻繁,所帶來的整個軟件開發(fā)成本的下降就會越多。 Extreme Programming 更是把測試推到了極限的位置,一切軟件開發(fā)活動都要從首先編寫測試代碼開始。 華北工學院計算機科學與技術系 26 為了使本軟件運行更加穩(wěn)定,我對它進行了全面的測試,測試分為二部分來進行,一是:界面測試;二是功能測試。 首先是界面測試,為了使軟件在 不同的的操作系統(tǒng)平臺上運行界面能保持原來的風格。我的開發(fā)平臺如上介紹。我把完整程序拷貝到我同學的機子,同學機子的相關配置如下: Windows2000 15 寸顯示器;程序運行界面正常,但由于我同學的顯示器是 15 寸的顯示的范圍比較小外,界面上的字體等設置都保持得相當好。沒有出現(xiàn)類似字體變形的情況!第二個平臺: Windows Me +17 顯示器,測試結果:字體有些不正常了。后來在網(wǎng)查找了很多相關的資料,得出這是由于 Window Me 或 Windows 98 和我的開發(fā)平臺的操作系統(tǒng) Window XP 的字體集不一樣造成 的。解決方案是:把軟件的字體設置成:宋體 9 號,字符集使用: CHINASE_GB2312。至此軟件的界面測試順利完成。 二是進行功能的測試。我的功能模塊主要是試卷生成。而試卷生成后都是輸出到Microsoft Office Word 里。而 Office 的版本又那么的多,因此,我一直很擔心在不同的 Office 平臺下軟件會有不同的運行結果!實際測試結果如下:在 Windows 2000 Microsoft Office 2000 的平臺下,試卷功能里的預覽功能不能用了。界面停留在“正在鏈接 Microsoft Office Word .”這里,一看就知道沒有辦法和Microsoft Office Word 鏈接了。換平臺測試,這回是在 Windows 2000 Office XP,程序正常運行了包括試卷預覽等功能都正常運行。再換平臺: Windows XP+Office 2003 程序同樣完全正常運行,由此可以總結出在低于 Office XP 的平臺下程序無法和辦公軟件交互。本來我想把程序換成能支持 Office 2000 的,可后來一想 Office 2000 距離現(xiàn)在已經(jīng)有 4 年之久了。支持了它反而支持不了最新的 Office 平 臺,所以決定讓程序運行在 Office XP 或是 Office 2003 平臺上。至此到這里在功能的測試上也已經(jīng)比較圓滿的完成了! 5.3 系統(tǒng)維護 由于在開發(fā)本程序的時候我就特別注意軟件的后續(xù)維護和再開發(fā)上。因此極努力的想把它開發(fā)成一個 強內(nèi)聚、弱耦合、接口明確、意圖明晰的軟件 。對于程序里的功能我盡力把它們封裝在類的私有過程或私有函數(shù)里,這樣可以大大提高軟件的內(nèi)聚性,在各個功能模塊和窗體之間盡可能減少它們之間的調(diào)用關系,以減少軟件的耦合性。在軟件設計初期我就預留了接口用于調(diào)用另一個同學的模塊。為了保證兩人開發(fā)出的功能 模塊能在最后能順利地聯(lián)合。在一開始我就預先編了一個公共的“數(shù)據(jù)模華北工學院計算機科學與技術系 27 塊”以提高軟件連接數(shù)據(jù)庫能高效共享。并且給他規(guī)定一些如控件的命名規(guī)則,代碼的規(guī)范等。這些都大大提高了軟件后續(xù)的可維護性。 6 . 開發(fā)總結 本軟件的設計目的是在題庫建立管理維護和試卷生成方面為教學單位和人員提供方便和幫助。通過這幾個月的畢業(yè)設計,我學到很多以前沒有學到的 Delphi 開發(fā)技術,在軟件工程學上更是取得了很大的進步。經(jīng)過大量的測試和試用,作者深信本軟件達到了方便和實用的設計目的,并在軟件界面和易用實用等方面有著獨到之處。 雖然軟件基本達 到設計要求并且達到同行的先進水平,但由于作者水平有限,軟件存在 bug 也是在所難免的 ,您的意見和建議將極大的幫助我改進并完善軟件。真誠的希望你的參與。 華北工學院計算機科學與技術系 28 參 考 文 獻 1 陳明 . 軟件工程學教程 .科技出版社, 2002 2 薩師煊,王珊 . 數(shù)據(jù)庫系統(tǒng)概論 . 第三版 . 高等教育出版社, 2000 3 飛思科技產(chǎn)品研發(fā)中心 . Delphi7數(shù)據(jù)庫應用開發(fā) .電子工業(yè)出版社, 2003 4 飛思科技產(chǎn)品研發(fā)中心 . Delphi6開發(fā)者手冊 . 電子工業(yè)出版社 , 2002 5 申 旻 . Delphi 高手突破 . 清華大學出版社, 2002, 302 6 Steve Teixeira, Xaviver Pacheco 著,龍勁松,王瑜,謝尚書譯 . Delphi6 開發(fā)人員指南 . 機械工業(yè)出版社 .2003 7 喬林 .參透 Delphi Kylix . 中國鐵道出版社 .2003 8 李維 .Inside 深入核心 VCL 架構剖析 . 電子工業(yè)出版社 .2004 9 張立科編寫組 .Windows API 函數(shù)參考手冊 .人民郵電出版社 .2002 嚴蔚敏,吳偉民 .數(shù)據(jù)結構 .第二版 .清華大學出版社 .2001 華北工學院計算機科學與技術系 29 致 謝 我首先感謝我的指導老師韓老師,在她嚴格的要求下我懂得了開發(fā)軟件要有一種極其認真負責的態(tài)度。無論做什么事都要大膽的去想去做,這樣會有好的創(chuàng)意,才能更有作為。特別是在大三的時候能在韓老師的指導參與“ 山西晉能電力有限公司 ”的大型軟件“電力管理系統(tǒng)”的開發(fā),在那里我學到了很多在課堂里學不到的軟件設計思想。使我的軟件開發(fā)水平提高了一個層次。 大學就要畢業(yè)了,在這里我還要特別感謝我的班主任張軍老師。在這四年的大學生活里,他給了我很多幫助。和他在一起我學到了很多 做人的道理。這些將會是我將來生活的寶貴經(jīng)驗。 在這里我還要感謝我們宿舍的其它 7個同學。他們和我共同生活了四年,在生活和學習上給了我很大的幫助。 華北工學院計算機科學與技術系 30 譯 文 切換電路的連接設置的結果是保留了從發(fā)送端到接收端的包所通過的線路帶寬。其它的特性這一就是所有的包都沿同一個線路意味著如果包傳輸超過了時序那它將不能到達接收端 .由于沒有路徑用來進行包交換,所以要想不同的包沿不同的路徑傳送就是能依靠網(wǎng)絡的條件了。這樣包即便是超過了時序它們也有可能到達的。 包交換技術比線路交換技術更能容錯。事實上,這也是它被發(fā)明的理由 !當一個交換開頭被拉下,則所有使用它的線路將被切斷并且其余的包將不能再被傳送。此時如果在進行包交換,包將在已選擇的路徑上停止交換。 預先建立一條路徑也開創(chuàng)預先保留帶寬的可能性。 如果帶寬被保留,那么當一個包到達時, 通過 保留的帶寬 它可以被立即發(fā)送出去。假如沒有帶寬被保留用于包交換,那么所有的包將不得不等待著被轉發(fā)。 預先保留帶寬意味著當一個包出現(xiàn)時 不會發(fā)生 擁塞 (除非 出現(xiàn)的包比預期的還多 )。 在另一方面 ,當嘗試建立一條 電 路時 , 由于擁塞 , 嘗試 將會 失敗 。因此,在線路交換 (在設置時 )和包交換 (在包發(fā)送時 )的不同時間擁塞都 可能發(fā)生。 如果為特定的用戶建立一條線路那么當這個用戶沒有數(shù)據(jù)傳送時,則這些保留下來的帶寬將被浪費而不能用于其它用戶的傳輸。而包交換則不會浪費帶寬,因此它在系統(tǒng)寬帶方面的應用更有前景。理解電路交換和包交換的這種商業(yè)差別是極其重要的。這種商業(yè)差別是在質(zhì)保服務和浪費資源相對不質(zhì)保服務和不浪費資源的。 包交換是利用存儲器并向前發(fā)送的。包是先存儲在路由器的內(nèi)存里然后再發(fā)送到下一個路由器的。和電路交換一樣信息位也是連續(xù)不斷地通過導線傳輸?shù)?。存儲轉發(fā)技術增加了延遲時間。 另一個不同是電路交換是完全透明的。發(fā)送者和接收者 可以使用他們想要的任一比特速率,格式和幀同步 .這通信公司不知道也不關心這的。而在包交換中載體決定了基本的參數(shù)的。用一個簡單比喻它們就像一個是公路一個是鐵路。在以前,用戶決定介質(zhì)的大小,速度和特性。而后來這些都由通信公司做了的。這些都是透明的它允許聲音,數(shù)據(jù)和傳真共同存在于電話系統(tǒng)里。 電路交換和包交換的最后一個不同點是計費方式。電路交換的計費是按照傳統(tǒng)的距離和時間的。比如移動電話除打國際電話外距離是不列入計算的,而時間也只是列入一個簡單的計算 (例 :拔打 2000 分鐘電話比 1000 分鐘電話花費的多并且晚上或周末也比平時來得便宜 )。時間對于包交換來說是沒有問題的,但是傳輸流量卻是個問華北工學院計算機科學與技術系 31 題。 ISPs 為家庭用戶的計費方式基于按一個月的流量的一半的,這是因為它們用得相對較少并且他們的顧客也很好理解這種計費方式。但是主干網(wǎng)絡中心的收費是基于它們的流量的。這些不同列在圖 2-40里。 項目 電路交換 包交換 呼叫設置 需要 不需要 專用物理線路 是 否 每個包沿相同路徑 是 否 包的到達中有規(guī)則的 是 否 是否會致命的崩潰 是 否 帶寬利用 固定 動態(tài)分配 可能的時間堵塞 在設置時 在每個包時 可能浪費帶寬 是 否 以存儲轉發(fā)進行發(fā)送 否 是 透明性 是 否 收費 按分鐘 按包 圖 2 40:比較電路交換網(wǎng)絡和包交換網(wǎng)絡的不同 電路交換和包交換是兩者都是非常重要的,我們將立即在詳細的資料里提及并描述它們之間各種不同的技術。 2.6 移動電話系統(tǒng) 傳統(tǒng)的電話的系統(tǒng)將不能滿足用戶的大量增長(即有一天實現(xiàn)了終端到終端的光纖連接)。人類在進步,人們期望能在飛機上,汽車里,船上,足球場甚至在公園里跑步的時候也能打電話。在近幾年人們更是期望能在更多的地方發(fā)電子郵件和上網(wǎng)沖浪。因此有很多的人關心無線電話技術。在 下面的章節(jié)我們將用詳細的資料來學習這些主題。 無線電話可以分為基本的兩種:無繩電話和移動電話(有時也叫蜂窩電話)。無繩電話設備是由痤機和聽筒組成它們被安裝在用戶的家里。它們從不被應用于網(wǎng)絡,所以我們沒有辦法做進一步的檢測。取而代之,我們將把焦點放在在聲音和數(shù)據(jù)通信上有廣泛應用的移動系統(tǒng)上。 移動電話經(jīng)歷了三個不同的發(fā)展階段,每個階段都有不同的技術: 1 模擬聲音 華北工學院計算機科學與技術系 32 2 數(shù)字聲音 3 數(shù)字聲音和數(shù)據(jù)(互聯(lián)網(wǎng),電子郵件, etc.) 雖然我們主要討論這系統(tǒng)技術,但是我們也有必要注意政府和市場對它的巨大影響。第一 個移動電話系統(tǒng)是在美國由受美國國家聯(lián)邦通訊委員會 (FCC)委托的美國電話電報公司 (AT&T)設計的。結果在整個美國就有了一個簡單的 (模擬 )系統(tǒng)并且移動電話開始在加利福尼亞上市同時也在紐約得到應用。相反的,當移動電話來到歐洲時,由于每個國家都設計了自己的系統(tǒng),所以結局很慘敗。 當數(shù)字技術到來時,歐洲從前面的失敗中吸收教訓,政府和郵政制定了簡單系統(tǒng)(GSM)的統(tǒng)一標準,因此移動電話在歐洲的任何一個地方都是通用的。此時,美國政府決定不把標準商業(yè)化因而它失去了數(shù)字市場。這個決定導致不同的設備生產(chǎn)商生產(chǎn)出不同的移動電 話。結果現(xiàn)在美國有兩不可兼容的數(shù)字移動電話在使用 (加強了一家就會削弱另一家 )。 即使美國擁有移動電話的所有權,但是在應用上歐洲要遠遠超過美國的。原因之一就是整個歐洲擁有相同的簡單系統(tǒng)。然而更多的是由于美國和歐洲的基本電話數(shù)量不同。在美國移動電話和固定電話是共用的,因此對于用戶沒有辦法區(qū)分 (212)234-5678 到底是固定電話 (撥打是便宜的或者是免費的 )還是移動電話 (撥打是昂貴的 )。為了使人們從使用電話中獲益,電話公司決定為引入呼叫而花自己的錢制造移動電話。結果導致,很多人怕由于呼叫而收到一大筆帳單而不愿意 買移動電話。在歐洲移動電話有特殊的區(qū)號 (如 800,900 之類的數(shù)字 ),所以它很快就得到了認可。因而在一般的“叫方付費”的原則在歐洲也被應用于移動電話了 (除國際電話分開收費外 )。 在歐洲采用頒布廣泛的已經(jīng)付費的移動電話的影響巨大 (超過同地區(qū)的 75%)。移動電話可以在很多的商店里購買而不像購買收音機那樣需要很多手續(xù)。誰付費誰使用,他們預先存入,比如 20 或 50 euro 并且在快用完的時候可以用 PIN 碼進行再充值。結果在歐洲幾乎所有的青年和小孩都有一個 (預付費的 )移動電話,這樣他們的父母就可以準確的定位他們而不用去 擔心孩子們會用掉一大筆帳的。如果僅在偶而使用移動電話,那么它的使用是基本免費的因為這里有月租或者預先支付呼叫。 2.6.1 第一代移動電話:模擬聲音 移動電話充分體現(xiàn)了政治和市場的特征。讓我們來看一下它的技術吧。它是從簡單的系統(tǒng)開始的。在 20 世紀的初,移動無線電話被偶而應用于海上或軍事通信中。在 1946 年,第一個基站被安置在 St.Louis。這個系統(tǒng)被安置在高層建筑上,它華北工學院計算機科學與技術系 33 使用一個簡單的大的發(fā)送機并且有了用于發(fā)送和接收的簡單的通道。像這樣的系統(tǒng)稱做被動式系統(tǒng),從 1950 開始它就被安裝在很多的城市了。 可較驗的收音機,出租車,警車還有電視也廣泛采用這種技術。 在 1960 年, IMTS(改良的移動電話系統(tǒng))被發(fā)明。它仍然使用高達 200 瓦的發(fā)送器,發(fā)送器被安置在山上,不過此時已經(jīng)有了兩各不同的頻率了,一種用來發(fā)送,另一種用來接收,所以這個呼叫按鈕就可不要了。相比信號出站移動電話的信號入站是通過不同的通道的,因此移動用戶不會互相聽到 (不像應用在出租車上被叫系統(tǒng) )。 IMTS支持從 150 MHz到 450 MHz的 23 條通道。由于通道太少,用戶經(jīng)常要等很長時間才能聽到拔號音。也由于小山上的發(fā)送器的功率太 大,為了不互相干擾鄰近的系統(tǒng)不得不與它相距幾百千米??偠灾?,這有限的容量使用這系統(tǒng)有點不合實際應用。 華北工學院計算機科學與技術系 34 原 文 The result of the connection setup with circuit switching is the reservation of bandwidth all the way from the sender to the receiver. All packets follow this path. Among other properties, having all packets follow the same path means that they cannot arrive out of order. With packet switching there is no path , so different packets can follow different paths, depending on network conditions at the time they are sent. They may arrive out of order. Packet switching is more fault tolerant than circuit switching. In fact, that is why it was invented. If a switch goes down, all of the circuits using it are terminated and no more traffic can be sent on any of them. With Packet switching, packets can be routed around dead switches. Setting up a path in advance also opens up the possibility of reserving bandwidth in advance. If bandwidth is reserved, then when a packet arrives, it can be sent out immediately over the reserved bandwidth. With packet switching, no bandwidth is reserved, so packets may have to wait their turn to be forwarded. Having bandwidth reserved in advance means that no congestion can occur when a packet shows up (unless more packets show up than expected).On the other hand, when an attempt is made to establish a circuit, the attempt can fail due to congestion. Thus, congestion can occur at different times with circuit switching(at setup time) and packet switching(when packets are sent). If a circuit has been reserved for a particular user and there is no traffic to send, the bandwidth of that circuit is wasted. It cannot be used for other traffic. Packet switching does not waste bandwidth and thus is more efficient form a system-wide perspective. Understanding this trade-off is crucial for comprehending the difference between circuit switching and packet switching. The trade-off is between guaranteed service and wasting resources versus not guaranteeing service and not 華北工學院計算機科學與技術系 35 wasting resources. Packet switching uses store-and-forward transmission. A packet is accumulated. in a router s memory, then sent on to the next router. With circuit switching, the bits just flow through the wire continuously. The store-and-forward technique adds delay. Another difference is that circuit switching is completely transparent. The sender and receiver can use any bit rate, format, or framing method they want to. The carrier does not know or care. With packet switching, the carrier determines the basic parameters. A rough analogy is a road versus a railroad. In the former, the user determines the size, speed, and nature of the vehicle; in the latter, the carrier does. It is this transparency that allows voice, data, and fax to coexist within the phone system. A final difference between circuit and packet switching is the charging algorithm. With circuit switching, charging has historically been based on distance and time. For mobile phones, distance usually does not play a role, except for international calls, and time plays only a minor role(e.g., a calling plan with 2000 free minutes costs more than one with 1000 free minutes and sometimes night or weekend calls are cheaper than normal).With packet switching, connect time is not an issue, but the volume of traffic sometimes is. For home users, ISPs usually charge a flat monthly rate because it is less work for them and their customers can understand this model easily, but backbone carriers charge regional networks based on the volume of their traffic. The differences are summarized in Fig.2-40. 華北工學院計算機科學與技術系 36 Item Circuit Switched Packet Switched Call setup Required Not needed Dedicated physical path Yes No Each packet follows the same route Yes No Packets arrive in order Yes No Is a switch crash fatal Yes No Bandwidth available Fixed Dynamic Time of possible congestion At setup time On every packet Potentially wasted bandwidth Yes No Store-and-forward transmission No Yes Transparency Yes No Charging Per minute Per packet Both circuit switching and packet switching are important enough that we will come back to them shortly and describe the various technologies used in detail. 2.6 THE MOBILE TELEPHONE SYSTEM The traditional telephone system(even if it some day gets multi-gigabit end-to-end fiber) will still not be able to satisfy a growing group of users :people on the go .People now expect to make phone calls from airplanes ,cars ,swimming pools ,and while jogging in the park .Within a few years they will also expect to send e-mail and surf the Web from all these locations and more consequently ,there is a tremendous amount of interest in wireless telephony .In the following sections we will study this topic in some detail. Wireless telephones come in two basic varieties :cordless phones and mobile phones(sometimes called cell phones),Cordless phones are devices 華北工學院計算機科學與技術系 37 consisting of a base station and a handset sold as a set for use within the home. These are never used for networking ,so we will not examine them further .Instead we will concentrate on the mobile system ,which is used for wide area voice and data communication. Mobile phones have gone through three distinct generations ,with different technologies: 1. Analog voice 2. Digital voice 3. Digital voice and data(Internet ,e-mail ,etc.). Although most of our discussion will be about the technology of these systems ,it is interesting to note how political and tiny marketing decisions can have a huge impact .The first mobile system was devised in the U.S. by AT&T and mandated for the whole country by the FCC .As a result ,the entire U.S. had a single(analog) system and a mobile phone purchased in California also worked in New York .In contrast ,when mobile came to Europe ,every country devised its own system ,which resulted in a fiasco. Europe learned from its mistake and when digital came around, the government-run PTTs got together and standardized on a single system(GSM),so any European mobile phone will word anywhere in Europe .By then ,the U.S. had decided that government should not be in the standardization business ,so it left digital to the marketplace .This decision resulted in different equipment manufacturers producing different kinds of mobile phones .As a consequence ,the U.S. now has two major incompatible digital mobile phone systems in operation(plus one minor one). Despite an initial lead by the U.S. , mobile phone ownership and usage in Europe is now far greater than in the U.S. Having a single system for all of Europe is part of the reason ,but there is more .A second area where the U.S. and Europe differed is in the humble matter of phone numbers .In the U.S. mobile phones are mixed in with regular (fixed) telephones .Thus ,there is no way

溫馨提示

  • 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

提交評論