基于net的汽車租賃管理信息系統(tǒng)_第1頁
基于net的汽車租賃管理信息系統(tǒng)_第2頁
基于net的汽車租賃管理信息系統(tǒng)_第3頁
基于net的汽車租賃管理信息系統(tǒng)_第4頁
基于net的汽車租賃管理信息系統(tǒng)_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、題目:基于.net的汽車租賃管理信息系統(tǒng)分析、設(shè)計與實現(xiàn)成績: 總計大作業(yè)67頁表格 22表插圖 56目 錄TOC o 1-2 h z u HYPERLINK l _Toc265136600 第一章成績管理系統(tǒng)需求分析 PAGEREF _Toc265136600 h 1 HYPERLINK l _Toc265136601 1.導(dǎo)言 PAGEREF _Toc265136601 h 1 HYPERLINK l _Toc265136602 2.系統(tǒng)定義 PAGEREF _Toc265136602 h 2 HYPERLINK l _Toc265136603 3.應(yīng)用環(huán)境 PAGEREF _Toc265

2、136603 h 2 HYPERLINK l _Toc265136604 4.功能規(guī)格 PAGEREF _Toc265136604 h 5 HYPERLINK l _Toc265136612 5.性能需求 PAGEREF _Toc265136612 h 14 HYPERLINK l _Toc265136613 6.產(chǎn)品提交 PAGEREF _Toc265136613 h 16 HYPERLINK l _Toc265136614 7.實現(xiàn)約束 PAGEREF _Toc265136614 h 16 HYPERLINK l _Toc265136615 第二章成績管理系統(tǒng)概要設(shè)計 PAGEREF _T

3、oc265136615 h 17 HYPERLINK l _Toc265136616 1.系統(tǒng)分析 PAGEREF _Toc265136616 h 17 HYPERLINK l _Toc265136617 2. 界面設(shè)計 PAGEREF _Toc265136617 h 18 HYPERLINK l _Toc265136618 3. 體系結(jié)構(gòu) PAGEREF _Toc265136618 h 20 HYPERLINK l _Toc265136625 4. 數(shù)據(jù)模型 PAGEREF _Toc265136625 h 26 HYPERLINK l _Toc265136626 5. 模塊 PAGEREF

4、_Toc265136626 h 32 HYPERLINK l _Toc265136627 第三章成績管理系統(tǒng)詳細(xì)設(shè)計 PAGEREF _Toc265136627 h 34 HYPERLINK l _Toc265136628 1.系統(tǒng)設(shè)計概述 PAGEREF _Toc265136628 h 34 HYPERLINK l _Toc265136629 2. 詳細(xì)設(shè)計概述 PAGEREF _Toc265136629 h 34 HYPERLINK l _Toc265136630 3. 登錄模塊的詳細(xì)設(shè)計(該模塊可復(fù)用) PAGEREF _Toc265136630 h 35 HYPERLINK l _To

5、c265136634 4. 復(fù)用的模塊 PAGEREF _Toc265136634 h 39 HYPERLINK l _Toc265136635 5. 配置文件 PAGEREF _Toc265136635 h 40 HYPERLINK l _Toc265136636 第四章成績管理系統(tǒng)編碼實現(xiàn) PAGEREF _Toc265136636 h 45 HYPERLINK l _Toc265136637 1.編碼格式規(guī)范 PAGEREF _Toc265136637 h 45 HYPERLINK l _Toc265136638 2.命名規(guī)范 PAGEREF _Toc265136638 h 45 HYP

6、ERLINK l _Toc265136639 3.聲明規(guī)范 PAGEREF _Toc265136639 h 46 HYPERLINK l _Toc265136640 4.目錄規(guī)范 PAGEREF _Toc265136640 h 47 HYPERLINK l _Toc265136642 第五章成績管理系統(tǒng)測試計劃 PAGEREF _Toc265136642 h 48 HYPERLINK l _Toc265136643 1. 測試項目 PAGEREF _Toc265136643 h 48 HYPERLINK l _Toc265136644 2. 測試方法 PAGEREF _Toc265136644

7、 h 61 HYPERLINK l _Toc265136645 第六章部署運(yùn)行維護(hù) PAGEREF _Toc265136645 h 63 HYPERLINK l _Toc265136646 第七章總結(jié)與展望 PAGEREF _Toc265136646 h 64 HYPERLINK l _Toc265136647 1.本程序的總結(jié)和展望 PAGEREF _Toc265136647 h 64 HYPERLINK l _Toc265136648 2.感想 PAGEREF _Toc265136648 h 65 HYPERLINK l _Toc265136649 參考文獻(xiàn) PAGEREF _Toc265

8、136649 h 66第一章 成績管理系統(tǒng)需求分析1.導(dǎo)言1.1 目的該文檔是關(guān)于用戶對于成績管理系統(tǒng)的功能和性能的要求,重點(diǎn)描述了成績管理系統(tǒng)的功能需求,是概要設(shè)計階段的重要輸入。本文檔的預(yù)期讀者是: 設(shè)計人員; 開發(fā)人員; 項目管理人員; 測試人員; 用戶。1.2 范圍該文檔是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型的,解決整個項目系統(tǒng)的“做什么”的問題。在這里,沒有涉及開發(fā)技術(shù),而主要是通過建立模型的方式來描述用戶的需求,為客戶、用戶、開發(fā)方等不同參與方提供一個交流的平臺。1.3 編寫說明JSP,Java Server Page(Java服務(wù)器頁面)的縮寫,一個腳本化的語言。UML

