基于bs結構的網上選課系統的設計與實現畢業(yè)設計_第1頁
已閱讀1頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  單位代碼 01 </p><p>  學  號 080301113 </p><p>  分 類 號 TP393 </p><p>  密 級 </p><p><b>  畢業(yè)設計說明書</b></p><

2、p>  基于B/S結構的網上選課系統的設計與實現</p><p>  2010年5 月14日</p><p> 院(系)名稱信息工程學院</p><p> 專業(yè)名稱計算機科學與技術</p><p> 學生姓名</p><p> 指導教師</p><p>  基于B/S結構的網上選課系統的設

3、計與實現</p><p><b>  摘 要</b></p><p>  本論文詳細介紹了網上選課系統實例的開發(fā)與應用,是一個數據庫應用系統完整的制作過程。主要內容有:系統開發(fā)背景、系統概述、需求分析、系統設計、功能、感受與體會等。其中需求分析中主要對系統的數據流程圖進行了詳細描繪,系統設計中主要描繪出了網上選課系統的模塊設計圖和該系統數據庫的設計。功能與操作中

4、介紹了對該網上選課系統實例的基本功能。</p><p>  本文通過分析瀏覽器/服務器結構的特點并結合選課的實際情況,提出了基于瀏覽器/服務器結構網上選課系統的基本設計思想,介紹了系統各功能模塊及數據庫的設計,并給出了部分實現代碼。通過該系統,使學生可以方便地在校園網上進行網上選課。該B/S結構的系統在Windows XP系統和VS.NET平臺下開發(fā)完成,使用C#作為ASP.NET的開發(fā)語言,SQL Server

5、 2000作為數據庫。系統有較高的安全性和較好的性能。其中連接數據庫的字符串可以隨時在web.config里修改,并經過編碼加密,增加了靈活性,保護了數據庫的安全。</p><p>  經過測試以及在實際使用證明,本文所設計的教職工檔案管理系統可以滿足學校人事、管理方面的需要。在滿足需求的同時,也體現出了操作簡便、友好實用、安全可靠等特點。 </p><p>  關鍵詞:網上選課,ASP.

6、NET,數據庫管理系統</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ā)工具和技術簡介3</p><p>  2.1 基于B/S的體系結構3<

13、;/p><p>  2.2 Dreamweaver開發(fā)工具簡介3</p><p>  2.3 ASP概述5</p><p><b>  2.4 小結6</b></p><p><b>  3 需求分析7</b></p><p>  3.1 系統功能概述7<

14、;/p><p>  3.2 本章小結9</p><p>  4 系統結構設計10</p><p>  4.1 系統的結構設計10</p><p>  4.2 數據庫原理11</p><p>  4.3數據庫系統分析15</p><p>  4.4數據庫物理實現17</p>

15、;<p>  5 詳細設計20</p><p>  5.1 數據庫的連接和系統基本設置20</p><p>  5.2用戶登陸21</p><p>  5.3 系統管理說明27</p><p>  5.4教師管理說明31</p><p>  6 系統的運行與測試36</p>

16、<p>  6.1 軟件測試36</p><p>  6.2 軟件測試的目的36</p><p>  6.3 測試的內容37</p><p>  6.4 測試用例37</p><p>  6.5 測試結論39</p><p>  7 系統的使用說明與安裝40</p>&l

17、t;p>  7.1 安裝設置40</p><p><b>  結 論42</b></p><p><b>  致 謝43</b></p><p><b>  參考文獻44</b></p><p><b>  1 緒 論</b><

18、;/p><p>  1.1 選題的背景和意義</p><p>  學生選課系統是一個學校不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生選課系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。<

19、;/p><p>  隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。</p><p>  作為計算機應用的一部分,使用計算機對選課信息進行管理,有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學化、正規(guī)化管理

20、,與世界接軌的重要條件。</p><p>  因此,開發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套學生選課系統為例,談談其開發(fā)過程和所涉及到的問題及解決方法。</p><p>  本文中所做的主要工作如下:</p><p>  (1)闡述整個個性化頁面生成系統的系統結構及工作原理;分析了系統實現中的特殊性、難點和重點。</p>&l

21、t;p>  (2)設計實現用戶管理、課程管理、選課信息錄入管理、新生信息錄入管理、課程的瀏覽和查找、學生查找等ASP.NET頁面。</p><p>  (3)分析并解決實現中的若干技術問題。 </p><p>  (4)建立完整的網上選課,進行測試并分析結果。</p><p>  1.2 課題的可行性分析</p><p>  (1)技術

