【《在線家教預(yù)約系統(tǒng)的設(shè)計與實現(xiàn)》18000字】_第1頁
【《在線家教預(yù)約系統(tǒng)的設(shè)計與實現(xiàn)》18000字】_第2頁
【《在線家教預(yù)約系統(tǒng)的設(shè)計與實現(xiàn)》18000字】_第3頁
【《在線家教預(yù)約系統(tǒng)的設(shè)計與實現(xiàn)》18000字】_第4頁
【《在線家教預(yù)約系統(tǒng)的設(shè)計與實現(xiàn)》18000字】_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

在線家教預(yù)約系統(tǒng)的設(shè)計與實現(xiàn)摘要隨著我國社會的迅速發(fā)展,有越來越多人可以接受到高等教育,人們對教育的重視力度也越來越大,家教這一行業(yè)也隨著迅速發(fā)展。特別是在當下,新冠疫情的肆虐,孩子們的教育或多或少都受到了一定的影響,在線下的教育受到影響下,為滿足疫情下學生們的教育問題,針對傳統(tǒng)的家教預(yù)約方式受地點、時間等因素制約的情況,為了解決新形勢下廣大學生預(yù)約家教麻煩的問題,實現(xiàn)足不出戶就可以完成家教的預(yù)約,特地開發(fā)了本在線家教預(yù)約系統(tǒng)。本系統(tǒng)旨在為學生提供一個預(yù)約家教的平臺,學生登錄后,可以發(fā)布自己的需求,并可以針對自己的需求進行編輯或刪除。學生在找到想要預(yù)約的教師后,填寫要預(yù)約的時間、地點、備注后實現(xiàn)對教師的預(yù)約。學生完成預(yù)約后,可以進到預(yù)約界面查看已經(jīng)預(yù)約的信息。學生可以對老師做出相應(yīng)的評價,學生與老師可以到討論區(qū)選擇討論的板塊后可以發(fā)帖進行討論。本文主要著重深入闡述了在線家教預(yù)約服務(wù)系統(tǒng)的具體軟件開發(fā)工作流程,以系統(tǒng)實踐過程中的軟件應(yīng)用發(fā)展情況分析為主要軟件開發(fā)的理論背景,基于B/S軟件架構(gòu),運用了Jsp軟件技術(shù)、java軟件編程設(shè)計語言和Mysql軟件數(shù)據(jù)庫等基礎(chǔ)軟件工具進行了系統(tǒng)開發(fā),通過LayUI在服務(wù)端頁面實現(xiàn)了比較好的操作,充分有效保證了該預(yù)約系統(tǒng)的個人信息安全,保證了了系統(tǒng)的穩(wěn)定性。該家教預(yù)約系統(tǒng)界面簡潔,操作簡單、方便。通過對系統(tǒng)的基本概述、系統(tǒng)功能分析、系統(tǒng)軟件設(shè)計、數(shù)據(jù)庫系統(tǒng)管理和子系統(tǒng)、系統(tǒng)測試等幾個主要環(huán)節(jié),詳細性地說明了該系統(tǒng)的軟件設(shè)計與系統(tǒng)開發(fā)工作流程,最后并對整個開發(fā)過程進行了總結(jié),實現(xiàn)了在線家教預(yù)約的功能。關(guān)鍵字:在線家教預(yù)約,JSP技術(shù),MYSQL數(shù)據(jù)庫,Vue目錄TOC\o"1-3"\h\u22572摘要 II8683Abstract III15722第1章緒論 174631.1概述 1209771.2國內(nèi)外研究現(xiàn)狀 1142111.3研究目的和意義 2151431.4論文的組織結(jié)構(gòu) 34768第2章開發(fā)技術(shù)簡介 599122.1BootStrap框架 555922.2SSM框架 554832.3VUE技術(shù) 65882.4LayUI 716780第3章需求分析 8225533.1系統(tǒng)性能分析 896563.1.1系統(tǒng)安全性 877983.1.2數(shù)據(jù)完整性 838643.1.3系統(tǒng)可擴展性 8280473.2系統(tǒng)功能分析 9159403.2.1用戶功能 9205583.2.2管理員功能 10297943.3系統(tǒng)用例圖 1114073.4可行性研究 13302843.4.1技術(shù)可行性 1389373.4.2運行可行性 1476063.4.3經(jīng)濟可行性 1429266第4章系統(tǒng)總體設(shè)計 1542664.1系統(tǒng)總體架構(gòu) 15244584.2系統(tǒng)主要功能模塊設(shè)計 16148154.2.1用戶業(yè)務(wù)模塊 17184194.2.2管理員系統(tǒng)管理模塊 1812458第5章數(shù)據(jù)庫設(shè)計 19161605.1數(shù)據(jù)庫需求 19147135.2概念結(jié)構(gòu)設(shè)計 20207625.3邏輯結(jié)構(gòu)設(shè)計 2121775第6章詳細設(shè)計 25192846.1系統(tǒng)的包結(jié)構(gòu) 25312386.2系統(tǒng)的類結(jié)構(gòu) 25127046.2.1類的設(shè)計 2559396.2.2系統(tǒng)中主要功能的類圖及關(guān)系圖 2631490第7章編碼實現(xiàn) 3294547.1數(shù)據(jù)庫表的設(shè)計與實現(xiàn) 32118577.2系統(tǒng)主要功能實現(xiàn)界面及關(guān)鍵代碼 36100187.2.1用戶登錄界面 36159877.2.2發(fā)布需求界面 37289567.2.3在線預(yù)約界面 38136947.2.4查看預(yù)約信息界面 39165627.2.5查找教師界面 4035127.2.6討論區(qū)發(fā)帖界面 42132347.2.7教師檢索需求界面 43204337.2.8管理員用戶管理界面 44291167.2.9公告管理界面 4520057.2.10討論區(qū)管理界面 4630192第8章測試 47283138.1測試概述 47325438.2設(shè)計測試用例 48214348.3測試分析 518791第9章結(jié)論與展望 526919參考文獻 54第1章緒論1.1概述現(xiàn)在大家正處于互聯(lián)網(wǎng)加的時代,這個時代它就是一個信息內(nèi)容無比豐富,信息處理與管理變得越加高效的網(wǎng)絡(luò)化的時代,這個時代讓大家的生活不僅變得更加地便利化,也讓時間變得更加地寶貴化,因為每天的每分鐘,每秒鐘這些時間都能讓人們處理大批量的日常事務(wù),這些場景,是之前的手工模式無法與之相抗衡的。在新冠疫情大肆流行的2020年,人們對互聯(lián)網(wǎng)的依賴程度大大的增加。尤其是在線下授課受到制約的條件下,孩子們的學習對互聯(lián)網(wǎng)的依賴度也大大增加,對于家教預(yù)約來說來說,傳統(tǒng)的通過紙質(zhì)文檔查看信息并進行電話預(yù)約的方式已經(jīng)落后了,依靠手工收集分析家教信息,不僅花費較長的工作時間,效率低下,在對記錄各種信息的文檔進行信息統(tǒng)計以及信息核對操作時,也不能及時保證信息的準確性,基于這樣的辦公低效率環(huán)境下,對于家教信息的處理就要提出新的解決方案。因為這個時代的信息一直都在高速發(fā)展,要是不抱著發(fā)展的觀念看待事情,極有可能被這個市場快速遺忘,甚至被無情地淘汰掉。所以盡早開發(fā)一款在線家教預(yù)約系統(tǒng)進行信息的快速查看以及進行預(yù)約,既跟上了時代的發(fā)展腳步,也能讓自己的核心競爭力有所提升。在移動互聯(lián)網(wǎng)的迅速普及下,局域網(wǎng)的廣泛應(yīng)用,為構(gòu)建基于ssm開發(fā)的在線家庭教育預(yù)約服務(wù)體系的設(shè)計和實現(xiàn)工作提供了良好的基礎(chǔ)條件。在線的家教預(yù)約服務(wù)系統(tǒng)具有著其他任何人都無法比擬的諸多優(yōu)點,網(wǎng)絡(luò)資源共享、傳播速度快等功能,使得學習者可以隨時隨地通過電腦等方式進行在線查看家教預(yù)約相關(guān)資料,并且教師們還可以通過電腦等方式進行在線查看家教預(yù)約資料,進行分析和發(fā)布資料,同時教育部門的管理員通過電腦等計算機對所有家教預(yù)約資料進行了全面的管理,大大提升了家教的管理工作效率。1.2國內(nèi)外研究現(xiàn)狀在線教育,是一種基于網(wǎng)絡(luò)的學習。隨著現(xiàn)代信息科學和技術(shù)的迅猛發(fā)展,互聯(lián)網(wǎng)已然是當前這個社會時代發(fā)展的必備產(chǎn)物。它不僅深深地浸潤在現(xiàn)代社會人們的日常生活和工作當中,同時促進了我們的學習形態(tài)和教育手段方式的變化與進步。特別是現(xiàn)如今的在線教育,在各行業(yè)和領(lǐng)域都已經(jīng)得到了巨大的應(yīng)用,得到了廣泛人們的青睞。根據(jù)國外對線教育現(xiàn)狀的分析,美國高等院校在線教育的戰(zhàn)略地位正在逐步獲得認可,無論從教學質(zhì)量、發(fā)展速度、規(guī)模或者是普及率等多個方面,在線教育都已經(jīng)被融入了到美國的高等教育中,逐漸發(fā)展為主流,成為美國高等教育體系重要組成部分。反觀當時我國的現(xiàn)階段網(wǎng)絡(luò)教育,中國真正的現(xiàn)階段網(wǎng)絡(luò)教育開始于1994年國家制定和實施的教育科研互聯(lián)網(wǎng)示范項目?,F(xiàn)階段網(wǎng)絡(luò)教育已經(jīng)在我國取得了一些發(fā)展,盡管其發(fā)展趨勢緩慢,但依舊保持著上升的勢態(tài)。國內(nèi)首次提出的能夠代表著互聯(lián)網(wǎng)絡(luò)教育未來發(fā)展戰(zhàn)略方向的網(wǎng)絡(luò)教育模式就是基于互聯(lián)網(wǎng)的一種教育模式,在現(xiàn)代網(wǎng)絡(luò)學習的條件和環(huán)境下,可以盡量最大限度地充分發(fā)揮學習者的自主性、積極性,既同時也可以對其他學習者進行個別化的學習,又同時也可以對其他學習者進行團隊協(xié)作學習,這種網(wǎng)絡(luò)教育模式相對來說比較關(guān)心和更加注重滿足學習者每一個人的需求。在剛剛過去的十幾年里,盡管遠程教育課的建立和開設(shè)活動正處于蓬勃發(fā)展之中,但是我們學校的領(lǐng)導人及其老師們在網(wǎng)絡(luò)上的認可程度并沒有大幅提高。美國部分專門開設(shè)網(wǎng)絡(luò)在線教育課程的中職高等院校對于學員能力進行各個培養(yǎng)階段的評價,在他們完成網(wǎng)絡(luò)在線教學之后會出現(xiàn)相應(yīng)專業(yè)學分授予,這對于傳統(tǒng)網(wǎng)絡(luò)教育的課堂教學和考核評價方式已經(jīng)引起了巨大的沖擊。因為在線教育的學生成績考核評價標準非常困難,在線教育的接受度和其合法性也往往得不到客觀公正的衡量和評估,導致一些以前原本計劃開展遠程教育的中小型規(guī)模學校已經(jīng)改變了本地區(qū)學校的長期發(fā)展策略,將不再計劃開設(shè)遠程教育在線的課程,即放棄了未來將在本地區(qū)學校開展遠程教育的愿景。對于我國在線網(wǎng)絡(luò)教育與國外傳統(tǒng)網(wǎng)絡(luò)教育的差異及其優(yōu)劣,教學負責人根據(jù)國外網(wǎng)絡(luò)教育的現(xiàn)狀對其展開了更加主觀地比較和評判,結(jié)果仁者見慈,但盲目地支持和抵抗都被認為是不可取的。總而言之,在線教育的腳步一定是越來越往前邁的,在線家教預(yù)約系統(tǒng)的研究已經(jīng)得到了比較快的發(fā)展,隨著研究的不斷發(fā)展和深入,必將推動在線發(fā)展到一個新的高度。1.3研究目的和意義在當今互聯(lián)網(wǎng)加的時代,一方面是信息的迅速發(fā)展,另一方面也是對傳統(tǒng)行業(yè)進行篩選。能夠繼續(xù)發(fā)展的,肯定是那些能夠充分運用互聯(lián)網(wǎng)技術(shù)進行自身升級改革的行業(yè)。那些停步不前的行業(yè)只能就此結(jié)束,進而被大家所遺忘。此次設(shè)計的在線家教預(yù)約系統(tǒng),它不僅能夠讓管理人員在增添信息,編輯信息等事務(wù)處理上,節(jié)省許多的時間,也會砍掉一部分的人工成本,節(jié)省不必要開支的資金。另外,此系統(tǒng)的操作界面是可視化的界面,管理人員無需付費培訓就能盡快上手。在線家教預(yù)約系統(tǒng)的開發(fā)意義如下:(1)管理人員再也不用在查詢信息上花費大量寶貴的時間了,通過信息關(guān)鍵詞字段就可以在幾秒內(nèi)獲取需要的信息,在各種突發(fā)事件面前管理人員也不用慌張,可以從容淡定地處理各種相關(guān)信息。(2)該系統(tǒng)在每天的24小時期間都是不會停止服務(wù)的,只要有操作信息的需求,每一個管理人員都能使用平常常用的360瀏覽器,或者百度瀏覽器,2345瀏覽器等大眾瀏覽器都能登錄系統(tǒng),然后對需要操作的信息進行管理,同時也滿足了用戶在線進行查詢家教信息,預(yù)訂家教的需求。(3)有了這個在線家教預(yù)約系統(tǒng),所有需要進行處理的數(shù)據(jù)不用在紙質(zhì)版本的文檔上進行記載,而是基于電腦進行信息錄入。(4)家教管理方面的信息都是通過網(wǎng)站進行顯示,其實質(zhì)是這些信息都保存在網(wǎng)站對應(yīng)的數(shù)據(jù)庫里面。只要操作員不去惡意刪除信息,那么這些信息將會永久保存。(5)在新冠肺炎全球流行的局勢下,該在線家教預(yù)約系統(tǒng)極大地減少了用戶與外界的身體交互,從而在一定程度上保證了用戶的身體健康情況。1.4論文的組織結(jié)構(gòu)編寫在線家教預(yù)約系統(tǒng)相對應(yīng)的論文,其實就是對開發(fā)完成的程序進行再次解讀的過程。本論文從七個方面的內(nèi)容講解了開發(fā)的程序,具體內(nèi)容如下:第一個部分:就一定是論文的緒論了,這個部分就是介紹在什么樣的背景下開發(fā)的程序,以及這個程序開發(fā)出來具有什么意義等內(nèi)容。第二個部分:就是介紹開發(fā)這個程序使用了什么技術(shù),使用什么數(shù)據(jù)庫保存程序的數(shù)據(jù)信息,程序開發(fā)的語言是使用的什么語言等內(nèi)容。第三個部分:就是介紹這個程序開發(fā)在現(xiàn)實生活的可行性問題,也講述了程序開發(fā)需要設(shè)置什么功能等內(nèi)容。第四個部分:就是已經(jīng)知曉程序的大致功能,需要對程序的功能進行更為嚴格的細分,也需要出具相應(yīng)的功能模塊圖。第五個部分:就是數(shù)據(jù)庫的設(shè)計了,針對系統(tǒng)的需求設(shè)計相應(yīng)的數(shù)據(jù)庫,包括數(shù)據(jù)庫里數(shù)據(jù)表的設(shè)計等內(nèi)容。第六個部分:就是詳細設(shè)計階段,在這一階段要分析系統(tǒng)的包結(jié)構(gòu)、類結(jié)構(gòu)等設(shè)計出系統(tǒng)的整體架構(gòu)。第七個部分:就是系統(tǒng)的編碼實現(xiàn)階段,需要使用編程語言完成程序的功能,完成程序的界面設(shè)計,最終以界面實現(xiàn)的效果圖展示設(shè)計成果等內(nèi)容。第八個部分:就是程序已經(jīng)完成了開發(fā)的前提之下,需要測試程序的各個模塊的銜接是否正常,程序各個功能能否在網(wǎng)絡(luò)等一切外部條件正常的情況下運行,這期間要是出現(xiàn)任何錯誤都需要及時記錄并在后期進行修補完善。第九個部分:就是論文最后的總結(jié)展望部分,描述遇到的問題,采用的解決思路等內(nèi)容。

