jsp學(xué)生管理系統(tǒng) 帶論壇ssh論文_第1頁(yè)
jsp學(xué)生管理系統(tǒng) 帶論壇ssh論文_第2頁(yè)
jsp學(xué)生管理系統(tǒng) 帶論壇ssh論文_第3頁(yè)
jsp學(xué)生管理系統(tǒng) 帶論壇ssh論文_第4頁(yè)
jsp學(xué)生管理系統(tǒng) 帶論壇ssh論文_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE51-課題:系部:班級(jí):學(xué)號(hào):學(xué)生:指導(dǎo)教師: 裝訂交卷日期:2013年3月30日 畢業(yè)設(shè)計(jì)成績(jī)?cè)u(píng)定表指導(dǎo)教師評(píng)語(yǔ):(包含學(xué)生在畢業(yè)設(shè)計(jì)期間的表現(xiàn))成績(jī)(平時(shí)成績(jī)):指導(dǎo)教師簽名:年月日評(píng)閱教師評(píng)語(yǔ):(畢業(yè)設(shè)計(jì)與設(shè)計(jì)報(bào)告的質(zhì)量與水平)成績(jī)(評(píng)閱成績(jī)):評(píng)閱教師簽名:年月日答辯情況記錄:(不安排答辯的學(xué)生此表不填)答辯成績(jī):答辯委員會(huì)主任(或答辯教師小組組長(zhǎng))簽名:年月日總評(píng)成績(jī):裝訂順序:(1)封面、(2)畢業(yè)設(shè)計(jì)成績(jī)?cè)u(píng)定記錄、(3)畢業(yè)設(shè)計(jì)任務(wù)書(shū)、(4)目錄、(5)正文、(6)附錄、(7)參考文獻(xiàn)。打印要求:雙面打印;其中封面的反面為空白頁(yè);目錄的首頁(yè)、正文的首頁(yè)打印在右面;正文首頁(yè)的頁(yè)碼號(hào)從1開(kāi)始編碼。成績(jī)?cè)u(píng)定:總評(píng)成績(jī)以?xún)?yōu)秀、良好、中等、及格、不及格五級(jí)計(jì)分制計(jì)分,平時(shí)成績(jī)、評(píng)閱成績(jī)、答辯成績(jī)不受限制,但須統(tǒng)一。參加答辯學(xué)生的平時(shí)成績(jī)、評(píng)閱成績(jī)、答辯成績(jī)分別占總評(píng)成績(jī)40%、20%和40%;未安排答辯學(xué)生的平時(shí)成績(jī)與評(píng)閱成績(jī)分別占總評(píng)成績(jī)40%、60%。平時(shí)成績(jī)、評(píng)閱成績(jī)、答辯成績(jī)?nèi)我庖豁?xiàng)不及格,則總評(píng)成績(jī)不及格。軟件工程系制畢業(yè)設(shè)計(jì)任務(wù)書(shū)一、設(shè)計(jì)課題:學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)二、設(shè)計(jì)目的:通過(guò)條形碼來(lái)進(jìn)行倉(cāng)庫(kù)管理,以快速、準(zhǔn)確、低成本的方式為客戶(hù)提供最好的服務(wù)。本課題要求學(xué)生采用SQLServer2008數(shù)據(jù)庫(kù)為后臺(tái)、JSP為前臺(tái),設(shè)計(jì)一個(gè)學(xué)生管理系統(tǒng)。通過(guò)本課題的設(shè)計(jì),能夠熟練運(yùn)用SQLServer2008數(shù)據(jù)庫(kù)和JAVA語(yǔ)言。因此本課題具有一定的實(shí)用價(jià)值。三、設(shè)計(jì)要求本課題設(shè)計(jì)要求如下:1、個(gè)人信息包括用戶(hù)名的顯示,密碼的修改。2、基礎(chǔ)信息管理學(xué)院編號(hào):數(shù)據(jù)庫(kù)后臺(tái)增加。學(xué)院名稱(chēng):數(shù)據(jù)庫(kù)后臺(tái)編輯。學(xué)院簡(jiǎn)介:數(shù)據(jù)庫(kù)后臺(tái)編輯或者通過(guò)管理員編輯。系別管理:數(shù)據(jù)庫(kù)后臺(tái)編輯或者通過(guò)管理員編輯?;静僮鳎汗芾韱T特有,分為編輯和刪除。3、課程管理課程編號(hào):數(shù)據(jù)庫(kù)后臺(tái)增加。課程名稱(chēng):數(shù)據(jù)庫(kù)后臺(tái)編輯。學(xué)時(shí):數(shù)據(jù)庫(kù)后臺(tái)編輯。課程類(lèi)型:數(shù)據(jù)庫(kù)后臺(tái)編輯或者通過(guò)管理員操作。基本操作:管理員特有,分為編輯和刪除。4、學(xué)生成績(jī)查詢(xún)按學(xué)院系別專(zhuān)業(yè)班級(jí)課程的流程選擇查詢(xún)對(duì)象。5、公告管理標(biāo)題:數(shù)據(jù)庫(kù)后臺(tái)編輯。發(fā)布時(shí)間:數(shù)據(jù)庫(kù)后臺(tái)自動(dòng)生成。發(fā)布人:系統(tǒng)管理員。內(nèi)容:查看內(nèi)容?;静僮鳎汗芾韱T特有刪除功能。6、內(nèi)部論壇留言功能。7、考試試題維護(hù)試題ID:數(shù)據(jù)庫(kù)后臺(tái)增加。試題名稱(chēng):數(shù)據(jù)庫(kù)后臺(tái)增加。試題附件:數(shù)據(jù)庫(kù)后臺(tái)增加,具有下載功能。發(fā)布時(shí)間:數(shù)據(jù)庫(kù)后臺(tái)自動(dòng)生成。基本操作:管理員特有刪除功能。8、上傳試題學(xué)生具有上傳試題名稱(chēng)和試題附件的功能。9、安全退出系統(tǒng)返回登錄頁(yè)面。四、畢業(yè)設(shè)計(jì)報(bào)告要求:畢業(yè)設(shè)計(jì)報(bào)告由以下幾部分組成:1、標(biāo)題封面:標(biāo)題要求簡(jiǎn)潔、確切、鮮明。2、畢業(yè)設(shè)計(jì)成績(jī)?cè)u(píng)定記錄表(教師等填寫(xiě))3、畢業(yè)設(shè)計(jì)任務(wù)書(shū)(指導(dǎo)教師提供)4、目錄。5、正文6、附錄五、設(shè)計(jì)進(jìn)度計(jì)劃:11月15日11月25日

查閱資料、系統(tǒng)功能分析、模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)12月1日2月25日

代碼設(shè)計(jì)、調(diào)試3月1日3月30

日撰寫(xiě)畢業(yè)設(shè)計(jì)報(bào)告4月初

畢業(yè)設(shè)計(jì)答辯(如有變動(dòng),另行通知)六、畢業(yè)答辯需提交的材料:1.完整的系統(tǒng)代碼(光盤(pán)或磁盤(pán))2.畢業(yè)設(shè)計(jì)報(bào)告學(xué)生:石超指導(dǎo)教師簽名:朱堂勛2013年3月30日注:畢業(yè)設(shè)計(jì)任務(wù)書(shū)包括設(shè)計(jì)課題、設(shè)計(jì)目的、設(shè)計(jì)要求、畢業(yè)設(shè)計(jì)報(bào)告要求、設(shè)計(jì)進(jìn)度計(jì)劃、畢業(yè)設(shè)計(jì)答辨需提交的材料等項(xiàng)目。

