學生選課系統(tǒng)的設(shè)計與實現(xiàn)[共47頁]_第1頁
學生選課系統(tǒng)的設(shè)計與實現(xiàn)[共47頁]_第2頁
學生選課系統(tǒng)的設(shè)計與實現(xiàn)[共47頁]_第3頁
學生選課系統(tǒng)的設(shè)計與實現(xiàn)[共47頁]_第4頁
學生選課系統(tǒng)的設(shè)計與實現(xiàn)[共47頁]_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、I防防 災(zāi)災(zāi) 科科 技技 學學 院院畢畢 業(yè)業(yè) 設(shè)設(shè) 計計題題目目學生選課系統(tǒng)的設(shè)計與實現(xiàn)學生姓名學生姓名涂語楠學學號號0630132 系系 別別災(zāi)害信息工程系 專專 業(yè)業(yè)信息管理與信息系統(tǒng) 班班級級07302 開題時間開題時間 2011 年 1 月 1 日答辯時間答辯時間2011 年 06 月 11 日指導(dǎo)教師指導(dǎo)教師白靈職職 稱稱講師I學生選課系統(tǒng)的設(shè)計與實現(xiàn)學生選課系統(tǒng)的設(shè)計與實現(xiàn)作者:涂語楠指導(dǎo)老師:白靈摘要:摘要: 隨著我校大學生人數(shù)的不斷增加,使得教務(wù)管理系統(tǒng)的數(shù)據(jù)量也不斷上漲。為了減輕教務(wù)處的教務(wù)管理工作,以及方便學生選擇自己所喜歡的科目。學生選課系統(tǒng)針對這一環(huán)節(jié),實現(xiàn)教學資源實

2、體與學生兩個集合的協(xié)調(diào)統(tǒng)一,規(guī)避課程分配沖突,更加有效銜接教學管理系統(tǒng)的各子系統(tǒng)的關(guān)系。本系統(tǒng)是一個典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護,以及客戶端程序的開發(fā)兩個方面。本文通過分析客戶端/服務(wù)器結(jié)構(gòu)的特點并結(jié)合選課的實際情況,提出了基于客戶端/服務(wù)器結(jié)構(gòu)選課系統(tǒng)的基本設(shè)計思想,簡要介紹了系統(tǒng)需求分析和系統(tǒng)的功能設(shè)計、ACCESS數(shù)據(jù)庫設(shè)計、C#程序設(shè)計及系統(tǒng)實現(xiàn)過程。重點描述了如何利用C#以及ACCESS數(shù)據(jù)庫管理系統(tǒng)相結(jié)合的方法來開發(fā)基于客戶端的選課系統(tǒng)。并在試運行的基礎(chǔ)上對系統(tǒng)進一步完善提出了改進方案。通過該系統(tǒng),使學生可以方便地在局域網(wǎng)內(nèi)的計算機上安裝客戶端進行選課。

3、關(guān)鍵詞關(guān)鍵詞:學生選課,客戶端/服務(wù)器結(jié)構(gòu),C#,ACCESS數(shù)據(jù)庫管理系統(tǒng)IIThe Design and Implementation of Student Select Course SystemAuthor:TU Yu-nanInstructor:BAI LingAbstract: With the increasing number of college students, the amount of data continue to rise greatly in educational system. In order to reduce the work of office o

4、f Academic Affairs , and make each student to better select their own favorite subjects ,this paper designs a student select course system.Elective for students in this part of the system achieve a credit system management entity-based teaching resources and student correspondence. The system is a t

5、ypical information management system, which mainly includes the establishment and maintenance of back-end database, and the client development.This analyzes the C/S architecture combined with the characteristics of the actual situation of course selection which is proposed based on C/S architecture,

6、a brief description of the system functional requirements analysis ,and system design, database design, ASP.NET design and system implementation process. How to use ASP.NET and the database management system develop client-based enrollment system is the focuse. And on the basis of the trial operatio

7、n of the system,the proposed improvements are further improved. Students can easily install it on a computer within the LAN client courses.Key words: Student Select Coure System, C/S, C #, Access DBMS I目目 錄錄引言引言.11.概述概述.21.1 課題背景.21.2 課題目標.31.3 課題意義.32.需求分析需求分析.42.1 需求分析.42.2 系統(tǒng)分析.42.2.1 通用功能.52.2.2

8、 用戶具有的功能.52.3 系統(tǒng)結(jié)構(gòu).63.相關(guān)技術(shù)背景相關(guān)技術(shù)背景.83.1 VISUAL STUDIO 2008 TEAM SYSTEM開發(fā)工具.83.2 ACCESS數(shù)據(jù)庫.83.3 C#開發(fā)語言.103.4 MD5 加密算法.114.系統(tǒng)總體設(shè)計系統(tǒng)總體設(shè)計.124.1 功能模塊簡介.124.2 面向?qū)ο蠓治?135.系統(tǒng)詳細設(shè)計系統(tǒng)詳細設(shè)計.165.1 數(shù)據(jù)庫設(shè)計.165.2 數(shù)據(jù)庫邏輯設(shè)計.165.3 數(shù)據(jù)物理設(shè)計.176.系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn).196.1 客戶端登錄界面實現(xiàn).196.2 主界面的實現(xiàn)及權(quán)限管理.196.3 學生信息管理的實現(xiàn).206.4 課程管理的實現(xiàn).206.5 學

9、生選課信息管理的實現(xiàn).216.6 個人信息的實現(xiàn).226.7 系統(tǒng)用戶管理的實現(xiàn).236.8 系統(tǒng)幫助的實現(xiàn).24II6.9 找回密碼的實現(xiàn).24結(jié)論結(jié)論.26致謝致謝.27參考文獻參考文獻.28附錄附錄.30防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)1引言引言在信息發(fā)展全球化,網(wǎng)絡(luò)化的今天,校園局域網(wǎng)已成為每所高校所必備的信息基礎(chǔ)設(shè)施,各種管理信息系統(tǒng)憑借于校園局域網(wǎng)應(yīng)運而生。在各大高校的教務(wù)系統(tǒng)管理過程中,課程表的編排是一項非常復(fù)雜的工作。在排課的過程中,除了必須滿足大量的制約條件以外,還需要解決很多沖突與矛盾,例如:兩位老師不能同一個時間在同一間教室上課,一位教師不能在同一個時間上兩門課