22、可行性-----本系統僅需要一臺裝有Office軟件的計算機即可,對機器本身沒有太高的要求,一般當前學校或個人電腦完全可滿足要求。對于軟件技術要求,現在的程序設計語言已非常成熟,要運用HTML樣式,圖形圖象制作工具來制作生動活潑的網頁及美觀的圖形文件或動畫文件,數據庫使用SQL Server 2000中提供的數據庫桌面工具ODBC。</p><p>  (2)經濟可行性-----由于本系統是為學生選課管理使用的系

23、統,裝上該應用軟件,即可使用系統,系統成本主要集中在系統軟件的開發(fā)上,當系統投入運行后可以為學校節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統軟件的開發(fā)成本。在經濟上完全可行。</p><p>  (3)操作可行性-----界面設計時充分考慮管理人員的習慣,使得操作簡單;數據錄入迅速、規(guī)范、可靠;統計準確;制表靈活;適應力強;容易擴充。</p><p>  2 主要開發(fā)工具和技術簡介&l

24、t;/p><p>  2.1 基于B/S的體系結構</p><p>  在傳統的兩層C/S(Client/Server)模型中,客戶端承擔了過多的角色,而顯得臃腫,這種模型雖然部署比較容易,安全性較高,但是很難進行升級和改進,也不適合分布式環(huán)境中的應用。為了滿足檔案管理系統中管理員地域分散,以及不斷升級和改進系統以滿足用戶多樣性需求,本系統采用了B/S(Browse/Server)開發(fā)模式進

25、行開發(fā),采用ASP作為開發(fā)語言,用SQL Server 2000數據庫進行數據的設計和存儲。</p><p>  在B/S體系結構系統中,用戶通過瀏覽器向分布在網絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結構又被稱為瘦客戶端結構,客戶端的主要任務是進行頁面的顯示,服務器將擔負更多的工作,對數據庫的訪問和應用程序的執(zhí)行將在服務器上完成。瀏覽器發(fā)出請求,而其余如數據請求

26、、加工、結果返回以及動態(tài)網頁生成等工作全部由Web Server完成。實際上B/S體系結構是把二層C/S結構的事務處理邏輯模塊從客戶機的任務中分離出來,由Web服務器單獨組成一層來負擔其任務,這樣客戶機的壓力減輕了,把負荷分配給了Web服務器[11]。這種三層體系結構如圖2.1所示:</p><p>  圖2.1 B/S三層架構示意圖</p><p>  由于客戶端和服務器的分離,可以讓

27、開發(fā)者把主要的精力放到業(yè)務邏輯的處理中去。另外,這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其它層的功能[9]。</p><p>  2.2 Dreamweaver開發(fā)工具簡介</p><p>  Dreamweaver是美國MACROMEDIA公司開發(fā)的集網頁制作和管理網站于一身的所見即所得網頁編輯器,它是第一套針對專業(yè)網頁設計師特別發(fā)展的視覺化網頁開發(fā)工具,利用它可以輕而

28、易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網頁。</p><p>  DREAMWEAVER、FLASH以及在DREAMWEAVER之后推出的針對專業(yè)網頁圖像設計的FIREWORKS,三者被MACROMEDIA公司稱為DREAMTEAM(夢之隊),足見市場的反響和MACROMEDIA公司對它們的自信。說到DREAMWEAVER我們應該了解一下網頁編輯器的發(fā)展過程,隨著互聯網(Internet) 的家喻戶

29、曉,HTML技術的不斷發(fā)展和完善,隨之而產生了眾多網頁編輯器,從網頁編輯器基本性質可以分為所見即所得網頁編輯器和非所見即所得網頁編輯器(則原始代碼編輯器),兩者各有千秋。所見則所得網頁編輯器的優(yōu)點就是直觀性,使用方便,容易上手,您在所見即所得網頁編輯器進行網頁制作和在WORD中進行文本編輯不會感到有什么區(qū)別。</p><p>  1.Dreamweaver的優(yōu)點</p><p>  (1)

30、最佳的制作效率</p><p>  Dreamweaver可以用最快速的方式將Fireworks,FreeHand或Photoshop等檔案移至網頁上。使用檢色吸管工具選擇熒幕上的顏色可設定最接近的網頁安全色。對于選單,快捷鍵與格式控制,都只要一個簡單步驟便可完成。Dremweaver能與您喜愛的設計工具,如Playback Flash,Shockwave和外掛模組等搭配,不需離開Dremweaver便可完成,整