第2章開發(fā)技術(shù)簡介2.1BootStrap框架Bootstrap是Twitter推出的一個開源的用于web前端開發(fā)的工具包,是一個CSS/HTML框架。Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范,它即是由動態(tài)CSS語言寫成。Bootstrap是基于jQuery框架開發(fā)的,它在jQuery框架的基礎(chǔ)上進行了更為個性化和人性化的完善,形成一套自己獨有的網(wǎng)站風格,并兼容大部分jQuery插件。Bootstrap給用戶寫好測試了各種兼容、疑難問題,并構(gòu)建了一套非常優(yōu)秀成熟的響應(yīng)式類,并及時提供了移動端優(yōu)先的響應(yīng)式系統(tǒng),用戶只需使用Bootstrap已經(jīng)封裝好的class。使用bootstrap大大改善了開發(fā)的效率和降低了維護成本。Bootstrap功能特點①跨設(shè)備,跨瀏覽器,可以兼容現(xiàn)代所有主流瀏覽器,框架包含了貫穿于整個庫的移動設(shè)備優(yōu)先的樣式。②響應(yīng)式設(shè)計Bootstrap的響應(yīng)式設(shè)計能夠自適應(yīng)于不同分辨率的PC端、ipad和手機端,并且不同設(shè)備屏幕之間可以來回切換。③提供全面的組件Bootstrap包含了十幾個可重用的組件,可用于創(chuàng)建圖像、下拉菜單、導航、警告框、彈出框等,方便開發(fā)人員直接調(diào)用。2.2SSM框架在使用JavaEE語言進行后端項目開發(fā)的過程中,使用最普遍的框架便是SSM框架。Spring是一個開源柜架,是于2003年興起的一個輕量級的java開發(fā)框架由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)造的,Sprng使用基本的JavaBean來完成以前只可由EJB完成的事情。但是,Spring的用途不僅限于服務(wù)端的開發(fā)。從簡單性、可試性和松耦合的角度而言,任何java應(yīng)用都可以從Spring中受益,簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(ADP)的容器框架。

SpringMVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在SpringWebFlow里面。SpringMVC分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進行定制。MyBatis原本是apache的一個開源項目ibatis,2010年這個項目由apachesoftwarefoundation遷移到了googlecode,并且改名為MyBatis。Mybatis是一個基于Java的持久層框架。IBATIS提供的持久層框架包括SQLMaps和DataAccessObjects(DAO)Mybatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis使用簡單的ⅩML或注解用于配置和原始映射,將接口和Java的POJOS(PlainOldJavaObjects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄。圖2-2就是SSM框架原理圖。圖2-1SSM框架原理圖2.3VUE技術(shù)在早期開發(fā)程序前端中,使用得最多的莫過于html/css/JavaScript三大劍客了。但隨著技術(shù)的慢慢發(fā)展,前端能做的事情也是越來越多,也逐漸形成了工程化。按需加載、處理依賴、同時提供開發(fā)和生產(chǎn)環(huán)境,本地調(diào)試自動更新到瀏覽器等功能都可以由工程化前端實現(xiàn)。前端由此得到了極大的發(fā)展,也誕生了很大的前端框架,其中最為流行的是Vue、React和AngularJS三大框架。而Vue是一套用于構(gòu)建用戶界面的漸進式框架,Vue是一個輕量級的前端框架,他的核心只關(guān)注視圖層,是一個構(gòu)建數(shù)據(jù)的視圖集合,它易于上手,支持數(shù)據(jù)雙向綁定,學習曲線較為平緩,是一個十分適合作為新手前端學習的一個前端框架。圖2-3描述了VUE框架的工作原理。詳細見下圖。圖2-2VUE框架的工作原理圖2.4LayUI事實上,layui更多是面向于后端開發(fā)者,所以在組織形式上毅然采用了幾年前的以瀏覽器為宿主的類AMD模塊管理方式,卻又并非受限于CommonJS的那些條條框框,它擁有自己的模式,更加輕量和簡單。layui定義為“經(jīng)典模塊化”,并非是刻意強調(diào)“模塊”理念本身,而是有意避開當下JS社區(qū)的主流方案,試圖以盡可能簡單的方式去詮釋高效。它的所謂經(jīng)典,是在于對返璞歸真的執(zhí)念,它以當前瀏覽器普通認可的方式去組織模塊。layui認為這種輕量的組織方式,仍然可以填補WebPack以外的許多場景。所以它堅持采用經(jīng)典模塊化,也正是能讓人避開工具的復(fù)雜配置,重新回歸到原生態(tài)的HTML/CSS/JavaScript本身。layui提供了豐富的內(nèi)置模塊,他們皆可通過模塊化的方式按需加載,其中包括:layer、layDate、layPage、laytpl、table、form、upload、element、tree、layeditor、rate、carousel、flow、util、code等方便用戶的使用。第3章需求分析3.1系統(tǒng)性能分析3.1.1系統(tǒng)安全性程序在使用中是不允許其他訪問者隨意竊取程序里面的隱秘信息,也不允許其他操作者越權(quán)操作其他管理用戶操作的功能,要真正杜絕這些現(xiàn)象就必須在程序開發(fā)之前把程序的安全性給考慮進去。3.1.2數(shù)據(jù)完整性數(shù)據(jù)完整性是確保數(shù)據(jù)信息是否具有可靠性,是否具有參考價值的一個重要因素,數(shù)據(jù)信息只描述一部分,或者必有的數(shù)據(jù)信息反而為空等現(xiàn)象都是代表著這個數(shù)據(jù)信息不完整,有數(shù)據(jù)缺陷,這是個很嚴肅的問題,因為這樣的數(shù)據(jù)信息跟垃圾信息沒什么兩樣。說到數(shù)據(jù)完整性,不得不提最常用的程序表單功能。這些表單主要就是提取廣大用戶的數(shù)據(jù)信息的,需要廣大用戶根據(jù)表單上的要求,填寫自己的姓名信息,以及自己的聯(lián)系方式信息,有些也會有額外的信息填寫要求,有必須要填的選項,也有不需要必填的選項。假如廣大用戶為了保護自己的隱私,或者不想受到其他人的騷擾,不填寫必填項等信息,廣大用戶在最后提交此表單的時候,往往都是提交不了的。數(shù)據(jù)完整性不僅僅限于登記的數(shù)據(jù)要完整,它也需要程序里面的所有數(shù)據(jù)信息之間存在關(guān)聯(lián),而且這種聯(lián)系也是要求不能出差錯的。由于數(shù)據(jù)表之間也會存在一定的聯(lián)系,所以同一個數(shù)據(jù)也會出現(xiàn)在另一個表格里面,那么這兩個表格記錄的同一個數(shù)據(jù)應(yīng)該是一樣的。不能夠是同樣的數(shù)據(jù)信息在不同表中不一樣。3.1.3系統(tǒng)可擴展性所有的事物都是一直在發(fā)展的,我們開發(fā)軟件也得帶著發(fā)展的思維去進行軟件開發(fā)操作,這樣的話,開發(fā)出來的程序在應(yīng)對管理所需時,也會相對應(yīng)的進行程序升級與更新。不論是功能完善還是數(shù)據(jù)庫升級都能在原來的基礎(chǔ)上對原有程序進行迭代升級。讓開發(fā)出來的程序能夠走得越來越遠。這也是廣大用戶對程序軟件的使用要求。3.2系統(tǒng)功能分析本文的在線家教預(yù)約系統(tǒng)的設(shè)計與開發(fā)主要為了充分實現(xiàn)教師用戶的功能和學生用戶的功能以及管理員的管理功能這三大功能,下面將對教師與學生用戶功能和管理員的管理功能做出詳細的功能需求設(shè)計與分析。3.2.1用戶功能用戶進入到網(wǎng)站首頁后,未注冊只能瀏覽教師信息、學生信息、公告信息以及瀏覽討論區(qū)。不能解鎖其他功能。首頁提供注冊、登錄功能,能夠?qū)τ脩糨斎氲男畔⑦M行合法檢查。針對學生用戶,必須要進行注冊登錄后才能完成討論功能與核心的預(yù)約功能等。并且,學生進行注冊時,要填寫正確的用戶名、姓名、聯(lián)系電話、就讀學校、年級,如有漏填,要提示相應(yīng)的信息。學生注冊完后,必須要用正確的用戶名與密碼登錄,如果有一項不正確則登陸失敗并提示用戶名或密碼錯誤。學生登錄后,可以發(fā)布需求,包括需求的標題、時間、地點、備注,同樣漏填信息時,要進行相應(yīng)的提示,以便預(yù)約的方便。學生在發(fā)布需求后,可以根據(jù)自己的需求變化來編輯已經(jīng)發(fā)布的需求以及刪除已經(jīng)發(fā)布的需求。學生用戶可以在教師頁面瀏覽教師的大體信息,點擊教師的頭像后可以進入到教師的詳情頁面查看教師的個人簡介以及對教師進行評價,如果學生未登錄,則不能對老師進行評論,并提示用戶登錄學生賬號。學生在教師頁面可以搜索老師,可以單獨輸入要查找教師的畢業(yè)院校以及擅長科目來進行查找教師,同樣也可以輸入兩者來查找同時符合兩個條件的教師。學生只有在登錄后才可以進行預(yù)約,如果未登錄,則要提示用戶登錄學生賬號。如果學生已經(jīng)登錄,則可以在教師詳情頁面進行對教師的預(yù)約,預(yù)約時要填寫預(yù)約的時間、地點、備注,漏填同樣要提示用戶對應(yīng)的信息。學生在完成預(yù)約后,可以進入到自己的預(yù)約信息界面查看已經(jīng)完成的預(yù)約記錄,包括預(yù)約的時間、地點、教師以及預(yù)約的狀態(tài)。并可以刪除預(yù)約記錄。學生登錄后,可以進入到自己的個人信息頁面,對已經(jīng)注冊的信息進行修改。同學生的注冊登錄功能一樣,教師也要填寫用戶名、密碼、姓名、聯(lián)系電話、教齡、擅長科目等進行注冊。并用正確的用戶名與密碼才可以登錄成功,否則一樣的提示相應(yīng)信息。同學生查看教師功能一樣,教師可以查看學生的大體信息,點擊學生頭像后可以查看學生需求的具體信息。教師登錄后,可以進入到檢索需求界面,這時會把所有有需求的學生檢索出來,教師也可以輸入學生需要的科目來進行檢索,這時會把所有有這一科需求的學生檢索出來。同學生預(yù)約教師一樣,教師必須登錄后才可以預(yù)約學生,否則彈出相應(yīng)的提示。教師可以找到有需求的學生進行預(yù)約,填寫預(yù)約的時間、地點、備注,同樣漏填要提示相應(yīng)的信息。教師在完成預(yù)約后,可以進入到自己的預(yù)約信息界面查看已經(jīng)完成的預(yù)約記錄,包括預(yù)約的時間、地點、教師以及預(yù)約的狀態(tài)。并可以刪除預(yù)約記錄。教師登錄后,可以進入到自己的個人信息頁面,對已經(jīng)注冊的信息進行修改。學生與教師登錄后,可以進入到討論區(qū)界面,輸入要討論的標題,選擇討論的板塊以及輸入內(nèi)容后可以進行發(fā)帖,漏填則提示相應(yīng)的信息。學生與老師可以在討論區(qū)界面看到全部的帖子以及點擊某一板塊后只顯示當前板塊下的帖子,并可以看到當前帖子回帖的數(shù)量。點擊某一個貼子時,可以進入到帖子的詳情頁面,在這一頁面用以進行回帖討論,輸入內(nèi)容為空則要提示不能為空的信息。用戶可以在首頁瀏覽管理員發(fā)布的公告的標題以及點擊某一公告后進入到公告的詳情頁面進行查看。3.2.2管理員功能管理員登錄后,可以對網(wǎng)站首頁的焦點圖進行管理,包括增加和刪除焦點圖。管理員點擊用戶管理界面后,可以顯示出所有的用戶以及可以通過查找具體的名字來查找用戶,并可以刪除用戶。管理員可以通過發(fā)布公告的標題來查找公告,并針對已經(jīng)發(fā)布的公告進行編輯、刪除,并可以發(fā)布新公告。管理員可以通過板塊的名字來查找板塊,并針對已經(jīng)發(fā)布的板塊進行編輯、刪除,并可以發(fā)布新的板塊。管理員可以查看所有已經(jīng)發(fā)布的帖子,包括帖子標題、板塊、發(fā)布時間等信息,可以通過帖子的標題來查詢帖子,并可以針對帖子設(shè)置和取消為精華帖。針對不同的帖子,管理員可以查看每一個帖子的回帖,并可以刪除相應(yīng)的回帖。同樣也可以刪除某一個帖子。管理員可以點擊評論區(qū)顯示出所有學生對老師的評價,包括評論的學生姓名、老師姓名評論內(nèi)容等,可以針對某一個老師查詢學生對其評價。管理員同樣可以刪除指定的評論。3.3系統(tǒng)用例圖本在線家教預(yù)約系統(tǒng)目的是為用戶提供一個良好的在線預(yù)約平臺,以這一目的為需求,可以把系統(tǒng)的用戶分為三種:學生用戶、教師用戶、管理員用戶。他們的信息都被儲存在數(shù)據(jù)庫中。只有注冊了學生或教師賬戶,才能使用系統(tǒng)為其開放的功能。管理員的權(quán)限最高,可以對系統(tǒng)進行維護以及對用戶的管理。這三種用戶的用例圖如下圖所示。學生用戶用例圖如下圖圖3-1所示。圖3-1學生用戶用例圖教師用戶用例圖如圖3-2所示。圖3-2教師用戶用例圖管理員用戶用例圖如圖3-3所示。圖3-3管理員用例圖3.4可行性研究需要使用大部分精力開發(fā)的在線家教預(yù)約系統(tǒng)為了充分降低開發(fā)風險,特意在開發(fā)之前進行可行性分析這個驗證系統(tǒng)開發(fā)是否可行的步驟。本文就會從技術(shù)角度,經(jīng)濟角度,還有用戶使用的程序的運行角度進行綜合闡述。3.4.1技術(shù)可行性開發(fā)程序語言選擇的是面向?qū)ο蟮?,功能強大的,方便好用的Java語言,數(shù)據(jù)庫的使用方面使用到了MYSQL數(shù)據(jù)庫跟Navicat,由于自己之前接觸過一些簡單的程序開發(fā)方面的設(shè)計作品,所以對Myeclipse工具的使用比較熟練,對于數(shù)據(jù)庫的操作技巧也有一定的積累。另外,程序開發(fā)需要在自己電腦上安裝的軟件并不多,在win10操作系統(tǒng)的大環(huán)境下,能夠完全搭建好程序開發(fā)的操作環(huán)境,比如Myeclipse工具,MYSQL數(shù)據(jù)庫工具,以及處理程序圖片的Photoshop工具等都能安裝在自己的電腦上??偟恼f來,開發(fā)這個程序在技術(shù)上是可以實現(xiàn)的。3.4.2運行可行性因為這個家教預(yù)約系統(tǒng)從開始開發(fā)到截止都是依據(jù)用戶的需求來進行開發(fā)的,考慮到此程序軟件是面向廣大普通操作用戶,鑒于他們的知識文化水平,特意開發(fā)出一個可操作性強的,能夠很容易讓使用用戶上手的,具有可視化操作界面的一個程序軟件??傮w來來,這個系統(tǒng)站在用戶運行程序的角度上分析,是不存在操作困難這個問題的。用戶只要打開網(wǎng)站就可以免去專人培訓進行程序功能操作。3.4.3經(jīng)濟可行性開發(fā)一個系統(tǒng)時我們需要考慮花費問題,我們必須考慮系統(tǒng)開發(fā)中所有的花費進行計算,我們要考慮到系統(tǒng)需不需要太大的資金。每一套系統(tǒng)的開發(fā),都得花費一定的時間去研究。需要使用的軟件也是有很多需要花錢。本系統(tǒng)使用的MyEclipse、MySQL數(shù)據(jù)庫及GoogleChrome瀏覽器等軟件都是網(wǎng)上均可以下載使用的,可以讓開發(fā)人員免費使用,無需收費。從開發(fā)角度來說,成本低,因此具有經(jīng)濟可行性。綜上所述,線上家教預(yù)約服務(wù)系統(tǒng)無論是在技術(shù)、經(jīng)濟還是運行上均具有非常強的可行性,而且開發(fā)這種預(yù)約程序也是很必要的。第4章系統(tǒng)總體設(shè)計4.1系統(tǒng)總體架構(gòu)本在線家教預(yù)約系統(tǒng)由瀏覽器端、Web服務(wù)器端以及數(shù)據(jù)庫端構(gòu)成。用戶可以通過瀏覽器訪問本在線家教預(yù)約系統(tǒng)。Web服務(wù)端的功能是處理不同的業(yè)務(wù),響應(yīng)用戶的各種請求,然后給用戶提供各自需要的功能??紤]到用戶之間的差異性以及系統(tǒng)的諸多因素,本在線家教預(yù)約系統(tǒng)主要基于B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器結(jié)構(gòu))B/S結(jié)構(gòu)的一大特點就是用戶可以在任何地方執(zhí)行操作,沒有安裝任何軟件的麻煩,只要可以連接到Internet就可以使用。這樣就實現(xiàn)了客戶端的零維護,系統(tǒng)的課擴展性也得到了大大的提高。B/S架構(gòu)主要有兩大優(yōu)點,第一點,更新簡潔:如果需要更新內(nèi)容的話,對開發(fā)人員來說需要更改服務(wù)器的內(nèi)容,但是對用戶來說只需要刷新瀏覽器就可以完成更新。第二點,它支持多設(shè)備同步:所有數(shù)據(jù)都在網(wǎng)上,只要能夠使用瀏覽器就可以完成使用。雖然基于B/S架構(gòu)的系統(tǒng)也有一定的缺點與局限性,但是這些缺點相比較其優(yōu)點來說完全可以忽略不計,對于本系統(tǒng)來說并不會產(chǎn)生一些不好的結(jié)果。這樣一來對于本在線家教預(yù)約系統(tǒng)來說,采用B/S架構(gòu)是最合適不過的。本在線家教預(yù)約系統(tǒng)的總體架構(gòu)圖如圖4-1所示:圖4-1系統(tǒng)總體架構(gòu)圖4.2系統(tǒng)主要功能模塊設(shè)計根據(jù)本在線家教預(yù)約系統(tǒng)的功能,可以把本系統(tǒng)分為用戶業(yè)務(wù)功能模塊及系統(tǒng)管理員管理的系統(tǒng)管理功能模塊,系統(tǒng)的模塊層次圖如圖4-2所示。圖4-2系統(tǒng)模塊層次圖4.2.1用戶業(yè)務(wù)模塊注冊登錄:學生與教師分別可以進行注冊,注冊時要填寫必要的信息,如有漏填則給用戶提示信息。學生于教師注冊后憑借正確的用戶名與密碼進行登錄,有一項不正確則要給用戶提示信息。需求管理:學生登錄后可以在自己的發(fā)布需求界面填寫要發(fā)布需求的標題時間地點備注進行需求的發(fā)布,漏填要提示信息。發(fā)布玩需求后,學生可以編輯已經(jīng)發(fā)布過的需求以及刪除不想發(fā)布的需求。教師登錄后可以進入到檢索需求界面針對學生的需求進行精確地搜索從而進行進一步的操作。預(yù)約管理:學生登錄后可以輸入教師的畢業(yè)院校以及擅長科目等進行精確查找。找到合適的教師后,進入教師詳情頁面進行預(yù)約,輸入要預(yù)約的時間、地點、備注進行預(yù)約。預(yù)約成功后可以在自己的預(yù)約信息界面查看預(yù)約記錄,并可以刪除預(yù)約記錄。教師登錄可以在自己的預(yù)約信息板塊查看自己的預(yù)約情況。討論區(qū):學生與教師登陸后都可以進入到討論區(qū)發(fā)帖進行討論,發(fā)帖時要輸入帖子的標題以及選擇要發(fā)帖的板塊,漏填同樣給用戶提示信息。學生與教師還可以在討論區(qū)針對別人的貼子進行回帖進行討論,回帖的內(nèi)容為空則提示用戶不能為空。個人信息管理:學生與教師登錄后可以對自己的用戶名、密碼、聯(lián)系電話等進行查看跟修改。評論:學生登錄后可以進入到教師的詳情頁面對教師進行評論。4.2.2管理員系統(tǒng)管理模塊焦點圖管理:管理員登錄后,可以對首頁的焦點圖進行新增或刪除。用戶管理:管理員可以根據(jù)用戶的姓名查找某一個用戶以及刪除用戶的信息。公告管理:管理員可以對網(wǎng)站的公告進行查找進而編輯已經(jīng)發(fā)布的公告,同時可以新增或刪除公告。板塊管理:管理員可以對網(wǎng)站討論區(qū)的板塊進行修改、新增、查找以及刪除操作。討論區(qū)管理:管理員可以查看所有已經(jīng)發(fā)布的帖子的具體信息,包括發(fā)帖人查看次數(shù)等,并針對帖子的好壞可以修改帖子為精華帖同樣可以取消精華帖,同樣也可以刪已經(jīng)發(fā)表的帖子。管理員也可以管理某一個帖子的回帖,可以刪除其回帖。評論管理:管理員可以看到所有學生對教師的評價,以及可以查找教師的姓名進而得到某一個老師的具體評價,并根據(jù)需要可以刪除對老師的評價。