10、等等。利用計算機的輔助進行課程表編排工作,不但可以提高排課工作的科學性,還大大減輕了管理人員工作的強度,提高工作效率,使得學校教務(wù)管理邁上了一個新的臺階?,F(xiàn)在,我國的高等教育事業(yè)正在蓬勃發(fā)展,高等學校的規(guī)模不斷的擴大,在此,高等學校的教學改革也在全面的推行,學分制在各大高校全面啟動。所謂學分制就是允許學生在計劃的指導(dǎo)下,根據(jù)自己的條件、能力、興趣,有選擇的支配自己的學習時間和內(nèi)容。因此,學生選課管理成為了推行實施學分制管理的重要任務(wù)。由于學生選課時的制約條件較多、較復(fù)雜,工作量也比較大,而且往往需要在很短的時間內(nèi)完成,因此運用計算機輔助選課,即能實時地檢驗和統(tǒng)計大量的選課數(shù)據(jù),又能十分方便地輸

11、出選課結(jié)果,同時也避免了在人工處理時產(chǎn)生的錯誤。學生選課系統(tǒng)是以數(shù)據(jù)庫作為后臺,數(shù)據(jù)庫從 60 年代初發(fā)展起來到今天,經(jīng)過了四十多來年的發(fā)展,數(shù)據(jù)庫技術(shù)己經(jīng)逐漸成熟。就數(shù)據(jù)庫應(yīng)用來說,呈現(xiàn)了多樣化的空間,例如數(shù)字圖書館、電子出版物、電子商務(wù)、遠程教育系統(tǒng)等,給數(shù)據(jù)庫技術(shù)的發(fā)展提出了更多、更高的要求。本文引言部分主要介紹了學生選課的背景,第一章概述,介紹學生選課系統(tǒng)的背景,做這個設(shè)計的目標以及意義;第二章介紹該選課系統(tǒng)的需求分析,系統(tǒng)分析和系統(tǒng)結(jié)構(gòu);第三章主要介紹了系統(tǒng)設(shè)計相關(guān)的背景,主要包括 Visual Studio 2008 Team System 開發(fā)工具、Access 數(shù)據(jù)庫、C#開發(fā)

12、語言;第四章系統(tǒng)總體設(shè)計的介紹,主要是各模塊功能的簡介,和面向?qū)ο蠓治?;第五章是?shù)據(jù)庫的詳細設(shè)計,具體介紹了數(shù)據(jù)庫的設(shè)計,物理設(shè)計和邏輯設(shè)計;第六章是系統(tǒng)各個功能的實現(xiàn),詳細介紹了各個模塊實現(xiàn)的功能;論文最后是結(jié)論、致謝及參考文獻。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)21.1.概述概述1.11.1 課題背景課題背景二十一世紀是科學技術(shù)競爭與民族素質(zhì)競爭的時代,其本質(zhì)就是人才與教育的競爭。教育的歷史讓我們知道,教育的每次重大改革和發(fā)展都與科學技術(shù)息息相關(guān),科學技術(shù)是第一生產(chǎn)力,也是發(fā)展教育的重要動力。隨著科學技術(shù)的不斷進步,計算機科學技術(shù)日漸成熟,計算機在各個領(lǐng)域所扮演的角色越來越重要。很

13、長時間以來,人們都在用人工的方式來管理文件檔案,這種管理方式存在著很多的缺點,例如:效率低,保密性差,除此之外時間一長,將有大量的文件和數(shù)據(jù)產(chǎn)生,這對于查詢、更新和維護都帶來了很大的困難。選課信息管理系統(tǒng)作為計算機應(yīng)用的一個部分,其優(yōu)點是手工管理所無法比擬的,例如:查詢方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點是學校的科學化、正規(guī)化管理的重要條件。選課管理系統(tǒng)屬于教學信息管理系統(tǒng)的一個部分。隨著高等教育的發(fā)展與社會需求,各大高校盡可能多地開設(shè)各類課程,使得學生的知識面得到拓展,塑造學生的個性,培養(yǎng)了學生的創(chuàng)造能力,使學生的綜合素質(zhì)有所提高。但是而傳統(tǒng)的手工選課方式非常的煩瑣

14、與復(fù)雜,由學校統(tǒng)一發(fā)布可選課程表,讓學生事先了解可選的課程和各班選課報名的時間,然后按規(guī)定的時間到指定的地方去報名。這種方式存在著明顯弊病。主要是:許多學生一起去報名,十分擁擠,很難組織;由于各班選課報名時間不同,排在后面的各班的學生常常選不到理想的課程。傳統(tǒng)的選課方式已經(jīng)不適應(yīng)現(xiàn)代教務(wù)教學的改革和發(fā)展,迫切需要一種新的選課方式。為使教學管理工作的科學化、規(guī)范化,就必須采用計算機輔助管理。計算機管理使選課更加高效準確,省去了大量的人力勞動,提高了教學管理的信息化水平。因此,學生選課是一項非常重要的工作,主要負責對整個學校學生的選課進行管理,除此之外,還需對學生信息及課程信息進行維護,對學生所選

15、課程的考試成績進行記錄,學生選課是實現(xiàn)高校學分制的一個重要環(huán)節(jié)。隨著學校硬件水平的提高、信息化進程的加快,教務(wù)工作急切希望能夠拋開原有繁瑣的管理方式,希望能夠根據(jù)學?,F(xiàn)狀的實際需求開發(fā)一套能夠系統(tǒng)化、科學、有效、易于掌握的管理軟件。現(xiàn)在學院已經(jīng)基本實現(xiàn)了網(wǎng)絡(luò)化管理,各部門已有了計算機,原來的計算機管理系統(tǒng)可以實現(xiàn)簡單的信息管理,現(xiàn)在需要一個學生選課管理平臺。為了切實解決課程管理中存在的諸多問題,提高教務(wù)管理的水平和質(zhì)量,使學院選課的管理更加規(guī)范,經(jīng)過幾個月的努力,我設(shè)計開發(fā)了防災(zāi)科技學院選課系統(tǒng)。此系統(tǒng)基本上實現(xiàn)了一些選課相關(guān)的功能。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)31.21.2 課