31、體運用流程自然順暢。除此之外,只要單擊便可使Dreamweaver自動開啟Firework或Photoshop來進行編輯與設定圖檔的最佳化。 </p><p><b>  (2)網站管理 </b></p><p>  使用網站地圖可以快速制作網站雛形、設計、更新和重組網頁。改變網頁位置或檔案名稱,Dreamweaver 會自動更新所有連結。使用鏈接文字、HTML碼、H

32、TML屬性標簽和一般語法的搜尋及置換功能使得復雜的網站更新變得迅速又簡單。 </p><p>  (3)無可比擬的控制能力 </p><p>  Dreamweaver是唯一提供Roundtrip HTML、視覺化編輯與原始碼編輯同步的設計工具。它包含HomeSite和BBEdit等主流文字編輯器。幀(frames)和表格的制作速度快的令您無法想像。進階表格編輯功能使您簡單的選擇單格、行、

33、欄或作未連續(xù)之選取。甚至可以排序或格式化表格群組,Dreamweaver 支持精準定位,利用可輕易轉換成表格的圖層以拖拉置放的方式進行版面配置。所見即所得 Dreamweaver成功整合動態(tài)式出版視覺編輯及電子商務功能,提供超強的支援能力給Third-party廠商,包含ASP,Apache,BroadVision,Cold Fusion,iCAT,Tango與自行發(fā)展的應用軟體。當您正使用Dreamweaver在設計動態(tài)網頁時,所見即

34、所得的功能,讓您不需要透過瀏覽器就能預覽網頁。夢幻樣版和XML Dreamweaver將內容與設計分開,應用于快速網頁更新和團隊合作網頁編輯。建立網頁外觀的樣版,指定可編輯或不可編輯的部份,內容提供者可直接編輯以樣式為主的內容卻不會不小心改變既定之樣式。您也可以使用樣版正確地輸入或輸出XML內容。 全方位的呈現利</p><p>  2.Dreamweaver的不足</p><p>  (

35、1)難以精確達到與瀏覽器完全一致的顯示效果。也就是說您在所見即所得網頁編輯器中制作的網頁放到瀏覽器中是很難完全達到您真正想要的效果,這一點在結構復雜一些的網頁(如分幀結構、動態(tài)網頁結構)中便可以體現出來; </p><p>  (2)頁面原始代碼的難以控制性,比如您在所見即所得編輯器中制作一張表格也要幾分鐘,但您要它完全符合您要求可能需要幾十分鐘,甚至更多時間。而相比之下,非所見則所得的網頁編輯器,就不存在這個問

36、題。</p><p>  2.3 ASP概述</p><p>  ASP是Active Server Page的縮寫,意為“動態(tài)服務器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應用,它可以與數據庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp,現在常用于各種動態(tài)網站中。 ASP是一種服務器端腳本編寫環(huán)境,可以用來創(chuàng)建和運行動態(tài)網頁或Web應用

37、程序。ASP網頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。利用ASP可以向網頁中添加交互式內容(如在線表單),也可以創(chuàng)建使用HTML網頁作為用戶界面的web應用程序。 與HTML相比,ASP網頁具有以下特點:</p><p>  (1)利用ASP可以實現突破靜態(tài)網頁的一些功能限制,實現動態(tài)網頁技術;</p><p>  (2)ASP文件是包含在HTML代碼所組成的文件中的,

38、易于修改和測試;</p><p>  (3)服務器上的ASP解釋程序會在服務器端執(zhí)行ASP程序,并將結果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產生的網頁;</p><p>  (4)ASP提供了一些內置對象,使用這些對象可以使服務器端腳本功能更強。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進行處理,然后向web瀏覽

39、器發(fā)送信息;</p><p>  (5)ASP可以使用服務器端ActiveX組件來執(zhí)行各種各樣的任務,例如存取數據庫、發(fā)現或訪問文件系統等;</p><p>  (6)由于服務器是將ASP程序執(zhí)行的結果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。</p><p><b>  2.4 小結<

40、;/b></p><p>  本章主要介紹了本課題系統開發(fā)中所需用到的關鍵技術。利用上述工具與技術可以開發(fā)出一款網上選課系統。這幾種技術的綜合使用也能使系統在性能方面有較大的優(yōu)越性。</p><p><b>  3 需求分析</b></p><p>  3.1 系統功能概述</p><p>  本系統是一個因特

41、網上開放式的網上選課系統,只要具有相應權限,管理員可以隨時隨地的進行選課操作,方便高效快捷。管理員可以進行錄入個人信息,修改信息,刪除信息,查詢信息等基本信息操作,具有強大的統計功能,支持準確的數據查詢功能。超級管理員具有對賬號的修改,添加,刪除操作權限。</p><p>  在本系統中,有三類用戶:系統管理員、教師和學生。三種不同的用戶所具有的操作權限以及操作內容均不一樣。</p><p&g

