版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單位代碼 01 </p><p> 學(xué) 號(hào) 080301113 </p><p> 分 類 號(hào) TP393 </p><p> 密 級(jí) </p><p><b> 畢業(yè)設(shè)計(jì)說明書</b></p><
2、p> 基于B/S結(jié)構(gòu)的網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 2010年5 月14日</p><p> 院(系)名稱信息工程學(xué)院</p><p> 專業(yè)名稱計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 學(xué)生姓名</p><p> 指導(dǎo)教師</p><p> 基于B/S結(jié)構(gòu)的網(wǎng)上選課系統(tǒng)的設(shè)
3、計(jì)與實(shí)現(xiàn)</p><p><b> 摘 要</b></p><p> 本論文詳細(xì)介紹了網(wǎng)上選課系統(tǒng)實(shí)例的開發(fā)與應(yīng)用,是一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)完整的制作過程。主要內(nèi)容有:系統(tǒng)開發(fā)背景、系統(tǒng)概述、需求分析、系統(tǒng)設(shè)計(jì)、功能、感受與體會(huì)等。其中需求分析中主要對(duì)系統(tǒng)的數(shù)據(jù)流程圖進(jìn)行了詳細(xì)描繪,系統(tǒng)設(shè)計(jì)中主要描繪出了網(wǎng)上選課系統(tǒng)的模塊設(shè)計(jì)圖和該系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)。功能與操作中
4、介紹了對(duì)該網(wǎng)上選課系統(tǒng)實(shí)例的基本功能。</p><p> 本文通過分析瀏覽器/服務(wù)器結(jié)構(gòu)的特點(diǎn)并結(jié)合選課的實(shí)際情況,提出了基于瀏覽器/服務(wù)器結(jié)構(gòu)網(wǎng)上選課系統(tǒng)的基本設(shè)計(jì)思想,介紹了系統(tǒng)各功能模塊及數(shù)據(jù)庫(kù)的設(shè)計(jì),并給出了部分實(shí)現(xiàn)代碼。通過該系統(tǒng),使學(xué)生可以方便地在校園網(wǎng)上進(jìn)行網(wǎng)上選課。該B/S結(jié)構(gòu)的系統(tǒng)在Windows XP系統(tǒng)和VS.NET平臺(tái)下開發(fā)完成,使用C#作為ASP.NET的開發(fā)語言,SQL Server
5、 2000作為數(shù)據(jù)庫(kù)。系統(tǒng)有較高的安全性和較好的性能。其中連接數(shù)據(jù)庫(kù)的字符串可以隨時(shí)在web.config里修改,并經(jīng)過編碼加密,增加了靈活性,保護(hù)了數(shù)據(jù)庫(kù)的安全。</p><p> 經(jīng)過測(cè)試以及在實(shí)際使用證明,本文所設(shè)計(jì)的教職工檔案管理系統(tǒng)可以滿足學(xué)校人事、管理方面的需要。在滿足需求的同時(shí),也體現(xiàn)出了操作簡(jiǎn)便、友好實(shí)用、安全可靠等特點(diǎn)。 </p><p> 關(guān)鍵詞:網(wǎng)上選課,ASP.
6、NET,數(shù)據(jù)庫(kù)管理系統(tǒng)</p><p> The Design and Implementation of an Online Course-Choosing System Based on B / S structure</p><p><b> Abstract</b></p><p> With the development of
7、 the enrolling number, the data for daily registry is increasing, too. And always we should goto classroom to enroll. Although this method directly,but result in blindness of the course enrollment and registry data proce
8、ssing of the heavy .In order to reduce the work registry ,and better each student to choose their own favorite subjects .This system is special for the on-line course choosing to design both from the aspect of the studen
9、t and the teacher. The student can ch</p><p> This paper gives the basic design idea of the Browser/Server structure based online course elect system by analyzing the characteristic of the Browser/Server st
10、ructure and combining with the actual public elective courses conditions of our school.By using this system,students can elect courses online efficiently.This Browser/Server structure system is developed under VS.NET pla
11、tform in Windows XP operating system, using C# as ASP.NET development language and SQL Server 2000 as the database. This</p><p> Keywords: online course elect, ASP.NET, DBMS</p><p><b> 目
12、 錄</b></p><p><b> 1 緒論1</b></p><p> 1.1 選題的背景和意義1</p><p> 1.2 課題的可行性分析1</p><p> 2 主要開發(fā)工具和技術(shù)簡(jiǎn)介3</p><p> 2.1 基于B/S的體系結(jié)構(gòu)3<
13、;/p><p> 2.2 Dreamweaver開發(fā)工具簡(jiǎn)介3</p><p> 2.3 ASP概述5</p><p><b> 2.4 小結(jié)6</b></p><p><b> 3 需求分析7</b></p><p> 3.1 系統(tǒng)功能概述7<
14、;/p><p> 3.2 本章小結(jié)9</p><p> 4 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)10</p><p> 4.1 系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)10</p><p> 4.2 數(shù)據(jù)庫(kù)原理11</p><p> 4.3數(shù)據(jù)庫(kù)系統(tǒng)分析15</p><p> 4.4數(shù)據(jù)庫(kù)物理實(shí)現(xiàn)17</p>
15、;<p> 5 詳細(xì)設(shè)計(jì)20</p><p> 5.1 數(shù)據(jù)庫(kù)的連接和系統(tǒng)基本設(shè)置20</p><p> 5.2用戶登陸21</p><p> 5.3 系統(tǒng)管理說明27</p><p> 5.4教師管理說明31</p><p> 6 系統(tǒng)的運(yùn)行與測(cè)試36</p>
16、<p> 6.1 軟件測(cè)試36</p><p> 6.2 軟件測(cè)試的目的36</p><p> 6.3 測(cè)試的內(nèi)容37</p><p> 6.4 測(cè)試用例37</p><p> 6.5 測(cè)試結(jié)論39</p><p> 7 系統(tǒng)的使用說明與安裝40</p>&l
17、t;p> 7.1 安裝設(shè)置40</p><p><b> 結(jié) 論42</b></p><p><b> 致 謝43</b></p><p><b> 參考文獻(xiàn)44</b></p><p><b> 1 緒 論</b><
18、;/p><p> 1.1 選題的背景和意義</p><p> 學(xué)生選課系統(tǒng)是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。<
19、;/p><p> 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。</p><p> 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)選課信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理
20、,與世界接軌的重要條件。</p><p> 因此,開發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套學(xué)生選課系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。</p><p> 本文中所做的主要工作如下:</p><p> (1)闡述整個(gè)個(gè)性化頁(yè)面生成系統(tǒng)的系統(tǒng)結(jié)構(gòu)及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)和重點(diǎn)。</p>&l
21、t;p> (2)設(shè)計(jì)實(shí)現(xiàn)用戶管理、課程管理、選課信息錄入管理、新生信息錄入管理、課程的瀏覽和查找、學(xué)生查找等ASP.NET頁(yè)面。</p><p> (3)分析并解決實(shí)現(xiàn)中的若干技術(shù)問題。 </p><p> (4)建立完整的網(wǎng)上選課,進(jìn)行測(cè)試并分析結(jié)果。</p><p> 1.2 課題的可行性分析</p><p> (1)技術(shù)
22、可行性-----本系統(tǒng)僅需要一臺(tái)裝有Office軟件的計(jì)算機(jī)即可,對(duì)機(jī)器本身沒有太高的要求,一般當(dāng)前學(xué)校或個(gè)人電腦完全可滿足要求。對(duì)于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計(jì)語言已非常成熟,要運(yùn)用HTML樣式,圖形圖象制作工具來制作生動(dòng)活潑的網(wǎng)頁(yè)及美觀的圖形文件或動(dòng)畫文件,數(shù)據(jù)庫(kù)使用SQL Server 2000中提供的數(shù)據(jù)庫(kù)桌面工具ODBC。</p><p> (2)經(jīng)濟(jì)可行性-----由于本系統(tǒng)是為學(xué)生選課管理使用的系
23、統(tǒng),裝上該應(yīng)用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力。所帶來的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟(jì)上完全可行。</p><p> (3)操作可行性-----界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。</p><p> 2 主要開發(fā)工具和技術(shù)簡(jiǎn)介&l
24、t;/p><p> 2.1 基于B/S的體系結(jié)構(gòu)</p><p> 在傳統(tǒng)的兩層C/S(Client/Server)模型中,客戶端承擔(dān)了過多的角色,而顯得臃腫,這種模型雖然部署比較容易,安全性較高,但是很難進(jìn)行升級(jí)和改進(jìn),也不適合分布式環(huán)境中的應(yīng)用。為了滿足檔案管理系統(tǒng)中管理員地域分散,以及不斷升級(jí)和改進(jìn)系統(tǒng)以滿足用戶多樣性需求,本系統(tǒng)采用了B/S(Browse/Server)開發(fā)模式進(jìn)
25、行開發(fā),采用ASP作為開發(fā)語言,用SQL Server 2000數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的設(shè)計(jì)和存儲(chǔ)。</p><p> 在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)又被稱為瘦客戶端結(jié)構(gòu),客戶端的主要任務(wù)是進(jìn)行頁(yè)面的顯示,服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請(qǐng)求,而其余如數(shù)據(jù)請(qǐng)求
26、、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)生成等工作全部由Web Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由Web服務(wù)器單獨(dú)組成一層來負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器[11]。這種三層體系結(jié)構(gòu)如圖2.1所示:</p><p> 圖2.1 B/S三層架構(gòu)示意圖</p><p> 由于客戶端和服務(wù)器的分離,可以讓
27、開發(fā)者把主要的精力放到業(yè)務(wù)邏輯的處理中去。另外,這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能[9]。</p><p> 2.2 Dreamweaver開發(fā)工具簡(jiǎn)介</p><p> Dreamweaver是美國(guó)MACROMEDIA公司開發(fā)的集網(wǎng)頁(yè)制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁(yè)編輯器,它是第一套針對(duì)專業(yè)網(wǎng)頁(yè)設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁(yè)開發(fā)工具,利用它可以輕而
28、易舉地制作出跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁(yè)。</p><p> DREAMWEAVER、FLASH以及在DREAMWEAVER之后推出的針對(duì)專業(yè)網(wǎng)頁(yè)圖像設(shè)計(jì)的FIREWORKS,三者被MACROMEDIA公司稱為DREAMTEAM(夢(mèng)之隊(duì)),足見市場(chǎng)的反響和MACROMEDIA公司對(duì)它們的自信。說到DREAMWEAVER我們應(yīng)該了解一下網(wǎng)頁(yè)編輯器的發(fā)展過程,隨著互聯(lián)網(wǎng)(Internet) 的家喻戶
29、曉,HTML技術(shù)的不斷發(fā)展和完善,隨之而產(chǎn)生了眾多網(wǎng)頁(yè)編輯器,從網(wǎng)頁(yè)編輯器基本性質(zhì)可以分為所見即所得網(wǎng)頁(yè)編輯器和非所見即所得網(wǎng)頁(yè)編輯器(則原始代碼編輯器),兩者各有千秋。所見則所得網(wǎng)頁(yè)編輯器的優(yōu)點(diǎn)就是直觀性,使用方便,容易上手,您在所見即所得網(wǎng)頁(yè)編輯器進(jìn)行網(wǎng)頁(yè)制作和在WORD中進(jìn)行文本編輯不會(huì)感到有什么區(qū)別。</p><p> 1.Dreamweaver的優(yōu)點(diǎn)</p><p> (1)
30、最佳的制作效率</p><p> Dreamweaver可以用最快速的方式將Fireworks,F(xiàn)reeHand或Photoshop等檔案移至網(wǎng)頁(yè)上。使用檢色吸管工具選擇熒幕上的顏色可設(shè)定最接近的網(wǎng)頁(yè)安全色。對(duì)于選單,快捷鍵與格式控制,都只要一個(gè)簡(jiǎn)單步驟便可完成。Dremweaver能與您喜愛的設(shè)計(jì)工具,如Playback Flash,Shockwave和外掛模組等搭配,不需離開Dremweaver便可完成,整
31、體運(yùn)用流程自然順暢。除此之外,只要單擊便可使Dreamweaver自動(dòng)開啟Firework或Photoshop來進(jìn)行編輯與設(shè)定圖檔的最佳化。 </p><p><b> (2)網(wǎng)站管理 </b></p><p> 使用網(wǎng)站地圖可以快速制作網(wǎng)站雛形、設(shè)計(jì)、更新和重組網(wǎng)頁(yè)。改變網(wǎng)頁(yè)位置或檔案名稱,Dreamweaver 會(huì)自動(dòng)更新所有連結(jié)。使用鏈接文字、HTML碼、H
32、TML屬性標(biāo)簽和一般語法的搜尋及置換功能使得復(fù)雜的網(wǎng)站更新變得迅速又簡(jiǎn)單。 </p><p> (3)無可比擬的控制能力 </p><p> Dreamweaver是唯一提供Roundtrip HTML、視覺化編輯與原始碼編輯同步的設(shè)計(jì)工具。它包含HomeSite和BBEdit等主流文字編輯器。幀(frames)和表格的制作速度快的令您無法想像。進(jìn)階表格編輯功能使您簡(jiǎn)單的選擇單格、行、
33、欄或作未連續(xù)之選取。甚至可以排序或格式化表格群組,Dreamweaver 支持精準(zhǔn)定位,利用可輕易轉(zhuǎn)換成表格的圖層以拖拉置放的方式進(jìn)行版面配置。所見即所得 Dreamweaver成功整合動(dòng)態(tài)式出版視覺編輯及電子商務(wù)功能,提供超強(qiáng)的支援能力給Third-party廠商,包含ASP,Apache,BroadVision,Cold Fusion,iCAT,Tango與自行發(fā)展的應(yīng)用軟體。當(dāng)您正使用Dreamweaver在設(shè)計(jì)動(dòng)態(tài)網(wǎng)頁(yè)時(shí),所見即
34、所得的功能,讓您不需要透過瀏覽器就能預(yù)覽網(wǎng)頁(yè)。夢(mèng)幻樣版和XML Dreamweaver將內(nèi)容與設(shè)計(jì)分開,應(yīng)用于快速網(wǎng)頁(yè)更新和團(tuán)隊(duì)合作網(wǎng)頁(yè)編輯。建立網(wǎng)頁(yè)外觀的樣版,指定可編輯或不可編輯的部份,內(nèi)容提供者可直接編輯以樣式為主的內(nèi)容卻不會(huì)不小心改變既定之樣式。您也可以使用樣版正確地輸入或輸出XML內(nèi)容。 全方位的呈現(xiàn)利</p><p> 2.Dreamweaver的不足</p><p> (
35、1)難以精確達(dá)到與瀏覽器完全一致的顯示效果。也就是說您在所見即所得網(wǎng)頁(yè)編輯器中制作的網(wǎng)頁(yè)放到瀏覽器中是很難完全達(dá)到您真正想要的效果,這一點(diǎn)在結(jié)構(gòu)復(fù)雜一些的網(wǎng)頁(yè)(如分幀結(jié)構(gòu)、動(dòng)態(tài)網(wǎng)頁(yè)結(jié)構(gòu))中便可以體現(xiàn)出來; </p><p> (2)頁(yè)面原始代碼的難以控制性,比如您在所見即所得編輯器中制作一張表格也要幾分鐘,但您要它完全符合您要求可能需要幾十分鐘,甚至更多時(shí)間。而相比之下,非所見則所得的網(wǎng)頁(yè)編輯器,就不存在這個(gè)問
36、題。</p><p> 2.3 ASP概述</p><p> ASP是Active Server Page的縮寫,意為“動(dòng)態(tài)服務(wù)器頁(yè)面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫(kù)和其它程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具。ASP的網(wǎng)頁(yè)文件的格式是.asp,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。 ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁(yè)或Web應(yīng)用
37、程序。ASP網(wǎng)頁(yè)可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁(yè)中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁(yè)作為用戶界面的web應(yīng)用程序。 與HTML相比,ASP網(wǎng)頁(yè)具有以下特點(diǎn):</p><p> (1)利用ASP可以實(shí)現(xiàn)突破靜態(tài)網(wǎng)頁(yè)的一些功能限制,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)技術(shù);</p><p> (2)ASP文件是包含在HTML代碼所組成的文件中的,
38、易于修改和測(cè)試;</p><p> (3)服務(wù)器上的ASP解釋程序會(huì)在服務(wù)器端執(zhí)行ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁(yè);</p><p> (4)ASP提供了一些內(nèi)置對(duì)象,使用這些對(duì)象可以使服務(wù)器端腳本功能更強(qiáng)。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對(duì)這些信息進(jìn)行處理,然后向web瀏覽
39、器發(fā)送信息;</p><p> (5)ASP可以使用服務(wù)器端ActiveX組件來執(zhí)行各種各樣的任務(wù),例如存取數(shù)據(jù)庫(kù)、發(fā)現(xiàn)或訪問文件系統(tǒng)等;</p><p> (6)由于服務(wù)器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶端瀏覽器,因此使用者不會(huì)看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。</p><p><b> 2.4 小結(jié)<
40、;/b></p><p> 本章主要介紹了本課題系統(tǒng)開發(fā)中所需用到的關(guān)鍵技術(shù)。利用上述工具與技術(shù)可以開發(fā)出一款網(wǎng)上選課系統(tǒng)。這幾種技術(shù)的綜合使用也能使系統(tǒng)在性能方面有較大的優(yōu)越性。</p><p><b> 3 需求分析</b></p><p> 3.1 系統(tǒng)功能概述</p><p> 本系統(tǒng)是一個(gè)因特
41、網(wǎng)上開放式的網(wǎng)上選課系統(tǒng),只要具有相應(yīng)權(quán)限,管理員可以隨時(shí)隨地的進(jìn)行選課操作,方便高效快捷。管理員可以進(jìn)行錄入個(gè)人信息,修改信息,刪除信息,查詢信息等基本信息操作,具有強(qiáng)大的統(tǒng)計(jì)功能,支持準(zhǔn)確的數(shù)據(jù)查詢功能。超級(jí)管理員具有對(duì)賬號(hào)的修改,添加,刪除操作權(quán)限。</p><p> 在本系統(tǒng)中,有三類用戶:系統(tǒng)管理員、教師和學(xué)生。三種不同的用戶所具有的操作權(quán)限以及操作內(nèi)容均不一樣。</p><p&g
42、t; 本選課系統(tǒng)給予教師很大的自主權(quán),系統(tǒng)管理員只負(fù)責(zé)向系統(tǒng)中添加學(xué)生和教師的個(gè)人信息以及教學(xué)樓教室信息。系統(tǒng)管理員不參與開設(shè)課程、選擇課程等,一切均由教師、學(xué)生等錄網(wǎng)站自行完成。系統(tǒng)管理員設(shè)置一個(gè)選課時(shí)間段,在到達(dá)時(shí)間段以前,教師可以開設(shè)課程;到達(dá)時(shí)間段以后,學(xué)生可以登陸網(wǎng)站選擇課程。</p><p> 教師用戶登陸網(wǎng)站后可以開設(shè)課程,為自己的課程編輯上課時(shí)間和地點(diǎn),當(dāng)系統(tǒng)中出現(xiàn)時(shí)間地點(diǎn)沖突的時(shí)候,系統(tǒng)向教
43、師用戶報(bào)告并推薦一個(gè)時(shí)間地點(diǎn)。每門課程可以是必修或則選修,教師為每門課程設(shè)置一個(gè)學(xué)分,并可以在課程結(jié)束后給予分?jǐn)?shù),如果學(xué)生及格,學(xué)生將獲得該課程的學(xué)分。</p><p> 對(duì)于學(xué)生用戶,每個(gè)學(xué)生除了必須選擇必修課程外,至少還要選擇兩門選修課程,學(xué)生可以對(duì)自己選課信息鎖定,以免不小心被修改。當(dāng)時(shí)候超過選課時(shí)段后,系統(tǒng)自動(dòng)鎖定學(xué)生的選課課程。系統(tǒng)可以根據(jù)學(xué)生的選課信息,生成一份學(xué)生自己的課表。課程結(jié)束后學(xué)生可登錄網(wǎng)
44、站查詢成績(jī)與學(xué)分。</p><p> 根據(jù)上面的要求,從操作功能上可以分為兩個(gè)類:一個(gè)是通用操作,主要實(shí)現(xiàn)用戶的登錄注銷和修改密碼等;另一種是為不同用戶定制不同操作。</p><p><b> 1.通用操作</b></p><p><b> (1)登錄與注銷</b></p><p> 每個(gè)用
45、戶都可以用自己的帳號(hào)登錄系統(tǒng)。用戶操作完成后推出系統(tǒng),注銷后可以重新登錄系統(tǒng)。</p><p><b> (2)修改密碼</b></p><p> 每個(gè)用戶第一次登錄都用默認(rèn)密碼(教師和學(xué)生與帳號(hào)一樣)。</p><p><b> 2.用戶所具有功能</b></p><p><b>
46、 (1)系統(tǒng)管理員</b></p><p> 設(shè)置選課時(shí)間段:系統(tǒng)管理員通過此項(xiàng)功能設(shè)置選課時(shí)段,只有在選課時(shí)間段里,學(xué)生才可以選擇課程,超過次時(shí)間段,學(xué)生選課信息被自動(dòng)所定,不得修改。</p><p> 錄入學(xué)生與教師個(gè)人信息:通過此項(xiàng)功能可以實(shí)現(xiàn)對(duì)教師和學(xué)生的個(gè)人信息添加刪除。</p><p> 錄入教學(xué)樓教室信息:通過此項(xiàng)功能可以把學(xué)校里所
47、有的教學(xué)樓教室的信息錄入到系統(tǒng)中,以便教師在開設(shè)課程時(shí)候設(shè)置上課的教室。</p><p><b> (2)教師用戶</b></p><p> 顯示和修改個(gè)人信息:教師用戶登錄系統(tǒng)后,可以查看和修改教師的個(gè)人信息,如姓名,電話,E-mail地址等。</p><p> 開設(shè)課程:教師用戶登錄系統(tǒng)后,可以開設(shè)課程,可以設(shè)置該課程為必修課程或則選
48、修課程,可以設(shè)置該課程的最大人數(shù)。教師還可以為該課程設(shè)置一個(gè)前導(dǎo)課程,若學(xué)生沒有學(xué)習(xí)或則選擇前導(dǎo)課程則不能選擇該課程。</p><p> 編輯課程上課時(shí)間:教師在開設(shè)了課程后,可以靈活地設(shè)置上課時(shí)間和地點(diǎn)。</p><p> 給學(xué)生分?jǐn)?shù):課程結(jié)束后,教師用戶登錄系統(tǒng),可以為學(xué)過課程的學(xué)生給予相應(yīng)的成績(jī),若及格,給予學(xué)生學(xué)分。</p><p><b>
49、 (3)學(xué)生用戶</b></p><p> 顯示和修改個(gè)人信息:學(xué)生登錄系統(tǒng)后,可以查看和修改學(xué)生的個(gè)人信息,如姓名,性別,電話等。</p><p> 查看必修課程:學(xué)生登錄后,可以查看所有的必修課程。查看該課程的信息,上課時(shí)間地點(diǎn),開課教師信息等。</p><p> 選擇選修課程:學(xué)生登錄系統(tǒng)后,在所有選修課程中可以選擇至少兩門選修課程。同時(shí)可以
50、查看相關(guān)信息。</p><p> 鎖定選課信息:學(xué)生登錄系統(tǒng),確定了所選課程后,可以鎖定自己的選課信息,以防被別人或則自己不小心修改。</p><p> 查看最終選課信息:學(xué)生登錄系統(tǒng)后,可列出已選擇的課程,若選課信息未被鎖定,則可以退選,若所選課程少于兩門,系統(tǒng)會(huì)提示選擇的課程少于兩門。</p><p> 課程結(jié)束后,學(xué)生登錄系統(tǒng)可查看自己學(xué)習(xí)課程的成績(jī)和已
51、獲的學(xué)分。</p><p><b> 3.2 本章小結(jié)</b></p><p> 本章是對(duì)系統(tǒng)功能的概要論述。在本章里,對(duì)系統(tǒng)管理員、教師和學(xué)生的操作做出了詳細(xì)的介紹。</p><p><b> 4 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)</p>
52、<p> 在前面的系統(tǒng)的系統(tǒng)功能分析中,將系統(tǒng)劃分成10個(gè)模塊,如圖:</p><p> 圖4.1 系統(tǒng)結(jié)構(gòu)圖</p><p> 用戶登錄身份驗(yàn)證模塊是驗(yàn)證用戶名和密碼,并根據(jù)不同的用戶類型,跳轉(zhuǎn)到相對(duì)應(yīng)的頁(yè)面中。設(shè)置選課時(shí)間模塊提供給系統(tǒng)管理員修改選課時(shí)間段。開設(shè)課程模塊提供給教師用戶,用來開設(shè)一門必修課程或者選修課程。編輯課程時(shí)間地點(diǎn)模塊提供給教師用戶,編輯課程的上課時(shí)
53、間地點(diǎn)友好的界面和操作。評(píng)分模塊用于教師用戶給選修該教師開設(shè)的課程的學(xué)生評(píng)分。查看課程模塊包括查看必修課程、查看選修課程、查看已選課程、查看課程成績(jī)單。選課和鎖定模塊中實(shí)現(xiàn)選擇選修課程和鎖定選課信息的功能。</p><p><b> 4.2 數(shù)據(jù)庫(kù)原理</b></p><p><b> 1.?dāng)?shù)據(jù)庫(kù)概要</b></p><p
54、> 數(shù)據(jù):實(shí)際上就是描述事物的符號(hào)記錄。 </p><p> 數(shù)據(jù)的特點(diǎn):有一定的結(jié)構(gòu),有型與值之分,如整型、實(shí)型、字符型等。而數(shù)據(jù)的值給出了符合定型的值,如整型值15。 </p><p> 數(shù)據(jù)庫(kù):是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序共享。 </p><p> 數(shù)據(jù)庫(kù)存放數(shù)據(jù)是按數(shù)據(jù)所提供
55、的數(shù)據(jù)模式存放的,具有集成與共享的特點(diǎn)。 </p><p> 數(shù)據(jù)庫(kù)管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫(kù)的核心。 </p><p> 數(shù)據(jù)庫(kù)管理系統(tǒng)功能: </p><p> (1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫(kù)構(gòu)建其數(shù)據(jù)框架; </p><p> (2)數(shù)據(jù)存取的物理構(gòu)建:為
56、數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與手段; </p><p> (3)數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫(kù)的數(shù)據(jù)提供方便,如查詢、插入、修改、刪除等以及簡(jiǎn)單的算術(shù)運(yùn)算及統(tǒng)計(jì); </p><p> (4)數(shù)據(jù)的完整性、安生性定義與檢查; </p><p> (5)數(shù)據(jù)庫(kù)的并發(fā)控制與故障恢復(fù); </p><p> (6)數(shù)據(jù)的服務(wù):如拷貝、
57、轉(zhuǎn)存、重組、性能監(jiān)測(cè)、分析等。 </p><p> 為完成以上六個(gè)功能,數(shù)據(jù)庫(kù)管理系統(tǒng)提供以下的數(shù)據(jù)語言: </p><p> (1)數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建; </p><p> (2)數(shù)據(jù)操縱語言:負(fù)責(zé)數(shù)據(jù)的操縱,如查詢與增、刪、改等; </p><p> (3)數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定
58、義與檢查以及并發(fā)控制、故障恢復(fù)等。 </p><p> 數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。 </p><p> 數(shù)據(jù)庫(kù)管理員:對(duì)數(shù)據(jù)庫(kù)進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等的專業(yè)管理人員。 </p><p> 數(shù)據(jù)庫(kù)系統(tǒng):由數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、硬件平
59、臺(tái)(硬件)、軟件平臺(tái)(軟件)五個(gè)部分構(gòu)成的運(yùn)行實(shí)體。 </p><p> 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng):由數(shù)據(jù)庫(kù)系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。 </p><p> 文件系統(tǒng)階段:提供了簡(jiǎn)單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完整的、統(tǒng)一的、管理和數(shù)據(jù)共享的能力。 </p><p> 層次數(shù)據(jù)庫(kù)與網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)階段 :為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐。 </p&g
60、t;<p> 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)階段 </p><p> 數(shù)據(jù)庫(kù)系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性 、數(shù)據(jù)的高共享性與低冗余性 、數(shù)據(jù)獨(dú)立性(物理獨(dú)立性與邏輯獨(dú)立性)、數(shù)據(jù)統(tǒng)一管理與控制。數(shù)據(jù)庫(kù)是網(wǎng)站的核心,數(shù)據(jù)庫(kù)設(shè)計(jì)的合理與否對(duì)網(wǎng)站的建設(shè)有著至關(guān)重要的影響。 </p><p> 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式: </p><p> (1)概念模式:數(shù)據(jù)庫(kù)系統(tǒng)中全
61、局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶公共數(shù)據(jù)視圖; </p><p> (2)外模式:也稱子模式與用戶模式。是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式; </p><p> (3)內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。 </p><p> 數(shù)據(jù)庫(kù)系統(tǒng)的兩級(jí)映射: </p><p> (1)概念模式到內(nèi)模式的映射;
62、 </p><p> (2)外模式到概念模式的映射。 </p><p><b> 2.?dāng)?shù)據(jù)模型 </b></p><p> 數(shù)據(jù)模型的概念:是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束條件,為數(shù)據(jù)庫(kù)系統(tǒng)的信息表與操作提供一個(gè)抽象的框架。描述了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。 </p><p>
63、 E-R模型的基本概念 </p><p> (1)實(shí)體:現(xiàn)實(shí)世界中的事物; </p><p> (2)屬性:事物的特性; </p><p> (3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系。 </p><p> E-R模型三個(gè)基本概念之間的聯(lián)接關(guān)系:實(shí)體是概念世界中的基本單位,屬性有屬性域,每個(gè)實(shí)體可取
64、屬性域內(nèi)的值。一個(gè)實(shí)體的所有屬性值叫元組。 </p><p> E-R模型的圖示法:實(shí)體集表示法、屬性表法和聯(lián)系表示法。 </p><p> 層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),具有以下特點(diǎn): </p><p> (1)每棵樹有且僅有一個(gè)無雙親結(jié)點(diǎn),稱為根; </p><p> (2)樹中除根外所有結(jié)點(diǎn)有且僅有一個(gè)雙親。 </p>
65、;<p> 從圖論上看,網(wǎng)狀模型是一個(gè)不加任何條件限制的無向圖。 </p><p> 關(guān)系模型采用二維表來表示,簡(jiǎn)稱表,由表框架及表的元組組成。一個(gè)二維表就是一個(gè)關(guān)系。 </p><p> 在二維表中凡能唯一標(biāo)識(shí)元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個(gè)作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。 </p>&l
66、t;p> 關(guān)系中的數(shù)據(jù)約束: </p><p> (1)實(shí)體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值; </p><p> (2)參照完全性約束:是關(guān)系之間的基本約束; </p><p> (3)用戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語義要求。 </p><p><b> 3.關(guān)系代數(shù) </b>
67、;</p><p> 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表示關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算。 </p><p> 關(guān)系模型的基本運(yùn)算:插入、刪除、修改、查詢(包括投影、選擇、笛卡爾積運(yùn)算) </p><p> 4.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)與管理 </p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)應(yīng)用的
68、核心。 </p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)的兩種方法: </p><p> (1)面向數(shù)據(jù):以信息需求為主,兼顧處理需求; </p><p> (2)面向過程:以處理需求為主,兼顧信息需求。 </p><p> 數(shù)據(jù)庫(kù)的生命周期:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測(cè)試階段、運(yùn)行階段、進(jìn)一步修改階段。 <
69、;/p><p> 需求分析常用結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒?。結(jié)構(gòu)化分析(簡(jiǎn)稱SA)方法用自頂向下、逐層分解的方式分析系統(tǒng)。用數(shù)據(jù)流圖表達(dá)數(shù)據(jù)和處理過程的關(guān)系。對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。 </p><p> 數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,包括5個(gè)部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流(可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)存儲(chǔ)、處理過程。 </p&
70、gt;<p> 數(shù)據(jù)庫(kù)概念設(shè)計(jì)的目的是分析數(shù)據(jù)內(nèi)在語義關(guān)系。設(shè)計(jì)的方法有兩種 </p><p> (1)集中式模式設(shè)計(jì)法(適用于小型或并不復(fù)雜的單位或部門); </p><p> (2)視圖集成設(shè)計(jì)法。 </p><p> 設(shè)計(jì)方法:E-R模型與視圖集成。 </p><p> 視圖設(shè)計(jì)一般有三種設(shè)計(jì)次序:自頂向下、由底
71、向上、由內(nèi)向外。 </p><p> 視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。 </p><p> 關(guān)系視圖設(shè)計(jì):關(guān)系視圖的設(shè)計(jì)又稱外模式設(shè)計(jì)。 </p><p> 關(guān)系視圖的主要作用: </p><p> (1)提供數(shù)據(jù)邏輯獨(dú)立性; </p><p> (2)能適應(yīng)用戶對(duì)數(shù)據(jù)的不同需求;
72、</p><p> (3)有一定數(shù)據(jù)保密功能。 </p><p> 數(shù)據(jù)庫(kù)的物理設(shè)計(jì)主要目標(biāo)是對(duì)數(shù)據(jù)內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提高數(shù)據(jù)庫(kù)訪問速度有效利用存儲(chǔ)空間。一般RDBMS中留給用戶參與物理設(shè)計(jì)的內(nèi)容大致有索引設(shè)計(jì)、集成簇設(shè)計(jì)和分區(qū)設(shè)計(jì)。 </p><p> 數(shù)據(jù)庫(kù)管理的內(nèi)容: </p><p> (1)數(shù)據(jù)庫(kù)的建
73、立; </p><p> (2)數(shù)據(jù)庫(kù)的調(diào)整; </p><p> (3)數(shù)據(jù)庫(kù)的重組; </p><p> (4)數(shù)據(jù)庫(kù)安全性與完整性控制; </p><p> (5)數(shù)據(jù)庫(kù)的故障恢復(fù); </p><p><b> (6)數(shù)據(jù)庫(kù)監(jiān)控。</b></p><p>
74、 數(shù)據(jù)庫(kù)是此類系統(tǒng)的核心,系統(tǒng)中所有的信息都存儲(chǔ)在數(shù)據(jù)庫(kù)中,在所有ASP.NET頁(yè)面中通過ADO.NET與數(shù)據(jù)庫(kù)連接,操作數(shù)據(jù)庫(kù)中的數(shù)據(jù),從而實(shí)現(xiàn)所有需要的功能。數(shù)據(jù)庫(kù)軟件有很多,如Microsoft SQL Server 2000等。本系統(tǒng)中數(shù)據(jù)庫(kù)采用Microsoft SQL Server 2000作為數(shù)據(jù)庫(kù)工具。數(shù)據(jù)庫(kù)是網(wǎng)站的核心,數(shù)據(jù)庫(kù)設(shè)計(jì)的合理與否對(duì)網(wǎng)站的建設(shè)有著至關(guān)重要的影響。一個(gè)良好的數(shù)據(jù)庫(kù)開發(fā)過程一般是先系統(tǒng)分析,再邏輯
75、設(shè)計(jì),然后物理實(shí)現(xiàn)。系統(tǒng)分析中分析數(shù)據(jù)庫(kù)用戶需求,并畫出E-R圖直觀地表示出數(shù)據(jù)庫(kù)系統(tǒng)的需求。邏輯設(shè)計(jì)中根據(jù)系統(tǒng)分析設(shè)計(jì)的一個(gè)關(guān)系模型。物理設(shè)計(jì)為邏輯設(shè)計(jì)中的數(shù)據(jù)模型選取一個(gè)最合理的應(yīng)用環(huán)境的物理結(jié)構(gòu),通常選取一個(gè)常用數(shù)據(jù)庫(kù)軟件,用數(shù)據(jù)庫(kù)軟件創(chuàng)建與邏輯設(shè)計(jì)中數(shù)據(jù)模型對(duì)應(yīng)的數(shù)據(jù)庫(kù)。</p><p> 4.3數(shù)據(jù)庫(kù)系統(tǒng)分析</p><p> 本系統(tǒng)的數(shù)據(jù)庫(kù)實(shí)體主要有“學(xué)生”、“教師”、“教
76、學(xué)樓”、“教室”、“課程”等。其中“教師”與“課程”存在“開設(shè)”聯(lián)系,并且一個(gè)教師可以開設(shè)N門課程,即“教師”與“課程”之間是一對(duì)多的關(guān)系。一個(gè)學(xué)生可以學(xué)習(xí)N門課程,一門課程可以有M個(gè)學(xué)生學(xué)習(xí),即“學(xué)生”與“課程”之間是多對(duì)多的關(guān)系。同樣“課程”與“教室”之間也是多對(duì)多的關(guān)系。整個(gè)數(shù)據(jù)庫(kù)可以用一個(gè)E-R圖表示,如圖:</p><p> 圖4.2 實(shí)體之間關(guān)系的E-R圖</p><p>
77、 E-R實(shí)體圖:管理員信息實(shí)體E-R圖;如圖4.3所示教師用戶實(shí)體E-R圖如圖4.4所示;學(xué)生用戶信息實(shí)體E-R圖如圖4.5所示;院系信息實(shí)體E-R圖如圖4.6所示。</p><p> 圖4.3 管理員信息實(shí)體E-R圖 如圖4.4 教師用戶實(shí)體E-R圖</p><p> 圖4.5 學(xué)生用戶信息實(shí)體E-R圖
78、 圖4.6 院系信息實(shí)體E-R圖</p><p> 專業(yè)信息實(shí)體E-R圖如圖4.7所示;課程信息實(shí)體E-R圖如圖4.8所示</p><p> 圖4.7 專業(yè)信息實(shí)體E-R圖 圖4.8 課程信息實(shí)體E-R圖</p><p> 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)就是將E—R圖轉(zhuǎn)換為關(guān)系模型的過程,即將所有實(shí)體和關(guān)系轉(zhuǎn)換成一系列的關(guān)系模式。轉(zhuǎn)換過程中常見
79、規(guī)則有:</p><p> (1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式;</p><p> (2)一個(gè)一對(duì)一的聯(lián)系可轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與任意一端對(duì)應(yīng)的關(guān)系模式合并;</p><p> (3)一個(gè)一對(duì)多的聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與多的那一端對(duì)應(yīng)的關(guān)系模式合并;</p><p> (4)一個(gè)多對(duì)多的關(guān)系轉(zhuǎn)換成一個(gè)關(guān)系模式
80、。</p><p> 根據(jù)以上四條規(guī)則,下面將E—R圖轉(zhuǎn)換成關(guān)系模型。</p><p> 對(duì)于“教學(xué)樓”、“教室”和兩者之間的關(guān)系,就可以根據(jù)規(guī)則(3)轉(zhuǎn)換成兩個(gè)關(guān)系模式</p><p> 教學(xué)樓(教學(xué)樓ID,教學(xué)樓名稱)</p><p> 教室(教室ID,教學(xué)樓ID,教室名稱)</p><p> 對(duì)于“學(xué)生
81、”、“課程”和它們之間的“選修”關(guān)系就可以規(guī)則(4)轉(zhuǎn)換成三個(gè)關(guān)系模式。</p><p> 學(xué)生(學(xué)號(hào),姓名,性別,年齡,登陸密碼,學(xué)分,地址,電話,電子郵件)</p><p> 課程(課程編碼,課程名稱,開課教師編號(hào),學(xué)分,課程簡(jiǎn)介,前導(dǎo)課程編號(hào))</p><p> 選課(學(xué)號(hào),課程編號(hào),成績(jī))</p><p> 依次類推,剩下的關(guān)
82、系轉(zhuǎn)換成下面三個(gè)關(guān)系模式:</p><p> 教師(教師編號(hào),姓名,性別,年齡,電話,電子郵件,個(gè)人簡(jiǎn)介)</p><p> 課程時(shí)間地點(diǎn)(課程編號(hào),開始周次,結(jié)束周次,上課時(shí)間,上課教室ID)</p><p> 管理員(帳號(hào),密碼)</p><p> 4.4數(shù)據(jù)庫(kù)物理實(shí)現(xiàn)</p><p> 經(jīng)過數(shù)據(jù)庫(kù)系統(tǒng)分
83、析和邏輯設(shè)計(jì)后,數(shù)據(jù)庫(kù)的結(jié)構(gòu)已經(jīng)非常清晰,剩下的就是用一種數(shù)據(jù)庫(kù)軟件實(shí)現(xiàn)這樣的結(jié)構(gòu)。物理設(shè)計(jì)為邏輯設(shè)計(jì)中的數(shù)據(jù)模型選取一個(gè)最合理的應(yīng)用環(huán)境的物理結(jié)構(gòu),用數(shù)據(jù)庫(kù)軟件創(chuàng)建與邏輯設(shè)計(jì)中數(shù)據(jù)模型對(duì)應(yīng)的數(shù)據(jù)庫(kù)。本系統(tǒng)中數(shù)據(jù)庫(kù)采Microsoft SQL Server 2000作為數(shù)據(jù)庫(kù)。首先我們?cè)贛icrosoft SQL Server 2000的“企業(yè)管理器”創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),我們命名為“SC”,如圖4.9:</p><p&g
84、t; 圖4.9 數(shù)據(jù)庫(kù)界面</p><p> 選中SC數(shù)據(jù)庫(kù),向數(shù)據(jù)庫(kù)中添加7個(gè)表:</p><p> Student,Teacher,Course,SC,CourseTime,Building,Room和Admin,每個(gè)表與邏輯設(shè)計(jì)中一種的關(guān)系模式相對(duì)應(yīng)。下面是每個(gè)數(shù)據(jù)表中的屬性,包括屬性列的名稱、數(shù)據(jù)類型、長(zhǎng)度、是否可以為空和備注說明等內(nèi)容。</p><p&g
85、t; (1)Student表。Student表用來存儲(chǔ)學(xué)生的個(gè)人信息,使用學(xué)號(hào)作為主鍵,其詳細(xì)信息請(qǐng)看下表:</p><p> 表1 Student表</p><p> (2)Teacher表。Teacher表用來存儲(chǔ)教師的個(gè)人信息,用學(xué)校分配給教師的教師編號(hào)作為主鍵,這樣可以避免重復(fù),其詳細(xì)信息請(qǐng)看下表:</p><p> 表2 Teacher表</
86、p><p> (3)Course表。Course表用來存儲(chǔ)課程信息,Course表以課程編號(hào)為主鍵,設(shè)置課程編號(hào)自動(dòng)增加1(通過建表的時(shí)候?qū)傩粤性O(shè)置“標(biāo)識(shí)”,并設(shè)置“標(biāo)識(shí)遞增量”為1)。表中開課教師Id為外鍵,所有“TId”的值必須是Teacher表中的“TId”值。設(shè)置外鍵關(guān)系可以通過在建立表的窗口中單擊右鍵,在右鍵菜單中選擇“關(guān)系”,在彈出的對(duì)話框中設(shè)置外鍵關(guān)系。其詳細(xì)信息請(qǐng)看下表:</p>&
87、lt;p> 表3 Course表</p><p> (4)SC表。SC表用于存儲(chǔ)學(xué)生的選課信息,在SC表中學(xué)號(hào)和課程編號(hào)是主鍵,同時(shí)也是外鍵。其詳細(xì)信息請(qǐng)看下表:</p><p><b> 表4 SC表</b></p><p> (5)CourseTime表。CourseTime表用來存放課程的上課時(shí)間和上課地點(diǎn)信息,其中課程
88、編號(hào)和教室編號(hào)為外鍵。其詳細(xì)信息請(qǐng)看下表:</p><p> 表5 CourseTime表</p><p> (6)Room表。Room表用來存放教室信息,在Room表中,教室編號(hào)為主鍵,自動(dòng)增加1,教學(xué)編號(hào)為外鍵。其詳細(xì)信息請(qǐng)看下表:</p><p><b> 表6 Room表</b></p><p> (7
89、)Admin表。Admin表用來存放系統(tǒng)管理員信息,其詳細(xì)信息請(qǐng)看下表:</p><p> 表7 Admin表</p><p><b> 5 詳細(xì)設(shè)計(jì)</b></p><p> 5.1 數(shù)據(jù)庫(kù)的連接和系統(tǒng)基本設(shè)置</p><p> 在本系統(tǒng)中通過對(duì)SQL Server 2000數(shù)據(jù)庫(kù)進(jìn)行相關(guān)操作,其中用來連
90、接數(shù)據(jù)庫(kù)和系統(tǒng)基本設(shè)置的公用代碼保存在inc/conn.asp文件中,相關(guān)代碼如下:</p><p><b> <%</b></p><p> On Error Resume Next</p><p> set conn = Server.CreateObject("ADODB.Connection")</
91、p><p> '以下修改數(shù)據(jù)庫(kù)路徑</p><p> datapath = "database/jzg.mdb"</p><p> DBpath = Server.MapPath(datapath)</p><p> '以下為數(shù)據(jù)庫(kù)連接代碼</p><p> Connstr =
92、 "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DBPath</p><p> conn.Open Connstr</p><p> '以下為系統(tǒng)基本設(shè)置</p><p> set rs=conn.execute("select * from jzg_conf
93、ig")'讀取config表內(nèi)的數(shù)據(jù)</p><p> jzgname=rs(0) '首字段</p><p> jzgurl=rs(1) '第二字段</p><p> webemail=rs(2) '第三字段 </p><p><b> bar=rs(3)</b><
94、/p><p> adminname=rs(4)</p><p> DataSet ds1 = Db.ExecuteSelectSql(sql);</p><p> if ( ds1 != null && ds1.Tables.Count > 0 && ds1.Tables[0].Rows.Count > 0</p&
95、gt;<p> SqlNowString="Now()"</p><p> SqlChar="'"</p><p> remoteaddr=Request.ServerVariables("REMOTE_ADDR")</p><p><b> %></b&
96、gt;</p><p><b> 5.2用戶登陸</b></p><p> 圖5.1 用戶登陸界面</p><p> 在用戶名和密碼處輸入用戶名和密碼,在“用戶類型”下拉列表框中選擇“學(xué)生”,單擊“登錄”按鈕,登錄選課系統(tǒng)。</p><p><b> 主要代碼如下:</b></p>
97、;<p> private void btnLogin_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> int type = Int32.Parse(ddlType.SelectedItem.Value);</p><p> stri
98、ng user = txtUser.Text.Trim();</p><p> string inputkey = txtKey.Text.Trim();</p><p> string key = "";</p><p> string sql = "";</p><p> DataSet d
99、s;</p><p> switch( type )</p><p><b> {</b></p><p> case 1://學(xué)生</p><p> //驗(yàn)證學(xué)生身份代碼 </p><p><b> break;</b>&
100、lt;/p><p> case 2://教師</p><p> //驗(yàn)證教師身份代碼</p><p><b> break;</b></p><p> case 3://系統(tǒng)管理員</p><p> //驗(yàn)證管理員身份代碼</p><p><b>
101、; break;</b></p><p><b> default;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p
102、> 查看必修課程列表頁(yè)面,如圖5.2:</p><p> 圖5.2 必修課程表頁(yè)面</p><p> 登錄成功后,進(jìn)入學(xué)生主頁(yè),點(diǎn)擊“必修課程”鏈接,得到所有必修課程的列表,在列表中可以看到所有必修課程及課程的簡(jiǎn)單信息,如授課教師姓名、課程所占學(xué)分等。</p><p> 在列表中可以點(diǎn)課程名稱,如“計(jì)算機(jī)應(yīng)用基礎(chǔ)”鏈接,查看課程詳細(xì)信息;點(diǎn)教師姓名,如
103、“李萍”鏈接,查看教師的詳細(xì)信息;點(diǎn)擊“查看上課時(shí)間地點(diǎn)”鏈接,查看對(duì)應(yīng)課程的上課時(shí)間和地點(diǎn)。</p><p> 在頁(yè)面加載的時(shí)候從數(shù)據(jù)庫(kù)讀取所有必修課信息,代碼如下:</p><p> string sql = "select Course.*,TName from Course,Teacher where CType like '必修' and Cours
104、e.TId like Teacher.TId";//查詢處所有必修課程信息</p><p> DataSet ds = Db.ExecuteSelectSql(sql);</p><p> if ( ds != null && ds.Tables.Count > 0 )</p><p><b> {</b>
105、</p><p> dgCourse.DataSource = ds.Tables[0];</p><p> dgCourse.DataBind();//將查詢結(jié)果綁定到DataGrid中</p><p><b> }</b></p><p> 查看選修課程列表頁(yè)面,如圖5.3:</p><p
106、> 圖5.3選修課程列表頁(yè)面</p><p> 單擊“選修課程”鏈接,查看所有選修課程列表,在列表中給出了比必修課程更多的信息,比如多了對(duì)應(yīng)選修課程的前導(dǎo)課程、最大人數(shù)、當(dāng)前已選人數(shù)等,對(duì)每個(gè)選修課程均有一個(gè)“選修該課程”的按鈕,單擊此按鈕方可選擇對(duì)應(yīng)課程。</p><p> 主要代碼如下: </p><p> string sql = &quo
107、t;select x.*,TName,(select CName from Course as y where y.CId = x.CPreCId) as CPreCName from Course as x,Teacher where x.CType like '選修' and x.TId like Teacher.TId";</p><p> //查詢?cè)搶W(xué)生已選修的課程</p
108、><p> DataSet ds = Db.ExecuteSelectSql(sql);</p><p> if ( ds != null && ds.Tables.Count > 0 )</p><p><b> {</b></p><p> dgCourse.DataSource = ds.
109、Tables[0];</p><p> dgCourse.DataBind();</p><p> for ( int i = 0; i < ds.Tables[0].Rows.Count; i++ )</p><p><b> {</b></p><p> sql = "select count
110、(*) from SC where CId = "+ds.Tables[0].Rows[i]["CId"].ToString();</p><p> DataSet ds1 = Db.ExecuteSelectSql(sql);</p><p> if ( ds1 != null && ds1.Tables.Count > 0 &am
111、p;& ds1.Tables[0].Rows.Count > 0 )</p><p> dgCourse.Items[i].Cells[6].Text = ds1.Tables[0].Rows[0][0].ToString();</p><p><b> }</b></p><p><b> }</b>
112、</p><p> bool locked= bool.Parse(Session["Locked"].ToString());</p><p> if ( ! locked )</p><p><b> {</b></p><p> lbLock.Text = "您尚未鎖定選課信息
113、!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> lbLock.Text = "選課信息已被鎖定!";</p><p>
114、 dgCourse.Columns[9].Visible = false;</p><p><b> }</b></p><p> 查看已選課程頁(yè)面,如圖5.4:</p><p> 圖5.4 已選課程頁(yè)面</p><p> 在上一步查看選修課程的列表中,選擇“計(jì)算機(jī)密碼學(xué)”、“計(jì)算機(jī)圖形學(xué)”、“線性代數(shù)”三門課
115、程后,點(diǎn)擊“已選課程”鏈接查看已經(jīng)選擇的課程列表,在列表中除了可以看到與上一步中相同的信息外,還可以查看到課程成績(jī)。剛才選擇的三門課程的成績(jī)均為0,當(dāng)課程結(jié)束后,教師登錄本系統(tǒng)給所有學(xué)生評(píng)分,學(xué)生再次瀏覽此頁(yè)面可查看到課程的成績(jī),若成績(jī)合格,學(xué)生可獲得對(duì)應(yīng)課程的學(xué)分。</p><p><b> 鎖定課程代碼如下:</b></p><p> string sql =
116、 "select count(*) from SC where SId like '"+Session["Id"].ToString()+"'";</p><p> DataSet ds = Db.ExecuteSelectSql(sql);</p><p> int nCourse=0;</p>
117、<p> if ( ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 )</p><p><b> {</b></p><p> nCourse = Int32.Parse(ds.Tables[0].Rows[0][0].ToS
118、tring());</p><p><b> }</b></p><p> if ( nCourse < 2 )</p><p><b> {</b></p><p> Response.Write(MyUtility.Alert("您必須選擇至少兩門選修課程!")
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)----網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)+網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----網(wǎng)上選課系統(tǒng)設(shè)計(jì)
- 基于bs的網(wǎng)上選課系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
- 網(wǎng)上選課系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)設(shè)計(jì)3
- 基于web的網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于bs的學(xué)生網(wǎng)上選課系統(tǒng)
- 畢業(yè)論文——網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 學(xué)生網(wǎng)上選課系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于jsp技術(shù)的網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 選課畢業(yè)論文---學(xué)生網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于B-S結(jié)構(gòu)的公選課網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)---基于bs模式選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上選課系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)論文
- 高校公選課網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于UML的網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論