目錄TOC\o"1-2"\h\z\u一、軟件可行性研究與項(xiàng)目開(kāi)發(fā)計(jì)劃 -1-1.問(wèn)題定義 -1-2.可行性研究 -1-3.項(xiàng)目開(kāi)發(fā)計(jì)劃 -2-4.項(xiàng)目概述 -3-5.實(shí)施計(jì)劃 -4-二、需求分析 -5-1.引言 -5-2.任務(wù)概述 -6-3.?dāng)?shù)據(jù)描述 -7-三、軟件概要設(shè)計(jì) -7-1.引言 -7-2.任務(wù)概述 -8-3.總體設(shè)計(jì) -9-4.接口設(shè)計(jì) -10-5.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì) -10-6.安全保密設(shè)計(jì) -17-7.維護(hù)設(shè)計(jì) -17-四、詳細(xì)設(shè)計(jì)說(shuō)明書(shū) -17-1.引言 -18-2.總體設(shè)計(jì) -18-3.程序描述 -19-五、軟件測(cè)試與調(diào)試 -32-1.引言 -32-2.任務(wù)概述 -32-3.計(jì)劃 -33-4.測(cè)試項(xiàng)目說(shuō)明 -34-5.測(cè)試分析報(bào)告 -35-6.測(cè)試計(jì)劃執(zhí)行情況 -35-六、結(jié)束語(yǔ) -36-一、軟件可行性研究與項(xiàng)目開(kāi)發(fā)計(jì)劃1.問(wèn)題定義可行性研究是運(yùn)用多種科學(xué)手段(包括技術(shù)科學(xué)、社會(huì)學(xué)、經(jīng)濟(jì)學(xué)及系統(tǒng)工程學(xué)等)對(duì)一項(xiàng)工程項(xiàng)目的必要性、可行性、合理性進(jìn)行技術(shù)經(jīng)濟(jì)論證的綜合科學(xué)。項(xiàng)目可行性研究是項(xiàng)目前期工作的主要內(nèi)容,可行性研究通過(guò)市場(chǎng)分析,技術(shù)研究,經(jīng)濟(jì)測(cè)算,最后確定是否投資一個(gè)項(xiàng)目??尚行匝芯繉W(xué)生管理系統(tǒng)始終是學(xué)校和學(xué)生之間的一個(gè)主要的聯(lián)系紐帶,在該系統(tǒng)中起著包括學(xué)生基本信息、學(xué)生課程管理等是學(xué)生管理系統(tǒng)最重要的??尚行匝芯渴菫榱伺宄到y(tǒng)開(kāi)發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過(guò)程,實(shí)際上是一次大大簡(jiǎn)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過(guò)程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,也是很重要的。2.1要求2.1.1基本運(yùn)行要求:學(xué)校所需要開(kāi)發(fā)的軟件要求能在公司所有計(jì)算機(jī)上基于WINDOWS系統(tǒng)運(yùn)行,支持無(wú)線(xiàn)傳輸,并具有條形碼輸入接口。同時(shí)所開(kāi)發(fā)的軟件要能與學(xué)校其他管理系統(tǒng)平臺(tái)相銜接,統(tǒng)一管理學(xué)校的正常教學(xué)。2.1.2功能要求:主要功能模塊為管理員系統(tǒng),教師系統(tǒng),學(xué)生系統(tǒng)。系統(tǒng)能夠使查詢(xún)修改學(xué)生的信息變得更為輕易等,使這些信息為一目了然。2.1.3安全要求:登陸系統(tǒng)時(shí),需驗(yàn)證身份和密碼,只有通過(guò)驗(yàn)證的身份才能進(jìn)入系統(tǒng)進(jìn)行信息的操作,以防止學(xué)生信息泄露。同時(shí)該系統(tǒng)還需具有靈活性、兼容性等要求。2.2目標(biāo)學(xué)生管理系統(tǒng)目標(biāo):建立一個(gè)能靈敏、高效、全面提高學(xué)生信息的管理系統(tǒng)。(1)學(xué)生基本信息管理子系統(tǒng)學(xué)生可以在網(wǎng)上查看個(gè)人信息,查看課程信息、考試信息、上傳和下載相關(guān)資源等,學(xué)生也可在在線(xiàn)與老師交流等。(2)教師基本信息管理子系統(tǒng)教師可以查看自己的個(gè)人信息,查看課程信息、學(xué)生成績(jī)管理、下載相關(guān)資源、公告管理、內(nèi)部論壇等。(3)管理員基本信息管理子系統(tǒng)管理員可以查看修改個(gè)人信息,基礎(chǔ)信息管理,課程管理,學(xué)生成績(jī)查詢(xún),公告管理,內(nèi)部論壇管理,考試試題維護(hù)等。2.3條件、假定和限制(1)系統(tǒng)開(kāi)發(fā)基于windows操作系統(tǒng),通過(guò)SQLServer2008等數(shù)據(jù)庫(kù)軟件和MyEclipse等開(kāi)發(fā)工具進(jìn)行系統(tǒng)開(kāi)發(fā)。(2)進(jìn)行系統(tǒng)開(kāi)發(fā)時(shí)間為四個(gè)月左右(3)該系統(tǒng)確保每種商品不會(huì)既超過(guò)既定庫(kù)存,也不會(huì)少于當(dāng)期需求。2.4可行性研究方法通過(guò)經(jīng)濟(jì)可行性,技術(shù)可行性,運(yùn)行可行性3個(gè)方面進(jìn)行可行性分析。2.5決定可行性的主要因素經(jīng)濟(jì)可行性:學(xué)校有能力承擔(dān)系統(tǒng)開(kāi)發(fā)費(fèi)用。開(kāi)發(fā)新系統(tǒng)的工作是一項(xiàng)間距復(fù)雜的工作,它的投資主要是人力和物力的投資。軟件企業(yè)作為一個(gè)簡(jiǎn)短的高科技產(chǎn)業(yè),其員工要求都比一般企業(yè)的要求要高,而且對(duì)系統(tǒng)開(kāi)發(fā)及軟件產(chǎn)業(yè)了解比較多,所以在自我開(kāi)發(fā)管理系統(tǒng)的過(guò)程中,企業(yè)自己比較容易安排人手,這樣就可以為企業(yè)節(jié)約大部分的額外開(kāi)支。同時(shí)軟件就其它產(chǎn)品來(lái)說(shuō),屬于高端行業(yè),無(wú)論是產(chǎn)品的價(jià)格還是質(zhì)量都比較高,而學(xué)校都要求有雄厚的資金支持。所以,在系統(tǒng)的開(kāi)發(fā)過(guò)程中,學(xué)校完全有能力承擔(dān)開(kāi)發(fā)費(fèi)用。技術(shù)可行性:在IT行業(yè)中從業(yè)的工作人員一般都要求掌握計(jì)算機(jī)技術(shù),具有一定的軟硬件基礎(chǔ),會(huì)使用各種管理軟件,熟悉IT產(chǎn)品。因?yàn)?,有的企業(yè)對(duì)員工的素質(zhì)要求比較高,從管理層到下面的銷(xiāo)售人員,都要求具有一定的計(jì)算機(jī)基礎(chǔ),所以在新系統(tǒng)投入使用時(shí),只要對(duì)員工進(jìn)行少量的培訓(xùn),系統(tǒng)的功能和使用方法就基本上能夠掌握。運(yùn)行可行性:本系統(tǒng)采用基于Windows的圖形用戶(hù)界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對(duì)于那些有一般的計(jì)算機(jī)知識(shí)的人員就可以輕松上手。而整個(gè)學(xué)生管理系統(tǒng)采用友好的交互界面,簡(jiǎn)介明了,不需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行深入的了解。由此,該系統(tǒng)的操作是可行的,有必要開(kāi)發(fā)該系統(tǒng)。3、項(xiàng)目開(kāi)發(fā)計(jì)劃11月15日11月25日