42、t;  本選課系統給予教師很大的自主權,系統管理員只負責向系統中添加學生和教師的個人信息以及教學樓教室信息。系統管理員不參與開設課程、選擇課程等,一切均由教師、學生等錄網站自行完成。系統管理員設置一個選課時間段,在到達時間段以前,教師可以開設課程;到達時間段以后,學生可以登陸網站選擇課程。</p><p>  教師用戶登陸網站后可以開設課程,為自己的課程編輯上課時間和地點,當系統中出現時間地點沖突的時候,系統向教

43、師用戶報告并推薦一個時間地點。每門課程可以是必修或則選修,教師為每門課程設置一個學分,并可以在課程結束后給予分數,如果學生及格,學生將獲得該課程的學分。</p><p>  對于學生用戶,每個學生除了必須選擇必修課程外,至少還要選擇兩門選修課程,學生可以對自己選課信息鎖定,以免不小心被修改。當時候超過選課時段后,系統自動鎖定學生的選課課程。系統可以根據學生的選課信息,生成一份學生自己的課表。課程結束后學生可登錄網

44、站查詢成績與學分。</p><p>  根據上面的要求,從操作功能上可以分為兩個類:一個是通用操作,主要實現用戶的登錄注銷和修改密碼等;另一種是為不同用戶定制不同操作。</p><p><b>  1.通用操作</b></p><p><b>  (1)登錄與注銷</b></p><p>  每個用

45、戶都可以用自己的帳號登錄系統。用戶操作完成后推出系統,注銷后可以重新登錄系統。</p><p><b>  (2)修改密碼</b></p><p>  每個用戶第一次登錄都用默認密碼(教師和學生與帳號一樣)。</p><p><b>  2.用戶所具有功能</b></p><p><b>

46、  (1)系統管理員</b></p><p>  設置選課時間段:系統管理員通過此項功能設置選課時段,只有在選課時間段里,學生才可以選擇課程,超過次時間段,學生選課信息被自動所定,不得修改。</p><p>  錄入學生與教師個人信息:通過此項功能可以實現對教師和學生的個人信息添加刪除。</p><p>  錄入教學樓教室信息:通過此項功能可以把學校里所

47、有的教學樓教室的信息錄入到系統中,以便教師在開設課程時候設置上課的教室。</p><p><b>  (2)教師用戶</b></p><p>  顯示和修改個人信息:教師用戶登錄系統后,可以查看和修改教師的個人信息,如姓名,電話,E-mail地址等。</p><p>  開設課程:教師用戶登錄系統后,可以開設課程,可以設置該課程為必修課程或則選

48、修課程,可以設置該課程的最大人數。教師還可以為該課程設置一個前導課程,若學生沒有學習或則選擇前導課程則不能選擇該課程。</p><p>  編輯課程上課時間:教師在開設了課程后,可以靈活地設置上課時間和地點。</p><p>  給學生分數:課程結束后,教師用戶登錄系統,可以為學過課程的學生給予相應的成績,若及格,給予學生學分。</p><p><b> 

49、 (3)學生用戶</b></p><p>  顯示和修改個人信息:學生登錄系統后,可以查看和修改學生的個人信息,如姓名,性別,電話等。</p><p>  查看必修課程:學生登錄后,可以查看所有的必修課程。查看該課程的信息,上課時間地點,開課教師信息等。</p><p>  選擇選修課程:學生登錄系統后,在所有選修課程中可以選擇至少兩門選修課程。同時可以

50、查看相關信息。</p><p>  鎖定選課信息:學生登錄系統,確定了所選課程后,可以鎖定自己的選課信息,以防被別人或則自己不小心修改。</p><p>  查看最終選課信息:學生登錄系統后,可列出已選擇的課程,若選課信息未被鎖定,則可以退選,若所選課程少于兩門,系統會提示選擇的課程少于兩門。</p><p>  課程結束后,學生登錄系統可查看自己學習課程的成績和已

51、獲的學分。</p><p><b>  3.2 本章小結</b></p><p>  本章是對系統功能的概要論述。在本章里,對系統管理員、教師和學生的操作做出了詳細的介紹。</p><p><b>  4 系統結構設計</b></p><p>  4.1 系統的結構設計</p>