9、,Unified Modeling Language(統(tǒng)一建模語言)的縮寫,是一個標(biāo)準(zhǔn)的建模語言。1.4 術(shù)語定義加權(quán)分?jǐn)?shù):權(quán)值*等價分?jǐn)?shù)2.系統(tǒng)定義我們分別闡述一下項目的來源、背景,項目的用戶特點(diǎn)和項目的目標(biāo)。2.1 項目來源及背景本項目是為一家汽車租賃公司開發(fā)的汽車租賃管理系統(tǒng),傳統(tǒng)的汽車租賃管理系統(tǒng)在數(shù)據(jù)處理方面比較繁瑣,管理人員需要花費(fèi)很多的時間和精力去處理它。計算機(jī)的存儲與查詢功能不能滿足于用戶的基本需求而且租賃的基本信息管理的精確度也不夠高出現(xiàn)了不少的漏洞,這也很浪費(fèi)人力和時間。為此汽車租賃公司希望有一個對車輛的基本信息、租賃結(jié)算、租還時間等進(jìn)行了綜合統(tǒng)計和管理,使顧客和管理人員能

10、夠更快的得到自己想要的信息。為了把管理人員從繁瑣的數(shù)據(jù)處理中解脫出來,使顧客更快捷的找到自己想租的車輛,我們開發(fā)了汽車租賃管理信息系統(tǒng)。管理人員通過這個管理系統(tǒng)對車輛信息、租賃信息、顧客信息進(jìn)行系統(tǒng)的管理,而且顧客可以直接登陸系統(tǒng)查看所有車輛信息,也可以根據(jù)自己的需要搜索相關(guān)車輛的信息。2.2 用戶的特點(diǎn)本系統(tǒng)的用戶都是本地用戶“管理員”,他們是租賃公司的工作人員,對租賃業(yè)務(wù)很熟悉,可以完成汽車租賃、歸還、結(jié)算等業(yè)務(wù)。2.3 項目目標(biāo)本項目設(shè)定的目標(biāo)如下:系統(tǒng)能夠提供友好的用戶界面,使管理人員人員工作量最大限度減少;系統(tǒng)具有良好的運(yùn)行效率,能夠達(dá)到提高生產(chǎn)率的目的;系統(tǒng)應(yīng)有良好的可擴(kuò)充性,可以

11、容易地加入其他系統(tǒng)的應(yīng)用;平臺的設(shè)計具有一定的超前性,靈活性,能夠適應(yīng)企業(yè)生產(chǎn)配置的變化;通過這個項目可以鍛煉隊伍,提高團(tuán)隊的開發(fā)能力和項目管理能力。3.應(yīng)用環(huán)境管理端的功能提供“車輛管理”、“合同管理”、“租金管理”、“客戶管理”等四大功能。它們的關(guān)系如圖1-1所示、。圖1-1 汽車租賃管理系統(tǒng)流程圖3.1 系統(tǒng)運(yùn)行的硬件環(huán)境本系統(tǒng)的硬件環(huán)境如下:客戶機(jī):普通PC CPU:P41.8GHz以上 內(nèi)存:256MB以上 分辨率:推薦使用1024768像素數(shù)據(jù)庫服務(wù)器 CPU:P42.0GHz 內(nèi)存:1GB以上硬盤:80GB以上圖1-2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖系統(tǒng)運(yùn)行軟件環(huán)境本系統(tǒng)的軟件環(huán)境如下: 操作系

12、統(tǒng):UNIX/Linux/Windows2000或以上版本 數(shù)據(jù)庫:SQL server 2000 開發(fā)工具包:JDK Version 1.54.功能規(guī)格我們采用面向?qū)ο蠓治鲎鳛橹饕南到y(tǒng)建模方法,使用UML(Unified Modeling Language)作為建模語言。UML為建?;顒犹峁┝藦牟煌嵌扔^察和展示系統(tǒng)的各種特征的方法。在UML中,從任何一個角度對系統(tǒng)所作的抽象都可能需要幾種模型來描述,而這些來自不同角度的模型圖最終組成了系統(tǒng)的映像。用例描述角色(用戶、外部系統(tǒng)以及系統(tǒng)處理)是如何與系統(tǒng)交互來完成工作的。用例模型提供了一個非常重要的方式來界定系統(tǒng)邊界以及定義系統(tǒng)功能,同時,該

13、模型將來可以派生出動態(tài)對象模型。設(shè)計用例時,我們遵循下列步驟:1)識別出系統(tǒng)的角色。角色可以是用戶、外部系統(tǒng),甚至是外部處理,通過某種途徑與系統(tǒng)交互。重要的是著重從系統(tǒng)外部執(zhí)行者的角度來描述系統(tǒng)需要提供哪些功能,并指明這些功能的執(zhí)行者(角色)是誰。盡可能地確保所有角色都被完全識別出來。2)描述主要的用例??梢圆扇〔粩嗟貑栕砸选斑@個角色究竟想過系統(tǒng)做什么?”來準(zhǔn)確地描述用例。3)重新審視每個用例,為它們下個詳盡的定義。4.1 角色定義角色或者執(zhí)行者指與系統(tǒng)產(chǎn)生交互的外部用戶或者外部系統(tǒng)。4.1.1 導(dǎo)師導(dǎo)師是指在負(fù)責(zé)一個專業(yè)某個班級的一位老師,它可以管理多個班級。使用以下功能:“學(xué)期科目管理”、

14、“學(xué)期學(xué)生管理”、“成績錄入”,“成績查看”、“統(tǒng)計查看”。管理用戶管理用戶可以是教學(xué)管理部的人員,主要功能是管理端的功能提供“導(dǎo)師管理”、“部門管理”、“科目管理”、“學(xué)期管理”、“學(xué)年管理”、“專業(yè)學(xué)期激活”等六大功能。對于這些管理,沒有具體細(xì)分,有一個人來完成。4.1.3 數(shù)據(jù)庫數(shù)據(jù)庫是一個與系統(tǒng)產(chǎn)生交互的外部系統(tǒng),這個角色負(fù)責(zé)系統(tǒng)的數(shù)據(jù)查詢、增加、刪除和修改等操作。4.2 系統(tǒng)主用例圖成績管理系統(tǒng)可以分為兩個主要的組成部分,一個是客戶端子系統(tǒng)。一個是管理端子系統(tǒng)。客戶端子系統(tǒng)功能主要是指導(dǎo)師通過登錄招聘網(wǎng)站進(jìn)行操作的功能,即應(yīng)聘功能。管理端子系統(tǒng)功能是招聘公司的管理人員發(fā)布招聘職位,整

