基于BS模式的在線教育系統(tǒng)設(shè)計與實現(xiàn)_第1頁
基于BS模式的在線教育系統(tǒng)設(shè)計與實現(xiàn)_第2頁
基于BS模式的在線教育系統(tǒng)設(shè)計與實現(xiàn)_第3頁
基于BS模式的在線教育系統(tǒng)設(shè)計與實現(xiàn)_第4頁
基于BS模式的在線教育系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西北第二民族學(xué)院 學(xué)士學(xué)位論文 論文題目: 基于基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn)模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 院(部)名 稱: 信息與計算科學(xué)學(xué)院信息與計算科學(xué)學(xué)院 學(xué) 生 姓 名: 張張 波波 專 業(yè): 信息與計算科學(xué)信息與計算科學(xué) 學(xué) 號: 2003015920030159 指導(dǎo)教師姓名: 馬馬 占占 有有 論文提交時間: 20072007 年年 5 5 月月 論文答辯時間: 20072007 年年 6 6 月月 學(xué)位授予時間: 、 西北第二民族學(xué)院教務(wù)處制 I 摘要摘要 隨著 internet 的迅速發(fā)展,傳統(tǒng)教育方式已無法滿足學(xué)生的需求,在線教育 系統(tǒng)計算機技術(shù)和多媒體技術(shù)相

2、結(jié)合的新一代教育方式,突出了時間和空間性,在 線教育是讓更多的學(xué)習(xí)者共享資源。本文系統(tǒng)通過 C#+A 實現(xiàn),它在學(xué)生與教 師之間搭起了一坐橋梁:學(xué)生可以及時進行在線注冊,在線登陸,修改個人資料, 班級瀏覽,提問瀏覽,在線測試等操作。而教師可以進行在線注冊,在線登陸,修 改個人資料,教學(xué)管理,答疑管理,班級管理等操作。 關(guān)鍵詞:關(guān)鍵詞:B/S 模式,數(shù)據(jù)庫,C# ,IIS II AbstractAbstract The rapid development of internet, the traditional educational methods have failed to meet th

3、e needs of students. Online education system computer technology and multimedia technology with a new generation of education, focusing on the time and space, Online education is to enable more learners to share resources. C#+A this system through the realization of its students and teachers to buil

4、d a bridge sitting : Students can register online in a timely manner, online landing, revision of the personal information, class browser, the question here, online testing operations. Teachers can register online, online landing, revision of the personal information management teaching and coaching

5、 management, class management operation. Keywords: B/S Mode, Databases, C #, IIS III 目錄目錄 第 1 章 緒論.1 1.1 引言 .1 1.2 B/S 系統(tǒng).2 1.3 本文所做的工作 .3 第 2 章 系統(tǒng)總體設(shè)計.4 2.1 需求分析 .4 2.1.1 功能需求.4 2.1.2 性能需求 .4 2.2 系統(tǒng)總體 .4 2.2.1 系統(tǒng)模塊劃分.4 2.3 系統(tǒng)的流程設(shè)計 .5 第 3 章 數(shù)據(jù)庫邏輯結(jié)構(gòu).9 3.1 數(shù)據(jù)庫選擇 .9 3.2 數(shù)據(jù)庫和信息系統(tǒng) .10 3.3 數(shù)據(jù)庫設(shè)計的特點 .10 3.

6、4 數(shù)據(jù)庫表結(jié)構(gòu)的詳細設(shè)計 .10 第 4 章 系統(tǒng)設(shè)計與實現(xiàn).15 4.1 數(shù)據(jù)訪問層 .15 4.2 商業(yè)邏輯層 .15 4.3 用戶界面層與核心代碼 .19 4.3.1 用戶登陸.19 4.3.2 用戶注冊.21 4.3.3 用戶操作界面.23 4.3.4 文件上傳界面.25 4.3.5 郵件發(fā)送界面.28 4.3.6 系統(tǒng)的其它核心代碼.30 結(jié)語與展望.33 致謝.34 參考文獻.35 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 1 第第 1 1 章章 緒論緒論 1.11.1 引言引言 在科學(xué)技術(shù)飛速發(fā)展的今天,Internet 逐漸走入到人們的生活當(dāng)中,人們可以 在閑暇時盡情地遨游