52、<p>  在前面的系統的系統功能分析中,將系統劃分成10個模塊,如圖:</p><p>  圖4.1 系統結構圖</p><p>  用戶登錄身份驗證模塊是驗證用戶名和密碼,并根據不同的用戶類型,跳轉到相對應的頁面中。設置選課時間模塊提供給系統管理員修改選課時間段。開設課程模塊提供給教師用戶,用來開設一門必修課程或者選修課程。編輯課程時間地點模塊提供給教師用戶,編輯課程的上課時

53、間地點友好的界面和操作。評分模塊用于教師用戶給選修該教師開設的課程的學生評分。查看課程模塊包括查看必修課程、查看選修課程、查看已選課程、查看課程成績單。選課和鎖定模塊中實現選擇選修課程和鎖定選課信息的功能。</p><p><b>  4.2 數據庫原理</b></p><p><b>  1.數據庫概要</b></p><p

54、>  數據:實際上就是描述事物的符號記錄。 </p><p>  數據的特點:有一定的結構,有型與值之分,如整型、實型、字符型等。而數據的值給出了符合定型的值,如整型值15。 </p><p>  數據庫:是數據的集合,具有統一的結構形式并存放于統一的存儲介質內,是多種應用數據的集成,并可被各個應用程序共享。 </p><p>  數據庫存放數據是按數據所提供

55、的數據模式存放的,具有集成與共享的特點。 </p><p>  數據庫管理系統:一種系統軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務等,是數據庫的核心。 </p><p>  數據庫管理系統功能: </p><p>  (1)數據模式定義:即為數據庫構建其數據框架; </p><p>  (2)數據存取的物理構建:為

56、數據模式的物理存取與構建提供有效的存取方法與手段; </p><p>  (3)數據操縱:為用戶使用數據庫的數據提供方便,如查詢、插入、修改、刪除等以及簡單的算術運算及統計; </p><p>  (4)數據的完整性、安生性定義與檢查; </p><p>  (5)數據庫的并發(fā)控制與故障恢復; </p><p>  (6)數據的服務:如拷貝、

57、轉存、重組、性能監(jiān)測、分析等。 </p><p>  為完成以上六個功能,數據庫管理系統提供以下的數據語言: </p><p>  (1)數據定義語言:負責數據的模式定義與數據的物理存取構建; </p><p>  (2)數據操縱語言:負責數據的操縱,如查詢與增、刪、改等; </p><p>  (3)數據控制語言:負責數據完整性、安全性的定

58、義與檢查以及并發(fā)控制、故障恢復等。 </p><p>  數據語言按其使用方式具有兩種結構形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。 </p><p>  數據庫管理員:對數據庫進行規(guī)劃、設計、維護、監(jiān)視等的專業(yè)管理人員。 </p><p>  數據庫系統:由數據庫(數據)、數據庫管理系統(軟件)、數據庫管理員(人員)、硬件平

59、臺(硬件)、軟件平臺(軟件)五個部分構成的運行實體。 </p><p>  數據庫應用系統:由數據庫系統、應用軟件及應用界面三者組成。 </p><p>  文件系統階段:提供了簡單的數據共享與數據管理能力,但是它無法提供完整的、統一的、管理和數據共享的能力。 </p><p>  層次數據庫與網狀數據庫系統階段 :為統一與共享數據提供了有力支撐。 </p&g

60、t;<p>  關系數據庫系統階段 </p><p>  數據庫系統的基本特點:數據的集成性 、數據的高共享性與低冗余性 、數據獨立性(物理獨立性與邏輯獨立性)、數據統一管理與控制。數據庫是網站的核心,數據庫設計的合理與否對網站的建設有著至關重要的影響。 </p><p>  數據庫系統的三級模式: </p><p>  (1)概念模式:數據庫系統中全

61、局數據邏輯結構的描述,全體用戶公共數據視圖; </p><p>  (2)外模式:也稱子模式與用戶模式。是用戶的數據視圖,也就是用戶所見到的數據模式; </p><p>  (3)內模式:又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。 </p><p>  數據庫系統的兩級映射: </p><p>  (1)概念模式到內模式的映射;

62、 </p><p>  (2)外模式到概念模式的映射。 </p><p><b>  2.數據模型 </b></p><p>  數據模型的概念:是數據特征的抽象,從抽象層次上描述了系統的靜態(tài)特征、動態(tài)行為和約束條件,為數據庫系統的信息表與操作提供一個抽象的框架。描述了數據結構、數據操作及數據約束。 </p><p> 

63、 E-R模型的基本概念 </p><p>  (1)實體:現實世界中的事物; </p><p>  (2)屬性:事物的特性; </p><p>  (3)聯系:現實世界中事物間的關系。實體集的關系有一對一、一對多、多對多的聯系。 </p><p>  E-R模型三個基本概念之間的聯接關系:實體是概念世界中的基本單位,屬性有屬性域,每個實體可取