15、理導(dǎo)師簡歷,面試等功能。系統(tǒng)的主用例如圖1-4所示。圖1-3 系統(tǒng)的主用例圖4.3 客戶端子系統(tǒng)導(dǎo)師通過通過成績系統(tǒng)對成績進(jìn)行管理。圖1-4是它的活動圖??蛻舳说墓δ苤饕ā皩W(xué)期科目管理”、“學(xué)期學(xué)生管理”、“成績錄入”,“成績查看”、“統(tǒng)計查看”。圖1-5是它的用例圖。圖1-4 客戶端的活動圖圖1-5 客戶端的功能用例圖客戶端管理的這些用例描述如下:1.1:獲取對班級的管理權(quán)限。1.2:添加學(xué)期的課程。1.3:添加學(xué)生。1.4:成績錄入。1.5:成績查看。4.3.1獲取對班級的管理權(quán)限。用例描述:獲取對班級的管理權(quán)限,從而可以對班級進(jìn)行管理;執(zhí)行者:導(dǎo)師;前置條件:該專業(yè)學(xué)年已被激活;后置

16、條件:無基本路徑:a)選擇院系b)選擇專業(yè)、班級、學(xué)期、學(xué)年4.3.2添加學(xué)期的課程。用例描述:添加學(xué)期的課程;執(zhí)行者:導(dǎo)師;前置條件:已獲得管理權(quán)限、管理員端已將需要添加的課程添加入數(shù)據(jù)庫;后置條件:無基本路徑:a)選擇院系b)選擇專業(yè)、學(xué)期、學(xué)年4.3.3添加學(xué)生。用例描述:添加學(xué)生。執(zhí)行者:導(dǎo)師;前置條件:已獲得管理權(quán)限后置條件:無基本路徑:a)選擇院系b)選擇專業(yè)、班級、學(xué)期、學(xué)年4.3.4成績錄入。用例描述:成績錄入。執(zhí)行者:導(dǎo)師;前置條件:已獲得管理權(quán)限、課程已添加、學(xué)生已添加;后置條件:無基本路徑:a)選擇院系b)選擇專業(yè)、學(xué)期、學(xué)年4.3.5成績查看。用例描述:成績查看執(zhí)行者:

17、導(dǎo)師;前置條件:已獲得管理權(quán)限、課程已添加、學(xué)生已添加、成績以錄入;后置條件:無基本路徑:a)選擇院系b)選擇專業(yè)、學(xué)期、學(xué)年4.4 管理端子系統(tǒng)導(dǎo)師通過通過成績系統(tǒng)對成績進(jìn)行管理。圖1-6是它的活動圖。管理端的功能提供“導(dǎo)師管理”、“部門管理”、“科目管理”、“學(xué)期管理”、“學(xué)年管理”、“專業(yè)學(xué)期激活”等六大功能。圖1-7是它的用例圖。圖1-6管理員的功能活動圖圖1-7 管理端用例圖2.1導(dǎo)師管理2.2部門管理2.3學(xué)年管理2.4學(xué)期管理 2.5管理課程2.6專業(yè)學(xué)期激活4.4.1導(dǎo)師管理。用例描述:添加添加導(dǎo)師 執(zhí)行者:管理員;前置條件:該專業(yè)學(xué)年已被激活;后置條件:無基本路徑:無4.4.

18、2部門管理用例描述:添加學(xué)校的部門;執(zhí)行者:管理員;院系管理用例描述:添加學(xué)校的院系;執(zhí)行者:管理員;前置條件:管理員登錄系統(tǒng);后置條件:無基本路徑:無專業(yè)管理用例描述:添加院系中的專業(yè);執(zhí)行者:管理員;前置條件:管理員登錄系統(tǒng)、院系已經(jīng)添加;后置條件:無基本路徑:院系選擇4.4.3學(xué)年管理用例描述:學(xué)年管理執(zhí)行者:管理員;前置條件:管理員登錄系統(tǒng);后置條件:無基本路徑:無4.4.4學(xué)期管理用例描述:學(xué)期管理執(zhí)行者:管理員;前置條件:管理員登錄系統(tǒng);后置條件:無基本路徑:無4.4.5管理課程用例描述:管理課程 ,添加課程信息執(zhí)行者:管理員;前置條件:管理員登錄系統(tǒng);后置條件:無基本路徑:無4.

19、4.6專業(yè)學(xué)期激活用例描述:專業(yè)學(xué)期激活,激活后才可使用執(zhí)行者:管理員;前置條件:管理員登錄系統(tǒng)、院系、專業(yè)、學(xué)期、學(xué)年等相關(guān)信息都已添加;后置條件:無基本路徑:a)選擇院系b)選擇專業(yè)、學(xué)期、學(xué)年4.5 登錄子系統(tǒng)所有用戶都要登錄才能使用系統(tǒng),管理員登錄后進(jìn)入管理員界面,導(dǎo)師登錄后進(jìn)入導(dǎo)師的管理界面。5.性能需求本系統(tǒng)對于教師的管理權(quán)限有很好的限定,導(dǎo)師不能隨便操作不屬于他管理的專業(yè)班級。但是在計算和統(tǒng)計成績的時候,會比較慢,因為算法不是很好。由于時間問題,目前系統(tǒng)只是完成了對表的增加操作。5.1 界面需求系統(tǒng)的界面要求如下。1)頁面內(nèi)容:主題突出,站點(diǎn)定義、術(shù)語和行文格式統(tǒng)一、規(guī)范、明確、

