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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論