16、題目標課題目標該選課系統(tǒng)的主要目的是實現(xiàn)學生選擇課程的公平性和方便性,讓他們可以在學校內(nèi)任一安裝客戶端的機器上查詢課程,選擇課程,刪除課程;對于課程管理員,可以通過登陸客戶端添加、修改、查詢、刪除課程信息;對于學生管理員,可以通過登陸客戶端添加、修改、查詢、刪除學生信息;對于教學管理部門,能夠?qū)崿F(xiàn)學生信息的管理,對課程信息的管理,以及對這個系統(tǒng)的維護。1.31.3 課題意義課題意義選課系統(tǒng)是學校不可或缺的一個部分,它的內(nèi)容對于學校來說都是非常的重要,所以選課管理系統(tǒng)應(yīng)該能夠為學生用戶提供大量的課程信息,方便學生快速的查詢。隨著科學技術(shù)的不斷進步,計算機科學也在不斷地成熟,其強大的功能已經(jīng)被人們

17、所深刻的認識,它已經(jīng)深入到人類社會的各個領(lǐng)域并在這些領(lǐng)域里發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對選課信息進行管理,有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事勞資管理的效率,也是教學的科學化、正規(guī)化管理,與世界接軌的重要條件。開發(fā)此系統(tǒng)無論是從課題的研究上還是從技術(shù)方面考慮都是很有必要的。本課題的研究開發(fā)可以解決以往傳統(tǒng)效率低、工作繁瑣的人工管理選課方式,省去了大量的人力勞動,并且方便更有效的、更合理的完成教務(wù)人員對選課管理的效率。技術(shù)運用上也有利于加快學校信息化建設(shè)的步伐。實現(xiàn)教育的現(xiàn)

18、代化、科技化,從而提高教學管理的信息化水平。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)42.2.需求分析需求分析2.12.1 需求分析需求分析選課系統(tǒng)需求滿足來自三方面的需求,這三個方面分別是學生、管理員和超級用戶。學生的需求是查詢院系的課程、學生選課情況及學生信息的修改;管理員的功能比較復(fù)雜,其中包含三種:學生管理員、課程管理員和管理員;超級用戶主要是系統(tǒng)狀態(tài)的查看、維護。學生可以直接查看選課情況,學生可以根據(jù)自己的學號和密碼登錄學生選課系統(tǒng),還可以修改查詢個人相關(guān)的部分信息。一般情況下,學生只能查詢和修改自己所選課程的情況還有個人信息,若需要查詢和修改其他學生的選課以及成績查詢,就需要知道

19、其他學生的學號和密碼。這些是很難得到的,特別是密碼,所以不但滿足了學生的要求,還保護了學生的個人隱私。管理員分為學生管理員,課程管理員和管理員。學生管理員可根據(jù)學校學生的學號,增加學生用戶,給新的學生用戶建立新的用戶名和密碼,學生可以通過學生管理員提供的用戶名和密碼進行登錄操作,學生管理員還可以對沒有進行選課的學生進行刪除操作,數(shù)據(jù)安全性和保密性要求最高;課程管理員是對課程進行操作,課程的增加、刪除,根據(jù)學校的規(guī)定,安排選課的課時、學分、開課的時間都是由課程管理員執(zhí)行的;管理員除了能操作學生管理員和課程管理員所有的內(nèi)容,還能添加、刪除學生管理員和課程管理員。超級用戶擁有最高權(quán)限,是用來系統(tǒng)初步

20、實施的,在此系統(tǒng)中,超級用戶可以管理系統(tǒng)中的所有用戶,所有操作。本系統(tǒng)的主要功能是完成我校教務(wù)管理對學生選課的功能。實現(xiàn)學生在客戶端上進行獨自的選課,學生能根據(jù)自己的意愿來選擇自己感興趣的課程。在教務(wù)管理的同時,教務(wù)處能全面的管理本學校的學生信息,學生,老師,課程以及上課的時間等。達到學生和老師都有合理的安排。2.22.2 系統(tǒng)系統(tǒng)分析分析在本系統(tǒng)中,有五類用戶:超級用戶、管理員、學生管理員、課程管理員、學生用戶。五種不同的用戶所具有的功能。根據(jù)要求,從功能上可以分為兩個類:一個是通用功能,登錄、個人信息管理、切防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)5換用戶、找回密碼、系統(tǒng)幫助和退出是所有

21、用戶都具有的功能;另一種是為不同用戶定制不同功能。.1 通用功能通用功能1、登錄功能登錄功能是驗證登錄的用戶信息,不同的用戶在驗證登錄信息后,進入主界面會有不同的操作內(nèi)容。2、個人信息管理個人信息管理是用來查詢、修改用戶的信息。3、切換用戶切換用戶功能是用戶登錄主界面后,需要切換到其他的用戶時使用。4、找回密碼找回密碼是用戶忘記自己的登錄密碼,可以通過找回密碼設(shè)置的問題,找回自己的登錄密碼。5、系統(tǒng)幫助系統(tǒng)幫助是用戶在不了解系統(tǒng)的使用方法時,可以查看系統(tǒng)幫助。6、退出在用戶使用完學生選課系統(tǒng)后,不在進行其他的操作,選擇退出即可退出選課系統(tǒng)界面。.2 用戶具有的功

22、能用戶具有的功能1超級用戶主要用來系統(tǒng)的初步實施時使用,登錄后具有系統(tǒng)所有的功能:1)學生管理:可以添加、修改、查詢、刪除學生信息。2)課程管理:可以添加、修改、查詢、刪除課程信息。3)學生選課管理:可以為學生選課及查詢、刪除學生的選課信息。4)系統(tǒng)用戶管理:可以增加及刪除管理員、學生管理員、課程管理員用戶。2管理員用戶登錄后,可以進行學生管理、課程管理、系統(tǒng)用戶管理。1)學生管理:可以添加、修改、查詢、刪除學生信息。2)課程管理:可以添加、修改、查詢、刪除課程信息。3)系統(tǒng)用戶管理:可以增加及刪除學生管理員、課程管理員用戶。3 學生管理員用戶登錄后,可以進行學生管理。1)學生管理:可以添加、