第5章數(shù)據(jù)庫設(shè)計5.1數(shù)據(jù)庫需求一個好的數(shù)據(jù)庫結(jié)構(gòu)可以直接關(guān)系到應(yīng)用程序開發(fā)的效果和優(yōu)劣,數(shù)據(jù)庫的設(shè)計都離不開對于表結(jié)構(gòu)的設(shè)計,同樣也離不開表與表之間的各種關(guān)系,以及系統(tǒng)開發(fā)需要設(shè)計的數(shù)據(jù)表內(nèi)容等信息。在進行這次數(shù)據(jù)庫的設(shè)計期間,還是會更加需要我多花時間對其進行思考,最終才能夠?qū)⑴涮壮绦虻臄?shù)據(jù)庫設(shè)計出來。本家教預(yù)約系統(tǒng)的數(shù)據(jù)字典如下圖所示:圖5-1數(shù)據(jù)元素數(shù)據(jù)字典圖圖5-2數(shù)據(jù)表數(shù)據(jù)字典圖圖5-3數(shù)據(jù)流數(shù)據(jù)字典圖5.2概念結(jié)構(gòu)設(shè)計E-R圖是一種用于描述和顯示各種數(shù)據(jù)類型之間關(guān)系的數(shù)據(jù)描述方法,E-R圖可以使得我們能夠完整地從其中映射出一個現(xiàn)實模型之間的關(guān)系。E-R圖中的三個最為重要的元素就是實體、屬性、關(guān)系。E-R圖即由這三點組成。實體:E-R圖中數(shù)據(jù)的實體,用矩形表示上面為實體名,下面為實體屬性,實體包含主外鍵等關(guān)系。屬性:E-R圖中的屬性,是我們用來表示一個屬性實體的基本屬性,實體由多條屬性相互作用組合所構(gòu)成,屬性擁有自己的數(shù)據(jù)類型,數(shù)據(jù)大小。屬性的好壞決定了E-R圖中實體的健全性、完整性和穩(wěn)定性。關(guān)系:E-R圖中的關(guān)系是指實體與實體之間的一種關(guān)系,用一個菱形來描述和表示實體間的關(guān)系,這些不同菱形關(guān)系的聯(lián)系上有著一對多或多對多的數(shù)據(jù)聯(lián)系,這些都構(gòu)成了E-R圖的關(guān)系,E-R圖的這種關(guān)系緊密的連接了兩個不同的實體,使得實體之間的關(guān)聯(lián)性更加的顯著、易懂。本在線家教預(yù)約系統(tǒng)的E-R圖5-4所示:圖5-4在線家教預(yù)約系統(tǒng)E-R圖5.3邏輯結(jié)構(gòu)設(shè)計從ER圖的各個實體出發(fā),我們可以把ER圖中的各個實體轉(zhuǎn)化為關(guān)系模型,也就是轉(zhuǎn)化為表的結(jié)構(gòu)。下面的圖展示了各個實體轉(zhuǎn)化為表的結(jié)果。名稱數(shù)據(jù)類型長度描述字段ID數(shù)值型11需求唯一標識符學生ID字符型255學生編號標題字符型255需求的標題時間字符型255需求發(fā)布的時間地址字符型255預(yù)約的地址備注文本型預(yù)約進一步的信息說明表5-1需求信息表名稱數(shù)據(jù)類型長度描述用戶ID數(shù)值型11編號用戶名字符型255用戶名密碼字符型255密碼姓名字符型255姓名圖片字符型255圖片電話字符型255電話刪除狀態(tài)字符型255刪除狀態(tài)學校文本型學生就讀學校跟老師的畢業(yè)院校工齡字符型255教師的工齡技能字符型255教師擅長的科目類型字符型255區(qū)分學生與教師年級字符型255學生的年級簡介文本型教師的個人簡介表5-2用戶信息表名稱數(shù)據(jù)類型長度描述公告ID數(shù)值型11公告唯一標識符標題字符型255公告的標題符照片字符型255公告的圖片內(nèi)容文本型公告的內(nèi)容時間字符型255公告發(fā)布的時間表5-3公告信息表名稱數(shù)據(jù)類型長度描述評論ID數(shù)值型11評論唯一標識符用戶ID字符型255評論學生的編號教師ID字符型255被評論教師編號內(nèi)容文本型評論的內(nèi)容時間字符型255評論的時間表5-4評論信息表名稱數(shù)據(jù)類型長度描述帖子ID數(shù)值型11帖子的唯一標識符用戶ID字符型255評論用戶的編號標題字符型255帖子標題內(nèi)容文本型帖子內(nèi)容時間字符型255時間查看次數(shù)字符型255帖子的查看次數(shù)刪除字符型255帖子是否被刪除表5-5帖子信息表名稱數(shù)據(jù)類型長度描述回帖ID數(shù)值型11回帖的唯一標識符用戶ID字符型255回帖用戶編號帖子ID字符型255被回復(fù)帖子的編號內(nèi)容文本型回帖內(nèi)容時間字符型255回帖時間表5-6回帖信息表名稱數(shù)據(jù)類型長度描述板塊ID字符型11板塊唯一標識符名字字符型255板塊名稱刪除狀態(tài)字符型255板塊是否被刪除表5-7板塊信息表第6章詳細設(shè)計6.1系統(tǒng)的包結(jié)構(gòu)本在線家教預(yù)約系統(tǒng)的包結(jié)構(gòu)總共分為五類,分別為bean包,它負責存放實體類,例如用戶類、需求類、預(yù)約信息類等。DAO包,他負責跟數(shù)據(jù)庫打交道,例如數(shù)據(jù)的增刪改查等方法,mapping包下存放了與數(shù)據(jù)庫交互的具體sql語句。Controller包,它負責處理前臺發(fā)送過來的請求。Util包下存放的是一些工具類,比如日期轉(zhuǎn)化類等。6.2系統(tǒng)的類結(jié)構(gòu)6.2.1類的設(shè)計根據(jù)本系統(tǒng)的功能,將系統(tǒng)中的實體類分別設(shè)計成Article類、Demand類、Member類、News類、Pinlun類、Reply類、Section類、Yuyue類。Article類中的成員變量有id、memberid、title、content、savetime、lookcs、delstatus、sectionid、isjh。分別表示帖子的id,發(fā)帖人的id、帖子的標題、帖子的內(nèi)容、發(fā)帖的時間、帖子的查看次數(shù)、帖子的刪除狀態(tài)、帖子對應(yīng)板塊的id、帖子是否為精華帖。Demand類中的成員變量有id、stid、title、savetime、addr、content,分別表示需求的id、發(fā)布需求學生的id、發(fā)布需求的標題、需求的地點以及內(nèi)容。Member類中的成員變量有id、uname、upass、tname、filename、tel、utype、delstatus、school、skilled、workage、grade、content,分別表示用戶的id、用戶名、密碼、真實姓名、頭像、電話、用戶類型、刪除狀態(tài)、學校、擅長的科目、工齡、年級、個人簡介。News類中的成員變量有id、title、fiflename、content、savetime分表表示公告的id、公告的標題、公告的照片、公告的內(nèi)容以及公告的發(fā)布時間。Pinlun類中的成員變量有id、memberid、tcid、content、savetime分別表示評論的id、發(fā)表評論學生的id、被評論教師的id、評論的內(nèi)容以及評論時間。Reply類中的成員變量有id、memberid、articleid、content、savetime分別表示回帖的id、回帖人的id、回復(fù)帖子的id、回復(fù)的內(nèi)容以及回復(fù)的時間。Section類中的成員變量有id、name、delstatus分別表示板塊的id、名字以及刪除狀態(tài)。Yuyue類中的成員變量有id、stid、tcid、savetime、addr、content、flag、分別表示預(yù)約的id、預(yù)約學生的id、被預(yù)約老師的id、預(yù)約時間、預(yù)約的地址、預(yù)約的備注以及預(yù)約的狀態(tài)。部分類之間的關(guān)系如下圖6-1所示圖6-1部分實體類之間的關(guān)系圖6.2.2系統(tǒng)中主要功能的類圖及關(guān)系圖MemberDAO中的select、add、findbyid、update方法實現(xiàn)了在數(shù)據(jù)庫中對用戶的增刪改查操作。MemberController中的login方法會通過用戶名與密碼調(diào)用DAO層中的select方法從數(shù)據(jù)庫中查找對應(yīng)的用戶信息,如果找到就返回找到的用戶并跳轉(zhuǎn)到首頁實現(xiàn)登錄功能。涉及用戶登錄的類圖及關(guān)系圖如圖6-2所示。圖6-2登陸操作的類圖及關(guān)系圖YuyueDAO中有add、select、delete方法實現(xiàn)了在數(shù)據(jù)庫中對預(yù)約信息的增刪查操作,用戶在前端頁面填寫好相應(yīng)的信息后,封裝到Y(jié)uyue類,然后會傳給YuyueController,在YuyueController中會獲取到當前要預(yù)約的用戶然后調(diào)用yuyueadd方法,然后調(diào)用DAO中的add方法把預(yù)約的各種信息添加到數(shù)據(jù)庫中,實現(xiàn)預(yù)約的功能。預(yù)約操作的類圖及關(guān)系圖如圖6-3所示。圖6-3預(yù)約操作的類圖及關(guān)系圖ArticleDAO中有add、delete、selectAll、update等方法對應(yīng)帖子的增刪改查方法。用戶在前端選擇好對應(yīng)發(fā)帖的板塊以及填寫完各種信息后會封裝到Article類中,然后信息會傳到ArticleController中,獲取要發(fā)帖的用戶后調(diào)用ArticleAdd方法,進而調(diào)用DAO層中的add方法把發(fā)表的帖子信息存放到數(shù)據(jù)庫中。發(fā)帖的類圖及關(guān)系圖如圖6-4所示。圖6-4發(fā)帖操作的類圖及關(guān)系圖DemandDAO中有add、selectAll、findById、update等方法,對應(yīng)對需求的增刪改查方法等。學生用戶登錄后在前端的頁面填寫需要發(fā)布的需求后封裝到Demand類中,然后將封裝好的信息傳到DemandController中,并獲取到當前的用戶,然后調(diào)用DemandDAO中的add方法,把發(fā)布的需求存到數(shù)據(jù)庫中方便以后的查找、編輯等操作。發(fā)布需求的類圖及關(guān)系圖如圖6-5所示。圖6-5發(fā)布需求的類圖及關(guān)系圖PinlunDAO中有select、add等方法,對應(yīng)著學生對教師評論的增刪方法,學生用戶登錄后在教師詳情頁面添加評論后,將評論的內(nèi)容封裝到Pinlun類中然后傳給PinlunController,Controller會獲取到評論教師的id然后獲取到評論的學生,然后調(diào)用DAO中的add方法,將評論的具體信息存儲在數(shù)據(jù)庫中,實現(xiàn)后續(xù)的操作。評論教師的類圖及關(guān)系圖如圖6-6所示。圖6-6評論教師的類圖及關(guān)系圖ReplyDAO中有selectAll、add、delete等方法,對應(yīng)著對回帖的查找、添加、刪除等方法。用戶在點擊某一個帖子后,會進入到帖子詳情頁面,在輸入好回復(fù)的內(nèi)容后將信息封裝在reply類中,用戶點擊回復(fù)后會調(diào)用一個add方法,方法里首先去MemberController驗證用戶是否登錄,如果沒有登錄則跳轉(zhuǎn)到登錄頁面,如果用戶已經(jīng)登錄就會把封裝起來的信息傳到ReplyController中調(diào)用replyAdd方法,方法會將評論的信息作為一個參數(shù),然后會得到當前回帖用戶的id最后調(diào)用replyDAO中的add方法把回帖的內(nèi)容存到數(shù)據(jù)庫中。用戶回帖的類圖及關(guān)系圖如圖6-7所示。圖6-7用戶回帖的類圖及關(guān)系圖ImgadvDAO中有add、delete方法對應(yīng)著焦點圖的增刪方法。系統(tǒng)管理員登錄后可以對網(wǎng)站首頁的焦點圖進行管理,管理員點擊上傳按鈕后,會將焦點圖信息封裝到imgadv類中,然后調(diào)用ImgadvController中的imgadvAdd方法,然后調(diào)用DAO中的add方法實現(xiàn)焦點圖的添加。管理員管理焦點圖的關(guān)系圖如圖6-8所示。圖6-8管理員管理焦點圖圖及關(guān)系圖