20、欄目、菜單設(shè)置和布局合理,傳遞的信息準(zhǔn)確、及時。內(nèi)容豐富,文字準(zhǔn)確,語句通順,專用術(shù)語規(guī)范,行文格式統(tǒng)一規(guī)范。2)導(dǎo)航結(jié)構(gòu):頁面具有明確的導(dǎo)航指示,且便于理解,方便用戶使用。3)技術(shù)環(huán)境:頁面大小適當(dāng),能用各種常用瀏覽器以不同分辨率瀏覽,無錯誤鏈接和空鏈接;采用CSS處理,控制字體大小和版面布局。4)藝術(shù)風(fēng)格:界面、版面形象清晰悅目、布局合理,字號大小適宜、字體選擇合理,前后一致,美觀大方,動與靜搭配恰當(dāng),動靜效果好;色彩和諧自然,與主題內(nèi)容相協(xié)調(diào)。5.2 響應(yīng)時間需求無論是客戶端還是管理端,當(dāng)用戶登錄,進(jìn)行任何操作的時候,系統(tǒng)應(yīng)該及時地進(jìn)行反應(yīng),反應(yīng)的時間在30秒以內(nèi)。系統(tǒng)應(yīng)能監(jiān)測出各種非正

21、常情況,如與設(shè)備的通信中斷,無法連接數(shù)據(jù)庫服務(wù)器等,以避免出現(xiàn)長時間等待甚至無響應(yīng)。在計算成績時,請耐心等待5.3 可靠性需求系統(tǒng)應(yīng)保證724小時內(nèi)不宕機(jī),保證15人可以同時在客戶端登錄,此時系統(tǒng)能正常運(yùn)行,正確提示相關(guān)內(nèi)容。5.4 開放性需求系統(tǒng)應(yīng)具有較強(qiáng)的靈活性,以適應(yīng)將來功能擴(kuò)展的需求。5.5 可擴(kuò)展性需求還有很多功能可以添加:如:1使用簡便方法錄入成績;2如果已有一個學(xué)期使用了改系統(tǒng),那么再次使用時可以快速添加學(xué)生3、即使是第一次使用,也有簡便方法添加學(xué)生4統(tǒng)計功能5與基本信息系統(tǒng)鏈接獲取學(xué)期的學(xué)生6完善CURD操作以上功能均可實現(xiàn),時間有限,尚未完成5.6 系統(tǒng)安全性需求1應(yīng)該使用過

22、濾器(Filter)或攔截器,對非法進(jìn)入頁面進(jìn)行攔截2許多session對象使用后沒有釋放,很占資源,如果多人使用容易使系統(tǒng)崩潰,真正使用時,必須釋放。6.產(chǎn)品提交提交產(chǎn)品為:a)應(yīng)用系統(tǒng)軟件包;b)數(shù)據(jù)庫中有一些測試是的數(shù)據(jù)c)系統(tǒng)開發(fā)過程文檔;d)系統(tǒng)使用、維護(hù)說明文檔,提交方式為CD介質(zhì)。7.實現(xiàn)約束系統(tǒng)的實現(xiàn)約束如下:a)操作系統(tǒng)為WindowsXPb)開發(fā)平臺為:MyEclipse7.1 c)數(shù)據(jù)庫為MySQL6.0第二章 成績管理系統(tǒng)概要設(shè)計1.系統(tǒng)分析本系統(tǒng)可以實現(xiàn)成績的管理,導(dǎo)師可以通過次系統(tǒng)進(jìn)行成績的計算客戶端主要功能是“學(xué)期科目管理”、“學(xué)期學(xué)生管理”、“成績錄入”,“成績

23、查看”、“統(tǒng)計查看”。管理端的功能提供“導(dǎo)師管理”、“部門管理”、“科目管理”、“學(xué)期管理”、“學(xué)年管理”、“專業(yè)學(xué)期激活”等六大功能。圖2-1為客戶端和管理端的組成構(gòu)圖。圖2-1 管理端客戶端子系統(tǒng)2. 界面設(shè)計本系統(tǒng)的用戶界面按功能分為客戶端界面和管理端界面。圖2-2登錄頁面2.1 管理端界面設(shè)計管理端的功能提供“導(dǎo)師管理”、“部門管理”、“科目管理”、“學(xué)期管理”、“學(xué)年管理”、“專業(yè)學(xué)期激活”等六大功能。主要界面設(shè)計如下:登錄界面:通過輸入用戶各和密碼,并且選擇權(quán)限(管理員)實現(xiàn)用戶登錄,;管理首頁:鏈接到六大功能導(dǎo)師管理:包括“導(dǎo)師列表”、“添加導(dǎo)師”、“修改導(dǎo)師信息”、“增加導(dǎo)師”

24、和“刪除導(dǎo)師”等頁面;部門管理:(基本同上)科目管理:(基本同上)學(xué)期管理:(基本同上)學(xué)年管理:(基本同上)專業(yè)學(xué)期激活:激活選擇頁面 圖2-3管理員登錄后頁面2.2 客戶端界面設(shè)計導(dǎo)師是指在負(fù)責(zé)一個專業(yè)某個班級的一位老師,它可以管理多個班級。使用以下功能:“學(xué)期科目管理”、“學(xué)期學(xué)生管理”、“成績錄入”,“成績查看”、“統(tǒng)計查看”。主要界面設(shè)計如下:登錄界面:通過輸入用戶各和密碼,并且選擇權(quán)限(教師)實現(xiàn)用戶登錄,;管理首頁:鏈接到五大大功能學(xué)期科目管理:學(xué)期學(xué)生管理:成績錄入成績查看:統(tǒng)計查看:圖2-4導(dǎo)師登錄后頁面3. 體系結(jié)構(gòu)系統(tǒng)的總體結(jié)構(gòu)設(shè)計遵循如下原則。1)系統(tǒng)應(yīng)具有良好的適應(yīng)性