23、修改、查詢、刪除學生信息。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)64課程管理員用戶登錄后,可以進行課程管理。1)課程管理:可以添加、修改、查詢、刪除課程信息。5學生用戶登錄后,可以進行選課管理。1) 選課管理:可以選擇各個學期開設(shè)的課程,查看自己所有已經(jīng)選上的課程,刪除已選課程。2.32.3 系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)本系統(tǒng)應(yīng)用 Visual Studio 2008 Team System 開發(fā)工具,使用 ACCESS 作為數(shù)據(jù)庫。系統(tǒng)采用的是基于客戶端的三層C/S(Client/Server,客戶端/服務(wù)器)結(jié)構(gòu),它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Clie

24、nt端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server 應(yīng)用都可以進行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問 到新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng)。 即界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)處理層。界面層是一個建立在windows平臺上應(yīng)用程序界面;數(shù)據(jù)處理層包含訪問后臺數(shù)據(jù)庫,提供后臺數(shù)據(jù)庫支持,同時包括與數(shù)據(jù)存儲的接口。第一層為界面層,客戶機為校園網(wǎng)上的任何一臺計算機,沒有特殊要求

25、,只需具有windows 平臺即可。學生通過客戶端查看相關(guān)的選課信息,并進行選課操作??蛻舳税褜W生的數(shù)據(jù)交給業(yè)務(wù)實體實例化,再將實例化的對象交給業(yè)務(wù)接口。第二層為業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層是封裝商業(yè)邏輯,提供校驗、邏輯實現(xiàn),處理業(yè)務(wù)邏輯,實現(xiàn)業(yè)務(wù)邏輯處理方法,處理邏輯后交給數(shù)據(jù)層(調(diào)用數(shù)據(jù)接口)處理數(shù)據(jù)。第三層為數(shù)據(jù)層,數(shù)據(jù)最終處理的地方,首先定義數(shù)據(jù)加工處理方法(調(diào)用數(shù)據(jù)工廠) ,處理數(shù)據(jù)加工方式,實現(xiàn)數(shù)據(jù)加工處理方法,加工后交給數(shù)據(jù)服務(wù)層提交數(shù)據(jù)庫,常用的 SqlHelper.cs 。選用這樣的結(jié)構(gòu)模型主要出于以下幾方面的考慮: 1. C/S 模式一般都建立在專用的網(wǎng)絡(luò)上,小范圍的網(wǎng)絡(luò)環(huán)境,局

26、域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù),一般面向相對固定的用戶群,對信息安全的控制能力很強,一般高度機密的信息系統(tǒng)采用 C/S 結(jié)構(gòu)較為適宜,而僅通過 C/S 發(fā)布部分可公開信息,程序更加注重流程,可以對權(quán)限多層次校驗,對系統(tǒng)運行速度可以較少考慮。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)72應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕,最簡單的 C/S 體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序,二者可分別稱為前臺程序與后臺程序。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求。當需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求;服務(wù)器程

27、序根據(jù)預(yù)定的規(guī)則做出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運行數(shù)據(jù)負荷較輕。 3 數(shù)據(jù)的儲存管理功能比較透明 ,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨立進行的。對于工作在前臺程序上的最終用戶是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序并不是非?!笆菪 ?,并沒有將麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S 體系下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)83.3.相關(guān)技術(shù)背景相關(guān)技術(shù)背景3.13.1 VisualVisual StudioStudio 2008

28、2008 TeamTeam SystemSystem 開發(fā)工具開發(fā)工具微軟公司推出 Visual Studio 開發(fā)環(huán)境可以用來創(chuàng)建 Windows 操作平臺下的 Windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,同時網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office 插件也可以用 Visual Studio 來創(chuàng)建。目前,windows 操作平臺應(yīng)用程序開發(fā)環(huán)境 要數(shù)Visual Studio 最流行。Microsoft Visual Studio 2008 是為 Windows Vista、Office 2007、Web 2.0 或更高發(fā)展的下一代開發(fā)工具,代號“Orcas” 。 VS2008 中推出超過

29、250 種新功能,融合了對象、關(guān)系型數(shù)據(jù)、XML 的訪問方式,更加簡潔了語言。使用 Visual Studio 2008 可以高效開發(fā) Windows 應(yīng)用。設(shè)計器中的變更可以實時的反映出來,XAML 中智能感知功能使得開發(fā)效率得以提高。同時 Visual Studio 2008 支持項目模板、調(diào)試器和部署程序。Visual Studio 2008 可以高效開發(fā) Web 應(yīng)用,集成了 AJAX 1.0,包含 AJAX 項目模板,它還可以高效開發(fā) Office 應(yīng)用和 Mobile 應(yīng)用。Visual Studio 2008 提供了高級的開發(fā)工具、調(diào)試功能、數(shù)據(jù)庫功能和創(chuàng)新功能,有助于在各種平臺

30、上 迅速的建立一個 當前最先進的應(yīng)用程序。 Visual Studio 2008 包含了各種增強功能,例如可視化設(shè)計器(使用 .NET Framework 3.5 加速開發(fā))、 大幅改善 Web 開發(fā)工具,以及 能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強功能。 Visual Studio 2008 提供了所有相關(guān)的工具和框架支持為開發(fā)人員使用,引人注目的、令人印象深刻 的幫助創(chuàng)建,并且支持 AJAX 的 Web 應(yīng)用程序。利用這些大量的客戶端和服務(wù)器端框架 的優(yōu)勢,開發(fā)人員能夠 輕松的構(gòu)建以客戶為中心的 Web 應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當前瀏覽器內(nèi)運行并完全訪問

31、 ASP .NET 應(yīng)用程序服務(wù) 和 Microsoft 平臺。Visual Studio 2008 提供了幫助開發(fā)團隊改進協(xié)作的擴展的和 改善的服務(wù)項目,包括幫助將數(shù)據(jù)庫專業(yè)人員和圖形設(shè)計人員加入到開發(fā)流程的工具。3.23.2 AccessAccess 數(shù)據(jù)庫數(shù)據(jù)庫Access 是微軟公司推出的基于 Windows 的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)( RDBMS,即Relational Database Management System),是 Office 系列應(yīng)用軟件之一。它提供了防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)9表、查詢、窗體、報表、頁、宏、模塊7 種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了

32、多種向?qū)?、生成器、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數(shù)據(jù)管理的任務(wù)。Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司 ),或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料 都能夠被 Access 所存取。熟練的軟件設(shè)計 者或者資料分析者利用 Access 來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的“進階用戶”同樣能使用 Access 來開發(fā)簡單的應(yīng)用軟件。 Access 不能成為一種完整的面向?qū)ο箝_發(fā)工具,因為它只支持部份面向?qū)ο螅?OO)技術(shù)

