《網(wǎng)站規(guī)劃與設(shè)計》期末論文
校外學(xué)習(xí)中心:湖南交通工程學(xué)院?學(xué)號:20161202011009x姓名?:xxx???成績
學(xué)生在線選課系統(tǒng)的設(shè)計與實現(xiàn)
?
摘要
隨著社會的發(fā)展,信息科技已經(jīng)影響到我們的方方面面。將計算機、通信、數(shù)學(xué)等技術(shù)應(yīng)用到教育領(lǐng)域,提高學(xué)校運營效率,提升教學(xué)工作的質(zhì)量成為新時期教育信息化建設(shè)的必然趨勢。因此,實現(xiàn)便捷、高效、穩(wěn)定的學(xué)生在線選課系統(tǒng)對于現(xiàn)代化的教育發(fā)展是至關(guān)重要的。
基于.NET平臺和SQL?Server數(shù)據(jù)庫技術(shù),利用B/S框架設(shè)計和開發(fā)學(xué)生在線課程選擇系統(tǒng)[1]。系統(tǒng)分為學(xué)生模塊、教師模塊和管理員模塊。其中,學(xué)生模塊主要包括查看可選課程、選擇可選課程、修改已選課程、刪除已選課程、修改用戶信息的功能。教師模塊主要包括:檢查教學(xué)信息、檢查學(xué)生信息、檢查已選本課程學(xué)生信息。管理員模塊主要包括添加用戶和課程信息,刪除用戶和課程信息,修改用戶和課程信息,檢查用戶和課程信息,修改管理員的用戶信息功能。
關(guān)鍵詞:選課;教育;在線;B/S
目錄
摘要 I
ABSTRACT II
1??前言 1
1.1?選題的目的和意義 1
1.2?國內(nèi)外研究現(xiàn)狀 1
1.3?本文的組織結(jié)構(gòu) 2
2??相關(guān)技術(shù) 3
2.1?ASP.NET 3
2.2?SQL?Server 3
2.3?Microsoft?Visual?Studio 4
2.4?B/S 4
3?系統(tǒng)分析 5
3.1?系統(tǒng)可行性分析 5
3.1.1?經(jīng)濟可行性 5
3.1.2?技術(shù)可行性 5
3.1.3?社會可行性 5
3.2?功能性需求分析 5
3.3?非功能性需求分析 6
3.4?系統(tǒng)用例分析 6
4??系統(tǒng)總體設(shè)計 9
4.1?系統(tǒng)功能分析 9
4.2?數(shù)據(jù)庫的設(shè)計 9
4.2.1?數(shù)據(jù)庫設(shè)計原則 10
4.2.2?概念結(jié)構(gòu)設(shè)計 10
4.3.3?邏輯結(jié)構(gòu)設(shè)計 12
4.3.4?數(shù)據(jù)庫表設(shè)計 13
5??系統(tǒng)詳細(xì)設(shè)計與實現(xiàn) 15
5.1登錄模塊 15
5.2?學(xué)生模塊的設(shè)計與實現(xiàn) 16
5.2.1?選擇可選課程 16
5.2.2?刪除已選課程 16
5.3?教師模塊設(shè)計與實現(xiàn) 16
5.3.1?查看授課信息 16
5.3.2?查看學(xué)生信息 17
5.4?管理員模塊的設(shè)計與實現(xiàn) 18
5.4.1?添加學(xué)生用戶信息 18
5.4.2?添加教師用戶信息 19
5.4.3?管理教師用戶信息 20
6??系統(tǒng)測試 22
6.1?系統(tǒng)測試目標(biāo)和方法 22
6.2?系統(tǒng)測試用例 22
6.2.1?系統(tǒng)登錄測試 22
6.2.2?管理員刪除學(xué)生測試 23
6.2.3?管理員添加教師測試 23
結(jié)論 24
致謝 25
參考文獻(xiàn) 26
1??前言
隨著計算機技術(shù)的普及應(yīng)用,我國已步入信息化時代。教育信息化建設(shè)是推進(jìn)教育行業(yè)整體信息化建設(shè)步伐的重要部分,而互聯(lián)網(wǎng)的發(fā)展也必將促使教育行業(yè)進(jìn)入大數(shù)據(jù)時代,為構(gòu)建相對完善的教育系統(tǒng),要充分借鑒國內(nèi)外研究經(jīng)驗,為系統(tǒng)開發(fā)與設(shè)計提供參考。
1.1?選題的目的和意義
在信息快速的時代背景下,以傳統(tǒng)的學(xué)校管理工作在當(dāng)今社會已經(jīng)無法適應(yīng)。手工管理學(xué)校教育信息的工作也無法滿足現(xiàn)代化教育管理工作的需求,對高校科研項目開展有著制約性影響。
現(xiàn)代化信息社會中,人們對信息資源的獲取效率和更新速度有著較高的要求,因此在教育工作中要實現(xiàn)資源優(yōu)化管理,提高教育效率,滿足龐大信息與數(shù)據(jù)的自動化處理。通過調(diào)查了解到,目前我國較多大中型學(xué)校管理工作仍以傳統(tǒng)模式為主,在推行教育系統(tǒng)應(yīng)用過程中,缺乏專業(yè)技術(shù)人員,對系統(tǒng)軟件的操作能力較差,無法成熟運用。因此針對這種現(xiàn)狀在線選課系統(tǒng)應(yīng)用進(jìn)一步完善,并實現(xiàn)自動化設(shè)計,使應(yīng)用更加便捷、靈活、高效。本文研究的重要意義就在于基于此背景下進(jìn)行自動化教育系統(tǒng)的設(shè)計開發(fā),以促進(jìn)教育資源優(yōu)化,提升學(xué)校整體管理效率。
充分結(jié)合計算機技術(shù)以及信息處理技術(shù),將教育模式優(yōu)化,并實現(xiàn)教育信息集成化、數(shù)字化管理,基于全自動教育系統(tǒng)設(shè)計,進(jìn)行統(tǒng)一集成教育信息資源管理。這一自動化系統(tǒng)的設(shè)計與實現(xiàn),對推動教育與科研開展都有著重要意義。
本文在研究過程中以系統(tǒng)應(yīng)用高效為中心,旨在實現(xiàn)自動化教育系統(tǒng)設(shè)計。在線選課系統(tǒng)中包括學(xué)校內(nèi)部教育以及資源共享問題。通過建立一個用戶操作便捷、靈活、檢索高效的在線選課系統(tǒng),以用戶體驗為中心,實現(xiàn)自動化、人性化系統(tǒng)設(shè)計,推進(jìn)高校整體信息化建設(shè)。
1.2?國內(nèi)外研究現(xiàn)狀
20世紀(jì)中期,在美國“阿帕”項目的支持下,互聯(lián)網(wǎng)開始形成并迅速發(fā)展起來,但此時互聯(lián)網(wǎng)依然是一項屬于專業(yè)人士的工具,偉大的伯納斯·李為了互聯(lián)網(wǎng)的普及與發(fā)展,放棄專利申請[2]。讓全世界網(wǎng)民免費使用這項技術(shù),使互聯(lián)網(wǎng)真正進(jìn)入了全民時代。在這樣的背景下,教育產(chǎn)業(yè)也進(jìn)入了互聯(lián)網(wǎng)時代。
然而由于國外進(jìn)入信息化時代較早,信息化教育概念也隨之提出,國外信息化教育系統(tǒng)發(fā)展的繁榮時期是上世紀(jì)九十年代中后期,在這段歷史時期中計算機技術(shù)高速發(fā)展,信息化教育系統(tǒng)依托于Internet技術(shù)實現(xiàn)創(chuàng)新突破發(fā)展,如數(shù)據(jù)庫技術(shù)、Web?技術(shù)等等。
信息化教育是信息化技術(shù)在教育領(lǐng)域的新應(yīng)用,基于教育剛性需求的不斷擴大,到目前為止信息化教育正以前所未有的速度快速發(fā)展。我國高等教育正在實行擴招政策。Internet技術(shù)逐漸實現(xiàn)普及應(yīng)用,對人們的工作、生活都產(chǎn)生了巨大影響,也促進(jìn)了文化、信息的全球化傳播。教育信息相關(guān)的系統(tǒng)與Internet技術(shù)相融合,使教育系統(tǒng)更加完善,應(yīng)用更加高效。對中國的教育信息系統(tǒng)的設(shè)計借鑒了國外系統(tǒng)的研究理論的發(fā)展,數(shù)據(jù)庫技術(shù)的不斷革新,聯(lián)機分析處理,和其他技術(shù)來加強中國的信息技術(shù)教育的技術(shù)支持系統(tǒng)。
1.3?本文的組織結(jié)構(gòu)
本文以湖南涉外經(jīng)濟學(xué)院為例,為滿足廣大學(xué)生用戶和教師用戶的需求,提高系統(tǒng)整體應(yīng)用效率,實現(xiàn)自動化、數(shù)字化系統(tǒng)的設(shè)計與實現(xiàn),本文主要分為六個部分進(jìn)行詳細(xì)論述:
第一部分,針對學(xué)生在線選課系統(tǒng)的研究現(xiàn)狀以及研究背景的分析,明確本文研究意義,為本文提供理論依據(jù),進(jìn)而形成本文理論研究框架;
第二部分,包括了Ado.net技術(shù)和ASP.net概述以及SQL?server數(shù)據(jù)庫技術(shù),總結(jié)本文研究過程中應(yīng)用的關(guān)鍵技術(shù);
第三部分,本系統(tǒng)設(shè)計主要需要分析、系統(tǒng)數(shù)據(jù)流程圖分析和系統(tǒng)功能分析以及系統(tǒng)設(shè)計的可行性分析;
第四部分,主要介紹了系統(tǒng)功能和系統(tǒng)的總體框架,以及系統(tǒng)數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計和概念結(jié)構(gòu)設(shè)計;
第五部分,這是本文的重點研究部分。主要介紹了各功能模塊的設(shè)計與實現(xiàn),主要介紹了最核心系統(tǒng)的功能;
第六部分,主要是系統(tǒng)測試部分,明確測試目標(biāo),運用有效測試方法進(jìn)行系統(tǒng)要點測試,并得出有效系統(tǒng)測試結(jié)論。
?
2??相關(guān)技術(shù)
2.1?ASP.NET
ASP是微軟公司的一項技術(shù),它是一種服務(wù)器端腳本技術(shù),允許嵌入在網(wǎng)頁中的腳本由因特網(wǎng)服務(wù)器執(zhí)行[3]。
ASP是動態(tài)服務(wù)器頁面。它與SQL?Server和其他數(shù)據(jù)庫有很好的兼容性。ASP.NET有很多自己的特點。首先,NET?Framework中的類可以編寫ASP.NET程序代碼時訪問。其次,ASP.NET提供簡便、結(jié)構(gòu)性強的代碼共享方便,它可用任何與公共語言運行庫兼容語言來寫。ASP.NET還優(yōu)化數(shù)據(jù)綁定和服務(wù)器控件,并使用Web控件和緩沖技術(shù)和頁面事件。本系統(tǒng)平臺所有頁面均利用該Web開發(fā)模型進(jìn)行開發(fā)。
組件可以由腳本程序調(diào)用,或者其他組件可以調(diào)用其他數(shù)據(jù),aspnet_isapi.dll處理頁面的一個流程如圖2.1所示。
圖2.1?aspnet_isapi.dll處理流程圖
當(dāng)客戶端請求服務(wù)器資源時,HTTP請求被inetinfo.exe進(jìn)程攔截(WWW服務(wù)),然后Check請求資源的類型,并根據(jù)資源映射信息將請求的資源分配給特定的處理器模塊(存儲在IIS元庫中,一個IIS專用配置數(shù)據(jù)庫)。允許程序開始處理代碼,生成標(biāo)準(zhǔn)HTML代碼,然后將HTML添加到原始HTML,最后返回完整的HTML到IIS,然后將內(nèi)容發(fā)送給客戶的瀏覽器。
2.2?SQL?Server
“數(shù)據(jù)庫連接池”其實是后臺數(shù)據(jù)庫與Web應(yīng)用程序可靠的連接紐帶。通常,Web應(yīng)用程序是多個用戶訪問的主要位置,若能夠與數(shù)據(jù)庫進(jìn)行充分連接,則可發(fā)揮數(shù)據(jù)庫資源的重要作用。也就是說,數(shù)據(jù)庫連接池功能與Web相關(guān)性能及指標(biāo)息息相關(guān),關(guān)系到程序自身的伸縮功能,數(shù)據(jù)庫連接池正是有效解決上述問題的關(guān)鍵性技術(shù)。數(shù)據(jù)庫連接池可對數(shù)據(jù)庫中相關(guān)信息進(jìn)行合理分配,并發(fā)揮管理作用,進(jìn)而能夠顯著提升數(shù)據(jù)庫本身的操控性能。與此同時,數(shù)據(jù)庫連接池可釋放>最大空閑時間的數(shù)據(jù),進(jìn)而有效防止數(shù)據(jù)庫連接過程中可能出現(xiàn)的遺漏情況[4]。在C#所開發(fā)的系統(tǒng)中,開源數(shù)據(jù)庫連接池的應(yīng)用原理為:事先在數(shù)據(jù)庫緩沖池內(nèi)部添加數(shù)量適合的連接,在需要創(chuàng)建相應(yīng)的數(shù)據(jù)庫連接功能時,僅需要在數(shù)據(jù)庫連接池中取出對應(yīng)部分,即可完成操作。應(yīng)用完成后,要將對應(yīng)部分放回原先的位置。這種使用連接池的方法可以充分利用數(shù)據(jù)庫中的相關(guān)連接。它還可以為應(yīng)用程序的可靠性和穩(wěn)定性提供科學(xué)的保證,并能有效地提高應(yīng)用程序的速度,使數(shù)據(jù)庫訪問活動更快更方便。
2.3?Microsoft?Visual?Studio
Visual?Studio是一種基于組件和其他技術(shù)的軟件開發(fā)工具,可用于構(gòu)建功能強大、高性能的應(yīng)用程序。它的集成開發(fā)環(huán)境(IDE)接口已被重新設(shè)計和組織,以使其更易于理解。它可以創(chuàng)建運行ASP.NET?5網(wǎng)站的跨平臺(包括Windows,Linux和Mac)。Visual?Studio?2015集成了微軟研究院的單元測試技術(shù)。更好的代碼編輯器。代碼編輯器已被“Roslyn”取代,它將為您提供不同的代碼編輯體驗。當(dāng)你想修復(fù)代碼時,會出現(xiàn)一個小燈泡。?它會為您提供一系列修復(fù)代碼的程序。你只需要選擇。
2.4?B/S
B/S結(jié)構(gòu)(Browser/Server,Browser/Server模式)是Web興起后的一種強大的網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最重要的應(yīng)用軟件。該模型統(tǒng)一了客戶端,將系統(tǒng)的核心功能集中到服務(wù)器上,簡化了系統(tǒng)的維護(hù)、開發(fā)和使用[5]。只要客戶端安裝瀏覽器,如Internet?Explorer或Netscape導(dǎo)航器,服務(wù)器就會安裝Oracle或者SQL?Server或者其他數(shù)據(jù)庫。瀏覽器通過Web服務(wù)器與數(shù)據(jù)庫進(jìn)行交互。
3?系統(tǒng)分析
3.1?系統(tǒng)可行性分析
3.1.1?經(jīng)濟可行性
使用現(xiàn)有的校園網(wǎng)絡(luò),計算機和配套設(shè)備,系統(tǒng)可用于選擇課程而無需特殊設(shè)備;該系統(tǒng)非常簡單,不需要特殊培訓(xùn);系統(tǒng)的功能可以大大提高課程選擇的效率,并且可以對學(xué)校課程的選擇做出更大的貢獻(xiàn)。該軟件系統(tǒng)已經(jīng)在指導(dǎo)員的幫助下完成,沒有任何費用。
3.1.2?技術(shù)可行性
在軟件方面,系統(tǒng)采用流行的B?/?S模式,并結(jié)合.NET技術(shù)。在硬件方面,科學(xué)技術(shù)的飛速發(fā)展帶來了硬件的快速更新。高容量,高可靠性和經(jīng)濟實惠的價格使通用硬件平臺能夠滿足系統(tǒng)的需求。
3.1.3?社會可行性
學(xué)生網(wǎng)上選課系統(tǒng)設(shè)計與實施的社會可行性研究是分析系統(tǒng)投入使用后對社會可能產(chǎn)生的影響。系統(tǒng)建成后,首先是提高學(xué)校教師的工作效率。二,學(xué)生選擇課程比較方便,三是為學(xué)生提供免費課程。
3.2?功能性需求分析
通過對湖南涉外經(jīng)濟學(xué)院的教務(wù)工作的了解,以選課業(yè)務(wù)現(xiàn)狀為背景。根據(jù)需求進(jìn)行系統(tǒng)劃分,進(jìn)而實現(xiàn)完成的系統(tǒng)設(shè)計。
根據(jù)不同系統(tǒng)的功能以及面向群體不同,各個角色的職能和功能也不同。主要系統(tǒng)和功能如下:
- 學(xué)生模塊
學(xué)生模塊顧名思義是由學(xué)生根據(jù)自身一些需求進(jìn)行相關(guān)的選擇,比如對喜歡的課程修改,添加或者刪除功能,同時也能管理選擇的課程。
- 教師模塊
教師模塊,基本功能:查看學(xué)生的信息,查看自己授課的信息,查看選擇本課程的學(xué)生信息,也可以修改相關(guān)賬號的賬號密碼。教師可以對自己所教授的課程進(jìn)行管理工作。
- 管理員模塊
新教師入職成功后,需要在本系統(tǒng)的教師管理中新增教師信息,同時有教師離職,也可以通過刪除教師功能進(jìn)行刪除操作。同時有新增、刪除和修改學(xué)生信息的權(quán)利。
3.3?非功能性需求分析
系統(tǒng)設(shè)計與開發(fā)中其性能要求良好,以保障用戶應(yīng)用便捷。首先,執(zhí)行時間方面性能方面需要進(jìn)行調(diào)整,查詢時間應(yīng)當(dāng)被控制在5s時間之內(nèi);其次,系統(tǒng)具有可伸縮性特征。通過增加硬件以及相關(guān)資源的方式對系統(tǒng)容納情況變化加以適應(yīng),通過這種方式就能夠?qū)?yīng)用程序當(dāng)中是否可以獲取更多資源與強化執(zhí)行進(jìn)行評估與衡量。
系統(tǒng)的安全性也是系統(tǒng)開發(fā)設(shè)計中的重要需求。系統(tǒng)安全性控制方面。針對系統(tǒng)中數(shù)據(jù)信息實施安全性檢查,避免出現(xiàn)黑客利用木馬對數(shù)據(jù)以及信息進(jìn)行攻擊,防止造成損失。該系統(tǒng)可以記錄和保存發(fā)送請求的IP地址和物理地址,還減少了通過IP交換機侵入辦公信息資源系統(tǒng)的機會。系統(tǒng)數(shù)據(jù)保密性方面。系統(tǒng)當(dāng)中通過進(jìn)行數(shù)據(jù)加密技術(shù)可以更加安全的確保信息傳送具有隱蔽性、安全性以及完整性。訪問可控性方面。通過這種非功能性需求分析,可以有效控制系統(tǒng)訪問情況,這樣就能夠確保不同管理人員角色方面的特殊性。系統(tǒng)還應(yīng)當(dāng)擁有身份認(rèn)證以及權(quán)限控制機制設(shè)計功能,可以安全的完成對訪問者的身份認(rèn)證,并對授權(quán)更加謹(jǐn)慎,對所有訪問登記到訪問日志當(dāng)中?;謴?fù)功能方面。系統(tǒng)使用的過程中應(yīng)當(dāng)提升有意或者是無意造成的損害,一旦數(shù)據(jù)受到攻擊,系統(tǒng)需要設(shè)計形成自動恢復(fù)的功能。系統(tǒng)遭受到災(zāi)難性的破壞之后,通過進(jìn)行經(jīng)常性的備份以及快速回復(fù)也能夠讓系統(tǒng)損失降到最低。系統(tǒng)可維護(hù)功能方面。系統(tǒng)管理人員通過進(jìn)行參數(shù)設(shè)置可以對實際業(yè)務(wù)與任務(wù)流程進(jìn)行控制,數(shù)據(jù)修改必須受到控制,這個過程中必須經(jīng)過高級授權(quán)才能夠認(rèn)證并操作相對應(yīng)的應(yīng)用系統(tǒng)當(dāng)中,結(jié)合授權(quán)完成具體操作內(nèi)容。
3.4?系統(tǒng)用例分析
用例分析是從用例模型到分析模型的過程,是需求與設(shè)計的橋梁。?用例圖是從軟件需求分析到最終實施的第一步。它描述了人們?nèi)绾问褂迷撓到y(tǒng)。用例視圖顯示了相關(guān)用戶是誰,用戶需要為系統(tǒng)提供什么服務(wù),以及用戶希望系統(tǒng)提供什么服務(wù)[6]。這樣系統(tǒng)的用戶可以更容易地理解和操縱用戶所使用的元素,并幫助軟件開發(fā)。ER終于實現(xiàn)了這一點。用例圖廣泛用于各種開發(fā)活動,但它們通常用于描述系統(tǒng)和子系統(tǒng)。?用例圖有三個主要功能:獲取需求,指導(dǎo)測試,并指導(dǎo)整個過程中的其他工作流程。
因此,接下來我們將通過用例圖的形式對整個系統(tǒng)進(jìn)行分析。根據(jù)對學(xué)校老師及同學(xué)的需求調(diào)研,公司角色主要分為三類:學(xué)生,教師,系統(tǒng)管理員。對于不同的角色,系統(tǒng)可供操作的功能模塊的權(quán)限自然不同。
- 學(xué)生通過登錄操作成功進(jìn)入系統(tǒng)后,將可以操作在線選課系統(tǒng),學(xué)生用例如圖3.1所示。
圖3.1學(xué)生用例圖
- 教師通過登錄操作進(jìn)入系統(tǒng)后,將可以操作選課系統(tǒng)、查看授課信息、查看學(xué)生信息,教師用例如圖2所示。
圖3.2教師用例圖
3.管理員通過登錄操作系統(tǒng)成功進(jìn)入系統(tǒng)后,將可以進(jìn)行學(xué)生信息管理、教師信息管理、課程管理。管理員用例如圖3.3所示。
圖3.3管理員用例圖
?
?
?
?
?
?
?
4?系統(tǒng)總體設(shè)計
系統(tǒng)設(shè)計是新系統(tǒng)的物理設(shè)計階段。通過上一個章節(jié)的研究,我們已經(jīng)知道了用戶的所求。在用戶提供的環(huán)境中,我們設(shè)計了一個可以在計算機網(wǎng)絡(luò)環(huán)境中能運行的方案,即建立新系統(tǒng)的物理模型[7]。該階段是設(shè)計軟件系統(tǒng)的模塊層次結(jié)構(gòu),并根據(jù)所需要的功能設(shè)計模塊的控制過程。目的是確定軟件系統(tǒng)是如何完成的。
4.1?系統(tǒng)功能分析
概要設(shè)計是軟件結(jié)構(gòu)的設(shè)計,包括組成模塊,模塊級別,每個模塊的功能等。以下兩個方面將從整體設(shè)計和模塊劃分來解釋。概要設(shè)計是制定軟件概要設(shè)計說明,說明系統(tǒng)模塊的劃分,并選擇技術(shù)路線。它也解釋了軟件的實現(xiàn),并指出了關(guān)鍵的技術(shù)難點。
整個學(xué)生在線系統(tǒng)分為三個模塊:學(xué)生用戶和教師用戶,管理員用戶。系統(tǒng)設(shè)計中的一個重要設(shè)計思想是系統(tǒng)模塊化,它將復(fù)雜的系統(tǒng)功能分解為更簡單、更容易創(chuàng)建和修改的組件。
清晰地反映內(nèi)部組織關(guān)系是功能結(jié)構(gòu)圖主要的目的,為了使其更加連貫,我們制定了更清晰的內(nèi)部邏輯關(guān)系。學(xué)生在線課程選擇系統(tǒng)的功能模塊如圖4.1所示。
圖4.1系統(tǒng)功能模塊圖
4.2?數(shù)據(jù)庫的設(shè)計
數(shù)據(jù)庫設(shè)計是指根據(jù)用戶需求設(shè)計數(shù)據(jù)庫結(jié)構(gòu),建立基于特定數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫的過程[8]。數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)建設(shè)的核心技術(shù)。本章從數(shù)據(jù)庫設(shè)計原則、邏輯結(jié)構(gòu)設(shè)計、概念結(jié)構(gòu)設(shè)計和數(shù)據(jù)庫形式設(shè)計四個方面闡述了學(xué)生在線選課系統(tǒng)的數(shù)據(jù)庫設(shè)計。
4.2.1?數(shù)據(jù)庫設(shè)計原則
我決定使用SQL?Server數(shù)據(jù)庫作為在線課程選擇系統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)。SQL?Server是微軟公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它具有操作簡單,擴展性好,相關(guān)軟件集成度高的優(yōu)點。但一個好的應(yīng)用系統(tǒng)并不是基于一個好的數(shù)據(jù)庫。設(shè)計了合理的數(shù)據(jù)庫模型,降低了服務(wù)器編程和維護(hù)的難度,提高了系統(tǒng)的實際運行效率。在設(shè)計數(shù)據(jù)庫時,我們應(yīng)該遵循以下原則:
- 綜合考慮數(shù)據(jù)庫的規(guī)范化
對于通用數(shù)據(jù)庫設(shè)計,至少應(yīng)該滿足前3條標(biāo)準(zhǔn)。
第一個規(guī)范:每個組件必須是不能分開的原子量。
第二范式:對非主要屬性的主鍵不存在局部依賴。
第三種方式是不存在對非主屬性主鍵的局部依賴,也不存在傳輸依賴。
數(shù)據(jù)庫設(shè)計遵循這些規(guī)則可以減少數(shù)據(jù)冗余。但對于多表查詢,尤其是是大數(shù)據(jù),其性能會降低許多,客戶端的編程難度也會相應(yīng)增加。對于大數(shù)據(jù)項目,我們可以考慮違反第三范式的要求并適當(dāng)?shù)馗倪M(jìn)數(shù)據(jù)冗余設(shè)計。
- 數(shù)據(jù)的完整性和一致性
設(shè)計了大量的表間關(guān)聯(lián)是為了保證數(shù)據(jù)庫的一致性和完整性。這樣,父表和子表的插入,更新和刪除將花費很多。
- 合理使用指數(shù)
索引的主要目的是提高查詢速度。該索引是在頻繁排序和分組的列上設(shè)置的。但通常少量的數(shù)據(jù)不會被索引。
4.2.2?概念結(jié)構(gòu)設(shè)計
在E-R圖中,實體,屬性和關(guān)系用于表示數(shù)據(jù)之間的關(guān)系。
實體:矩形表示矩形框中的實體名稱。
屬性:由橢圓表示并通過無向邊連接到相應(yīng)的實體。
聯(lián)系人:實體之間的關(guān)系。在菱形框中,聯(lián)系人名稱用菱形框表示。由直線連接的實體。
在學(xué)生在線課程選擇系統(tǒng)中,主要實體是學(xué)生,教師,課程等。
- 學(xué)生的屬性包括:學(xué)生編號,姓名,性別,班級學(xué)生實體圖等等,如圖2所示。
圖4.2?學(xué)生實體圖
- 教師,其屬性包括:教師ID、姓名、性別、職稱。教師實體圖如圖3所示。
圖4.3?教師實體圖
- 課程,其屬性包括:課程名稱、學(xué)時、學(xué)分、授課老師。課程實體圖如圖4.4所示。
圖4.4?課程實體圖
?
4.班級,其屬性包括:班號、班主任、班長。課程實體圖如圖4.5所示。
圖4.5?班級實體圖
?
根據(jù)系統(tǒng)各個部分的實體圖以及各個部分的主要功能分析,得出本教學(xué)評價系統(tǒng)的總體E-R圖如圖4.6所示。
圖4.6?總體E-R圖
4.3.3?邏輯結(jié)構(gòu)設(shè)計
從概念設(shè)計階段獲得的概念模型轉(zhuǎn)換為由特定DBMS支持并優(yōu)化的數(shù)據(jù)模型是邏輯結(jié)構(gòu)設(shè)計階段的任務(wù)[9]。邏輯結(jié)構(gòu)設(shè)計一般分為三個步驟:1.從E-R圖到關(guān)系模式。數(shù)據(jù)庫的邏輯設(shè)計其實是將概念模型轉(zhuǎn)換為通用關(guān)系模型和關(guān)系視圖設(shè)計以及數(shù)據(jù)模型優(yōu)化。我們將之前的實體關(guān)系模型(E-R圖)轉(zhuǎn)換為通用關(guān)系模式。
所有在線課程選擇系統(tǒng)的關(guān)系模型如下:
學(xué)生信息表(學(xué)號,學(xué)生姓名,性別,班級,電話號碼)
教師信息列表(教師編號,教師姓名,教師性別,聯(lián)系方式)
課程信息表(課程編號,課程名稱,教師,課程學(xué)分)
選課信息表(學(xué)號,課程名稱,講師)
4.3.4?數(shù)據(jù)庫表設(shè)計
- 根據(jù)上一小節(jié)對數(shù)據(jù)庫概念模型到關(guān)系模型的轉(zhuǎn)換,得出以下數(shù)據(jù)結(jié)構(gòu)表。學(xué)生信息表主要用來記錄學(xué)生信息。包括:ID,姓名,性別,班級等。學(xué)生信息如表4.1所示。
表4.1??學(xué)生信息表
字段名 | 類型 | 說明 |
Id | Varchar(10) | ID號 |
UserRealName | Varchar(10) | 姓名 |
Sex | Varchar(10) | 性別 |
Class | Varchar(10) | 班級 |
Accout | Varchar(15) | 賬戶名 |
Password | Varchar(15) | 密碼 |
Birthday | datetime | 出生日期 |
Phone | Varchar(11) | 聯(lián)系電話 |
RegDate | datetime | 注冊時間 |
- 課程信息表(dbo.course)主要用來存放課程信息。主要包括:課程編號,課程名稱,課程描述,課程類型,任課教師編號,課程學(xué)分等。課程信息如表4.2所示。
表4.2??課程信息表
字段名 | 類型 | 說明 |
Id | Varchar(10) | ID號 |
CourseName | Varchar(20) | 課程名稱 |
Teacher | Varchar(10) | 授課教師 |
brief?introduction | Varchar(50) | 簡介 |
score | Varchar(10) | 學(xué)分 |
- 教師信息表主要用來記錄教師信息。包括:ID,姓名,性別,職稱等。教師信息如表4.3所示。
表4.3??教師表
字段名 | 類型 | 說明 |
Id | Varchar(10) | ID號 |
UserRealName | Varchar(10) | 姓名 |
Sex | Varchar(10) | 性別 |
Title | Varchar(20) | 職稱 |
Accout | Varchar(15) | 賬戶名 |
Password | Varchar(15) | 密碼 |
Profeser | Varchar(20) | 專業(yè)信息 |
Phone | Varchar(11) | 聯(lián)系電話 |
RegDate | datetime | 注冊時間 |
XueLi | Varchar(50) | 學(xué)歷信息 |
- 選課信息表主要用來記錄學(xué)生選課的基本信息。包括:編號,學(xué)生編號,課程編號,狀態(tài)等。選課信息如表4.4所示。
表4.4??選課信息表
字段名 | 類型 | 說明 |
Id | Varchar(10) | ID號 |
CourseName | Varchar(10) | 課程名稱 |
Teacher | Varchar(10) | 授課教師 |
brief?introduction | Varchar(50) | 簡介 |
name | Varchar(10) | 選課學(xué)生 |
?
?
0 Comments.