基于JSP的教務(wù)管理系統(tǒng)設(shè)計(jì)(完整資料)_第1頁(yè)
基于JSP的教務(wù)管理系統(tǒng)設(shè)計(jì)(完整資料)_第2頁(yè)
基于JSP的教務(wù)管理系統(tǒng)設(shè)計(jì)(完整資料)_第3頁(yè)
基于JSP的教務(wù)管理系統(tǒng)設(shè)計(jì)(完整資料)_第4頁(yè)
基于JSP的教務(wù)管理系統(tǒng)設(shè)計(jì)(完整資料)_第5頁(yè)
已閱讀5頁(yè),還剩160頁(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)介

基于JSP的教務(wù)管理系統(tǒng)設(shè)計(jì)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)

教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于JSP的教務(wù)管理系統(tǒng)設(shè)計(jì)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)摘要教務(wù)管理是學(xué)校的教務(wù)工作的主要內(nèi)容,其信息量大、信息變動(dòng)頻繁歷來(lái)是各學(xué)校的頭疼問(wèn)題,隨著人們對(duì)用計(jì)算機(jī)的使用越來(lái)越廣泛以及互聯(lián)網(wǎng)絡(luò)普及,教務(wù)管理也已經(jīng)基本形成了多元的網(wǎng)絡(luò)化管理,極大的方便了廣大師生,也方便了學(xué)校對(duì)教務(wù)工作的管理,大大的提高了教學(xué)質(zhì)量。本系統(tǒng)采用FlexB(niǎo)uilder、MyEclipse結(jié)合MySQL數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì),從管理和使用的角度分為兩個(gè)部分:學(xué)校教務(wù)管理端和學(xué)生使用端.前者主要有系統(tǒng)管理員及任課教師使用,后者則是主要面對(duì)在校學(xué)生。本文首先作教務(wù)管理系統(tǒng)的功能需求分析,然后對(duì)數(shù)據(jù)庫(kù)進(jìn)行需求分析,再在數(shù)據(jù)庫(kù)中建立相應(yīng)的表,并弄清楚數(shù)據(jù)庫(kù)中各個(gè)表的邏輯關(guān)系,接著編寫(xiě)代碼,最后調(diào)試網(wǎng)站,直到形成用戶滿意的可以使用的完整系統(tǒng).關(guān)鍵詞:教務(wù)管理系統(tǒng);FlexBuilder;MyEclipse;MySQLTheDesignandImplementat(yī)ionofEducational