33、。Microsoft Access 在很多地方得到廣泛 的應(yīng)用,例如小型企業(yè),大公司的部門,或者開發(fā)人員利用它來制作處理數(shù)據(jù)的桌面系統(tǒng)。 簡單的 WEB 應(yīng)用程序也常用來 它來開發(fā)。這些應(yīng)用程序 主要使用 ASP 技術(shù)在 Internet Information Services 運行,較為復(fù)雜的 WEB 應(yīng)用程序則使用 PHP/MySQL 或者 ASP/Microsoft SQL Server。Access 為初級程序員 的使用方便程度和強大的設(shè)計工具 提供了很多功能。不過,這種易于使用可能使人 產(chǎn)生誤解。這樣的開發(fā)者基本上都是沒有在應(yīng)用或者數(shù)據(jù)設(shè)計方面經(jīng)過訓(xùn)練的辦公室 工作人員。因此 ,很

34、多人認為這樣的開發(fā) 人員能夠創(chuàng)建一個可用的系統(tǒng),但也有很多人認為工具本身的局限性產(chǎn)生了這樣的誤導(dǎo)。Access 用作快速應(yīng)用開發(fā) 被一些較為專業(yè)的應(yīng)用程序開發(fā) 者使用,尤其是給街道上的推銷員制作一個 早型或單獨應(yīng)用程序的工具。 但是,如果是通過網(wǎng)絡(luò)訪問數(shù)據(jù)的話,Access 的訪問可擴放性并不高 。因此當使用者 較多使用此程序時,他們往往選擇傾向于一些客戶端 -服務(wù)器為主的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者 Filemaker

35、。在任何情況下 ,數(shù)據(jù)庫的后期應(yīng)用 很多使用 Access 的功能(表單,報告,序列和 VB 代碼),例如 JET(檔案為主的數(shù)據(jù)庫引擎, Access 缺省使用)、Microsoft SQL Server、Oracle 和任何其他跟 ODBC 兼容的產(chǎn)品。對本開發(fā)系統(tǒng)選用 Access2000 作為后臺數(shù)據(jù)庫。數(shù)據(jù)庫在信息管理系統(tǒng)中有著相當重要的地位,作為信息管理系統(tǒng)的后臺,數(shù)據(jù)庫存儲著所有的信息,而數(shù)據(jù)庫的設(shè)計直接影響到整個系統(tǒng)運行的效率。良好的數(shù)據(jù)庫設(shè)計,可以有效提高數(shù)據(jù)信息的存儲,從而保證數(shù)據(jù)信息的完整性和一致性。美國 Microsoft 公司于 1994 年推出的 Access 管理

