【文章內(nèi)容簡(jiǎn)介】
等 [19]。 JDBC 技術(shù) JDBC 技術(shù)在 J2EE 結(jié)構(gòu)的中間層與 EIS 層的數(shù)據(jù)源之間提供了數(shù)據(jù)庫(kù)獨(dú)立的開(kāi)放性連接,使應(yīng)用程序不僅可以對(duì)基于 SQL 標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行訪問(wèn),而且還可以對(duì)其他類型的數(shù)據(jù)源進(jìn)行訪問(wèn) [12]。 JDBC 技術(shù)通過(guò)提供 API 使 Java 應(yīng)用程序能夠?qū)崿F(xiàn)位于系統(tǒng)層的數(shù)據(jù)庫(kù)的訪問(wèn)能力。 J2EE 結(jié)構(gòu)中間層的應(yīng)用組件通過(guò) JDBC 技術(shù)可以完成下列功能:實(shí)現(xiàn)與位于J2EE 結(jié)構(gòu)中 系統(tǒng)層的數(shù)據(jù)庫(kù)服務(wù)器的連接;管理事務(wù);將 SQL 請(qǐng)求傳送到數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行預(yù)處理并執(zhí)行相應(yīng)的數(shù)據(jù)操作;執(zhí)行存儲(chǔ)過(guò)程;檢查修改查詢語(yǔ)句的執(zhí)行結(jié)果等。 JDBC 有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用 JDBC 來(lái)完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)包括以下四個(gè)主要組件: Java 的應(yīng)用程序、 JDBC 驅(qū)動(dòng)器管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。圖 23 展示了 Java 程序、 JDBC 、 JDBC 驅(qū)動(dòng)器和數(shù)據(jù)源之間的關(guān)系。 J a v a 程 序J D B CM y S Q L J D B C驅(qū) 動(dòng) 器O r a c l e J D B C驅(qū) 動(dòng) 器J D B C — O D B C橋 驅(qū) 動(dòng) 器O D B C 數(shù)據(jù) 源M y S Q L數(shù) 據(jù) 庫(kù)O r a c l e數(shù) 據(jù) 庫(kù)S Q L S e rv e r 數(shù) 據(jù)庫(kù)A c c e s s數(shù) 據(jù) 庫(kù) 圖 23 java 程序通過(guò) JDBC 訪問(wèn)數(shù)據(jù)庫(kù) 其訪問(wèn)過(guò)程為: 1) 通過(guò)驅(qū)動(dòng)器管理器獲取連接接口。 2) 獲得 Statement 或它的子類。 3) 限制 Statement 中的參數(shù)。 4) 執(zhí)行 Statement。 5) 查看返回的行數(shù)是否超出范圍。 6) 關(guān)閉 Statement。 7) 處理其它的 Statement。 8) 關(guān)閉連接接口。 JDBC 向應(yīng)用程序開(kāi)發(fā)者提供了獨(dú)立于數(shù)據(jù)庫(kù)的統(tǒng)一的 API。這個(gè) API 提供了編寫的標(biāo)準(zhǔn)和考慮所有不同應(yīng)用程序設(shè)計(jì)的標(biāo)準(zhǔn)。其奧秘是一組由驅(qū)動(dòng)程序?qū)崿F(xiàn)的石河子大學(xué)本科生畢業(yè)設(shè)計(jì)論文 6 Java 接口。驅(qū)動(dòng)程序負(fù)責(zé)標(biāo)準(zhǔn) JDBC 調(diào)用向支持的數(shù)據(jù)庫(kù)所要的具體調(diào)用轉(zhuǎn)變。JDBC API 用于連接 Java 應(yīng)用程序與各種關(guān)系數(shù)據(jù)庫(kù)。這使得人們?cè)诮⒖蛻?/服務(wù)器應(yīng)用程序時(shí),通常把 Java 作為編程語(yǔ)言,把任何一種瀏覽器作為應(yīng)用程序的友好界面,把 Inter 或 Intra 作為網(wǎng)絡(luò)主干,把有關(guān)的數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)后端。以下是使用 JDBC 的優(yōu)缺點(diǎn)。 優(yōu)點(diǎn)如下: 1) JDBC API 與 ODBC 十分相似,有利于用戶理解。 2) JDBC 使得編程人員從復(fù)雜的驅(qū)動(dòng)器調(diào)用命令和函數(shù)中解脫出來(lái),可以致力于應(yīng)用程序中的關(guān)鍵地方。 3) JDBC 支持不同的關(guān)系數(shù)據(jù)庫(kù),使得程序的可移植性大大加強(qiáng)。 4) 用戶可以使用 JDBCODBC 橋驅(qū)動(dòng)器將 JDBC 函數(shù)調(diào)用轉(zhuǎn)換為 ODBC。 5) JDBC API 是面向?qū)ο蟮?,可以讓用戶把常用的方法封裝為一個(gè)類,以備后用。 缺點(diǎn)如下: 1) 使用 JDBC,訪問(wèn)數(shù)據(jù)記錄的速度會(huì)受到一定程度的影響。 2) JDBC 結(jié)構(gòu)中包含了不同廠家的產(chǎn)品,這就給更改數(shù)據(jù)源帶來(lái)了很大的麻煩。 開(kāi)發(fā)環(huán)境 系統(tǒng)硬件環(huán)境 1) 服務(wù)器: PentiumIII 1G( 或與此相當(dāng)?shù)?CPU)以上配置的高性能 PC 機(jī),有 網(wǎng)絡(luò)接口卡( NIC),內(nèi)存應(yīng)在 256M 以上,硬盤在 80G 以上。數(shù)據(jù)庫(kù)軟件 IBM DB2,還可選用備份服務(wù)器。 2) 操作系統(tǒng): Windows 20xx Server / Windows XP 操作系統(tǒng)。 3) 客戶端: PentiumIII 500(或與此相當(dāng)?shù)?CPU)以上配置的 PC 機(jī),有網(wǎng)絡(luò)接口卡( NIC),內(nèi)存應(yīng)在 128M 以上,硬盤在 10G 以上。 Windows98 以上操作系統(tǒng),安裝 Web 瀏覽器。 4) 網(wǎng)絡(luò):服務(wù)器和客戶端應(yīng)有網(wǎng)絡(luò)連通。配置 TCP/IP 協(xié)議。 系統(tǒng)開(kāi)發(fā)工具 1) 開(kāi)發(fā)環(huán)境: MyEclispse 。 2) Web 服務(wù)平臺(tái): Tomcat 。 3) 數(shù)據(jù)庫(kù): SQL Server 20xx。 3 需求分析 7 3 需求分析 引言 為了對(duì)在線教育系統(tǒng)的性能和功能更好 的分析 ,我們首先進(jìn)行 了 需求分析 工作 。通過(guò)需求分析我們可以了解到 在線教育系統(tǒng)中用戶所要知道完成的主要功能就是課程與班級(jí)的選擇,學(xué)習(xí)資料的下載、瀏覽 ,留言與回復(fù) ,在線測(cè)試,從而使用戶達(dá)到自己的目的。 軟件需求包括三個(gè)不同的層次:業(yè)務(wù)需求、用戶需求和功能需求也包括非功能需求。業(yè)務(wù)需求反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實(shí)例文檔或方案腳本說(shuō)明中予以說(shuō)明。功能需求定義開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們 的任務(wù),從而滿足了業(yè)務(wù)需求。 可行性分析 技術(shù)可行性 本課題所涉及的研究目標(biāo),在國(guó)內(nèi)外已經(jīng)有相當(dāng)成熟的理論基礎(chǔ)和技術(shù)基礎(chǔ)。通過(guò)開(kāi)發(fā)人員的文獻(xiàn)調(diào)查,對(duì)于在線教育系統(tǒng)所涉及到的技術(shù)問(wèn)題進(jìn)行細(xì)致的分析,絕大部分可以使用計(jì)算機(jī)科學(xué)與技術(shù)的 專業(yè)知識(shí) 進(jìn)行構(gòu)建,其他的部分則可以通過(guò)自學(xué),調(diào)用已經(jīng)開(kāi)發(fā)好的一些功能模塊的接口完成課題涉及到的技術(shù)要求。 經(jīng)濟(jì) 可行性 本課題通過(guò)對(duì)既有開(kāi)發(fā)平臺(tái)的使用,能夠設(shè)計(jì)出比較完善的 《程序設(shè)計(jì)基礎(chǔ)》在線教育系統(tǒng) ,沒(méi)有任何經(jīng)濟(jì)上的負(fù)擔(dān),通過(guò)本課題可以自主開(kāi)發(fā)我院網(wǎng)上教學(xué)平臺(tái),即節(jié)省了學(xué)院的經(jīng)費(fèi), 又鍛煉了學(xué)生的自我研發(fā)意識(shí)和自己動(dòng)手的能力。 操作 可行性 本課題要求對(duì)于 在線教育系統(tǒng) 有比較細(xì)致的了解,能夠通過(guò)對(duì)于既有文獻(xiàn)的學(xué)習(xí)和既有技術(shù)文檔和程序的研習(xí),利用自己在校學(xué)習(xí)的系統(tǒng)的計(jì)算機(jī)科學(xué)與技術(shù)的專業(yè)知識(shí),自主開(kāi)發(fā)出 《程序設(shè)計(jì)基礎(chǔ)》在線教育系統(tǒng) 。本系統(tǒng)的界面友好,具有詳細(xì)的幫助文檔。從可操作性的角度來(lái)講,完全可行。 功能需求 《 程序設(shè)計(jì)基礎(chǔ)》在線教育系統(tǒng)采用面向?qū)ο蟮木幊?,結(jié)合網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù),實(shí)現(xiàn) 、 控制和管理其他教學(xué)網(wǎng)站所具有的基本功能 。 石河子大學(xué)本科生畢業(yè)設(shè)計(jì)論文 8 本系統(tǒng)有學(xué)生、教師 、訪客 和管理員 四類角色 ,其結(jié)構(gòu)圖如圖 31 所示 。 網(wǎng) 絡(luò) 教 學(xué) 平 臺(tái)管 理 員教 師學(xué) 生 訪 客 圖 31 網(wǎng)站用戶結(jié)構(gòu)圖 在同知道老師探討后,結(jié)合我們和本學(xué)院相關(guān)學(xué)生的溝通,以及網(wǎng)絡(luò)上的一些常規(guī)需求,總結(jié)出以下需求。 學(xué)生的需求:( 1)注冊(cè)學(xué)生通過(guò)瀏覽網(wǎng)頁(yè),下載課件以及教學(xué)資源,觀看網(wǎng)絡(luò)精品教程, 向老師提出問(wèn)題,跟老師和其他同學(xué)討論,上交作業(yè),瀏覽公告,查詢作業(yè)及成績(jī) ,進(jìn)行在線測(cè)試 等 。( 2)非注冊(cè)學(xué)生只能瀏覽公告。 管理員的需求:在后臺(tái)完成公告管理、學(xué)生和教師的資料管理、上傳資源及題庫(kù)管理。 教師的需求:教師通過(guò)瀏覽網(wǎng)頁(yè)可以 發(fā)布教案 , 布置 /批改作業(yè) , 發(fā)布公告和答疑解惑 ,同時(shí)完成考試管理和資源管理。 系統(tǒng)的 UML 建模 系統(tǒng)的用例圖 創(chuàng)建用例圖之前首先需要確定參與者。 1) 系統(tǒng)中,需要學(xué)生和教師的參與。注冊(cè)學(xué)生通過(guò)瀏覽網(wǎng)頁(yè),下載課件以及教學(xué)資源,觀看網(wǎng)絡(luò)精品教程, 向老師提出問(wèn)題,跟老師和其他同學(xué)討論,上交作業(yè),瀏覽公告,查詢作業(yè)及成績(jī) ,進(jìn)行在線測(cè)試 等 。非注冊(cè)學(xué)生只能瀏覽公告。教師作為教學(xué)的主導(dǎo)者,可以通過(guò)瀏覽網(wǎng)頁(yè)可以 發(fā)布教案 , 布置 /批改作業(yè) , 發(fā)布公告和答疑解惑 ,同時(shí)完成考試管理和資源管理。 2) 需要一個(gè)專門的管理者進(jìn)行日常維護(hù)與管理,所以需要有系統(tǒng)管理 員參與。 (1) 系統(tǒng)用戶參與的總的用例圖 教師和學(xué)生都可以從“網(wǎng)站用戶”這個(gè)參與者泛化而來(lái),網(wǎng)站用戶是指網(wǎng)站的注冊(cè)用戶,注冊(cè)用戶可以登錄系統(tǒng)完成相應(yīng)的操作。 系統(tǒng)用戶參與的總的用例圖如圖 32 所示。從圖中可以清楚地看到泛化關(guān)系與各個(gè)參與者所參與的用例。 3 需求分析 9 在 線 教 育 系 統(tǒng)老 師學(xué) 生用 戶 繼 承 繼 承 管 理 員查 看 成 績(jī)?cè)?線 考 試添 加登 陸提 交 作 業(yè)查 看 用 戶 信 息查 看 新 聞 公 告發(fā) 帖 , 跟 帖下 載 資 源上 傳 資 源批 改 試 卷出 試 卷發(fā) 表 新 聞布 置 作 業(yè)管 理 用 戶 、 資 源 圖 32 系統(tǒng)用戶參與的總的用例圖 抽象參與者注冊(cè)用戶的用例只有登錄系統(tǒng)( System Login)一個(gè),學(xué)生和老師用戶除了包含這個(gè)用例以外,還各自有相對(duì)應(yīng)的用例。 (2) 學(xué)生參與者的用例圖 學(xué)生參與者的用例圖 如下圖 33 所示。 I n f o r m a t i o n S e a r c hs t u d e n tM a t e r a l S e a r c hU p l o a dM a t e r a l U p l o a dH o m e w o r k U p l o a dD o w n l o a d M a t e r a lA r t i c l e S e a r c hE x a mS c o r e S e a r c hD i s c u s s e x t e n d s e x t e n d s 《 i n c l u d e 》 圖 33 學(xué)生參與的用例圖 石河子大學(xué)本科生畢業(yè)設(shè)計(jì)論文 10 a) 瀏覽用例 :學(xué)生可以瀏覽諸如課程簡(jiǎn)介,教學(xué)計(jì)劃,學(xué)習(xí)方法等教師發(fā)布的文章。 b) 搜索用例 :學(xué)生可以使用搜索功能根據(jù)關(guān)鍵字查詢相應(yīng)的文章。 c) 下載用例 :學(xué)生可以使用下載功能將網(wǎng)站上的課件以及資料信息下載到本地機(jī)器上。 〖用例圖說(shuō)明〗 (a) Download:文件下載用例。 (b) Look through info:文章瀏覽用例。 (c) Article search:文章搜索用例。 (3) 教師參與者的用例圖 教師參與者的用例圖如下 34 所示。 I n f o r m a t i o n S e a r c ht e a c h e rD e s i g n T a s kU p l o a d C A IN e w s I s s u eN e w s U p d a t eC o r r e c t s H o m e w o r kW r i t e P a p e rC o r r e c t s P a p e rD i s c u s s 圖 34 教師參與的用例圖 a) 添加課程簡(jiǎn)介用例:教師可以為自己所教授的課程添加課程簡(jiǎn)介。 b) 上傳課件用例:教師可以將課程的課件上傳到網(wǎng)站上供學(xué)生下載。 c) 文章或消息發(fā)布用例:教師可以發(fā)布介紹學(xué)習(xí)方法,課程重點(diǎn)等和教學(xué)相關(guān)的文章,以及和課程相關(guān)的通知等。 d) 文章或消息修改用例:教師可以修改自己發(fā)布的文章和通知。 〖用例圖說(shuō)明〗 (a) Course Intro:添加課程簡(jiǎn)介用例。 (b) Upload CAI:上傳課件用例。 (c) Message Issue:文章或消息發(fā) 布用例。 3 需求分析 11 (d) Message Update:文章或消息修改用例。 (4) 系統(tǒng)管理員參與者的用例圖 系統(tǒng)管理員的用例圖如下 35 所示。 I n f o M a i n t e n a n c eA d m i n s t r a t o rA d d U s e r sN e w s M a n a g eM a t e r a l M a n a g eQ u e s t i o n s M a n a g eD i s c u s s 圖 35 系統(tǒng)管理員參與的用例圖 a) 頁(yè)面維護(hù)。系統(tǒng)管理員可以對(duì)網(wǎng)站進(jìn)行日常維護(hù)與管理。 b) 處理注冊(cè)申請(qǐng)。系統(tǒng)管理員可以處理學(xué)生或教師用戶的注冊(cè)申請(qǐng)。 〖用例圖說(shuō)明〗 (a) Page Maintenance:頁(yè)面維護(hù)。 (b) Information Update:頁(yè)面更新。系統(tǒng)管理員負(fù)責(zé)網(wǎng)站的頁(yè)面更新,除了文 章,消息,圖片等的更新,還包括頁(yè)面 的美化和板塊的調(diào)整。 (c) Questions Manage:題庫(kù)管理。 系統(tǒng)的時(shí)序圖 網(wǎng)絡(luò)教學(xué)系統(tǒng)中的用例很多,所能畫出的時(shí)序圖也很多,在此不一一介紹。 1) 系統(tǒng)管理人員管理網(wǎng)站的時(shí)序圖 如圖 36 所示: L i b a r i a n : L i b a r i a nU s e r L o g i n O p e r a t i o n M a i n t e n a n c e Q u e r yU s e r L o g i nI n p u t O p e r a t i o nI n p u t M a i n t e n a n c eI n p u t Q u e r y 圖 36 系統(tǒng)管理人員管理網(wǎng)站的時(shí)序圖 石河子大學(xué)本科生畢業(yè)設(shè)計(jì)論文 12 〖時(shí)序圖說(shuō)明〗 (1) Libr