7、在網(wǎng)絡(luò)中,而 Internet 又是以網(wǎng)站的形式體現(xiàn)出來的。通過網(wǎng) 站的訪問,人們可以進行電子郵件的發(fā)送、文件傳輸、遠程登陸、網(wǎng)上查詢、網(wǎng)上 交流,足不出戶便可知道外面的世界和最新的信息。 在這樣的信息時代中,用戶對信息的需求量、廣泛程度和時效性的要求日趨提 高,傳統(tǒng)的教育和管理受到了極大地沖擊。教育的方式、輔助手段和工具也發(fā)生著 日新月異的變化。 與傳統(tǒng)的教育相比,在線教育是一種全新的教育模式,它可以突破時間和空間 的限制,讓更多的學(xué)習(xí)者共享優(yōu)秀教育資源。在線教育既具有開放性,交互性,協(xié) 作性和自主性等特點,又具有異步性,實時性,生動性,集成性和大容量等優(yōu)勢。 因此在在線教育系統(tǒng)的建設(shè)中,單

8、純地構(gòu)建各種功能單一的系統(tǒng)并不能完全滿足在 線教育建設(shè)的要求,只有那些對數(shù)據(jù)和信息進行了有效組織,整合了多種業(yè)務(wù),為 用戶提供個性化服務(wù)的系統(tǒng)才能充分地發(fā)揮在線教育的作用。 在現(xiàn)代遠程教育的教學(xué)模式中,學(xué)習(xí)者是中心,教育資源和網(wǎng)絡(luò)技術(shù)要為學(xué)習(xí) 者(求知者)創(chuàng)造一個網(wǎng)上的學(xué)習(xí)環(huán)境,以便使他們能充分地發(fā)揮自主性和積極性, 學(xué)習(xí)知識,解決實際問題。 在線教育系統(tǒng)是教學(xué)管理領(lǐng)域中一個比較重要的系統(tǒng),它在學(xué)生與教師之間搭 起了一坐橋梁:學(xué)生可以及時進行在線注冊,在線登陸,修改個人資料,班級瀏覽, 加入等操作。而教師可以進行在線注冊,在線登陸,修改個人資料,教學(xué)管理,答 疑管理,班級管理等操作。 在線教育

9、是計算機技術(shù)和多媒體技術(shù)相結(jié)合的新一代教育方式。利用在線教育 突破了傳統(tǒng)教育在教育資源(師資、教材、實驗和演示設(shè)備)和教育方法(統(tǒng)一進 度、集中式和單向傳授等)方面的限制,使教育資源和教育方法不受時間和空間等 約束,而受教育者則可根據(jù)自己的學(xué)習(xí)水平和時間情況安排自己的學(xué)習(xí)計劃控制學(xué) 習(xí)進度,實現(xiàn)傳統(tǒng)教育無法做到的“個性化教育” 。因此在線教育是普及教育、繼續(xù) 教育及崗位培訓(xùn)的一種十分有效的新型教育方式。計算機技術(shù)和網(wǎng)絡(luò)技術(shù),特別是 Internet 的廣泛應(yīng)用和普及,是促成在線教育方式形成和發(fā)展的根本原因之一。 在軟件制作過程中,對于靜態(tài)教學(xué)網(wǎng)頁的編寫使用了 word 來進行編寫,因為在高等

10、代數(shù)的教案中有大量的數(shù)字公式符號,在 Word2003 中可以直接對 html 文件進行編 排和修改。非常方便。同時學(xué)生和老師也可以同時登錄到系統(tǒng),進行實時交流。進 行實事互動,加強了系統(tǒng)的互動性。 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 2 在線教育系統(tǒng)是教學(xué)管理領(lǐng)域中一個比較重要的系統(tǒng),它在學(xué)生與教師之間搭 起了一坐橋梁:學(xué)生可以及時進行在線注冊,在線登陸,修改個人資料,班級瀏覽, 提問瀏覽,在線測試等操作。而教師可以進行在線注冊,在線登陸,修改個人資料, 教學(xué)管理,答疑管理,班級管理等操作 在線教育系統(tǒng)使用 ASP.NET+C# +SQL Server 2000 進行開發(fā),并在 II

11、S 5.0 上 進行發(fā)布。在開發(fā)過程中用到的關(guān)鍵技術(shù)有 ADO.NET 數(shù)據(jù)訪問技術(shù),Cookie 編程技 術(shù),動態(tài)菜單的腳本設(shè)計技術(shù)。在開發(fā)過程中嚴(yán)格遵守軟件工程思想,按照需求分 析,數(shù)據(jù)庫設(shè)計,概要設(shè)計,詳細設(shè)計,編碼,改進與性能優(yōu)化的步驟進行開發(fā)。 我們在學(xué)習(xí)中逐步了解在實際的軟件開發(fā)設(shè)計過程中如何遵循軟件工程的思想快速, 優(yōu)質(zhì)地開發(fā)軟件,使得開發(fā)出的軟件系統(tǒng)具有良好的擴展性,可維護性。 1.21.2 B/SB/S 系統(tǒng)系統(tǒng) BS 結(jié)構(gòu),即 BrowserServer(瀏覽器服務(wù)器)結(jié)構(gòu),就是只安裝維護一個 服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運行軟件。它是隨著 I

