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