版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE22畢業(yè)論文(設(shè)計(jì))題目:學(xué)生信息管理系統(tǒng)姓名:學(xué)院:專業(yè):班級(jí):學(xué)號(hào):導(dǎo)教師:職稱:年月日目錄摘要: 3關(guān)鍵詞: 31.緒論 51.1選題背景 51.2國(guó)內(nèi)外研究狀況 51.3研究目標(biāo) 71.4研究?jī)?nèi)容 71.5技術(shù)路線 81.6可行性分析 81.7論文結(jié)構(gòu) 102.web應(yīng)用開(kāi)發(fā)技術(shù)介紹 112.1開(kāi)發(fā)環(huán)境 112.2J2EE開(kāi)發(fā)框架介紹 112.3JSP,Myeclipse 122.4SQLSever 122.5Tomcat服務(wù)器 143.學(xué)生信息信息管理系統(tǒng)的設(shè)計(jì) 153.1需求分析 153.2系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 163.2.1數(shù)據(jù)庫(kù)ER模型 163.2.2數(shù)據(jù)庫(kù)表設(shè)計(jì) 193.3系統(tǒng)模塊及流程設(shè)計(jì) 213.3.1系統(tǒng)模塊 213.3.2系統(tǒng)流程圖 214.學(xué)生信息信息管理系統(tǒng)的實(shí)現(xiàn) 234.1數(shù)據(jù)庫(kù)連接實(shí)現(xiàn) 234.2核心類及方法介紹 244.2用戶登錄模塊 254.3系統(tǒng)操作模塊 254.3.1修改密碼 254.3.2退出登錄 264.4教務(wù)管理模塊 264.4.1添加新學(xué)生 264.4.2學(xué)生基本信息查詢 274.4.3學(xué)生成績(jī)查詢 274.5課程管理模塊 274.5.1添加新課程 274.5.2選課信息管理 275.學(xué)生信息信息管理系統(tǒng)的測(cè)試與應(yīng)用 305.1登錄測(cè)試 305.2修改密碼 305.4課程管理模塊 335.5系統(tǒng)應(yīng)用 336.總結(jié)與期望 34致謝 35參考文獻(xiàn) 36附錄 37學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:學(xué)生信息管理是學(xué)校管理的重要內(nèi)容和組成部分,然而傳統(tǒng)的學(xué)生信息管理太過(guò)繁瑣,效率太低,已經(jīng)不能滿足現(xiàn)在的需求。通過(guò)分析了解學(xué)校學(xué)生信息管理的需求特點(diǎn),為彌補(bǔ)傳統(tǒng)學(xué)生信息信息管理方法的不足與缺陷,結(jié)合Web技術(shù),本文采用Myeclipse開(kāi)發(fā)平臺(tái)和SQLServer2005數(shù)據(jù)庫(kù)作為開(kāi)發(fā)工具,采用JSP和JDBC技術(shù),設(shè)計(jì)了一套學(xué)生信息信息管理系統(tǒng),完成了學(xué)生信息管理中各參與者的功能設(shè)計(jì),實(shí)現(xiàn)了學(xué)生信息管理的信息查詢、課程管理、成績(jī)管理等功能,并通過(guò)網(wǎng)站測(cè)試驗(yàn)證了系統(tǒng)的可行性。提高了學(xué)生信息信息管理工作的效率,節(jié)省了人力以及物力。關(guān)鍵詞:學(xué)生信息信息;數(shù)據(jù)庫(kù);JSP;JDBC
DesignandImplementationofStudentinformationmanagementsystemAbstract:Studentmanagementistheimportantpartofschoolmanagementandcomponent,howevertheschoolmanagementtobetoocomplicated,efficiencyistoolow,alreadycannotsatisfythepresentdemand.Throughtheanalysisabouttheschoolstudentinformationmanagementneedsofthecharacteristics,tomakeupforthetraditionalstudentinformationmanagementmethodofthedeficienciesandshortcomings,combinedwiththetechnologyofWeb,thispaperusestheMyeclipsedevelopmentplatformandSQLServer2005databaseasadevelopmenttool,usingJSPandJDBCtechnology,designasetofstudentinformationmanagementsystem,completethestudentstatusmanagementofeachparticipantinthefunctionaldesign,realizationofstudentmanagementinformationquery,onlinecourse,performancemanagementandotherfunctions,andthroughsitetesttoverifythefeasibilityofthesystem.Improvestudentinformationmanagementefficiency,savemanpowerandmaterialresources.Keywords:Studentinformation;Database;JSP;JDBC
1.緒論1.1選題背景計(jì)算機(jī)透到人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。隨著信息管理系統(tǒng)構(gòu)建技術(shù)的發(fā)展與成熟,在各類教育機(jī)構(gòu)里有關(guān)學(xué)生信息的信息管理系統(tǒng)也走向了信息化與網(wǎng)絡(luò)化,且大多系統(tǒng)都是根據(jù)特定對(duì)象的應(yīng)用實(shí)際來(lái)做需求分析,因此需求分析與應(yīng)用實(shí)際的相結(jié)合性較好。傳統(tǒng)的信息管理主要是以手工方式進(jìn)行的,存在工作量大、事務(wù)繁瑣等弊端,人力、物力耗費(fèi)大,效率較低,管理水平很難提高。針對(duì)此問(wèn)題,很多學(xué)校開(kāi)發(fā)出自己的學(xué)生信息信息管理系統(tǒng),但大多都存在通病:功能跟不上形勢(shì)發(fā)展的變化,系統(tǒng)的通用性、擴(kuò)展性和交互友好都不讓人滿意。學(xué)生信息管理是學(xué)校教學(xué)管理和學(xué)生管理的重要內(nèi)容和主要組成部分,對(duì)穩(wěn)定學(xué)校的正常教學(xué)秩序,保證人才培養(yǎng)質(zhì)量起著極為重要的作用,所以學(xué)生學(xué)生信息信息管理應(yīng)該能夠提供充足的信息和快捷的查詢手段。當(dāng)前,由于學(xué)校學(xué)生信息管理上存在差異,特別是針對(duì)不同階段學(xué)生的信息特點(diǎn),例如研究生和本科生,信息管理內(nèi)容相差甚遠(yuǎn),再加上當(dāng)前眾多的軟件開(kāi)發(fā)技術(shù)或開(kāi)發(fā)模式,使得學(xué)生信息信息管理系統(tǒng)功能設(shè)計(jì)和實(shí)現(xiàn)上千差萬(wàn)別。對(duì)于學(xué)生學(xué)生信息信息及每學(xué)期各學(xué)科的學(xué)習(xí)成績(jī)需要一個(gè)快捷、公平、及時(shí)且節(jié)約成本的管理方式。因此,學(xué)生學(xué)生信息信息管理系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)滿足了學(xué)校以及學(xué)生的需求,成為提高教學(xué)效率、節(jié)約人力物力的極好工具。上一代的學(xué)生信息信息管理系統(tǒng)主要為單機(jī)用戶的系統(tǒng),其數(shù)據(jù)庫(kù)主要采用FoxPro,系統(tǒng)開(kāi)發(fā)環(huán)境也是數(shù)據(jù)庫(kù)內(nèi)置的開(kāi)發(fā)工具。其特點(diǎn)是單機(jī)單用戶方式,開(kāi)發(fā)簡(jiǎn)單,能充分利用數(shù)據(jù)庫(kù)的特性。其缺點(diǎn)是開(kāi)發(fā)出的系統(tǒng)依賴性較強(qiáng),運(yùn)行必須依托數(shù)據(jù)庫(kù)環(huán)境;不容易升級(jí)與擴(kuò)展;無(wú)法實(shí)現(xiàn)數(shù)據(jù)的共享與并行操作;代碼重用性差。隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,特別是校園網(wǎng)的建立,原有學(xué)生信息信息管理系統(tǒng)數(shù)據(jù)共享性差的問(wèn)題更加突出,而新需求的提出也越來(lái)越多,越多越頻繁。這就要求系統(tǒng)在可擴(kuò)展性和標(biāo)準(zhǔn)化方面的要求更高。而原有的系統(tǒng)與生俱來(lái)的缺點(diǎn)而無(wú)法適應(yīng)現(xiàn)在的需求。1.2國(guó)內(nèi)外研究狀況從上世紀(jì)開(kāi)始,管理信息系統(tǒng)在國(guó)外很多地方使用已經(jīng)相當(dāng)普遍。如:1997年,PeterChiu[1]設(shè)計(jì)了一個(gè)招聘管理的信息管理系統(tǒng),用其對(duì)應(yīng)聘招聘的信息進(jìn)行分析和統(tǒng)計(jì)。2008年,王勇[2]使用了鐵路站環(huán)境保護(hù)管理系統(tǒng)對(duì)鐵路站進(jìn)行管理改革,降低了鐵路站環(huán)境保護(hù)的經(jīng)濟(jì)成本。2002年,施泳[3]等提出了一個(gè)行車安全信息管理系統(tǒng),為了提供行車安全,利用行車安全信息管理系統(tǒng),解決安全問(wèn)題。我國(guó)國(guó)內(nèi)對(duì)管理信息系統(tǒng)的研究也在逐步擴(kuò)大,管理信息系統(tǒng)不斷地應(yīng)用在各行各業(yè)中。黃效文、鄭明春[4]采用B/S結(jié)構(gòu)和JSP+JavaBean+SQLServer技術(shù)作為網(wǎng)站開(kāi)發(fā)工具,設(shè)計(jì)開(kāi)發(fā)了一個(gè)公共圖書(shū)管理系統(tǒng),使得圖書(shū)館工作變得更加便利高效明顯的提高了查詢質(zhì)量和效率,最大限度地節(jié)約了用戶的時(shí)間。雷曉敏[5]通過(guò)研究各個(gè)地方的在線考試系統(tǒng),設(shè)計(jì)了一套基于JSP技術(shù)和SQLServer2000的在線考試系統(tǒng),大大地減輕了教師的工作負(fù)擔(dān),提升了工作效率,同時(shí)也提高了考試質(zhì)量。陳得友、劉遠(yuǎn)超[6]通過(guò)研究各個(gè)家庭財(cái)務(wù)管理系統(tǒng)情況,從家庭的實(shí)際出發(fā),采用JSP動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)和SQL數(shù)據(jù)庫(kù)設(shè)計(jì)并實(shí)現(xiàn)了功能較為完善的家庭財(cái)務(wù)管理系統(tǒng)。解健[7]畢業(yè)設(shè)計(jì)的管理實(shí)踐,分析了網(wǎng)上畢業(yè)設(shè)計(jì)選題系統(tǒng)的設(shè)計(jì)思路,設(shè)計(jì)了一套基于JSP的畢業(yè)設(shè)計(jì)選題系統(tǒng)。任衛(wèi)東[8]針對(duì)當(dāng)今發(fā)展迅猛的電子商務(wù)研究構(gòu)建了一個(gè)基于ASP的網(wǎng)上書(shū)店系統(tǒng),方便了用戶的購(gòu)書(shū)。國(guó)外的信息管理系統(tǒng)功能相當(dāng)強(qiáng)大。2006年,Kavzoglu[9]為機(jī)場(chǎng)信息管理設(shè)計(jì)了一個(gè)信息管理系統(tǒng),有效的促進(jìn)了歷史信息和數(shù)據(jù)的共享,減少了數(shù)據(jù)的流失。在2004年,江蘇宜興市周鐵中學(xué)的吳聯(lián)華[10]提出了學(xué)校管理信息系統(tǒng)的構(gòu)建和運(yùn)用初探。建立學(xué)校管理信息系統(tǒng)可以及時(shí)、準(zhǔn)確的提供統(tǒng)計(jì)、分析、評(píng)價(jià)的數(shù)據(jù)及有關(guān)信息,幫助學(xué)校管理人員為學(xué)校發(fā)展規(guī)劃和辦學(xué)目標(biāo)提供決策依據(jù),合理調(diào)配和整合校內(nèi)外資源,提高學(xué)校管理工作的質(zhì)量和效率。根據(jù)目前國(guó)內(nèi)外的情況來(lái)看,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)在各個(gè)學(xué)校中都有了較為廣泛的應(yīng)用。隨著計(jì)算機(jī)技術(shù)的普及與發(fā)展,許多學(xué)校在管理方面加大了資金投入,實(shí)現(xiàn)辦公自動(dòng)化、電腦化。因此,編制高校學(xué)生信息管理系統(tǒng),實(shí)現(xiàn)學(xué)生學(xué)生信息管理的現(xiàn)代化,讓微機(jī)成為學(xué)校學(xué)生信息管理工作的重要助手和工具,節(jié)約人力和時(shí)間,確保管理信息的正確性,提高學(xué)校的工作效率,已成為高校發(fā)展的需要。在計(jì)算機(jī)科學(xué)領(lǐng)域中,數(shù)據(jù)庫(kù)技術(shù)已成為數(shù)據(jù)處理的主要方法和工具,它的基本思想是對(duì)數(shù)據(jù)實(shí)行集中的、統(tǒng)一的、獨(dú)立的管理,用戶最大限度地共享數(shù)據(jù)資源。學(xué)生學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本系統(tǒng)主要完成對(duì)學(xué)生信息的管理,包括添加、修改、刪除,查詢,打印信息以用戶管理等六個(gè)方面。系統(tǒng)可以完成對(duì)各類信息的瀏覽、查詢、添加、刪除、修改等功能。
系統(tǒng)的核心是添加、修改和刪除三者之間的聯(lián)系,每一個(gè)表的修改都將聯(lián)動(dòng)的影響其它的表,當(dāng)完成添加或刪除操作時(shí)系統(tǒng)會(huì)自動(dòng)地完成學(xué)生信息的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中主要根據(jù)學(xué)生姓名和學(xué)號(hào)進(jìn)行查詢,其目的都是為了方便用戶使用。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能。1.3研究目標(biāo)采用JSP技術(shù)和B/S模式進(jìn)行網(wǎng)站建設(shè),SQLServer作為后臺(tái)數(shù)據(jù)庫(kù)支持,開(kāi)發(fā)一個(gè)基于Web的學(xué)生信息管理信息系統(tǒng)。面對(duì)信息時(shí)代的高速發(fā)展和在信息化發(fā)展過(guò)程中出現(xiàn)的各種情況,該學(xué)生信息信息管理系統(tǒng)在實(shí)施后可以達(dá)到以下目標(biāo):(1)學(xué)生用戶:包括修改密碼、重新登錄、查看個(gè)人基本信息、查看成績(jī)、查看未及格信息、網(wǎng)上選課以及查看課表等功能。(2)教職工用戶:包括修改密碼,重新登錄、查看學(xué)生基本信息、添加新課程、成績(jī)錄入等功能。(3)管理員用戶:包括修改密碼、重新登錄、添加新用戶、查看用戶信息、查看學(xué)生成績(jī)、發(fā)布成績(jī)以及發(fā)布課程信息等功能。1.4研究?jī)?nèi)容通過(guò)對(duì)學(xué)生信息管理流程的分析,能夠得到如下的一些具體研究?jī)?nèi)容:(1)分析學(xué)生信息管理中各對(duì)象的需求根據(jù)學(xué)生信息信息管理開(kāi)展流程分析,主要有各院學(xué)生、教職工和管理員用戶。運(yùn)用軟件工程的知識(shí)分析上述對(duì)象在系統(tǒng)中所需要實(shí)現(xiàn)的操作,如:學(xué)生有查看個(gè)人基本信息、查看課表、網(wǎng)上選課等權(quán)限。教職工有查看學(xué)生基本信息、查看學(xué)生成績(jī)以及成績(jī)錄入等權(quán)限。教務(wù)管理員用戶具有添加新用戶、查看用戶信息以及發(fā)布成績(jī)等權(quán)限。(2)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì):根據(jù)需求分析得到的結(jié)果,進(jìn)行數(shù)據(jù)庫(kù)中表的設(shè)計(jì)以及各表之間的聯(lián)系設(shè)計(jì)[11]。如:學(xué)生信息表、教師信息表、班級(jí)信息表、課程信息表。(3)系統(tǒng)實(shí)現(xiàn)與測(cè)試本系統(tǒng)主要采用JSP技術(shù)實(shí)現(xiàn)網(wǎng)頁(yè)的制作,SQLServer2005作為后臺(tái)數(shù)據(jù)庫(kù),JDBC技術(shù)進(jìn)行數(shù)據(jù)庫(kù)連接,依托Tomcat作為網(wǎng)站服務(wù)器。系統(tǒng)實(shí)現(xiàn)后,對(duì)系統(tǒng)功能進(jìn)行測(cè)試,例如登錄測(cè)試、修改密碼測(cè)試等。1.5技術(shù)路線根據(jù)內(nèi)的主要內(nèi)容和設(shè)計(jì)思路,確立了系統(tǒng)研究開(kāi)發(fā)的技術(shù)路線,如圖1-1所示。網(wǎng)站與數(shù)據(jù)庫(kù)相結(jié)合網(wǎng)站與數(shù)據(jù)庫(kù)相結(jié)合調(diào)查和分析系統(tǒng)中各參與者的工作網(wǎng)站界面設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)利用JSP開(kāi)發(fā)實(shí)現(xiàn)網(wǎng)站實(shí)現(xiàn)基于WEB的學(xué)生信息信息管理系統(tǒng)系統(tǒng)的測(cè)試與應(yīng)用撰寫(xiě)論文圖1-1技術(shù)路線1.6可行性分析可行性分析(FeasibilityAnalysis)也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性,對(duì)新系統(tǒng)的開(kāi)發(fā)從技術(shù)、經(jīng)濟(jì)、社會(huì)的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開(kāi)發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。(一)技術(shù)可行性學(xué)生學(xué)生信息管理系統(tǒng)采用了當(dāng)前的主流計(jì)算結(jié)構(gòu)模式B/S模式進(jìn)行開(kāi)發(fā),前臺(tái)開(kāi)發(fā)語(yǔ)言選用Java、Myeclipse以及Tomcat網(wǎng)絡(luò)信息服務(wù)器作為開(kāi)發(fā)平臺(tái)。Java是一種面向?qū)ο蟮腤indows開(kāi)發(fā)語(yǔ)言Java具有易用、通用和平臺(tái)無(wú)關(guān)的特點(diǎn)。后臺(tái)的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具選用了SQLServer數(shù)據(jù)庫(kù),它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)完整性并提供許多高級(jí)管理和數(shù)據(jù)分配功能。采用HTML,javascript,CSS控制樣式前臺(tái)界面設(shè)計(jì),可以實(shí)現(xiàn)良好的頁(yè)面交互。這些開(kāi)發(fā)工具功能強(qiáng)大,有較好的接口,作為本系統(tǒng)開(kāi)發(fā)工具是可行的。
(1)Java:Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)(即JavaSE,JavaEE,JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢(shì)和廣闊前景。(2)Myeclipse:MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。(3)Tomcat:Tomcat是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。(二)經(jīng)濟(jì)可行性隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,利用計(jì)算機(jī)實(shí)現(xiàn)企業(yè)人事管理勢(shì)在必行。21世紀(jì)是一個(gè)充滿競(jìng)爭(zhēng)和挑戰(zhàn)的世紀(jì)。在這個(gè)世紀(jì)中,高效化、系統(tǒng)化、規(guī)范化、自動(dòng)化已成為現(xiàn)代企業(yè)的代名詞。傳統(tǒng)的手工式的管理方式已經(jīng)無(wú)法適合當(dāng)今的龐大的數(shù)據(jù)處理和精確的運(yùn)算需求,所以一套功能完善的學(xué)生信息管理系統(tǒng)是提高工作效率節(jié)省人力物力的有效解決方案。傳統(tǒng)的管理方式,對(duì)學(xué)校管理人員要求數(shù)量多,耗資高,錯(cuò)誤率高,工作人員流動(dòng)和對(duì)新人的培訓(xùn)經(jīng)費(fèi)也是不小的開(kāi)支。一套完善的學(xué)生信息管理系統(tǒng)可持續(xù)使用并能隨著時(shí)代和工作的需求不斷更新,一期投入終身受用,按長(zhǎng)期的使用計(jì)算,開(kāi)發(fā)系統(tǒng)的造價(jià)平均到每年與傳統(tǒng)式的管理方式的年耗資本相對(duì)比,性價(jià)比是可行的。綜上所述,開(kāi)發(fā)這套系統(tǒng)的經(jīng)濟(jì)可行性是很高的。(三)操作可行性對(duì)于這套學(xué)生信息管理系統(tǒng)而言,在投入使用前,會(huì)由開(kāi)發(fā)并能熟練操作本系統(tǒng)的系統(tǒng)開(kāi)發(fā)人員對(duì)用戶群進(jìn)行專業(yè)系統(tǒng)的培訓(xùn)。培訓(xùn)內(nèi)容應(yīng)包括,熟練掌握系統(tǒng)的各個(gè)功能和簡(jiǎn)單的系統(tǒng)維護(hù),在開(kāi)發(fā)設(shè)計(jì)程序的過(guò)程中直觀的界面和控件的文字解釋完全能使得用戶充分理解起功能和意義,在計(jì)算機(jī)普及的今天,用戶對(duì)本系統(tǒng)的操作完全可以看做是一種簡(jiǎn)單的,配合形式的手工操作,因?yàn)楸鞠到y(tǒng)最適合用于微型機(jī),可以說(shuō)幾乎任何人都可以使用和管理。所以本系統(tǒng)的操作是完全可行的。1.7論文結(jié)構(gòu)本文共分為緒論、開(kāi)發(fā)環(huán)境和技術(shù)介紹、系統(tǒng)的設(shè)計(jì)、系統(tǒng)的實(shí)現(xiàn)、系統(tǒng)測(cè)試與應(yīng)用、總結(jié)與展望等幾部分。第一章主要介紹了選題背景、國(guó)內(nèi)外研究狀況、課題研究的目標(biāo)和內(nèi)容、技術(shù)路線。第二章介紹了系統(tǒng)開(kāi)發(fā)應(yīng)用到的主要技術(shù),包括:JSP簡(jiǎn)要介紹、SQLServer介紹、JDBC技術(shù)以及B/S模式和C/S模式的分析。第三章介紹了學(xué)生信息信息管理系統(tǒng)的設(shè)計(jì)過(guò)程。首先對(duì)系統(tǒng)進(jìn)行了需求分析,然后根據(jù)需求進(jìn)行數(shù)據(jù)庫(kù)表的詳細(xì)設(shè)計(jì),并且確定各個(gè)表之間的關(guān)聯(lián)關(guān)系。結(jié)合系統(tǒng)中各個(gè)角色的功能對(duì)系統(tǒng)數(shù)據(jù)的整體流程進(jìn)行分析設(shè)計(jì)。第四章介紹了系統(tǒng)的實(shí)現(xiàn)過(guò)程。內(nèi)容包括數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn),以及各個(gè)功能模塊的代碼實(shí)現(xiàn)。第五章的內(nèi)容是測(cè)試與應(yīng)用。分為系統(tǒng)登錄測(cè)試,學(xué)生功能測(cè)試,教師功能測(cè)試。第六章對(duì)全文進(jìn)行了總結(jié)與展望。
2.web應(yīng)用開(kāi)發(fā)技術(shù)介紹2.1開(kāi)發(fā)環(huán)境數(shù)據(jù)庫(kù)系統(tǒng):SQLServer2005開(kāi)發(fā)語(yǔ)言:JAVA開(kāi)發(fā)工具:MyEclipse服務(wù)器:Tomcat2.2J2EE開(kāi)發(fā)框架介紹J2EE是Java2平臺(tái)企業(yè)版(Java2Platform,EnterpriseEdition)J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共同的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,企業(yè)內(nèi)部或外部難以互通的窘境。J2EE(Java2PlatformEnterpriseEdition)是使用Java技術(shù)開(kāi)發(fā)企業(yè)級(jí)應(yīng)用的一種事實(shí)上的工業(yè)標(biāo)準(zhǔn)(Sun公司出于其自身利益的考慮,至今沒(méi)有將Java及其相關(guān)技術(shù)納入標(biāo)準(zhǔn)化組織的體系),它是Java技術(shù)不斷適應(yīng)和促進(jìn)企業(yè)級(jí)應(yīng)用過(guò)程中的產(chǎn)物。目前,Java平臺(tái)有三個(gè)版本:適用于小型設(shè)備和智能卡的J2ME(Java2PlatformMicroEdition)、適用于桌面系統(tǒng)的J2SE(Java2PlatformStandardEdition)和適用于企業(yè)級(jí)應(yīng)用的J2EE(Java2PlatformEnterpriseEdition)。Sun推出J2EE的目的是為了克服傳統(tǒng)Client/Server模式的弊病,迎合Browser/Server架構(gòu)的潮流,為應(yīng)用Java技術(shù)開(kāi)發(fā)服務(wù)器端應(yīng)用提供一個(gè)平臺(tái)獨(dú)立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級(jí)平臺(tái),從而簡(jiǎn)化企業(yè)應(yīng)用的開(kāi)發(fā)、管理和部署。J2EE是一個(gè)標(biāo)準(zhǔn),而不是一個(gè)現(xiàn)成的產(chǎn)品。各個(gè)平臺(tái)開(kāi)發(fā)商按照J(rèn)2EE規(guī)范分別開(kāi)發(fā)了不同的J2EE應(yīng)用服務(wù)器,J2EE應(yīng)用服務(wù)器是J2EE企業(yè)級(jí)應(yīng)用的部署平臺(tái)。由于它們都遵循了J2EE規(guī)范,因此,使用J2EE技術(shù)開(kāi)發(fā)的企業(yè)級(jí)應(yīng)用可以部署在各種J2EE應(yīng)用服務(wù)器上。為了推廣并規(guī)范化使用J2EE架構(gòu)企業(yè)級(jí)應(yīng)用的體系架構(gòu),Sun同時(shí)給出了一個(gè)建議性的J2EE應(yīng)用設(shè)計(jì)模型:J2EEBlueprints。J2EEBlueprints提供了實(shí)施J2EE企業(yè)級(jí)應(yīng)用的體系架構(gòu)、設(shè)計(jì)模式和相關(guān)的代碼,通過(guò)應(yīng)用J2EEBlueprints所描述的體系模型,能夠部分簡(jiǎn)化架構(gòu)企業(yè)級(jí)應(yīng)用這項(xiàng)復(fù)雜的工作。J2EEBlueprints是開(kāi)發(fā)人員設(shè)計(jì)和優(yōu)化J2EE組件的基本原則,同時(shí)為圍繞開(kāi)發(fā)工作進(jìn)行職能分工給出了指導(dǎo)性策略,以幫助應(yīng)用開(kāi)發(fā)設(shè)計(jì)人員合理地分配技術(shù)資源。2.3JSP,MyeclipseJSP[12]技術(shù)使用Java編程語(yǔ)言編寫(xiě)類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML[13]文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java語(yǔ)言的,而且所有的JSP頁(yè)面最后都被編譯成為了JavaService,JSP頁(yè)面就具有了Java技術(shù)的所有的好處,包括健全的存儲(chǔ)管理和安全性,并且擁有Java編程語(yǔ)言一次編寫(xiě),隨處運(yùn)行的特點(diǎn)[14]。MyEclipse[15]企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能。開(kāi)發(fā)JSP的應(yīng)用過(guò)程:(1)創(chuàng)建Web工程:打開(kāi)Myeclipse開(kāi)發(fā)界面,F(xiàn)ile->New->Proj-ects,打開(kāi)新建項(xiàng)目對(duì)話框,選中MyEclipse->WebProject,點(diǎn)擊NEXT按鈕,在WebProje-ctDetails的ProjectsName中輸入名字,其他采用默認(rèn)值,然后點(diǎn)擊Finish按鈕來(lái)完成項(xiàng)目創(chuàng)建。(2)創(chuàng)建JSP頁(yè)面:在上面創(chuàng)建的工程中,選中WebRoot文件夾,右鍵菜單New->JSP,其他選擇默認(rèn)。(3)配置Tomcat服務(wù)器。2.4SQLSeverSQLServer[16]由Microsoft開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),其主要目的是盡可能快地存儲(chǔ)、管理和檢索大量數(shù)據(jù)。它具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越多種平臺(tái)使用。SQLServer的可伸縮性既可以適應(yīng)很小的個(gè)人數(shù)據(jù)庫(kù),也可以適應(yīng)大型的企業(yè)級(jí)的數(shù)據(jù)管理。而且故障切換和恢復(fù)這兩種技術(shù)內(nèi)置到了SQLServer系統(tǒng)中,使得SQLServer具有了高度的可用性。SQL是高級(jí)的非過(guò)程化編程語(yǔ)言,是溝通數(shù)據(jù)庫(kù)服務(wù)器和客戶端的重要工具,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以,具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫(kù)系統(tǒng),可以使用相同的SQL語(yǔ)言作為數(shù)據(jù)輸入與管理的接口。SQL語(yǔ)言的功能主要包括查詢、操縱、定義和控制四個(gè)方面。SQLserver開(kāi)發(fā)技術(shù)概述:(1)打開(kāi)SQLServerManagementStudio,按照安裝時(shí)設(shè)置的賬號(hào)密碼登入數(shù)據(jù)庫(kù)。(2)在數(shù)據(jù)庫(kù)中新建新建一個(gè)數(shù)據(jù)庫(kù),并對(duì)其進(jìn)行命名。(3)在上面新建的數(shù)據(jù)庫(kù)里面新建表,并在表中設(shè)置主鍵和外鍵,建立起各個(gè)表之間的連接。數(shù)據(jù)庫(kù)連接對(duì)系統(tǒng)來(lái)說(shuō)是最為重要的部分,Java中連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC[17](JavaDataBaseConnectivity,java數(shù)據(jù)庫(kù)連接)。JDBC是由Java編程語(yǔ)言編寫(xiě)的類及接口組成,同時(shí)它也為程序開(kāi)發(fā)人員提供了一組用于實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的JDBCAPI,并支持SQL語(yǔ)言[18]。利用JDBC可以將Java代碼連接到SQLServer、MySQL、Oracle等數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作的目的。簡(jiǎn)單的說(shuō),JDBC可以做三件事:(1)與數(shù)據(jù)庫(kù)建立連接;(2)發(fā)送并執(zhí)行SQL語(yǔ)句;(3)處理結(jié)果;上述工作主要通過(guò)JDBC中以下幾個(gè)核心類組成:Db.java類Db.java類是JDBC的管理層,用于注冊(cè)跟蹤可用的驅(qū)動(dòng)程序,同時(shí)在數(shù)據(jù)庫(kù)和相應(yīng)的驅(qū)動(dòng)之間建立連接。在JDBC中可以自動(dòng)在Db.java類中注冊(cè)驅(qū)動(dòng),在程序中利用Class.forName()方法加載指定驅(qū)動(dòng)程序。加載程序類并在DriverMan-ager類中注冊(cè)后,即與數(shù)據(jù)庫(kù)建立了連接。Connection類調(diào)用DriverManager.getConnection()方法會(huì)返回一個(gè)Connection對(duì)象,這個(gè)Conne-Ction對(duì)象就代表與數(shù)據(jù)庫(kù)的連接。Connection類中的方法有以下一些功能:向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句;事務(wù)處理;管理連接;Statement類Statement對(duì)象是由Connection類的createStatement()方法創(chuàng)建的,用于將SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)中。ResultSet類ResultSet類提供了對(duì)數(shù)據(jù)結(jié)構(gòu)集的訪問(wèn)機(jī)制。ResultSet對(duì)象是通過(guò)調(diào)用Statement對(duì)象的exe-cuteQuery()方法創(chuàng)建的。 2.5Tomcat服務(wù)器Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器,可以和大部分主流HTTP服務(wù)器一起工作,它是Apache軟件基金會(huì)(ApacheSoftwareFoundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn)。因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛(ài)好者得喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。Tomcat服務(wù)器不但支持運(yùn)行Servlet和JSP,而且還具備了商業(yè)JavaWeb應(yīng)用容器的特征,除了能夠運(yùn)行Servlet和JSP外,還具備了作為WEB服務(wù)器的特有功能。它運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能,而且它還在不斷的改進(jìn)和完善中。本系統(tǒng)在部署應(yīng)用的過(guò)程中選用了Tomcat作為WEB服務(wù)器。
3.學(xué)生信息信息管理系統(tǒng)的設(shè)計(jì)3.1需求分析通過(guò)多方面的溝通交流與了解,確定整個(gè)系統(tǒng)分為學(xué)生管理端和教師管理端。其對(duì)系統(tǒng)功能的要求具體如下:(1)教務(wù)管理員端的功能:管理員可以修改自己的密碼,添加新用戶,根據(jù)學(xué)號(hào)查詢指定學(xué)生信息,對(duì)選課進(jìn)行控制以及發(fā)布成績(jī)等,教務(wù)管理員用例圖如圖3-1所重新登錄重新登錄添加教師添加教師登錄系統(tǒng)登錄系統(tǒng)修改密碼修改密碼圖3-1教務(wù)管理用戶用例圖2.教職工端的功能:教職工可以修改自己的密碼,可以根據(jù)學(xué)號(hào)查詢指定學(xué)生的基本信息和成績(jī)和課程成績(jī)的錄入等,教職工用戶的用例圖如圖3-2所示班級(jí)信息管理班級(jí)信息管理學(xué)生信息管理課程信息管理成績(jī)信息管理課表信息管理登錄圖3-2教職工用戶用例圖3.學(xué)生端的功能:學(xué)生可以查看自己的基本信息,查看個(gè)人的成績(jī),包括已選修課程成績(jī)以及不及格成績(jī),可以在網(wǎng)上進(jìn)行選課并查看課表等,學(xué)生用戶的用例圖如圖3-3所示。登錄系統(tǒng)登錄系統(tǒng)查看基本信息查看課程成績(jī)修改密碼查看不及格成績(jī)重新登錄網(wǎng)上選課查看課表圖3-3學(xué)生用戶用例圖3.2系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)3.2.1數(shù)據(jù)庫(kù)ER模型本系統(tǒng)根據(jù)上面的需求規(guī)劃出的實(shí)體有:學(xué)生用戶實(shí)體、課程實(shí)體、成績(jī)實(shí)體、班級(jí)實(shí)體、學(xué)院實(shí)體。其中方框內(nèi)的為實(shí)體,橢圓內(nèi)的是實(shí)體的屬性。(1)學(xué)生用戶實(shí)體E-R圖,如圖3-4所示。 學(xué)生學(xué)生學(xué)號(hào)姓名性別密碼家庭住址照片班級(jí)電話班級(jí)身份證圖3-4學(xué)生實(shí)體E-R圖可選人數(shù)任課教師(2)課程實(shí)體E-R圖,如果3-5所示??蛇x人數(shù)任課教師課程名編號(hào)課程名編號(hào)課程課程學(xué)分考核方式學(xué)分考核方式學(xué)時(shí)學(xué)時(shí)圖3-5課程實(shí)體E-R圖(3)學(xué)院、專業(yè)和班級(jí)實(shí)體E-R圖,如圖3-6所示。班級(jí)班級(jí)班級(jí)名稱班主任 圖3-6學(xué)院、專業(yè)和班級(jí)實(shí)體的E-R圖(4)結(jié)合自底向上的分析方法,設(shè)計(jì)出學(xué)生信息信息管理系統(tǒng)的全局E-R圖,如圖3.7所示。班級(jí)班級(jí)教師班級(jí)學(xué)生包含包含下屬選課課程開(kāi)設(shè)圖3-7全局實(shí)體關(guān)系圖3.2.2數(shù)據(jù)庫(kù)表設(shè)計(jì)根據(jù)需求分析,選取SQLServer2005作為數(shù)據(jù)庫(kù)。本系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)數(shù)據(jù)表的字段定義和說(shuō)明如下:表3-1學(xué)生信息表(students)列名數(shù)據(jù)類型是否主鍵備注xuehaoint是學(xué)號(hào)xingmingvarchar(50)否姓名banjivarchar(50)否班級(jí)xingbievarchar(50)否性別dianhuavarchar(50)否電話zhaopianvarchar(50)否照片jiatingzhuzhivarchar(50)否家庭住址beizhuvarchar(50)否備注mimavarchar(50)否密碼addtimedatetime否添加時(shí)間表3-2課程信息表(course)列名數(shù)據(jù)類型是否主鍵備注idint是課程號(hào)bianhaovarchar(50)否編號(hào)kechengmingchengvarchar(50)否課程名稱kaohefangshivarchar(50)否考核方式xuefenvarchar(50)否學(xué)分xueshivarchar(50)否學(xué)時(shí)shuxingvarchar(50)否屬性renkejiaoshivarchar(50)否任課教師kexuanrenshuvarchar(50)否可選人數(shù)beizhuvarchar(5000)否備注addtimevarchar(50)否添加時(shí)間yxrsvarchar(50)否所屬專業(yè)表3-3班級(jí)信息表列名數(shù)據(jù)類型是否主鍵說(shuō)明idint是班級(jí)IDbanjivarchar(50)否班級(jí)名稱banzhurenvarchar(50)否班主任renshuvarchar(50)否人數(shù)addtimedatetime否添加時(shí)間表3-4選課信息表列名數(shù)據(jù)類型是否主鍵說(shuō)明IDint是選課IDbianhaovarchar(50)否選課編號(hào)kechengmingchengvarchar(300)否課程名稱xuefenvarchar(50)否學(xué)分xueshivarchar(50)否學(xué)時(shí)shuxingvarchar(50)否屬性renkejiaoshivarchar(50)否任課教師xuehaovarchar(50)否學(xué)號(hào)addtimedatetime否添加時(shí)間chengjifloat否成績(jī)表3-5教師信息表列名數(shù)據(jù)類型是否主鍵說(shuō)明IDint是教師IDgonghaovarchar(50)否工號(hào)xingmingvarchar(50)否姓名mimavarchar(50)否密碼chushengnianyuevarchar(50)否出生年月shenfenzhengvarchar(300)否身份證xingbievarchar(50)否性別zhichengvarchar(50)否職稱zhaopianvarchar(50)否照片zhujiaokechengvarchar(50)否主教課程dianhuavarchar(50)否電話beizhuvarchar(500)否備注addtimedatetime否添加時(shí)間3.3系統(tǒng)模塊及流程設(shè)計(jì)3.3.1系統(tǒng)模塊根據(jù)上述需求分析,將系統(tǒng)分為以下幾個(gè)模塊。(1)用戶登錄模塊:負(fù)責(zé)驗(yàn)證系統(tǒng)中各類型的用戶的登錄信息,并根據(jù)登錄類型的不同轉(zhuǎn)向不同的頁(yè)面。(2)系統(tǒng)操作模塊:負(fù)責(zé)修改密碼以及重新登錄。(3)教務(wù)用戶管理模塊:負(fù)責(zé)添加新用戶、課程的添加以及課程信息和成績(jī)的公布。(4)教師管理模塊:負(fù)責(zé)學(xué)生基本信息查詢、學(xué)生成績(jī)查詢以及課程成績(jī)的錄入。(5)學(xué)生管理模塊:負(fù)責(zé)查看基本信息、查看課表、網(wǎng)上選課以及查看成績(jī)。系統(tǒng)功能模塊圖如下圖3-11所示:圖3-11系統(tǒng)功能模塊圖3.3.2系統(tǒng)流程圖(1)系統(tǒng)操作模塊流程圖,如圖3-11所示。用戶登錄用戶登錄調(diào)用用戶信息修改密碼生成新的密碼存入數(shù)據(jù)庫(kù)圖3-11系統(tǒng)操作模塊流程圖(2)教務(wù)管理員用戶管理模塊流程圖,如圖3-12所示。教師教師課程管理生成課程信息表存入數(shù)據(jù)庫(kù)添加新用戶生成用戶信息表調(diào)用成績(jī)表公布成績(jī)圖3-12教務(wù)管理員用戶管理模塊流程圖(3)成績(jī)管理模塊流程圖,如圖3-13所示。教職工用戶登錄教職工用戶登錄調(diào)用選課信息表錄入成績(jī)生成成績(jī)表存入數(shù)據(jù)庫(kù)圖3-13成績(jī)管理模塊流程圖(4)學(xué)生用戶模塊流程圖,如圖3-14所示。學(xué)生用戶登錄學(xué)生用戶登錄調(diào)用課程表網(wǎng)上選課生成選課信息表存入數(shù)據(jù)庫(kù)調(diào)用成績(jī)表查看成績(jī)調(diào)用課程表查看課表圖3-14學(xué)生用戶模塊流程圖4.學(xué)生信息信息管理系統(tǒng)的實(shí)現(xiàn)4.1數(shù)據(jù)庫(kù)連接實(shí)現(xiàn)使用JDBC進(jìn)行數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn)過(guò)程:加載驅(qū)動(dòng)程序利用Class.forName()方法來(lái)加載指定驅(qū)動(dòng)程序: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");(2)與數(shù)據(jù)庫(kù)建立連接 StringconnectionUrl="jdbc:sqlserver://localhost:1433;"+ "databaseName=test;user=sa;password=sa;"; conn=DriverManager.getConnection(connectionUrl);(3)創(chuàng)建Statement對(duì)象建立了Statement對(duì)象后,就可以利用該對(duì)象,根據(jù)行指定的SQL語(yǔ)句,執(zhí)行對(duì)數(shù)據(jù)庫(kù)的操作。創(chuàng)建代碼為:stmt=conn.createStatement()。(4)執(zhí)行指定的SQL語(yǔ)句一旦建立了Statement對(duì)象后,就可以利用該對(duì)象的executeQuery(sql)方法讓數(shù)據(jù)庫(kù)執(zhí)行指定的SQL語(yǔ)句。如ql="selectcol_nofromteacheruserwhereuid='"+uid+"'"+"andpwd='"+pwd+"'";rs=stmt.executeQuery(sql)(5)關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)數(shù)據(jù)庫(kù)操作結(jié)束后,要依次關(guān)閉,if(rs!=null){rs.close();rs=null;} if(stmt!=null){stmt.close();stmt=null;} if(conn!=null){conn.close();conn=null;}4.2用戶登錄模塊登錄界面是操作本學(xué)生信息信息管理系統(tǒng)的入口和出口,登錄界面為用戶提供各子模塊的操作入口,進(jìn)入系統(tǒng)需要登錄以核實(shí)其身份是否合法。<% Stringuid=request.getParameter("username"); Stringpwd=request.getParameter("pwd"); Stringcx=newString(request.getParameter("cx") .getBytes("8859_1")); Stringsql=""; if(cx.equals("教師")){ sql="select*from[jiaoshixinxi]wheregonghao='"+uid +"'andmima='"+pwd+"'"; } if(cx.equals("學(xué)生")){ sql="select*from[xueshengxinxi]wherexuehao='"+uid +"'andmima='"+pwd+"'"; } if(cx.equals("管理員")){ sql="select*from[allusers]whereusername='"+uid +"'andpwd='"+pwd+"'"; } ResultSetRS_result=connDbBean.executeQuery(sql); if(!RS_result.next()){ out.print("<script>alert('你輸入的用戶不存在或密碼錯(cuò)誤,請(qǐng)重新登錄!');window.history.go(-1);</script>"); }else{ session.setAttribute("username",uid); if(cx.equals("管理員")){ session.setAttribute("cx",RS_result.getString("cx")); }else{ session.setAttribute("cx",cx); session.setAttribute("xingming",RS_result.getString("xingming")); } response.sendRedirect("main.jsp"); } RS_result.close(); %>4.3系統(tǒng)操作模塊4.3.1修改密碼用戶登錄后可以點(diǎn)擊“修改密碼”按鈕來(lái)修改自己的登錄密碼,容器捕獲表單的Action信息,執(zhí)行相應(yīng)的方法changePwd(),其代碼如下:publicStringchangePwd() { this.different="";this.result=""; if(!t<% Stringymm=request.getParameter("ymm"); Stringxmm1=request.getParameter("xmm1"); ResultSetRS_result=connDbBean .executeQuery("select*from[allusers]whereusername='" +request.getSession().getAttribute("username") +"'"); if(!RS_result.next()){ out .print("<script>alert('系統(tǒng)故障,請(qǐng)勿越權(quán)操作!');window.history.go(-1);</script>"); }else{ Stringpwd=RS_result.getString("pwd"); if(pwd.equals(ymm)){ Stringsql="updatealluserssetpwd='"+xmm1 +"'whereusername='" +request.getSession().getAttribute("username") +"'"; connDbBean.executeUpdate(sql); out .print("<script>alert('修改成功!!');window.history.go(-1);</script>"); }else{ out .print("<script>alert('對(duì)不起,您的原密碼不正確,請(qǐng)重試!');window.history.go(-1);</script>"); } } RS_result.close(); %>4.3.2退出登錄用戶登錄后可以點(diǎn)擊“重新登錄”按鈕來(lái)實(shí)現(xiàn)退出系統(tǒng)并返回登錄界面。4.4教務(wù)管理模塊4.4.1添加新學(xué)生對(duì)新學(xué)生信息進(jìn)行管理。在開(kāi)學(xué)前,需將學(xué)生的基本信息錄入系統(tǒng),比如學(xué)生名字、學(xué)號(hào)、性別等信息。在頁(yè)面中輸入學(xué)生的基本信息,點(diǎn)擊“提交按鈕”,容器捕獲表單的Action信息,執(zhí)行相對(duì)應(yīng)的方法addStu(),其代碼如下:<% Stringxuehao=request.getParameter("xuehao"); Stringxingming=request.getParameter("xingming"); Stringbanji=request.getParameter("banji"); Stringxingbie=request.getParameter("xingbie"); Stringdianhua=request.getParameter("dianhua"); Stringzhaopian=request.getParameter("zhaopian"); Stringshenfenzheng=request.getParameter("shenfenzheng"); Stringjiatingzhuzhi=request.getParameter("jiatingzhuzhi"); Stringbeizhu=request.getParameter("beizhu"); Stringmima=request.getParameter("mima"); Stringsql="insertintoxueshengxinxi(xuehao,xingming,banji,xingbie,dianhua,zhaopian,shenfenzheng,jiatingzhuzhi,beizhu,mima)values('" +xuehao +"','" +xingming +"','" +banji +"','" +xingbie +"','" +dianhua +"','" +zhaopian +"','" +shenfenzheng +"','" +jiatingzhuzhi +"','" +beizhu +"','"+mima+"')"; connDbBean.executeUpdate(sql); out.print("<script>alert('添加成功!!');location.href='xueshengxinxi_list.jsp';</script>"); %>4.4.2學(xué)生基本信息查詢查詢學(xué)生的基本信息。在頁(yè)面中輸入需要查詢學(xué)生的學(xué)號(hào),然后點(diǎn)擊“查詢”按鈕,該功能比較簡(jiǎn)單,只需一個(gè)查詢操作即可完成,其代碼如下:<% intcurpage=1;//當(dāng)前頁(yè) intpage_record=10;//每頁(yè)顯示的記錄數(shù) intzgs=0; intzys=0; //用下面的方法(sql查詢完成,速度快) Stringhsgnpage=request.getParameter("page"); Stringfysql="selectcount(id)asssfromxueshengxinxi"; ResultSetRS_resultfy=connDbBean.executeQuery(fysql); while(RS_resultfy.next()){ zgs=Integer.parseInt(RS_resultfy.getString("ss")); zys=zgs/page_record+1; } if(hsgnpage!=null){ curpage=Integer.parseInt(request.getParameter("page"));//獲取傳遞的值,需要顯示的頁(yè) }else{ curpage=1; } if(curpage==0){ curpage=1; } if(curpage>zys){ curpage=zys; } sql=""; sql="selecttop"+page_record +"*fromxueshengxinxiwhereidnotin(selecttop" +((cur1)*page_record) +"idfromxueshengxinxiorderbyiddesc)"; if(request.getParameter("xuehao")=="" ||request.getParameter("xuehao")==null){ }else{ sql=sql +"andxuehaolike'%" +newString(request.getParameter("xuehao").getBytes( "8859_1"))+"%'"; } if(request.getParameter("xingming")=="" ||request.getParameter("xingming")==null){ }else{ sql=sql +"andxingminglike'%" +newString(request.getParameter("xingming").getBytes( "8859_1"))+"%'"; } if(request.getParameter("banji")=="所有" ||request.getParameter("banji")==null){ }else{ sql=sql +"andbanjilike'%" +newString(request.getParameter("banji").getBytes( "8859_1"))+"%'"; } if(request.getParameter("xingbie")=="所有" ||request.getParameter("xingbie")==null){ }else{ sql=sql +"andxingbielike'%" +newString(request.getParameter("xingbie").getBytes( "8859_1"))+"%'"; } if(request.getParameter("dianhua")=="" ||request.getParameter("dianhua")==null){ }else{ sql=sql +"anddianhualike'%" +newString(request.getParameter("dianhua").getBytes( "8859_1"))+"%'"; } if(request.getParameter("shenfenzheng")=="" ||request.getParameter("shenfenzheng")==null){ }else{ sql=sql +"andshenfenzhenglike'%" +newString(request.getParameter("shenfenzheng") .getBytes("8859_1"))+"%'"; } sql=sql+"orderbyiddesc"; RS_result=connDbBean.executeQuery(sql); Stringid=""; Stringxuehao=""; Stringxingming=""; Stringbanji=""; Stringxingbie=""; Stringdianhua=""; Stringzhaopian=""; Stringshenfenzheng=""; Stringjiatingzhuzhi=""; Stringbeizhu=""; Stringmima=""; Stringaddtime=""; inti=0; while(RS_result.next()){ i=i+1; id=RS_result.getString("id"); xuehao=RS_result.getString("xuehao"); xingming=RS_result.getString("xingming"); banji=RS_result.getString("banji"); xingbie=RS_result.getString("xingbie"); dianhua=RS_result.getString("dianhua"); zhaopian=RS_result.getString("zhaopian"); shenfenzheng=RS_result.getString("shenfenzheng"); jiatingzhuzhi=RS_result.getString("jiatingzhuzhi"); beizhu=RS_result.getString("beizhu"); mima=RS_result.getString("mima"); addtime=RS_result.getString("addtime"); %> <tr> <tdwidth="30"align="center"><%=i%></td> <td><%=xuehao%></td> <td><%=xingming%></td> <td><%=banji%></td> <td><%=xingbie%></td> <td><%=dianhua%></td> <td> <ahref='<%=zhaopian%>'target='_blank'><img src='<%=zhaopian%>'width=88height=99border=0/> </a> </td> <td><%=shenfenzheng%></td> <td><%=jiatingzhuzhi%></td> <td><%=beizhu%></td> <td><%=mima%></td> <tdwidth="138"align="center"><%=addtime%></td> <tdwidth="90"align="center"> <ahref="xueshengxinxi_updt.jsp?id=<%=id%>">修改</a> <ahref="del.jsp?id=<%=id%>&tablename=xueshengxinxi" onclick="returnconfirm('真的要?jiǎng)h除?')">刪除</a> <ahref="xueshengxinxi_detail.jsp?id=<%=id%>"target="_blank">詳細(xì)</a> </td> </tr> <% } %>4.4.3學(xué)生成績(jī)查詢查詢學(xué)生的基本信息。在頁(yè)面中輸入需要查詢學(xué)生的學(xué)號(hào),然后點(diǎn)擊“查詢”按鈕,該功能和上面比較類似。4.5課程管理模塊該模塊實(shí)現(xiàn)選課信息管理,查詢可選課程列表,添加新課程以及課程成績(jī)錄入。4.5.1添加新課程添加新課程,將課程的基本信息錄入系統(tǒng),比如課程名,課程號(hào)等。在頁(yè)面中點(diǎn)擊“添加新課程”,容器捕獲表單的Action信息,執(zhí)行相應(yīng)的方法addCou(),其代碼如下:<% Stringbianhao=request.getParameter("bianhao"); Stringkechengmingcheng=request.getParameter("kechengmingcheng"); Stringkaohefangshi=request.getParameter("kaohefangshi"); Stringxuefen=request.getParameter("xuefen"); Stringxueshi=request.getParameter("xueshi"); Stringshuxing=request.getParameter("shuxing"); Stringkexuanrenshu=request.getParameter("kexuanrenshu"); Stringrenkejiaoshi=request.getParameter("renkejiaoshi"); Stringbeizhu=request.getParameter("beizhu"); Stringsql="insertintokechengxinxi(bianhao,kechengmingcheng,kaohefangshi,xuefen,xueshi,shuxing,kexuanrenshu,renkejiaoshi,beizhu)values('" +bianhao +"','" +kechengm
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 測(cè)繪工程師地圖測(cè)繪與制作
- 2024年綠色環(huán)保型商品房買賣合同GF-01713篇
- 2024年甲方提供設(shè)計(jì)方案乙方負(fù)責(zé)生產(chǎn)加工的建筑材料合同
- 2024年花卉租擺服務(wù)協(xié)議一
- 《質(zhì)量工作要點(diǎn)》課件
- 2024年高溫冷卻塔填料采購(gòu)合同
- 《責(zé)任教育主題班會(huì)》課件
- 2025版貨物包裝與運(yùn)輸一體化服務(wù)合同2篇
- 《平面向量的基本定理及坐標(biāo)表示》(課件)
- 2025年度電子商務(wù)SET協(xié)議安全防護(hù)與信息安全責(zé)任與賠償合同3篇
- 研究生自我介紹ppt模板
- 管材管件采購(gòu)方案投標(biāo)方案(完整技術(shù)標(biāo))
- 變配電所基礎(chǔ)知識(shí)課件
- 公開(kāi)課教我如何不想他課件-PPT
- 讀書(shū)筆記《框架思維》PPT模板思維導(dǎo)圖下載
- 培智生活數(shù)學(xué)暑假作業(yè)
- 項(xiàng)目部領(lǐng)導(dǎo)施工現(xiàn)場(chǎng)值班帶班交接班記錄表
- 2023年江蘇小高考?xì)v史試卷
- 《運(yùn)動(dòng)解剖學(xué)》課程實(shí)驗(yàn)課教案
- 2023年貴州貴安新區(qū)產(chǎn)業(yè)發(fā)展控股集團(tuán)有限公司招聘筆試題庫(kù)含答案解析
- 現(xiàn)金盤點(diǎn)表完整版
評(píng)論
0/150
提交評(píng)論