AdministrationSystemAbstractAcademicSenat(yī)e,theschoolmanagementisthemaincontent,itisinformative,informationhasalwaysbeenthefrequentchangesinschoolsofheadacheproblems,aspeopleusedmoreandmoreextensiveuseofcomputersandthepopularizationoftheInternet,educationaladministrationhasbee(cuò)nbasicallyformedamulti-networkmanagement,agreat(yī)conveniencetoteachersandstudents,butalsoontheSenatetofacilitatetheworkoftheschoolmanagement,greatlyincreasedthequalityofteaching.ThesystemusesaFlexBuilder,MyEclipsecombinationofMySQLdat(yī)abasedesign,fromtheperspectiveofmanagementanduseisdividedintotwoparts:SchoolofInthispaper,firstofall,makethefunctionsofeducationalmanagementsystemneedsanalysis,thenthedatabaseneedsanalysis,andtheninthedatabasecorrespondingtable,andeachdatabasetabletoclarifythelogicofrelations,andthenwritecode,debugthefinalsite,untiltheformationofcustomersatisfactionThecompletesystemcanbeused。Keywords:EducationalAdministrat(yī)ionsystem;FlexBuilder;MyEclipse;MySQL目錄TOC\o"1-3”\h\z\uHYPERLINK\l"_Toc230529570"1緒論P(yáng)AGEREF_Toc230529570\h11。1課題的研究背景與意義PAGEREF_Toc230529571\h11。1.1課題的研究背景529572\h11。1.2課題的研究意義PAGEREF_Toc230529573\h1HYPERLINKencoding="utf-8"?><mx:Panelxmlns:mx="http://www。adobe。com/2006/mxml"layout="absolute”width=”949”height=”565"verticalAlign=”bottom"horizontalAlign="right”xmlns:ns1="com.educat(yī)ion.views.*”><mx:Metadat(yī)a〉[Event(name="loginevent",type="com。education。events.LoginEvent”)][Event(name="studentloginevent”,type="com。education.events。StudentLoginEvent")][Event(name="teacherloginevent",type=”com.educat(yī)ion。events。TeacherLoginEvent")]</mx:Metadata>〈mx:Script>??<?。跜DATA[importmx.a(chǎn)utomation。codec。KeyCodePropertyCodec;importmx。rpc。events.ResultEvent;importmx。controls.Alert;importmx.validators。Validator;importcation.vo.*;importcom.education.events.*; ? [Bindable]publicvararr:Array=newArray(”學(xué)生","教師”,"管理員");privatefunctionuserlogin():void ??{//全部驗(yàn)證后flag值為0,只要有一個(gè)沒(méi)驗(yàn)證,flag值會(huì)大于0varflag:int=Validator.validat(yī)eAll(validators)。length;if(flag==0)? ?{loginLO.login。send();} ?}privatefunctionexit():void? {varrequest:URLRequest=newURLRequest("javascript:window.close()");navigateToURL(request,”_self”);}privatefunctionprocessResult(event:ResultEvent):void{varflag:String=event。resultasString;if(flag=="管理員") {this.parentApplicat(yī)ion.vs.selectedIndex=1;varmanager:Manager=newManager(); ??manager.mana_id=username.text;varloginevent:LoginEvent=newLoginEvent(manager);this.dispatchEvent(loginevent);??}elseif(flag=="學(xué)生”)??{this.parentApplication.vs.selectedIndex=6;varstudent:Student=newStudent(); ? student.stu_id=username.text;varstudentloginevent:StudentLoginEvent=newStudentLoginEvent(student);this.dispatchEvent(studentloginevent); ?}elseif(flag==”教師") ?{this。parentApplication。vs。selectedIndex=7;varteacher:Teacher=newTeacher();?? teacher。teach_id=username。text;varteacherloginevent:TeacherLoginEvent=newTeacherLoginEvent(teacher);this.dispatchEvent(teacherloginevent);? }else??{?? Alert.show("登陸失敗,請(qǐng)檢查輸入信息!"); }}privatefunctionprocessFault(event:Event):void{ Alert.show(event。toString());} ?]]></mx:Script〉<!--遠(yuǎn)程調(diào)用方法定義和數(shù)據(jù)傳遞--><mx:RemoteObjectid="loginLO"destinat(yī)ion="loginRO”>〈mx:methodname=”login"result=”processResult(event)"fault="processFault(event)”〉<mx:arguments><username〉 ? {username。text}〈/username><password> ?? ?{password.text}</password>〈type〉 ? ?{types.text}〈/type></mx:arguments>? </mx:method></mx:RemoteObject>〈!-—登錄時(shí),判斷用戶名和密碼框不能為空--〉〈mx:Arrayid="validators">〈mx:StringValidatorsource="{username}"property=”text"required=”true"requiredFieldError="用戶名不能為空"/〉〈mx:StringValidatorsource=”{password}”property=”text”required="true"requiredFieldError="密碼不能為空"/></mx:Array><mx:Labeltext="選擇用戶類型:"/>〈mx:ComboBoxdataProvider=”{arr}"id="types"/〉<mx:Labeltext=”用戶名:"/><mx:TextInputid=”username"enter="userlogin()"/>〈mx:Labeltext="密碼:"/〉〈mx:TextInputid="password"enter=”userlogin()”displayAsPassword="true"/〉<mx:Buttonlabel="登錄"click="userlogin()"/><mx:Buttonlabel="退出"click="exit()"/〉〈/mx:Panel〉4.3學(xué)生功能模塊設(shè)計(jì)學(xué)生功能模塊主要包括個(gè)人信息查詢、修改,在線選課,密碼修改,留言、查看留言。學(xué)生選課,修滿學(xué)時(shí)之后,由授課教師打分,然后學(xué)生再次查詢信息時(shí)則可查詢到分?jǐn)?shù)。4.3.1個(gè)人信息查詢頁(yè)面?zhèn)€人信息查詢頁(yè)面如圖4.5所示,當(dāng)前登錄的學(xué)生可在此頁(yè)面中查看自己的基本信息。圖4。5個(gè)人信息查詢頁(yè)面在個(gè)人信息查詢頁(yè)面中,通過(guò)studetLO。getTheStudent.send()方法來(lái)操作數(shù)據(jù)庫(kù),把數(shù)據(jù)庫(kù)中的內(nèi)容用datagrid顯示出來(lái).首先,將進(jìn)行查詢、修改、刪除、增加等操作需要與數(shù)據(jù)庫(kù)連接的代碼單獨(dú)封裝為一個(gè)類,具體代碼如下所示:packagecom。education;importjava.sql.Connection;importjava.sql。DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql。Statement;importjavax.sql.rowset.CachedRowSet;impor.sun。rowset。CachedRowSetImpl;publicclassDBTools{ Stringdriver="com。mysql.jdbc.Driver"; Stringurl="jdbc:mysql://127.0.0.1:3306/education"; Stringuser="root";?Stringpassword=”123456";?Connectioncon=null;?ResultSetrs=null;?publicDBTools(){ ?try{ ? Class.forName(driver);? con=DriverManager.getConnection(url,user,password);? }catch(Exceptione){?? e.printStackTrace(); ?} } publicResultSetselect(Stringsql){ Statementst=null; ?CachedRowSetcrs=null;? try{ ??st=con。createStatement(); ?ResultSetrs=st.executeQuery(sql); ? crs=newCachedRowSetImpl();?? crs。populate(rs); }catch(SQLExceptione){ e.printStackTrace(); }finally{? if(con!=null){? ?try{?? ??con.close();?? ?}catch(SQLExceptione){? ??e.printStackTrace();?? ?}? ?}? }??returncrs;?}?publicintupdat(yī)e(Stringsql){//此方法int與boolean類型都可以 Statementst=null;? intvar=0; try{?? st=con。createStatement(); ? inti=st。executeUpdate(sql);?? if(i==1){ ?? var=1; ??} ?}catch(SQLExceptione){ e.printStackTrace(); ?}finally{? if(con!=null){???try{ ?con.close();? }cat(yī)ch(SQLExceptione){? ???e.printStackTrace(); ? } ? }? } returnvar;?}}其中使用的數(shù)據(jù)庫(kù)操作語(yǔ)句為:publicList<Student〉getTheStudent(Stringstu_id){ ?List<Student>list=newArrayList〈Student>(); DBToolsdb=newDBTools(); Stringsql="select*fromstuinfowherestu_id=’”+stu_id+"'”; ?ResultSetrs=db.select(sql); Studentstudent=null;try{while(rs。next()){ ? student=newStudent(); ?student。setAcademe(rs.getString(”academe"));? ?student.setAchievement(rs。getString("achievement")); ??student.setGrade(rs。getString(”grade”)); ???student.setName(rs。getString("name”));????student。setOvercourse(rs.getString("overcourse”));? ?student.setPassword(rs.getString(”password")); ??student。setSex(rs.getString("sex”));? ??student.setSpeciality(rs.getString(”speciality")); ?student.setStatus(rs.getString("status”));?? student.setStu_id(rs.getString("stu_id"));list.add(student);}}}個(gè)人信息修改頁(yè)面?zhèn)€人信息修改頁(yè)面如圖4。6所示,在該頁(yè)面中學(xué)生可對(duì)自己的個(gè)人信息進(jìn)行修改。圖4.6個(gè)人信息修改頁(yè)面每個(gè)Text文本框中的信息是通過(guò)傳遞stu_id,通過(guò)stu_id在數(shù)據(jù)庫(kù)中查詢出相應(yīng)的值,然后顯示在此頁(yè)面上,方便用戶對(duì)比進(jìn)行修改,修改信息的主要代碼如下所示:publicbooleanmodifystudentinfo(Stringstu_id,Stringname,Stringsex,Stringspeciality,Stringacademe,Stringgrade){booleanflag=false;Stringsql="updatestuinfosetname='"+name+"’,sex='"+sex? ?+”’,speciality=’"+speciality+"’,academe='"+academe?? ?+"',grade='”+grade+"'wherestu_id='"+stu_id+”'";if(sex。equals("男”)||sex。equals("女")){DBToolstool=newDBTools();intrs=tool.update(sql);if(rs==1){flag=true;}}returnflag;}<mx:methodname="modifystudentinfo"result="processinfoResult(event)”fault="processFault(event)"><mx:arguments>〈stu_id>{stu_id.text}〈/stu_id〉〈studentname>{studentname.text}</studentname><sex〉{sex。text}</sex〉〈speciality〉{speciality.text}</speciality><academe〉{academe。text}</academe〉〈grade〉{grade.text}〈/grade></mx:arguments></mx:method>4。3.3在線選課頁(yè)面學(xué)生在線選課頁(yè)面如圖4.7所示,在此頁(yè)面中學(xué)生可根據(jù)教務(wù)安排的選修課情況對(duì)自己感興趣的課程進(jìn)行選擇,但是課程一經(jīng)選定不允許退選。圖4.7在線選課頁(yè)面實(shí)現(xiàn)該頁(yè)面的功能代碼如下所示:publicList<TeachPl(wèi)an〉SelectCourse(){List<TeachPlan>list=newArrayList<TeachPl(wèi)an>();DBToolsdb=newDBTools();Stringsql="select*fromteachingplanwherecourse_kind=2";ResultSetrs=db.select(sql);TeachPlanteachplan=null;try{while(rs.next()){teachplan=newTeachPlan();teachplan。setId(rs.getInt(”id”));teachplan。setCourse_name(rs。getString("course_name"));teachplan.setCourse_kind(rs.getString(”course_kind"));teachplan。setBegin_term(rs.getString("begin_term"));teachplan。setBegin_speciality(rs.getString(”begin_speciality"));teachplan。setPeriod(rs.getString("period”));list.add(teachplan);}}catch(SQLExceptione){e.printStackTrace();}finally{try{rs。close();}catch(SQLExceptione){e.printStackTrace();}}returnlist;}publicbooleanaddcourses(Stringstu_id,Stringovercourse){booleanflag=false;booleanb=checkcourse(stu_id,overcourse);DBToolstool=newDBTools();if(b){addcoursetoselect(stu_id,overcourse);List〈Student〉list=getTheStudent(stu_id);Stringname=list.get(0)。getName();Stringpassword=list。get(0).getPassword();Stringsex=list.get(0).getSex();Stringspeciality=list。get(0).getSpeciality();Stringacademe=list.get(0)。getAcademe();Stringgrade=list.get(0)。getGrade();Stringstatus=list.get(0).getStatus();Stringsql=”insertintostuinfovalues('”+stu_id+”','"+name+"','”+password+"’,’"+sex+”','"+speciality+”','"+academe+"’,’"+grade+"','"+overcourse+"’,'0',’"+status+"’)";intrs=tool.update(sql);if(rs==1){flag=true;}}returnflag;}publicbooleancheckcourse(Stringstu_id,Stringovercourse){booleanflag=false;Stringsql=”selectovercoursefromeducat(yī)ion。stuinfowherestu_id=’”+stu_id+”'";DBToolsdb=newDBTools();ResultSetrs=db。select(sql);try{outer:while(rs.next()){Stringstr=rs。getString(”overcourse");if(str.equals(overcourse)){flag=false;breakouter;}else{flag=true;}}}catch(SQLExceptione){e.printStackTrace();}returnflag;}publicbooleanaddcoursetoselect(Stringstu_id,Stringcourse_name){booleanflag=false;DBToolsdb=newDBTools();Stringstr2=ads(stu_id,course_name);System。out。println(str2);Stringsql=”insertintoselectcourseinfovalues('"+course_name+”','"+stu_id+"',’”+str2+”',’0')”;intrs=db.update(sql);if(rs==1){flag=true;}returnflag;}publicStringads(Stringstu_id,Stringteachcourse){Stringstr=null;Stringsql1="selectteach_idfromteachinfowhereteachcourse=’"+teachcourse+"'”;DBToolsdb=newDBTools();ResultSetrs=db.select(sql1);try{while(rs.next()){str=rs.getString(”teach_id”);}}cat(yī)ch(SQLExceptione){e.printStackTrace();}returnstr;}<mx:methodname=”addcourses"result="processcoursesResult(event)”fault=”processFault(event)">〈mx:arguments〉<stu_id>{user_name}〈/stu_id><courses>{selectdg.selectedItem。course_name}</courses>〈/mx:arguments〉</mx:method〉4。3.4密碼修改頁(yè)面學(xué)生密碼修改頁(yè)面如圖4.8所示,在此頁(yè)面中已經(jīng)登錄系統(tǒng)的學(xué)生用戶可以對(duì)自己的登錄密碼進(jìn)行修改。圖4。8密碼修改頁(yè)面4.3.5歷史留言查詢頁(yè)面歷史留言查詢頁(yè)面如圖4。9所示,在此頁(yè)面中當(dāng)前登錄學(xué)生用戶可查看其已經(jīng)發(fā)表過(guò)的歷史留言。圖4。9歷史留言查詢頁(yè)面該頁(yè)面的實(shí)現(xiàn)代碼如下所示:privatefunctionwordOperator(event:MouseEvent):void{if(event.targetisButton) {if(event。target。label=="查看”)? {varlook_words:look_word=look_word(PopUpManager。createPopUp(this,look_word,true));? pointer1.x=0;? ?pointer1。y=0; pointer1=check.localToGlobal(pointer1); ?look_words。x=pointer1。x+25; look_words。y=pointer1。y+25;varword:Wo(hù)rd=newWord();?? word.leave_id=worddg.selectedItem。leave_id;word.leave_date=worddg。selectedItem。leave_date;?word.leave_name=worddg。selectedItem。leave_name; word.leave_content=worddg。selectedItem.leave_content;varlook_wordevent:Look_WordEvent=newLook_Wo(hù)rdEvent(word);this.dispatchEvent(look_wordevent); ?}}}4.3.6留言板頁(yè)面留言板頁(yè)面如圖4.10所示,已登錄用戶可通過(guò)此頁(yè)面在管理系統(tǒng)系統(tǒng)中發(fā)表留言。圖4.10留言頁(yè)面學(xué)生進(jìn)入此頁(yè)面后,可以對(duì)教學(xué)或者系統(tǒng)完善性提出意見(jiàn)或者指出錯(cuò)誤。管理員通過(guò)登錄,可以查看到學(xué)生的留言,針對(duì)學(xué)生的意見(jiàn)可以對(duì)系統(tǒng)進(jìn)行維護(hù)。4.4教師功能模塊設(shè)計(jì)教師功能模塊主要包括教學(xué)實(shí)施計(jì)劃查詢,選課信息查詢、打分,個(gè)人信息查詢、修改,密碼修改。4.4.1教學(xué)實(shí)施計(jì)劃查詢頁(yè)面教學(xué)實(shí)施計(jì)劃查詢頁(yè)面如圖4.11所示,教師進(jìn)入此頁(yè)面后,可以查看到各課程的教學(xué)安排情況。教師通過(guò)按要求查詢,可以查詢到與自己教學(xué)有關(guān)的相關(guān)教學(xué)信息.圖4.11教學(xué)實(shí)施計(jì)劃查詢頁(yè)面4.4.2選課信息查詢頁(yè)面選課信息查詢頁(yè)面如圖4.12所示。教師進(jìn)入此頁(yè)面之后,可以查看到已經(jīng)選修了自己所授課程的學(xué)生,點(diǎn)擊“打分"按鈕,可以對(duì)選了此課程的學(xué)生的成績(jī)進(jìn)行修改或者打分.圖4.12選課信息頁(yè)面4.4.3個(gè)人信息查詢修改頁(yè)面?zhèn)€人信息修改查詢頁(yè)面如圖4。13所示,教師進(jìn)入此頁(yè)面后,可以查看到自己的基本信息(包括教師工號(hào)、姓名、職稱等)。還可以對(duì)其中一些信息進(jìn)行修改。圖4.13個(gè)人信息查詢修改頁(yè)面4.4.4密碼修改頁(yè)面密碼修改頁(yè)面如圖4.14所示,教師進(jìn)入此頁(yè)面后,可以輸入新密碼,更改登錄時(shí)使用的密碼。圖4.14密碼修改頁(yè)面4。5管理員功能模塊設(shè)計(jì)管理員功能模塊包括教師信息修改、刪除,管理員信息修改、刪除(有權(quán)限之分),課程信息添加、修改、刪除,學(xué)生學(xué)籍查詢、修改、刪除(有權(quán)限之分),留言查看、刪除(有權(quán)限之分)。教師信息修改、刪除頁(yè)面教師信息修改、刪除頁(yè)面如圖4.15所示:圖4.15教師信息修改、刪除頁(yè)面進(jìn)入此頁(yè)面后,管理員可以查看或者修改現(xiàn)有教師的基本信息。當(dāng)點(diǎn)擊“刪除”時(shí),如果此管理員權(quán)限為1,則不能進(jìn)行刪除,顯示權(quán)限不夠,如圖4.16所示。圖4.16刪除時(shí)權(quán)限不夠頁(yè)面4。5.2管理員信息修改、刪除頁(yè)面管理員信息修改、刪除頁(yè)面如圖4.17所示,管理員可在此頁(yè)面中查看或者修改現(xiàn)有系統(tǒng)管理員的基本信息。當(dāng)點(diǎn)擊“刪除"時(shí),如果此管理員權(quán)限為1,則不能進(jìn)行刪除,顯示權(quán)限不夠。圖4.17管理員信息修改、刪除頁(yè)面4。5。3課程信息添加、修改、刪除頁(yè)面課程信息添加、修改、刪除頁(yè)面如圖4.18所示,系統(tǒng)管理員可在此頁(yè)面中添加新的課程信息,或者修改和刪除已存在的課程信息。圖4。18課程信息添加、修改、刪除頁(yè)面基本實(shí)現(xiàn)代碼如下所示:<mx:methodname=”selectcourse”result=”processResult(event)”fault="processFault(event)”><mx:arguments〉<check>{check.text}</check><combo1〉{combo1.text}</combo1></mx:arguments></mx:method〉〈mx:methodname="deleteteacher"result="processdtResult(event)”fault="processFault(event)"〉<mx:arguments〉<usernames>{teachdg。selectedItem.teach_id}〈/usernames><user_name>{user_name}〈/user_name></mx:arguments></mx:method>〈mx:methodname=”deletestudent"result="processdtResult(event)"fault="processFault(event)”〉<mx:arguments〉<usernames>{studg。selectedItem。stu_id}〈/usernames〉<user_name〉{user_name}〈/user_name></mx:arguments〉</mx:method>4.5。4學(xué)生學(xué)籍查詢、修改、刪除頁(yè)面學(xué)生學(xué)籍查詢、修改、刪除頁(yè)面如圖4。19所示,系統(tǒng)管理員可以在此頁(yè)面中查看或者修改現(xiàn)有在校學(xué)生的基本信息。當(dāng)點(diǎn)擊“刪除”時(shí),如果此管理員權(quán)限為1,則不能進(jìn)行刪除,顯示權(quán)限不夠。圖4.19學(xué)生學(xué)籍查詢、修改、刪除頁(yè)面4.5.5留言查看、刪除頁(yè)面留言查看、刪除頁(yè)面如圖4。20所示,管理員進(jìn)入此頁(yè)面后,可以查看所有學(xué)生的留言信息,但是在做刪除操作時(shí)有權(quán)限限制,只有當(dāng)管理員權(quán)限為1時(shí)才能對(duì)學(xué)生發(fā)表的留言進(jìn)行刪除,否則顯示權(quán)限不夠.圖4.20留言查看、刪除頁(yè)面5用戶手冊(cè)5.1系統(tǒng)功能簡(jiǎn)介此教務(wù)管理系統(tǒng)主要由學(xué)生功能、教師功能、管理員功能三大模塊組成.1、學(xué)生功能:本模塊具有五項(xiàng)功能:主要用戶學(xué)生查詢自己的學(xué)籍信息,也可以在線選課,可以修改個(gè)人的部分信息,修改登錄時(shí)的密碼等.2、教師功能:本模塊具有四項(xiàng)功能:通過(guò)學(xué)生選課,學(xué)生修完學(xué)時(shí)之后,老師就應(yīng)該給學(xué)生所選課程打分,所以在此,添加了“選課信息”模塊,用于老師給學(xué)生打分;除了教師給學(xué)生打分外,教師可以修改個(gè)人部分信息,修改登錄時(shí)密碼,可以查詢教學(xué)實(shí)施計(jì)劃等。3、管理員功能:本模塊具有五項(xiàng)功能:管理員有權(quán)限之分,權(quán)限為0的管理員為超級(jí)管理員,對(duì)系統(tǒng)的所有操作都可以實(shí)現(xiàn),而權(quán)限為1的管理員,除了刪除信息及修改管理員的權(quán)限不能實(shí)現(xiàn)外,其他操作都可以實(shí)現(xiàn);管理員可以管理學(xué)生學(xué)籍、管理教師、管理課程、管理留言等。5.2系統(tǒng)運(yùn)行與操作指南本系統(tǒng)可直接是基于B/S模式的,所以直接通過(guò)IE瀏覽器就可以運(yùn)行。不同用戶在登錄本系統(tǒng)時(shí)需要選擇用戶類型、輸入用戶名和密碼,若通過(guò)了系統(tǒng)數(shù)據(jù)庫(kù)的驗(yàn)證,便可以進(jìn)入符合身份的用戶界面進(jìn)行用戶操作。本系統(tǒng)有三種用戶類型即學(xué)生、教師和系統(tǒng)管理員。根據(jù)不同的身份,他們所能執(zhí)行的操作都有所不同。如果是學(xué)生,登錄后可以進(jìn)入學(xué)生主頁(yè)面進(jìn)行選課,個(gè)人信息查詢等操作。如果是教師,登錄后可以進(jìn)入教師主頁(yè)面進(jìn)行課程打分,個(gè)人信息查詢等操作。如果是系統(tǒng)管理員,登錄后則可以進(jìn)入系統(tǒng)完整的頁(yè)面,可以對(duì)學(xué)生學(xué)籍、教師信息、留言信息、課程等進(jìn)行添加、修改、刪除等操作.6總結(jié)與展望6.1系統(tǒng)總結(jié)及不足之處本系統(tǒng)具有以下優(yōu)點(diǎn):1、由于系統(tǒng)采用Flex這一先進(jìn)平臺(tái)作為開(kāi)發(fā)平臺(tái),使得界面絢麗度和功能可操作性提高到了前所未有的高度,使本系統(tǒng)的構(gòu)建思想更為可行.整個(gè)系統(tǒng)基于先進(jìn)的Flex環(huán)境和Java環(huán)境而開(kāi)發(fā),使應(yīng)用程序的發(fā)布更為容易,使系統(tǒng)具有更好的移植性,為日后系統(tǒng)升級(jí)奠定了良好的基礎(chǔ)。2、本系統(tǒng)可以運(yùn)行在多種操作系統(tǒng)平臺(tái)上(WindowsNT/Windows2000/WindowsXP/WindowsVista),數(shù)據(jù)庫(kù)管理系統(tǒng)采用MySQL,功能強(qiáng)大的Flex配合可移植性好的Java開(kāi)發(fā)環(huán)境。3、系統(tǒng)將用戶權(quán)限進(jìn)行劃分,分為學(xué)生、教師和系統(tǒng)管理員,權(quán)限為0的管理員使用系統(tǒng)的全部功能,可以進(jìn)行信息更改、維護(hù)等操作,他是最高層系統(tǒng)管理員;權(quán)限為1的管理員只能使用系統(tǒng)的部分功能,可以進(jìn)行信息的更改;學(xué)生和教師只能進(jìn)行基本信息的瀏覽和基本操作。這樣既方便了用戶,又保證了系統(tǒng)的安全性。4、整個(gè)系統(tǒng)運(yùn)行后,顯示在瀏覽器上的部分,除了文本框文字可以復(fù)制、修改等操作以外,其他區(qū)域一律不能對(duì)文字進(jìn)行復(fù)制等操作。整個(gè)程序在編譯之后,顯示在瀏覽器上的部分全部是后綴名為swf的文件,安全性高;而且整個(gè)系統(tǒng)在運(yùn)行時(shí),只會(huì)在地址欄看到一個(gè)頁(yè)面名:index。html。5、系統(tǒng)界面簡(jiǎn)單易操作,輸入信息方便,方面人們使用。但是也存在以下不足之處:1、界面跳轉(zhuǎn)復(fù)雜,不能對(duì)界面進(jìn)行刷新,這一點(diǎn)有待改進(jìn)。2、功能比較簡(jiǎn)單,部分選課過(guò)程等沒(méi)有進(jìn)一步改善、加強(qiáng),不能更好的為用戶服務(wù)。3、數(shù)據(jù)庫(kù)設(shè)計(jì)有冗余,需要進(jìn)一步優(yōu)化。6.2設(shè)計(jì)心得畢業(yè)設(shè)計(jì)的選題是在指導(dǎo)老師的建議下于上學(xué)期末確立的,選題確定后就找過(guò)這方面的資料開(kāi)始學(xué)習(xí),一開(kāi)始對(duì)這方面可以說(shuō)是不熟悉,雖然原來(lái)學(xué)過(guò)JSP技術(shù),但由于當(dāng)時(shí)不認(rèn)真,了解的東西還是很少,在校學(xué)習(xí)過(guò)程中只能說(shuō)對(duì)于JSP的運(yùn)行原理和機(jī)制已經(jīng)有了一個(gè)整體的認(rèn)識(shí)。后來(lái)通過(guò)培訓(xùn),學(xué)習(xí)了更多的知識(shí),學(xué)習(xí)到了最新的Flex技術(shù)。學(xué)習(xí)過(guò)程中,Flex的界面絢麗度和操作的簡(jiǎn)單、方便讓我下定決心選用Flex技術(shù)完成畢業(yè)設(shè)計(jì)。由于Flex需要遠(yuǎn)程調(diào)用數(shù)據(jù)庫(kù),所以又選擇可一致性好的Java語(yǔ)言來(lái)配合開(kāi)發(fā).本次畢業(yè)設(shè)計(jì)已經(jīng)基本順利結(jié)束,在整個(gè)設(shè)計(jì)過(guò)程中,勞動(dòng)與汗水凝結(jié)了這次設(shè)計(jì)。解決設(shè)計(jì)的一個(gè)問(wèn)題,就會(huì)有新的感受和新的收獲.學(xué)習(xí)是一個(gè)長(zhǎng)期的過(guò)程,在設(shè)計(jì)系統(tǒng)過(guò)程中,遇到了許多問(wèn)題,后來(lái)通過(guò)自己的努力,解決了大部分問(wèn)題,也學(xué)到了許多知識(shí)。通過(guò)這次畢業(yè)設(shè)計(jì),我學(xué)到了很多,從最初的Java語(yǔ)言,后來(lái)到Web開(kāi)發(fā),再后來(lái)在培訓(xùn)過(guò)程中學(xué)到的ssh,再后來(lái)學(xué)到Flex,最后到將軟件功能的思想融合與整個(gè)設(shè)計(jì)過(guò)程中,將平時(shí)所學(xué)的知識(shí)運(yùn)用于實(shí)際開(kāi)發(fā)實(shí)踐中。在這個(gè)系統(tǒng)的實(shí)現(xiàn)過(guò)程中也經(jīng)常遇到一些困難,畢竟對(duì)于Flex這一新技術(shù)掌握的不熟練,有很多控件不能真正了解他們的含義,還有一些對(duì)象調(diào)用的方法,也都不是很了解,界面的美化也處理不夠好。所以開(kāi)始設(shè)計(jì)時(shí),真的遇到了很多困難,不過(guò)通過(guò)同學(xué)和老師的幫助以及上網(wǎng)學(xué)習(xí),解決了設(shè)計(jì)上的不少問(wèn)題,也使我對(duì)Flex技術(shù)有了一定的掌握,同時(shí)鞏固了以前所學(xué)的知識(shí)。實(shí)現(xiàn)了質(zhì)的跨越,從純粹的理論學(xué)習(xí)到后來(lái)的實(shí)踐再到畢業(yè)設(shè)計(jì)的完成,是理論聯(lián)系到實(shí)踐,是認(rèn)識(shí)的第二次飛躍??偠灾@次畢業(yè)設(shè)計(jì)使我學(xué)到了很多在大學(xué)課堂上學(xué)不到東西,不光是專業(yè)知識(shí)有所提高,還鍛煉了我的意志,使我更加堅(jiān)強(qiáng)。要走軟件開(kāi)發(fā)這條路,就必須要不斷學(xué)習(xí)新知識(shí),不斷增強(qiáng)自己與別人競(jìng)爭(zhēng)的實(shí)力,還需要有不怕吃苦的精神,因?yàn)檐浖_(kāi)發(fā)這條路對(duì)開(kāi)發(fā)人員的身體來(lái)說(shuō),是一個(gè)考驗(yàn).致謝通過(guò)這次畢業(yè)設(shè)計(jì),我獲益匪淺.首先,需要感謝大學(xué)四年來(lái),一直幫助我的各位老師,因?yàn)樗麄儗?duì)我的信任和幫助,我才能學(xué)到那么多的軟件開(kāi)發(fā)語(yǔ)言和環(huán)境。在這次畢業(yè)設(shè)計(jì)過(guò)程中,得到了周鳳麗老師和其他老師的精心指導(dǎo),在此表示衷心的感謝!要特別感謝指導(dǎo)我畢業(yè)設(shè)計(jì)的周鳳麗老師,在我有特殊情況時(shí)能及時(shí)幫助我,使我的畢業(yè)設(shè)計(jì)和論文得以順利完成。參考文獻(xiàn)1。楊博,杜昱宏譯.AdobeFlex3:TrainingfromtheSource。人民郵電出版社,2009年3月2.郝剛.Flex3.0入門指南.北京電子工業(yè)出版社,20093.孫晗波。AdobeFlex3程序設(shè)計(jì)指南.北京電子工業(yè)出版社,20094.黃梯云?!豆芾硇畔⑾到y(tǒng)導(dǎo)論》.機(jī)械工業(yè)出版社,20075.張?bào)K,涂穎芳.Flex程序設(shè)計(jì)。人民郵電出版社,20086.楊正甫.面向?qū)ο蠓治雠c設(shè)計(jì).中國(guó)鐵道出版社,20037。薩師煊,王珊.?dāng)?shù)據(jù)庫(kù)系統(tǒng)概論.高等教育出版社,20028.王睿.Flex與ActionScript編程。機(jī)械工業(yè)出版社,20089。RobertCecilMartin。UMLforJavaProgrammers.USA,200210.張海蕃。軟件工程導(dǎo)論.清華大學(xué)出版社,200311.林劍,王宇譯.JAVA實(shí)例技術(shù)手冊(cè)(第三版)。中國(guó)電力出版社,2005年6月12.鄭可奇.MySQL實(shí)用教程。電子工業(yè)出版社,200913.唐漢明.深入淺出MySQL數(shù)據(jù)庫(kù)開(kāi)發(fā)、優(yōu)化與管理維護(hù)。人民郵電出版社,200814.阿特金森,周靖,許青松.MySQL核心編程:高級(jí)開(kāi)發(fā)者指南。清華大學(xué)出版社,200315。邱彥林.Flex第一步:基于ActionScript3。0的Flex2應(yīng)用開(kāi)發(fā).清華大學(xué)出版社,200716.PaulMilbourne,ChrisKaplan,MichaelOliver,SergeJespers。TheEssentialGuidetoFlashCS4withActionScript。friendsofED,200917。AlaricCole。LearningFlex3:GettinguptoSpeedwithRichInternetApplicat(yī)ions.O'Reilly,200818.KatherineUlrich.FlashCS4ProfessionalforWindowsandMacintosh:VisualQuickStartGuide。PeachpitPress,2008附錄1外文參考文獻(xiàn)(譯文)淺析Java的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)引言Java語(yǔ)言是一個(gè)支持網(wǎng)絡(luò)計(jì)算的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。Java語(yǔ)言吸收了Smalltalk語(yǔ)言和C++語(yǔ)言的優(yōu)點(diǎn),并增加了其它特性,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)絡(luò)通信和多媒體數(shù)據(jù)控制等。JDBCJDBC是一種可用于執(zhí)行SQL語(yǔ)句的JavaAPI,它由一些Java語(yǔ)言編寫(xiě)的類和界面組成。JDBC的體系結(jié)構(gòu)由四個(gè)組件:應(yīng)用程序、JDBC驅(qū)動(dòng)程序管理器(JDBCDriverManager)和數(shù)據(jù)源(DataSource)。JDBCAPI通過(guò)一個(gè)JDBC驅(qū)動(dòng)程序管理器和為各種數(shù)據(jù)庫(kù)定制的JDBC驅(qū)動(dòng)程序,提供與不同數(shù)據(jù)庫(kù)的透明連接。JDBCAPI的作用就是屏蔽不同的數(shù)據(jù)庫(kù)間JDBC驅(qū)動(dòng)程序之間的差別,使得程序設(shè)計(jì)人員由一個(gè)標(biāo)準(zhǔn)的、純Java的數(shù)據(jù)庫(kù)設(shè)計(jì)接口,為在Java種訪問(wèn)任意類型的數(shù)據(jù)庫(kù)提供技術(shù)支持。JDBC驅(qū)動(dòng)程序管理器為應(yīng)用程序裝載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序.JDBC驅(qū)動(dòng)程序與具體的數(shù)據(jù)庫(kù)相關(guān),用于建立與數(shù)據(jù)源的連接,向數(shù)據(jù)庫(kù)提交SQL請(qǐng)求。目前比較常見(jiàn)的JDBC驅(qū)動(dòng)程序分為一下四個(gè)種類:2。1JDBC-ODBC橋+ODBC驅(qū)動(dòng)程序JavaSoft橋產(chǎn)品利用ODBC驅(qū)動(dòng)程序提供JDBC訪問(wèn)。2。2本地API這種類型的驅(qū)動(dòng)程序把客戶機(jī)API上的JDBC調(diào)用轉(zhuǎn)換為Oracle、Sybase、Informix、DB2或其它DBMS的調(diào)用。2.3JDBC網(wǎng)絡(luò)純Java驅(qū)動(dòng)程序這種驅(qū)動(dòng)程序?qū)ⅲ蔇BC轉(zhuǎn)換為與DBMS無(wú)關(guān)的網(wǎng)絡(luò)協(xié)議,之后這種協(xié)議又被某個(gè)服務(wù)器轉(zhuǎn)換為一種DBMS協(xié)議.這種網(wǎng)絡(luò)服務(wù)器中間件能夠?qū)⑺募僇ava客戶機(jī)連接到多種不同的數(shù)據(jù)庫(kù)上。所用的具體協(xié)議取決于提供者.2.4本地協(xié)議純Java驅(qū)動(dòng)程序這種類型的驅(qū)動(dòng)程序?qū)DBC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡(luò)協(xié)議。這將允許從客戶機(jī)及其上直接調(diào)用DBMS服務(wù)器,是Intranet訪問(wèn)的一個(gè)很實(shí)用的解決辦法.對(duì)于以上四類驅(qū)動(dòng)程序的選擇,需要考慮構(gòu)建應(yīng)用程序的實(shí)際需要.一般而言,我們建議不要適用橋驅(qū)動(dòng)程序,即第(1)(2)類驅(qū)動(dòng)程序,它們主要是作為純Java驅(qū)動(dòng)程序還沒(méi)有上市之前的過(guò)渡方案來(lái)適用,效率相對(duì)地下,程序的可移植性差。第(3)(4)類驅(qū)動(dòng)程序是從JDBC訪問(wèn)數(shù)據(jù)庫(kù)的首選方法,它們不但使程序的可移植性提高,達(dá)到跨平臺(tái)的目的,還省去了在客戶端安裝驅(qū)動(dòng)程序的麻煩。第(3)類驅(qū)動(dòng)程序最大的優(yōu)點(diǎn)在于對(duì)多數(shù)據(jù)庫(kù)的支持,使最靈活的JDBC模式,廣泛地應(yīng)用與Internet/Intranet開(kāi)發(fā),性能十分突出。這種驅(qū)

溫馨提示

  • 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)論