25、:能適應(yīng)用戶對系統(tǒng)的軟件環(huán)境、管理內(nèi)容、模式和界面的要求;2)系統(tǒng)應(yīng)具有可靠性:采用成熟的技術(shù)方法和軟件開發(fā)平臺,以保證系統(tǒng)在以后的實際應(yīng)用中安全、可靠;3)系統(tǒng)應(yīng)具有較好的安全性:應(yīng)提高安全機(jī)制和用戶權(quán)限限制機(jī)制的完善程度,確保數(shù)據(jù)的受限訪問;4)系統(tǒng)應(yīng)具有良好的可維護(hù)性:系統(tǒng)應(yīng)易于維護(hù)、安裝;5)系統(tǒng)應(yīng)具有良好的可擴(kuò)展性:系統(tǒng)應(yīng)適應(yīng)未來信息化建設(shè)的要求,能方便地進(jìn)行功能擴(kuò)展,以建立完善的信息集成管理體系。本系統(tǒng)采用體系結(jié)構(gòu),struct是一個基于模型(Model)一視圖(View)一控制器(Controller),即MVC模式的應(yīng)用架構(gòu)的開源框架。3.1 體系結(jié)構(gòu)目前軟件項目中有很多體系結(jié)

26、構(gòu),其中struct是比較流行的一種。3.1.1 struct體系結(jié)構(gòu)對于開發(fā)Web應(yīng)用,要從頭設(shè)計并開發(fā)出一個可靠、穩(wěn)定的框架不是一件容易的事情。隨著Web開發(fā)技術(shù)的日趨成熟,在Web開發(fā)領(lǐng)域出現(xiàn)了一些現(xiàn)成的優(yōu)秀的框架、開發(fā)者可以直接使用它們,struct就是一個很好的框架結(jié)構(gòu),它是在JSP Model2基礎(chǔ)上實現(xiàn)的一個MVC框架,在struct框架在模型由實現(xiàn)業(yè)務(wù)邏輯的JavaBean或者EJB組件構(gòu)成,控制器由ActionServlet和Action來實現(xiàn),視圖由一組JSP文件組成,圖2-5顯示了Struct實現(xiàn)的MVC框架。同時只得一題的是,使用的SwitchAction,是程序模塊化

27、,更易維護(hù)和后期管理。圖2-5 管理端的頁面流程圖2-6 客戶端的頁面流程視圖,就是一組JSP文件,這些JSP文件沒有業(yè)務(wù)邏輯,也沒有模型信息,只有標(biāo)簽,這些標(biāo)簽可以是標(biāo)準(zhǔn)的JSP標(biāo)簽或者是客戶化標(biāo)簽,如struct標(biāo)簽庫的標(biāo)簽。此外,通常將struct框架中的ActionForm Bean也劃為視圖模塊,ActionForm Bean是一種JavaBean,除了具有一些JavaBean的常規(guī)方法外,還包含了一些特殊的方法,用于驗證HTML表單數(shù)據(jù)以及將其屬性重新設(shè)置為默認(rèn)值。Struct框架利用ActionForm Bean來進(jìn)行視圖和控制器之間表單數(shù)據(jù)的傳遞。Strcut框架將用戶輸入的表

28、單數(shù)據(jù)保存在ActionForm Bean中,將它傳遞給控制器,控制器可以對ActionForm Bean中的數(shù)據(jù)進(jìn)行修改,JSP文件使用struct標(biāo)簽讀取修改后的ActionForm Bean的信息,然后重新設(shè)置HTML表單。控制器ActionServlet控制器ActionServlet視圖JSPStruct-config.xml模型JavaBeanEJBActionActionAction瀏覽器Web服務(wù)器圖2-7 struct實現(xiàn)的MVC框架控制器,控制器由ActionServlet類和Action類實現(xiàn),ActionServlet類是struct框架中的核心組件,是這個MVC的中央

29、控制器的角色。ActionServlet主要負(fù)責(zé)接收HTTP請求的信息,根據(jù)配置文件struct-config.xml的配置信息,將請求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction對象,如果該Action對象不存在,ActionServlet會先創(chuàng)建這個Action對象.Action類負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程,對于小型簡單的應(yīng)用,Action類本身也可以完成一些實際的業(yè)務(wù)邏輯。模型,模型表示應(yīng)用程序的狀態(tài)和業(yè)務(wù)邏輯,業(yè)務(wù)邏輯常常由JavaBean或者EJB組件實現(xiàn)。如果在Web應(yīng)用開發(fā)中套用現(xiàn)成的struct框架,就可以簡化每個開發(fā)階段的工作,開發(fā)人員可以更加有針對性地分析應(yīng)用

30、需求,不必重新設(shè)計框架,只需在struct框架的基礎(chǔ)上,設(shè)計MVC各個模塊包含的具體組件,在編碼過程中,可以充分利用struct提供的各種實用類和標(biāo)簽庫,簡化編碼工作。Struct框架可以方便迅速地將一個復(fù)雜的應(yīng)用劃分成模型、視圖和控制器組件,而struct的配置文件struct-config.xml可以靈活地組裝這些組件,以簡化開發(fā)過程。3.1.2 系統(tǒng)體系結(jié)構(gòu)根據(jù)系統(tǒng)分析結(jié)果,該系統(tǒng)從結(jié)構(gòu)上應(yīng)滿足:基于游覽器進(jìn)行顯示以方便用戶使用;采用MVC的三層體系結(jié)構(gòu),分化各個功能組件;采用JDBC技術(shù)與數(shù)據(jù)庫通信以便于數(shù)據(jù)庫的轉(zhuǎn)換;采用標(biāo)簽技術(shù)完成動態(tài)頁面的簡單邏輯。本系統(tǒng)的體系結(jié)構(gòu)如圖2-6所示,

31、它基本遵循了struct體系的MVC框架規(guī)范。視圖(V)層:用戶界面(瀏覽器)視圖(V)層:用戶界面(瀏覽器)HTML,CSS,DHTML,JavaScript,XML視圖(V)層:服務(wù)器端腳本Connects UI to Business Objects, Java Server Pages,Java Servlets控制(C)層:分布式組件JavaBean圖2-8 系統(tǒng)的體系結(jié)構(gòu)其中:表示層,用于與用戶進(jìn)行交互并顯示結(jié)果。包括所有的JSP,提供用戶界面,接受用戶輸入,還包括相應(yīng)的ActionFrom Bean,用來存放表單數(shù)據(jù),并進(jìn)行表單數(shù)據(jù)驗證;控制層,包括所有的Action類,它完成三