12、nternet 技術(shù) 的興起,對 CS 結(jié)構(gòu)的一種變化和改進。主要利用了不斷成熟的 WWW 瀏覽器技術(shù), 結(jié)合多種 Script 語言(VBScript、JavaScript)和 ActiveX 技術(shù),是一種全新的軟 件系統(tǒng)構(gòu)造技術(shù)。 BS 三層體系結(jié)構(gòu)采用三層客戶服務(wù)器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶界 面層(Client)增加了一層結(jié)構(gòu),稱為中間件(Middleware),使整個體系結(jié)構(gòu)成為三 層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應(yīng)用 分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層三個不同的處理層次,如圖11所示。三個 層次的劃分是從邏輯上分的,具體的物理分法可

13、以有多種組合。中間件作為構(gòu)造三 層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)平臺,提供了以下主要功能:負(fù)責(zé)客戶機與服務(wù)器、服務(wù)器 與服務(wù)器間的連接和通信;實現(xiàn)應(yīng)用與數(shù)據(jù)庫的高效連接;提供一個三層結(jié)構(gòu)應(yīng)用 的開發(fā)、運行、部署和管理的平臺。這種三層結(jié)構(gòu)在層與層之間相互獨立,任何一 層的改變不會影響其它層的功能。 CodeBehind 后臺代碼 A 顯示頁面 顯示層顯示層 邏輯層邏輯層 Business Layer Data Layer DB 圖 11 BS 三層體系結(jié)構(gòu) 數(shù)據(jù)層數(shù)據(jù)層 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 3 在 BS 體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請 求,服務(wù)器對瀏覽

14、器的請求進行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù) 據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行等 工作全部由 Web Server 完成。隨著 Windows 將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種 結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然 BS 結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的 CS 結(jié)構(gòu)應(yīng)用程序是一個非常大的進步。 BS 結(jié)構(gòu)的主要特點是分布性強、維護方便、開發(fā)簡單且共享性強、總體擁有 成本低。但數(shù)據(jù)安全性問題、對服務(wù)器要求過高、數(shù)據(jù)傳輸速度慢、軟件的個性化 特點明顯降低,這些缺點是有目共睹的,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求。例 如通過瀏覽器進行大量的數(shù)據(jù)輸入或進

15、行報表的應(yīng)答、專用性打印輸出都比較困難 和不便。此外,實現(xiàn)復(fù)雜的應(yīng)用構(gòu)造有較大的困難。雖然可以用 ActiveX、Java 等 技術(shù)開發(fā)較為復(fù)雜的應(yīng)用,但是相對于發(fā)展已非常成熟 CS 的一系列應(yīng)用工具來說, 這些技術(shù)的開發(fā)復(fù)雜,并沒有完全成熟的技術(shù)工具供 使用。 1.31.3 本文所做的工作本文所做的工作 本論文將以 VS.NET 為制作工具,以 SQL Server 為數(shù)據(jù)庫設(shè)計工具來完成對基 于 B/S 模式的在線教育系統(tǒng)的設(shè)計與開發(fā)。 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 4 第第 2 2 章章 系統(tǒng)總體設(shè)計系統(tǒng)總體設(shè)計 2.12.1 需求分析需求分析 .1 功能需

16、求功能需求 通過對教育系統(tǒng)的分析,我們認(rèn)識到一個完整的教育系統(tǒng)應(yīng)該具有以下基本功 能: 表 2-1 主要功能圖及分析說明 序號功能模塊備注 1 注冊模塊提供用戶注冊信息 2 資源管理模塊提供用戶進行資料上傳與下載 3 信箱管理模塊對信件的實現(xiàn)單發(fā)、群發(fā)以及管理 4 查詢模塊對用戶進行數(shù)據(jù)庫查詢 .2 性能需求性能需求 本系統(tǒng)的主體是一所學(xué)校,其性能需求: 1、時間特性的要求: 登錄時間最大不超過 5 秒 平均時間在 13 秒以內(nèi) 搜索時間不超過 3 秒 平均在 1 秒內(nèi) 2、系統(tǒng)容量要求 靜態(tài)用戶(注冊用戶):1000 以上 動態(tài)用戶(在線用戶):800 以上 并發(fā)數(shù):100

17、2.22.2 系統(tǒng)總體系統(tǒng)總體 .1 系統(tǒng)模塊劃分系統(tǒng)模塊劃分 根據(jù)功能需求,我對本系統(tǒng)做了更進一步的細化,將其由 3 個總體模塊來統(tǒng)籌, 分別為學(xué)生模塊、教師模塊以及超級管理員模塊,在 3 個總體模塊中有分別存在有 不同的子模塊,來完成不同的功能,同時我們發(fā)現(xiàn)在子模塊中又存在相同的功能, 為了減輕冗余代碼,將在后臺代碼設(shè)計中使用類來解決。具體的模塊劃分與所要實 現(xiàn)的功能設(shè)計如表 2-2: 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 5 表 2-2 系統(tǒng)模塊劃分 序號功能模塊類別功能模塊備注 登錄、注冊模塊注冊個人信息、進行系統(tǒng)登錄 教室模塊進行在線答疑、作業(yè)上傳及編輯、 教學(xué)

