JAVA的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng).doc_第1頁(yè)
JAVA的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng).doc_第2頁(yè)
JAVA的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng).doc_第3頁(yè)
JAVA的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng).doc_第4頁(yè)
JAVA的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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)介

河南大學(xué)2007屆本科畢業(yè)論文基于struts的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)a connection system between school and parents based on struts論文作者姓名:王培 所在學(xué)院:計(jì)算機(jī)與信息工程學(xué)院 所學(xué)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 導(dǎo)師姓名職稱:陳志國(guó)(教授)、周星(助教)論文完成時(shí)間:2007年5月20日 2007年5月20日河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)開(kāi)題報(bào)告學(xué)號(hào)03023236姓名王培導(dǎo)師姓名職稱陳志國(guó)(教授)周星(助教)開(kāi)題時(shí)間2006年12月1日課題題目基于struts的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)課題來(lái)源導(dǎo)師指定 自定 其他來(lái)源課題的目的、意義以及和本課題有關(guān)的國(guó)內(nèi)外現(xiàn)狀分析:1、目的:首先是希望有效解決目前中小學(xué)校中,家長(zhǎng)和學(xué)校之間聯(lián)系脫節(jié)的問(wèn)題;其次為了降低學(xué)校、家長(zhǎng)聯(lián)系時(shí)所耗費(fèi)的人力、財(cái)力。2、意義:一方面,解決了學(xué)校、家長(zhǎng)聯(lián)系中存在的耗時(shí)、耗財(cái)、耗人力等實(shí)際問(wèn)題;另一方面,使我對(duì)項(xiàng)目開(kāi)發(fā)流程有了一個(gè)清晰的認(rèn)識(shí),提高了自己項(xiàng)目開(kāi)發(fā)的能力。3、現(xiàn)狀:歐美等國(guó)軟件開(kāi)發(fā)技術(shù)已經(jīng)很成熟了,相對(duì)而言我國(guó)還比較落后。但對(duì)家長(zhǎng)學(xué)校聯(lián)系系統(tǒng)的開(kāi)發(fā)而言,由于教育體制、風(fēng)俗習(xí)慣等的不同,開(kāi)發(fā)過(guò)程中所要考慮的問(wèn)題也有很大差別。在實(shí)際開(kāi)發(fā)中,我們有自己的國(guó)情,自己的特殊體制和用戶習(xí)慣,因而發(fā)展空間很大。另外,正因?yàn)槲覈?guó)軟件業(yè)起步晚,在新技術(shù)的應(yīng)用等方面反而輕裝易行。研究目標(biāo)、研究?jī)?nèi)容和準(zhǔn)備解決的問(wèn)題:1、目標(biāo):開(kāi)發(fā)一套界面友好、操作簡(jiǎn)便、功能易于擴(kuò)充、代碼可高度重用的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)。2、內(nèi)容:分析學(xué)校、家長(zhǎng)之間聯(lián)系的特點(diǎn)和需求,在此基礎(chǔ)上對(duì)項(xiàng)目本身進(jìn)行了架構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn),并關(guān)注于新技術(shù)的應(yīng)用。3、準(zhǔn)備解決的問(wèn)題:實(shí)現(xiàn)多種框架之間的交叉應(yīng)用,揚(yáng)長(zhǎng)避短設(shè)計(jì)出性能最優(yōu)的應(yīng)用系統(tǒng),徹底解決現(xiàn)存的學(xué)校家長(zhǎng)間機(jī)械的聯(lián)系方式帶來(lái)的問(wèn)題。擬采取的方法、技術(shù)或設(shè)計(jì)(開(kāi)發(fā))工具:開(kāi)發(fā)工具:eclipse開(kāi)發(fā)語(yǔ)言:java數(shù)據(jù)庫(kù):sql server 2000預(yù)期成果:1、畢業(yè)設(shè)計(jì)成果學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)(源程序)2、畢業(yè)論文 基于struts的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng) 進(jìn)度計(jì)劃:2006.12.1 - 2007.2.1:查找資料、搜集相關(guān)素材2007.2.2 - 2007.4.1:完成系統(tǒng)的需求分析、總體設(shè)計(jì)2007.4.2 - 2007.4.21:完成界面模塊、功能模塊部分的代碼實(shí)現(xiàn)2007.4.22 - 2007.4.30:完成模塊的整合和測(cè)試2007.5.1 - 2007.5.15:整理資料、撰寫(xiě)畢業(yè)論文2007.5.16 - 2007.5.25:根據(jù)導(dǎo)師要求,完善畢業(yè)設(shè)計(jì)和論文指導(dǎo)教師對(duì)選題報(bào)告的意見(jiàn):同意開(kāi)題 指導(dǎo)教師簽名: 2006年12月1日開(kāi)題報(bào)告ii河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)任務(wù)書(shū)學(xué)號(hào)03023236姓名王培導(dǎo)師姓名陳志國(guó)、周星任務(wù)書(shū)起止日期2006年12月8日 至 2007年5月20日論文提要:論文將依照軟件工程中項(xiàng)目開(kāi)發(fā)的原則和步驟,對(duì)項(xiàng)目開(kāi)發(fā)流程進(jìn)行詳細(xì)論述,包括需求分析、概要設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等過(guò)程。論文還將對(duì)新的開(kāi)發(fā)技術(shù)、開(kāi)發(fā)框架及設(shè)計(jì)思想結(jié)合本課題進(jìn)行論述。課題任務(wù)要求:1.對(duì)提出的課題進(jìn)行需求分析、概要及詳細(xì)設(shè)計(jì)。2.對(duì)項(xiàng)目進(jìn)行整體的架構(gòu)設(shè)計(jì),此時(shí)保證做到各個(gè)功能模塊分工明確,類(lèi)之間任務(wù)劃分清楚,以避免后續(xù)設(shè)計(jì)遇到無(wú)法擴(kuò)展的瓶頸。3.開(kāi)發(fā)一套界面友好,操作簡(jiǎn)便,功能易于擴(kuò)充,代碼可高度重用的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)。主要參考文獻(xiàn):1 林杰斌,劉明德著,mis管理信息系統(tǒng) 第1版,清華大學(xué)出版社, 2006年5月2 孫衛(wèi)琴等,精通struts:基于mvc的java web設(shè)計(jì)與開(kāi)發(fā) 第2版,電子工業(yè)出版社,2004年8月3 普雷斯曼等編著,鄭人杰等譯,軟件工程:實(shí)踐者的研究方法 第7版,機(jī)械工業(yè)出版社,2007年1月4 james r.groff,paul n.weinbery著,sql完全手冊(cè) 第二版,電子工業(yè)出版社,2006年6月5 bruce eckel著,java編程思想 第3版,機(jī)械工業(yè)出版社,2005年5月河南大學(xué)2007屆畢業(yè)設(shè)計(jì)(論文、創(chuàng)作)中期檢查表學(xué)院名稱:計(jì)算機(jī)與信息工程學(xué)院題目名稱基于struts的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)學(xué)號(hào)03023236所學(xué)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師姓 名陳志國(guó)周星姓名王培一、畢業(yè)設(shè)計(jì)進(jìn)展情況已經(jīng)完成了項(xiàng)目的可行性分析、需求分析和各種系統(tǒng)設(shè)計(jì)任務(wù)(包括概要設(shè)計(jì)、系統(tǒng)功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和詳細(xì)設(shè)計(jì)),在此基礎(chǔ)之上對(duì)項(xiàng)目進(jìn)行了架構(gòu)設(shè)計(jì)?,F(xiàn)在已經(jīng)完成了部分代碼的實(shí)現(xiàn)。二、存在問(wèn)題架構(gòu)設(shè)計(jì)不夠合理,導(dǎo)致頁(yè)面跳轉(zhuǎn)邏輯不清楚,功能擴(kuò)充不易實(shí)現(xiàn)??刂屏鞒贪盐詹粔蚝?。三、下一階段的研究方法或設(shè)計(jì)思路研究方法:自頂向下逐步求精。設(shè)計(jì)思路:先完成各個(gè)模塊的設(shè)計(jì),最后將模塊整合。四、指導(dǎo)教師對(duì)學(xué)生設(shè)計(jì)(論文、創(chuàng)作)進(jìn)展等方面的評(píng)語(yǔ) 從目前的設(shè)計(jì)任務(wù)來(lái)看,進(jìn)度稍微有點(diǎn)快,前期設(shè)計(jì)投入時(shí)間不夠,希望加強(qiáng)這方面的工作。 指導(dǎo)教師簽字: 2007年4月10日 河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)綜合成績(jī)表(一)學(xué)院名稱:計(jì)算機(jī)與信息工程學(xué)院學(xué) 號(hào)03023236姓名王培專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師陳志國(guó)(教授)、周星(助教)綜合得分87論文題目基于struts的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)指導(dǎo)教師評(píng)語(yǔ)及得分指導(dǎo)教師評(píng)語(yǔ)該生畢業(yè)論文書(shū)寫(xiě)格式規(guī)范,對(duì)所做工作表述清晰,完成的系統(tǒng)功能較完善,但功能擴(kuò)充能力不夠。評(píng)分項(xiàng)目分值指導(dǎo)教師對(duì)畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)評(píng)分撰寫(xiě)開(kāi)題報(bào)告、文獻(xiàn)綜述15調(diào)查研究查閱整理資料10學(xué)習(xí)態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達(dá)10論文(設(shè)計(jì)、創(chuàng)作)質(zhì)量和創(chuàng)新意識(shí)55合計(jì)100得分128975086指導(dǎo)教師簽名 2007年5月20日評(píng)閱教師評(píng)語(yǔ)及評(píng)分評(píng)閱教師評(píng)語(yǔ)該生論文文字表達(dá)較清晰,能夠準(zhǔn)確表達(dá)系統(tǒng)的功能,已達(dá)到本科畢業(yè)論文的要求,所開(kāi)發(fā)的項(xiàng)目功能較完善。評(píng)分項(xiàng)目分值評(píng)閱畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)評(píng)分撰寫(xiě)開(kāi)題報(bào)告、文獻(xiàn)綜述15調(diào)查研究查閱整理資料10學(xué)習(xí)態(tài)度與規(guī)范要求10數(shù)據(jù)處理、文字表達(dá)10論文(設(shè)計(jì)、創(chuàng)作)質(zhì)量和創(chuàng)新意識(shí)55合計(jì)100得分11 9 9 8 50 87評(píng)閱教師簽名 2007年5月21日此表由教師填寫(xiě)河南大學(xué)2007屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)綜合成績(jī)表(二)學(xué)號(hào)03023236姓名王培所在學(xué)院計(jì)算機(jī)與信息工程學(xué)院答辯委員會(huì)評(píng)語(yǔ)及評(píng)分答辯委員會(huì)評(píng)語(yǔ)該生在答辯過(guò)程中,表述清晰,語(yǔ)言簡(jiǎn)練,回答問(wèn)題較準(zhǔn)確,專業(yè)術(shù)語(yǔ)用詞較準(zhǔn)確,具有一定的專業(yè)功底,達(dá)到了本科畢業(yè)生的水平。 答辯委員簽字: 2007年5月26日評(píng)分 項(xiàng)目 分值論文答辯小組評(píng)分答辯情況論文質(zhì)量合計(jì)(100)內(nèi)容表達(dá)情況(15)答辯問(wèn)題情況(25)規(guī)范要求與文字表達(dá)(20)論文(設(shè)計(jì)、創(chuàng)作)質(zhì)量和創(chuàng)新意識(shí)(40)得分 1223 173587答辯委員會(huì)主任簽字: 2007年5月26日畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)成績(jī)綜合評(píng)定: 87 分綜合評(píng)定等級(jí): 良備注:一、論文的質(zhì)量評(píng)定,應(yīng)包括對(duì)論文的語(yǔ)言表達(dá)、結(jié)構(gòu)層次、邏輯性理論分析、設(shè)計(jì)計(jì)算、分析和概括能力及在論文中是否有新的見(jiàn)解或創(chuàng)新性成果等做出評(píng)價(jià)。從論文來(lái)看學(xué)生掌握本專業(yè)基礎(chǔ)理論和基本技能的程度。二、成績(jī)?cè)u(píng)定采用結(jié)構(gòu)評(píng)分法,即由指導(dǎo)教師、評(píng)閱教師和答辯委員會(huì)分別給分(以百分計(jì)),評(píng)閱教師得分乘以20%加上指導(dǎo)教師得分乘以20%加上答辯委員會(huì)得分乘以60%即綜合成績(jī)。評(píng)估等級(jí)按優(yōu)、良、中、差劃分,優(yōu)90-100分;良76-89分;中60-75分;差60分以下。三、評(píng)分由專業(yè)教研室或院組織專門(mén)評(píng)分小組(不少于5人),根據(jù)指導(dǎo)教師和答辯委員會(huì)意見(jiàn)決定每個(gè)學(xué)生的分?jǐn)?shù),在有爭(zhēng)議時(shí),應(yīng)由答辯委員會(huì)進(jìn)行表決。四、畢業(yè)論文答辯工作結(jié)束后,各院應(yīng)于6月20日前向教務(wù)處推薦優(yōu)秀論文以匯編成冊(cè),推薦的篇數(shù)為按當(dāng)年學(xué)院畢業(yè)生人數(shù)的1.5%篇。五、各院亦可根據(jù)本專業(yè)的不同情況,制定相應(yīng)的具有自己特色的內(nèi)容。須報(bào)教務(wù)處備案。六、書(shū)寫(xiě)格式要求:1、目錄;2、內(nèi)容提要須書(shū)寫(xiě)200左右漢字,開(kāi)題報(bào)告(文科除外)的內(nèi)容要根據(jù)不同專業(yè)的課題任務(wù)要求,闡述查閱文獻(xiàn)、文案論證、解題思路、工作步驟等;3、正文(含引言、結(jié)論等);4、參考文獻(xiàn)(或資料)河南大學(xué)本科生畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)承諾書(shū)論文題目基于struts的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)姓 名王培所學(xué)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號(hào)03023236完成時(shí)間2007年5 月20日指導(dǎo)教師姓名職稱陳志國(guó)(教授)、周星(助教)承諾內(nèi)容:1、本畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)是學(xué)生 王培 在導(dǎo)師 陳志國(guó) 、 周星 的指導(dǎo)下獨(dú)立完成的,沒(méi)有抄襲、剽竊他人成果,沒(méi)有請(qǐng)人代做,若在畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)的各種檢查、評(píng)比中被發(fā)現(xiàn)有以上行為,愿按學(xué)校有關(guān)規(guī)定接受處理,并承擔(dān)相應(yīng)的法律責(zé)任。2、學(xué)校有權(quán)保留并向上級(jí)有關(guān)部門(mén)送交本畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)的復(fù)印件和磁盤(pán)。備注:學(xué)生簽名: 指導(dǎo)教師簽名: 2007年5月20日 2007年5月20日說(shuō)明:學(xué)生畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)如有保密等要求,請(qǐng)?jiān)趥渥⒅忻鞔_,承諾內(nèi)容第2條即以備注為準(zhǔn)。目 錄摘 要iabstractii第1章 緒論11.1 管理信息系統(tǒng)簡(jiǎn)介11.2 開(kāi)發(fā)背景及意義11.3 開(kāi)發(fā)工具簡(jiǎn)介21.4 開(kāi)發(fā)框架及應(yīng)用技術(shù)介紹21.4.1 開(kāi)發(fā)框架21.4.2 開(kāi)發(fā)中所用技術(shù)31.4.3 mvc設(shè)計(jì)模式3第2章 系統(tǒng)需求分析52.1 編寫(xiě)目的52.2 項(xiàng)目背景及開(kāi)發(fā)目標(biāo)52.3 系統(tǒng)簡(jiǎn)介52.4 系統(tǒng)功能分析62.5 數(shù)據(jù)庫(kù)需求分析6第3章 系統(tǒng)設(shè)計(jì)83.1 概要設(shè)計(jì)83.2 數(shù)據(jù)庫(kù)設(shè)計(jì)93.2.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì)93.2.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)103.3 系統(tǒng)詳細(xì)設(shè)計(jì)123.3.1 符號(hào)代碼設(shè)計(jì)123.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)123.3.3 算法設(shè)計(jì)13第4章 系統(tǒng)實(shí)現(xiàn)144.1 系統(tǒng)中對(duì)象的創(chuàng)建144.2 系統(tǒng)功能模塊實(shí)現(xiàn)144.2.1 首頁(yè)訪問(wèn)的實(shí)現(xiàn)144.2.2 用戶登錄模塊功能實(shí)現(xiàn)164.2.3 家長(zhǎng)用戶模塊功能實(shí)現(xiàn)174.2.4 班主任用戶模塊功能實(shí)現(xiàn)184.2.5 管理員模塊功能實(shí)現(xiàn)204.3 系統(tǒng)安全性的實(shí)現(xiàn)22結(jié) 論24參考文獻(xiàn)25河南大學(xué)本科畢業(yè)生學(xué)士學(xué)位論文摘 要隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,各種傳統(tǒng)的信息管理方式正不斷被依助于計(jì)算機(jī)進(jìn)行信息管理的現(xiàn)代管理方式所取代,而學(xué)校和家長(zhǎng)之間的聯(lián)系實(shí)際上也是一種信息管理,但由于各種原因,它依舊采用傳統(tǒng)的方式,沒(méi)有走向信息化。學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)的開(kāi)發(fā)可以解決傳統(tǒng)方式帶來(lái)的耗時(shí)、滯后、耗財(cái)、耗人力等問(wèn)題,方便家長(zhǎng)與學(xué)校之間進(jìn)行聯(lián)系,提高學(xué)校對(duì)學(xué)生信息的管理效率,減輕教師的工作量。本論文通過(guò)對(duì)系統(tǒng)的需求分析、概要設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等過(guò)程的描述,論述了開(kāi)發(fā)一個(gè)管理信息系統(tǒng)(management information system)mis的基本流程。本系統(tǒng)使用java開(kāi)發(fā),集成開(kāi)發(fā)環(huán)境選用了java 2 enterprise edition,開(kāi)發(fā)框架選用了基于j2ee 的struts框架,以servlet和jsp為主要技術(shù)。關(guān)鍵詞 管理信息系統(tǒng),面向?qū)ο蠹夹g(shù),mvc三層設(shè)計(jì)模式,javabeansabstractwith the rapid development of computer technology, traditional methods of information managements are being unceasingly substituted by the modern management approach which manages information by computers. in fact, the contact mode between school and guardians is also a kind of information management form. but because of various reasons, it still uses the traditional mode and has not moved towards the information time yet.the development of the connection system is to solve problems brought by the traditional mode such as time,money,labor consuming and so on . with the system, parents and school can connect with each other conveniently.and, it can improve the efficiency of student management and relieve the burden of teachers work. this paper elaborats the basic flow of mis supported by the description of demand analysis, outline design, database design, system realization and so on.the system takes java as its development language, j2ee as integration development environment, struts which based on j2ee as the developing framework, servlet and jsp as the developing technology.keywords management information system, object-oriented technology, mvc design pattern, javabeans 第 24 頁(yè)第1章 緒論管理信息系統(tǒng)是現(xiàn)代企業(yè)、事業(yè)單位提高自身管理效率,加快本單位信息檢索和加強(qiáng)信息管理能力必須倚重的軟件系統(tǒng)。管理信息系統(tǒng)的表現(xiàn)形式多種多樣,但其基本目的、功能和設(shè)計(jì)原則都是相通的。1.1 管理信息系統(tǒng)簡(jiǎn)介管理信息系統(tǒng)的主要功能包括:1.數(shù)據(jù)處理:包括數(shù)據(jù)收集和輸入、數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)加工處理和輸出。它準(zhǔn)備和提供統(tǒng)一格式的信息,使各種統(tǒng)計(jì)工作簡(jiǎn)化,使信息成本最低。2.預(yù)測(cè)功能:運(yùn)用現(xiàn)代數(shù)學(xué)方法、統(tǒng)計(jì)方法或模擬方法,根據(jù)過(guò)去的數(shù)據(jù)預(yù)測(cè)未來(lái)的情況。3.計(jì)劃功能:根據(jù)企業(yè)提供的約束條件,合理地安排各職能部門(mén)的計(jì)劃,按照不同的管理層,提供相應(yīng)的計(jì)劃報(bào)告。1.2 開(kāi)發(fā)背景及意義目前,對(duì)我國(guó)中小學(xué)校而言,學(xué)校和家長(zhǎng)之間聯(lián)系不密切,甚至于聯(lián)系脫節(jié)。學(xué)校和家長(zhǎng)之間的聯(lián)系有的還停留在家長(zhǎng)去學(xué)校開(kāi)家長(zhǎng)會(huì),學(xué)校派教師到學(xué)生家中進(jìn)行家訪的階段,這樣的方式已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代這種傳統(tǒng)的管理方法必然被以計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。開(kāi)發(fā)這套學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)用于家長(zhǎng)了解學(xué)生在學(xué)校期間的學(xué)習(xí)情況,家長(zhǎng)可以查詢孩子的學(xué)習(xí)成績(jī)(期末和平時(shí)單元測(cè)驗(yàn))、到校和放學(xué)的時(shí)間、學(xué)校要求家長(zhǎng)配合的有關(guān)事項(xiàng)(公告);同時(shí)學(xué)校也可以使用本系統(tǒng)發(fā)布信息,查看家長(zhǎng)對(duì)學(xué)校工作的反饋意見(jiàn),并在一定程度上減輕了學(xué)校管理部門(mén)的工作(如學(xué)生成績(jī)排名、成績(jī)分析等)。1.3 開(kāi)發(fā)工具簡(jiǎn)介選擇一套合適的開(kāi)發(fā)工具是順利完成項(xiàng)目開(kāi)發(fā)的重要條件,在本系統(tǒng)的開(kāi)發(fā)中,所用到的工具軟件是eclipse java 編輯器、photoshop 圖形處理軟件、sql lserver 2000 數(shù)據(jù)庫(kù)以及java語(yǔ)言。其中,eclipse是一個(gè)開(kāi)放源代碼的、基于java的整合型可擴(kuò)展開(kāi)發(fā)平臺(tái),也是目前最著名的開(kāi)源項(xiàng)目之一。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括java開(kāi)發(fā)工具(java development tools,jdt)。其未來(lái)的目標(biāo)不僅僅是成為專門(mén)開(kāi)發(fā)java程序的ide環(huán)境,而是根據(jù)eclipse的體系結(jié)構(gòu),通過(guò)開(kāi)發(fā)插件,它能擴(kuò)展到任何語(yǔ)言的開(kāi)發(fā),甚至能成為圖片繪制的工具。eclipse是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由eclipse項(xiàng)目、eclipse工具項(xiàng)目和eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成-eclipse platform、jdt、cdt和pde。jdt支持java開(kāi)發(fā)、cdt支持c開(kāi)發(fā)、pde用來(lái)支持插件開(kāi)發(fā),eclipse platform則是一個(gè)開(kāi)放的可擴(kuò)展ide,提供了一個(gè)通用的開(kāi)發(fā)平臺(tái),它提供建造塊和構(gòu)造并運(yùn)行集成軟件開(kāi)發(fā)工具的基礎(chǔ)。1.4 開(kāi)發(fā)框架及應(yīng)用技術(shù)介紹目前,各種軟件公司林立,軟件公司之間的競(jìng)爭(zhēng)日趨激烈,要想在這樣的市場(chǎng)上占有一席之地,就必須提高自己軟件開(kāi)發(fā)的速度,降低開(kāi)發(fā)周期,提高軟件產(chǎn)品的可靠性。此時(shí),好的技術(shù)、框架的選用就顯得特別重要了。1.4.1 開(kāi)發(fā)框架本系統(tǒng)在開(kāi)發(fā)過(guò)程中采用了struts開(kāi)發(fā)框架。所謂struts開(kāi)發(fā)框架,是由一系列規(guī)則定義的一個(gè)程序開(kāi)發(fā)模板,可應(yīng)用于web應(yīng)用程序的開(kāi)發(fā)。在web應(yīng)用中恰到好處的使用struts,可節(jié)省從頭開(kāi)始設(shè)計(jì)框架的時(shí)間,使得開(kāi)發(fā)人員可以把精力集中在如何解決實(shí)際業(yè)務(wù)問(wèn)題上。1.4.2 開(kāi)發(fā)中所用技術(shù)java web應(yīng)用的核心技術(shù)是java server page 和servlet。此外,開(kāi)發(fā)一個(gè)完整的java web應(yīng)用還涉及以下概念及技術(shù):1.javabeans 組件2.ejb組件3.xml4.web服務(wù)器和應(yīng)用服務(wù)器1.4.3 mvc設(shè)計(jì)模式mvc英文即model-view-controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照model、view、controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層模型層、視圖層、控制層。視圖(view)代表用戶交互界面,對(duì)于web應(yīng)用來(lái)說(shuō),可以概括為html界面,但有可能為xhtml、xml和applet。業(yè)務(wù)流程的處理交予模型(model)處理。模型(model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是mvc最主要的核心。目前流行的ejb模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開(kāi)發(fā)者來(lái)說(shuō),就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。mvc設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來(lái),抽取的層次很重要,這也是判斷開(kāi)發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。mvc并沒(méi)有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性??捎脤?duì)象編程來(lái)做比喻,mvc定義了一個(gè)頂級(jí)類(lèi),告訴它的子類(lèi)你只能做這些,但沒(méi)法限制你能做這些。這點(diǎn)對(duì)編程開(kāi)發(fā)人員非常重要??刂?controller)可以理解為從用戶接收請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后, 并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型。第2章 系統(tǒng)需求分析需求分析從狹義上講,最直接的是用戶對(duì)目標(biāo)系統(tǒng)的需求,即用戶在信息管理中對(duì)應(yīng)用系統(tǒng)所產(chǎn)生的各種各樣的和可能的需要,這種需要是對(duì)應(yīng)用系統(tǒng)開(kāi)發(fā)的定位和最基本的立足點(diǎn),這種定位不應(yīng)該局限于目前的需要,還應(yīng)該有一個(gè)長(zhǎng)遠(yuǎn)需求的預(yù)測(cè),以盡可能提高系統(tǒng)應(yīng)用的生命周期。2.1 編寫(xiě)目的在對(duì)學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)軟件市場(chǎng)做了前期調(diào)查,同時(shí)與多位軟件使用者進(jìn)行全面深入地探討和分析之后,完成了系統(tǒng)需求分析。在需求分析中對(duì)學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)軟件做了全面細(xì)致的分析,明確所要開(kāi)發(fā)的軟件應(yīng)具有的功能、性能與界面,使系統(tǒng)分析人員及軟件開(kāi)發(fā)人員能清楚地了解用戶的需求,并在此基礎(chǔ)上進(jìn)一步提出概要設(shè)計(jì)說(shuō)明書(shū)和完成后續(xù)設(shè)計(jì)與開(kāi)發(fā)工作。該分析的預(yù)期讀者為客戶、業(yè)務(wù)或需求分析人員、測(cè)試人員、用戶文檔編寫(xiě)者、項(xiàng)目管理人員。2.2 項(xiàng)目背景及開(kāi)發(fā)目標(biāo)a)背景:受櫻開(kāi)中學(xué)委托,開(kāi)發(fā)櫻開(kāi)學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)。b)目標(biāo):開(kāi)發(fā)一套性能穩(wěn)定,界面友好的學(xué)校家長(zhǎng)聯(lián)系系統(tǒng)。2.3 系統(tǒng)簡(jiǎn)介本系統(tǒng)用于家長(zhǎng)進(jìn)行學(xué)生在學(xué)校的學(xué)習(xí)情況、學(xué)習(xí)成績(jī)(期末和平時(shí)單元測(cè)驗(yàn))、到校和放學(xué)的時(shí)間查詢以及學(xué)校要求家長(zhǎng)配合的有關(guān)事項(xiàng)(公告)的查詢;同時(shí)學(xué)校也可以用本系統(tǒng)了解學(xué)生在校的活動(dòng)和表現(xiàn),以及家長(zhǎng)對(duì)學(xué)校工作的意見(jiàn)、建議,以減輕學(xué)校管理部門(mén)的工作(如學(xué)生成績(jī)排名,成績(jī)分析等)。2.4 系統(tǒng)功能分析本系統(tǒng)有三種不同角色的用戶。這三個(gè)角色分別是:家長(zhǎng)、班主任以及系統(tǒng)管理員。他們的角色、權(quán)限不同,因而所要執(zhí)行的操作也有很大差別。家長(zhǎng)用戶權(quán)限最低。他僅能訪問(wèn)自己孩子的信息、學(xué)校公告,并可以對(duì)學(xué)校工作提出意見(jiàn)等。由此確定其對(duì)應(yīng)的操作:學(xué)生成績(jī)、在校時(shí)間查詢,學(xué)校新聞瀏覽,發(fā)表意見(jiàn)等。而對(duì)于教師來(lái)說(shuō),他可以執(zhí)行的功能操作有:學(xué)生信息的錄入、修改、刪除等操作(包括姓名、家長(zhǎng)號(hào)、離、到校時(shí)間等);成績(jī)信息的錄入、修改、刪除等操作(包括成績(jī)、時(shí)段、科目等);查看花名冊(cè)、查看班級(jí)成績(jī)列表等。系統(tǒng)管理員所要執(zhí)行的功能操作有:公告信息管理、用戶信息管理兩大部分。其中公告信息管理又包括:學(xué)校公告管理,公告信息的刪除、更新、修改(包括公告日期、內(nèi)容、主題等),家長(zhǎng)意見(jiàn)管理,家長(zhǎng)意見(jiàn)的刪除、查看等。用戶管理是指管理員有權(quán)對(duì)比其權(quán)限低的用戶進(jìn)行操作。管理員用戶可以指定、刪除班主任用戶,可以分配、刪除其他管理員用戶等。在此基礎(chǔ)上,有三個(gè)大的功能模塊。它們分別為不同的用戶服務(wù),共同構(gòu)成整個(gè)系統(tǒng)的功能框架。2.5 數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)需求需要從三個(gè)方面進(jìn)行分析,分別為信息需求,信息處理要求,設(shè)計(jì)需要遵循的準(zhǔn)則。首先是信息需求。它是指用戶需要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì),由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫(kù)中需要存儲(chǔ)哪些數(shù)據(jù)。本系統(tǒng)中有三類(lèi)基本用戶:家長(zhǎng)、教師、管理員。家長(zhǎng)從數(shù)據(jù)庫(kù)中獲得子女的在校信息,包括在校時(shí)間,成績(jī)查詢,學(xué)校公告(這些信息家長(zhǎng)僅僅有查詢的權(quán)限,而不能修改、刪除、更新)以及其他家長(zhǎng)發(fā)表的建議、評(píng)論等。教師需要從數(shù)據(jù)庫(kù)中提取班級(jí)學(xué)生信息,班級(jí)成績(jī)信息,可以錄入、修改、刪除、更新學(xué)生信息和班級(jí)成績(jī)等。管理員需要從數(shù)據(jù)庫(kù)中獲取學(xué)校公告信息,家長(zhǎng)意見(jiàn),用戶信息等。其次是處理要求。家長(zhǎng)用戶所要完成的處理:學(xué)生在校信息查詢,學(xué)生成績(jī)查詢,學(xué)校公告信息查詢,發(fā)表意見(jiàn)等。班主任用戶所要完成的處理:學(xué)生信息錄入、修改、更新、刪除、查詢等;學(xué)生成績(jī)信息的錄入、修改、更新、刪除、查詢等。系統(tǒng)管理員所要完成的操作:學(xué)校公告信息的更新、刪除、插入、查詢等;家長(zhǎng)信息的刪除、查詢等。班主任、管理員用戶的分配、刪除、信息修改等。最后在進(jìn)行表設(shè)計(jì)時(shí)要注意主鍵的安排,表之間的聯(lián)系,實(shí)體范圍的確定等,以免造成數(shù)據(jù)庫(kù)的大量冗余,從而保證了實(shí)體完整性和參照完整性。第3章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)是在前期需求分析的基礎(chǔ)上提出的。它將著重對(duì)系統(tǒng)漸進(jìn)的實(shí)現(xiàn)過(guò)程進(jìn)行論述。這是一個(gè)重要的過(guò)程,系統(tǒng)能否實(shí)現(xiàn),系統(tǒng)軟件產(chǎn)品質(zhì)量的好壞都與此有關(guān),必須把握好設(shè)計(jì)的方法、流程甚至于細(xì)節(jié)。3.1 概要設(shè)計(jì)概要設(shè)計(jì)是對(duì)系統(tǒng)在最高抽象層上的設(shè)計(jì),它不應(yīng)關(guān)注于系統(tǒng)功能的實(shí)現(xiàn)細(xì)節(jié)。下面給出概要設(shè)計(jì)的過(guò)程和結(jié)果。首先:對(duì)系統(tǒng)進(jìn)行模塊劃分,設(shè)計(jì)每個(gè)模塊涉及的信息處理。教師功能模塊:a)學(xué)生資料的輸入。包括學(xué)號(hào)、姓名、性別、到校時(shí)間、離校時(shí)間、家庭編號(hào)等。b)成績(jī)錄入。包括課程號(hào)、成績(jī)、成績(jī)所屬時(shí)段等。c)課程設(shè)置。包括課程號(hào)、課程名等。d)家長(zhǎng)信息錄入。包括賬戶名、密碼、姓名、性別、家庭住址、聯(lián)系電話等。該信息錄入是通過(guò)家長(zhǎng)用戶注冊(cè)的方式實(shí)現(xiàn)的。家長(zhǎng)功能模塊:a)學(xué)生信息查詢。包括孩子到校時(shí)間查詢、離校時(shí)間查詢等。b)意見(jiàn)管理。包括查看意見(jiàn)薄、留言等。系統(tǒng)管理功能模塊:a)用戶管理。包括分配班主任用戶、分配系統(tǒng)管理員用戶、刪除班主任用戶、刪除系統(tǒng)管理員用戶等。注:班主任用戶和系統(tǒng)管理員用戶是不能自行隨意注冊(cè)的,他們是具有一定權(quán)限的用戶,須由現(xiàn)有管理員給予分配。b)信息管理。包括學(xué)校公告信息管理、家長(zhǎng)意見(jiàn)管理。學(xué)校公告信息管理包括公告信息的刪除、增加、更新、修改等,管理員需要實(shí)時(shí)的發(fā)布學(xué)校公告信息。而家長(zhǎng)意見(jiàn)管理功能又包括了瀏覽家長(zhǎng)意見(jiàn)板、刪除家長(zhǎng)留言等。其次,給出概要設(shè)計(jì)的結(jié)果,如圖3-1所示。圖3-1 系統(tǒng)模塊圖3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是對(duì)系統(tǒng)所需要的一系列數(shù)據(jù)在經(jīng)過(guò)分析之后,進(jìn)行實(shí)體歸納、設(shè)計(jì)。其目的在于在數(shù)據(jù)庫(kù)操作時(shí)能盡可能的減少冗余,提高數(shù)據(jù)完整性。3.2.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)用e-r圖來(lái)描述。下圖3-2給出了本系統(tǒng)中部分e-r圖。圖3-2 部分e-r圖實(shí)體關(guān)系圖描述了數(shù)據(jù)庫(kù)中各種實(shí)體的相互關(guān)系。從圖中可以確定家長(zhǎng)、學(xué)生之間,學(xué)生、班主任之間,留言、家長(zhǎng)之間存在的關(guān)系。這里只畫(huà)出了部分的實(shí)體關(guān)系模型。正是依賴于這些關(guān)系,才能夠把不同的表信息連接起來(lái),在操作中保證實(shí)體的完整性,可以進(jìn)行多表間的級(jí)聯(lián)操作等。3.2.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)上文中提到的多個(gè)模塊在實(shí)現(xiàn)過(guò)程中都與數(shù)據(jù)庫(kù)有著密切的聯(lián)系,因此數(shù)據(jù)庫(kù)的設(shè)計(jì)在本系統(tǒng)的開(kāi)發(fā)過(guò)程中占有重要地位。以下是本系統(tǒng)中用到的部分表。學(xué)生信息表如表3-1所示。表3-1 stuinfo表 字段名字段類(lèi)型字段長(zhǎng)度是否主鍵意義stuidnvchar10是唯一標(biāo)識(shí)學(xué)生stunamenvchar16否姓名cometimedatetime8否到校時(shí)間gotimedatetime8否離校時(shí)間homeidnvchar15否家庭號(hào)teacheridnvchar15否教師號(hào)對(duì)于表3-1:其中stuid為主鍵,用來(lái)唯一的標(biāo)識(shí)一名學(xué)生。而homeid是家庭編號(hào),它用來(lái)把每個(gè)學(xué)生和其家長(zhǎng)對(duì)應(yīng)起來(lái)。家長(zhǎng)可用此號(hào)訪問(wèn)到自己孩子的信息。teacherid是班主任的編號(hào),用于聯(lián)系學(xué)生表,從而可以對(duì)班級(jí)學(xué)生信息進(jìn)行查詢、修改、刪除等操作。用戶信息表如表3-2所示。表3-2 userinfo表字段名字段類(lèi)型字段長(zhǎng)度是否主鍵意義usertypenvchar10否表示用戶類(lèi)別useridnvchar20是唯一標(biāo)識(shí)用戶passwordnvchar20否密碼usernamenvchar20否用戶名usersexchar2否用戶性別對(duì)于表3-2:userid用來(lái)唯一標(biāo)識(shí)一名用戶,usertype用來(lái)區(qū)分不同用戶,如01表示管理員,02表示班主任用戶,03表示家長(zhǎng)用戶。對(duì)于后兩種用戶,userid即是連接兩表的homeid或teacherid。留言信息表如表3-3所示。表3-3 messageinfo表字段名字段類(lèi)型字段長(zhǎng)度是否主鍵意義messageidint4key標(biāo)識(shí)一條留言messagetypenvchar5否公告類(lèi)別useridnvchar20否留言人titlenvchar50否 標(biāo)題contentnvchar500否內(nèi)容datenvchardatetime否日期對(duì)于表3-3:messageid是主鍵,自動(dòng)增量,用于唯一的標(biāo)識(shí)一條信息(學(xué)校公告或家長(zhǎng)意見(jiàn))。messagetype區(qū)分學(xué)校公告和家長(zhǎng)意見(jiàn),如01表示公告,02表示意見(jiàn)。userid記錄誰(shuí)發(fā)表了留言。此屬性可用于連接表3-2和表3-3。由圖3-2的e-r圖導(dǎo)出的部分?jǐn)?shù)據(jù)庫(kù)表關(guān)系圖如圖3-3所示。圖3-3 數(shù)據(jù)庫(kù)部分表關(guān)系 3.3 系統(tǒng)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)是對(duì)概要設(shè)計(jì)確定的軟件和數(shù)據(jù)的總體框架的進(jìn)一步精化,精化成軟件的算法和數(shù)據(jù)結(jié)構(gòu)等。3.3.1 符號(hào)代碼設(shè)計(jì)代碼是代表事物的名稱、屬性、狀態(tài)等的符號(hào),為了便于計(jì)算機(jī)處理,一般用數(shù)字、字母或它們的組合來(lái)表示。它為事物提供一個(gè)概要而不模糊的認(rèn)定,便于數(shù)據(jù)的存儲(chǔ)和檢索。使用代碼可以提高處理效率和精度,及數(shù)據(jù)的全局一致性。代碼的編碼方法有:順序碼、區(qū)間碼、助記碼。系統(tǒng)中用到的有:順序碼:01 管理員、02 班主任、03 家長(zhǎng)。助記碼:userexists代表用戶名存在,stuinfoinsert代表學(xué)生信息錄入等。3.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)在此以班主任模塊為例進(jìn)行說(shuō)明。為了方便班主任查看班級(jí)學(xué)生信息和學(xué)生成績(jī),分別使用了二維數(shù)組來(lái)存儲(chǔ)這些信息。studentinfoxy中存放班級(jí)學(xué)生信息。其中x為班級(jí)人數(shù),y為每個(gè)學(xué)生對(duì)應(yīng)的屬性個(gè)數(shù)。3.3.3 算法設(shè)計(jì)為了控制程序的流向,避免大量的重復(fù)性操作,對(duì)程序進(jìn)行一些算法設(shè)計(jì)。下面給出對(duì)用戶登錄中的轉(zhuǎn)向和取數(shù)據(jù)庫(kù)表的信息的方法的算法設(shè)計(jì),設(shè)計(jì)語(yǔ)言選用pdl。1.在用戶登錄時(shí),不同用戶需要登錄到不同的工作頁(yè)面中。為此做以下設(shè)計(jì)。case 用戶類(lèi)別when 管理員 select 服務(wù)器端驗(yàn)證,如果通過(guò)則把此用戶的登錄標(biāo)志性信息放在其session對(duì)象中,用于系統(tǒng)安全性控制。具體實(shí)現(xiàn)方法將在4.3節(jié)給出。然后轉(zhuǎn)向管理員工作頁(yè)面。when 班主任 select 除做上述操作之外,還把學(xué)生信息從數(shù)據(jù)庫(kù)中取出,以備班主任查詢,其目的在于提高用戶訪問(wèn)站點(diǎn)的速度。然后轉(zhuǎn)向班主任工作頁(yè)面。when 家長(zhǎng) select 操作實(shí)現(xiàn)類(lèi)似班主任。然后轉(zhuǎn)向家長(zhǎng)工作頁(yè)面。default:登錄失敗。endcase2.取數(shù)據(jù)庫(kù)表信息。do while 數(shù)據(jù)庫(kù)表中還有符合條件的信息 將表中信息封裝成相應(yīng)的javabeans,以備用戶訪問(wèn)。endwhile此算法設(shè)計(jì)為取各種表中信息,取數(shù)據(jù)時(shí)不區(qū)分表的類(lèi)別,待取出信息后再封裝成不同的javabeans,比如messagebean等,以此避免重寫(xiě)大量的取表信息的代碼。第4章 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)側(cè)重于系統(tǒng)功能的代碼實(shí)現(xiàn)。在本系統(tǒng)實(shí)現(xiàn)的過(guò)程中充分應(yīng)用了struts框架下的mvc設(shè)計(jì)思想。在java語(yǔ)言基礎(chǔ)上的web應(yīng)用開(kāi)發(fā)因?yàn)閠omcat 這一application server 的應(yīng)用,而省去了大量的關(guān)于用戶session管理的手動(dòng)實(shí)現(xiàn)。4.1 系統(tǒng)中對(duì)象的創(chuàng)建本系統(tǒng)的開(kāi)發(fā)中,依照struts框架的mvc設(shè)計(jì)思想,對(duì)系統(tǒng)中用到的對(duì)象做以下部署:繼承自actionservlet類(lèi)的類(lèi)用來(lái)進(jìn)行邏輯控制,即mvc中的controller。例如系統(tǒng)中的view.do,用于進(jìn)行用戶登錄時(shí)的轉(zhuǎn)向控制,不同的用戶將轉(zhuǎn)向不同的操作界面。jsp用來(lái)進(jìn)行客戶端顯示,即mvc中的view。而javabeans用來(lái)實(shí)現(xiàn)信息的模塊封裝。程序通過(guò)瀏覽器區(qū)分客戶,對(duì)于每個(gè)客戶,application server都將自動(dòng)創(chuàng)建一個(gè)session對(duì)象,一個(gè)用戶所需全局信息可置于其中(它其實(shí)是一個(gè)容器對(duì)象)用戶瀏覽器請(qǐng)求通過(guò)自動(dòng)創(chuàng)建的request傳送,而所有關(guān)乎數(shù)據(jù)庫(kù)的操作都封裝在sqlexcute類(lèi)中(自建類(lèi))。而各種經(jīng)過(guò)處理的信息都放在各種javabeans對(duì)象中,例如:學(xué)生信息放在studentbean中。所謂javabeans是有g(shù)etxxx(),setxxx()組成的java類(lèi),事實(shí)上是一種規(guī)則,以利于信息的訪問(wèn)。4.2 系統(tǒng)功能模塊實(shí)現(xiàn)在系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,依照設(shè)計(jì)的成果,選用具體的開(kāi)發(fā)語(yǔ)言、環(huán)境,進(jìn)行系統(tǒng)功能的代碼實(shí)現(xiàn)。4.2.1 首頁(yè)訪問(wèn)的實(shí)現(xiàn)用戶在訪問(wèn)站點(diǎn)時(shí),沒(méi)有直接發(fā)送jsp頁(yè)面請(qǐng)求,而是將請(qǐng)求發(fā)給了seveletaction,并由它來(lái)重定向頁(yè)面請(qǐng)求。這樣做的好處在于可以把java實(shí)現(xiàn)的數(shù)據(jù)操作放在jb中,有seveletaction將jsp轉(zhuǎn)向和數(shù)據(jù)操作結(jié)合起來(lái)。因?yàn)樵趈sp中直接引用java代碼進(jìn)行數(shù)據(jù)操作是不可取的。此時(shí)用戶請(qǐng)求的seveletaction中的代碼如下:arraylistalmb =new arraylist();sqlexcute.sqlconn();arraylistmessagelist=sqlexcute.getmessage(sql);sqlexcute.doclose();int length = messagelist.size();for(int i=length-1;ilength-3;i-)almb.add(messagelist.get(i);this.servlet.getservletcontext().setattribute(meslist,almb); return (mapping.findforward(viewgo);這段代碼放在一個(gè)繼承自actionservlet的類(lèi)中,此類(lèi)即是struts mvc 中的controller。它不做任何的數(shù)據(jù)處理,只是把用戶的請(qǐng)求和模型結(jié)合起來(lái)。數(shù)據(jù)庫(kù)訪問(wèn)的操作都放在自定義的sqlexcute類(lèi)中,以靜態(tài)方法的形式存在。而messagebean即是所謂的ejb,它是一種遵循了某些規(guī)則的java類(lèi)。從數(shù)據(jù)庫(kù)中取出的公告信息被封裝成messagebean的對(duì)象之后放入servletcontext中,以備請(qǐng)求頁(yè)面的用戶預(yù)覽。controller獲取這些信息,并定向到用戶請(qǐng)求的頁(yè)面。正是ejb所遵循的規(guī)則,使這些以bean存放的信息可以在頁(yè)面以簡(jiǎn)便的el語(yǔ)句輸出,如下代碼所示。 其中c:foreach是jsp的taglib,用于重用java代碼。效果如圖4-1所示。圖4-1 首頁(yè)界面4.2.2 用戶登錄模塊功能實(shí)現(xiàn)用戶登錄時(shí)需要向服務(wù)器提交登錄信息,而以什么形式提交這些信息才能最大限度的實(shí)現(xiàn)代碼的可重用性,struts也考慮到了這些。此時(shí)struts的taglib(標(biāo)簽)發(fā)揮了它完美的作用。標(biāo)簽定義一個(gè)用戶提交信息的表單,是它最初確定了要把表單提交到何處進(jìn)行處理。而要完全實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)導(dǎo)航,必須用到struts-config.xml,它是一個(gè)配置文件,真正把用戶提交的表單封裝成一個(gè)formbean的類(lèi)。這樣只需把該類(lèi)和要提交到的servletaction在此配置文件中做一個(gè)映射即可。不必重寫(xiě)formbean,只需通過(guò)多次映射便可多次使用該表單信息。下面代碼片斷為本系統(tǒng)中的一個(gè)映射。 此映射將loginform表單提交給login這樣一個(gè)servletaction類(lèi)。表單信息以動(dòng)態(tài)formbean的形式提交給login后,login調(diào)用sqlexcute數(shù)據(jù)庫(kù)的操作方法,判斷用戶類(lèi)別,用戶是否存在(不存在就定向到注冊(cè)頁(yè)面),密碼是否正確等。(這里值得一提的是所有不牽涉數(shù)據(jù)庫(kù)操作的客戶端驗(yàn)證均利用在jsp頁(yè)面進(jìn)行驗(yàn)證,如輸入長(zhǎng)度,格式等。)待這些服務(wù)器端驗(yàn)證成功時(shí),再把對(duì)于一個(gè)用戶來(lái)說(shuō)全程訪問(wèn)的數(shù)據(jù)信息通過(guò)sqlexcute類(lèi)提取出來(lái),封裝成相應(yīng)的javabeans減少數(shù)據(jù)庫(kù)連接次數(shù)(這種連接要占用大量資源)以備用戶訪問(wèn)。if(usertype.equals(03) if(juge=0).studentbean stuinfo=newstudentbean(sb.get(0),sb.get(1),sb.get(2),sb.get(3),sb.get(4),sb.get(5);stuinfo.parname = name;request.getsession().setattribute(scores,cb); request.getsession().setattribute(students,stuinfo);return (mapping.findforward(gopar);這段代碼中,首先判斷出該用戶是家長(zhǎng)用戶,然后判斷出用戶存在。再把從數(shù)據(jù)庫(kù)中取出的孩子信息封裝成studentbean對(duì)象,放入用戶session對(duì)象,最后跳轉(zhuǎn)到家長(zhǎng)工作的頁(yè)面。這是從用戶登錄中截取的一段代碼。在用戶登錄中要進(jìn)行用戶角色劃分,以便不同用戶進(jìn)入不同的工作模塊。這里是通過(guò)usertype這一屬性區(qū)分不同用戶。01表示管理員、02表示班主任、03表示家長(zhǎng)。4.2.3 家長(zhǎng)用戶模塊功能實(shí)現(xiàn)家長(zhǎng)用戶主要執(zhí)行查詢、留言等操作。1.孩子在校信息、成績(jī)查詢?cè)诘卿浿?,已?jīng)在view.do中把這些信息封裝到相應(yīng)的javabeans中,放入session對(duì)象中,此時(shí)可以直接在頁(yè)面用el語(yǔ)句輸出即可。2.家長(zhǎng)留言用于完成留言信息輸入。提交時(shí),以動(dòng)態(tài)frombean方式提交給相應(yīng)的繼承自action類(lèi)的類(lèi)。在此類(lèi)中判斷用戶是否登錄。如登錄則將留言信息以家長(zhǎng)用戶類(lèi)型插入到數(shù)據(jù)庫(kù)留言表中,同時(shí)將操作提示返回給用戶。3.刪除留言用戶選擇刪除留言操作后,頁(yè)面將此信息提交給相應(yīng)的action去處理,action調(diào)用數(shù)據(jù)庫(kù)操作的類(lèi)執(zhí)行刪除操作,并將操作結(jié)果的信息返回給頁(yè)面。4.2.4 班主任用戶模塊功能實(shí)現(xiàn)1.學(xué)生信息錄入班主任選擇學(xué)生信息錄入的操作,進(jìn)入信息錄入界面。根據(jù)界面提示輸入學(xué)生信息,以動(dòng)態(tài)formbean的形式提交給相應(yīng)的action類(lèi)。此類(lèi)調(diào)用數(shù)據(jù)庫(kù)操作類(lèi),判斷學(xué)生是否存在。如果不存在,則調(diào)用數(shù)據(jù)庫(kù)操作類(lèi)將學(xué)生信息插入學(xué)生信息表。操作后要返回操作結(jié)果信息給班主任頁(yè)面。動(dòng)態(tài)formbean是在struts-c

溫馨提示

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