36、系統(tǒng)。它具有界面友好、 易于學習和使用 、開發(fā)較為簡單、接口靈活等 功能,是一個典型的新一代桌面數(shù)據(jù)庫防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)10管理系統(tǒng)。其主要特點如下: (1) 各種數(shù)據(jù)庫對象 得到了完善的管理,具有強大的數(shù)據(jù)組織、用戶管理、安全檢查等功能。 (2)數(shù)據(jù)處理能力極其強大,在網(wǎng)絡(luò)環(huán)境下的一個工作組級別,使用 Access 開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的XBASE(DBASE、FoxBASE 的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實現(xiàn)的客戶 端服務(wù)器(Cient/Server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機制, Access具備了許多先進的大型數(shù)據(jù)庫管理系統(tǒng)所具備的特征,如事務(wù)處理/出錯回

37、滾能力等。 (3)可以方便地生成各種數(shù)據(jù)對象,利用存儲的數(shù)據(jù)建立窗體和報表,可視性好。 (4)作為 Office 套件的一部分,可以與 Office 集成,實現(xiàn)無縫連接。 (5)能夠利用 Web 檢索和發(fā)布數(shù)據(jù),實現(xiàn)與 Internet 的連接。 Access 主要適用于中小型應(yīng)用系統(tǒng),或作為客戶機 /服務(wù)器系統(tǒng)中的客戶端數(shù)據(jù)庫。3.33.3 C#C#開發(fā)語言開發(fā)語言C#(C Sharp)是微軟(Microsoft)為.NET Framework 量身訂做的程序語言,C#擁有C/C+的強大功能以及 Visual Basic 簡易使用的特性,是第一個組件導(dǎo)向(Component-oriented

38、)的程序語言,和 C+與 Java 一樣亦為對象導(dǎo)向(object-oriented)程序語言微軟 c#語言的定義主要是從 C 和 C+繼承而來的,而且語言中的許多元素也反映了這一點。C#在設(shè)計者從 C+繼承的可選選項方面比 Java 要廣泛一些 (比如說structs),它還增加了自己新的特點 (比方說源代碼版本定義 )。但它還太不成熟, C#還需要進化成一種開發(fā)者能夠接受和采用的語言。 類是 C#從 JAVA 繼承而來的特點 ,在 C#中類的申明與 Java 很相似。這是因為Java 模型工作得很好。 C#的關(guān)鍵字 import 已經(jīng)被替換成 using,它起到了同樣的作用。一個類開始執(zhí)行

39、的起點是靜態(tài)Main()方法。C#從 C 和 C+繼承而來的兩個特點:一個是編譯,一個是結(jié)構(gòu)體。編譯,程序直接編譯成標準的二進制可執(zhí)行形式 。例如一個 Hello World 程序被保存成一個文本文件并被命名為 Hello.cs,它將被編譯成命名 Hello.exe 的可執(zhí)行程序 ; 結(jié)構(gòu)體,一個 C#的結(jié)構(gòu)體與 C+的結(jié)構(gòu)體是相似的 ,因為它能夠包含數(shù)據(jù)聲明和方法 。但是,不象 C+,C#結(jié)構(gòu)體與類是不同的而且不支持繼承 。但是。與 Java 相同的是,一個結(jié)構(gòu)體可以實現(xiàn)界面 。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)11C#最引人入勝的地方是它和 Java 的不同,而不是相似的地方 。C

40、#擁有比C,C+或者 Java 更廣泛的數(shù)據(jù)類型 。這些類型是bool,byte,ubyte,short,ushort,int,uint,long,ulong,float,double和 decimal。象 Java 一樣,所有這些類型都有一個固定的大小 。又象 C 和 C+一樣,每個數(shù)據(jù)類型都有有符號和無符號兩種類型 。與 Java 相同的是,一個字符變量包含的是一個 16 位的 Unicode 字符。C#新的數(shù)據(jù)類型是 decimal 數(shù)據(jù)類型,對于貨幣數(shù)據(jù),它能存放 28 位 10 進制數(shù)字。C#對 Windows 程序最大的優(yōu)點可能就是它與 COM 的無縫集成了 ,COM 就是微軟的W

41、in32 組件技術(shù)。實際上,最終有可能在任何 .NET 語言里編寫 COM 客戶和服務(wù)器端 。C#編寫的類可以子類化一個已存在的COM 組件;生成的類也能被作為一個 COM 組件使用,然后又能使用 ,比方說,JScript 語言子類化它從而得到第三個 COM 組件。這種現(xiàn)象的結(jié)果是導(dǎo)致了一個運行環(huán)境的產(chǎn)生 ,在這個環(huán)境里的組件是網(wǎng)絡(luò)服務(wù) ,可用任何.NET 語言子類化。3.43.4 MD5MD5 加密算法加密算法MD5 的全稱是 Message-Digest Algorithm 5(信息-摘要算法) ,它是由 MD2、MD3 和MD4 發(fā)展而來得一種單向加密算法,也就是哈希(HASH)算法,是

42、由國際著名的公鑰加密算法標準 RSA 的第一設(shè)計者 R.Rivest 于上世紀 90 年代初開發(fā)出來的。加密算法一般有兩種,即單向加密算法和雙向加密算法。雙向加密是加密算法中最常用的,它將可以直接理解的明文數(shù)據(jù)加密為不可直接理解的密文數(shù)據(jù),在需要的時候,又可以使用一定的算法將這些加密以后的密文數(shù)據(jù)解密為原來的明文數(shù)據(jù),雙向加密適合于隱秘通訊。雙向加密既可以加密,又可以解密。而單向加密則剛好相反,它只能對明文數(shù)據(jù)進行加密,而不能對加密了的密文數(shù)據(jù)再解密成原來的明文數(shù)。在實際應(yīng)用中,對軟件系統(tǒng)數(shù)據(jù)庫中的系統(tǒng)用戶信息(如用戶密碼)以及銀行賬號信息(如銀行賬號密碼)加密,例如:當用戶注冊一個新的賬號或

43、者使用銀行賬號時,這些絕密信息不是直接保存到數(shù)據(jù)庫,而是經(jīng)過單向加密后再保存,這樣,及時這些絕密信息被泄露,別人也不能得到相應(yīng)的明文數(shù)據(jù),當然也就達不到盜竊賬號的目的。MD5 算法就是單向加密的加密算法。它有兩個很重要的特征,第一是任意兩段明文數(shù)據(jù),加密以后的密文數(shù)據(jù)一定不是相同的;第二是任意一段明文數(shù)據(jù),經(jīng)過加密以后,其密文數(shù)據(jù)永遠是相同的。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)12由于 MD5 算法的可靠性,已經(jīng)被廣泛應(yīng)用于項目實踐中。經(jīng)過許多程序員的努力,MD5算法已經(jīng)被各種語言實現(xiàn),.asp,.php,.java ,c,c#,vb,vc+,delphi 等語言。4.4.系統(tǒng)總體設(shè)計

44、系統(tǒng)總體設(shè)計4.14.1 功能模塊簡介功能模塊簡介在前面的系統(tǒng)的系統(tǒng)功能分析中,將系統(tǒng)劃分成 9 個模塊,如下圖 4.1 所示。 用戶登錄模塊學生管理模塊課程管理模塊學生選課模塊個人信息管理模塊用戶管理模塊系統(tǒng)幫助模塊數(shù)據(jù)庫模塊找回密碼功能模塊圖圖 4.14.1 系統(tǒng)模塊結(jié)構(gòu)圖系統(tǒng)模塊結(jié)構(gòu)圖用戶登錄模塊驗證用戶名和密碼,并根據(jù)不同的用戶類型,進行不同的操作。設(shè)置學生信息管理模塊是提供給學生管理員增加、修改、刪除學生信息。課程管理模塊提供給課程管理員,用來增加、修改、刪除選課信息。學生選課模塊提供給學生用戶,用來查詢或者刪除自己已選的課程。個人信息管理模塊提供給學生用戶,編輯學生自己的個人信息。

45、用戶管理模塊用于用戶超級管理員,可以對用戶管理員經(jīng)行增加、刪除。系統(tǒng)幫助模塊包括查看系統(tǒng)幫助信息。找回密碼功能是對學生用戶在忘記密碼是找回密碼。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)134.24.2 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治龈鶕?jù)上面的分析,將模塊結(jié)構(gòu)圖轉(zhuǎn)換成系統(tǒng)用例圖如下圖 4.2 所示。超級用戶管理員學生管理員課程管理員學生系統(tǒng)幫助切換用戶登錄系統(tǒng)用戶管理個人信息管理選課管理課程管理學生管理找回密碼圖圖 4.24.2 系統(tǒng)系統(tǒng) UseUse CaseCase 圖圖1系統(tǒng)中包含的類。系統(tǒng)中的類從系統(tǒng)包含的人員及事物開始。學生選課系統(tǒng)中包括對人員有:超級用戶、管理員、課程管理員、學生管理員、

46、學生用戶。這些人員可以統(tǒng)稱為“系統(tǒng)用戶” ,即系統(tǒng)中應(yīng)該有一個“系統(tǒng)用戶”類。系統(tǒng)包含的事物有:學生、課程。同時學生也是一類系統(tǒng)用戶。學生和課程是系統(tǒng)用戶的操作對象。因此,系統(tǒng)還應(yīng)包含“學生”類及“課程”類。2定義類的屬性?!跋到y(tǒng)用戶”類主要用于系統(tǒng)登錄及系統(tǒng)各個功能的使用,因此應(yīng)該包含“用戶名”和“密碼”屬性;系統(tǒng)中共有 5 種類型用戶,因此,添加“用戶角色”記錄用戶的類型。“學生”類包括“學號” , “姓名” , “性別” , “年齡” , “所在系” ?!罢n程”類包括“課程編號” , “課程名” , “學分” , “開課學期” , “總學時” 。3定義類的方法。初步定義的各個類的方法,各