18、資源下載、查看教室信息、申 請加入班級及瀏覽班級 收件箱模塊對本系統(tǒng)內(nèi)的用戶進行信件交流 注冊信息管理模 塊 編輯注冊信息 1 學(xué)生 教師查詢模塊對教師進行以姓名為關(guān)鍵字的查詢 登錄、注冊模塊同上 教學(xué)模塊進行在線答疑、學(xué)生作業(yè)下載及編 輯、教學(xué)資源下載、查看教室信息、 教室申請及取消、對申請加入班級 的同學(xué)進行審批 收件箱模塊實現(xiàn)對個人進行單發(fā)或?qū)Π嗉夁M行 群法 注冊信息管理模 塊 同上 2 教師 學(xué)生查詢模塊對同學(xué)進行以用戶名為關(guān)鍵字的查 詢 信件管理對用戶進行信息交流 教師管理編輯與教師相關(guān)的信息 教室管理對教室進行編輯 3 超級管理員 學(xué)生管理對學(xué)生進行編輯 2.32.3 系統(tǒng)的流程設(shè)

19、計系統(tǒng)的流程設(shè)計 流程設(shè)計在系統(tǒng)的實現(xiàn)中起到非常重要的引導(dǎo)作用,它展現(xiàn)的是各個模塊中數(shù) 據(jù)流的流向,根據(jù)模塊設(shè)計所畫的流程圖如下: 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 6 圖 2-1 學(xué)生用戶模塊的流程圖 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 7 圖 2-2 教師用戶模塊的流程圖 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 8 圖 2-3 超級管理員模塊的流程圖 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 9 第第 3 3 章章 數(shù)據(jù)庫邏輯結(jié)構(gòu)數(shù)據(jù)庫邏輯結(jié)構(gòu) 3.13.1 數(shù)據(jù)庫選擇數(shù)據(jù)庫選擇 在 Windows 操作系統(tǒng)中,Microsoft Access 和 Microsof

20、t SQL Server 是最常 見的數(shù)據(jù)庫,它們同時也應(yīng)用于網(wǎng)絡(luò)程序應(yīng)用系統(tǒng)。一般情況下,Microsoft Access 數(shù)據(jù)庫比較適合小型或家庭型的應(yīng)用程序,而 Microsoft SQL Server 一般 比較適合大型的應(yīng)用程序。下面以 Microsoft Access 2000 和 Microsoft SQL Server 2000 介紹這兩類數(shù)據(jù)庫。 1、Microsoft Access 數(shù)據(jù)庫 Access 2000 是 Microsoft 強大的桌面數(shù)據(jù)庫平臺的第六代產(chǎn)品,是 32 位 Access 的第三個版本。Microsoft Access 及其 Jet 數(shù)據(jù)庫引擎占據(jù)

21、了整個桌面數(shù)據(jù) 庫市場。 2、Microsoft SQL Server 數(shù)據(jù)庫 Microsoft SQL Server 2000 數(shù)據(jù)庫是一個多關(guān)系數(shù)據(jù)管理系統(tǒng)。它不僅是一 個完整的數(shù)據(jù)庫,而且具有強大的擴展性。它是 Windows 操作系統(tǒng)最為流行的數(shù)據(jù) 庫,比較適合小型、中型或大型應(yīng)用程序的后臺數(shù)據(jù)庫。它也適用于電子商務(wù)、數(shù) 據(jù)倉庫和在線商業(yè)應(yīng)用程序等。 3、Oracle 數(shù)據(jù)庫 Oracle 數(shù)據(jù)庫一般比較適合超大型的行業(yè)領(lǐng)域,如電信、移動、聯(lián)通、醫(yī)療保 險、郵政部門等。在行業(yè)領(lǐng)域,電信基本上使用 Oracle 數(shù)據(jù)庫和 Sybase 數(shù)據(jù)庫。 4、MySQL 數(shù)據(jù)庫 MySQL 數(shù)據(jù)