第7章編碼實現(xiàn)7.1數(shù)據(jù)庫表的設(shè)計與實現(xiàn)本在線家教預(yù)約系統(tǒng)需要后臺數(shù)據(jù)庫,本系統(tǒng)采用Navicat作為工具根據(jù)第五章數(shù)據(jù)庫的設(shè)計,在MYSQL數(shù)據(jù)庫中建立了相對應(yīng)的表,下面介紹數(shù)據(jù)庫中的各個表的詳細信息。列名字段類型長度是否主鍵說明idint11是編號stidvarchar255否學生編號titlevarchar255否標題savetimevarchar255否時間addrvarchar255否地址contenttext否內(nèi)容表7-1需求信息表(demand)列名字段類型長度是否主鍵說明idint11是編號unamevarchar255否用戶名upassvarchar255否密碼tnamevarchar255否姓名filenamevarchar255否圖片telvarchar255否電話delstatusvarchar255否刪除schooltext否學校workageInt11否工齡skilledVarchar255否擅長科目contentVarchar255否個人簡介utypeVarchar255否類型表7-2用戶信息表(member)列名字段類型長度是否主鍵說明idint11是編號titlevarchar255否標題filenamevarchar255否圖片contenttext否內(nèi)容savetimevarchar255否時間表7-3公告信息表(news)列名字段類型長度是否主鍵說明idint11是編號memberidvarchar255否用戶編號tcidvarchar255否教師編號contenttext否內(nèi)容savetimevarchar255否時間表7-14評論信息表(pinlun)列名字段類型長度是否主鍵說明idint11是編號memberidvarchar255否用戶編號titlevarchar255否教師編號contenttext否內(nèi)容savetimevarchar255否時間lookcsvarchar255否查看次數(shù)delstatusvarchar255否刪除Isjhvarchar255否精華sectionidvarchar255否板塊id表7-5帖子信息表(article)列名字段類型長度是否主鍵說明idint11是編號memberidvarchar255否用戶編號Articleidvarchar255否帖子編號contenttext否內(nèi)容savetimevarchar255否時間列名字段類型長度是否主鍵說明idint11是編號namevarchar255否板塊名稱delstatusvarchar255否刪除表7-6回帖表(reply)表7-7板塊表(section)列名字段類型長度是否主鍵說明idint11是編號stidvarchar255否學生編號tcidvarchar255否教師編號savetimevarchar255否時間addrvarchar255否地址contentvarchar255否內(nèi)容Flagvarchar255否狀態(tài)表7-8預(yù)約信息表(yuyue)列名字段類型長度是否主鍵說明idint11是編號usenamevarchar255否用戶名usepasswordvarchar255否密碼usertypevarchar255否類型realnamevarchar255否真實姓名telvarchar255否電話Filenamevarchar255否頭像表7-9管理員表(sysuser)列名字段類型長度是否主鍵說明idint11是編號filenamevarchar255否照片表7-10焦點圖表(imgadv)7.2系統(tǒng)主要功能實現(xiàn)界面及關(guān)鍵代碼7.2.1用戶登錄界面用戶在登錄界面輸入正確的賬號與密碼后點擊登錄按鈕即可進行登錄,系統(tǒng)會對用戶輸入的賬號與密碼進行驗證,兩者都正確則登錄成功,反之登錄失敗,用戶登錄界面展示如圖5-2所示。圖7-1用戶登錄界面圖關(guān)鍵代碼如下:<scripttype="text/javascript">methods:{login(){//用戶點擊登錄時跳轉(zhuǎn)到此方法 if(this.uname==""){ layer.msg("請輸入用戶名")//未填寫信息彈出提示框提示用戶輸入 } elseif(this.upass==""){ layer.msg("請輸入密碼") }else{axios.post('Login.do',qs.stringify({//攜帶用戶信息去controller中進行登錄操作uname:this.uname,upass:this.upass})).then(response=>{//controller進行判斷后返回一個數(shù)字代表是否登錄成功if(response.data.data==400){layer.msg("用戶名或密碼錯誤")}else{window.location.href="index.html"http://登錄成功跳轉(zhuǎn)到首頁} },}})</script>7.2.2發(fā)布需求界面學生用戶可以進行在線發(fā)布需求信息,界面展示如圖7-2所示。圖7-2需求發(fā)布面圖關(guān)鍵代碼如下:<scripttype="text/javascript">methods:{ add(){//點擊立即提交跳轉(zhuǎn)到此方法 this.savetime=$("#savetime").val()//進行非空驗證 if(this.title==""){ layer.msg("標題不能為空",{icon:5}) returnfalse; } if(this.savetime==""){ layer.msg("預(yù)約時間不能為空",{icon:5}) returnfalse; } if(this.addr==""){ layer.msg("預(yù)約地點不能為空",{icon:5}) returnfalse; }axios.post('admin/demandAdd.do',qs.stringify({//跳轉(zhuǎn)到controller進行添加操作 title:this.title, savetime:this.savetime, addr:this.addr, content:this.content,})).then(response=>{//添加成功給出提示 layer.msg("操作成功",{icon:6},function(){ parent.layer.closeAll(); parent.location.reload() }) }).catch(error=>{console.log(error)}) }, }})</script>7.2.3在線預(yù)約界面學生在登錄本系統(tǒng)后可以進行在線預(yù)約,其界面展示如圖5-4所示。圖7-3在線預(yù)約界面圖學生進行預(yù)約的關(guān)鍵代碼:<scripttype="text/javascript">methods:{ add(){//點擊預(yù)約跳轉(zhuǎn)到此方法 this.savetime=$("#savetime").val() if(this.savetime==""){//進行非空驗證 layer.msg("預(yù)約時間不能為空",{icon:5}) returnfalse; } if(this.addr==""){ layer.msg("預(yù)約地點不能為空",{icon:5}) returnfalse; } axios.post('yuyueAdd.do',qs.stringify({//攜帶信息跳轉(zhuǎn)到controller進行添加操作 savetime:this.savetime, addr:this.addr, content:this.content, tcid:this.teacherid, flag:"st",})).then(response=>{//預(yù)約成功給出提示 layer.msg("操作成功",{icon:6},function(){ parent.layer.closeAll();//自動關(guān)閉頁面 parent.location.reload()//重新加載頁面 }) }).catch(error=>{console.log(error)}) },}})</script>7.2.4查看預(yù)約信息界面用戶登錄后可進入個人界面查看預(yù)約信息,預(yù)訂界面展示如圖5-5所示。圖7-4預(yù)約信息界面圖查看預(yù)約信息的關(guān)鍵代碼:<scripttype="text/javascript">methods:{ getcheckmember(){//先判斷用戶是否登錄, axios.post('checkmember.do',qs.stringify({})).then(response=>{ this.sessionmember=response.data.sessionmember}).catch(error=>{console.log(error)}) }getyuyuelist(){//得到預(yù)約列表,進行分頁顯示axios.post('yuyueLb.do',qs.stringify({pageSize:this.pageSize})).then(response=>{layui.use(['laypage','layer'],function(){varlaypage=layui.laypage,layer=layui.layer;//總頁數(shù)大于頁碼總數(shù)laypage.render({elem:'demo1',limit:vmm.pageSize,count:response.data.list.length//數(shù)據(jù)總數(shù),jump:function(obj,first){vmm.current_page(obj.curr,vmm.pageSize)console.log(obj.curr);//得到當前頁,以便向服務(wù)端請求對應(yīng)頁的數(shù)據(jù)。}});});}).catch(error=>{console.log(error)})},}})</script>7.2.5查找教師界面用戶可以根據(jù)自己的需求進行查找教師,界面展示如圖7-3所示。圖7-5查找教師界面圖關(guān)鍵代碼:getteacherlist(){//點擊查找教師跳轉(zhuǎn)到此方法axios.post('admin/memberList.do',qs.stringify({skilled:this.skilled,//攜帶教師的擅長科目及畢業(yè)院校信息去controller進行查找 school:this.school, utype:"教師",pageSize:this.pageSize})).then(response=>{//進行分頁顯示layui.use(['laypage','layer'],function(){varlaypage=layui.laypage,layer=layui.layer;//總頁數(shù)大于頁碼總數(shù)laypage.render({elem:'demo1',limit:vmm.pageSize,count:response.data.list.length//數(shù)據(jù)總數(shù),jump:function(obj,first){vmm.current_page(obj.curr,vmm.pageSize)console.log(obj.curr);//得到當前頁,以便向服務(wù)端請求對應(yīng)頁的數(shù)據(jù)。}});});}).catch(error=>{console.log(error)})7.2.6討論區(qū)發(fā)帖界面用戶可以進行在線討論,發(fā)布帖子界面展示如圖5-7所示。圖7-6討論區(qū)界面圖關(guān)鍵代碼:methods:{add(){//點擊發(fā)表跳轉(zhuǎn)到此方法 axios.post('checkmember.do',qs.stringify({//先判斷用戶是否登陸,沒有登陸則不能發(fā)帖})).then(response=>{ if(response.data.data==200){ this.sectionid=$("#sectionid").val()//獲取選擇板塊的名稱 this.content=window.editor.html() if(this.title==""){//非空驗證 layer.msg("標題不能為空",{icon:5}) returnfalse; } if(this.sectionid==""){ layer.msg("請選擇版塊",{icon:5}) returnfalse; } if(this.content==""){ layer.msg("發(fā)表內(nèi)容不能為空",{icon:5}) returnfalse; } axios.post('articleAdd.do',qs.stringify({//攜帶要發(fā)表的標題、板塊以及內(nèi)容到controller中進行添加操作 title:this.title, sectionid:this.sectionid, content:this.content,})).then(response=>{ layer.msg("發(fā)表成功",{icon:6}) this.getarticlelist()//發(fā)表成功自動獲取最新的帖子}).catch(error=>{console.log(error)}) }else{ location.replace("login.html") }}).catch(error=>{console.log(error)})7.2.7教師檢索需求界面教師登錄后,可以根據(jù)學生的需求查找出對應(yīng)需求的學生如圖5-8所示圖7-7檢索需求界面圖實現(xiàn)檢索的關(guān)鍵代碼如下:@ResponseBody@RequestMapping("admin/demandList") publicHashMap<String,Object>demandList(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,@RequestParam(defaultValue="1",value="pageSize")IntegerpageSize,HttpServletRequestrequest){ Stringkey=request.getParameter("key");//得到檢索的需求 HashMap<String,Object>res=newHashMap<String,Object>(); HashMap<String,String>map=newHashMap<String,String>(); map.put("key",key); List<Demand>demandlist=demandDAO.selectAll(map);//先根據(jù)key查到所有的需求 for(Demanddemand:demandlist){//從需求列表中根據(jù)需求的學生id找到對應(yīng)的學生 Memberstudent=memberDAO.findById(Integer.parseInt(demand.getStid()));//根據(jù)需求查到學生 demand.setStudent(student); }7.2.8管理員用戶管理界面管理員可進行用戶信息的查看和刪除界面展示如圖5-8所示。圖7-8用戶管理界面圖實現(xiàn)管理的關(guān)鍵代碼:member_list(){//根據(jù)用戶名查詢用戶axios.post('memberList.do',qs.stringify({ key:this.key,//key為搜索框中綁定的值 pageSize:this.pageSize}))del(id){//根據(jù)id刪除用戶 axios.post("memberDel.do",qs.stringify({ id:id, })).then(response=>{ window.location.href="memberlist.html" })//后臺用戶列表@ResponseBody@RequestMapping("admin/memberList")publicHashMap<String,Object>memberList(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,@RequestParam(defaultValue="1",value="pageSize")IntegerpageSize,HttpServletRequestrequest){Stringkey=request.getParameter("key");//根據(jù)key來查找用戶Stringutype=request.getParameter("utype");HashMap<String,Object>res=newHashMap<String,Object>();HashMap<String,String>map=newHashMap<String,String>();map.put("key",key);map.put("utype",utype);List<Member>memberlist=memberDAO.selectAll(map);//在DAO層根據(jù)map查找用戶PageHelper.startPage(pageNum,pageSize);//(當前頁,每頁的個數(shù))List<Member>list=memberDAO.selectAll(map);PageInfo<Member>pageInfo=newPageInfo<Me

溫馨提示

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

評論

0/150

提交評論