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