22、庫是一種非常特別的數(shù)據(jù)庫。它以 Web 形式來體現(xiàn),也是基于 Web 訪問方式的數(shù)據(jù)庫。和其他數(shù)據(jù)庫相比,MySQL 數(shù)據(jù)庫的最大特點是建立在 Internet 之上,用戶可以通過基于 Web 的查詢方式來訪問數(shù)據(jù)庫。MySQL 數(shù)據(jù)庫除 了運行在 Windows 操作系統(tǒng)上之外,還可以運行在 Linux 和 UNIX 操作系統(tǒng)上。 MySQL 數(shù)據(jù)庫一般采用的是客戶機/服務(wù)器體系結(jié)構(gòu)。 數(shù)據(jù)庫設(shè)計(Database Design)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù) 據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的 應(yīng)用需求(信息要求和處理要求) 。 在數(shù)據(jù)庫領(lǐng)域

23、內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。 本系統(tǒng)采用 SQL Server 2000 數(shù)據(jù)庫軟件來進行數(shù)據(jù)庫的設(shè)計,其具有以下優(yōu) 點: 1、結(jié)果響應(yīng)快 一套全新的管理工具包以及與 Visual Studio 2005 和 Microsoft .NET 共同語 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 10 言運行 環(huán)境的緊密集成,使你在構(gòu)建系統(tǒng)、排錯及操作應(yīng)用系統(tǒng)時更快、更有效。 2、更好的決策支持 在數(shù)據(jù)整合、分析和報表領(lǐng)域功能全面的智能商務(wù)平臺,使你在采取行動和制 定更好決策時具備更敏銳的洞察能力。 3、值得信賴的平臺 系統(tǒng)固有的數(shù)據(jù)加密、默認(rèn)安全設(shè)置以及強制口令策略功能使你

24、能夠以最高的 性能、最高的可用性和最高的安全性運行任何苛刻的應(yīng)用系統(tǒng)。 3.23.2 數(shù)據(jù)庫和數(shù)據(jù)庫和信息系統(tǒng)信息系統(tǒng) 數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ),把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織 起來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準(zhǔn)確地從 數(shù)據(jù)庫中獲得所需的信息。 數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結(jié)合在一起以及如何結(jié)合的關(guān)鍵所在; 數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分;數(shù)據(jù)庫設(shè)計人員應(yīng)該具備的技 術(shù)和知識: 1、數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計技術(shù); 2、計算機科學(xué)的基礎(chǔ)知識和程序設(shè)計的方法和技巧; 3、軟件工程的原理和方法; 4、應(yīng)用領(lǐng)域的知識; 3.33.3

25、 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點 數(shù)據(jù)庫建設(shè)是硬件、軟件和干件的結(jié)合,三分技術(shù),七分管理,十二分基礎(chǔ)數(shù) 據(jù)。技術(shù)與管理的界面稱之為“干件” ;數(shù)據(jù)庫設(shè)計應(yīng)該與應(yīng)用系統(tǒng)設(shè)計相結(jié)合,結(jié) 構(gòu)(數(shù)據(jù))設(shè)計是設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu)。 行為(處理)設(shè)計:設(shè)計應(yīng)用程序、事務(wù)處理等,結(jié)構(gòu)和行為分離的設(shè)計。 傳統(tǒng)的軟件工程忽視對應(yīng)用中數(shù)據(jù)語義的分析和抽象,只要有可能就盡量推遲 數(shù)據(jù)結(jié)構(gòu)設(shè)計的決策早期的數(shù)據(jù)庫設(shè)計致力于數(shù)據(jù)模型和建模方法研究,忽視了對 行為的設(shè)計。 數(shù)據(jù)庫設(shè)計是項目開發(fā)中的系統(tǒng)設(shè)計中非常重要的一個關(guān)鍵環(huán)節(jié),其設(shè)計的好 壞,直接影響到項目的進程。 3.43.4 數(shù)據(jù)庫表結(jié)構(gòu)的詳細設(shè)計數(shù)據(jù)庫表結(jié)

26、構(gòu)的詳細設(shè)計 根據(jù)功能需要,如學(xué)生注冊,班級注冊,文件上傳等需要,我為該系統(tǒng)設(shè)計了 10 個數(shù)據(jù)表來完成對各個信息的記錄,具體的表設(shè)計如下: 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 11 表 3-1:Message(存儲用戶收件箱的內(nèi)容) 序號字段名字段類型說明備注 1ReceiverVarchar(250) 收件人 Varchar(250) 2SenderVarchar(250) 發(fā)件人不容許為空 3DataTimedatetime 發(fā)送時間系統(tǒng)自動寫入 4Contenttext 發(fā)送內(nèi)容不容許為空 5Totalint 記錄信件總數(shù)系統(tǒng)自動寫入 6TitleVarchar(250) 主題