32、項任務(wù),一是進(jìn)行業(yè)務(wù)邏輯驗證,二是調(diào)用模型組件,三是決定將合適的視圖組件返回給用戶;模型,包括進(jìn)行邏輯處理的JavaBean等,數(shù)據(jù)庫采用ODBC技術(shù)以提供數(shù)據(jù)庫的可移植性。1)客戶層:用于與企業(yè)信息系統(tǒng)的用戶進(jìn)行交互以及顯示根據(jù)特定業(yè)務(wù)規(guī)則進(jìn)行計算后的結(jié)果。本系統(tǒng)將完全采用基于Web的(B/S架構(gòu))客戶端,即用戶可以直接通過瀏覽器來訪問和使用本系統(tǒng)。2)中間層:這相當(dāng)于三層標(biāo)準(zhǔn)架構(gòu)中的Web應(yīng)用服務(wù)層,支持諸如響應(yīng)客戶請求以及查詢等功能。并且由中間層進(jìn)行邏輯處理,再將處理的結(jié)果反饋給客戶或者發(fā)送到數(shù)據(jù)庫中。3)服務(wù)層:主要是數(shù)據(jù)庫系統(tǒng),這里的數(shù)據(jù)庫系統(tǒng)主要是關(guān)系數(shù)據(jù)庫系統(tǒng)(RDMS)。3.2

33、 系統(tǒng)進(jìn)行環(huán)境 下面講述系統(tǒng)運(yùn)行的網(wǎng)絡(luò)結(jié)構(gòu),硬件、軟件環(huán)境。3.2.1 網(wǎng)絡(luò)結(jié)構(gòu)主要是希望在局域網(wǎng)內(nèi)使用。3.2.2 硬件環(huán)境本系統(tǒng)的硬件環(huán)境如下。1)客戶機(jī):普通PCCPU:P41.8GHz以上內(nèi)存:256MB以上能夠運(yùn)行IE5.0以上或者Netscape4.0以上版本的機(jī)器分辨率:推薦使用1024768像素2)Web服務(wù)器CPU:P42.0GHz內(nèi)存:1GB以上硬盤:80GB以上網(wǎng)卡:KMb/s速度網(wǎng)卡3)數(shù)據(jù)庫服務(wù)器CPU:P42.0GHz內(nèi)存:1GB以上硬盤:80GB以上32.3 軟件環(huán)境本系統(tǒng)的軟件環(huán)境如下:操作系統(tǒng):windows XP 數(shù)據(jù)庫:MySQL6.0開發(fā)工具包:JDK

34、Version1.5開發(fā)環(huán)境:Myeclipse7.1Web服務(wù)器:Tomcat6.02瀏覽器:IE5.0以上1)數(shù)據(jù)庫及操作系統(tǒng):使用免費(fèi)的開源項目MySQL 2)Web服務(wù)軟件:同樣使用免費(fèi)的開源項目Tomcat4. 數(shù)據(jù)模型本系統(tǒng)的數(shù)據(jù)模型設(shè)計內(nèi)容主要是進(jìn)行數(shù)據(jù)庫的設(shè)計。4.1 數(shù)據(jù)庫的概念結(jié)構(gòu)模型設(shè)計概念設(shè)計用來反映現(xiàn)實世界中的實體、屬性和它們之間的關(guān)系等的原始數(shù)據(jù)形式,建立數(shù)據(jù)庫的每一幅用戶視圖。圖2-8是系統(tǒng)E-R圖??蛻舳酥饕δ苁恰皩W(xué)期科目管理”、“學(xué)期學(xué)生管理”、“成績錄入”,“成績查看”、“統(tǒng)計查看”。管理端的功能提供“導(dǎo)師管理”、“部門管理”、“科目管理”、“學(xué)期管理”、

35、“學(xué)年管理”、“專業(yè)學(xué)期激活”等六大功能。它們的關(guān)系如圖1-1所示、。4.2 數(shù)據(jù)庫的邏輯結(jié)構(gòu)模型設(shè)計數(shù)據(jù)庫的邏輯設(shè)計是將各局部的E-R圖進(jìn)行分解、合并后重新組織起來形成數(shù)據(jù)庫全局邏輯結(jié)構(gòu),包括所確定的關(guān)鍵字和屬性、重新確定的記錄結(jié)構(gòu)、所建立的各個數(shù)據(jù)之間的相互關(guān)系。根據(jù)本系統(tǒng)需求分析,系統(tǒng)管理員的數(shù)據(jù)庫包括了院系信息、專業(yè)信息、學(xué)年信息、學(xué)期信息、導(dǎo)師信息、課程信息,導(dǎo)師的數(shù)據(jù)庫有學(xué)生,注冊專業(yè)學(xué)期管理信息,專業(yè)學(xué)期課程、學(xué)生成績。4.2.1登錄模塊包括的庫表:登錄表 (scoreLogin)4.2.2管理員模塊包括的庫表:院系表 (collage)專業(yè)表(professional)學(xué)期表(

36、semester)學(xué)年表(schoolyear)課程表(course)登錄表 (scoreLogin)4.2.3院系選擇模塊院系表 (collage)專業(yè)表(professional)學(xué)期表(semester)學(xué)年表(schoolyear)4.2.4導(dǎo)師模塊專業(yè)學(xué)期成績表(semesterResults)專業(yè)學(xué)期學(xué)生表(semesterStudent)專業(yè)學(xué)期教師表(semesterTeacher)專業(yè)學(xué)期表(proSemester)圖2-9數(shù)據(jù)庫ER圖 *系統(tǒng)數(shù)據(jù)庫設(shè)計物理模型*登錄表 (scoreLogin)1.1字段名字段代碼字段類型主(外)鍵是否為空備注(代碼字典表)用戶登錄IDsl_