64、屬性域內的值。一個實體的所有屬性值叫元組。 </p><p>  E-R模型的圖示法:實體集表示法、屬性表法和聯系表示法。 </p><p>  層次模型的基本結構是樹形結構,具有以下特點: </p><p>  (1)每棵樹有且僅有一個無雙親結點,稱為根; </p><p>  (2)樹中除根外所有結點有且僅有一個雙親。 </p>

65、;<p>  從圖論上看,網狀模型是一個不加任何條件限制的無向圖。 </p><p>  關系模型采用二維表來表示,簡稱表,由表框架及表的元組組成。一個二維表就是一個關系。 </p><p>  在二維表中凡能唯一標識元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。 </p>&l

66、t;p>  關系中的數據約束: </p><p>  (1)實體完整性約束:約束關系的主鍵中屬性值不能為空值; </p><p>  (2)參照完全性約束:是關系之間的基本約束; </p><p>  (3)用戶定義的完整性約束:它反映了具體應用中數據的語義要求。 </p><p><b>  3.關系代數 </b>

67、;</p><p>  關系數據庫系統的特點之一是它建立在數據理論的基礎之上,有很多數據理論可以表示關系模型的數據操作,其中最為著名的是關系代數與關系演算。 </p><p>  關系模型的基本運算:插入、刪除、修改、查詢(包括投影、選擇、笛卡爾積運算) </p><p>  4.數據庫設計與管理 </p><p>  數據庫設計是數據應用的

68、核心。 </p><p>  數據庫設計的兩種方法: </p><p>  (1)面向數據:以信息需求為主,兼顧處理需求; </p><p>  (2)面向過程:以處理需求為主,兼顧信息需求。 </p><p>  數據庫的生命周期:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、編碼階段、測試階段、運行階段、進一步修改階段。 <

69、;/p><p>  需求分析常用結構析方法和面向對象的方法。結構化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統。用數據流圖表達數據和處理過程的關系。對數據庫設計來講,數據字典是進行詳細的數據收集和數據分析所獲得的主要結果。 </p><p>  數據字典是各類數據描述的集合,包括5個部分:數據項、數據結構、數據流(可以是數據項,也可以是數據結構)、數據存儲、處理過程。 </p&

70、gt;<p>  數據庫概念設計的目的是分析數據內在語義關系。設計的方法有兩種 </p><p>  (1)集中式模式設計法(適用于小型或并不復雜的單位或部門); </p><p>  (2)視圖集成設計法。 </p><p>  設計方法:E-R模型與視圖集成。 </p><p>  視圖設計一般有三種設計次序:自頂向下、由底

71、向上、由內向外。 </p><p>  視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。 </p><p>  關系視圖設計:關系視圖的設計又稱外模式設計。 </p><p>  關系視圖的主要作用: </p><p>  (1)提供數據邏輯獨立性; </p><p>  (2)能適應用戶對數據的不同需求;

72、</p><p>  (3)有一定數據保密功能。 </p><p>  數據庫的物理設計主要目標是對數據內部物理結構作調整并選擇合理的存取路徑,以提高數據庫訪問速度有效利用存儲空間。一般RDBMS中留給用戶參與物理設計的內容大致有索引設計、集成簇設計和分區(qū)設計。 </p><p>  數據庫管理的內容: </p><p>  (1)數據庫的建

73、立; </p><p>  (2)數據庫的調整; </p><p>  (3)數據庫的重組; </p><p>  (4)數據庫安全性與完整性控制; </p><p>  (5)數據庫的故障恢復; </p><p><b>  (6)數據庫監(jiān)控。</b></p><p> 

74、 數據庫是此類系統的核心,系統中所有的信息都存儲在數據庫中,在所有ASP.NET頁面中通過ADO.NET與數據庫連接,操作數據庫中的數據,從而實現所有需要的功能。數據庫軟件有很多,如Microsoft SQL Server 2000等。本系統中數據庫采用Microsoft SQL Server 2000作為數據庫工具。數據庫是網站的核心,數據庫設計的合理與否對網站的建設有著至關重要的影響。一個良好的數據庫開發(fā)過程一般是先系統分析,再邏輯

75、設計,然后物理實現。系統分析中分析數據庫用戶需求,并畫出E-R圖直觀地表示出數據庫系統的需求。邏輯設計中根據系統分析設計的一個關系模型。物理設計為邏輯設計中的數據模型選取一個最合理的應用環(huán)境的物理結構,通常選取一個常用數據庫軟件,用數據庫軟件創(chuàng)建與邏輯設計中數據模型對應的數據庫。</p><p>  4.3數據庫系統分析</p><p>  本系統的數據庫實體主要有“學生”、“教師”、“教