27、不容許為空 7IDInt 編號自動寫入 8Habitusint 狀態(tài)利用此字段判斷 信件是否以讀 表 3-2:Application(存儲學(xué)生用戶申請班級的信息) 序號字段名字段類型說明備注 1IDInt 編號自動寫入 2AuthorVarchar(250) 提問人非空 3Contenttext 提問內(nèi)容非空 4TitleVarchar(250) 標(biāo)題非空 5DataTimedatetime 發(fā)問時間系統(tǒng)自動寫入 6ClassVarchar(250) 發(fā)問所在的班級系統(tǒng)自動記錄 7TeacherVarchar(250) 回答人非空 系統(tǒng)自動 寫入 表 3-3:Question(存儲用戶的提問與

28、回答) 序號字段名字段類型說明備注 1UserNameVarchar(250) 用戶名不容許為空 2ClassVarchar(250) 要申請的班級不容許為空 3realNameVarchar(250) 真實姓名不容許為空 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 12 表 3-4:Recycle(存儲被用戶刪除信件的信息) 序號字段名字段類型說明備注 1ReceiverVarchar(250) 收件人系統(tǒng)自動寫入 2SenderVarchar(250) 發(fā)件人系統(tǒng)自動寫入 3DataTimedatetime 發(fā)送時間系統(tǒng)自動寫入 4Contenttext 發(fā)送內(nèi)容系統(tǒng)自動寫入 5Title

29、Varchar(250) 主題系統(tǒng)自動寫入 6IDInt 編號系統(tǒng)自動寫入 表 3-5:Room(存儲班級的信息) 序號字段名字段類型說明備注 1RoomNameVarchar(250) 教室名稱非空 惟一 2CreaterVarchar(250) 創(chuàng)建者非空系統(tǒng)自動 寫入 3CreDatedatetime 創(chuàng)建系統(tǒng)自動寫入 4InstituteVarchar(250) 所屬院系 5Populationint 班級人數(shù)系統(tǒng)自動記錄 6Descripttext 班級說明 7RoomdirVarchar(250) 班級資源文件的存 儲路徑 非空 表 3-6:Source(存儲資源信息) 序號字段名

30、字段類型說明備注 1RoomVarchar(250) 班級系統(tǒng)自動寫入 2SourceNameVarchar(250) 資源名稱非空 3TypeVarchar(250) 類別 (作業(yè)還是教 學(xué)資源) 系統(tǒng)判別 4DataTimedatetime 上傳時間系統(tǒng)自動寫入 5SourceOlderVarchar(250) 上傳人非空 6SrcVarchar(250) 存儲路徑非空系統(tǒng)自動 寫入 7StuIDInt 學(xué)號系統(tǒng)自動寫入 8IDInt 編號系統(tǒng)自動寫入 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 13 表 3-7:Supper(存儲超級管理員的信息) 序號字段名字段類型說明備注 1IDIn

31、t 系統(tǒng)自動記錄 2NameVarchar(250) 用戶名非空 3PassWordVarchar(250) 密碼非空 6 位 表 3-8:Student(存儲學(xué)生資料) 序號字段名字段類型說明備注 1StuIDint 學(xué)號非空 2UserNameVarchar(250) 用戶名非空 惟一 3RealNameVarchar(250) 真實姓名非空 4PassWordVarchar(250) 密碼非空 6 位 5TelephoneVarchar(250) 電話 6AddressVarchar(250) 住址 7EmailVarchar(250) 油箱非空 8InstituteVarchar(25

32、0) 院系 9Descriptiontext 個人說明 表 3-9:StudentRoom(存儲學(xué)生與班級的信息) 序號字段名字段類型說明備注 1StuNameVarchar(250) 學(xué)生姓名非空 系統(tǒng)自 動寫入 2UserNameVarchar(250) 學(xué)生用戶名非空 系統(tǒng)自 動寫入 3RoomNameVarchar(250) 教室名非空 系統(tǒng)自 動寫入 4UpFrequencyint 上傳次數(shù)系統(tǒng)自動記錄 5DownfrequencyInt 下載次數(shù)系統(tǒng)自動記錄 6StuIDInt 學(xué)號系統(tǒng)自動記錄 7EnterFrequencyInt 進入班級次數(shù)非空 系統(tǒng)自 動記錄 8EnterD

33、ataTimeInt 加入時間非空 系統(tǒng)自 動寫入 9CreaterVarchar(250) 創(chuàng)建者非空 系統(tǒng)自 動寫入 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 14 表 3-10:Teacher(存儲教師的信息) 序號字段名字段類型說明備注 1IDint 學(xué)號系統(tǒng)自動記錄 2NameVarchar(250) 教師名非空 唯一 3zhiwuVarchar(250) 職稱非空 4PassWordVarchar(250) 密碼非空 5 位 5TelephoneVarchar(250) 電話 6AddressVarchar(250) 住址 7EmailVarchar(250) 油箱非空 8Ins