37、numchar(6)YN用戶姓名sl_namechar(10)NN用戶密碼sl_passchar(16)NN權(quán)限sl_permessionIntegerNN2為老師3為管理員*院系表 (collage)1.2字段名字段代碼字段類型主(外)鍵是否為空備注(代碼字典表)院系編號coll_idIngeterYN自動增長院系名coll_namevarchar(30)YN*專業(yè)表(professional)1.3字段名字段代碼字段類型主外鍵是否為空備注(代碼字典表)專業(yè)編號pro_idIntegerYN自動增長專業(yè)名pro_namevarcharNN院系編號coll_idIntegerNN*學(xué)期表(se

38、mester)1.4字段名字段代碼字段類型主(外)鍵是否為空備注(代碼字典表)學(xué)期IdsemesterIdIntegerYN自動增長學(xué)期semesterchar(26)NN填寫時有固定的格式*學(xué)年表(schoolyear)1.5字段名字段代碼字段類型主(外)鍵是否為空自動增長學(xué)年IdschoolyearIdIntegerYN填寫時有固定的格式學(xué)年schoolyearchar(4)NN填寫時有固定的格式*課程表(course)1.6字段名字段代碼字段類型主(外)鍵是否為空備注(代碼字典表)課程號courseIdchar(6)YN課程名courseNamechar(4)NN權(quán)值courseRigh

39、tIntegerNN計算等價分?jǐn)?shù)時使用課程類型courseTypeIntegerNN統(tǒng)計優(yōu)秀率時,PF類課程不列入計算*專業(yè)學(xué)期表(proSemester)1.7字段名字段代碼字段類型主(外)鍵是否為空備注(代碼字典表)專業(yè)學(xué)期IDproSemIdIntegerYN通過激活操作產(chǎn)生,產(chǎn)生后才可使用院系IdproSemCollNameIntegerYN專業(yè)IdproSemProNameIntegerYN學(xué)期IdproSemSemesterIdIntegerYN學(xué)年IdproSemSchoolyearIdIntegerYN*專業(yè)學(xué)期教師表(semesterTeacher)1.8字段名字段代碼字段類

40、型主(外)鍵是否為空備注(代碼字典表)專業(yè)學(xué)期教師IDsemTea_IdIntegerYN自動增長專業(yè)學(xué)期IdsemTea_ProSem_IdIntegerYN教師的IdsemTea_TeacherNumchar(6)YN管理的班級semTea_Classchar(4)NN*專業(yè)學(xué)期課程表(semesterCourse)1.9字段名字段代碼字段類型主(外)鍵是否為空備注(代碼字典表)專業(yè)學(xué)期IdsemCour_ProSem_IdIntegerYN課程號semCour_CourseIdchar(6)YN*專業(yè)學(xué)期學(xué)生表(semesterStudent)1.10字段名字段代碼字段類型主(外)鍵是否

41、為空備注(代碼字典表)專業(yè)學(xué)期IdsemStu_proSem_IdIntegerYN學(xué)生學(xué)號semStu_stuNumchar(9)YN學(xué)生姓名semStu_stuNamevarchar(8)NN學(xué)生班級semStu_stuClasschar(4)NN學(xué)生狀態(tài)semStu_stuStaIntegerNN*專業(yè)學(xué)期成績表(semesterResults)1.11字段名字段代碼字段類型主(外)鍵是否為空備注(代碼字典表)專業(yè)學(xué)期教師IDsemRes_SemTea_IdIntegerYN此功能是為了老師將來能修改成績,但是目前程序插入數(shù)據(jù)庫的是專業(yè)學(xué)期Id專業(yè)學(xué)期IdsemRes_proSem_Id

42、IntegerYN學(xué)生班級semRes_StuClasschar(4)NN學(xué)生學(xué)號semRes_StuNumchar(9)YN課程號semRes_CourseId charchar(6)YN學(xué)生成績semRes_semResScorechar(1)NN5. 模塊系統(tǒng)分為4個模塊:5.1登錄模塊5.2管理員模塊5.3院系選擇模塊5.4導(dǎo)師模塊此項目為逆向工程,由于代碼量太多,頁面太多,下面只給出登錄模塊的設(shè)計。5.1登錄模塊5.1.1表示層設(shè)計根據(jù)上述功能介紹,總結(jié)出客戶端的頁面設(shè)計如表2-1所列。表2-1登錄模塊的頁面設(shè)計界面JSP功能描述主頁面lonin.jsp客戶端的主頁面5.1.2 控制

43、層控制層主要是設(shè)計Action組件,Action負(fù)責(zé)單位事件的流程控制,Action映射決定了Action與其他Web組件之間的關(guān)聯(lián)關(guān)系。根據(jù)權(quán)限選擇管理員界面還是導(dǎo)師頁面。表2-5 客戶端應(yīng)用的Action映射事件Action入口ActionForm出口登錄PreLoginActionLoginActonlogin.jsp login.jspLoginFormadmin/main/main.jspTeacher/teacher/main.jsp5.1.3 模型層在struct框架中,模型組件負(fù)責(zé)完成業(yè)務(wù)邏輯,模型組件可以是JavaBean、EJB和實用類??蛻舳说臉I(yè)務(wù)邏輯主要是完成數(shù)據(jù)庫的操

44、作,提交用戶的簡歷信息和問卷回答信息到數(shù)據(jù)庫中。具體的模型組件如表2-6所示。表2-6 客戶端的模型組件模型組件描述loginValue登人員這信息第三章 成績管理系統(tǒng)詳細(xì)設(shè)計1.系統(tǒng)設(shè)計概述根據(jù)汽車租賃管理信息系統(tǒng)的概要設(shè)計,本系統(tǒng)按照功能分解,如下圖。 圖3-1 模塊設(shè)計2. 詳細(xì)設(shè)計概述由于本系統(tǒng)采用了基于struct體系結(jié)構(gòu)的設(shè)計,即MVC的三層設(shè)計模式,并采用面向?qū)ο蟮腏ava語言以及JSP的腳本語言實現(xiàn)。在整個開發(fā)過程中,盡可能采用復(fù)用的原則,例如采用標(biāo)簽庫,統(tǒng)一數(shù)據(jù)庫的基本操作,統(tǒng)一結(jié)果顯示等。本文檔的詳細(xì)設(shè)計主要地按照struct的MVC的三個層次分別編制視圖層、控制層和模型層