查閱資料、系統(tǒng)功能分析、模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)12月1日2月25日

代碼設(shè)計(jì)、調(diào)試3月1日3月25

撰寫(xiě)畢業(yè)設(shè)計(jì)報(bào)告4月初

畢業(yè)設(shè)計(jì)答辯3.1引言進(jìn)行具體調(diào)查、研究、分析,確定有利和不利的因素、項(xiàng)目是否可行,估計(jì)成功率大小、經(jīng)濟(jì)效益和社會(huì)效果程度,為決策者和主管機(jī)關(guān)審批的上報(bào)文件3.2編寫(xiě)目的本報(bào)告的主要作用是確定各個(gè)項(xiàng)目模塊的開(kāi)發(fā)情況。具體步驟:擬訂開(kāi)發(fā)計(jì)劃書(shū),分配項(xiàng)目工作,安排項(xiàng)目進(jìn)度。讀者是系統(tǒng)用戶(hù)、系統(tǒng)開(kāi)發(fā)人員、系統(tǒng)開(kāi)發(fā)的決策者以及學(xué)校的決策者。3.3項(xiàng)目背景(1)所建議開(kāi)發(fā)的軟件系統(tǒng)的名稱(chēng):學(xué)生管理系統(tǒng)(2)本項(xiàng)目的提出者是某學(xué)校的負(fù)責(zé)人。開(kāi)發(fā)者為該宿遷軟件開(kāi)發(fā)中心的工作人員。使用者為學(xué)校的管理人員、老師和同學(xué)。實(shí)現(xiàn)該軟件的計(jì)算操作平臺(tái)是聯(lián)入學(xué)校內(nèi)部局域網(wǎng)的多臺(tái)計(jì)算機(jī),以及手持?jǐn)?shù)據(jù)終端。(3)該軟件系統(tǒng)首先聯(lián)入學(xué)校內(nèi)部局域網(wǎng),統(tǒng)一管理學(xué)校正常的教學(xué),使小小整體協(xié)調(diào)性更高,為學(xué)校帶來(lái)更多便利。3.4參考資料《管理系統(tǒng)》高等教育出版社4項(xiàng)目概述4.1工作內(nèi)容見(jiàn)可行性研究報(bào)告.4.2條件與限制未完成項(xiàng)目應(yīng)具備的條件:對(duì)項(xiàng)目開(kāi)發(fā)有扎實(shí)的理論知識(shí);對(duì)編程有良好的技術(shù)基礎(chǔ);應(yīng)獲得開(kāi)發(fā)項(xiàng)目所需的資金。4.3產(chǎn)品4.3.1程序程序名稱(chēng):學(xué)生管理系統(tǒng)4.3.2文檔《可行性研究報(bào)告》《需求需求說(shuō)明書(shū)》《軟件概要設(shè)計(jì)》《軟件詳細(xì)設(shè)計(jì)》《軟件編碼》《軟件測(cè)試與調(diào)試》4.4運(yùn)行環(huán)境軟件環(huán)境:Windows操作系統(tǒng)下的微型計(jì)算機(jī)。SQLServer2005數(shù)據(jù)庫(kù)jre1.5及以上4.5驗(yàn)收標(biāo)準(zhǔn)編號(hào)條款具體事項(xiàng)合格不合格1功能要求需求分析所要求的功能2性能要求軟件運(yùn)行速度快,響應(yīng)時(shí)間短,安全性能好,兼容性較好3界面操作界面友好直觀,色彩明朗,設(shè)計(jì)有序,給人一種寧?kù)o的感覺(jué),使用戶(hù)能更好進(jìn)行操作4運(yùn)行環(huán)境硬件環(huán)境:微型計(jì)算機(jī)軟件環(huán)境:Windows操作系統(tǒng)(WindowsXP等等)5.實(shí)施計(jì)劃5.1任務(wù)分解編號(hào)階段具體任務(wù)1問(wèn)題定義通過(guò)訪(fǎng)問(wèn)調(diào)查,明確要解決的問(wèn)題,確切地定義問(wèn)題的必要性。2可行性研究研究問(wèn)題的范圍,是否值得去開(kāi)發(fā),并且是否有可行的解決方法。3需求分析跟用戶(hù)密切配合,溝通,確定目標(biāo)系統(tǒng)具備的功能,建立用戶(hù)確認(rèn)的系統(tǒng)邏輯模型。4概要設(shè)計(jì)提出低成本,中等成本,高成本設(shè)計(jì)方案,確定解決問(wèn)題的策略及目標(biāo)系統(tǒng)中應(yīng)包含的程序。5詳細(xì)設(shè)計(jì)設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明,具體實(shí)現(xiàn)目標(biāo)系統(tǒng)。6編碼和單元測(cè)試編寫(xiě)容易理解和維護(hù)的程序模塊,并對(duì)其進(jìn)行測(cè)試。7綜合測(cè)試通過(guò)各種類(lèi)型的測(cè)試(及相應(yīng)的調(diào)試)是軟件達(dá)到預(yù)定的要求。測(cè)試分為:集成測(cè)試、驗(yàn)收測(cè)試、現(xiàn)場(chǎng)測(cè)試。8軟件維護(hù)通過(guò)各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿(mǎn)足用戶(hù)的要求。維護(hù)步驟:提出維護(hù)要求,分析維護(hù)要求,提出維護(hù)方案,審批維護(hù)方案,確定維護(hù)計(jì)劃,修改軟件設(shè)計(jì),修改程序,測(cè)試程序,復(fù)查驗(yàn)收等。需求分析1.引言1.1編寫(xiě)目的為了把教育信息化與職業(yè)技術(shù)學(xué)院的實(shí)際教學(xué)和管理結(jié)合起來(lái),為了將Internet的教育網(wǎng)絡(luò)與傳統(tǒng)思想、教學(xué)管理結(jié)合起來(lái),各取所長(zhǎng),將職業(yè)技術(shù)學(xué)院的教學(xué)更加科學(xué)化、科技化,職業(yè)技術(shù)學(xué)院輔導(dǎo)教學(xué)平臺(tái)是必不可缺。吉林財(cái)經(jīng)大學(xué)輔導(dǎo)教學(xué)平臺(tái)將傳統(tǒng)教學(xué)觀念與現(xiàn)代科技結(jié)合,提供多種教學(xué)資源、網(wǎng)絡(luò)教學(xué)、以及信息化管理,可以大大提高教學(xué)的質(zhì)量、管理的效率,能更有效的利用資源。重慶電子工程職業(yè)學(xué)院輔導(dǎo)教學(xué)平臺(tái)可以幫助學(xué)校在教學(xué)過(guò)程中實(shí)現(xiàn)實(shí)時(shí)互動(dòng),與高職院校的教學(xué)特點(diǎn),師生揮動(dòng)授課方式、資源共享的學(xué)習(xí)條件、實(shí)時(shí)解疑的學(xué)習(xí)策略都是傳統(tǒng)教學(xué)方式所不能給與的,這也是重慶電子工程職業(yè)學(xué)院輔助教學(xué)平臺(tái)設(shè)計(jì)的主要目標(biāo)。計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)的高速發(fā)展,帶來(lái)了信息時(shí)代的變更,使得地球真正變成了一個(gè)開(kāi)放的信息村,信息資源的共享和交流達(dá)到前所未有的高度,這也深深影響到各個(gè)領(lǐng)域,一場(chǎng)信息化革命正悄然的改變著各個(gè)行業(yè),對(duì)高等教育來(lái)說(shuō),充分利用網(wǎng)絡(luò)化和信息化來(lái)提高教學(xué)水平、轉(zhuǎn)變教學(xué)模式是解決傳統(tǒng)課堂教學(xué)和管理的一個(gè)迫切課題。在信息時(shí)代中實(shí)現(xiàn)高等教育的信息化,這是一個(gè)必然的趨勢(shì),而網(wǎng)絡(luò)教學(xué)這一新生事物也因此孕育而生,網(wǎng)絡(luò)教學(xué)是一個(gè)開(kāi)放的概念,可以把它概括為:在先進(jìn)理念指導(dǎo)下,運(yùn)用網(wǎng)絡(luò)資源,在教師指導(dǎo)下,促進(jìn)學(xué)生積極自主學(xué)習(xí),加強(qiáng)師生交流,加強(qiáng)師生協(xié)作研討,優(yōu)化教學(xué)過(guò)程。1.2項(xiàng)目背景軟件項(xiàng)目名稱(chēng):學(xué)生管理系統(tǒng)本項(xiàng)目適用于學(xué)校學(xué)生信息的管理!該軟件系統(tǒng)同其他系統(tǒng)或其他機(jī)構(gòu)的基本的相互來(lái)往關(guān)系如下:該系統(tǒng)的數(shù)據(jù)庫(kù)及其備份建立在SQLServer2008數(shù)據(jù)庫(kù)基礎(chǔ)上1.3定義學(xué)生管理系統(tǒng)包括對(duì)學(xué)生的基本信息查詢(xún),學(xué)生信息的管理:對(duì)當(dāng)前學(xué)生或班級(jí)的信息做出一些綜合統(tǒng)計(jì)及管理。2.任務(wù)概述2.1目標(biāo)學(xué)院在教學(xué)這一部分主要是由教務(wù)處對(duì)課程、對(duì)學(xué)生、對(duì)學(xué)生成績(jī)進(jìn)行合理地安排以及統(tǒng)籌計(jì)劃,以及讓教務(wù)處在最短的時(shí)間段把學(xué)生的成績(jī)核算出來(lái),提高教務(wù)處的辦事效率。同時(shí),能夠隨時(shí)對(duì)學(xué)生、學(xué)生成績(jī)進(jìn)行各種查詢(xún)和統(tǒng)計(jì),以及很好地對(duì)系統(tǒng)進(jìn)行維護(hù)。2.2運(yùn)行環(huán)境操作系統(tǒng):WindowsXP等等支持環(huán)境:IIS5.0數(shù)據(jù)庫(kù):MicrosoftSQLServer20082.3條件與限制由于此系統(tǒng)是自己的PC機(jī)上演示及在個(gè)人機(jī)上進(jìn)行開(kāi)發(fā),所以其經(jīng)費(fèi)沒(méi)有計(jì)算。其開(kāi)發(fā)期限預(yù)計(jì)在四個(gè)月左右內(nèi)完成。3.?dāng)?shù)據(jù)描述3.1靜態(tài)數(shù)據(jù)各個(gè)數(shù)據(jù)庫(kù)表、各個(gè)圖片、各個(gè)模板。3.2動(dòng)態(tài)數(shù)據(jù)見(jiàn)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)。3.3數(shù)據(jù)庫(kù)介紹學(xué)生管理系統(tǒng)統(tǒng)適合WindowsXP等等操作系統(tǒng),后臺(tái)數(shù)據(jù)庫(kù)選擇SQLServer2008數(shù)據(jù)庫(kù),基本滿(mǎn)足現(xiàn)在的主流配置的需要。軟件概要設(shè)計(jì)1.引言這份概要設(shè)計(jì)說(shuō)明書(shū)是說(shuō)明系統(tǒng)的處理概念和系統(tǒng)流程.1.1編寫(xiě)目的從該階段開(kāi)發(fā)正式進(jìn)入軟件的實(shí)際開(kāi)發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計(jì)并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計(jì)階段主要是把一個(gè)軟件需求轉(zhuǎn)化為軟件表示的過(guò)程,這種表示只是描繪出軟件的總的概貌。本概要設(shè)計(jì)說(shuō)明書(shū)的目的就是進(jìn)一步細(xì)化軟件設(shè)計(jì)階段得出的軟件總體概貌,把它加工成在程序細(xì)節(jié)上非常接近于源程序的軟件表示。1.2項(xiàng)目背景開(kāi)發(fā)軟件系統(tǒng)的名稱(chēng)為學(xué)生管理系統(tǒng);1.3定義在該概要設(shè)計(jì)說(shuō)明書(shū)中的專(zhuān)門(mén)術(shù)語(yǔ)有:

總體設(shè)計(jì)接口設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)運(yùn)行設(shè)計(jì)出錯(cuò)設(shè)計(jì)

具體的概念與含義在文檔后將會(huì)解釋。1.4參考資料《使用軟件工程與實(shí)訓(xùn)》主編杜文浩白萍清華大學(xué)出版社《軟件需求》主編KarlE.wiegers清華大學(xué)出版社2.任務(wù)概述2.1目標(biāo)2.2運(yùn)行環(huán)境操作系統(tǒng):WindowsXP等支持環(huán)境:IIS5.0數(shù)據(jù)庫(kù):MicrosoftSQLServer20082.3需求概述該學(xué)生管理系統(tǒng)應(yīng)用于高校學(xué)生信息管理,主要有3個(gè)主要功能模塊組成,分別是:學(xué)生信息管理系統(tǒng)模塊,學(xué)生成績(jī)管理模塊和系統(tǒng)管理模塊。學(xué)生信息管理模塊包括對(duì)學(xué)生的學(xué)籍等基本信息的查看和維護(hù)管理;學(xué)生成績(jī)管理模塊主要包括對(duì)學(xué)生成績(jī)的錄入和查詢(xún);系統(tǒng)管理主要包括對(duì)系統(tǒng)數(shù)據(jù)字典以及管理員的維護(hù)模塊。除了這三大主要功能模塊之外還涉及到于本系統(tǒng)相關(guān)的一系列小的功能模塊,例如,學(xué)科管理、班主任管理等。本系統(tǒng)設(shè)計(jì)的學(xué)生信息管理系統(tǒng)很好的解決了學(xué)生信息管理方面的困難,提高了學(xué)生信息管理效率、減輕了教務(wù)員的工作負(fù)擔(dān),節(jié)省了大量的人力、物力資源,給高校學(xué)生信息管理帶來(lái)了很大的方便。數(shù)據(jù)精確度:經(jīng)多次測(cè)試,該系統(tǒng)最終的輸出數(shù)據(jù)的精確度達(dá)到95%以上時(shí)間特性:該系統(tǒng)在響應(yīng)時(shí)間、更新處理時(shí)間,數(shù)據(jù)轉(zhuǎn)換與傳輸時(shí)間、與運(yùn)行時(shí)間等方面時(shí)間短、速度快。適應(yīng)性:該系統(tǒng)專(zhuān)為高校量身定做,對(duì)高校有很強(qiáng)的適應(yīng)性復(fù)用性:該系統(tǒng)的功能和大多數(shù)高?;疚呛希钥梢栽诖蠖鄶?shù)高校中復(fù)用靈活性:該系統(tǒng)可以在大多數(shù)WindowsXP等以上版本上應(yīng)用,與微軟的office辦公軟件相結(jié)合,可以打印該系統(tǒng)中的成績(jī)、學(xué)生表等,該系統(tǒng)采用團(tuán)隊(duì)分塊制作,以后維護(hù)、改方便2.4條件與限制由于此系統(tǒng)是自己的PC機(jī)上演示及在個(gè)人機(jī)上進(jìn)行開(kāi)發(fā)。3.總體設(shè)計(jì)3.1處理流程學(xué)生管理系統(tǒng)分三層(1)管理員系統(tǒng)(2)教師系統(tǒng)(3)學(xué)生系統(tǒng)3.2總體結(jié)構(gòu)和模塊外部設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)學(xué)生成績(jī)管理系統(tǒng)學(xué)生系統(tǒng)管理員系統(tǒng)教師系統(tǒng)學(xué)生系統(tǒng)管理員系統(tǒng)教師系統(tǒng)安全退出系統(tǒng)內(nèi)部論壇上傳試題考試試題下載我的成績(jī)系統(tǒng)公告?zhèn)€人信息安全退出系統(tǒng)內(nèi)部論壇公告管理學(xué)生試題下載學(xué)生成績(jī)管理個(gè)人信息安全退出系統(tǒng)考試試題維護(hù)內(nèi)部論壇公告管理學(xué)生成績(jī)查看課程管理基礎(chǔ)信息管理個(gè)人信息安全退出系統(tǒng)內(nèi)部論壇上傳試題考試試題下載我的成績(jī)系統(tǒng)公告?zhèn)€人信息安全退出系統(tǒng)內(nèi)部論壇公告管理學(xué)生試題下載學(xué)生成績(jī)管理個(gè)人信息安全退出系統(tǒng)考試試題維護(hù)內(nèi)部論壇公告管理學(xué)生成績(jī)查看課程管理基礎(chǔ)信息管理個(gè)人信息 3.3功能分配管理員系統(tǒng)管理整個(gè)學(xué)生管理系統(tǒng)的常用信息教師系統(tǒng)管理學(xué)生的常用信息學(xué)生系統(tǒng)管理本人的常用信息4.接口設(shè)計(jì)4.1外部接口學(xué)生管理系統(tǒng)統(tǒng)適合WindowsXP等操作系統(tǒng),后臺(tái)數(shù)據(jù)庫(kù)選擇MicrosoftSQLServer2008。4.2內(nèi)部接口學(xué)生管理系統(tǒng)內(nèi)部通過(guò)對(duì)數(shù)據(jù)庫(kù)各個(gè)表的操作進(jìn)行聯(lián)系,其中t_admin是管理員登陸賬號(hào)和密碼的管理。以后后面的t_banji、t_chengji、t_gonggao、t_kecheng、t_liuyan、t_shiti、t_stu、t_tea、t_xibie、t_xuyuan、t_zhuanye,都是學(xué)生管理系統(tǒng)中不可缺少的數(shù)據(jù)庫(kù)表。5.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5.1邏輯結(jié)構(gòu)設(shè)計(jì)在上面的實(shí)體以及實(shí)體之間的關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫(kù)中的表格和各個(gè)表格之間的關(guān)系。學(xué)生管理系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表格的設(shè)計(jì)結(jié)果如下面的幾個(gè)表格所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表。邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念模型設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用的具體機(jī)器上的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),現(xiàn)選用關(guān)系模型,E-R圖向關(guān)系模型的轉(zhuǎn)換結(jié)果如下所示:t_admin表t_gonggao表t_zhuanye表t_kecheng表t_xuyuan表t_chengji表t_liuyan表t_xibie表t_banji表t_shiti表t_stu表t_tea表5.2物理結(jié)構(gòu)設(shè)計(jì)t_admin表t_gonggao表t_zhuanye表t_kecheng表t_xuyuan表t_chengji表t_liuyan表t_xibie表t_banji表t_shiti表t_stu表t_tea表6.安全保密設(shè)計(jì)通過(guò)設(shè)置用戶(hù)的權(quán)限來(lái)控制對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),只有系統(tǒng)管理員權(quán)限的人才能進(jìn)行對(duì)系統(tǒng)用戶(hù)的管理,也就是對(duì)t_admin表的控制訪(fǎng)問(wèn)。只有系統(tǒng)用戶(hù),比如管理員,他們才有對(duì)該系進(jìn)行操作。7維護(hù)設(shè)計(jì)由于系統(tǒng)較小沒(méi)有外加維護(hù)模塊,因?yàn)榫S護(hù)工作比較簡(jiǎn)單,僅靠數(shù)據(jù)庫(kù)的一些基本維護(hù)。四、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)1.引言設(shè)計(jì)每個(gè)模塊的實(shí)現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu)。詳細(xì)設(shè)計(jì)的目標(biāo)有兩個(gè):實(shí)現(xiàn)模塊功能的算法要邏輯上正確和算法描述要簡(jiǎn)明易懂。1.1編寫(xiě)目的為了方便系統(tǒng)數(shù)據(jù)庫(kù)管理及維護(hù)人員了解系統(tǒng)的詳細(xì)結(jié)構(gòu)組成。1.2項(xiàng)目背景開(kāi)發(fā)軟件系統(tǒng)的名稱(chēng)為學(xué)生管理系統(tǒng)1.3參考文獻(xiàn)《實(shí)用軟件工程與》主編杜文浩白萍清華大學(xué)出版社《軟件需求》主編KarlE.Wiegers清華大學(xué)出版社2.總體設(shè)計(jì)2.1需求概述該學(xué)生管理系統(tǒng)應(yīng)用于高校學(xué)生信息管理,主要有3個(gè)主要功能模塊組成,分別是:學(xué)生信息管理系統(tǒng)模塊,學(xué)生成績(jī)管理模塊和系統(tǒng)管理模塊。學(xué)生信息管理模塊包括對(duì)學(xué)生的學(xué)籍等基本信息的查看和維護(hù)管理;學(xué)生成績(jī)管理模塊主要包括對(duì)學(xué)生成績(jī)的錄入和查詢(xún);系統(tǒng)管理主要包括對(duì)系統(tǒng)數(shù)據(jù)字典以及管理員的維護(hù)模塊。除了這三大主要功能模塊之外還涉及到于本系統(tǒng)相關(guān)的一系列小的功能模塊,例如,學(xué)科管理、班主任管理等。本系統(tǒng)設(shè)計(jì)的學(xué)生信息管理系統(tǒng)很好的解決了學(xué)生信息管理方面的困難,提高了學(xué)生信息管理效率、減輕了教務(wù)員的工作負(fù)擔(dān),節(jié)省了大量的人力、物力資源,給高校學(xué)生信息管理帶來(lái)了很大的方便。數(shù)據(jù)精確度:經(jīng)多次測(cè)試,該系統(tǒng)最終的輸出數(shù)據(jù)的精確度達(dá)到95%以上時(shí)間特性:該系統(tǒng)在響應(yīng)時(shí)間、更新處理時(shí)間,數(shù)據(jù)轉(zhuǎn)換與傳輸時(shí)間、與運(yùn)行時(shí)間等方面時(shí)間短、速度快。適應(yīng)性:該系統(tǒng)專(zhuān)為高校量身定做,對(duì)高校有很強(qiáng)的適應(yīng)性復(fù)用性:該系統(tǒng)的功能和大多數(shù)高?;疚呛?,所以可以在大多數(shù)高校中復(fù)用靈活性:該系統(tǒng)可以在大多數(shù)WindowsXP等以上版本上應(yīng)用,與微軟的office辦公軟件相結(jié)合,可以打印該系統(tǒng)中的成績(jī)、學(xué)生表等,該系統(tǒng)采用團(tuán)隊(duì)分塊制作,以后維護(hù)、改方便2.2軟件結(jié)構(gòu)3.程序描述3.1系統(tǒng)主界面(Main)設(shè)計(jì)說(shuō)明3.1.1程序描述主模塊負(fù)責(zé)應(yīng)程序的主界面,由他調(diào)用其他模塊。因此主模塊應(yīng)該具有操作性好、界面清晰的特點(diǎn),使用戶(hù)能夠很方便地找到所需功能。根據(jù)功能需求分析的結(jié)果,主界面模塊應(yīng)該由管理員系統(tǒng)、教師系統(tǒng)、學(xué)生系統(tǒng)組成??梢酝ㄟ^(guò)點(diǎn)擊菜單項(xiàng)進(jìn)入相應(yīng)的功能模塊。3.1.2功能輸入:窗體加載。處理:1)執(zhí)行相應(yīng)的操作過(guò)程。2)將調(diào)用的子窗體在屏幕上顯示出來(lái)或者執(zhí)行操作。3)當(dāng)選擇系統(tǒng)退出時(shí),關(guān)閉窗體。輸出:相應(yīng)的操作結(jié)果。3.1.3性能精度:一定要點(diǎn)擊正確控件區(qū)域;靈活性:圖形界面容易操作;時(shí)間特性:響應(yīng)時(shí)間約0.1s。3.1.4輸人項(xiàng)用戶(hù)點(diǎn)擊相應(yīng)的模塊條列表。3.1.5輸出項(xiàng)數(shù)據(jù)庫(kù)內(nèi)的學(xué)生信息。3.1.6限制條件是否連接好數(shù)據(jù)庫(kù)及系統(tǒng)資源是否空閑。3.1.7測(cè)試計(jì)劃詳細(xì)測(cè)試計(jì)劃在測(cè)試計(jì)劃說(shuō)明書(shū)中所述。3.2主界面設(shè)計(jì)說(shuō)明管理員系統(tǒng),教師系統(tǒng),學(xué)生系統(tǒng)三部分。3.3程序描述a)管理員系統(tǒng)b)教師系統(tǒng)c)學(xué)生系統(tǒng)3.3管理員系統(tǒng)設(shè)計(jì)說(shuō)明管理員系統(tǒng)分為:個(gè)人信息、基礎(chǔ)信息管理、課程管理、學(xué)生成績(jī)查看、公告管理、內(nèi)部論壇、考試試題維護(hù)、安全退出系統(tǒng)。3.3.3程序描述a)個(gè)人信息b)基礎(chǔ)信息管理c)課程管理d)學(xué)生成績(jī)查看e)公告管理F)內(nèi)部論壇g)考試試題維護(hù)h)安全退出系統(tǒng)3.4教師系統(tǒng)設(shè)計(jì)說(shuō)明個(gè)人信息學(xué)生成績(jī)管理學(xué)生試題下載公告管理內(nèi)部論壇安全退出系統(tǒng)3.5學(xué)生系統(tǒng)設(shè)計(jì)說(shuō)明個(gè)人信息系統(tǒng)公告我的成績(jī)考試試題下載上傳試題內(nèi)部論壇安全退出系統(tǒng)3.6登錄管理設(shè)計(jì)說(shuō)明3.7重要源代碼說(shuō)明(1)com.util包util.javapackagecom.util;importjava.text.ParseException;importjava.util.Date;importjava.util.GregorianCalendar;publicclassUtil{ publicstaticDatenewDate(Strings)throwsParseException{ java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat( "yyyy-MM-dd"); Datedate=newDate(); date=sdf.parse(s); returndate; } publicstaticDatenewDate1(Strings)throwsParseException{ java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat( "yyyy-MM-ddHH:mm"); Datedate=newDate(); date=sdf.parse(s); returndate; } publicstaticDateFormatFullDate(Strings)throwsParseException{ java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat( "yyyy-MM-ddHH:mm:ss"); Datedate=newDate(); date=sdf.parse(s); returndate; } publicstaticStringsplitDate(Dated){ java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat( "yyyy-MM-dd"); returnsdf.format(d); } publicstaticStringsplitDate1(Dated){ java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat( "yyyy年MM月dd日"); returnsdf.format(d); } /** *將字符串截短,取前n個(gè)字符,英文算半個(gè)字符。 * *@paramorignalString *原字符串 *@paramlength *長(zhǎng)度 *@paramchopedString *超過(guò)部分的表示字符串 *@return截取的字符串 */ publicstaticStringchop(StringorignalString,doublelength, StringchopedString){ if(orignalString==null||orignalString.length()==0){ returnorignalString; } orignalString=orignalString.replaceAll("",""); if(orignalString.length()<length){ returnorignalString; } StringBufferbuffer=newStringBuffer((int)length); length=length*2; intcount=0; intstringLength=orignalString.length(); inti=0; for(;count<length&&i<stringLength;i++){ charc=orignalString.charAt(i); if(c<'\u00ff'){ count++; }else{ count+=2; } buffer.append(c); } if(i<stringLength){ buffer.append(chopedString); } returnbuffer.toString(); } publicstaticlonggetPrimeKey(){ GregorianCalendarcalendar=newGregorianCalendar(); returncalendar.getTimeInMillis(); } publicstaticlongstringToLong(Stringsource){ returnLong.parseLong(source); } /* *publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){ *System.out.println(Util.getPrimeKey());}} */}}(2)com.service包kechengService.javapackagecom.service;importjava.util.List;importcom.dao.TKechengDAO;publicclasskechengService{ privateTKechengDAOkechengDAO; publicTKechengDAOgetKechengDAO(){ returnkechengDAO; } publicvoidsetKechengDAO(TKechengDAOkechengDAO){ this.kechengDAO=kechengDAO; } publicList<?>findAllKecheng(){ Stringsql="fromTKechengwherekechengDel='no'"; returnkechengDAO.getHibernateTemplate().find(sql); } publicStringfindKechengName(intkechengId){ returnkechengDAO.findById(kechengId).getKechengName(); }}longinService.javapackagecom.service;importjava.util.List;importjavax.servlet.http.HttpSession;importorg.directwebremoting.WebContext;importorg.directwebremoting.WebContextFactory;importcom.dao.TAdminDAO;importcom.dao.TStuDAO;importcom.dao.TTeaDAO;importcom.model.TAdmin;importcom.model.TStu;importcom.model.TTea;publicclassloginService{ privateTAdminDAOadminDAO; privateTTeaDAOteaDAO; privateTStuDAOstuDAO; publicTAdminDAOgetAdminDAO(){ returnadminDAO; } publicvoidsetAdminDAO(TAdminDAOadminDAO){ this.adminDAO=adminDAO; } publicTStuDAOgetStuDAO(){ returnstuDAO; } publicvoidsetStuDAO(TStuDAOstuDAO){ this.stuDAO=stuDAO; } publicTTeaDAOgetTeaDAO(){ returnteaDAO; } publicvoidsetTeaDAO(TTeaDAOteaDAO){ this.teaDAO=teaDAO; } publicStringlogin(StringuserName,StringuserPw,intuserType){ System.out.println("userType"+userType); try{ Thread.sleep(700); }catch(InterruptedExceptione){ e.printStackTrace(); } Stringresult=null; if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; List<?>adminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0){ result="no"; }else{ WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==1)//老師登陸 { Stringsql="fromTTeawhereteaDel='no'andloginName=?andloginPw=?"; Object[]con={userName,userPw}; List<?>teaList=teaDAO.getHibernateTemplate().find(sql,con); if(teaList.size()==0){ result="no"; }else{ WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TTeatea=(TTea)teaList.get(0); session.setAttribute("userType",1); session.setAttribute("tea",tea); result="yes"; } } if(userType==2)//學(xué)生登陸 { Stringsql="fromTStuwherestuDel='no'andloginName=?andloginPw=?"; Object[]con={userName,userPw}; List<?>stuList=stuDAO.getHibernateTemplate().find(sql,con); if(stuList.size()==0){ result="no"; }else{ WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TStustu=(TStu)stuList.get(0); session.setAttribute("userType",2); session.setAttribute("stu",stu); result="yes"; } } returnresult; } publicStringadminPwEdit(StringuserPwNew){ try{ Thread.sleep(1000); }catch(InterruptedExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)session.getAttribute("admin"); admin.setUserPw(userPwNew); adminDAO.getHibernateTemplate().update(admin); session.setAttribute("admin",admin); return"yes"; }}tongyongService.javapackagecom.service;importjava.util.List;importcom.dao.TBanjiDAO;importcom.dao.TXibieDAO;importcom.dao.TXuyuanDAO;importcom.dao.TZhuanyeDAO;publicclasstongyongService{ privateTXuyuanDAOxuyuanDAO; privateTXibieDAOxibieDAO; privateTZhuanyeDAOzhuanyeDAO; privateTBanjiDAObanjiDAO; publicList<?>findAllXuyuan(){ Stringsql="fromTXuyuanwherexuyuanDel='no'"; List<?>xuyuanList=xuyuanDAO.getHibernateTemplate().find(sql); returnxuyuanList; } publicList<?>findAllXibei(intxuyuanId){ Stringsql="fromTXibiewherexibieDel='no'andxuyuanId="+xuyuanId; List<?>xibieList=xibieDAO.getHibernateTemplate().find(sql); returnxibieList; } publicList<?>findAllZhuanye(intxibieId){ Stringsql="fromTZhuanyewherezhuanyeDel='no'andxibieId=" +xibieId; List<?>zhuanyeList=zhuanyeDAO.getHibernateTemplate().find(sql); returnzhuanyeList; } publicList<?>findAllBanji(intzhuanyeId){ Stringsql="fromTBanjiwherebanjiDel='no'andzhuanyeId=" +zhuanyeId; List<?>banjiList=banjiDAO.getHibernateTemplate().find(sql); returnbanjiList; } publicTBanjiDAOgetBanjiDAO(){ returnbanjiDAO; } publicvoidsetBanjiDAO(TBanjiDAObanjiDAO){ this.banjiDAO=banjiDAO; } publicTXibieDAOgetXibieDAO(){ returnxibieDAO; } publicvoidsetXibieDAO(TXibieDAOxibieDAO){ this.xibieDAO=xibieDAO; } publicTXuyuanDAOgetXuyuanDAO(){ returnxuyuanDAO; } publicvoidsetXuyuanDAO(TXuyuanDAOxuyuanDAO){ this.xuyuanDAO=xuyuanDAO; } publicTZhuanyeDAOgetZhuanyeDAO(){ returnzhuanyeDAO; } publicvoidsetZhuanyeDAO(TZhuanyeDAOzhuanyeDAO){ this.zhuanyeDAO=zhuanyeDAO; }}(3)com.model包TAdmin.javapackagecom.model;/***TAdmingeneratedbyMyEclipsePersistenceTools*/publicclassTAdminimplementsjava.io.Serializable{ /** * */ privatestaticfinallongserialVersionUID=1L; privateIntegerid; privateStringuserName; privateStringuserPw; /**defaultconstructor*/ publicTAdmin(){ } /**fullconstructor*/ publicTAdmin(StringuserName,StringuserPw){ this.userName=userName; this.userPw=userPw; } publicIntegergetId(){ returnthis.id; } publicvoidsetId(Integerid){ this.id=id; } publicStringgetUserName(){ returnthis.userName; } publicvoidsetUserName(StringuserName){ this.userName=userName; } publicStringgetUserPw(){ returnthis.userPw; } publicvoidsetUserPw(StringuserPw){ this.userPw=userPw; }}(4)com.dao包TAdminDAO.javapackagecom.dao;importjava.util.List;importmons.logging.Log;importmons.logging.LogFactory;importorg.hibernate.LockMode;importorg.springframework.context.ApplicationContext;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importcom.model.TAdmin;/***Dataaccessobject(DAO)fordomainmodelclassTAdmin.**@seecom.model.TAdmin*@authorMyEclipsePersistenceTools*/publicclassTAdminDAOextendsHibernateDaoSupport{ privatestaticfinalLoglog=LogFactory.getLog(TAdminDAO.class); publicstaticfinalStringUSER_NAME="userName"; publicstaticfinalStringUSER_PW="userPw"; protectedvoidinitDao(){ } publicvoidsave(TAdmintransientInstance){ log.debug("savingTAdmininstance"); try{ getHibernateTemplate().save(transientInstance); log.debug("savesuccessful"); }catch(RuntimeExceptionre){ log.error("savefailed",re); throwre; } } publicvoiddelete(TAdminpersistentInstance){ log.debug("deletingTAdmininstance"); try{ getHibernateTemplate().delete(persistentInstance); log.debug("deletesuccessful"); }catch(RuntimeExceptionre){ log.error("deletefailed",re); throwre; } } publicTAdminfindById(java.lang.Integerid){ log.debug("gettingTAdmininstancewithid:"+id); try{ TAdmininstance=(TAdmin)getHibernateTemplate().get( "com.model.TAdmin",id); returninstance; }catch(RuntimeExceptionre){ log.error("getfailed",re); throwre; } } publicList<?>findByExample(TAdmininstance){ log.debug("findingTAdmininstancebyexample"); try{ List<?>results=getHibernateTemplate().findByExample(instance); log.debug("findbyexamplesuccessful,resultsize:" +results.size()); returnresults; }catch(RuntimeExceptionre){ log.error("findbyexamplefailed",re); throwre; } } publicList<?>findByProperty(StringpropertyName,Objectvalue){ log.debug("findingTAdmininstancewithproperty:"+propertyName +",value:"+value); try{ StringqueryString="fromTAdminasmodelwheremodel." +propertyName+"=?"; returngetHibernateTemplate().find(queryString,value); }catch(RuntimeExceptionre){ log.error("findbypropertynamefailed",re); throwre; } } publicList<?>findByUserName(ObjectuserName){ returnfindByProperty(USER_NAME,userName); } publicList<?>findByUserPw(ObjectuserPw){ returnfindByProperty(USER_PW,userPw); } publicList<?>findAll(){ log.debug("findingallTAdmininstances"); try{ StringqueryString="fromTAdmin"; returngetHibernateTemplate().find(queryString); }catch(RuntimeExceptionre){ log.error("findallfailed",re); throwre; } } publicTAdminmerge(TAdmindetachedInstance){ log.debug("mergingTAdmininstance"); try{ TAdminresult=(TAdmin)getHibernateTemplate().merge( detachedInstance); log.debug("mergesuccessful"); returnresult; }catch(RuntimeExceptionre){ log.error("mergefailed",re); throwre; } } publicvoidattachDirty(TAdmininstance){ log.debug("attachingdirtyTAdmininstance"); try{ getHibernateTemplate().saveOrUpdate(instance); log.debug("attachsuccessful"); }catch(RuntimeExceptionre){ log.error("attachfailed",re); throwre; } } publicvoidattachClean(TAdmininstance){ log.debug("attachingcleanTAdmininstance"); try{ getHibernateTemplate().lock(instance,LockMode.NONE); log.debug("attachsuccessful"); }catch(RuntimeExceptionre){ log.error("attachfailed",re); throwre; } } publicstaticTAdminDAOgetFromApplicationContext(ApplicationContextctx){ return(TAdminDAO)ctx.getBean("TAdminDAO"); }}(5)com.action包banjiAction.javapackagecom.action;importjava.util.List;importjava.util.Map;importorg.apache.struts2.ServletActionContext;importcom.dao.TBanjiDAO;importcom.dao.TStuDAO;importcom.dao.TXibieDAO;importcom.dao.TXuyuanDAO;importcom.dao.TZhuanyeDAO;importcom.model.TBanji;importcom.model.TXibie;importcom.model.TZhuanye;importcom.opensymphony.xwork2.ActionSupport;publicclassbanjiActionextendsActionSupport{ privatestaticfinallongserialVersionUID=1L; privateintbanjiId; privateStringbanjiBianhao; privateStringbanjiName; privateStringbanjiRuxuenianfen; privateintzhuanyeId; privateStringmessage; privateStringpath; privateTXuyuanDAOxuyuanDAO; privateTXibieDAOxibieDAO; privateTZhuanyeDAOzhuanyeDAO; privateTBanjiDAObanjiDAO; privateTStuDAOstuDAO; publicStringbanjiMana(){ Stringsql="fromTBanjiwherebanjiDel='no'andzhuanyeId=" +zhuanyeId; List<?>banjiList=banjiDAO.getHibernateTemplate().find(sql); Map<String,Object>request=extracted(); request.put("banjiList",banjiList); request.put("zhuanyeId",zhuanyeId); returnActionSupport.SUCCESS; } @SuppressWarnings("unchecked") privateMap<String,Object>extracted(){ return(Map<String,Object>)ServletActionContext.getContext().get( "request"); } publicStringbanjiAdd(){ TBanjibanji=newTBanji(); banji.setBanjiBianhao(banjiBianhao); banji.setBanjiName(banjiName); banji.setBanjiRuxuenianfen(banjiRuxuenianfen); banji.setBanjiDel("no"); banji.setZhuanyeId(zhuanyeId); TZhuanyezhuanye=zhuanyeDAO.findById(zhuanyeId); TXibiexibie=xibieDAO.findById(zhuanye.getXibieId()); banji.setXibieId(zhuanye.getXibieId()); banji.setXuyuanId(xibie.getXuyuanId()); banjiDAO.save(banji); this.setMessage("添加成功"); this.setPath("xuyuanMana.action"); return"succeed"; } publicStringbanjiDel(){ Stringsql="fromTStuwherestuDel='no'andbanjiId="+banjiId; List<?>stuList=stuDAO.getHibernateTemplate().find(sql); if(stuList.size()>0){ this.setMessage("請(qǐng)先刪除此班級(jí)的學(xué)生"); this.setPath("xuyuanMana.action"); }else{ TBanjibanji=banjiDAO.findById(banjiId); banji.setBanjiDel("yes"); banjiDAO.attachDirty(banji); this.setMessage("刪除成功"); this.setPath("xuyuanMana.action"); } return"succeed"; } @SuppressWarnings("rawtypes") publicStringbanjiEditPre(){ TBanjibanji=banjiDAO.findById(banjiId); @SuppressWarnings("unchecked") Map<String,TBanji>request=(Map)ServletActionContext.getContext() .get("request"); request.put("banji",banji); returnActionSupport.SUCCESS; } publicStringbanjiEdit(){ TBanjibanji=banjiDAO.findById(banjiId); banji.setBanjiBianhao(banjiBianhao); banji.setBanjiName(banjiName); banji.setBanjiRuxuenianfen(banjiRuxuenianfen); banjiDAO.attachDirty(banji); this.setMessage("更細(xì)成功"); this.setPath("xuyuanMana.action"); return"succeed"; } publicStringgetBanjiBianhao(){ returnbanjiBianhao; } publicvoidsetBanjiBianhao(StringbanjiBianhao){ this.banjiBianhao=banjiBianhao; } publicTBanjiDAOgetBanjiDAO(){ returnbanjiDAO; } publicvoidsetBanjiDAO(TBanjiDAObanjiDAO){ this.banjiDAO=banjiDAO; } publicintgetBanjiId(){ returnbanjiId; } publicvoidsetBanjiId(intbanjiId){ this.banjiId=banjiId; } publicStringgetBanjiName(){ returnbanjiName; } publicvoidsetBanjiName(StringbanjiName){ this.banjiName=banjiName; } publicStringgetBanjiRuxuenianfen(){ returnbanjiRuxuenianfen; } publicvoidsetBanjiRuxuenianfen(StringbanjiRuxuenianfen){ this.banjiRuxuenianfen=banjiRuxuenianfen; } publicStringgetMessage(){ returnmessage; } publicvoidsetMessage(Stringmessage){ this.message=message; } publicStringgetPath(){ returnpath; } publicvoidsetPath(Stringpath){ this.path=path; } publicTStuDAOgetStuDAO(){ returnstuDAO; } publicvoidsetStuDAO(TStuDAOstuDAO){ this.stuDAO=stuDAO; } publicTXibieDAOgetXibieDAO(){ returnxibieDAO; } publicvoidsetXibieDAO(TXibieDAOxibieDAO){ this.xibieDAO=xibieDAO; } publicTXuyuanDAOgetXuyuanDAO(){ returnxuyuanDAO; } publicvoidsetXuyuanDAO(TXuyuanDA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論