76、學樓”、“教室”、“課程”等。其中“教師”與“課程”存在“開設”聯系,并且一個教師可以開設N門課程,即“教師”與“課程”之間是一對多的關系。一個學生可以學習N門課程,一門課程可以有M個學生學習,即“學生”與“課程”之間是多對多的關系。同樣“課程”與“教室”之間也是多對多的關系。整個數據庫可以用一個E-R圖表示,如圖:</p><p>  圖4.2 實體之間關系的E-R圖</p><p> 

77、 E-R實體圖:管理員信息實體E-R圖;如圖4.3所示教師用戶實體E-R圖如圖4.4所示;學生用戶信息實體E-R圖如圖4.5所示;院系信息實體E-R圖如圖4.6所示。</p><p>  圖4.3 管理員信息實體E-R圖 如圖4.4 教師用戶實體E-R圖</p><p>  圖4.5 學生用戶信息實體E-R圖

78、 圖4.6 院系信息實體E-R圖</p><p>  專業(yè)信息實體E-R圖如圖4.7所示;課程信息實體E-R圖如圖4.8所示</p><p>  圖4.7 專業(yè)信息實體E-R圖 圖4.8 課程信息實體E-R圖</p><p>  數據庫邏輯設計就是將E—R圖轉換為關系模型的過程,即將所有實體和關系轉換成一系列的關系模式。轉換過程中常見

79、規(guī)則有:</p><p>  (1)一個實體型轉換為一個關系模式;</p><p>  (2)一個一對一的聯系可轉換成一個獨立的關系模式,也可與任意一端對應的關系模式合并;</p><p>  (3)一個一對多的聯系可以轉換成一個獨立的關系模式,也可與多的那一端對應的關系模式合并;</p><p>  (4)一個多對多的關系轉換成一個關系模式

80、。</p><p>  根據以上四條規(guī)則,下面將E—R圖轉換成關系模型。</p><p>  對于“教學樓”、“教室”和兩者之間的關系,就可以根據規(guī)則(3)轉換成兩個關系模式</p><p>  教學樓(教學樓ID,教學樓名稱)</p><p>  教室(教室ID,教學樓ID,教室名稱)</p><p>  對于“學生

81、”、“課程”和它們之間的“選修”關系就可以規(guī)則(4)轉換成三個關系模式。</p><p>  學生(學號,姓名,性別,年齡,登陸密碼,學分,地址,電話,電子郵件)</p><p>  課程(課程編碼,課程名稱,開課教師編號,學分,課程簡介,前導課程編號)</p><p>  選課(學號,課程編號,成績)</p><p>  依次類推,剩下的關

82、系轉換成下面三個關系模式:</p><p>  教師(教師編號,姓名,性別,年齡,電話,電子郵件,個人簡介)</p><p>  課程時間地點(課程編號,開始周次,結束周次,上課時間,上課教室ID)</p><p>  管理員(帳號,密碼)</p><p>  4.4數據庫物理實現</p><p>  經過數據庫系統分

83、析和邏輯設計后,數據庫的結構已經非常清晰,剩下的就是用一種數據庫軟件實現這樣的結構。物理設計為邏輯設計中的數據模型選取一個最合理的應用環(huán)境的物理結構,用數據庫軟件創(chuàng)建與邏輯設計中數據模型對應的數據庫。本系統中數據庫采Microsoft SQL Server 2000作為數據庫。首先我們在Microsoft SQL Server 2000的“企業(yè)管理器”創(chuàng)建一個數據庫,我們命名為“SC”,如圖4.9:</p><p&g

84、t;  圖4.9 數據庫界面</p><p>  選中SC數據庫,向數據庫中添加7個表:</p><p>  Student,Teacher,Course,SC,CourseTime,Building,Room和Admin,每個表與邏輯設計中一種的關系模式相對應。下面是每個數據表中的屬性,包括屬性列的名稱、數據類型、長度、是否可以為空和備注說明等內容。</p><p&g

85、t;  (1)Student表。Student表用來存儲學生的個人信息,使用學號作為主鍵,其詳細信息請看下表:</p><p>  表1 Student表</p><p>  (2)Teacher表。Teacher表用來存儲教師的個人信息,用學校分配給教師的教師編號作為主鍵,這樣可以避免重復,其詳細信息請看下表:</p><p>  表2 Teacher表</