45、模塊代碼此項目為逆向工程,由于代碼量太多,頁面太多,下面只給出登錄模塊的設(shè)計。3. 登錄模塊的詳細(xì)設(shè)計(該模塊可復(fù)用)登錄模塊主要實現(xiàn)登錄驗證功能,登錄模塊的struct視圖層、控制層和模型層三個層次的模塊如表3-2所示。表3-2 登陸模塊的三層模塊視圖控制器模型JSP組件ActionFormBean客戶標(biāo)簽LoginLoginFormStruct Html標(biāo)簽PreLoginActionLoginActionLoginValue3.1 視圖層視圖層主要實現(xiàn)表示層的功能,視圖層包括JSP組件、Form組件以及標(biāo)簽庫等。3.1.1 JSP組件登錄模塊1個jsp頁面3.1.2 Form組件其他Fo

46、rm偽代碼詳見文件WSZP-PD-DD-Position-ViewForm.doc,它有關(guān)于每個Form的偽代碼的詳細(xì)描述。package com.sxzlc.score.login.struts.form;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionMapping;/* * MyEclipse St

47、ruts * Creation date: 06-02-2009 * * XDoclet definition: * struts.form name=loginForm */public class LoginForm extends ActionForm private String num;private String pass;private Integer permession;private String name;public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) / TOD

48、O Auto-generated method stubreturn null;public void reset(ActionMapping mapping, HttpServletRequest request) / TODO Auto-generated method stubpublic String getNum() return num;public void setNum(String num) this.num = num;public String getPass() return pass;public void setPass(String pass) this.pass

49、 = pass;public Integer getPermession() return permession;public void setPermession(Integer permession) this.permession = permession;public String getName() return name;public void setName(String name) = name;3.1.3標(biāo)簽庫標(biāo)簽庫包括Struct Html標(biāo)簽、Struct Bean標(biāo)簽、Struct Logic標(biāo)簽3.2 控制層職位發(fā)布控制層共有2個Action文件,一個是前發(fā)發(fā)Acti

50、on 一個是后分發(fā)Action下面是PreLoginAction的偽代碼描述。package com.sxzlc.score.login.struts.action;import java.io.UnsupportedEncodingException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;

51、import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;/* * MyEclipse Struts * Creation date: 06-03-2009 * * XDoclet definition: * struts.action parameter=method validate=true * struts.action-forward name=login path=/login/login.jsp */public class PreLoginAction

52、extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) try request.setCharacterEncoding(GBK); catch (UnsupportedEncodingException e) e.printStackTrace();return mapping.findForward(login);3.3 模型層職位管理模型層1個組件,下面是JobBe

53、an的偽代碼描述。package com.sxzlc.score.login.struts.action;/* * MyEclipse Struts * Creation date: 06-02-2009 * * XDoclet definition: * struts.action path=/login name=loginForm input=/login/login.jsp scope=request validate=true */public class LoginAction extends Action private ILoginDao loginDao;public ILo

54、ginDao getLoginDao() return loginDao;public void setLoginDao(ILoginDao loginDao) this.loginDao = loginDao;public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)LoginForm loginForm = (LoginForm) form;/ TODO Auto-generated method s

55、tubString num = loginForm.getNum();String pass = loginForm.getPass();int permession = loginForm.getPermession();/System.out.println(num+pass+permession+);try if(loginDao.readLogin(num, pass, permession)/System.out.println(登錄成功); request.getSession().setAttribute(LoginId,num);if(permession=2)return m

56、apping.findForward(teacher);else if(permession=3)return mapping.findForward(admin);else return mapping.getInputForward();else /System.out.println(登錄失敗); return mapping.getInputForward(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();return mapping.getInputForward();4. 復(fù)用的模

57、塊許多的系統(tǒng)都需要登錄,同時對數(shù)據(jù)庫操作。所有的模塊都需要進(jìn)行數(shù)據(jù)庫的操作,它們的代碼結(jié)構(gòu)大體都是如下結(jié)構(gòu)的登錄表scorelogin 有兩個用途,一個是登錄體現(xiàn)登錄模塊復(fù)用;另一個是教師信息體現(xiàn)對數(shù)據(jù)操作代碼的復(fù)用;登錄操作登錄時使用 public class LoginDaoImpl extends HibernateDaoSupport implements ILoginDao public boolean readLogin(String num, String pass, int permession)throws Exception boolean b=false;Session

58、session = this.getSession();Criteria cri = session.createCriteria(LoginValue.class);cri.add(Expression.eq(slNum, num); cri.add(Expression.eq(slPass, pass); cri.add(Expression.eq(slPermession, permession); List list =cri.list();if(!list.isEmpty()b=true;session.beginTransaction().commit();session.clos

59、e();return b;public void alterPassword(String id, String newPassword) throws Exception / TODO Auto-generated method stub數(shù)據(jù)庫操作5. 配置文件1.使用的是j2EE 所以必有web.xml2.使用使用Struts技術(shù),并且使用分發(fā)Action技術(shù),即SwitchAction,所以struts的 配 置文件有5個.struts-config.xmlstruts-config-admin.xmlstruts-config-departmentchoose.xmlstruts-co

60、nfig-login.xmlstruts-config-teacher.xml3.使用Spring技術(shù),所以有文件applicationContext.xml5.1 web.xml配置文件下面講述web.xml配置文件的配置步驟和范圍。 contextConfigLocation/WEB-INF/classes/applicationContext.xmlcontextorg.springframework.web.context.ContextLoaderServlet1 CharsetConvertFiltercom.city.sxzlc.filter.CharsetConvertFilt

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論