![基于web的作業(yè)管理系統(tǒng)設計_第1頁](http://file4.renrendoc.com/view/9a4fda56692fb0c0530d5c7d34682284/9a4fda56692fb0c0530d5c7d346822841.gif)
![基于web的作業(yè)管理系統(tǒng)設計_第2頁](http://file4.renrendoc.com/view/9a4fda56692fb0c0530d5c7d34682284/9a4fda56692fb0c0530d5c7d346822842.gif)
![基于web的作業(yè)管理系統(tǒng)設計_第3頁](http://file4.renrendoc.com/view/9a4fda56692fb0c0530d5c7d34682284/9a4fda56692fb0c0530d5c7d346822843.gif)
![基于web的作業(yè)管理系統(tǒng)設計_第4頁](http://file4.renrendoc.com/view/9a4fda56692fb0c0530d5c7d34682284/9a4fda56692fb0c0530d5c7d346822844.gif)
![基于web的作業(yè)管理系統(tǒng)設計_第5頁](http://file4.renrendoc.com/view/9a4fda56692fb0c0530d5c7d34682284/9a4fda56692fb0c0530d5c7d346822845.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
..本科生畢業(yè)論文題目:基于web的作業(yè)管理系統(tǒng)系別:專業(yè):學號:姓名:指導教師:完成時間:摘要現(xiàn)代科技的日新月異,使我們的生活發(fā)生了翻天覆地的變化。高校的教學方式也在不斷的發(fā)生新的變化。計算機教學和多媒體技術的普及已成為高校教學的一種趨勢。利用計算機網(wǎng)絡技術進行對學生上機課課堂作業(yè)及其他電子版作業(yè)進行管理,具備以下幾個優(yōu)點:能方便的進行學生電子作業(yè)管理,比如布置作業(yè)和上交作業(yè)。教師能方便準確的布置好作業(yè),有利于是先數(shù)據(jù)信息的共享,減輕管理員和教師的上機的工作負荷,使作業(yè)的管理更加科學、規(guī)范和安全。因此,設計一個性能良好,簡單好用的基于web的作業(yè)管理系統(tǒng)是十分的必要。該論文主要從作業(yè)管理系統(tǒng)的分析,設計和開發(fā)的全部過程。結合數(shù)據(jù)流圖,ER圖,程序流程圖等對系統(tǒng)的設計過程進行詳盡的描述。本文共分成緒論、需求分析、開發(fā)技術、系統(tǒng)的設計、代碼的編碼等著幾個部分。該系統(tǒng)采用的是B/S的開發(fā)模式,開發(fā)語言是JAVA語言,主要使用的開發(fā)工具是Myeclipse8.6和MySQL數(shù)據(jù)庫。主要使用的技術是JSP、JavaBean、Servlet、html等,使用的服務器是Tomcat。關鍵字:jsp,java,servlet,分布式,javaBean,文件上傳、下載,mysql,B/S開發(fā)模式..ABSTRACTModerntechnologyadvances,sothatourlifehasundergoneenormouschanges.Collegeteachingmethodsareconstantlyundergoingnewchanges.Computereducationandpopularizationofmultimediatechnologyhasbecomeatrendinuniversityteaching.Useofcomputernetworktechnologyonstudent-onclassroomassignmentsandotherclassworkelectronicallymanaged,havethefollowingadvantages:tofacilitatetheconductofstudentelectronicjobmanagement,suchashomeworkassignmentsandon.Teacherscanfacilitateaccuratelayoutofgoodjobs,enablingthesharingofinformationsothefirstdata,administratorsandteacherstoreducetheworkloadonthemachine,sothatoperationsmanagementmorescientific,standardizedandsecure.Therefore,thedesignofagoodperformance,easytouseweb-basedjobmanagementsystemisverynecessary.Thepapermainlyfromthejobmanagementsystemanalysis,designanddevelopmentofthewholeprocess.Combinesdataflowdiagram,ERdiagram,processflowchartofthesystemdesignprocessdetaileddescription.Thispaperisdividedintoanintroduction,needsanalysis,developmentoftechnology,systemdesign,code,codingwaitedseveralparts.ThesystemusesB/Spatternofdevelopment,developmentoflanguageisJAVAlanguage,themainuseofdevelopmenttoolsisMyeclipse8.6andMySQLdatabase.MaintechniqueusedisJSP,JavaBean,Servlet,html,etc.,usingtheserverisTomcat.KeyWords:jsp,java,servlet,distributed,javaBean,fileupload,download,mysql,B/Sdevelopmentmodel目錄1緒論51.1課題背景51.2課題的意義51.3實現(xiàn)系統(tǒng)所使用的方法以及所要達到的要求61.4系統(tǒng)開發(fā)工具、開發(fā)語言的選用及介紹6JSP的優(yōu)勢及特點7Tomcat服務器的優(yōu)勢及特點7MySQL數(shù)據(jù)庫的優(yōu)勢及特點72需求分析92.1系統(tǒng)簡介92.2管理員用戶的主要需求92.3教師用戶的主要需求103可行性分析113.1經(jīng)濟可行性分析113.2技術可行性分析113.3法律可行性分析114系統(tǒng)總體設計124.1用戶界面設計124.2首頁登錄界面設計124.3學生用戶界面設計124.4教師用戶界面設計134.5管理員用戶界面設計144.6系統(tǒng)模塊化設計145數(shù)據(jù)庫設計165.1系統(tǒng)所要用的數(shù)據(jù)表的設計16系統(tǒng)E-R圖216系統(tǒng)詳細設計236.1數(shù)據(jù)連接設計236.2SQL操作的設計246.3注冊的邏輯處理286.4登錄的邏輯處理306.5安全退出的邏輯處理31參考文獻32致謝33緒論課題背景隨著現(xiàn)代科技的高速發(fā)展,各種互聯(lián)網(wǎng)設備都得到了極的普及。PC機更是進入尋常百姓家?,F(xiàn)在一些企業(yè)、機構、高校等都大面積的普及計算機等設備。特別是高校依靠計算機進行輔助教學,從而提高的課堂的教學質量。伴隨計算機硬件的進步,軟件也得到了蓬勃的發(fā)展。每個高校的教學方式正在往現(xiàn)代化信息化的方向發(fā)展,并且成為一個必然的趨勢。高效的教學和學習方式能夠讓學生在這個快節(jié)奏的生活中更加方便快捷高效的獲得所需要的科學文化知識,是教師和學生的寶貴課堂時間能夠很好的被有效的利用,而不必浪費在不必要的作業(yè)的布置和上交上。是課堂時間能夠更加充分有效的被利用起來。為了提高高校上機教學的教學質量。針對高校上機課堂開發(fā)一款作業(yè)的管理系統(tǒng)顯得十分的必要。無論是上課教師還是課堂上的學生都能極大的減少管理作業(yè)帶來的不必要的麻煩。針對傳統(tǒng)課堂上的管理管理的各項流程設計出模擬系統(tǒng),該系統(tǒng)能夠實現(xiàn)作業(yè)的分發(fā),下載,上傳,接受等功能。實現(xiàn)了對課堂作業(yè)進行統(tǒng)一的管理、備份、存儲等管理行為。管理上更加的科學化。由于目前我們的作業(yè)管理方式和管理手段還相對的落后,不僅浪費了教師和學生的時間,同時一些資源不能夠得到充分的共享。已經(jīng)開始不適合新的教學背景下的作業(yè)管理工作了,這個問題已經(jīng)到了非解決不可得地步了。設計這樣一款高效的方便師生上課,同時又能提高課堂質量的系統(tǒng)是很有必要,所以選擇此課題作為畢業(yè)設計。課題的意義提高高效上機課堂對學生作業(yè)的管理,同時根據(jù)不同的用戶等級有限制的分配不同的等級權限并且完成所能進行的操作。這樣有效的提高了作業(yè)管理的安全性、針對性。既能方便教師對學生作業(yè)的管理、備份、存儲,同時又能有效的區(qū)別出各個等級的用戶的操作權限。用戶操作簡單實用,是上機課堂必備的管理系統(tǒng)。該系統(tǒng)采用的是B/S的開發(fā)結構進行的設計,該設計學生用戶可以免去安裝客戶端的麻煩,如果出現(xiàn)服務器程序有問題只要修改服務端,不影響前臺用戶的使用。所以說設計該系統(tǒng)是可行的,也是很有必要的。由于每個學校都具有自己的特點,有各自的需求。使得各個高校多系統(tǒng)的具體要求都有顯著地差異,所以針對某個高校的系統(tǒng)定制式一個很必要的事情。為了提高課堂的教學效率,減少不必要的教學時間浪費,是上機的教師和學生都能夠高效、安全的實現(xiàn)作業(yè)的管理。能夠實現(xiàn)基本的文件的上傳和下載。該設計是針對一般高校的教學環(huán)境下設計的基于web的作業(yè)管理系統(tǒng)。能夠實現(xiàn)不同用戶角色的管理和控制。實現(xiàn)系統(tǒng)所使用的方法以及所要達到的要求實現(xiàn)該系統(tǒng)主要使用到的工具有MyEclipse、MySQL。主要使用到的編程語言有html、CSS、JSP、JAVA等。采用的是B/S的動態(tài)網(wǎng)絡程序設計方法。該系統(tǒng)主要實現(xiàn)的目標是:管理員:管理員能夠對教師信息的增加、修改、刪除等。教師:能夠根據(jù)課堂要去布置課堂作業(yè),下發(fā)、收集等。同時有權限進行學生信息的增加、查詢、刪除和修改。能訪問學生上傳的作業(yè)文件夾。學生:學生能夠根據(jù)老師布置的作業(yè)進行作業(yè)的下載,完成后進行提交。系統(tǒng)開發(fā)工具、開發(fā)語言的選用及介紹本系統(tǒng)采用的是JSP網(wǎng)絡編程語言。主要用到技術是JSP、SERVLET、JAVABEAN等web編程技術。使用的開發(fā)工具是myeclipse8.6,后臺使用的數(shù)據(jù)庫是mysql,服務器程序使用的是tomcat服務器技術。JSP的優(yōu)勢及特點JSP是目前流行的一種動態(tài)網(wǎng)頁應用程序,它不僅能跨越平臺執(zhí)行功能強大的動態(tài)網(wǎng)頁,而且能夠以JAVA技術為基礎的動態(tài)網(wǎng)頁程序。目前比較流行的支持JSP的服務器是Tomcat。JSP程序要通過JDK編譯以后才能執(zhí)行,JSP不能直接傳送到瀏覽器而是要先編譯成SERVLET,Tomcat負責將JSP網(wǎng)頁轉換成一個SERVLET,然后編譯SERVLET。JSP提供在HTML代碼中混合某種程序代碼。在JSP環(huán)境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。JSP面向Web服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。Tomcat服務器的優(yōu)勢及特點Tomcat是一個小型的輕量級應用服務器,運行時占用系統(tǒng)資源小,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)中的常用功能,并且不斷改進和完善。Tomcat適用于中小型系統(tǒng)和并發(fā)訪問用戶不太多的場合,是開發(fā)和調試JSP程序的首選。先進的技術、穩(wěn)定的性能、源碼開放和免費獲取的機制,使得Tomcat深受Java愛好者的喜愛并得到了許多軟件開發(fā)商的認可,成為目前相當流行的Web應用服務器。MySQL數(shù)據(jù)庫的優(yōu)勢及特點MYSQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),MYSQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源代碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MYSQL作為網(wǎng)站數(shù)據(jù)庫。其優(yōu)點有:綜合統(tǒng)一;高度非過程化;面向集合的操作方式;以一種語法結構提供多種使用方式;該數(shù)據(jù)可使用的是標準的SQL語言。..需求分析系統(tǒng)簡介該系統(tǒng)采用的是B/S結構設計與開發(fā),學生用戶只需要在學生PC端的瀏覽器中輸入指定的URL,然后學生用戶首先進入注冊界面進行個人信息的注冊。在注冊成功后便可以在學生界面進行登錄,然后進入相應的操作界面,學生用戶能夠進行作業(yè)的下載和上傳。教師用戶的賬號是由管理員進行錄入的,所以沒有進行教師個人信息的注冊界面。教師用戶可以在首頁中找到教師登錄的入口。進入教師登錄界面進行用戶的登錄。登錄成功進入相應的教師操作界面。在該界面能夠對學生進行管理。該系統(tǒng)該設計了一個叫做管理員的用戶角色,該角色擁有系統(tǒng)的最高權限,能夠對教師信息進行更改。 用戶類型:登錄系統(tǒng)的身份定為三種,一種是學生用戶,第二種是教師用戶,第三種是管理員用戶。只用被授權的用戶才可以使用本系統(tǒng)的資源。 授權管理:系統(tǒng)需要進過有效的身份驗證才可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。學生用戶只可以對自己的信息查詢及編輯、查看個人資料信息。學生用戶可以下載或者上傳老師布置的作業(yè)。教師用戶經(jīng)過授權后可以進入系統(tǒng)查看、編輯自己的個人信息。教師用戶可以根據(jù)課堂要求布置作業(yè),也可以上傳一些資源供學生用戶下載使用。教師用戶還可以對學生用戶信息進行管理。系統(tǒng)管理員用戶擁有系統(tǒng)的最高權限。經(jīng)過系統(tǒng)授權的系統(tǒng)管理員能夠對系統(tǒng)的所有資源進行分配管理。能夠控制其他用戶對該系統(tǒng)的訪問權限。管理員用戶的主要需求管理員權限是擁有系統(tǒng)的最高權限,能進行的操作也是最多的。一下列出的是系統(tǒng)管理人員所具有的操作權限。能進行查詢自己的個人資料信息;能進行系統(tǒng)的上傳控制;能添加系統(tǒng)的允許上傳的文件類型;能夠手動設置系統(tǒng)禁止的上傳和下載的文件;能夠封鎖指定的IP地址;能夠進行C段網(wǎng)絡的封鎖;能進行教師信息的管理,比如教師信息的添加、修改、刪除、查詢等操作;還能進行登錄密碼的修改;教師用戶的主要需求教師用戶的操作權限僅次于管理員,高于學生用戶。主要的功能是對學生信息的管理。以下是教師用戶主要能進行的操作:查看教師個人的信息。管理作業(yè),能對作業(yè)進行查詢、修改和刪除。布置作業(yè),能夠根據(jù)課堂要求進行作業(yè)的布置下發(fā)等操作。布置作業(yè)主要的內(nèi)容是填寫作業(yè)名稱,作業(yè)的截止日期以及作業(yè)的內(nèi)容等等。上傳資源,教師可以上傳一些教學資源供學生參考使用。也可以是一些作業(yè)的附件等。對登錄密碼的修改。定時的修改密碼顯然是一個好事,可以避免長期使用一個密碼引發(fā)的密碼泄露。防止一些學生獲取教師的登錄賬號和密碼進行惡作劇。修改密碼的密保問題。由于日常生活中的要使用到的密碼越來越多,很有可能將登錄賬號的密碼忘記。雖然可以通知管理員進行對教師個人信息的修改,但一般自己能解決的問題最好自己解決。所以說設置必要的密保問題可以有效的防止密碼的保護。當然如果密碼設置過于簡單也是一件非常危險的事情。安全退出系統(tǒng)的功能。安全退出系統(tǒng)和傳統(tǒng)的直接關閉瀏覽器的方法是原理是不同。安全退出系統(tǒng)是將教師個人的系統(tǒng)登錄信息進行清除,防止他人進通過瀏覽器緩存信息進行登錄攻擊。可行性分析可行性分析是為了弄清楚系統(tǒng)開發(fā)的項目是不是可以實現(xiàn)和值得進行研究的過程,所以,進行可執(zhí)行性的分析是非常必要的,經(jīng)過最初的設計目標和進行的市場調查得出以下四點的可行性分析:經(jīng)濟可行性分析經(jīng)濟可行性:該系統(tǒng)設計只是作為本人的學年論文的設計,所以沒有什么經(jīng)濟效益可談,開發(fā)過程不會產(chǎn)生大的開銷;開發(fā)過程中使用的軟件都是開源的或者是共享軟件,沒有購買軟件上的支出。技術可行性分析技術可行性:現(xiàn)有的技術已經(jīng)能夠充分支持、開發(fā)該系統(tǒng),并且已有現(xiàn)行系統(tǒng)能穩(wěn)定的運行,本系統(tǒng)是根據(jù)前人已經(jīng)實現(xiàn)的基礎上研發(fā)的,所以技術上沒有任何不可能性。運行可行性:該系統(tǒng)采用B/S結構,只要能夠將服務器架構好后,運行在瀏覽器中,就能隨處使用,由于使用的服務器程序和MYSQL數(shù)據(jù)庫,都是輕量級的應用程序。對硬件的要求不是很高。一般機器上都是可以使用的。法律可行性分析法律可行性:該系統(tǒng)是作為畢業(yè)設計與商業(yè)無關,又是自主開發(fā)設計,因此不會構成侵權,在法律上是可行的。開發(fā)過程中使用的軟件是開源的或者是共享試用期的,不用于商業(yè)用途。系統(tǒng)總體設計用戶界面設計一個系統(tǒng)的好壞,給用戶的第一感覺就是系統(tǒng)界面的美觀程度。良好的界面設計能夠增強用戶的親和力,給使用者直觀上的感覺良好。合理的界面設計能夠改善用戶體驗。首頁登錄界面設計登錄界面的設計相對簡單,主要實現(xiàn)的功能有:輸入學生學號、輸入學生登錄、輸入驗證、教師入口、找回密碼和學生注冊。學號或者密碼為空提示學號或者密碼為空,請重新輸入。要是驗證碼不正確提示驗證碼不正確,如果用戶不能認清四個驗證碼,只需要點擊換一張。具體登錄界面如圖4-1:圖4-1:學生用戶的登錄圖學生用戶界面設計當學生輸入的學號和登錄密碼正確的話,進入學生的操作界面。學生的操作界面主要功能有:查看學生的基本信息、管理作業(yè)、下載教師分享的資源、修改登錄的密碼、修改找回密碼用的密保問題、安全退出。圖4-2學生用戶的操作界面教師用戶界面設計教師的登錄界面與學生的登錄界面類似,當教師輸入正確的用戶名和密碼后將進入到教師的操作界面上。在該界面中主要能進行的操作有:查看教師個人的基本信息、管理布置的學生作業(yè)、布置作業(yè)、共享資源的上傳、修改密碼、修改密保問題、安全退出。以下是教師用戶進入教師操作界面。圖4-3:教師操作界面管理員用戶界面設計在教師登錄界面里有一個后臺維護入口,一般情況下管理員的入口都是隱藏起來的。但是這里為了能夠進行維護,所以將后臺的入口顯示出來。當管理員輸入正確的用戶名和密碼后,將進入系統(tǒng)后臺管理界面。后臺的管理界面主要實現(xiàn)的功能有:查看管理員的基本信息、設置上傳文件類型、禁止上傳文件類型。系統(tǒng)參數(shù)的設置、封鎖IP地址、被鎖IP地址管理、添加教師信息、修改管理員的后臺登陸密碼、安全退出。系統(tǒng)模塊化設計模塊化是指解決一個復雜問題時自上而下逐層將系統(tǒng)劃分成若干塊的過程。每一個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。系統(tǒng)模塊劃分不能使任意,要遵循高內(nèi)聚低耦合的設計思路,應盡量保持其獨立性。是為了降低系統(tǒng)和復雜性,提高可讀性、可維護性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,盡量做到提高模塊的獨立,為設計高質量的系統(tǒng)結構奠定基礎。系統(tǒng)模塊化設計的任務是劃分子系統(tǒng),然后確定子系統(tǒng)的模塊結構,并畫出模塊結構圖。在這個過程中必須考慮以下幾個問題:如何將一個系統(tǒng)劃分成多個子系統(tǒng)。每個子系統(tǒng)如何劃分成多個模塊。如何確定子系統(tǒng)之間、模塊之間傳遞的數(shù)據(jù)及其調用關系。如何評價并改進模塊結構的質量。該方法適合于軟件系統(tǒng)的總體設計和詳細設計,特別是將一個復雜的系統(tǒng)轉換成模塊化結構系統(tǒng),該方法具有它的優(yōu)勢。在使用過程中可以將結構化設計方法與結構化分析〔SA方法及編程階段的結構化程序設計方法〔SP前后銜接起來。系統(tǒng)功能模塊的優(yōu)點:系統(tǒng)功能模塊劃分清晰,區(qū)別明顯,易于操作,操作界面友好,簡單易懂適合不同層次的操作人員;子系統(tǒng)之間的數(shù)據(jù)交換操作簡單、快捷。根據(jù)該系統(tǒng)的需求分析,設計可實現(xiàn)的模塊組織結構。如:4-5所示用戶登錄用戶登錄學生用戶管理教師用戶管理管理員用戶管理圖4-5:系統(tǒng)層結構圖..數(shù)據(jù)庫設計一個設計良好的數(shù)據(jù)庫能夠提升整體的系統(tǒng)性能,不管是在查詢速度還是在上傳速度上都有較一個設計一般的數(shù)據(jù)庫來的快。由于該基于web的作業(yè)管理系統(tǒng)屬于小范圍的使用群體,所以數(shù)據(jù)庫的設計的好壞影響不是很大,但是作為學術研究就要追求精益求精的精神,使得數(shù)據(jù)庫的設計達到最優(yōu)設計。系統(tǒng)所要用的數(shù)據(jù)表的設計系統(tǒng)數(shù)據(jù)庫名稱為:workmanager_db,就是項目名稱加上數(shù)據(jù)庫的標志。這樣命名的主要原因是遵循見名知意的命名原則。比如數(shù)據(jù)表的命名一般是使用tb結尾,tb代表的是table。如圖5-1就是該系統(tǒng)數(shù)據(jù)庫的結構圖。圖5-1 以下是管理員表的數(shù)據(jù)字典。通過該數(shù)據(jù)字典可以較直觀的反應出數(shù)據(jù)的結構。字段名稱字段類型字段描述主鍵/外鍵管理員姓名Varchar<255>登錄用戶名主鍵管理員密碼Char〔255登錄密碼表5-1管理員表〔admin_tb下圖5-2是管理員表在實際數(shù)據(jù)庫中。圖5-2:管理員表的設計 教師表中的主要字段有:教師編號、教師姓名、教師姓名、教師專業(yè)、教師的登錄密碼、教師的密保問題、還有就是密保問題的答案。下表5-2是教師用戶的數(shù)據(jù)庫字典。字段名稱字段類型字段描述主鍵/外鍵教師編號Int自動增加主鍵教師姓名Varchar〔50姓名教師專業(yè)Varchar<255>專業(yè)教師密碼Char〔50密碼密保問題Varchar〔255密保問題密保答案Varchar〔255密保問題表5-2教師表<teacher_tb>下圖5-3是教師表在實際數(shù)據(jù)庫中。圖5-3教師表的設計學生表的字段主要有:學號、姓名、性別、班級編號、密碼、密保問題、密保答案。下表5-3是學生表的數(shù)據(jù)字典。字段名稱字段類型字段描述主鍵/外鍵學號Char<11>主鍵姓名Varchar〔50學生姓名性別Char〔2學生性別班級編號Char〔11班級編號外鍵密碼Char〔11學生密碼密保問題Varchar〔255密保答案Varchar〔255表5-3學生表〔students_tb下圖5-4是學生表在實際數(shù)據(jù)庫中。圖5-4學生表的設計 資源表主要是用來記錄有誰上傳了什么資源。上傳者上傳文件和刪除文件都將進行數(shù)據(jù)庫的操作。字段名稱字段類型字段描述主鍵/外鍵資源名稱Varchar<255>名稱主鍵資源地址Char<255>上傳者Char<255>圖5-4資源表〔sharefile_tb圖5-5資源表的設計字段名稱字段類型字段描述主鍵/外鍵作業(yè)名稱Varchar〔255主鍵作業(yè)截止時間Date作業(yè)內(nèi)容Varchar〔255作業(yè)上傳者Varchar〔255表5-5作業(yè)表<task_tb>圖5-6作業(yè)表的設計系統(tǒng)E-R圖系統(tǒng)ER圖是用來描述一個系統(tǒng)中數(shù)據(jù)及其之間關系的。E是Entity的簡寫,意思是實體;R是Relationship的簡寫,意思是關系。E-R圖模型的組成元素有:實體、屬性、聯(lián)系。E-R模型用E-R圖表示。實體是用戶工作環(huán)境中所涉及的事務,屬性是對實體特征的描述。1、模型中的實體相當于實體集、一個表,而不是單個實體或表中的一行。實體用矩形框表示,實體名稱標注在矩形框內(nèi)。用菱形表示實體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名,用無向邊把菱形分別與有關實體相連接,在無向邊旁標上聯(lián)系的類型。2、屬性是實體的性質。用橢圓框表示,與實體之間用一條線相連,關鍵屬性項加下劃線。3、各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關聯(lián)的關系。在程序中實現(xiàn)對他們的完整性和一致性控制。4、根據(jù)上面的分析就可以設計出能夠滿足用戶需求的各種數(shù)據(jù)實體以及它們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。實體是指客觀存在并可相互區(qū)別的事情;屬性指實體所具有的每一個特性。聯(lián)系是指實體間的關系。聯(lián)系可以分為三種:一對一的聯(lián)系〔1:1;一對多的聯(lián)系〔1:n;多對多聯(lián)系〔M:N目前,廣泛使用的數(shù)據(jù)模塊可以分為兩種類型,一種是獨立于計算機的概念數(shù)據(jù)模塊,如實體聯(lián)系模型;另一種是直接面向數(shù)據(jù)庫邏輯結構的結構數(shù)據(jù)模型。E-R模型直接從現(xiàn)實設計抽象出實體類型及實體間聯(lián)系,然后用E-R圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:接近人的思維,容易理解;與計算機無關,用戶容易接受。 E-R的四個基本成分:矩形,表示實體類型;菱形框,表示聯(lián)系類型;橢圓形框,表示實體類型和聯(lián)系類型的屬性; 下圖是基于web的作業(yè)管理系統(tǒng)中的管理員實體、教師實體、學生實體組成的E-R圖。其中管理員與教師之間的聯(lián)系是1:N,教師與學生之間的聯(lián)系是N:M。由圖我們可以很直觀的看出各個實體之間的關系。管理員管理員教師管理1N用戶名密碼編號姓名專業(yè)密碼密保問題密保答案管理學生學號隨著寬帶無線接入技術和移動終端技術的飛速發(fā)展,伴隨著移動智能終端的快速普及,人們迫切希望能夠隨時隨地乃至在移動過程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務,移動互聯(lián)網(wǎng)應運而生并迅猛發(fā)展。其中移動電子商務領是移動互聯(lián)網(wǎng)重大組成領域之一。移動電子商務就是利用手機、PDA及掌上電腦等無線終端進行的B2B、B2C或C2C的電子商務。它將因特網(wǎng)、移動通信技術、短距離通信技術及其它信息處理技術完美的結合,使人們可以在任何時間、任何地點進行各種商貿(mào)活動,實現(xiàn)隨時隨地、線上線下的購物與交易、在線電子支付以及各種交易活動、商務活動、金融活動和相關的綜合服務活動等。移動電子商務的突飛猛進,帶來的是該領域的支持產(chǎn)業(yè)之一軟件服務的快速變革。很多傳統(tǒng)的互聯(lián)網(wǎng)產(chǎn)業(yè)主動或者被動進行布局移動互聯(lián)網(wǎng)。姓名密碼隨著寬帶無線接入技術和移動終端技術的飛速發(fā)展,伴隨著移動智能終端的快速普及,人們迫切希望能夠隨時隨地乃至在移動過程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務,移動互聯(lián)網(wǎng)應運而生并迅猛發(fā)展。其中移動電子商務領是移動互聯(lián)網(wǎng)重大組成領域之一。移動電子商務就是利用手機、PDA及掌上電腦等無線終端進行的B2B、B2C或C2C的電子商務。它將因特網(wǎng)、移動通信技術、短距離通信技術及其它信息處理技術完美的結合,使人們可以在任何時間、任何地點進行各種商貿(mào)活動,實現(xiàn)隨時隨地、線上線下的購物與交易、在線電子支付以及各種交易活動、商務活動、金融活動和相關的綜合服務活動等。移動電子商務的突飛猛進,帶來的是該領域的支持產(chǎn)業(yè)之一軟件服務的快速變革。很多傳統(tǒng)的互聯(lián)網(wǎng)產(chǎn)業(yè)主動或者被動進行布局移動互聯(lián)網(wǎng)。編輯編號性別隨著寬帶無線接入技術和移動終端技術的飛速發(fā)展,伴隨著移動智能終端的快速普及,人們迫切希望能夠隨時隨地乃至在移動過程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務,移動互聯(lián)網(wǎng)應運而生并迅猛發(fā)展。其中移動電子商務領是移動互聯(lián)網(wǎng)重大組成領域之一。移動電子商務就是利用手機、PDA及掌上電腦等無線終端進行的B2B、B2C或C2C的電子商務。它將因特網(wǎng)、移動通信技術、短距離通信技術及其它信息處理技術完美的結合,使人們可以在任何時間、任何地點進行各種商貿(mào)活動,實現(xiàn)隨時隨地、線上線下的購物與交易、在線電子支付以及各種交易活動、商務活動、金融活動和相關的綜合服務活動等。移動電子商務的突飛猛進,帶來的是該領域的支持產(chǎn)業(yè)之一軟件服務的快速變革。很多傳統(tǒng)的互聯(lián)網(wǎng)產(chǎn)業(yè)主動或者被動進行布局移動互聯(lián)網(wǎng)。性別隨著寬帶無線接入技術和移動終端技術的飛速發(fā)展,伴隨著移動智能終端的快速普及,人們迫切希望能夠隨時隨地乃至在移動過程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務,移動互聯(lián)網(wǎng)應運而生并迅猛發(fā)展。其中移動電子商務領是移動互聯(lián)網(wǎng)重大組成領域之一。移動電子商務就是利用手機、PDA及掌上電腦等無線終端進行的B2B、B2C或C2C的電子商務。它將因特網(wǎng)、移動通信技術、短距離通信技術及其它信息處理技術完美的結合,使人們可以在任何時間、任何地點進行各種商貿(mào)活動,實現(xiàn)隨時隨地、線上線下的購物與交易、在線電子支付以及各種交易活動、商務活動、金融活動和相關的綜合服務活動等。移動電子商務的突飛猛進,帶來的是該領域的支持產(chǎn)業(yè)之一軟件服務的快速變革。很多傳統(tǒng)的互聯(lián)網(wǎng)產(chǎn)業(yè)主動或者被動進行布局移動互聯(lián)網(wǎng)。NM圖15-7:E-R圖系統(tǒng)詳細設計數(shù)據(jù)連接設計數(shù)據(jù)庫的連接設計是一個系統(tǒng)中重要的設計組成部分,好的設計能夠使系統(tǒng)更加高效的運行,同時也使得系統(tǒng)更好的維護。下面是數(shù)據(jù)庫連接的核心代碼關鍵類中的一個代碼模板。ConnectionFactory.javapackagecom.DB;importjava.sql.*;publicclassConnectionFactory{staticStringdriver="";staticStringurl="";staticStringusername="";staticStringpassword="";privatestaticConnectioncon;publicstaticvoidinitConn<>{driver="com.mysql.jdbc.Driver";//數(shù)據(jù)庫驅動名稱url="jdbc:mysql://:3306/workmanager_db";//數(shù)據(jù)庫位置username="root";//數(shù)據(jù)庫用戶名password="root";//數(shù)據(jù)庫密碼try{ Class.forName<driver>; }catch<ClassNotFoundExceptione>{ System.out.println<"ERROR:"+e>; } }//獲得數(shù)據(jù)庫連接publicstaticConnectiongetConnection<>throwsSQLException{initConn<>;if<con==null||con.isClosed<>>con=DriverManager.getConnection<url+"?user="+username +"&password="+password +"&useUnicode=true&characterEncoding=GB2312">;returncon; }//關閉結果集publicstaticvoidclose<ResultSetrs>{try{//if<!rs.isClosed<>> rs.close<>; }catch<Exceptionignored>{ } }//publicstaticvoidclose<Statementst>{try{//if<!st.isClosed<>> st.close<>; }catch<Exceptionignored>{ } }//關閉數(shù)據(jù)庫連接publicstaticvoidclose<Connectioncn>{try{//if<!cn.isClosed<>> cn.close<>; }catch<Exceptionignored>{ } }publicstaticvoidclose<PreparedStatementps>{try{ ps.close<>; }catch<Exceptionignored>{ } }}SQL操作的設計良好的設計是保障系統(tǒng)性的前提。數(shù)據(jù)庫的安全性也同樣需要注意,目前流行一種叫做SQL注入的攻擊行為,為了防止該攻擊行為,我們將采用輸入的與執(zhí)行的語句進行分類處理的方法來阻止該行為。下面是數(shù)據(jù)庫SQL的核心代碼關鍵類中的一個代碼模板〔以對教師實體的操作為例:DBO.java//教師登錄檢查publicstaticbooleanteaLoginCheck<Stringteaname,Stringteapass>{booleanflag=false; Connectioncon=null; PreparedStatementps=null; ResultSetrs=null; StringtempPassword=null;try{ con=ConnectionFactory.getConnection<>; ps=con .prepareStatement<"selecttea_passfromteacher_tbwheretea_name=?">; ps.setString<1,teaname>; rs=ps.executeQuery<>;if<rs.next<>> tempPassword=rs.getString<1>;if<tempPassword.equals<teapass>>{ flag=true; }else{ flag=false; } }catch<SQLExceptione>{ System.out.println<e>; }finally{ ConnectionFactory.close<rs>; ConnectionFactory.close<ps>; ConnectionFactory.close<con>; }returnflag; }//教師注冊publicstaticbooleanteaRegister<Teachertea>{booleanflag=false; Connectioncon=null; PreparedStatementps=null; ResultSetrs=null; Statementstat=null; StringSQL="insertintoteacher_tb<tea_id,tea_name,tea_major,tea_pass,tea_passques,tea_passanswer>values<'" +tea.getTeaId<> +"','" +tea.getTeaName<> +"','" +tea.getTeaMajor<> +"','" +tea.getTeaPass<> +"','" +tea.getTeaPassQues<>+"','"+tea.getTeaPassAnswer<>+"'>";try{ con=ConnectionFactory.getConnection<>; stat=con.createStatement<>;if<stat.executeUpdate<SQL>>=0>{ flag=true; } }catch<SQLExceptione>{ System.out.println<e>; }finally{ ConnectionFactory.close<rs>; ConnectionFactory.close<ps>; ConnectionFactory.close<stat>; ConnectionFactory.close<con>; }returnflag; }//刪除教師publicstaticbooleanteaDelete<Stringteaid>{booleanflag=false; Connectioncon=null; PreparedStatementps=null; ResultSetrs=null; Statementstat=null; StringSQL="deletefromteacher_tbwheretea_id='"+teaid+"'";try{ con=ConnectionFactory.getConnection<>; stat=con.createStatement<>;if<stat.executeUpdate<SQL>>=0>{ flag=true; }else{ flag=false; } }catch<SQLExceptione>{ System.out.println<e>; }finally{ ConnectionFactory.close<rs>; ConnectionFactory.close<ps>; ConnectionFactory.close<stat>; ConnectionFactory.close<con>; }returnflag; }//修改教師信息publicstaticbooleanteaUpdate<Stringteaid,Teachertea>{booleanflag=false; Connectioncon=null; PreparedStatementps=null; ResultSetrs=null; Statementstat=null; Stringsqlstr="updateteacher_tbsettea_name='"+tea.getTeaName<> +"',tea_major='"+tea.getTeaMajor<>+"',tea_pass='" +tea.getTeaPass<>+"',tea_passques='"+tea.getTeaPassQues<> +"',tea_passanswer='"+tea.getTeaPassAnswer<> +"'wheretea_id='"+teaid+"'";try{ con=ConnectionFactory.getConnection<>; stat=con.createStatement<>;if<stat.executeUpdate<sqlstr>>=0>{ flag=true; } }catch<SQLExceptione>{ System.out.println<e>; }finally{ ConnectionFactory.close<rs>; ConnectionFactory.close<ps>; ConnectionFactory.close<stat>; ConnectionFactory.close<con>; }returnflag; }//查詢所有教師信息publicstaticList<Teacher>selectAllTea<>{ List<Teacher>tealist=newArrayList<Teacher><>; Connectioncon=null; ResultSetrs=null; Statementstmt=null;try{ con=ConnectionFactory.getConnection<>; stmt=con.createStatement<>; rs=stmt.executeQuery<"select*fromteacher_tb">;while<rs.next<>>{ Teachertea=newTeacher<>; tea.setTeaId<rs.getString<"tea_id">>; tea.setTeaName<rs.getString<"tea_name">>; tea.setTeaMajor<rs.getString<"tea_major">>; tea.setTeaPass<rs.getString<"tea_pass">>; tea.setTeaPassQues<rs.getString<"tea_passques">>; tea.setTeaPassAnswer<rs.getString<"tea_passanswer">>; tealist.add<tea>; } }catch<SQLExceptione>{ System.out.println<e>; }finally{ ConnectionFactory.close<rs>; ConnectionFactory.close<con>; }returntealist; }注冊的邏輯處理該系統(tǒng)的設計的邏輯處理的位置在servlet中,這樣做的優(yōu)點是能夠將邏輯處理與界面顯示分類開,使得兩個處理邏輯能夠分離,從而達到以維護的特點。由于每個實體類的相同處理的邏輯是一樣的,只是代碼不一樣,限于篇幅,本文只對其中的學生實體的邏輯處理為模板。 下面是登錄邏輯的處理,設計到的類有:StuRegister.java:核心代碼是:publicvoiddoPost<HttpServletRequestrequest,HttpServletResponseresponse>throwsServletException,IOException{ response.setContentType<"text/html;charset=GB2312">; request.setCharacterEncoding<"GB2312">; Studentstu=newStudent<>; Stringstuno=request.getParameter<"stuno">.trim<>;//獲得學生學號 Stringstuname=request.getParameter<"stuname".trim<>>;//獲得學生姓名 Stringstusex=request.getParameter<"stusex">.trim<>;//獲得學生性別 Stringstuclass=request.getParameter<"stuclass">.trim<>;//獲得學生班級 Stringstupassques=request.getParameter<"passques">.trim<>;//獲得學生密保問題 Stringstupassanswer=request.getParameter<"passanswer">.trim<>;//獲得學生密保答案 Stringfirstpass=request.getParameter<"firstpass">.trim<>;//獲得初始密碼 Stringsecondpass=request.getParameter<"secondpass">.trim<>;//獲得確認密碼 PrintWriterout=response.getWriter<>; out.println<"<!DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">">; out.println<"<HTML>">; out.println<"<HEAD><TITLE>學生注冊成功!</TITLE></HEAD>">; out.println<"<BODY>">;if<!firstpass.equals<secondpass>>{ out.println<"<h1>兩次輸入的密碼不一致,<ahref=student/sturegister.jsp>請從新注冊</a></h1>">; }else{ stu.setStuNo<stuno>; stu.setStuName<stuname>; stu.setStuSex<stusex>; stu.setStuClassId<stuclass>; stu.setStuPass<firstpass>; stu.setStuPassQues<stupassques>; stu.setStuPassAnswer<stupassanswer>;if<DBO.stuRegister<stu>>{ response.setHeader<"refresh","3;URL=index.jsp">; out.print<"<center><br/>學生注冊成功?。。。。?lt;br/><br/>三秒后將跳轉到登錄頁面!如果沒有跳轉,請點擊<ahref='index.jsp'>這里</a>!!!<br/></center>">; out.flush<>; out.close<>; } } out.println<"</BODY>">; out.println<"</HTML>">; out.flush<>; out.close<>; }登錄的邏輯處理核心代碼有StuLoginDo.javapublicvoiddoPost<HttpServletRequestrequest,HttpServletResponseresponse>throwsServletException,IOException{ response.setContentType<"text/html;charset=GB2312">; request.setCharacterEncoding<"GB2312">; PrintWriterout=response.getWriter<>;if<request.getParameter<"checkpic">.equals< request.getSession<>.getAttribute<"certCode">>>{if<DBO.stuLoginCheck<request.getParameter<"stuno">,request .getParameter<"stupass">>>{ request.setCharacte
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 丁二烯法合成氯丁橡膠生產(chǎn)裝置項目可行性研究報告模板-備案拿地
- 2024-2025學年河北省尚義縣第一中學等校高二上學期12月月考歷史試卷
- 2025年債務轉股權協(xié)議標準格式
- 2025年古園林保護性維護協(xié)議
- 2025年農(nóng)產(chǎn)品交易市場租賃合同模板
- 2025年功能性棚模新材料及各種助劑項目提案報告
- 2025年企業(yè)與個人租車合同模板及規(guī)定
- 2025年長租公寓項目立項申請報告范文
- 2025年家居用品商貿(mào)公司采購協(xié)議書
- 2025年綠色共享汽車合作投資與發(fā)展策劃協(xié)議
- 初中作業(yè)設計教師培訓
- 2023年湖北省普通高中學業(yè)水平合格性考試地理試題(解析版)
- 過橋資金計劃書
- 自適應光學特性與技術研究
- 估值報告模板
- 欠款逾期案例分析報告
- 個體診所藥品清單模板
- 安全性測試方案(完整版)
- 《PLC與變頻器控制》課件 3.多段速控制
- 魯迅吶喊讀書分享名著導讀
- YB-4001.1-2007鋼格柵板及配套件-第1部分:鋼格柵板(中文版)
評論
0/150
提交評論