86、p><p>  (3)Course表。Course表用來存儲課程信息,Course表以課程編號為主鍵,設置課程編號自動增加1(通過建表的時候對屬性列設置“標識”,并設置“標識遞增量”為1)。表中開課教師Id為外鍵,所有“TId”的值必須是Teacher表中的“TId”值。設置外鍵關系可以通過在建立表的窗口中單擊右鍵,在右鍵菜單中選擇“關系”,在彈出的對話框中設置外鍵關系。其詳細信息請看下表:</p>&

87、lt;p>  表3 Course表</p><p>  (4)SC表。SC表用于存儲學生的選課信息,在SC表中學號和課程編號是主鍵,同時也是外鍵。其詳細信息請看下表:</p><p><b>  表4 SC表</b></p><p>  (5)CourseTime表。CourseTime表用來存放課程的上課時間和上課地點信息,其中課程

88、編號和教室編號為外鍵。其詳細信息請看下表:</p><p>  表5 CourseTime表</p><p>  (6)Room表。Room表用來存放教室信息,在Room表中,教室編號為主鍵,自動增加1,教學編號為外鍵。其詳細信息請看下表:</p><p><b>  表6 Room表</b></p><p>  (7

89、)Admin表。Admin表用來存放系統管理員信息,其詳細信息請看下表:</p><p>  表7 Admin表</p><p><b>  5 詳細設計</b></p><p>  5.1 數據庫的連接和系統基本設置</p><p>  在本系統中通過對SQL Server 2000數據庫進行相關操作,其中用來連

90、接數據庫和系統基本設置的公用代碼保存在inc/conn.asp文件中,相關代碼如下:</p><p><b>  <%</b></p><p>  On Error Resume Next</p><p>  set conn = Server.CreateObject("ADODB.Connection")</

91、p><p>  '以下修改數據庫路徑</p><p>  datapath = "database/jzg.mdb"</p><p>  DBpath = Server.MapPath(datapath)</p><p>  '以下為數據庫連接代碼</p><p>  Connstr =

92、 "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DBPath</p><p>  conn.Open Connstr</p><p>  '以下為系統基本設置</p><p>  set rs=conn.execute("select * from jzg_conf

93、ig")'讀取config表內的數據</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>  在用戶名和密碼處輸入用戶名和密碼,在“用戶類型”下拉列表框中選擇“學生”,單擊“登錄”按鈕,登錄選課系統。</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://學生</p><p>  //驗證學生身份代碼 </p><p><b>  break;</b>&

100、lt;/p><p>  case 2://教師</p><p>  //驗證教師身份代碼</p><p><b>  break;</b></p><p>  case 3://系統管理員</p><p>  //驗證管理員身份代碼</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、>  查看必修課程列表頁面,如圖5.2:</p><p>  圖5.2 必修課程表頁面</p><p>  登錄成功后,進入學生主頁,點擊“必修課程”鏈接,得到所有必修課程的列表,在列表中可以看到所有必修課程及課程的簡單信息,如授課教師姓名、課程所占學分等。</p><p>  在列表中可以點課程名稱,如“計算機應用基礎”鏈接,查看課程詳細信息;點教師姓名,如

103、“李萍”鏈接,查看教師的詳細信息;點擊“查看上課時間地點”鏈接,查看對應課程的上課時間和地點。</p><p>  在頁面加載的時候從數據庫讀取所有必修課信息,代碼如下:</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();//將查詢結果綁定到DataGrid中</p><p><b>  }</b></p><p>  查看選修課程列表頁面,如圖5.3:</p><p

106、>  圖5.3選修課程列表頁面</p><p>  單擊“選修課程”鏈接,查看所有選修課程列表,在列表中給出了比必修課程更多的信息,比如多了對應選修課程的前導課程、最大人數、當前已選人數等,對每個選修課程均有一個“選修該課程”的按鈕,單擊此按鈕方可選擇對應課程。</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>  //查詢該學生已選修的課程</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>  查看已選課程頁面,如圖5.4:</p><p>  圖5.4 已選課程頁面</p><p>  在上一步查看選修課程的列表中,選擇“計算機密碼學”、“計算機圖形學”、“線性代數”三門課

115、程后,點擊“已選課程”鏈接查看已經選擇的課程列表,在列表中除了可以看到與上一步中相同的信息外,還可以查看到課程成績。剛才選擇的三門課程的成績均為0,當課程結束后,教師登錄本系統給所有學生評分,學生再次瀏覽此頁面可查看到課程的成績,若成績合格,學生可獲得對應課程的學分。</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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論