34、tituteVarchar(250) 院系 9Descriptiontext 個人說明 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 15 第第 4 4 章章 系統(tǒng)設(shè)計與實現(xiàn)系統(tǒng)設(shè)計與實現(xiàn) 本系統(tǒng)是使用三層架構(gòu)的軟件思想來實現(xiàn),其優(yōu)點是我們不必為了業(yè)務(wù)邏輯上 的微小變化而遷至整個程序的修改,只需要修改商業(yè)邏輯層中的一個函數(shù)或一個過 程;增強了代碼的可重用性;便于不同層次的開發(fā)人員之間的合作,只要遵循一定 的接口標(biāo)準(zhǔn)就可以進行并行開發(fā)了,最終只要將各個部分拼接到一起構(gòu)成最終的應(yīng) 用程序。所采用的工具為 Visual Studio.Net, Visual Studio.Net 是一套完整的 開發(fā)工具

35、集,用于生成 ASP.NET Web 應(yīng)用程序、XML Web Services、桌面應(yīng)用程序 和移動應(yīng)用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用 相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決 方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應(yīng)用程序和 XML Web Services 開發(fā)的關(guān)鍵技術(shù)。 4.14.1 數(shù)據(jù)訪問層數(shù)據(jù)訪問層 這一層負(fù)責(zé)實際的數(shù)據(jù)存儲和檢索。調(diào)用 C#中的數(shù)據(jù)訪問類 System.Data.SqlClien

36、t;對數(shù)據(jù)的信息進行存儲、查詢及編輯操作。 4.24.2 商業(yè)邏輯層商業(yè)邏輯層 這一層是上下兩層的紐帶,它建立實際的數(shù)據(jù)庫連接,根據(jù)用戶的請求生成檢 索語句或更新數(shù)據(jù)庫,并把結(jié)果返回給前端界面顯示。這一層通常以動態(tài)鏈接庫的 形式存在,并注冊到服務(wù)器的注冊表中,它與前端界面通訊的接口符合某一特定的 組件標(biāo)準(zhǔn)(如 COM 組件) ??梢杂萌魏沃С诌@種標(biāo)準(zhǔn)的工具開發(fā)。包含在一個名為 sqlData.cs 的 C#類文件當(dāng)中: using System; using System.Configuration; using System.Data; using System.Data.SqlClient

37、; namespace OfficeAuto / / sqlData 的摘要說明。 / 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 16 public class sqlData Public static string sqlconn=ConfigurationSettings.AppSettingssqlConn.ToString(); public void insertData(string cmdtext) SqlConnection sqlcon=new SqlConnection(sqlconn); SqlCommand sqlcom=new SqlCommand(cmdtext

38、,sqlcon); try sqlcon.Open(); sqlcom.ExecuteNonQuery(); catch(Exception ex) throw new Exception(ex.Message,ex); finally if(sqlcon.State=ConnectionState.Open) sqlcon.Close(); public SqlDataReader GetCount(string cmdtext) SqlConnection sqlcon=new SqlConnection(sqlconn); SqlCommand sqlcom=new SqlCommand

39、(cmdtext,sqlcon); SqlDataReader dr=null; try sqlcon.Open(); dr=sqlcom.ExecuteReader(); 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 17 catch(Exception ex) throw new Exception(ex.Message,ex); finally if(sqlcon.State=ConnectionState.Open) sqlcon.Close(); return dr; /對 scalar 進行測試 public int selData(string cmdtext) SqlConnec

