課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)_第1頁(yè)
課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)_第2頁(yè)
課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)_第3頁(yè)
課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)_第4頁(yè)
課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)本科畢業(yè)設(shè)計(jì)(論文)第I頁(yè)院系信息科學(xué)與技術(shù)學(xué)院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)年級(jí)2002姓名xxxxx題目課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師(簽章)評(píng)閱人評(píng)語(yǔ)評(píng)閱人(簽章)成績(jī)答辯委員會(huì)主任(簽章)年月日本科畢業(yè)設(shè)計(jì)(論文)第II頁(yè)班級(jí)xxxxxx班學(xué)生姓名xxxxxx學(xué)號(hào)20020051專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)發(fā)題日期:2006年2月28日完成日期:2006年6月15日課堂考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn):工程設(shè)計(jì)技術(shù)專題研究理論研究軟硬件產(chǎn)品開(kāi)發(fā)調(diào)研分析系統(tǒng)的業(yè)務(wù)流程和功能需求;分析掌握系統(tǒng)的軟硬件環(huán)境;信息系統(tǒng)的軟件結(jié)構(gòu)。系統(tǒng)全部考勤登記使用鍵盤/鼠標(biāo)完成,將考勤分為出勤、病假、事假、缺勤等狀態(tài),可按課程、班級(jí)、個(gè)人的學(xué)號(hào)或姓名統(tǒng)計(jì)出勤情況。選用一種編程高級(jí)語(yǔ)言、SQLserver等工具開(kāi)發(fā)實(shí)現(xiàn)各子系統(tǒng);采用模擬數(shù)據(jù)進(jìn)行各子系統(tǒng)運(yùn)行調(diào)試,和系統(tǒng)的。1.系統(tǒng)需求分析、系統(tǒng)功能及數(shù)據(jù)庫(kù)設(shè)計(jì);2.程序開(kāi)發(fā)與調(diào)試;3.系統(tǒng)測(cè)試、運(yùn)行與演示;系統(tǒng)分析設(shè)計(jì)文檔,設(shè)計(jì)論文(包括書面和電子兩部分),原程序電子文檔。1.《網(wǎng)站ASP后臺(tái)解決方案》;2.《IIS5.0與ASP網(wǎng)站建設(shè)》;3.《ASP與SQL網(wǎng)站數(shù)據(jù)庫(kù)程序設(shè)計(jì)》。1.相關(guān)資料、論文、數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)相關(guān)資料;2.軟件工程規(guī)范和標(biāo)準(zhǔn);3.程序設(shè)計(jì)語(yǔ)言、開(kāi)發(fā)工具手冊(cè)。本科畢業(yè)設(shè)計(jì)(論文)第III頁(yè)第一部分確定題目,確定開(kāi)發(fā)技術(shù),查找相關(guān)資料;(2周)第二部分作需求分析,系統(tǒng)分析及設(shè)計(jì),完成數(shù)據(jù)庫(kù)設(shè)計(jì);(4周)第三部分系統(tǒng)編碼設(shè)計(jì)及實(shí)現(xiàn)、調(diào)試、美工;(7周)第四部分撰寫論文。(3周)評(píng)閱及答辯指導(dǎo)教師:年月日系主任審查意見(jiàn):審批人:年月日注:設(shè)計(jì)任務(wù)書審查合格后,發(fā)到學(xué)生手上。西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院2006年制本科畢業(yè)設(shè)計(jì)(論文)第IV頁(yè)本系統(tǒng)是基于ASP技術(shù)建立的課堂考勤管理系統(tǒng),其目標(biāo)是完成高校教學(xué)中課堂考勤管理。系統(tǒng)主要包括未登錄用戶模塊、學(xué)生模塊、教師模塊、教務(wù)員模塊四個(gè)功能模塊。其中未登錄用戶模塊實(shí)現(xiàn)了信息查找、查看留言、瀏覽新聞公告、校園風(fēng)景等功能;學(xué)生模塊實(shí)現(xiàn)了學(xué)生信息修改、留言與查看留言、考勤查看等功能;教師模塊實(shí)現(xiàn)了教師修改信息、查看留言和回復(fù)留言、按教學(xué)班考勤等功能;教務(wù)員模塊主要實(shí)現(xiàn)了密碼修改、對(duì)學(xué)生、教師、課程、學(xué)生選課等信息的管理、對(duì)新聞公告和校園風(fēng)景以及留言的管理等功能。系統(tǒng)采用ASP技術(shù),以IIS5.1(InternetInformationServer5.1)為web服務(wù)器、MicrosoftSQLServer2000為數(shù)據(jù)庫(kù)系統(tǒng),建立了一個(gè)基于B/S模式的三層體系的課堂考勤管理網(wǎng)站系統(tǒng)。全文分為四章,按照軟件工程的流程,詳細(xì)地介紹了系統(tǒng)設(shè)計(jì)及開(kāi)發(fā)的過(guò)程。第一章緒論,介紹了系統(tǒng)開(kāi)發(fā)背景、可行性分析和采用的技術(shù);第二章系統(tǒng)設(shè)計(jì)與分析,包括系統(tǒng)的需求分析、設(shè)計(jì)思想、功能設(shè)計(jì);第三章數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn),包括數(shù)據(jù)庫(kù)的需求分析、邏輯設(shè)計(jì)及其數(shù)據(jù)表結(jié)構(gòu)創(chuàng)建;第四章系統(tǒng)總體設(shè)計(jì),詳細(xì)介紹了各功能模塊的編碼設(shè)計(jì)和實(shí)現(xiàn),討論了系統(tǒng)編碼中的難點(diǎn)和重點(diǎn)問(wèn)題。關(guān)鍵詞:ASP;數(shù)據(jù)庫(kù);B/S模式;考勤西南交通大學(xué)本科畢業(yè)設(shè)計(jì)(論文)第V頁(yè)AbstractTheclassroomcheckingattendancemanagementsystemisbasedonASPtechnology.Itsgoaliscompletingtheclassroomcheckingattendanceinuniversities.Thesystemmainlyincludesfourmodules.Theyaretheusernotregisteredmodule,studentmodule,teachermoduleandEducationaladministrationpersonnelmodule.Inwhichhasnotregisteredtheusermodulehasmunchfunctions,suchassearchinginformation,browsingallmessages,news,announcementandcampussceneryandsoon;Thestudentmodulerealizedfunctionssuchasmodifyingstudentinformation,observingtheresultsofcheckingattendance,browsingandmodifyingthemessageofthestudentuser;Theteachermodulerealizedtheteachertorevisetheinformation,toexaminemessageandthereply,checkattendanceaccordingtotheclass;Thelastmodulemainlyrealizedthepasswordtorevise,theinformationofthestudent,theteacher,thecoursetomanage,thenewsandtheannouncementandthecampussceneryaswellasthemessagestomanage.ThesystemusingtheASPtechnology;takingIIS5.1(InternetInformationServer5.1)asthewebserver,MicrosoftSQLServer2000asthedatabasesystem,hasestablishedthewebsitesystemofclassroomcheckingattendancemanageswhichisbasedonB/Spattern.Thethesisdividesintofourchapters,accordingtothesoftwareengineeringflow,indetailintroducesthesystemdesignandthedevelopmentprocess.Firstintroducesthesystemdevelopmentbackground,thefeasibilityanalysisandusedtechnology;thendetailedintroducesthesystemdesignandtheanalysis,includingsystemanalysisdemand,designthought,functionaldesign;nextintroducesthedatabasedesignandrealization,includingdatabaseanalysisdemand,logicaldesignanditsdatasheetstructure.Finallyisthesystemtotaldesign,itintroduceseachmodule’sfunctionspecificcodedesignedandrealizedindetail,anddiscussesthedifficultiesandthekeyquestionsinsystemcodes.keywordsASP;database;B/Spattern;checkingattendant本科畢業(yè)設(shè)計(jì)(論文)目錄摘要IVAbstractV第1章緒論11.1開(kāi)發(fā)背景11.1.1課題研究?jī)?nèi)容和意義11.1.2課題主要工作21.2系統(tǒng)可行性分析21.3技術(shù)分析31.3.1B/S和C/S模式31.3.2ASP技術(shù)51.3.3HTML和CSS71.3.4JavaScript7第2章系統(tǒng)分析與設(shè)計(jì)92.1系統(tǒng)需求分析92.1.1需求概述92.1.2系統(tǒng)設(shè)計(jì)目標(biāo)92.1.3系統(tǒng)功能需求102.1.4系統(tǒng)設(shè)計(jì)思想102.2系統(tǒng)開(kāi)發(fā)環(huán)境、技術(shù)、軟件的選擇112.2.1開(kāi)發(fā)技術(shù)112.2.2開(kāi)發(fā)環(huán)境、軟件工具12第3章數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)133.1MicrosoftSQLServer2000簡(jiǎn)介133.2數(shù)據(jù)庫(kù)需求分析133.3數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)173.3.1將E-R模型轉(zhuǎn)化為關(guān)系模式173.3.2優(yōu)化關(guān)系模式183.4數(shù)據(jù)庫(kù)結(jié)構(gòu)創(chuàng)建183.4.1建立數(shù)據(jù)表193.4.2數(shù)據(jù)表間的關(guān)系23第4章系統(tǒng)詳細(xì)設(shè)計(jì)244.1ASP連接和打開(kāi)數(shù)據(jù)庫(kù)24本科畢業(yè)設(shè)計(jì)(論文)4.2首頁(yè)254.3用戶登錄264.3.1不訪問(wèn)服務(wù)器JavaScript函數(shù)驗(yàn)證274.3.2登陸服務(wù)器訪問(wèn)驗(yàn)證284.4學(xué)生功能模塊設(shè)計(jì)294.4.1信息修改294.4.2考勤察看314.4.3留言314.5教師功能模塊設(shè)計(jì)334.6教務(wù)員功能模塊設(shè)計(jì)354.6.1教務(wù)員模塊框架設(shè)計(jì)354.6.2新聞公告和校園風(fēng)景管理364.6.3學(xué)生、教師、課程、選課信息的管理404.6.4留言本的管理414.7系統(tǒng)美工設(shè)計(jì)42結(jié)論43致謝44參考文獻(xiàn)45附錄46本科畢業(yè)設(shè)計(jì)(論文)第1頁(yè)Internet是目前世界上最大的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個(gè)整體。作為Internet上一種先進(jìn)的,易于被人們所接受的信息檢索手段,WorldWideWeb(簡(jiǎn)稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫(kù)。據(jù)估計(jì),目前Internet上已有上百萬(wàn)個(gè)Web站點(diǎn),其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂(lè)、體育等各個(gè)領(lǐng)域,其用戶群十分龐大,因此,建設(shè)一個(gè)好的Web站點(diǎn)對(duì)于一個(gè)機(jī)構(gòu)的發(fā)展十分重要。近年來(lái),隨著網(wǎng)絡(luò)用戶要求的不斷提高及計(jì)算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫(kù)技術(shù)在Internet中的廣泛應(yīng)用,Web站點(diǎn)向用戶提供的服務(wù)將越來(lái)越豐富,越來(lái)越人性化。Web數(shù)據(jù)庫(kù)在新的Internet環(huán)境中發(fā)生了很大的變化。就應(yīng)用而言呈現(xiàn)出多樣化的空間,如數(shù)字圖書館、電子出版物、電子商務(wù)、遠(yuǎn)程教育系統(tǒng)等的出現(xiàn),給web數(shù)據(jù)庫(kù)技術(shù)提出了更多、更高的要求。隨著國(guó)內(nèi)高校校園網(wǎng)的建設(shè)的追捕完善,基于互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)的開(kāi)發(fā)正在蓬勃發(fā)展并發(fā)揮著較大的作用。例如,我國(guó)許多高校的網(wǎng)上招生系統(tǒng),學(xué)校的各種管理信息系統(tǒng),學(xué)校選課系統(tǒng),還有一些醫(yī)學(xué)院校開(kāi)發(fā)出的網(wǎng)上診所、遠(yuǎn)程診斷系統(tǒng)等等,都是基于校園網(wǎng)的應(yīng)用系統(tǒng)。國(guó)外的教學(xué)科研軟件與國(guó)內(nèi)相比開(kāi)發(fā)的早而且比較成熟。早在七十年代末,美國(guó)就建成了NSFNET(國(guó)家科學(xué)基金網(wǎng)),其課題的申報(bào)及課題的進(jìn)展情況匯報(bào)都在網(wǎng)上進(jìn)行。其網(wǎng)上教學(xué)教務(wù)管理系統(tǒng)也十分完善,世界各地的學(xué)生可以坐在家里通過(guò)互聯(lián)網(wǎng)完成入學(xué)報(bào)名、選課、考試、畢業(yè)論文、取得學(xué)位這一學(xué)習(xí)生活的全過(guò)程。目前,國(guó)際上已具規(guī)模的遠(yuǎn)程教育學(xué)校就有數(shù)百所之多,網(wǎng)上教育正在各地發(fā)揮著巨大的作用,為世界各國(guó)培養(yǎng)出大批人才。所有這些都表明,基于Internet的校園網(wǎng)的應(yīng)用已深入到校園內(nèi)的各個(gè)方面。在高等學(xué)校的教務(wù)管理工作中,課堂考勤是一個(gè)重要的環(huán)節(jié),它督促著教學(xué)正常有效的進(jìn)行。目前高等學(xué)校的考勤工作還是傳統(tǒng)的手工方式。這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)越來(lái)越普遍,其強(qiáng)大的功能本科畢業(yè)設(shè)計(jì)(論文)第2頁(yè)已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)考勤信息進(jìn)行管理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高課堂考勤管理的效率,也是學(xué)校教學(xué)科學(xué)化、正規(guī)化的重要條件。因此,開(kāi)發(fā)這樣一套軟件成為很有必要的事情。課題主要研究以下內(nèi)容:(1)掌握采用Internet的TCP/IP協(xié)議,以B/S方式,ASP編程技術(shù)。(2)掌握一種多任務(wù)多用戶操作系統(tǒng)。(3)ASP的動(dòng)態(tài)網(wǎng)頁(yè)和SQLServer大型的數(shù)據(jù)庫(kù)。(4)學(xué)會(huì)使用幾種開(kāi)發(fā)工具。本文以開(kāi)發(fā)一套課堂考勤管理系統(tǒng)為例,詳細(xì)的說(shuō)明了一個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。本文中所做的主要工作如下:(1)掌握WindowsXP+IIS+ASP系統(tǒng)的一般原理;(2)闡述整個(gè)個(gè)性化頁(yè)面生成系統(tǒng)的系統(tǒng)結(jié)構(gòu)及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)和重點(diǎn);(3)設(shè)計(jì)實(shí)現(xiàn)用戶登錄、考勤管理、留言板、增加、修改、刪除查找信息等ASP頁(yè)面;(4)分析并解決實(shí)現(xiàn)中的若干技術(shù)問(wèn)題;(5)建立完整的課堂考勤管理系統(tǒng),進(jìn)行測(cè)試并分析結(jié)果。(1)技術(shù)可行性本系統(tǒng)僅需要一臺(tái)裝有MicrosoftSQLServer2000的計(jì)算機(jī)即可,對(duì)機(jī)器本身沒(méi)有太高的要求,一般當(dāng)前學(xué)?;騻€(gè)人電腦完全可滿足要求。對(duì)于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計(jì)語(yǔ)言已非常成熟,運(yùn)用HTML樣式,圖形、圖像制作工具來(lái)制作生動(dòng)活潑的網(wǎng)頁(yè)及美觀的圖形文件或動(dòng)畫文件,采用B/S模式,利用ASP技術(shù),使用本科畢業(yè)設(shè)計(jì)(論文)第3頁(yè)SQLServer2000中提供的數(shù)據(jù)庫(kù)。所以在技術(shù)上完全可行。(2)經(jīng)濟(jì)可行性由于本系統(tǒng)是高校課堂考勤管理的系統(tǒng),只要電腦聯(lián)入互聯(lián)網(wǎng),即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)的開(kāi)發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力,提高學(xué)校的考勤效率。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開(kāi)發(fā)成本,在經(jīng)濟(jì)上完全可行。(3)操作可行性界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。所以系統(tǒng)操作上完全可行。本系統(tǒng)結(jié)構(gòu)為B/S模式,采用ASP技術(shù)。網(wǎng)頁(yè)制作技術(shù)采用HTML,采用JavaScript和CSS技術(shù),使得網(wǎng)頁(yè)操作方便、快捷,而且界面美觀、個(gè)性。1.兩種模式的簡(jiǎn)介:B/S(Browser/Server,瀏覽器/服務(wù)器)模式又稱B/S結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S模式應(yīng)用的擴(kuò)展。在這種結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶表現(xiàn)完全在Web服務(wù)器實(shí)現(xiàn),客戶端只需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首圖1-1B/S模式應(yīng)用系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖選體系結(jié)構(gòu)。B/S模式最大的好處是運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù);最大的缺點(diǎn)是對(duì)企業(yè)外部網(wǎng)絡(luò)環(huán)境依賴性太強(qiáng),由于各種原因引起企本科畢業(yè)設(shè)計(jì)(論文)第4頁(yè)業(yè)外網(wǎng)中斷都會(huì)造成系統(tǒng)癱瘓。典型的B/S模式應(yīng)用系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1-1所示。C/S(Client/Server,客戶機(jī)/服務(wù)器)模式又稱C/S結(jié)構(gòu),是軟件系統(tǒng)體系結(jié)構(gòu)的一種,為客戶機(jī)和服務(wù)器兩層,客戶機(jī)不是毫無(wú)運(yùn)算能力的輸入、輸出設(shè)備,而是據(jù)有了一定的數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)能力,通過(guò)把應(yīng)用軟件的計(jì)算和數(shù)據(jù)合理地分配在客戶機(jī)和服務(wù)器兩端,可以有效地降低網(wǎng)絡(luò)通信量和服務(wù)器運(yùn)算量。C/S模式簡(jiǎn)單地講就是基于企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。與B/S(Browser/Server,瀏覽器/服務(wù)器)模式相比,C/S模式的應(yīng)用系統(tǒng)最大的好處是不依賴企業(yè)外網(wǎng)環(huán)境,即無(wú)論企業(yè)是否能夠上網(wǎng),都不影響應(yīng)用。典型的C/S模式應(yīng)用系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1-2所示。圖1-2C/S模式應(yīng)用系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖2.兩種模式的比較:(1)投入成本比較:B/S結(jié)構(gòu)軟件一般只有初期一次性投入成本,而C/S結(jié)構(gòu)的軟件則不同,隨著應(yīng)用范圍的擴(kuò)大,投資會(huì)連綿不絕。(2)硬件投資保護(hù)比較:應(yīng)用范圍擴(kuò)大,系統(tǒng)負(fù)載上升時(shí),C/S結(jié)構(gòu)軟件的一般解決方案是購(gòu)買更高級(jí)的中央服務(wù)器,原服務(wù)器放棄不用,這是由于C/S軟件的兩層結(jié)構(gòu)造成的,這類軟件的服務(wù)器程序必須部署在一臺(tái)計(jì)算機(jī)上;而B(niǎo)/S結(jié)構(gòu)則不同,隨著服務(wù)器負(fù)載的增加,可以平滑地增加服務(wù)器的個(gè)數(shù),然后在各個(gè)服務(wù)器之間做負(fù)載均衡。有效地保護(hù)了原有硬件投資。(3)數(shù)據(jù)安全性比較:由于C/S結(jié)構(gòu)軟件的數(shù)據(jù)分布特性,客戶端所發(fā)生的火災(zāi)、盜搶、病毒、等都成了可怕的數(shù)據(jù)殺手。另外,對(duì)于集團(tuán)級(jí)的異地軟件應(yīng)用,C/S結(jié)構(gòu)的軟件必須在本科畢業(yè)設(shè)計(jì)(論文)第5頁(yè)各地安裝多個(gè)服務(wù)器,并在多個(gè)服務(wù)器之間進(jìn)行數(shù)據(jù)同步。如此一來(lái),每個(gè)數(shù)據(jù)點(diǎn)上的數(shù)據(jù)安全都影響了整個(gè)應(yīng)用的數(shù)據(jù)安全。所以,對(duì)于集團(tuán)級(jí)的大型應(yīng)用來(lái)講,C/S結(jié)構(gòu)軟件的安全性是令人無(wú)法接受的。對(duì)于B/S結(jié)構(gòu)的軟件來(lái)講,由于其數(shù)據(jù)集中存放于總部的數(shù)據(jù)庫(kù)服務(wù)器,客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫(kù)連接信息,也無(wú)需進(jìn)行什么數(shù)據(jù)同步,所以這些安全問(wèn)題也就自然不存在了。(4)數(shù)據(jù)一致性比較:在C/S結(jié)構(gòu)軟件的解決方案里,對(duì)于異地經(jīng)營(yíng)的大型集團(tuán)都采用各地安裝區(qū)域級(jí)服務(wù)器,然后再進(jìn)行數(shù)據(jù)同步的模式。這些服務(wù)器每天必須同步完畢之后,總部才可得到最終的數(shù)據(jù)。由于局部網(wǎng)絡(luò)故障造成個(gè)別數(shù)據(jù)庫(kù)不能同步不說(shuō),即使同步上來(lái),各服務(wù)器也不是一個(gè)時(shí)點(diǎn)上的數(shù)據(jù),數(shù)據(jù)永遠(yuǎn)無(wú)法一致,不能用于決策。對(duì)于B/S結(jié)構(gòu)的軟件來(lái)講,其數(shù)據(jù)是集中存放的,客戶端發(fā)生的每一筆業(yè)務(wù)單據(jù)都直接進(jìn)入到中央數(shù)據(jù)庫(kù),不存在數(shù)據(jù)一致性的問(wèn)題。(5)服務(wù)響應(yīng)及時(shí)性比較:C/S結(jié)構(gòu)軟件,由于其應(yīng)用是分布的,需要對(duì)每一個(gè)使用節(jié)點(diǎn)進(jìn)行程序安裝,所以,即使非常小的程序缺陷都需要很長(zhǎng)的重新部署時(shí)間,重新部署時(shí),為了保證各程序版本的一致性,必須暫停一切業(yè)務(wù)進(jìn)行更新(即"休克更新"),其服務(wù)響應(yīng)時(shí)間基本不可忍受。而B(niǎo)/S結(jié)構(gòu)的軟件不同,其應(yīng)用都集中于總部服務(wù)器上,各應(yīng)用結(jié)點(diǎn)并沒(méi)有任何程序,一個(gè)地方更新則全部應(yīng)用程序更新,可以做到快速服務(wù)響應(yīng)。(6)網(wǎng)絡(luò)應(yīng)用限制比較:C/S結(jié)構(gòu)軟件僅適用于局域網(wǎng)內(nèi)部用戶或?qū)拵в脩?1M以上);而B(niǎo)/S結(jié)構(gòu)軟件可以適用于任何網(wǎng)絡(luò)結(jié)構(gòu)(包括28.8K撥號(hào)入網(wǎng)方式),特別適于寬帶不能到達(dá)的地方(例如雙匯集團(tuán)的某些分公司,僅靠電話上網(wǎng)即可正常使用軟件系統(tǒng))。ASP是ActiveServerPages的縮寫,中文名稱叫做“動(dòng)態(tài)服務(wù)器頁(yè)面”。ASP內(nèi)含于IIS(InternetInformationServer)中,是Microsoft開(kāi)發(fā)的服務(wù)器的腳本環(huán)境。通過(guò)ASP,可以結(jié)合HTML(HypertextMarkupLanguage)、腳本命令和ActiveX組件來(lái)創(chuàng)建動(dòng)態(tài)、交互且高效的Web服務(wù)器應(yīng)用程序。下邊是運(yùn)行ASP所需的環(huán)境:MicrosoftInternetInformationServeronWindowsNTServer;本科畢業(yè)設(shè)計(jì)(論文)第6頁(yè)MicrosoftPeerWebServicesonWindowsNTWorkstation;MicrosoftPersonalWebServeronWindows95/98。ASP程序其實(shí)是以擴(kuò)展名為.asp的純文本形式存在于WEB服務(wù)器上的,你可以用任何文本編輯器打開(kāi)它,ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令。ASP程序的控制部份,是使用VBScript、JScript、JavaScript等腳本語(yǔ)言來(lái)設(shè)計(jì)的,當(dāng)執(zhí)行ASP程序時(shí),腳本程序?qū)⒁徽酌畎l(fā)送給腳本解釋器(即腳本引擎),由腳本解釋器進(jìn)行翻譯并將其轉(zhuǎn)換成服務(wù)器所能執(zhí)行的命令。當(dāng)然,同其他編程語(yǔ)言一樣,ASP程序的編寫也遵循一定的規(guī)則,如果你想使用你所喜愛(ài)的腳本語(yǔ)言編寫ASP程序,那么你的服務(wù)器上必須要有能解釋這種腳本語(yǔ)言的腳本解釋器。當(dāng)你安裝ASP時(shí),系統(tǒng)提供了兩種腳本語(yǔ)言:VBScript和JScript,而VBScript則被作為系統(tǒng)默認(rèn)的腳本語(yǔ)言。你也可以根據(jù)自己的喜好改變系統(tǒng)默認(rèn)的腳本語(yǔ)言。將ASP程序放在WEB服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),就可以通過(guò)WWW的方式訪問(wèn)ASP程序了。有了ASP你就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行你所編寫的代碼,因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。ASP的工作原理為:當(dāng)在Web站點(diǎn)中融入ASP功能后,將發(fā)生以下事情:1、用戶調(diào)出站點(diǎn)內(nèi)容,默認(rèn)頁(yè)面的擴(kuò)展名是.asp。2、瀏覽器從服務(wù)器上請(qǐng)求ASP文件。3、服務(wù)器端腳本開(kāi)始運(yùn)行ASP。4、ASP文件按照從上到下的順序開(kāi)始處理,執(zhí)行腳本命令,執(zhí)行HTML頁(yè)面內(nèi)容。5、頁(yè)面信息發(fā)送到瀏覽器。因?yàn)槟_本是在服務(wù)器端運(yùn)行的,所以Web服務(wù)器完成所有處理后,將標(biāo)準(zhǔn)的HTML頁(yè)面送往瀏覽器。這意味著,ASP只能在可以支持的服務(wù)器上運(yùn)行。讓腳本駐留在服務(wù)器端的另外一個(gè)益處是:用戶不可能看到原始腳本程序的代碼,用戶看到的,僅僅是最終產(chǎn)生的HTML內(nèi)容?,F(xiàn)在我們可以了解以下他的特點(diǎn)了,以下羅列了ActiveServerPages所獨(dú)具的一些特點(diǎn):(1)使用VBScript、JavaScript等簡(jiǎn)單易懂的腳本語(yǔ)言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。(2)無(wú)須compile編譯,容易編寫,可在服務(wù)器端直接運(yùn)行。(3)使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計(jì)。本科畢業(yè)設(shè)計(jì)(論文)第7頁(yè)(4)與瀏覽器無(wú)關(guān)(BrowserIndependence),用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ActiveServerPages所設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。ActiveServerPages所使用的腳本語(yǔ)言(VBScript、Jscript)均在WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語(yǔ)言。(5)ActiveServerPages的源程序,不會(huì)被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。以上只是ASP的奇妙之處的點(diǎn)滴,他的優(yōu)點(diǎn)多不勝舉,這也是為什么本系統(tǒng)要使用它作為開(kāi)發(fā)技術(shù)的原因。最后我們關(guān)注一下ADO,ADO(ActiveXDataObject,ActiveX數(shù)據(jù)對(duì)象)是一個(gè)ASP內(nèi)置的ActiveX服務(wù)器組件(ActiveXServerComponent),用于數(shù)據(jù)庫(kù)訪問(wèn),可把它與ASP結(jié)合起來(lái),建立提供數(shù)據(jù)庫(kù)信息的網(wǎng)頁(yè)內(nèi)容,對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、插入、更新、刪除等操作。HTML是HypertextMarkupLanguage(超文本標(biāo)記語(yǔ)言)的縮寫,它是構(gòu)成Web頁(yè)面的主要工具,是用來(lái)表示網(wǎng)上信息的符號(hào)標(biāo)記語(yǔ)言。HTML是網(wǎng)絡(luò)的通用語(yǔ)言,一種簡(jiǎn)單、通用的全置標(biāo)記語(yǔ)言。它允許網(wǎng)頁(yè)制作人建立文本與圖片相結(jié)合的復(fù)雜頁(yè)面,這些頁(yè)面可以被網(wǎng)上任何其他人瀏覽到,無(wú)論使用的是什么類型的電腦或?yàn)g覽器。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說(shuō)明文字、圖形、動(dòng)畫、聲音、表格、鏈接等。HTML的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說(shuō)明的具體內(nèi)容。CSS即CascadingStyleSheet(級(jí)聯(lián)樣式單)的縮寫,我們又常稱這為風(fēng)格樣式單StyleSheet,顧名思義,是用來(lái)進(jìn)行網(wǎng)頁(yè)風(fēng)格設(shè)計(jì)的,用于(增強(qiáng))控制網(wǎng)頁(yè)樣式并允許將樣式信息與網(wǎng)頁(yè)內(nèi)容分離的一種標(biāo)記性語(yǔ)言。通過(guò)設(shè)立樣式表,我們可以統(tǒng)一地控制HMTL中標(biāo)志的顯示屬性。HTML和CSS結(jié)合可以制作出美觀大方,有自己個(gè)性風(fēng)格的網(wǎng)頁(yè)。JavaScript是一種解釋性的,基于對(duì)象的腳本語(yǔ)言(aninterpreted,本科畢業(yè)設(shè)計(jì)(論文)第8頁(yè)object-basedscriptinglanguage)。HTML網(wǎng)頁(yè)在互動(dòng)性方面能力較弱,例如下拉菜單,當(dāng)用戶點(diǎn)擊某菜單項(xiàng)時(shí),自動(dòng)會(huì)出現(xiàn)該菜單項(xiàng)的所有子菜單,用純HTML網(wǎng)頁(yè)無(wú)法實(shí)現(xiàn);又如驗(yàn)證HTML表單(Form)提交信息的有效性,用戶名不能為空,密碼不能少于4位,郵政編碼只能是數(shù)字之類,用純HTML網(wǎng)頁(yè)也無(wú)法實(shí)現(xiàn)。要實(shí)現(xiàn)這些功能,就需要用到JavaScript。JavaScript是一種腳本語(yǔ)言,比HTML要復(fù)雜。不過(guò)即便你先前不懂編程,也不用擔(dān)心,因?yàn)镴avaScript寫的程序都是以源代碼的形式出現(xiàn)的,也就是說(shuō)你在一個(gè)網(wǎng)頁(yè)里看到一段比較好的JavaScript代碼,恰好你也用得上,就可以直接拷貝,然后放到你的網(wǎng)頁(yè)中去。正因?yàn)榭梢越梃b、參考優(yōu)秀網(wǎng)頁(yè)的代碼,所以讓JavaScript本身也變得非常受歡迎,從而被廣泛應(yīng)用。原來(lái)不懂編程的人,多參考JavaScript示例代碼,也能很快上手。JavaScript主要是基于客戶端運(yùn)行的,用戶點(diǎn)擊帶有JavaScript的網(wǎng)頁(yè),網(wǎng)頁(yè)里的JavaScript就傳到瀏覽器,由瀏覽器對(duì)此作處理。前面提到的下拉菜單、驗(yàn)證表單有效性等大量互動(dòng)性功能,都是在客戶端完成的,不需要和WebServer發(fā)生任何數(shù)據(jù)交換,因此,不會(huì)增加WebServer的負(fù)擔(dān)。幾乎所有瀏覽器都支持JavaScript,如InternetExplorer(IE),F(xiàn)irefox,Netscape,Mozilla,Opera等。本科畢業(yè)設(shè)計(jì)(論文)第9頁(yè)本章主要從系統(tǒng)的目標(biāo)設(shè)計(jì)、功能設(shè)計(jì)和設(shè)計(jì)思想等幾個(gè)方面闡述了系統(tǒng)的需求分析,最后通過(guò)需求分析給出了系統(tǒng)功能模塊設(shè)計(jì)與開(kāi)發(fā)的環(huán)境、技術(shù)和工具。系統(tǒng)需求分析是系統(tǒng)分析和設(shè)計(jì)的一個(gè)重要階段,他對(duì)系統(tǒng)提出了完整、準(zhǔn)確、清晰、具體的要求。系統(tǒng)主要完成高校教學(xué)中的課堂考勤管理功能。教師對(duì)自己授課的教學(xué)班學(xué)生進(jìn)行考勤,學(xué)生可以查看自己的考勤記錄,另外有新聞公告瀏覽、流言板功能,教務(wù)員可以管理系統(tǒng)中的所有數(shù)據(jù)。(1)運(yùn)行環(huán)境:系統(tǒng)基本運(yùn)行環(huán)境為Windows環(huán)境,安裝IIS(Windows2000/Xp/NT)或者PWS(Windows98),安裝SQLServer2000,配置好ODBC,即可在瀏覽器下可以瀏覽。(2)條件與限制:由于系統(tǒng)較小,且在Windows系統(tǒng)下開(kāi)發(fā),故在Windows環(huán)境下基本沒(méi)有什么限制,只要運(yùn)行環(huán)境配置正確即可。本系統(tǒng)主要完成以下功能:(1)未登錄用戶可以瀏覽校園新聞和公告、留言板、校園圖片;(2)學(xué)生登錄后可以查看自己的考勤記錄,給老師留言,查看留言回復(fù)情況,可以修改自己的信息;(3)教師登錄后可以對(duì)自己的所授課班級(jí)考勤,回復(fù)學(xué)生留言,修改自己的信息;(4)教務(wù)員(管理員)登錄后可以管理(包括添加、修改、刪除、查找)公告和新聞,管理圖片,管理學(xué)生、教師、課程、學(xué)生選課、留言等信息,修改密碼等多項(xiàng)本科畢業(yè)設(shè)計(jì)(論文)第10頁(yè)功能。根據(jù)系統(tǒng)設(shè)計(jì)目標(biāo),本系統(tǒng)有四種角色:教務(wù)員、教師、學(xué)生和未登陸用戶。每個(gè)角色對(duì)應(yīng)一個(gè)模塊,因此從功能上可以分為對(duì)應(yīng)的四個(gè)模塊,每個(gè)模塊實(shí)現(xiàn)對(duì)應(yīng)角色的功能。具體功能模塊圖如圖2-1示。圖2-1系統(tǒng)功能模塊圖系統(tǒng)采用B/S模式。以數(shù)據(jù)庫(kù)服務(wù)器、WEB服務(wù)器、客戶瀏覽器構(gòu)成一個(gè)三層的B/S模式體系,具體編程技術(shù)選用ASP。為什么采用B/S模式呢?從第一章緒論中1.3.1節(jié)C/S和B/S模式的介紹中,我們可以很容易得出本系統(tǒng)采用B/S模式比較好。本系統(tǒng)應(yīng)用主要針對(duì)大學(xué)校園的教學(xué)設(shè)計(jì),考慮到大學(xué)學(xué)生人數(shù)比較多,上課時(shí)間地點(diǎn)非常分散,而B(niǎo)/S模式最大的好處是運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù),因此系統(tǒng)更適合用B/S模式構(gòu)建,而不去考慮它對(duì)校園外部網(wǎng)絡(luò)環(huán)境依賴性太強(qiáng)的缺點(diǎn),因?yàn)楸究飘厴I(yè)設(shè)計(jì)(論文)第11頁(yè)大學(xué)校園中網(wǎng)絡(luò)條件很好,即使偶有網(wǎng)絡(luò)中斷,考勤也不是非常重要的,考勤也可暫停。另外從投入成本比較、硬件投資保護(hù)比較、數(shù)據(jù)安全性比較、數(shù)據(jù)一致性比較、服務(wù)響應(yīng)及時(shí)性比較、網(wǎng)絡(luò)應(yīng)用限制比較等方面也很容易得出就此系統(tǒng)而言B/S模式比C/S模式優(yōu)越。選用ASP的原因很多,主要有以下幾個(gè)方面:(1)ASP通過(guò)ADO(ActiveDatabaseObject)組件提供了數(shù)據(jù)庫(kù)訪問(wèn)借口,因此使用ASP可以非常方便的開(kāi)發(fā)出功能強(qiáng)大的Web數(shù)據(jù)應(yīng)用程序。ADO又稱ActiveX數(shù)據(jù)對(duì)象,是微軟推出的一項(xiàng)數(shù)據(jù)庫(kù)鏈接技術(shù),它提供了程序開(kāi)發(fā)人員實(shí)時(shí)存取各類數(shù)據(jù)庫(kù)(如Access、Oracle、SQLServer)的能力,可以輕松地完成對(duì)各類數(shù)據(jù)庫(kù)的查詢,存取等操作。(2)ASP文件是在Web服務(wù)器端執(zhí)行,只是將執(zhí)行結(jié)果以HTML格式返回客戶端瀏覽器,因此ASP可以適用于任何類型的瀏覽器。同樣的原因,ASP的源程序不會(huì)被傳到瀏覽器,因而保證了ASP源文件的安全性。(3)通過(guò)ASP內(nèi)置對(duì)象和組件的使用,可以完成復(fù)雜的開(kāi)發(fā)任務(wù),用戶也可以根據(jù)自己的需要來(lái)開(kāi)發(fā)組件。(4)幾乎支持所有的腳本語(yǔ)言,結(jié)合HTML代碼,可以快速編寫網(wǎng)站程序。(5)使用普通的文本編輯器即可進(jìn)行編輯設(shè)計(jì),無(wú)須編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。做好系統(tǒng)需求分析之后,我們應(yīng)該選擇系統(tǒng)開(kāi)發(fā)的環(huán)境和合適的技術(shù)去實(shí)現(xiàn)系統(tǒng)的功能,還要選擇好合適的支持該技術(shù)的軟件工具。網(wǎng)頁(yè)開(kāi)發(fā)離不開(kāi)HTML技術(shù),HTML制作靜態(tài)的網(wǎng)頁(yè)的框架和頁(yè)面,再加上CSS技術(shù)和JavaScript這樣的腳本語(yǔ)言,使得網(wǎng)頁(yè)漂亮、個(gè)性。因?yàn)橄到y(tǒng)采用B/S模式,因此必須選擇一種網(wǎng)頁(yè)編程技術(shù),像JSP,PHP,ASP這樣的技術(shù)。因?yàn)閍sp技術(shù)有很多優(yōu)點(diǎn)(在1.3.2ASP技術(shù)中已經(jīng)介紹),因此選擇ASP技術(shù)為網(wǎng)頁(yè)編程。本科畢業(yè)設(shè)計(jì)(論文)第12頁(yè)系統(tǒng)是要和數(shù)據(jù)庫(kù)連接的,因此考慮數(shù)據(jù)庫(kù)技術(shù)。采用ASP技術(shù)內(nèi)置的ADO組件,配置好ODBC(OpenDatabaseConnectivity,開(kāi)放數(shù)據(jù)庫(kù)互連)的DSN,就可以通過(guò)編程控制數(shù)據(jù)庫(kù)的數(shù)據(jù)管理。制作靜態(tài)的網(wǎng)頁(yè)選擇FrontPage2003。ASP程序是嵌入HTML中去的,所以可以直接在FrontPage2003下直接編寫ASP程序。也可以在UltraEdit32工具中編寫,它對(duì)不同的ASP指令凸現(xiàn),容易發(fā)現(xiàn)錯(cuò)誤。ASP程序不需要編譯,運(yùn)行需要在服務(wù)器上。選用IIS5.1做WEB服務(wù)器。本科畢業(yè)設(shè)計(jì)(論文)第13頁(yè)本章簡(jiǎn)單介紹了MicrosoftSQLServer2000,然后著重闡述了數(shù)據(jù)庫(kù)的需求分析,邏輯設(shè)計(jì)及優(yōu)化和數(shù)據(jù)庫(kù)表的創(chuàng)建,詳細(xì)地介紹了系統(tǒng)數(shù)據(jù)庫(kù)的分析、設(shè)計(jì)及其實(shí)現(xiàn)的過(guò)程。MicrosoftSQLServer2000是由微軟Microsoft出品,基于關(guān)系型數(shù)據(jù)庫(kù)的大型數(shù)據(jù)庫(kù)系統(tǒng)。它具有獨(dú)立于硬件平臺(tái)、對(duì)稱的多處理器結(jié)構(gòu)、搶占式多任務(wù)管理、完善的安全系統(tǒng)和容錯(cuò)功能,并具有易于維護(hù)的特點(diǎn)。同時(shí)又比它增加了許多更先進(jìn)的功能、具有使用方便、可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)。SQLServer2000有如下主要特點(diǎn):(1)具有豐富的圖形化管理工具。(2)動(dòng)態(tài)自動(dòng)管理和優(yōu)化。系統(tǒng)在運(yùn)行過(guò)程中可根據(jù)運(yùn)行時(shí)的狀態(tài)自動(dòng)配置參數(shù)。(3)支持XML、HTTP。通過(guò)XML可訪問(wèn)SQLServer服務(wù)器。(4)豐富的編程接口。Transact-SQL、DB-LibraryforC、嵌入式SQL。支持ODBC、OLEDB、ADO。(5)具有良好的伸縮性和可靠性??蛇\(yùn)行在多種操作系統(tǒng)下;可運(yùn)行在單CPU或?qū)ΨQ多CPU環(huán)境下。(6)簡(jiǎn)單的管理方式。SQLServer具有較好的管理工具外,還可與操作系統(tǒng)有機(jī)集成,利用操作系統(tǒng)提供的服務(wù)和功能管理SQLServer系統(tǒng)。系統(tǒng)中的實(shí)體有:學(xué)生、教師、課程、教務(wù)員、校園圖片、新聞公告、留言。關(guān)系有:學(xué)生修課,教師授課。(1)校園風(fēng)景實(shí)體E-R圖如圖3-1示。本科畢業(yè)設(shè)計(jì)(論文)第14頁(yè)圖3-1校園圖片實(shí)體E-R圖(2)新聞公告實(shí)體E-R圖如圖3-2示。圖3-2新聞公告實(shí)體E-R圖(3)教務(wù)員實(shí)體E-R圖如圖3-3示。圖3-3員實(shí)體E-R圖(4)留言實(shí)體E-R圖如圖3-4示。圖3-4留言實(shí)體E-R圖(5)學(xué)生實(shí)體E-R圖如圖3-5示。本科畢業(yè)設(shè)計(jì)(論文)第15頁(yè)圖3-5學(xué)生實(shí)體E-R圖(6)教師實(shí)體E-R圖如圖3-6示。圖3-6教師實(shí)體E-R圖(7)課程實(shí)體E-R圖如圖3-7示。圖3-7課程實(shí)體E-R圖(8)學(xué)院實(shí)體E-R圖如圖3-8示。因?yàn)閷W(xué)院也可能增加或者改名等,所以把學(xué)院也看成一個(gè)實(shí)體。圖3-8課程實(shí)體E-R圖(9)教師、學(xué)生、課程之間關(guān)系的E-R圖。本科畢業(yè)設(shè)計(jì)(論文)第16頁(yè)教師和課程之間是1對(duì)n的講授關(guān)系,,也就是說(shuō)一名老師可以講授多門課程;學(xué)生修課既和老師有關(guān)又和課程有關(guān),即學(xué)生和講授關(guān)系有關(guān),將講授和其對(duì)應(yīng)的實(shí)體-教師和課程作為一個(gè)聚集。學(xué)生與此聚集之間有1對(duì)M的修課關(guān)系,即一名學(xué)生可以修多門課程。E-R圖如圖3-9示。圖3-9教師、學(xué)生、課程之間關(guān)系E-R圖(8)留言、學(xué)生、教師之間關(guān)系的E-R圖。留言實(shí)體是學(xué)生留言,教師回復(fù),所以留言和教師、學(xué)生都有關(guān)系。教師、學(xué)生和留言之間都是1:n的關(guān)系,也就是說(shuō),學(xué)生可以多次留言,教師也可以多次回復(fù)。他們之間的E-R圖如圖3-10示。本科畢業(yè)設(shè)計(jì)(論文)第17頁(yè)圖3-10教師、學(xué)生、留言之間關(guān)系E-R圖數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)就是把E-R圖轉(zhuǎn)化為所選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型。本系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)為SQLServer2000,因此將E-R模型轉(zhuǎn)化為關(guān)系數(shù)據(jù)模型即可。由3.1中E-R模型可得到以下關(guān)系模式(以下關(guān)系模式中下劃線表示主鍵):(圖片編號(hào),名稱,路徑,說(shuō)明,上傳時(shí)間);(新聞編號(hào),新聞標(biāo)題,新聞內(nèi)容,新聞附件名,發(fā)布單位,發(fā)布時(shí)間);(編號(hào),留言者學(xué)號(hào),姓名,留言內(nèi)容,留言時(shí)間,回復(fù)教師編號(hào),教師姓名,回復(fù)內(nèi)容,回復(fù)時(shí)間);(學(xué)院名稱,系別名稱);(學(xué)號(hào),學(xué)生名,性別,出生年月,電話,學(xué)院,專業(yè),班級(jí));(教師編號(hào),教師名,性別,電話,院系,密碼,身份);本科畢業(yè)設(shè)計(jì)(論文)第18頁(yè)(課程編號(hào),課程名,學(xué)分,上課時(shí)間,上課地點(diǎn));(課程代碼,教師編號(hào),課程編號(hào),教學(xué)班號(hào),開(kāi)課時(shí)間);(課程代碼,學(xué)號(hào),課程編號(hào),教師編號(hào),教學(xué)班號(hào),早退,遲到,曠課,請(qǐng)假)。一般說(shuō)來(lái),關(guān)系模式秩序滿足第三范式即可。但是在實(shí)際設(shè)計(jì)中關(guān)系模式的規(guī)范化程度不是越高越好。因?yàn)閺牡图?jí)范式向高范式轉(zhuǎn)化時(shí),必須將關(guān)系模式分解成多個(gè)關(guān)系模式。這樣在執(zhí)行查詢的時(shí)候,如果用戶所需要的信息在多個(gè)表中,就必須進(jìn)行多個(gè)表之間的連接,這無(wú)疑對(duì)系統(tǒng)帶來(lái)較大的時(shí)間開(kāi)銷。為了提高系統(tǒng)處理性能,要對(duì)相關(guān)程度的比較高的表進(jìn)行合并,或者在表中增加相關(guān)程度的屬性(表的列)。這時(shí),選擇較低的第一范式或者第二范式可能比較適合。據(jù)此我們作如下的優(yōu)化:(圖片編號(hào),名稱,路徑,說(shuō)明,上傳時(shí)間);(新聞編號(hào),新聞標(biāo)題,新聞內(nèi)容,新聞附件名,發(fā)布單位,發(fā)布時(shí)間);(編號(hào),留言者學(xué)號(hào),姓名,留言內(nèi)容,留言時(shí)間,回復(fù)教師編號(hào),教師姓名,回復(fù)內(nèi)容,回復(fù)時(shí)間);(學(xué)院名稱,系別名稱);(學(xué)號(hào),學(xué)生名,性別,出生年月,電話,學(xué)院,專業(yè),班級(jí),密碼);(教師編號(hào),教師名,性別,電話,院系,說(shuō)明,密碼);(課程代碼,課程編號(hào),課程名,教師編號(hào),教師名,學(xué)分,課程性質(zhì),開(kāi)課院系,上課時(shí)間地點(diǎn),開(kāi)課周);(修課編號(hào),課程代碼,學(xué)號(hào),課程編號(hào),教師編號(hào),教學(xué)班號(hào),學(xué)生名,教師名,課程名,學(xué)分,課程性質(zhì),早退,遲到,曠課,請(qǐng)假)。3.數(shù)據(jù)庫(kù)采用MicrosoftSQLServer2000,利用SQL語(yǔ)言,通過(guò)查詢分析器可以創(chuàng)建數(shù)據(jù)庫(kù)和建立數(shù)據(jù)表,通過(guò)企業(yè)管理器也可以方便的管理數(shù)據(jù)庫(kù)。本科畢業(yè)設(shè)計(jì)(論文)第19頁(yè)通過(guò)SQL語(yǔ)句在查詢分析器下邊可以方便的建立數(shù)據(jù)庫(kù)以及數(shù)據(jù)表。在查詢分析器中分別建立新聞公告表(NEW_INF)、校園圖片表(PIC_INF)、教務(wù)員信息表(ADMIN)、學(xué)院表(MAJOR)、學(xué)生信息表(STU_INF)、教師信息表(TEA_INF)、課程信息表(COU_INF)、學(xué)生修課考勤表(ATT_INF)、留言記錄表(BOOK)。下邊僅以創(chuàng)建修課考勤表為例:CREATETABLEATT_INF--修課考勤表(idINTIDENTITY(1,1)PRIMARYKEY,--自動(dòng)編號(hào)cou_codINTNOTNULL,--課程代碼cou_numCHAR(8)NOTNULL,--課程編號(hào)cou_namVARCHAR(20)NOTNULL,--課程名稱tea_numCHAR(8)NOTNULL,--教師編號(hào)tea_namVARCHAR(8)NOTNULL,--教師姓名stu_numCHAR(8)NOTNULL,--學(xué)生編號(hào)stu_namVARCHAR(8)NOTNULL,--學(xué)生姓名cla_numSMALLINTNOTNULL,--教學(xué)班號(hào)cou_creNUMERIC(2,1)NOTNULL,--課程學(xué)分leave_earlyTINYINTNOTNULL,--早退次數(shù)lateTINYINTNOTNULL,--遲到次數(shù)absentTINYINTNOTNULL,--缺席次數(shù)attTINYINTNOTNULL,--到勤次數(shù)leaveTINYINTNOTNULL,--請(qǐng)假次數(shù)CONSTRAINTFK_atea_con--創(chuàng)建FK_atea_con外鍵約束FOREIGNKEYtea_num--tea_num參考表TEA_INF(教師信息表)REFERENCEStea_inf(tea_num)--中的tea_num項(xiàng)ONUPDATECASCADE--更新時(shí)級(jí)聯(lián)更新ONDELETENOACTION,--刪除時(shí)沒(méi)有動(dòng)作CONSTRAINTFK_astu_con--創(chuàng)建FK_astu_con外鍵約束FOREIGNKEYstu_num--stu_num參考STU_INF(學(xué)生信息表)REFERENCESstu_inf(stu_num)--中的stu_num項(xiàng)ONUPDATECASCADE--更新時(shí)級(jí)聯(lián)更新ONDELETENOACTION,--刪除時(shí)沒(méi)有動(dòng)作CONSTRAINTFK_acou_con--創(chuàng)建FK_acou_con外鍵約束FOREIGNKEYcou_cod--cou_num參考表TEA_INF(學(xué)生信息表)REFERENCEScou_inf(cou_cod)--中的cou_num項(xiàng)ONUPDATENOACTION--更新時(shí)沒(méi)有動(dòng)作ONDELETENOACTION,--刪除時(shí)沒(méi)有動(dòng)作)創(chuàng)建后表的結(jié)構(gòu)如下邊表3-1到表3-9所示。本科畢業(yè)設(shè)計(jì)(論文)第20頁(yè)教務(wù)員信息表存貯教務(wù)員的用戶名、姓名、職位還有密碼,因?yàn)槊艽a要經(jīng)過(guò)MD5加密,所以密碼長(zhǎng)度為50。表結(jié)構(gòu)如表3-1示。表3-1教務(wù)員信息表ADMIN字段中文名字段名字段類型長(zhǎng)度主/外鍵字段約束用戶名Ad_numVarchar10主鍵Notnull姓名Ad_namVarchar10----職位Ad_posVarchar8----密碼Ad_pasvarchar50----課程信息表記錄了課程的基本信息,包括課程代碼、課程編號(hào)、授課教師編號(hào)、姓名、教學(xué)班號(hào)、學(xué)分、課程性質(zhì)、開(kāi)課院系、開(kāi)課周,上課時(shí)間。表結(jié)構(gòu)如表3-2所示。表3-2課程信息表COU_INF字段中文名字段名類型長(zhǎng)度主/外鍵字段約束課程代碼Cou_codInt主鍵Identity課程編號(hào)Cou_numChar8--Notnull教師編號(hào)Tea_numChar8外鍵Stu_inf.stu_num教學(xué)班號(hào)Cal_numTinyint----Notnull課程名Cou_nameVarchar20--Notnull教師名Tea_nameVarchar10--Notnull學(xué)分Cou_cretinyint----Notnull課程性質(zhì)Cou_natvarchar2--(必,選,限)開(kāi)課院系Cou_depVarchar20----開(kāi)課周Cou_kaiVarchar5----上課時(shí)間Cou_timVarchar50----新聞公告信息表主要存貯新聞和公告的信息,主要包括編號(hào)、標(biāo)題、內(nèi)容、附件名、發(fā)布單位、發(fā)布時(shí)間。表結(jié)構(gòu)如表3-3所示。表3-3新聞公告信息表NEW_INF字段中文名字段名類型長(zhǎng)度主/外鍵字段約束編號(hào)Idint4主鍵Identity標(biāo)題new_namvarchar50--Notnull內(nèi)容new_convarchar2000--Notnull附件名new_imgvarchar20----發(fā)布單位new_dapvarchar4----發(fā)布時(shí)間new_timesmalldatetime------教師信息表存貯教師的基本信息,主要包括教師編號(hào)、教師姓名、性別、所在學(xué)院、電話、電子郵箱、個(gè)人說(shuō)明、登錄密碼。表結(jié)構(gòu)如表3-4所示。本科畢業(yè)設(shè)計(jì)(論文)第21頁(yè)表3-4教師信息表TEA_INF字段中文名字段名字段類型長(zhǎng)度主/外鍵字段約束教師編號(hào)Tea_numChar8主鍵8位數(shù)字教師姓名Tea_namVarchar10--Notnull性別Tea_sexChar2--(男,女)學(xué)院Tea_depVarchar20----電話Tea_phoVarchar12----電子郵箱Tea_maiVarcahr20----說(shuō)明Tea_motvarchar100----登陸密碼Tea_pasvarchar50----留言信息表主要貯存留言信息,主要包括留言編號(hào)、留言學(xué)生的學(xué)號(hào)、姓名、課程名、教學(xué)班號(hào)、留言內(nèi)容、回復(fù)教師編號(hào)、姓名、留言日期、恢復(fù)日期。表結(jié)構(gòu)如表3-5所示。表3-5留言信息表BOOK字段中文名字段名字段類型長(zhǎng)度主/外鍵字段約束編號(hào)Idint4主鍵Identity學(xué)號(hào)stu_namchar8外鍵Notnull學(xué)生姓名Stu_numvarchar10--Notnull教師編號(hào)Tea_numchar8外鍵Tea_inf.tea_num教師姓名Tea_namvarchar8--Notnull課程名Cou_namvarchar20--Notnull教學(xué)班號(hào)Cla_numInt4--Notnull留言內(nèi)容Boo_convarchar500----留言時(shí)間Boo_tim1smalldateime------回復(fù)內(nèi)容Boo_repvarcahr500----回復(fù)時(shí)間Boo_tim2smalldatetime------校園風(fēng)景信息表主要是記錄校園風(fēng)景圖片的信息,主要包括圖片編號(hào),圖片名稱、圖片說(shuō)明和圖片上傳的時(shí)間。表的結(jié)構(gòu)如表3-6所示。表3-6校園風(fēng)景信息表PIC_INF字段中文名字段名字段類型長(zhǎng)度主/外鍵字段約束圖片編號(hào)idint4主鍵Identity圖片名稱pic_namvarchar10--Notnull文件名picvarchar25--Notnull說(shuō)明pic_natvarchar15----上傳時(shí)間pic_timsamlldatetime------學(xué)院專業(yè)信息表主要記錄學(xué)院和對(duì)應(yīng)的專業(yè),包括學(xué)院名和專業(yè)名。因?yàn)橛涗洈?shù)量比較少,所以不設(shè)主鍵。表結(jié)構(gòu)如圖3-7所示。本科畢業(yè)設(shè)計(jì)(論文)第22頁(yè)表3-7學(xué)院專業(yè)信息表MAJOR字段中文名字段名類型長(zhǎng)度主/外鍵字段約束學(xué)院名collegeVarcha20----專業(yè)名majorVarchar20----學(xué)生修課信息表是整個(gè)系統(tǒng)的關(guān)鍵表,記錄了學(xué)生的考勤記錄。主要字段有學(xué)號(hào)、學(xué)生姓名、課程編號(hào)、課程名稱、教師編號(hào)、教師姓名、教學(xué)班號(hào)、學(xué)分、早退次數(shù)、遲到次數(shù)、曠課次數(shù)、請(qǐng)假次數(shù)、出勤次數(shù)。表結(jié)構(gòu)如圖3-8所示。表3-8學(xué)生修課考勤表ATT_INF字段中文名字段名字段類型長(zhǎng)度主/外鍵字段約束選課編號(hào)idint4主鍵Identity學(xué)號(hào)Stu_numchar8外鍵stu_inf.Stu_num課程編號(hào)Cou_numchar8外鍵cou_inf.cou_num教師編號(hào)Tea_numchar8外鍵tea_inf.tea_num教學(xué)班號(hào)Cla_numtinyint--外鍵cou_inf.cla_num學(xué)生名Stu_namvarcahr10--Notnull教師名Tea_namvarchar10--Notnull課程名Cou_namvarchar20--Notnull學(xué)分Cou_cretinyint----Notnull早退Leave_earlytinyint----初值0遲到Latetinyint----初值0曠課Absenttinyint----初值0請(qǐng)假Leavetinyint----初值0出勤Atttinyint----初值0表3-9學(xué)生信息表STU_INF字段中文名字段名類型長(zhǎng)度主/外鍵字段約束學(xué)號(hào)Stu_numChar8主鍵8位數(shù)字學(xué)生名Stu_namVarchar10--Notnull性別Stu_sexChar2--(男,女)出生年月Stu_birChar------電話Stu_phoVarchar12--手機(jī)/座機(jī)電子郵箱Stu_maiVarchar20--郵箱格式寢室號(hào)Stu_rooVarchar5--5位數(shù)字學(xué)院Stu_depvarchar20----年級(jí)Stu_yeaChar4----專業(yè)Stu_majVarchar20----班級(jí)Stu_clatinyint------密碼Stu_pasvarchar50----本科畢業(yè)設(shè)計(jì)(論文)第23頁(yè)學(xué)生信息表記錄了學(xué)生的基本信息,包括學(xué)號(hào)、學(xué)生姓名、性別、出生年月、電話、寢室號(hào)、學(xué)院、專業(yè)、年級(jí),還有密碼。表的詳細(xì)結(jié)構(gòu)如表3-9所示。數(shù)據(jù)表建立好之后,我們可以在企業(yè)管理器中查看表之間的關(guān)系。本系統(tǒng)數(shù)據(jù)庫(kù)建立好之后,可以看見(jiàn)數(shù)據(jù)庫(kù)表間的關(guān)系如圖3-11所示。由圖可知:pic_inf(校園風(fēng)景表)、admin(教務(wù)員信息表)、major(學(xué)院專業(yè)信息表)、new_inf(新聞公告信息表)是4個(gè)獨(dú)立的表,他們各自和其他的表沒(méi)有直接的關(guān)系,而tea_inf(教師信息表)、cou_inf(課程信息表)、stu_inf(學(xué)生信息表)、att_inf(修課考勤信息表)、book(留言信息表)之間有關(guān)系存在。圖3-11數(shù)據(jù)表間關(guān)系圖本科畢業(yè)設(shè)計(jì)(論文)第24頁(yè)本章詳細(xì)介紹了系統(tǒng)的編碼實(shí)現(xiàn)過(guò)程。按照功能模塊分別介紹了未登陸用戶、學(xué)生用戶、教師用戶、教務(wù)員用戶等功能模塊的設(shè)計(jì),著重介紹了系統(tǒng)編碼實(shí)現(xiàn)中的難點(diǎn)和重點(diǎn)。ASP和數(shù)據(jù)庫(kù)連接有多種方式。本系統(tǒng)采用ODBC連接數(shù)據(jù)庫(kù),利用ADO技術(shù)操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。創(chuàng)建好數(shù)據(jù)庫(kù)及數(shù)據(jù)表之后,打開(kāi)“控制面板”下的“管理工具”,打開(kāi)“數(shù)據(jù)源(ODBC)”,選擇“系統(tǒng)DSN”,單擊“添加”,驅(qū)動(dòng)選中“SQLserver”,然后下一步分別輸入名稱、描述、服務(wù)器;單擊下一步,選擇“使用用戶登錄ID和密碼的SQLserver驗(yàn)證”,輸入用戶名和密碼,登陸成功后選擇要連接的數(shù)據(jù)庫(kù)名;單擊下一步,選項(xiàng)按默認(rèn)的即可,最后點(diǎn)擊完成。點(diǎn)擊測(cè)試數(shù)據(jù)源,顯示測(cè)試成功則表明連接成功。本系統(tǒng)在設(shè)計(jì)過(guò)程中將數(shù)據(jù)庫(kù)連接、打開(kāi)和關(guān)閉編寫成函數(shù),存放在conn.asp中。如果再別的網(wǎng)頁(yè)中需要連接數(shù)據(jù)庫(kù),只需要在網(wǎng)頁(yè)頭部加上<!--#includefile="conn.asp"-->即可。Conn.asp程序如下所示。<%publicobjRS‘聲明變量publicobjConn‘聲明變量FunctionOpenDataBase(SQLString)‘執(zhí)行指定的SQL語(yǔ)句setobjconn=Server.CreateObject("ADODB.Connection")‘創(chuàng)建Connection對(duì)象objconn.open"DSN=ktkq;UID=ktkq;PWD=ktkq;DATABASE=ktkq"‘連接數(shù)據(jù)庫(kù)SetobjRS=Server.CreateObject("Adodb.Recordset")‘創(chuàng)建Recordset對(duì)象objRS.OpenSQLString,objConn,1,3‘執(zhí)行SQL語(yǔ)句EndFunctionSubCloseDataBase()‘關(guān)閉數(shù)據(jù)SetobjConn=Nothing‘設(shè)置變量objConn為空SetobjRS=Nothing‘設(shè)置變量objRS為空EndSub%>以上程序段說(shuō)明要鏈接數(shù)據(jù)庫(kù)我們必須使用ADO對(duì)象群的Connection對(duì)象;本科畢業(yè)設(shè)計(jì)(論文)第25頁(yè)而要打開(kāi)數(shù)據(jù)庫(kù)則必須使用ADO對(duì)象群的Recordset對(duì)象,Recordset對(duì)象是負(fù)責(zé)瀏覽與操作從數(shù)據(jù)庫(kù)取出來(lái)的數(shù)據(jù),Connection對(duì)象只負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行鏈接的動(dòng)作,并不能使用數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)。首頁(yè)是系統(tǒng)“臉面”,所以首頁(yè)設(shè)計(jì)非常關(guān)鍵。本系統(tǒng)界面有頭部圖片區(qū)、登陸區(qū)、滾動(dòng)公告區(qū)、校園新聞區(qū)、信息速查區(qū)、校園風(fēng)景區(qū)、快速鏈接區(qū)、系統(tǒng)信息區(qū)。首頁(yè)界面如圖4-1示。圖4-1網(wǎng)站首頁(yè)圖信息速查區(qū)可以迅速查到學(xué)生信息、教師信息和課程信息,支持模糊查詢。比如學(xué)生查詢,用戶輸入學(xué)號(hào)或者學(xué)生姓名均可以查到學(xué)生。模糊查詢用SQL語(yǔ)句中的like支持。查詢教師和課程信息同理可實(shí)現(xiàn)。滾動(dòng)公告可用marquee實(shí)現(xiàn),程序如下示。<marqueebehavior=scrollvalign="top"direction=upwidth=330height=107scrollamount=1scrolldelay=50onmouseover='this.stop()'onmouseout='this.start()'>??顯示的內(nèi)容本科畢業(yè)設(shè)計(jì)(論文)第26頁(yè)</marquee>其中direction=up設(shè)置滾動(dòng)方向?yàn)橄蛏希琽nmouseover='this.stop()',鼠標(biāo)經(jīng)過(guò)的時(shí)候,停止?jié)L動(dòng)。onmouseout='this.start()'設(shè)置鼠標(biāo)離開(kāi)的時(shí)候,繼續(xù)滾動(dòng)。登陸界面主要是2個(gè)文本框分別輸入用戶名和密碼,一個(gè)下拉框選擇登陸類型。界面如圖4-2所示,程序如下示。<formmethod="post"action="login_check.asp"name="login"onSubmit="returncheck(this)">用戶名:<inputtype="text"name="username"size="13"tabindex="1"maxlength="8"class=smallInput>密碼:<inputtype="password"name="password"size="13"tabindex="2"maxlength="15"class=smallInput>類型:<selectsize="1"name="kind"tabindex="3"class="smallInput"><optionselectedvalue="學(xué)生">學(xué)生</option><option>教師</option></select><inputtype="submit"value="提交"name="B1"tabindex="4"class="smallInput"><inputtype="reset"value="重置"name="B2"tabindex="5"class="smallInput"></form>action="login_check.asp":數(shù)據(jù)后login_check.asp處理數(shù)據(jù);onSubmit="returncheck(this)":點(diǎn)擊提交按鈕之后,返回check()函數(shù)值name="username":設(shè)置文本框或下拉框的名字;maxlength="8":設(shè)置可輸入的最大長(zhǎng)度為8;tabindex="2":設(shè)置tab鍵的順序?yàn)?;class="samllInput"設(shè)置文本框的樣式位samllInput,samllInput是css文件中設(shè)置的一個(gè)文本框的樣式類。圖4-2用戶登錄界面用戶登錄先經(jīng)過(guò)javascript函數(shù)驗(yàn)證,驗(yàn)證成功則進(jìn)行服務(wù)器驗(yàn)證,否則就提示用戶有錯(cuò)誤。用戶登錄流程如圖4-3示。本科畢業(yè)設(shè)計(jì)(論文)第27頁(yè)圖4-3用戶登錄流程JavaScript語(yǔ)言可以實(shí)現(xiàn)不用訪問(wèn)服務(wù)器就可以對(duì)從用戶提交來(lái)的數(shù)據(jù)進(jìn)行有效性驗(yàn)證。登陸的驗(yàn)證通過(guò)以下check(form)函數(shù)進(jìn)行驗(yàn)證。OnSubmit="returncheck(this)"實(shí)現(xiàn)當(dāng)用戶點(diǎn)擊提交之后,調(diào)用check(form)進(jìn)行數(shù)據(jù)驗(yàn)證,驗(yàn)證錯(cuò)誤,返回false,彈出一個(gè)信息框,提示用戶數(shù)據(jù)輸入有誤,用戶輸入的數(shù)據(jù)不會(huì)提交給服務(wù)器,這樣可以節(jié)約用戶上網(wǎng)效率,減少WEB服務(wù)器的負(fù)擔(dān)。具體check(form)函數(shù)程序如下。Functioncheck(form){varuser=login.username.value.replace(/(^\s+|\s+$)/g,"");//定義user變量,利用正則去空格varpwd=login.password.value.replace(/(^\s+|\s+$)/g,"");//定義pwd變量,利用正則去空格if(user==""|pwd=="")//如果用戶名或者密碼為空{(diào)alert("用戶名或密碼不能為空!");//提示錯(cuò)誤信息returnfalse;//返回false}elseif(user.length!=8|user.search(/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/gi)==-1){//如果用戶名長(zhǎng)度不為8,或者不為9個(gè)數(shù)字本科畢業(yè)設(shè)計(jì)(論文)第28頁(yè)alert("用戶名格式不正確,只能為8位數(shù)字");//提示錯(cuò)誤信息returnfalse;//返回false}elsereturntrue;//數(shù)據(jù)符合,返回true,數(shù)據(jù)提交給web服務(wù)器}運(yùn)行過(guò)程中,當(dāng)用戶沒(méi)有輸入信息、或輸入信息不全、或者用戶名或空格輸入的都是空格,提示如圖4-4示。圖4-4用戶提示當(dāng)用戶名不為8位數(shù)字(教師編號(hào)和學(xué)號(hào)只能為8位數(shù)字),提示如圖4-5示。圖4-5用戶提示先讀取用戶提交的用戶名、密碼和用戶類型,并且去掉空格,然后對(duì)密碼進(jìn)行MD5加密。根據(jù)用戶類型在對(duì)應(yīng)的表中查找是否有符合的數(shù)據(jù),沒(méi)有查找到就給用戶提示,返回首頁(yè),以便用戶重新登陸。如果找了符合的數(shù)據(jù),設(shè)置session(“username”)為用戶名,session("user")為用戶姓名,根據(jù)用戶登錄類型設(shè)置session("pass")。<!--#includefile="conn.asp"--><!--#includefile="md5.asp"--><%‘conn.asp為數(shù)據(jù)庫(kù)連接文件,md5.asp為MD5加密文件username=trim(request("username"))‘讀取用戶提交的用戶名,trim去空格password=md5(trim(request("password")))‘讀取用戶提交的密碼,去空格,MD5加密kind=request("kind")‘讀取用戶類型ifkind="學(xué)生"then‘如果用戶類型為學(xué)生本科畢業(yè)設(shè)計(jì)(論文)第29頁(yè)SQLstr="selectstu_nam,Stu_num,Stu_pasfromStu_infwhereStu_num='"&username&"'andStu_pas='"&password&"'"‘在學(xué)生信息表中查找用戶名和密碼else‘如果用戶類型為教師,同上設(shè)置不同SQL查詢語(yǔ)句,省略代碼??endifOpenDataBase(SQLstr)‘調(diào)用Opendatabase()執(zhí)行SQL查詢語(yǔ)句ifobjRS.EOFthen‘如果沒(méi)有找到response.write"<scriptlanguage='javascript'>alert('用戶名不存在請(qǐng)注意用戶類型!');document.location='index.asp';</script>"‘提示錯(cuò)誤信息,返回到首頁(yè)else‘如果找到session("username")=username‘設(shè)置session("username")為用戶名ifkind="學(xué)生"then‘如果登陸類型為學(xué)生session("pass")="pass1"‘設(shè)置session("pass")session("user")=objrs("stu_nam")‘設(shè)置session("user")為學(xué)生姓名response.redirect"index.asp"‘返回首頁(yè)else‘如果用戶類型為教師,同上設(shè)置不同值,省略??endifendif%>使用Session對(duì)象存儲(chǔ)特定的用戶會(huì)話所需的信息。當(dāng)用戶在應(yīng)用程序的頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在Session對(duì)象中的變量不會(huì)清除;而用戶在應(yīng)用程序中訪問(wèn)頁(yè)時(shí),這些變量始終存在。也可以使用Session方法顯式地結(jié)束一個(gè)會(huì)話和設(shè)置空閑會(huì)話的超時(shí)期限。系統(tǒng)中利用session("pass")設(shè)置權(quán)限,pass1為學(xué)生,pass2為教師,pass3為教務(wù)員,可以很容易根據(jù)session("pass")的值確定用戶的登陸狀態(tài),根據(jù)用戶狀態(tài)可以設(shè)定用戶可以訪問(wèn)那些頁(yè)面,禁止訪問(wèn)那些頁(yè)面。學(xué)生模塊的主要功能有信息修改、考勤察看、留言。下邊主要討論這些功能實(shí)現(xiàn)的關(guān)鍵和難點(diǎn)。此功能是把用戶的信息顯示在網(wǎng)頁(yè)上,當(dāng)用戶想修改數(shù)據(jù)的時(shí)候,填寫新數(shù)據(jù),驗(yàn)證、提交即可。網(wǎng)頁(yè)界面如圖4-6示。查找代碼如下。本科畢業(yè)設(shè)計(jì)(論文)第30頁(yè)<%SQLstr="select*fromstu_infwherestu_num='"&session("username")&"'"OpenDataBase(SQLstr)‘調(diào)用OpenDataBase()函數(shù),執(zhí)行SQL查找語(yǔ)句。%>圖4-6修改信息界面<inputtype="text"name="phone"size="20"value="<%=objRS("stu_pho")%>">:在文本框中輸出學(xué)生電話,其他從數(shù)據(jù)庫(kù)中查詢到的數(shù)據(jù)同樣可以很方便的顯示在網(wǎng)頁(yè)上。<formname="form"method="POST"action="mod_stu1.asp"onSubmit="returncheck(this)>:點(diǎn)擊提交按鈕調(diào)用check()函數(shù),如果驗(yàn)證失敗,返回false,提示錯(cuò)誤信息;否則將數(shù)據(jù)提交給數(shù)據(jù)處理頁(yè)mod_stu1.asp,將它寫入數(shù)據(jù)庫(kù)。Check()函數(shù)使用JavaScript腳本語(yǔ)言編寫,和前邊4.2.1中check()函數(shù)同理。處理數(shù)據(jù)頁(yè)mod_stu1.asp核心程序如下。<%stu_pho=request("phone")‘讀提交的phone值。省略讀取其它提交的數(shù)據(jù)??SQLstr="select*fromstu_infwherestu_num='"&session("username")&"'"OpenDataBase(SQLstr)‘執(zhí)行查詢SQL語(yǔ)句,找到用戶信息所在的ifstu_pas<>""thenobjRS("stu_pas")=md5(trim(stu_pas))‘密碼去空格,加密endifobjRS("stu_pho")=trim(stu_pho)??省略其他objRS.update‘提交入數(shù)據(jù)庫(kù)%>本科畢業(yè)設(shè)計(jì)(論文)第31頁(yè)這個(gè)模塊很簡(jiǎn)單,只是從數(shù)據(jù)庫(kù)中把和用戶有關(guān)的考勤數(shù)據(jù)讀取出來(lái),以表格形式顯示在網(wǎng)頁(yè)上即可。使用SQL查詢語(yǔ)句,調(diào)用OpenDataBase()函數(shù)即可很容易把學(xué)生的考勤數(shù)據(jù)讀取出來(lái),以表格形式按學(xué)生所選的課程顯示考勤狀況。為了方便用戶的查詢和留言,在教師編號(hào)、教師姓名、留言處有超鏈接。網(wǎng)頁(yè)界面如圖4-7示。圖4-7查看考勤界面留言處查詢核心程序如下。<ahref="#"onclick="window.open('book/book_add.asp?cou_nam=<%=objRS("cou_nam")%>&stu_nam=<%=stu_nam%>&tea_nam=<%=objRS("tea_nam")%>&cla_num=<%=objRS("cla_num")%>&tea_num=<%=objRS("tea_num")%>','windowname','menubar=no,resizable=no,top=250,left=250,width=600,height=250')">留言</a>程序中onclick事件打開(kāi)一個(gè)窗口,窗口寬、高、是、否有工具欄等為程序控制。window.open后是要打開(kāi)的網(wǎng)頁(yè)地址,為目錄book下的book_add.asp,“?”后邊傳遞了幾個(gè)變量的值,用來(lái)確定book_add.asp中的數(shù)據(jù)處理的目標(biāo)。課程編號(hào),課程名,教師名處的超鏈接都同理可以實(shí)現(xiàn)。察看留言比較簡(jiǎn)單,調(diào)用OpenDataBase()執(zhí)行SQL查詢語(yǔ)句即可實(shí)現(xiàn),可以利用orderby按回復(fù)時(shí)間排序,讓用戶先看到最新的留言。當(dāng)老師還沒(méi)有回復(fù)的時(shí)本科畢業(yè)設(shè)計(jì)(論文)第32頁(yè)候,學(xué)生用戶可以編輯和刪除自己的留言,已經(jīng)回復(fù)的只能刪除。編輯留言原理和4.3.2中修改信息同理。下邊討論刪除和分頁(yè)讀取情況。(1)刪除留言刪除記錄之前要用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論