




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上防 災(zāi) 科 技 學(xué) 院畢 業(yè) 設(shè) 計(jì)題目學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名涂語楠學(xué)號(hào) 系 別災(zāi)害信息工程系 專 業(yè)信息管理與信息系統(tǒng) 班級(jí)07302 開題時(shí)間 2011 年 1 月 1 日答辯時(shí)間2011年06月11日指導(dǎo)教師白靈職 稱講師專心-專注-專業(yè)學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)作者:涂語楠指導(dǎo)老師:白靈摘要: 隨著我校大學(xué)生人數(shù)的不斷增加,使得教務(wù)管理系統(tǒng)的數(shù)據(jù)量也不斷上漲。為了減輕教務(wù)處的教務(wù)管理工作,以及方便學(xué)生選擇自己所喜歡的科目。學(xué)生選課系統(tǒng)針對(duì)這一環(huán)節(jié),實(shí)現(xiàn)教學(xué)資源實(shí)體與學(xué)生兩個(gè)集合的協(xié)調(diào)統(tǒng)一,規(guī)避課程分配沖突,更加有效銜接教學(xué)管理系統(tǒng)的各子系統(tǒng)的關(guān)系。本系
2、統(tǒng)是一個(gè)典型的信息管理系統(tǒng),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù),以及客戶端程序的開發(fā)兩個(gè)方面。本文通過分析客戶端/服務(wù)器結(jié)構(gòu)的特點(diǎn)并結(jié)合選課的實(shí)際情況,提出了基于客戶端/服務(wù)器結(jié)構(gòu)選課系統(tǒng)的基本設(shè)計(jì)思想,簡要介紹了系統(tǒng)需求分析和系統(tǒng)的功能設(shè)計(jì)、ACCESS數(shù)據(jù)庫設(shè)計(jì)、C#程序設(shè)計(jì)及系統(tǒng)實(shí)現(xiàn)過程。重點(diǎn)描述了如何利用C#以及ACCESS數(shù)據(jù)庫管理系統(tǒng)相結(jié)合的方法來開發(fā)基于客戶端的選課系統(tǒng)。并在試運(yùn)行的基礎(chǔ)上對(duì)系統(tǒng)進(jìn)一步完善提出了改進(jìn)方案。通過該系統(tǒng),使學(xué)生可以方便地在局域網(wǎng)內(nèi)的計(jì)算機(jī)上安裝客戶端進(jìn)行選課。關(guān)鍵詞:學(xué)生選課,客戶端/服務(wù)器結(jié)構(gòu),C#,ACCESS數(shù)據(jù)庫管理系統(tǒng)The Design
3、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 of Academic Affairs , and make each student to bette
4、r 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 typical information management system, which mainly
5、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,a brief description of the system functional requir
6、ements 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 operation of the system,the proposed improvements are furth
7、er 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 目 錄引言在信息發(fā)展全球化,網(wǎng)絡(luò)化的今天,校園局域網(wǎng)已成為每所高校所必備的信息基礎(chǔ)設(shè)施,各種管理信息系統(tǒng)憑借于校園局域網(wǎng)應(yīng)運(yùn)而生。在各大高校的教務(wù)系統(tǒng)管理過程中,課程表的編排是一項(xiàng)非常復(fù)雜的工作。在排課的過程中,除了必須滿足大量的制約條件以外,還需要解決很多沖突與矛盾,例如:兩位老師不能同一個(gè)時(shí)間在
8、同一間教室上課,一位教師不能在同一個(gè)時(shí)間上兩門課等等。利用計(jì)算機(jī)的輔助進(jìn)行課程表編排工作,不但可以提高排課工作的科學(xué)性,還大大減輕了管理人員工作的強(qiáng)度,提高工作效率,使得學(xué)校教務(wù)管理邁上了一個(gè)新的臺(tái)階?,F(xiàn)在,我國的高等教育事業(yè)正在蓬勃發(fā)展,高等學(xué)校的規(guī)模不斷的擴(kuò)大,在此,高等學(xué)校的教學(xué)改革也在全面的推行,學(xué)分制在各大高校全面啟動(dòng)。所謂學(xué)分制就是允許學(xué)生在計(jì)劃的指導(dǎo)下,根據(jù)自己的條件、能力、興趣,有選擇的支配自己的學(xué)習(xí)時(shí)間和內(nèi)容。因此,學(xué)生選課管理成為了推行實(shí)施學(xué)分制管理的重要任務(wù)。由于學(xué)生選課時(shí)的制約條件較多、較復(fù)雜,工作量也比較大,而且往往需要在很短的時(shí)間內(nèi)完成,因此運(yùn)用計(jì)算機(jī)輔助選課,即能
9、實(shí)時(shí)地檢驗(yàn)和統(tǒng)計(jì)大量的選課數(shù)據(jù),又能十分方便地輸出選課結(jié)果,同時(shí)也避免了在人工處理時(shí)產(chǎn)生的錯(cuò)誤。學(xué)生選課系統(tǒng)是以數(shù)據(jù)庫作為后臺(tái),數(shù)據(jù)庫從60年代初發(fā)展起來到今天,經(jīng)過了四十多來年的發(fā)展,數(shù)據(jù)庫技術(shù)己經(jīng)逐漸成熟。就數(shù)據(jù)庫應(yīng)用來說,呈現(xiàn)了多樣化的空間,例如數(shù)字圖書館、電子出版物、電子商務(wù)、遠(yuǎn)程教育系統(tǒng)等,給數(shù)據(jù)庫技術(shù)的發(fā)展提出了更多、更高的要求。本文引言部分主要介紹了學(xué)生選課的背景,第一章概述,介紹學(xué)生選課系統(tǒng)的背景,做這個(gè)設(shè)計(jì)的目標(biāo)以及意義;第二章介紹該選課系統(tǒng)的需求分析,系統(tǒng)分析和系統(tǒng)結(jié)構(gòu);第三章主要介紹了系統(tǒng)設(shè)計(jì)相關(guān)的背景,主要包括Visual Studio 2008 Team System
10、開發(fā)工具、Access數(shù)據(jù)庫、C#開發(fā)語言;第四章系統(tǒng)總體設(shè)計(jì)的介紹,主要是各模塊功能的簡介,和面向?qū)ο蠓治?;第五章是?shù)據(jù)庫的詳細(xì)設(shè)計(jì),具體介紹了數(shù)據(jù)庫的設(shè)計(jì),物理設(shè)計(jì)和邏輯設(shè)計(jì);第六章是系統(tǒng)各個(gè)功能的實(shí)現(xiàn),詳細(xì)介紹了各個(gè)模塊實(shí)現(xiàn)的功能;論文最后是結(jié)論、致謝及參考文獻(xiàn)。1.概述1.1課題背景二十一世紀(jì)是科學(xué)技術(shù)競爭與民族素質(zhì)競爭的時(shí)代,其本質(zhì)就是人才與教育的競爭。教育的歷史讓我們知道,教育的每次重大改革和發(fā)展都與科學(xué)技術(shù)息息相關(guān),科學(xué)技術(shù)是第一生產(chǎn)力,也是發(fā)展教育的重要?jiǎng)恿?。隨著科學(xué)技術(shù)的不斷進(jìn)步,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,計(jì)算機(jī)在各個(gè)領(lǐng)域所扮演的角色越來越重要。很長時(shí)間以來,人們都在用人工的方
11、式來管理文件檔案,這種管理方式存在著很多的缺點(diǎn),例如:效率低,保密性差,除此之外時(shí)間一長,將有大量的文件和數(shù)據(jù)產(chǎn)生,這對(duì)于查詢、更新和維護(hù)都帶來了很大的困難。選課信息管理系統(tǒng)作為計(jì)算機(jī)應(yīng)用的一個(gè)部分,其優(yōu)點(diǎn)是手工管理所無法比擬的,例如:查詢方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)是學(xué)校的科學(xué)化、正規(guī)化管理的重要條件。選課管理系統(tǒng)屬于教學(xué)信息管理系統(tǒng)的一個(gè)部分。隨著高等教育的發(fā)展與社會(huì)需求,各大高校盡可能多地開設(shè)各類課程,使得學(xué)生的知識(shí)面得到拓展,塑造學(xué)生的個(gè)性,培養(yǎng)了學(xué)生的創(chuàng)造能力,使學(xué)生的綜合素質(zhì)有所提高。但是而傳統(tǒng)的手工選課方式非常的煩瑣與復(fù)雜,由學(xué)校統(tǒng)一發(fā)布可選課程
12、表,讓學(xué)生事先了解可選的課程和各班選課報(bào)名的時(shí)間,然后按規(guī)定的時(shí)間到指定的地方去報(bào)名。這種方式存在著明顯弊病。主要是:許多學(xué)生一起去報(bào)名,十分擁擠,很難組織;由于各班選課報(bào)名時(shí)間不同,排在后面的各班的學(xué)生常常選不到理想的課程。傳統(tǒng)的選課方式已經(jīng)不適應(yīng)現(xiàn)代教務(wù)教學(xué)的改革和發(fā)展,迫切需要一種新的選課方式。為使教學(xué)管理工作的科學(xué)化、規(guī)范化,就必須采用計(jì)算機(jī)輔助管理。計(jì)算機(jī)管理使選課更加高效準(zhǔn)確,省去了大量的人力勞動(dòng),提高了教學(xué)管理的信息化水平。因此,學(xué)生選課是一項(xiàng)非常重要的工作,主要負(fù)責(zé)對(duì)整個(gè)學(xué)校學(xué)生的選課進(jìn)行管理,除此之外,還需對(duì)學(xué)生信息及課程信息進(jìn)行維護(hù),對(duì)學(xué)生所選課程的考試成績進(jìn)行記錄,學(xué)生選
13、課是實(shí)現(xiàn)高校學(xué)分制的一個(gè)重要環(huán)節(jié)。隨著學(xué)校硬件水平的提高、信息化進(jìn)程的加快,教務(wù)工作急切希望能夠拋開原有繁瑣的管理方式,希望能夠根據(jù)學(xué)?,F(xiàn)狀的實(shí)際需求開發(fā)一套能夠系統(tǒng)化、科學(xué)、有效、易于掌握的管理軟件?,F(xiàn)在學(xué)院已經(jīng)基本實(shí)現(xiàn)了網(wǎng)絡(luò)化管理,各部門已有了計(jì)算機(jī),原來的計(jì)算機(jī)管理系統(tǒng)可以實(shí)現(xiàn)簡單的信息管理,現(xiàn)在需要一個(gè)學(xué)生選課管理平臺(tái)。為了切實(shí)解決課程管理中存在的諸多問題,提高教務(wù)管理的水平和質(zhì)量,使學(xué)院選課的管理更加規(guī)范,經(jīng)過幾個(gè)月的努力,我設(shè)計(jì)開發(fā)了防災(zāi)科技學(xué)院選課系統(tǒng)。此系統(tǒng)基本上實(shí)現(xiàn)了一些選課相關(guān)的功能。1.2課題目標(biāo)該選課系統(tǒng)的主要目的是實(shí)現(xiàn)學(xué)生選擇課程的公平性和方便性,讓他們可以在學(xué)校內(nèi)任
14、一安裝客戶端的機(jī)器上查詢課程,選擇課程,刪除課程;對(duì)于課程管理員,可以通過登陸客戶端添加、修改、查詢、刪除課程信息;對(duì)于學(xué)生管理員,可以通過登陸客戶端添加、修改、查詢、刪除學(xué)生信息;對(duì)于教學(xué)管理部門,能夠?qū)崿F(xiàn)學(xué)生信息的管理,對(duì)課程信息的管理,以及對(duì)這個(gè)系統(tǒng)的維護(hù)。1.3課題意義選課系統(tǒng)是學(xué)校不可或缺的一個(gè)部分,它的內(nèi)容對(duì)于學(xué)校來說都是非常的重要,所以選課管理系統(tǒng)應(yīng)該能夠?yàn)閷W(xué)生用戶提供大量的課程信息,方便學(xué)生快速的查詢。隨著科學(xué)技術(shù)的不斷進(jìn)步,計(jì)算機(jī)科學(xué)也在不斷地成熟,其強(qiáng)大的功能已經(jīng)被人們所深刻的認(rèn)識(shí),它已經(jīng)深入到人類社會(huì)的各個(gè)領(lǐng)域并在這些領(lǐng)域里發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,
15、使用計(jì)算機(jī)對(duì)選課信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是教學(xué)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。開發(fā)此系統(tǒng)無論是從課題的研究上還是從技術(shù)方面考慮都是很有必要的。本課題的研究開發(fā)可以解決以往傳統(tǒng)效率低、工作繁瑣的人工管理選課方式,省去了大量的人力勞動(dòng),并且方便更有效的、更合理的完成教務(wù)人員對(duì)選課管理的效率。技術(shù)運(yùn)用上也有利于加快學(xué)校信息化建設(shè)的步伐。實(shí)現(xiàn)教育的現(xiàn)代化、科技化,從而提高教學(xué)管理的信息化水平。2.需求分析2.1需求分析選課系統(tǒng)需求滿足來自三方面的需求,這
16、三個(gè)方面分別是學(xué)生、管理員和超級(jí)用戶。學(xué)生的需求是查詢院系的課程、學(xué)生選課情況及學(xué)生信息的修改;管理員的功能比較復(fù)雜,其中包含三種:學(xué)生管理員、課程管理員和管理員;超級(jí)用戶主要是系統(tǒng)狀態(tài)的查看、維護(hù)。學(xué)生可以直接查看選課情況,學(xué)生可以根據(jù)自己的學(xué)號(hào)和密碼登錄學(xué)生選課系統(tǒng),還可以修改查詢個(gè)人相關(guān)的部分信息。一般情況下,學(xué)生只能查詢和修改自己所選課程的情況還有個(gè)人信息,若需要查詢和修改其他學(xué)生的選課以及成績查詢,就需要知道其他學(xué)生的學(xué)號(hào)和密碼。這些是很難得到的,特別是密碼,所以不但滿足了學(xué)生的要求,還保護(hù)了學(xué)生的個(gè)人隱私。管理員分為學(xué)生管理員,課程管理員和管理員。學(xué)生管理員可根據(jù)學(xué)校學(xué)生的學(xué)號(hào),增
17、加學(xué)生用戶,給新的學(xué)生用戶建立新的用戶名和密碼,學(xué)生可以通過學(xué)生管理員提供的用戶名和密碼進(jìn)行登錄操作,學(xué)生管理員還可以對(duì)沒有進(jìn)行選課的學(xué)生進(jìn)行刪除操作,數(shù)據(jù)安全性和保密性要求最高;課程管理員是對(duì)課程進(jìn)行操作,課程的增加、刪除,根據(jù)學(xué)校的規(guī)定,安排選課的課時(shí)、學(xué)分、開課的時(shí)間都是由課程管理員執(zhí)行的;管理員除了能操作學(xué)生管理員和課程管理員所有的內(nèi)容,還能添加、刪除學(xué)生管理員和課程管理員。超級(jí)用戶擁有最高權(quán)限,是用來系統(tǒng)初步實(shí)施的,在此系統(tǒng)中,超級(jí)用戶可以管理系統(tǒng)中的所有用戶,所有操作。本系統(tǒng)的主要功能是完成我校教務(wù)管理對(duì)學(xué)生選課的功能。實(shí)現(xiàn)學(xué)生在客戶端上進(jìn)行獨(dú)自的選課,學(xué)生能根據(jù)自己的意愿來選擇自
18、己感興趣的課程。在教務(wù)管理的同時(shí),教務(wù)處能全面的管理本學(xué)校的學(xué)生信息,學(xué)生,老師,課程以及上課的時(shí)間等。達(dá)到學(xué)生和老師都有合理的安排。2.2 系統(tǒng)分析在本系統(tǒng)中,有五類用戶:超級(jí)用戶、管理員、學(xué)生管理員、課程管理員、學(xué)生用戶。五種不同的用戶所具有的功能。根據(jù)要求,從功能上可以分為兩個(gè)類:一個(gè)是通用功能,登錄、個(gè)人信息管理、切換用戶、找回密碼、系統(tǒng)幫助和退出是所有用戶都具有的功能;另一種是為不同用戶定制不同功能。2.2.1 通用功能1、登錄功能登錄功能是驗(yàn)證登錄的用戶信息,不同的用戶在驗(yàn)證登錄信息后,進(jìn)入主界面會(huì)有不同的操作內(nèi)容。2、個(gè)人信息管理個(gè)人信息管理是用來查詢、修改用戶的信息。3、切換用
19、戶切換用戶功能是用戶登錄主界面后,需要切換到其他的用戶時(shí)使用。4、找回密碼找回密碼是用戶忘記自己的登錄密碼,可以通過找回密碼設(shè)置的問題,找回自己的登錄密碼。5、系統(tǒng)幫助系統(tǒng)幫助是用戶在不了解系統(tǒng)的使用方法時(shí),可以查看系統(tǒng)幫助。6、退出在用戶使用完學(xué)生選課系統(tǒng)后,不在進(jìn)行其他的操作,選擇退出即可退出選課系統(tǒng)界面。2.2.2 用戶具有的功能1超級(jí)用戶主要用來系統(tǒng)的初步實(shí)施時(shí)使用,登錄后具有系統(tǒng)所有的功能:1)學(xué)生管理:可以添加、修改、查詢、刪除學(xué)生信息。2)課程管理:可以添加、修改、查詢、刪除課程信息。3)學(xué)生選課管理:可以為學(xué)生選課及查詢、刪除學(xué)生的選課信息。4)系統(tǒng)用戶管理:可以增加及刪除管理
20、員、學(xué)生管理員、課程管理員用戶。2管理員用戶登錄后,可以進(jìn)行學(xué)生管理、課程管理、系統(tǒng)用戶管理。1)學(xué)生管理:可以添加、修改、查詢、刪除學(xué)生信息。2)課程管理:可以添加、修改、查詢、刪除課程信息。3)系統(tǒng)用戶管理:可以增加及刪除學(xué)生管理員、課程管理員用戶。3 學(xué)生管理員用戶登錄后,可以進(jìn)行學(xué)生管理。1)學(xué)生管理:可以添加、修改、查詢、刪除學(xué)生信息。4課程管理員用戶登錄后,可以進(jìn)行課程管理。1)課程管理:可以添加、修改、查詢、刪除課程信息。5學(xué)生用戶登錄后,可以進(jìn)行選課管理。1) 選課管理:可以選擇各個(gè)學(xué)期開設(shè)的課程,查看自己所有已經(jīng)選上的課程,刪除已選課程。2.3系統(tǒng)結(jié)構(gòu)本系統(tǒng)應(yīng)用Visual
21、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ù)合理分配到Client端和Server端來實(shí)現(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)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問到新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏
22、輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。即界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)處理層。界面層是一個(gè)建立在windows平臺(tái)上應(yīng)用程序界面;數(shù)據(jù)處理層包含訪問后臺(tái)數(shù)據(jù)庫,提供后臺(tái)數(shù)據(jù)庫支持,同時(shí)包括與數(shù)據(jù)存儲(chǔ)的接口。第一層為界面層,客戶機(jī)為校園網(wǎng)上的任何一臺(tái)計(jì)算機(jī),沒有特殊要求,只需具有windows平臺(tái)即可。學(xué)生通過客戶端查看相關(guān)的選課信息,并進(jìn)行選課操作??蛻舳税褜W(xué)生的數(shù)據(jù)交給業(yè)務(wù)實(shí)體實(shí)例化,再將實(shí)例化的對(duì)象交給業(yè)務(wù)接口。第二層為業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層是封裝商業(yè)邏輯,提供校驗(yàn)、邏輯實(shí)現(xiàn),處理業(yè)務(wù)邏輯,實(shí)現(xiàn)業(yè)務(wù)邏輯處理方法,處理邏輯后交給數(shù)據(jù)層(調(diào)用數(shù)據(jù)接口)處理數(shù)據(jù)。第三層為數(shù)據(jù)層,數(shù)據(jù)最終處理的地方,首先定義數(shù)據(jù)加
23、工處理方法(調(diào)用數(shù)據(jù)工廠) ,處理數(shù)據(jù)加工方式,實(shí)現(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)境,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù),一般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng),一般高度機(jī)密的信息系統(tǒng)采用C/S 結(jié)構(gòu)較為適宜,而僅通過C/S發(fā)布部分可公開信息,程序更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮。2應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕,最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器
24、程序,二者可分別稱為前臺(tái)程序與后臺(tái)程序。一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶程序發(fā)來的請(qǐng)求。當(dāng)需要對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶程序就自動(dòng)地尋找服務(wù)器程序,并向其發(fā)出請(qǐng)求;服務(wù)器程序根據(jù)預(yù)定的規(guī)則做出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。 3 數(shù)據(jù)的儲(chǔ)存管理功能比較透明 ,數(shù)據(jù)的儲(chǔ)存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨(dú)立進(jìn)行的。對(duì)于工作在前臺(tái)程序上的最終用戶是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺(tái)程序并不是非常“瘦小”,并沒有將麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系下,數(shù)據(jù)庫不能真正成為公共、
25、專業(yè)化的倉庫,它受到獨(dú)立的專門管理。3.相關(guān)技術(shù)背景3.1 Visual Studio 2008 Team System開發(fā)工具微軟公司推出Visual Studio開發(fā)環(huán)境可以用來創(chuàng)建 Windows 操作平臺(tái)下的 Windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,同時(shí)網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office 插件也可以用Visual Studio來創(chuàng)建。目前,windows操作平臺(tái)應(yīng)用程序開發(fā)環(huán)境要數(shù)Visual Studio最流行。Microsoft Visual Studio 2008是為Windows Vista、Office 2007、Web 2.0或更高發(fā)展的下一代開發(fā)工具,代號(hào)“Orc
26、as”。 VS2008中推出超過250種新功能,融合了對(duì)象、關(guān)系型數(shù)據(jù)、XML的訪問方式,更加簡潔了語言。使用Visual Studio 2008可以高效開發(fā)Windows應(yīng)用。設(shè)計(jì)器中的變更可以實(shí)時(shí)的反映出來,XAML中智能感知功能使得開發(fā)效率得以提高。同時(shí)Visual Studio 2008支持項(xiàng)目模板、調(diào)試器和部署程序。Visual Studio 2008可以高效開發(fā)Web應(yīng)用,集成了AJAX 1.0,包含AJAX項(xiàng)目模板,它還可以高效開發(fā)Office應(yīng)用和Mobile應(yīng)用。Visual Studio 2008 提供了高級(jí)的開發(fā)工具、調(diào)試功能、數(shù)據(jù)庫功能和創(chuàng)新功能,有助于在各種平臺(tái)上迅速
27、的建立一個(gè)當(dāng)前最先進(jìn)的應(yīng)用程序。 Visual Studio 2008 包含了各種增強(qiáng)功能,例如可視化設(shè)計(jì)器(使用 .NET Framework 3.5 加速開發(fā))、大幅改善Web 開發(fā)工具,以及能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強(qiáng)功能。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ù)提供程序、在任何當(dāng)前瀏覽器內(nèi)運(yùn)行并完全訪問 ASP .NET應(yīng)用程序
28、服務(wù)和 Microsoft 平臺(tái)。Visual Studio 2008 提供了幫助開發(fā)團(tuán)隊(duì)改進(jìn)協(xié)作的擴(kuò)展的和改善的服務(wù)項(xiàng)目,包括幫助將數(shù)據(jù)庫專業(yè)人員和圖形設(shè)計(jì)人員加入到開發(fā)流程的工具。3.2 Access數(shù)據(jù)庫Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了
29、方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料都能夠被Access所存取。熟練的軟件設(shè)計(jì)者或者資料分析者利用Access來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的“進(jìn)階用戶”同樣能使用Access來開發(fā)簡單的應(yīng)用軟件。Access不能成為一種完整的面向?qū)ο箝_發(fā)工具,因?yàn)樗恢С植糠菝嫦驅(qū)ο螅∣O)技術(shù)。Microsoft Access在很多地方得到廣泛的應(yīng)用,例如小型企業(yè),大公司的部門,或者開發(fā)人員利用它來制作處理數(shù)據(jù)的桌面系統(tǒng)。簡單的
30、WEB應(yīng)用程序也常用來它來開發(fā)。這些應(yīng)用程序主要使用ASP技術(shù)在Internet Information Services運(yùn)行,較為復(fù)雜的WEB應(yīng)用程序則使用PHP/MySQL或者ASP/Microsoft SQL Server。Access為初級(jí)程序員的使用方便程度和強(qiáng)大的設(shè)計(jì)工具提供了很多功能。不過,這種易于使用可能使人產(chǎn)生誤解。這樣的開發(fā)者基本上都是沒有在應(yīng)用或者數(shù)據(jù)設(shè)計(jì)方面經(jīng)過訓(xùn)練的辦公室工作人員。因此,很多人認(rèn)為這樣的開發(fā)人員能夠創(chuàng)建一個(gè)可用的系統(tǒng),但也有很多人認(rèn)為工具本身的局限性產(chǎn)生了這樣的誤導(dǎo)。Access 用作快速應(yīng)用開發(fā)被一些較為專業(yè)的應(yīng)用程序開發(fā)者使用,尤其是給街道上的推銷
31、員制作一個(gè)早型或單獨(dú)應(yīng)用程序的工具。但是,如果是通過網(wǎng)絡(luò)訪問數(shù)據(jù)的話,Access 的訪問可擴(kuò)放性并不高。因此當(dāng)使用者較多使用此程序時(shí),他們往往選擇傾向于一些客戶端-服務(wù)器為主的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。在任何情況下,數(shù)據(jù)庫的后期應(yīng)用很多使用Access 的功能(表單,報(bào)告,序列和VB代碼),例如 JET(檔案為主的數(shù)據(jù)庫引擎,Access 缺省使用)、Microsoft SQL Server、Or
32、acle和任何其他跟ODBC兼容的產(chǎn)品。對(duì)本開發(fā)系統(tǒng)選用Access2000作為后臺(tái)數(shù)據(jù)庫。數(shù)據(jù)庫在信息管理系統(tǒng)中有著相當(dāng)重要的地位,作為信息管理系統(tǒng)的后臺(tái),數(shù)據(jù)庫存儲(chǔ)著所有的信息,而數(shù)據(jù)庫的設(shè)計(jì)直接影響到整個(gè)系統(tǒng)運(yùn)行的效率。良好的數(shù)據(jù)庫設(shè)計(jì),可以有效提高數(shù)據(jù)信息的存儲(chǔ),從而保證數(shù)據(jù)信息的完整性和一致性。美國Microsoft公司于1994年推出的Access管理系統(tǒng)。它具有界面友好、易于學(xué)習(xí)和使用、開發(fā)較為簡單、接口靈活等功能,是一個(gè)典型的新一代桌面數(shù)據(jù)庫管理系統(tǒng)。其主要特點(diǎn)如下: (1) 各種數(shù)據(jù)庫對(duì)象得到了完善的管理,具有強(qiáng)大的數(shù)據(jù)組織、用戶管理、安全檢查等功能。 (2)數(shù)據(jù)處理能力極其
33、強(qiáng)大,在網(wǎng)絡(luò)環(huán)境下的一個(gè)工作組級(jí)別,使用Access開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的XBASE(DBASE、FoxBASE的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實(shí)現(xiàn)的客戶端服務(wù)器(Cient/Server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機(jī)制,Access具備了許多先進(jìn)的大型數(shù)據(jù)庫管理系統(tǒng)所具備的特征,如事務(wù)處理/出錯(cuò)回滾能力等。 (3)可以方便地生成各種數(shù)據(jù)對(duì)象,利用存儲(chǔ)的數(shù)據(jù)建立窗體和報(bào)表,可視性好。 (4)作為Office套件的一部分,可以與Office集成,實(shí)現(xiàn)無縫連接。 (5)能夠利用Web檢索和發(fā)布數(shù)據(jù),實(shí)現(xiàn)與Internet的連接。 Access主要適用于中小型應(yīng)用系統(tǒng),或作為客戶機(jī)/服務(wù)器系統(tǒng)中的
34、客戶端數(shù)據(jù)庫。3.3 C#開發(fā)語言C#(C Sharp)是微軟(Microsoft)為.NET Framework量身訂做的程序語言,C#擁有C/C+的強(qiáng)大功能以及Visual Basic簡易使用的特性,是第一個(gè)組件導(dǎo)向(Component-oriented)的程序語言,和C+與Java一樣亦為對(duì)象導(dǎo)向(object-oriented)程序語言微軟c#語言的定義主要是從C和C+繼承而來的,而且語言中的許多元素也反映了這一點(diǎn)。C#在設(shè)計(jì)者從C+繼承的可選選項(xiàng)方面比Java要廣泛一些(比如說structs),它還增加了自己新的特點(diǎn)(比方說源代碼版本定義)。但它還太不成熟, C#還需要進(jìn)化成一種開發(fā)
35、者能夠接受和采用的語言。 類是C#從JAVA繼承而來的特點(diǎn),在C#中類的申明與Java很相似。這是因?yàn)镴ava模型工作得很好。C#的關(guān)鍵字import已經(jīng)被替換成using,它起到了同樣的作用。一個(gè)類開始執(zhí)行的起點(diǎn)是靜態(tài)Main()方法。C#從C和C+繼承而來的兩個(gè)特點(diǎn):一個(gè)是編譯,一個(gè)是結(jié)構(gòu)體。編譯,程序直接編譯成標(biāo)準(zhǔn)的二進(jìn)制可執(zhí)行形式。例如一個(gè)Hello World程序被保存成一個(gè)文本文件并被命名為Hello.cs,它將被編譯成命名Hello.exe的可執(zhí)行程序; 結(jié)構(gòu)體,一個(gè)C#的結(jié)構(gòu)體與C+的結(jié)構(gòu)體是相似的,因?yàn)樗軌虬瑪?shù)據(jù)聲明和方法。但是,不象C+,C#結(jié)構(gòu)體與類是不同的而且不支持
36、繼承。但是。與Java相同的是,一個(gè)結(jié)構(gòu)體可以實(shí)現(xiàn)界面。C#最引人入勝的地方是它和Java的不同,而不是相似的地方。C#擁有比C,C+或者Java更廣泛的數(shù)據(jù)類型。這些類型是bool,byte,ubyte,short,ushort,int,uint,long,ulong,float,double和decimal。象Java一樣,所有這些類型都有一個(gè)固定的大小。又象C和C+一樣,每個(gè)數(shù)據(jù)類型都有有符號(hào)和無符號(hào)兩種類型。與Java相同的是,一個(gè)字符變量包含的是一個(gè)16位的Unicode字符。C#新的數(shù)據(jù)類型是decimal數(shù)據(jù)類型,對(duì)于貨幣數(shù)據(jù),它能存放28位10進(jìn)制數(shù)字。C#對(duì)Windows程序
37、最大的優(yōu)點(diǎn)可能就是它與COM的無縫集成了,COM就是微軟的Win32組件技術(shù)。實(shí)際上,最終有可能在任何.NET語言里編寫COM客戶和服務(wù)器端。C#編寫的類可以子類化一個(gè)已存在的COM組件;生成的類也能被作為一個(gè)COM組件使用,然后又能使用,比方說,JScript語言子類化它從而得到第三個(gè)COM組件。這種現(xiàn)象的結(jié)果是導(dǎo)致了一個(gè)運(yùn)行環(huán)境的產(chǎn)生,在這個(gè)環(huán)境里的組件是網(wǎng)絡(luò)服務(wù),可用任何.NET語言子類化。3.4 MD5加密算法MD5的全稱是Message-Digest Algorithm 5(信息-摘要算法),它是由MD2、MD3和MD4發(fā)展而來得一種單向加密算法,也就是哈希(HASH)算法,是由國際
38、著名的公鑰加密算法標(biāo)準(zhǔn)RSA的第一設(shè)計(jì)者R.Rivest于上世紀(jì)90年代初開發(fā)出來的。加密算法一般有兩種,即單向加密算法和雙向加密算法。雙向加密是加密算法中最常用的,它將可以直接理解的明文數(shù)據(jù)加密為不可直接理解的密文數(shù)據(jù),在需要的時(shí)候,又可以使用一定的算法將這些加密以后的密文數(shù)據(jù)解密為原來的明文數(shù)據(jù),雙向加密適合于隱秘通訊。雙向加密既可以加密,又可以解密。而單向加密則剛好相反,它只能對(duì)明文數(shù)據(jù)進(jìn)行加密,而不能對(duì)加密了的密文數(shù)據(jù)再解密成原來的明文數(shù)。在實(shí)際應(yīng)用中,對(duì)軟件系統(tǒng)數(shù)據(jù)庫中的系統(tǒng)用戶信息(如用戶密碼)以及銀行賬號(hào)信息(如銀行賬號(hào)密碼)加密,例如:當(dāng)用戶注冊一個(gè)新的賬號(hào)或者使用銀行賬號(hào)時(shí),
39、這些絕密信息不是直接保存到數(shù)據(jù)庫,而是經(jīng)過單向加密后再保存,這樣,及時(shí)這些絕密信息被泄露,別人也不能得到相應(yīng)的明文數(shù)據(jù),當(dāng)然也就達(dá)不到盜竊賬號(hào)的目的。MD5算法就是單向加密的加密算法。它有兩個(gè)很重要的特征,第一是任意兩段明文數(shù)據(jù),加密以后的密文數(shù)據(jù)一定不是相同的;第二是任意一段明文數(shù)據(jù),經(jīng)過加密以后,其密文數(shù)據(jù)永遠(yuǎn)是相同的。由于MD5算法的可靠性,已經(jīng)被廣泛應(yīng)用于項(xiàng)目實(shí)踐中。經(jīng)過許多程序員的努力,MD5算法已經(jīng)被各種語言實(shí)現(xiàn),.asp,.php,.java ,c,c#,vb,vc+,delphi等語言。4.系統(tǒng)總體設(shè)計(jì)4.1功能模塊簡介在前面的系統(tǒng)的系統(tǒng)功能分析中,將系統(tǒng)劃分成9個(gè)模塊,如下圖
40、4.1所示。 用戶登錄模塊學(xué)生管理模塊課程管理模塊學(xué)生選課模塊個(gè)人信息管理模塊用戶管理模塊系統(tǒng)幫助模塊數(shù)據(jù)庫模塊找回密碼功能模塊圖4.1 系統(tǒng)模塊結(jié)構(gòu)圖用戶登錄模塊驗(yàn)證用戶名和密碼,并根據(jù)不同的用戶類型,進(jìn)行不同的操作。設(shè)置學(xué)生信息管理模塊是提供給學(xué)生管理員增加、修改、刪除學(xué)生信息。課程管理模塊提供給課程管理員,用來增加、修改、刪除選課信息。學(xué)生選課模塊提供給學(xué)生用戶,用來查詢或者刪除自己已選的課程。個(gè)人信息管理模塊提供給學(xué)生用戶,編輯學(xué)生自己的個(gè)人信息。用戶管理模塊用于用戶超級(jí)管理員,可以對(duì)用戶管理員經(jīng)行增加、刪除。系統(tǒng)幫助模塊包括查看系統(tǒng)幫助信息。找回密碼功能是對(duì)學(xué)生用戶在忘記密碼是找回密
41、碼。4.2面向?qū)ο蠓治龈鶕?jù)上面的分析,將模塊結(jié)構(gòu)圖轉(zhuǎn)換成系統(tǒng)用例圖如下圖4.2所示。圖4.2 系統(tǒng)Use Case圖1 系統(tǒng)中包含的類。系統(tǒng)中的類從系統(tǒng)包含的人員及事物開始。學(xué)生選課系統(tǒng)中包括對(duì)人員有:超級(jí)用戶、管理員、課程管理員、學(xué)生管理員、學(xué)生用戶。這些人員可以統(tǒng)稱為“系統(tǒng)用戶”,即系統(tǒng)中應(yīng)該有一個(gè)“系統(tǒng)用戶”類。系統(tǒng)包含的事物有:學(xué)生、課程。同時(shí)學(xué)生也是一類系統(tǒng)用戶。學(xué)生和課程是系統(tǒng)用戶的操作對(duì)象。因此,系統(tǒng)還應(yīng)包含“學(xué)生”類及“課程”類。2定義類的屬性?!跋到y(tǒng)用戶”類主要用于系統(tǒng)登錄及系統(tǒng)各個(gè)功能的使用,因此應(yīng)該包含“用戶名”和“密碼”屬性;系統(tǒng)中共有5種類型用戶,因此,添加“用戶角色
42、”記錄用戶的類型?!皩W(xué)生”類包括“學(xué)號(hào)”,“姓名”,“性別”,“年齡”,“所在系”?!罢n程”類包括“課程編號(hào)”,“課程名”,“學(xué)分”,“開課學(xué)期”,“總學(xué)時(shí)”。3定義類的方法。初步定義的各個(gè)類的方法,各個(gè)類都包含添加、刪除、修改、獲取信息等常規(guī)操作,系統(tǒng)用戶如若是“超級(jí)用戶”或“學(xué)生用戶”的話,還可以進(jìn)行“選課”及“取消選課”操作。4建立類之間的關(guān)系?!皩W(xué)生”和“課程”類為“系統(tǒng)用戶”類的操作對(duì)象,因此,“學(xué)生”和“課程”對(duì)象的存在依賴于“系統(tǒng)用戶”,同樣,“系統(tǒng)用戶”本身也可以操作“系統(tǒng)用戶”,對(duì)用戶進(jìn)行添加、修改、刪除等操作,因此本身也是一種依賴關(guān)系?!皩W(xué)生”和“課程”之間存在一定的關(guān)聯(lián)。
43、在分析階段中,系統(tǒng)用戶和個(gè)人信息之間存在著組合關(guān)系,學(xué)生和系統(tǒng)用戶之間存在著聚合關(guān)系。由于在實(shí)際實(shí)現(xiàn)時(shí),系統(tǒng)將所有的數(shù)據(jù)存儲(chǔ)關(guān)系數(shù)據(jù)庫中,現(xiàn)在不一定非要在系統(tǒng)用戶和個(gè)人信息兩個(gè)類之間保持組合關(guān)系,而只需要在個(gè)人信息類中保持其所屬用戶名就可以了;學(xué)生和系統(tǒng)用戶類也不用保持聚合關(guān)系,學(xué)生是一類特殊的系統(tǒng)用戶,只需在用戶表中保持學(xué)生用戶的一份拷貝即可,令學(xué)號(hào)的值為用戶名。專業(yè)和班級(jí),班級(jí)和學(xué)生,以及音樂類別和音樂之間的關(guān)系也是如此。系統(tǒng)用戶在添加一個(gè)新的用戶的時(shí)候要首先判斷是否此用戶已經(jīng)添加過,因此,添加“判斷某個(gè)用戶是否存在”方法。系統(tǒng)用戶的密碼在存儲(chǔ)的時(shí)候?yàn)榱税踩鹨娦柽M(jìn)行加密處理,因此,添加“
44、加密密碼”方法,密碼采用MD5哈希算法進(jìn)行加密,MD5是一種單向加密算法,即能加密但不能進(jìn)行解密操作。添加某種機(jī)制令用戶忘了密碼的時(shí)候可以重新設(shè)置密碼。機(jī)制規(guī)則:用戶首次登錄時(shí)提示用戶輸入一些信息,以后在忘記密碼時(shí),通過回答這些信息找回密碼;若用戶首次登錄時(shí)沒有輸入這些信息,可以在以后的時(shí)候過程中在輸入。因此,“系統(tǒng)用戶”類需添加屬性“是否首次登錄”,添加額外的“個(gè)人信息”類記錄這些額外的信息。當(dāng)添加一名學(xué)生時(shí),需要判斷這名學(xué)生是否已經(jīng)添加過,因此,添加“是否已經(jīng)存在”方法判斷一個(gè)學(xué)生是否已經(jīng)添加過。當(dāng)刪除一名學(xué)生時(shí),需要保證該名學(xué)生沒有選過課,然后再進(jìn)行刪除操作,因此,添加“是否選過課”方法
45、。獲取學(xué)生信息時(shí),有時(shí)需要獲取全部學(xué)生信息,有時(shí)需要按照條件獲取部分學(xué)生的信息,添加 “獲取全部學(xué)生信息”和“獲取部分學(xué)生信息”。當(dāng)添加一門課程時(shí),需要判斷這門課程是否已經(jīng)添加過,因此,增加“是否已經(jīng)存在”方法判斷一門課程是否已經(jīng)添加過。當(dāng)刪除一門課程時(shí),需要保證此課程沒有學(xué)生選擇,然后再進(jìn)行刪除操作,因此,增加“是否被選過”方法。獲取課程信息時(shí),有時(shí)需要獲取全部課程信息,有時(shí)需要按照條件獲取部分課程的信息,添加“獲取全部課程信息”和“獲取部分課程信息”。將對(duì)數(shù)據(jù)庫的操作封裝成一個(gè)類,其他的類對(duì)數(shù)據(jù)庫的操作通過此類進(jìn)行。將上述關(guān)系建立一個(gè)類圖如下圖2.3所示。圖4.3 系統(tǒng)類圖5.系統(tǒng)詳細(xì)設(shè)計(jì)
46、5.1數(shù)據(jù)庫設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫實(shí)體主要有“學(xué)生”、 “課程”。其中“學(xué)生”與“課程”存在“選課”聯(lián)系,一個(gè)學(xué)生可以學(xué)習(xí)N門課程,一門課程可以有M個(gè)學(xué)生學(xué)習(xí),即“學(xué)生”與“課程”之間是多對(duì)多的關(guān)系?!皩W(xué)生”還包括很多的屬性,如姓名、性別、年齡、學(xué)號(hào)、所在系等信息;“課程”也包括很多的屬性,如學(xué)時(shí)、課程學(xué)分、課程名、課程號(hào)等信息。整個(gè)數(shù)據(jù)庫可以用一個(gè)E-R圖表示,如下圖,圖5.1所示:學(xué)生課程選課學(xué)號(hào)姓名性別年齡所在系學(xué)時(shí)成績課程號(hào)課程學(xué)分課程名nm圖5.1 E-R圖5.2數(shù)據(jù)庫邏輯設(shè)計(jì)數(shù)據(jù)庫邏輯就是指確定數(shù)據(jù)庫的邏輯結(jié)構(gòu),是將ER圖轉(zhuǎn)換為關(guān)系模型的過程,即將所有實(shí)體和關(guān)系轉(zhuǎn)換成一系列的關(guān)系模式。
47、轉(zhuǎn)換過程中常見規(guī)則有:(1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式;(2)一個(gè)一對(duì)一的聯(lián)系可轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與任意一端對(duì)應(yīng)的關(guān)系模式合并;(3)一個(gè)一對(duì)多的聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與多的那一端對(duì)應(yīng)的關(guān)系模式合并;(4)一個(gè)多對(duì)多的關(guān)系轉(zhuǎn)換成一個(gè)關(guān)系模式。學(xué)生表(學(xué)號(hào),姓名,性別,年齡,所在系)課程表(課程號(hào),課程名,課程學(xué)分,學(xué)時(shí))學(xué)生選課表(學(xué)號(hào),課程號(hào),成績)系統(tǒng)用戶表(用戶名,密碼,角色,是否第一次登錄)個(gè)人信息表(用戶名,問題1答案,問題2答案,問題3答案)5.3數(shù)據(jù)物理設(shè)計(jì)根據(jù)數(shù)據(jù)庫的分析,建立如下五個(gè)數(shù)據(jù)表。學(xué)生表(Student),其結(jié)構(gòu)見表5.1所示表5.1
48、學(xué)生表字段數(shù)據(jù)類型說明Sno文本學(xué)號(hào)Sname文本姓名Ssex文本性別Sage數(shù)字年齡Sdept文本所在系課程表(Course),其結(jié)構(gòu)見表5.2所示表5.2 課程表字段數(shù)據(jù)類型說明Cno文本課程編號(hào)Cname文本課程名稱Ccredit數(shù)字學(xué)分Csemester數(shù)字開課學(xué)期CHours數(shù)字總學(xué)時(shí)學(xué)生選課表(SelectCourse),其結(jié)構(gòu)見表5.3所示表5.3 學(xué)生選課表字段數(shù)據(jù)類型說明Sno文本學(xué)號(hào)Cno文本課程號(hào)grade數(shù)字成績系統(tǒng)用戶表(User),其結(jié)構(gòu)見表5.4所示表5.4 系統(tǒng)用戶表字段數(shù)據(jù)類型說明userName文本用戶名userPwd文本密碼Role文本角色firstLog
49、in文本是否第一次登錄個(gè)人信息表(Informatian),其結(jié)構(gòu)見表5.5所示表5.5 個(gè)人信息表字段數(shù)據(jù)類型說明userName文本用戶名Answer1文本問題1答案Answer2文本問題2答案Answer3文本問題3答案6.系統(tǒng)實(shí)現(xiàn)6.1客戶端登錄界面實(shí)現(xiàn)登錄模塊是系統(tǒng)不可缺少的模塊,登錄模塊還可以保證系統(tǒng)的可靠性和安全性。登錄模塊提供用戶登錄界面,登錄時(shí),若輸入的用戶名和密碼都正確,則登錄成功,進(jìn)入系統(tǒng)的主窗體,然后可以選擇進(jìn)入相應(yīng)的子系統(tǒng)。本系統(tǒng),設(shè)計(jì)了5種系統(tǒng)用戶類型:超級(jí)用戶、管理員、課程管理員、學(xué)生管理員和學(xué)生用戶。用不同的身份,登錄成功后,可在主界面選擇使用系統(tǒng)不同的功能模塊
50、??蛻舳说牡顷懡缑嫒鐖D6.1所示。圖6.1 登錄界面6.2主界面的實(shí)現(xiàn)及權(quán)限管理主界面在用戶登錄后進(jìn)入學(xué)生選課系統(tǒng)后,可以選擇不同的子系統(tǒng),其中包括選課管理、系統(tǒng)管理和系統(tǒng)三個(gè)部分,其中選課管理包括學(xué)生管理、課程管理和選課管理,系統(tǒng)管理包括個(gè)人信息管理、系統(tǒng)用戶管理和切換系統(tǒng)用戶,系統(tǒng)包括系統(tǒng)幫助和退出。超級(jí)用戶可以使用全部的子系統(tǒng);管理員只有選課管理系統(tǒng)不能使用;課程管理員能使用的系統(tǒng)有課程管理、個(gè)人信息管理、切換系統(tǒng)用戶、系統(tǒng)幫助和退出;學(xué)生管理員能使用的系統(tǒng)有學(xué)生管理、個(gè)人信息管理、切換系統(tǒng)用戶、系統(tǒng)幫助和退出;學(xué)生用戶能使用的系統(tǒng)有選課管理、個(gè)人信息管理、切換系統(tǒng)用戶、系統(tǒng)幫助和退出。
51、主界面如圖6.2所示: 圖6.2 主界面圖6.3學(xué)生信息管理的實(shí)現(xiàn)學(xué)生信息管理模塊主要用于管理學(xué)生的基本信息,包括學(xué)號(hào)、姓名、性別、年齡和所在系,能對(duì)學(xué)生信息進(jìn)行添加、刪除、修改和查詢等操作。并且,在添加或刪除學(xué)生信息時(shí),同時(shí)需要在系統(tǒng)用戶表中注冊或刪除相應(yīng)的“學(xué)生用戶”。在本系統(tǒng)中,設(shè)定默認(rèn)用戶名為學(xué)生號(hào),密碼也設(shè)定為學(xué)生學(xué)號(hào)。學(xué)生管理的界面如圖6.3所示。圖6.3 學(xué)生管理界面圖6.4課程管理的實(shí)現(xiàn)課程信息管理模塊主要用于管理課程信息,包括課程號(hào)、課程名、學(xué)分、開學(xué)學(xué)期和總學(xué)時(shí),能對(duì)課程信息進(jìn)行添加、刪除、修改和查詢等操作。課程管理界面如圖6.4所示:圖6.4 課程管理界面圖6.5學(xué)生選課
52、信息管理的實(shí)現(xiàn)選課信息管理模塊主要用于管理學(xué)生選課信息,以記錄的形式表示學(xué)生的選課情況,每條記錄都包括選課學(xué)生的學(xué)號(hào)、學(xué)生的姓名、所選課程的課程號(hào)、課程名稱、開課學(xué)期和該課程的考試成績。選課信息管理模塊提供了選課和選課信息查詢等功能。以“超級(jí)用戶”身份登錄,可以為所有學(xué)生選課;以“學(xué)生用戶”身份登錄,可以為自己選課。學(xué)生選課的界面分為“超級(jí)用戶”(如圖6.5所示 )和“學(xué)生用戶”(如圖6.6所示)兩種。圖6.5 超級(jí)用戶選課界面圖圖6.5 學(xué)生用戶選課界面圖6.6個(gè)人信息的實(shí)現(xiàn)個(gè)人信息管理模塊主要用于管理系統(tǒng)用戶的個(gè)人信息,包括設(shè)置找回密碼問題的答案,修改用戶密碼等。在本系統(tǒng)中,“管理員”是由
53、“超級(jí)用戶”注冊的,“課程管理用戶”和“學(xué)生管理用戶”是由“超級(jí)用戶”或者“管理員”注冊的,而“學(xué)生用戶”是在添加學(xué)生信息時(shí)注冊的,所以注冊用戶時(shí)無法為用戶提供設(shè)置“找回密碼問題”答案的功能。而又因?yàn)橄到y(tǒng)中的用戶密碼是用MD5加密后存儲(chǔ)的,為了能夠在忘記密碼的情況下,通過提供“找回密碼問題”的答案來修改用戶密碼,這就需要用戶在初次登錄系統(tǒng)時(shí)提示用戶設(shè)置“找回密碼問題”的答案,否則一旦忘記用戶密碼,將無法找回。個(gè)人信息的界面如圖6.7所示。圖6.7 個(gè)人信息圖6.7系統(tǒng)用戶管理的實(shí)現(xiàn)用戶管理模塊主要用于管理(注冊和刪除)系統(tǒng)用戶。注冊和刪除用戶的權(quán)限分配規(guī)則是:“超級(jí)用戶”可以注冊和刪除“管理員
54、”、“課程管理員”和“學(xué)生管理員”,“管理員”可以注冊和刪除“課程管理員”和“學(xué)生管理員”,“課程管理員”、“學(xué)生管理員”和“學(xué)生用戶”則不具有本子系統(tǒng)的使用權(quán)限,即不能進(jìn)行注冊和刪除系統(tǒng)用戶的操作。用戶管理的界面如圖6.8所示。圖6.8 系統(tǒng)用戶圖6.8系統(tǒng)幫助的實(shí)現(xiàn)幫助模塊用于給用戶提供一些幫助信息,如軟件版本、作者聯(lián)系方式、系統(tǒng)使用說明等信息系統(tǒng)幫助的界面如圖6.9所示。圖6.9 系統(tǒng)幫助圖6.9找回密碼的實(shí)現(xiàn)找回用戶密碼模塊用于提供“找回”用戶密碼功能。因?yàn)橄到y(tǒng)用戶密碼是用MD5加密算法加密再存儲(chǔ)的,故用戶一旦忘記密碼,系統(tǒng)將無法知道用戶的當(dāng)前密碼。設(shè)計(jì)本模塊的目的就是當(dāng)用戶忘記密碼的
55、時(shí)候,可以通過本模塊提供“找回密碼問題”的答案來重設(shè)用戶密碼。找回密碼的界面如圖6.10所示:圖6.10找回密碼界面圖結(jié)論本系統(tǒng)從學(xué)生選課的需求設(shè)計(jì)、功能的設(shè)計(jì)以及數(shù)據(jù)庫的設(shè)計(jì)等幾個(gè)方面探討了學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),最終采用了基于Client / Server結(jié)構(gòu)應(yīng)用c#和Access數(shù)據(jù)庫相結(jié)合的方法實(shí)現(xiàn)學(xué)生選課系統(tǒng),該系統(tǒng)在Windows操作系統(tǒng)上運(yùn)行,可以方便快捷完成以往需要大量人力的繁雜工作,極大地方便了教學(xué)管理。此系統(tǒng)是針對(duì)防災(zāi)科技學(xué)院的實(shí)際情況開發(fā)的。本系統(tǒng)基本上達(dá)到了最初設(shè)計(jì)的目的,由于知識(shí)上還有一些不足,有些地方還有少許的錯(cuò)誤,但是系統(tǒng)所需的九大模塊已經(jīng)完成,能夠?qū)崿F(xiàn)不同的用戶使用不同的系統(tǒng)子功能,可滿足不同的用戶在安裝有客戶端的機(jī)器上進(jìn)行不同的操作。本系統(tǒng)在正常運(yùn)行中需要對(duì)學(xué)生信息、課程信息進(jìn)行管理,利用學(xué)生系統(tǒng)及時(shí)了解各個(gè)關(guān)節(jié)中信息的更變,有利于提高管理。 致謝緊張而忙碌的畢業(yè)設(shè)計(jì)就要結(jié)束了,在完成了系統(tǒng)的功能設(shè)計(jì)后,我感到由衷的喜悅和自豪。在我做畢業(yè)設(shè)計(jì)期間,許多老師、同學(xué)和朋友給了我無私的關(guān)懷和幫助。在此,我要向他們表示衷心的感謝。首先非常感謝防災(zāi)科技學(xué)院給予我人生中最寶貴四年的培養(yǎng),感謝學(xué)院各位老師,老師們治學(xué)嚴(yán)謹(jǐn),學(xué)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ù)防兒童疾病課件
- 汽車美容洗車培訓(xùn)
- 音視頻工程師課件
- 油田開發(fā)項(xiàng)目建設(shè)管理方案(參考模板)
- 電網(wǎng)側(cè)獨(dú)立儲(chǔ)能示范項(xiàng)目質(zhì)量管理方案(模板)
- xx片區(qū)城鄉(xiāng)供水一體化項(xiàng)目人力資源管理方案(參考)
- 2025年礦業(yè)開采模塊項(xiàng)目合作計(jì)劃書
- 2025年耐侯鋼合作協(xié)議書
- 2025年年物流倉儲(chǔ)項(xiàng)目建議書
- 2025年地震數(shù)字遙測接收機(jī)項(xiàng)目發(fā)展計(jì)劃
- 抖音技巧培訓(xùn)課件
- 職業(yè)規(guī)劃樂高老師課件
- 建設(shè)工程廣聯(lián)達(dá)算量標(biāo)準(zhǔn)化要求(內(nèi)部標(biāo)準(zhǔn))
- 路燈安裝考試試題及答案
- 赤峰市翁牛特旗招聘社區(qū)工作者筆試真題2024
- 線上游戲賬號(hào)及虛擬物品交易合同
- GB/T 19352.1-2003熱噴涂熱噴涂結(jié)構(gòu)的質(zhì)量要求第1部分:選擇和使用指南
- 智護(hù)訓(xùn)練講解學(xué)習(xí)課件
- 母乳喂養(yǎng)自我效能量表(BSES) (1)附有答案
- 2023年鹽城市阜寧縣人民醫(yī)院醫(yī)護(hù)人員招聘筆試題庫及答案解析
- 畢業(yè)論文答辯
評(píng)論
0/150
提交評(píng)論