47、個類都包含添加、刪除、修改、獲取信息等常規(guī)操作,系統(tǒng)用戶如若是“超級用戶”或“學生用戶”的話,還可以進行“選課”及“取消選課”防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)14操作。4建立類之間的關(guān)系?!皩W生”和“課程”類為“系統(tǒng)用戶”類的操作對象,因此, “學生”和“課程”對象的存在依賴于“系統(tǒng)用戶” ,同樣, “系統(tǒng)用戶”本身也可以操作“系統(tǒng)用戶” ,對用戶進行添加、修改、刪除等操作,因此本身也是一種依賴關(guān)系。 “學生”和“課程”之間存在一定的關(guān)聯(lián)。在分析階段中,系統(tǒng)用戶和個人信息之間存在著組合關(guān)系,學生和系統(tǒng)用戶之間存在著聚合關(guān)系。由于在實際實現(xiàn)時,系統(tǒng)將所有的數(shù)據(jù)存儲關(guān)系數(shù)據(jù)庫中,現(xiàn)在不一

48、定非要在系統(tǒng)用戶和個人信息兩個類之間保持組合關(guān)系,而只需要在個人信息類中保持其所屬用戶名就可以了;學生和系統(tǒng)用戶類也不用保持聚合關(guān)系,學生是一類特殊的系統(tǒng)用戶,只需在用戶表中保持學生用戶的一份拷貝即可,令學號的值為用戶名。專業(yè)和班級,班級和學生,以及音樂類別和音樂之間的關(guān)系也是如此。系統(tǒng)用戶在添加一個新的用戶的時候要首先判斷是否此用戶已經(jīng)添加過,因此,添加“判斷某個用戶是否存在”方法。系統(tǒng)用戶的密碼在存儲的時候為了安全起見需進行加密處理,因此,添加“加密密碼”方法,密碼采用 MD5 哈希算法進行加密,MD5 是一種單向加密算法,即能加密但不能進行解密操作。添加某種機制令用戶忘了密碼的時候可以重

49、新設(shè)置密碼。機制規(guī)則:用戶首次登錄時提示用戶輸入一些信息,以后在忘記密碼時,通過回答這些信息找回密碼;若用戶首次登錄時沒有輸入這些信息,可以在以后的時候過程中在輸入。因此, “系統(tǒng)用戶”類需添加屬性“是否首次登錄” ,添加額外的“個人信息”類記錄這些額外的信息。當添加一名學生時,需要判斷這名學生是否已經(jīng)添加過,因此,添加“是否已經(jīng)存在”方法判斷一個學生是否已經(jīng)添加過。當刪除一名學生時,需要保證該名學生沒有選過課,然后再進行刪除操作,因此,添加“是否選過課”方法。獲取學生信息時,有時需要獲取全部學生信息,有時需要按照條件獲取部分學生的信息,添加 “獲取全部學生信息”和“獲取部分學生信息” 。當添

50、加一門課程時,需要判斷這門課程是否已經(jīng)添加過,因此,增加“是否已經(jīng)存在”方法判斷一門課程是否已經(jīng)添加過。當刪除一門課程時,需要保證此課程沒有學生選擇,然后再進行刪除操作,因此,增加“是否被選過”方法。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)15獲取課程信息時,有時需要獲取全部課程信息,有時需要按照條件獲取部分課程的信息,添加“獲取全部課程信息”和“獲取部分課程信息” 。將對數(shù)據(jù)庫的操作封裝成一個類,其他的類對數(shù)據(jù)庫的操作通過此類進行。將上述關(guān)系建立一個類圖如下圖 2.3 所示。系統(tǒng)用戶-用戶名密碼用戶角色是否首次登錄: string: string: string: string+添加新用戶

51、 ()刪除已有用戶 ()設(shè)置密碼 ()修改密碼 ()加密密碼 ()登錄 ()判斷某個用戶是否存在 ()選課 ()取消選課 ()獲取部分用戶信息 (): int: int: void: void: string: bool: bool: int: int: DataSet學生-學號姓名性別年齡所在系: string: string: string: int: string+添加 ()是否選過課 ()刪除 ()修改 ()是否已經(jīng)存在 ()獲取所有學生信息 ()獲取部分學生信息 (): int: bool: int: int: bool: DataSet: DataSet課程-課程編號課程名稱學分開

52、課學期總學時: string: string: int: int: int+添加 ()是否被選過 ()刪除 ()修改 ()是否已經(jīng)存在 ()獲取所有課程信息 ()獲取部分課程信息 (): int: bool: int: int: bool: DataSet: DataSet數(shù)據(jù)庫操作- 數(shù)據(jù)庫連接字符串 : string+查詢 ()更新 ()刪除 ()插入 ()獲取字段值 (): DataSet: int: int: int: int個人信息-用戶名提示問題1答案提示問題2答案提示問題3答案: string: string: string: string+-+判斷是否存在 ()設(shè)置個人信息 (

53、)添加個人信息 ()刪除個人信息 ()修改個人信息 ()獲取個人信息 ()回答個人信息問題 (): bool: bool: int: int: int: DataSet: bool圖圖 4.34.3 系統(tǒng)類圖系統(tǒng)類圖防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)165.5.系統(tǒng)詳細設(shè)計系統(tǒng)詳細設(shè)計5.15.1 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計本系統(tǒng)的數(shù)據(jù)庫實體主要有“學生” 、 “課程” 。其中“學生”與“課程”存在“選課”聯(lián)系,一個學生可以學習 N 門課程,一門課程可以有 M 個學生學習,即“學生”與“課程”之間是多對多的關(guān)系。 “學生”還包括很多的屬性,如姓名、性別、年齡、學號、所在系等信息;“課程”也包