40、tion sqlcon=new SqlConnection(sqlconn); SqlCommand sqlcom=new SqlCommand(cmdtext,sqlcon); sqlcon.Open(); int m=Convert.ToInt32(sqlcom.ExecuteScalar(); sqlcon.Close(); return(m); Public void ProceData(string sRoom,string sSourceName,string sType,string_ sSourceOlder,string sSrc ) SqlConnection sqlcon

41、=new SqlConnection(sqlconn); SqlCommand sqlcom=new SqlCommand(Pr_addFile,sqlcon); sqlcom.CommandType=CommandType.StoredProcedure; SqlParameter parameterFileName = new_ SqlParameter(SourceName,SqlDbType.VarChar,250); parameterFileName.Value = sSourceName; sqlcom.Parameters.Add(parameterFileName); 基于

42、B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 18 SqlParameter parameterRoom=new SqlParameter(Room,SqlDbType.VarChar,250); parameterRoom.Value=sRoom; sqlcom.Parameters.Add(parameterRoom); SqlParameter parameterType=new SqlParameter(Type,SqlDbType.VarChar,250); parameterType.Value=sType; sqlcom.Parameters.Add(parameterType); Sq

43、lParameter parameterOlder=new_ SqlParameter(SourceOlder,SqlDbType.VarChar,250); parameterOlder.Value=sSourceOlder; sqlcom.Parameters.Add(parameterOlder); SqlParameter parameterSrc=new SqlParameter(Src,SqlDbType.VarChar,500); parameterSrc.Value=sSrc; sqlcom.Parameters.Add(parameterSrc); try sqlcon.Op

44、en(); sqlcom.ExecuteNonQuery(); catch(Exception ex) throw new Exception(ex.Message,ex); finally if(sqlcon.State=ConnectionState.Open) sqlcon.Close(); public int selectData(string cmdtext) SqlConnection sqlcon=new SqlConnection(sqlconn); 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 19 SqlDataAdapter da=new SqlDataAdapter(c

45、mdtext,sqlcon); sqlcon.Open(); DataSet ds=new DataSet(); da.Fill(ds); sqlcon.Close(); DataTable dt=ds.Tables0; int m=dt.Rows.Count; return(m); public DataTable getData(string cmdtext) SqlConnection sqlcon=new SqlConnection(sqlconn); SqlDataAdapter da=new SqlDataAdapter(cmdtext,sqlcon); sqlcon.Open()

46、; DataSet ds=new DataSet(); da.Fill(ds); DataTable dt=ds.Tables0; sqlcon.Close(); return dt; 4.34.3 用戶界面層與核心代碼用戶界面層與核心代碼 .1 用戶登陸用戶登陸 通過對單選框的選擇來調(diào)用不同的數(shù)據(jù)表,進行數(shù)據(jù)判斷用戶的輸入是否有誤, 從而進入相對應(yīng)的操作界面進行管理。一般情況下一個學(xué)生只能注冊一次,其用戶 名是由其學(xué)號來確定,保證唯一。 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 20 圖 4-1 用戶登陸界面 后臺核心代碼為: if(Student.Checked=true

47、) string cmdtext1=select * from Student where UserName=+userName.Text+and_ PassWord=+passWord.Text+; sqlData sqldata=new sqlData(); int n=sqldata.selectData(cmdtext1); if(n0) SessionteaUserName=userName.Text; SessionteaPassWord=passWord.Text; Response.Redirect(/student/main.aspx); else Response.Writ

48、e(alert(你的輸入有誤,請重新輸入!) ); else if(Teach.Checked=true) string cmdtext2=select * from Teach where Name=+userName.Text+ 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 21 and _ PassWord=+passWord.Text+; sqlData sqldata=new sqlData(); int n=sqldata.selectData(cmdtext2); if(n0) SessionteaUserName=userName.Text.Trim(); SessionteaP

49、assWord=passWord.Text.Trim(); Response.Redirect(/teach/main.aspx); else Response.Write(alert(你的輸入有誤,請重新輸入!) ); else if(supper.Checked=true) string cmdtext3=select * from Supper where Name=+userName.Text+ and PassWord=+passWord.Text+; sqlData sqldata=new sqlData(); int n=sqldata.selectData(cmdtext3);

50、 if(n0) SessionteaUserName=userName.Text.Trim(); SessionteaPassWord=passWord.Text.Trim(); Response.Redirect(/supper/Main.aspx); else Response.Write(alert(你的輸入有誤,請重新輸入!) ); .2 用戶注冊用戶注冊 在用戶注冊中,我使用了 3 個表來記錄注冊信息,其分別為表 3-7,表 3-8,表 基于 B/S 模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 22 3-10。 另外在實際操作中還設(shè)計到對用戶數(shù)據(jù)進行判斷,保證部分?jǐn)?shù)據(jù)的準(zhǔn)確性和唯

51、一性。同時在設(shè)計中我發(fā)現(xiàn)學(xué)生用戶和教師用戶的注冊有很大的類同性,后臺支持 代碼基本上一致。所以,我不再為教師用戶注冊界面做介紹,學(xué)生用戶界面如圖 4- 2: 圖 4-2 學(xué)生用戶注冊界面 后臺核心代碼為: String cmdtext1=select count(*) from Student where UserName_ =+userName.Text+ ; sqlData sqldata=new sqlData(); if(sqldata.selData(cmdtext1)0) Response.Write(alert(用戶名已注冊,請重新申請!) ); else try 基于 B/S

52、模式的在線教育系統(tǒng)設(shè)計與實現(xiàn) 23 String cmdtext=insert into_ Student(stuID,UserName,RealName,PassWord,Telephone,Address,Email,Institute,Des_cri ption) _ values(+stuID.Text+,+userName.Text+,+realName.Text+,+passWord.Text+, +Teleph_one.Text+,+Address.Text+,+Email.Text+,+Institute.Text+,+Descripti on.Text+); sqldata.insertData(cmdtext); SessionteaUserName=userName.Text; Response.Write(alert(注冊成功); Response.Write(document.location.href=student/main.aspx;); catc

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論