54、括很多的屬性,如學時、課程學分、課程名、課程號等信息。整個數(shù)據(jù)庫可以用一個 E-R 圖表示,如下圖,圖 5.1 所示:學生課程選課學號姓名性別年齡所在系學時成績課程號課程學分課程名nm圖圖 5.15.1 E-RE-R 圖圖5.25.2 數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫邏輯就是指確定數(shù)據(jù)庫的邏輯結(jié)構(gòu),是將 ER 圖轉(zhuǎn)換為關(guān)系模型的過程,即將所有實體和關(guān)系轉(zhuǎn)換成一系列的關(guān)系模式。轉(zhuǎn)換過程中常見規(guī)則有:(1)一個實體型轉(zhuǎn)換為一個關(guān)系模式;(2)一個一對一的聯(lián)系可轉(zhuǎn)換成一個獨立的關(guān)系模式,也可與任意一端對應(yīng)的關(guān)系模式合并;(3)一個一對多的聯(lián)系可以轉(zhuǎn)換成一個獨立的關(guān)系模式,也可與多的那一端對應(yīng)的關(guān)系

55、模式合并;防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)17(4)一個多對多的關(guān)系轉(zhuǎn)換成一個關(guān)系模式。學生表(學號,姓名,性別,年齡,所在系)課程表(課程號,課程名,課程學分,學時)學生選課表(學號,課程號,成績)系統(tǒng)用戶表(用戶名,密碼,角色,是否第一次登錄)個人信息表(用戶名,問題 1 答案,問題 2 答案,問題 3 答案)5.35.3 數(shù)據(jù)物理設(shè)計數(shù)據(jù)物理設(shè)計根據(jù)數(shù)據(jù)庫的分析,建立如下五個數(shù)據(jù)表。學生表(Student),其結(jié)構(gòu)見表 5.1 所示表表 5.15.1 學生表學生表字段數(shù)據(jù)類型說明Sno文本學號Sname文本姓名Ssex文本性別Sage數(shù)字年齡Sdept文本所在系課程表(Cour

56、se) ,其結(jié)構(gòu)見表 5.2 所示表表 5.25.2 課程表課程表字段數(shù)據(jù)類型說明Cno文本課程編號Cname文本課程名稱Ccredit數(shù)字學分Csemester數(shù)字開課學期CHours數(shù)字總學時防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)18學生選課表(SelectCourse) ,其結(jié)構(gòu)見表 5.3 所示表表 5.35.3 學生選課表學生選課表字段數(shù)據(jù)類型說明Sno文本學號Cno文本課程號grade數(shù)字成績系統(tǒng)用戶表(User) ,其結(jié)構(gòu)見表 5.4 所示表表 5.45.4 系統(tǒng)用戶表系統(tǒng)用戶表字段數(shù)據(jù)類型說明說明userName文本用戶名userPwd文本密碼Role文本角色firstLo

57、gin文本是否第一次登錄個人信息表(Informatian) ,其結(jié)構(gòu)見表 5.5 所示表表 5.55.5 個人信息表個人信息表字段數(shù)據(jù)類型說明userName文本用戶名Answer1文本問題 1 答案Answer2文本問題 2 答案Answer3文本問題 3 答案防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)196.6.系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn)6.16.1 客戶端登錄界面實現(xiàn)客戶端登錄界面實現(xiàn)登錄模塊是系統(tǒng)不可缺少的模塊,登錄模塊還可以保證系統(tǒng)的可靠性和安全性。登錄模塊提供用戶登錄界面,登錄時,若輸入的用戶名和密碼都正確,則登錄成功,進入系統(tǒng)的主窗體,然后可以選擇進入相應(yīng)的子系統(tǒng)。本系統(tǒng),設(shè)計了 5 種

58、系統(tǒng)用戶類型:超級用戶、管理員、課程管理員、學生管理員和學生用戶。用不同的身份,登錄成功后,可在主界面選擇使用系統(tǒng)不同的功能模塊??蛻舳说牡顷懡缑嫒鐖D 6.1 所示。圖圖 6.16.1 登錄界面登錄界面6.26.2 主界面的實現(xiàn)及權(quán)限管理主界面的實現(xiàn)及權(quán)限管理主界面在用戶登錄后進入學生選課系統(tǒng)后,可以選擇不同的子系統(tǒng),其中包括選課管理、系統(tǒng)管理和系統(tǒng)三個部分,其中選課管理包括學生管理、課程管理和選課管理,系統(tǒng)管理包括個人信息管理、系統(tǒng)用戶管理和切換系統(tǒng)用戶,系統(tǒng)包括系統(tǒng)幫助和退出。超級用戶可以使用全部的子系統(tǒng);管理員只有選課管理系統(tǒng)不能使用;課程管理員能使用的系統(tǒng)有課程管理、個人信息管理、切換

59、系統(tǒng)用戶、系統(tǒng)幫助和退出;學生管理員能使用的系統(tǒng)有學生管理、個人信息管理、切換系統(tǒng)用戶、系統(tǒng)幫助和退出;學生用戶能使用的系統(tǒng)有選課管理、個人信息管理、切換系統(tǒng)用戶、系統(tǒng)幫助和退出。主界面如圖 6.2 所示:防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)20 圖圖 6.26.2 主界面圖主界面圖6.36.3 學生信息管理的實現(xiàn)學生信息管理的實現(xiàn)學生信息管理模塊主要用于管理學生的基本信息,包括學號、姓名、性別、年齡和所在系,能對學生信息進行添加、刪除、修改和查詢等操作。并且,在添加或刪除學生信息時,同時需要在系統(tǒng)用戶表中注冊或刪除相應(yīng)的“學生用戶” 。在本系統(tǒng)中,設(shè)定默認用戶名為學生號,密碼也設(shè)定為學

60、生學號。學生管理的界面如圖 6.3 所示。圖圖 6.36.3 學生管理界面圖學生管理界面圖6.46.4 課程管理的實現(xiàn)課程管理的實現(xiàn)課程信息管理模塊主要用于管理課程信息,包括課程號、課程名、學分、開學學期和總學時,能對課程信息進行添加、刪除、修改和查詢等操作。防災(zāi)科技學院畢業(yè)設(shè)計(論文、綜合實踐報告)21課程管理界面如圖 6.4 所示:圖圖 6.46.4 課程管理界面圖課程管理界面圖6.56.5 學生選課信息管理的實現(xiàn)學生選課信息管理的實現(xiàn)選課信息管理模塊主要用于管理學生選課信息,以記錄的形式表示學生的選課情況,每條記錄都包括選課學生的學號、學生的姓名、所選課程的課程號、課程名稱、開課學期和該

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論