基于JSP學(xué)院公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于JSP學(xué)院公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE73PAGEI中文題目:基于JSP學(xué)院公寓管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)PAGEII摘要學(xué)生公寓是每一位在校學(xué)生生活、學(xué)習(xí)、相互交流的主要場所,如何提供一個(gè)良好的學(xué)生公寓的管理體系,對學(xué)校和同學(xué)而言至關(guān)重要。以往的學(xué)生公寓管理基本上還處于人工操作的階段,隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的日益廣泛應(yīng)用,采用計(jì)算機(jī)以及網(wǎng)絡(luò)來管理學(xué)生公寓,有著很好的前景。研究公寓管理系統(tǒng)以期發(fā)展高校公寓管理系統(tǒng)信息化,實(shí)現(xiàn)一個(gè)更加適合學(xué)生使用的在線系統(tǒng)非常有意義。學(xué)生公寓管理系統(tǒng)基于B/S模式開發(fā),使用JSP動(dòng)態(tài)網(wǎng)頁制作技術(shù)作為主要的前臺開發(fā)語言,實(shí)現(xiàn)前后臺的數(shù)據(jù)交互;后臺選用MySQL作為數(shù)據(jù)庫服務(wù)器。該學(xué)生公寓管理系統(tǒng)主要?jiǎng)澐至斯芾韱T、學(xué)生和教師三種權(quán)限,實(shí)現(xiàn)的功能有學(xué)生信息的管理,宿舍信息的管理,宿舍的分配功能,活動(dòng)發(fā)布管理,宿舍檢查信息錄入功能等。系統(tǒng)具有界面友好,操作簡便的特性。關(guān)鍵詞:B/S;MYSQL數(shù)據(jù)庫;公寓管理AbstractStudentapartmentisthemainplacewhereeachandeverystudentintheschoollife,learning,communication,howtoprovideagoodstudentapartmentmanagementsystem,iscriticalforschoolsandstudents.Thestudentapartmentmanagementbasicallyisstillinthestageofmanualoperation,withthewideapplicationofcomputertechnologyandnetworktechnology,theuseofcomputersandnetworkstomanagethestudentapartment,withgoodprospects.Theapartmentmanagementsysteminordertodevelopthecollegedormitorymanagementinformationsystem,toachieveamoresuitableforstudentstousetheonlinesystemisverymeaningful.BasedontheB/Spatternofdevelopmentofstudentapartmentmanagementsystem,usingJSPdynamicWebpageproductiontechnologyasthemainlanguagedevelopmentprospects,QianHouTairealizethedatainteraction;backgrounduseMySQLasthedatabaseserver.Thestudenthousingmanagementsystemisdividedintotheadministrator,teachersandstudentsofthreerights,realizethefunctionofastudentinformationmanagement,informationmanagementofdormitory,dormitorydistributionfunction,activitiesofpublishingmanagement,dormitoryinspectioninformationinputfunctionetc..Thesystemhasfriendlyinterface,convenientoperationcharacteristics.Keywords:B/S;MySQLServerdatabase;Apartmentmanagement目錄TOC\o"1-3"\h\u245531項(xiàng)目概述 1137891.1選題背景及目的 189061.2學(xué)生公寓管理系統(tǒng)的研究現(xiàn)狀 1249211.3公寓組織機(jī)構(gòu) 2247302系統(tǒng)需求分析 344122.1需求陳述 357802.2UseCase建模 365282.2.1定義參與者 335352.2.2UseCase圖 4224933總體設(shè)計(jì) 9271873.1系統(tǒng)結(jié)構(gòu) 9290243.2軟件架構(gòu) 10128603.2.1架構(gòu)設(shè)計(jì)目標(biāo) 10311533.2.2軟件架構(gòu)設(shè)計(jì) 1175853.2.3軟件架構(gòu)類圖 15147423.2.4數(shù)據(jù)庫設(shè)計(jì) 15108374詳細(xì)設(shè)計(jì) 17139384.1系統(tǒng)交互圖 17129294.1.1系統(tǒng)架構(gòu)類交互圖 17273424.1.2系統(tǒng)狀態(tài)圖 20213544.1.3系統(tǒng)活動(dòng)圖 21246314.2業(yè)務(wù)邏輯對象類設(shè)計(jì) 22134074.2.1發(fā)現(xiàn)業(yè)務(wù)邏輯類 2274074.2.2業(yè)務(wù)邏輯對象類圖 23302314.3數(shù)據(jù)庫設(shè)計(jì) 24113344.3.1ER圖概念模型設(shè)計(jì) 2556884.3.2關(guān)系模式設(shè)計(jì) 28324034.3.3物理表結(jié)構(gòu)圖 28122514.4開發(fā)環(huán)境的選擇 3115774.4.1系統(tǒng)開發(fā)工具 3123654.4.2數(shù)據(jù)庫的選擇 31247624.4.3系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì) 3281995編碼 3464045.1開發(fā)核心技術(shù)概述 34125005.1.1MacromediaDreamweaver簡介 34109435.1.2JSP簡介 34235145.1.3Tomcat概述 358055.1.4數(shù)據(jù)庫MySQL 36224965.1.5JavaServlet和JSP 37190835.2系統(tǒng)代碼舉例 39281386測試 41265896.1測試原則及測試方法概述 4128826.2測試用例 4429960結(jié)論 4725797致謝 4821390附錄一中文翻譯 5015776附錄二英文原文 5319160附錄三源程序代碼 57PAGE76PAGE771項(xiàng)目概述1.1選題背景及目的公寓管理系統(tǒng)是一個(gè)提供給高校制定公寓管理的平臺,可以滿足現(xiàn)代化的校園公寓管理要求。目前在很多高校之中,都基本擁有了自己的公寓管理系統(tǒng),當(dāng)今使用的公寓管理系統(tǒng)大多是基于ASP或者JSP等技術(shù),并利用計(jì)算機(jī)訪問網(wǎng)絡(luò)進(jìn)行信息處理。公寓管理系統(tǒng)是針對校園公寓使用,從學(xué)生的角度來說,期望使用公寓管理系統(tǒng)查詢自己公寓活動(dòng)通知,公寓檢查結(jié)果等日常所需信息。從班主任老師角度來說,也期望通過系統(tǒng)對自己管理的班級進(jìn)行基本信息查看,宿舍管理分配,查看公寓檢查結(jié)果和自己班級的衛(wèi)生優(yōu)良率。從管理員的角度同樣需要一個(gè)管理系統(tǒng)用戶對學(xué)生信息,教師信息,宿舍信息,宿舍分配等進(jìn)行管理。開發(fā)XXXXXXXXXX學(xué)院公寓管理系統(tǒng)的目標(biāo)就是立足于學(xué)院應(yīng)用實(shí)際,著眼于未來發(fā)展,以強(qiáng)化學(xué)院公寓管理,提高公寓管理效率,方便學(xué)生、教師和管理員的日常生活,同時(shí)精簡學(xué)院大學(xué)生自律委員會各部門的工作,設(shè)計(jì)一個(gè)符合學(xué)院公寓管理功能規(guī)范要求的公寓管理系統(tǒng)平臺。該系統(tǒng)必將進(jìn)一步促進(jìn)學(xué)生公寓管理的便捷化;管理員和學(xué)生干部工作精簡化。軟件學(xué)院公寓管理系統(tǒng)主要針對公寓管理業(yè)務(wù)展開的,學(xué)院公寓管理系統(tǒng)的應(yīng)用,可以極大的避免學(xué)生因忽略宣傳欄通知而造成的信息疏漏,從而避免學(xué)院學(xué)生干部需要延長活動(dòng)宣傳周期,也避免了宣傳結(jié)束后,需要為沒有看到通知的學(xué)生進(jìn)行額外處理,該系統(tǒng)的應(yīng)用精簡了系統(tǒng)管理員的工作周期,使得其工作更加高效,統(tǒng)計(jì)結(jié)構(gòu)更加準(zhǔn)確,對于整個(gè)公寓管理過程有著舉足輕重的地位。1.2學(xué)生公寓管理系統(tǒng)的研究現(xiàn)狀學(xué)生公寓的管理一直受到社會各界的關(guān)注。校方為了給學(xué)生提供最好的環(huán)境而絞盡了腦汁:家長為了自己的子女在學(xué)生生活好,不斷提出新的要求。安全、舒適、和諧的住宿環(huán)境是公寓管理追求的目標(biāo)。傳統(tǒng)的學(xué)生公寓的管理就是人工分配房間,宣傳欄發(fā)布公寓活動(dòng)通知、公寓檢查通知和檢查結(jié)果通知。這樣的模式自從有了住宿制就一直延續(xù)到現(xiàn)在。自從有了計(jì)算機(jī),一些學(xué)校將房間分配、宿舍檢查結(jié)果等通過計(jì)算機(jī)管理,形成了簡單的計(jì)算機(jī)管理。這種模式也只是把以前的紙質(zhì)材料數(shù)字化,也許查找一個(gè)學(xué)生比以前花的時(shí)間短了,分配房間沒以前那么費(fèi)事了,能做一些簡單的統(tǒng)計(jì)工作。這種所謂的管理系統(tǒng)只是公寓管理的部分功能數(shù)字化,許多事情還是延用以前的方法。并不能做到高效和全面。剖析現(xiàn)有的學(xué)生公寓管理系統(tǒng),沒有真正做管理自動(dòng)化,只是把可歸納的問題集中了,

缺少了互動(dòng),系統(tǒng)也不能主動(dòng)發(fā)現(xiàn)問題,并反饋到相關(guān)的管理人員及有關(guān)領(lǐng)導(dǎo)?,F(xiàn)在互聯(lián)網(wǎng)技術(shù)已經(jīng)得到飛速發(fā)展,所以學(xué)生公寓管理系統(tǒng)與互聯(lián)網(wǎng)技術(shù)結(jié)合成為一個(gè)研究開發(fā)熱點(diǎn)問題?;诖宋覀兲岢隽嘶贘avaweb的學(xué)生公寓管理系統(tǒng)。1.3公寓組織機(jī)構(gòu)遼寧工程技術(shù)大學(xué)在遼寧省葫蘆島市,建校60余年,現(xiàn)有21個(gè)院,113個(gè)本科與高職專業(yè),全日制在校博士研究生,碩士研究生,本科生,高職生,和留學(xué)生3萬余人。遼寧工程技術(shù)大學(xué)公寓管理的組織機(jī)構(gòu)包括:管理員教師大學(xué)生自律委員會學(xué)生干部普通學(xué)生輔導(dǎo)員教師公寓組織結(jié)構(gòu)如下圖1-1所示。遼寧工程技術(shù)大學(xué)公寓管理組織結(jié)構(gòu)TOC\o"1-3"\h\u遼寧工程技術(shù)大學(xué)公寓管理組織結(jié)構(gòu)各學(xué)院大學(xué)生自律委員會校大學(xué)生自律委員會各學(xué)院學(xué)生工作部宿舍管理處學(xué)生處各學(xué)院大學(xué)生自律委員會校大學(xué)生自律委員會各學(xué)院學(xué)生工作部宿舍管理處學(xué)生處圖1-1公寓管理組織結(jié)構(gòu)圖Figure1-1apartmentmanageorganizationchart2系統(tǒng)需求分析軟件需求分析(SoftwareReguirementAnalysis)是研究用戶需求得到的東西,完全理解用戶對軟件需求的完整功能,確認(rèn)用戶軟件功能需求,建立可確認(rèn)的、可驗(yàn)證的一個(gè)基本依據(jù)。軟件需求分析工作也是一個(gè)不斷認(rèn)識和逐步細(xì)化的過程。該過程將軟件調(diào)研階段的需求資料進(jìn)行分析和設(shè)計(jì),使軟件范圍逐步細(xì)化到詳細(xì)定義的程度,并分析出各種不同的軟件元素,然后為這些元素找到可行的解決辦法。本章將從不同角度的需求分析問題,講述軟件需求陳述,系統(tǒng)功能建模,并給出了用例圖。2.1需求陳述需求分析的基本任務(wù)是準(zhǔn)確的回答“系統(tǒng)必須做什么?”這個(gè)問題,是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求,是確定系統(tǒng)所需的功能和任務(wù)目標(biāo)。需求分析階段應(yīng)包括UseCase建模,它們是用來描述參與者在系統(tǒng)中行為信息而產(chǎn)生的用例。因此,它們有助于系統(tǒng)分析員與系統(tǒng)設(shè)計(jì)人員之間的通信。開發(fā)學(xué)生公寓管理系統(tǒng)的目的主要是通過互聯(lián)網(wǎng)實(shí)現(xiàn)學(xué)生在線獲取學(xué)院發(fā)布的活動(dòng)信息、每周檢查宿舍的結(jié)果;實(shí)現(xiàn)管理員和各行政班級導(dǎo)員對宿舍分配的處理,對學(xué)生、宿舍、教師、班級等基本信息的管理。實(shí)現(xiàn)對公寓管理的網(wǎng)絡(luò)化。開發(fā)學(xué)生公寓管理系統(tǒng)的目標(biāo)是:1.確保該系統(tǒng)的穩(wěn)定性,保證數(shù)據(jù)的安全,滿足學(xué)院公寓管理人員、輔導(dǎo)員老師和學(xué)生的需要。2.管理員能夠登錄,方便地進(jìn)行數(shù)據(jù)管理。3.保證某些處理的及時(shí)性,如學(xué)生干部及時(shí)上傳宿舍檢查結(jié)果和公寓文化活動(dòng)信息等。4.提供簡單、便捷的操作。2.2UseCase建模2.2.1定義參與者參與者(actor)是指系統(tǒng)以外的、需要使用系統(tǒng)或與系統(tǒng)交互的東西,包括人、設(shè)備、外部系統(tǒng)等。[3]根據(jù)學(xué)生公寓管理系統(tǒng)的需求可以確定4個(gè)參與者,即:系統(tǒng)管理員使用公寓管理系統(tǒng)來維護(hù)系統(tǒng)基本信息。包括學(xué)生信息管理、宿舍信息管理、教師信息管理、班級信息管理、宿舍分配管理。學(xué)生干部使用學(xué)生公寓管理系統(tǒng)對宿舍信息進(jìn)行查看、對班級信息進(jìn)行查看、管理公寓檢查信息、管理公寓活動(dòng)通知。輔導(dǎo)員老師使用學(xué)生公寓管理系統(tǒng)查看自己負(fù)責(zé)的班級信息和為自己負(fù)責(zé)班級分配的宿舍信息并為自己班級的學(xué)生分配宿舍,查看自己管理班級每周的公寓檢查結(jié)果。學(xué)生用戶使用學(xué)生公寓管理系統(tǒng)查看個(gè)人信息和班級信息以及宿舍檢查信息。同樣學(xué)生可以在學(xué)生公寓管理系統(tǒng)前臺查詢學(xué)院發(fā)布的公寓活動(dòng)通知。2.2.2UseCase圖用例圖定義:由參與者(Actor)、用例(UseCase)以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動(dòng)態(tài)視圖稱為用例圖。用例圖(UserCase)是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關(guān)系,主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。用例圖用于對系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行可視化,使用戶能夠理解如何使用這些元素,并使開發(fā)者能夠?qū)崿F(xiàn)這些元素。用例圖的圖示見表2-1。表2-1用例圖圖例Tab2-10theLegendofUseCaseDiagram符號名稱說明用例交互動(dòng)作的序列說明參與者除系統(tǒng)外需要與系統(tǒng)交互的事物關(guān)聯(lián)actor和usecase之間的關(guān)系根據(jù)系統(tǒng)需求分析,并結(jié)合上節(jié)系統(tǒng)活動(dòng)者的定義分析,得到學(xué)生公寓管理系統(tǒng)后臺管理模塊的5個(gè)用例如下:學(xué)生信息管理、班級信息管理、教師信息管理、宿舍信息管理和宿舍分配處理。結(jié)合參與者和用例得到學(xué)生公寓管理系統(tǒng)后臺管理模塊的用例圖如圖3-1所示。1.基本信息管理基本信息管理包括學(xué)生信息管理、班級信息管理、教師信息管理、宿舍信息管理,這四個(gè)用例主要實(shí)現(xiàn)信息的添加、刪除功能。圖2-2學(xué)生公寓管理系統(tǒng)管理模塊UseCase圖Fig2-2UseCaseforthepartofmanagerusemodule2.宿舍分配主要包括一鍵為各個(gè)班級分配宿舍信息。根據(jù)系統(tǒng)需求分析,并結(jié)合上節(jié)系統(tǒng)活動(dòng)者的定義分析,得到學(xué)生公寓管理系統(tǒng)學(xué)生干部管理模塊的4個(gè)用例如下:宿舍信息查看、班級信息查看、公寓檢查信息管理、公寓活動(dòng)通知管理。結(jié)合參與者和用例得到學(xué)生公寓管理系統(tǒng)學(xué)生干部管理模塊的用例圖如圖2-3所示。根據(jù)系統(tǒng)需求分析,并結(jié)合上節(jié)系統(tǒng)活動(dòng)者的定義分析,得到學(xué)生公寓管理系統(tǒng)教師使用模塊的3個(gè)用例如下:宿舍信息查看、班級信息查看、查看公寓檢查信息。結(jié)合參與者和用例得到學(xué)生公寓管理系統(tǒng)輔導(dǎo)員模塊的用例圖如圖3-3所示。圖2-3學(xué)生公寓管理系統(tǒng)UseCase圖Fig2-3UseCaseforthepartofstudentmanagerusemodule圖2-4學(xué)生公寓管理教師模塊系統(tǒng)UseCase圖Fig2-4UseCaseforthepartofteacherusemodule根據(jù)系統(tǒng)需求分析,并結(jié)合上節(jié)系統(tǒng)活動(dòng)者的定義分析,得到學(xué)生公寓管理系統(tǒng)學(xué)生模塊的3個(gè)用例如下:個(gè)人信息查看、班級信息查看、查看公寓檢查信息。結(jié)合參與者和用例得到學(xué)生公寓管理系統(tǒng)學(xué)生模塊的用例圖如圖2-14所示。圖2-5學(xué)生公寓管理學(xué)生模塊系統(tǒng)UseCase圖Fig2-5UseCaseforthepartofstudentusemodule

3總體設(shè)計(jì)需求分析階段已經(jīng)完全弄清楚了目標(biāo)系統(tǒng)的各種需求,較好地解決了要讓所開發(fā)的軟件“做什么”的問題下一步就要著手實(shí)現(xiàn)軟件的需求,即要著手解決“怎么做”的問題??傮w設(shè)計(jì)過程首先尋找實(shí)現(xiàn)系統(tǒng)的各種不同的方案,需求分析階段得到的用例圖是各種方案的基礎(chǔ)。本章將從系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、軟件架構(gòu)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)著手,對公寓管理系統(tǒng)進(jìn)行總體設(shè)計(jì)。3.1系統(tǒng)結(jié)構(gòu)根據(jù)需求分析階段得到的軟件功能描述,抽象出學(xué)生公寓管理系統(tǒng)的總體系統(tǒng)結(jié)構(gòu)如圖4-1.1所示。下面模塊劃分只是抽象意義上的劃分,各模塊之間需要共享數(shù)據(jù),相互協(xié)作,完成整個(gè)系統(tǒng)流程,單一事物功能模塊間是相互獨(dú)立的。公寓管理系統(tǒng)的詳細(xì)結(jié)構(gòu)圖如圖4-1.2所示遼工大軟件學(xué)院公寓管理系統(tǒng)遼工大軟件學(xué)院公寓管理系統(tǒng)客戶端管理端普通學(xué)生用戶學(xué)生干部用戶教師用戶系統(tǒng)管理員圖3-1學(xué)生公寓管理系統(tǒng)總體結(jié)構(gòu)圖Fig3-1FunctionModelsoftheapartmentofstudentmanagesystem宿舍宿舍信息管理學(xué)生信息管理班級信息管理教師信息管理檢查信息管理活動(dòng)通知管理查看班級信息查看學(xué)生信息宿舍分配處理查看班級信息查看宿舍信息系統(tǒng)管理員學(xué)生干部用戶教師用戶分配宿舍查看檢查結(jié)果普通學(xué)生用戶基本信息查看查看宿舍檢查結(jié)果圖3-2學(xué)生公寓管理系統(tǒng)詳細(xì)結(jié)構(gòu)圖Fig3-2FunctionModelsoftheapartmentofstudentmanagesystem3.2軟件架構(gòu)軟件的架構(gòu)是指通過某種特定的技術(shù)平臺,完成軟件系統(tǒng)整體功能的開發(fā)過程。也可以通俗地理解為:總體設(shè)計(jì)和總體結(jié)構(gòu)布局。一般而言,軟件系統(tǒng)架構(gòu)有兩個(gè)要素:1.它是一個(gè)軟件系統(tǒng)從整體到部分的最高層次的劃分。2.建造一個(gè)系統(tǒng)所做出的最高層次的、以后難以更改的、商業(yè)和技術(shù)的決定。3.2.1架構(gòu)設(shè)計(jì)目標(biāo)軟件架構(gòu)設(shè)計(jì)要達(dá)到如下的目標(biāo):可行性(Feasible):架構(gòu)具有可行性是架構(gòu)設(shè)計(jì)的基石??煽啃裕≧eliable):軟件系統(tǒng)對于用戶的商業(yè)經(jīng)營和管理來說極為重要,因此軟件系統(tǒng)必須非常可靠。安全行(Secure):軟件系統(tǒng)所承擔(dān)的交易的商業(yè)價(jià)值極高,系統(tǒng)的安全性非常重要??啥ㄖ苹–ustomizable):同樣的一套軟件,可以根據(jù)客戶群的不同和市場需求的變化進(jìn)行調(diào)整。可擴(kuò)展性(Extensible):在新技術(shù)出現(xiàn)的時(shí)候,一個(gè)軟件系統(tǒng)應(yīng)當(dāng)允許導(dǎo)入新技術(shù),從而對現(xiàn)有系統(tǒng)進(jìn)行功能和性能的擴(kuò)展??删S護(hù)性(Maintainable):軟件系統(tǒng)的維護(hù)包括兩方面,一是排除現(xiàn)有的錯(cuò)誤,二是將新的軟件需求反映到現(xiàn)有系統(tǒng)中去。一個(gè)易于維護(hù)的系統(tǒng)可以有效地降低技術(shù)支持的花費(fèi)??缮壭裕⊿calable):軟件必須能夠在用戶的使用率、用戶的數(shù)目增加很快的情況下,保持合理的性能。只有這樣,才能適應(yīng)用戶的市場擴(kuò)展得可能性??蛻趔w驗(yàn)(CustomerExperience):軟件系統(tǒng)必須易于使用。軟件的最終用戶很可能是不具有計(jì)算機(jī)專業(yè)技術(shù)的人員。3.2.2軟件架構(gòu)設(shè)計(jì)以下將根據(jù)架構(gòu)設(shè)計(jì)原則和信息系統(tǒng)原理來建立系統(tǒng)的架構(gòu)設(shè)計(jì)模型。將信息系統(tǒng)中比較關(guān)心的對象分層,可分為三層:用戶界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層,如圖4-2所示,再把各層中的一些公共部分提出來得到包圖如圖4-3所示:圖3-3系統(tǒng)體系架構(gòu)圖Fig3-3TheDiagramofSystemArchitecture圖3-4學(xué)生公寓管理系統(tǒng)包圖Fig3-4PackageDiagramoftheapartmentofstudentmanagesystem1.轉(zhuǎn)換編碼包轉(zhuǎn)換編碼包的職責(zé)是:1)當(dāng)客戶端和后臺服務(wù)端產(chǎn)生信息交互時(shí),HTTP請求協(xié)議需要轉(zhuǎn)換為十六進(jìn)制編碼。2)對于傳出的數(shù)據(jù)進(jìn)行編碼處理。3)對于接收到的數(shù)據(jù)進(jìn)行解碼處理。轉(zhuǎn)換編碼包圖展開如圖4-4所示:圖3-5轉(zhuǎn)換編碼包展開圖Fig3-5PackageDiagramofConverter轉(zhuǎn)換編碼包包含的類如圖3-6所示:圖3-6轉(zhuǎn)換編碼類圖Fig3-6ClassDiagramofConverter2.業(yè)務(wù)邏輯包業(yè)務(wù)邏輯包的職責(zé)是:1)接收用戶界面層傳來的數(shù)據(jù);2)根據(jù)用戶界面的數(shù)據(jù)定義SQL命令;3)實(shí)現(xiàn)業(yè)務(wù)邏輯的算法;4)拼裝數(shù)據(jù)訪問層提供的方法形成完整業(yè)務(wù);5)傳遞業(yè)務(wù)執(zhí)行命令給數(shù)據(jù)訪問層業(yè)務(wù)邏輯實(shí)現(xiàn)持久化操作。包圖展開如圖4-6所示,業(yè)務(wù)邏輯包包含的類見圖4-7:圖3-7業(yè)務(wù)邏輯包圖展開Fig3-7PackageDiagramofLogic圖3-8業(yè)務(wù)邏輯類圖Fig3-8ClassDiagramofLogic3.數(shù)據(jù)訪問包數(shù)據(jù)訪問層的職責(zé)是:1)實(shí)現(xiàn)數(shù)據(jù)持久化操作;2)執(zhí)行事務(wù)處理,維持事務(wù)原子性。數(shù)據(jù)訪問包圖展開如圖4-8所示:圖3-9數(shù)據(jù)訪問包圖展開Fig3-9PackageDiagramofDataAccess數(shù)據(jù)訪問包包含的類見圖3-10對于每一個(gè)業(yè)務(wù)處理中需要持久化操作的對象都可以對應(yīng)為一個(gè)數(shù)據(jù)庫訪問對象,在很多業(yè)務(wù)處理中需要請求多個(gè)數(shù)據(jù)庫訪問對象來進(jìn)行數(shù)據(jù)的讀寫操作,而這些操作又必須在同一個(gè)事務(wù)中,這時(shí)需要用同一個(gè)數(shù)據(jù)庫連接對象來進(jìn)行統(tǒng)一的事務(wù)處理。圖3-10據(jù)訪問類圖Fig3-10ClassDiagramofDataAccess對于每一個(gè)業(yè)務(wù)處理中需要持久化操作的對象都可以對應(yīng)為一個(gè)數(shù)據(jù)庫訪問對象,在很多業(yè)務(wù)處理中需要請求多個(gè)數(shù)據(jù)庫訪問對象來進(jìn)行數(shù)據(jù)的讀寫操作,而這些操作又必須在同一個(gè)事務(wù)中,這時(shí)需要用同一個(gè)數(shù)據(jù)庫連接對象來進(jìn)行統(tǒng)一的事務(wù)處理。這里的數(shù)據(jù)庫連接類的創(chuàng)建用到了單件模式,保證一個(gè)類僅有一個(gè)實(shí)例,一個(gè)客戶在同一時(shí)刻只能用一個(gè)數(shù)據(jù)庫連接對象。4.實(shí)體包實(shí)體包的主要職責(zé)是:1)提供數(shù)據(jù)封裝的對象;2)提供數(shù)據(jù)封裝對象獲取和設(shè)置值的方法。模型包圖展開如圖4-10所示:圖3-11型包圖展開Fig3-11ackageDiagramofModel模型包包含的類見圖3-12圖3-12型實(shí)體類圖Fig3-12ClassDiagramofModel3.2.3軟件架構(gòu)類圖將包圖展開,得到類圖,它是架構(gòu)的靜態(tài)結(jié)構(gòu)圖,表達(dá)了各個(gè)類之間的靜態(tài)聯(lián)系。航班查詢系統(tǒng)架構(gòu)類圖如下圖3-29所示。圖3-13統(tǒng)架構(gòu)類圖Fig3-13ClassDiagramofSystemArchitecture3.2.4數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫在一個(gè)信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對應(yīng)系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生的影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整性和一致性。同時(shí)合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)。數(shù)據(jù)庫設(shè)計(jì)總要包括:需求分析,概念結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫實(shí)施,數(shù)據(jù)庫的運(yùn)行和維護(hù)。如果設(shè)計(jì)的不合理、不完善,將在系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護(hù)、功能變更和功能擴(kuò)充時(shí),引起較多問題,嚴(yán)重時(shí)甚至要重新設(shè)計(jì),重做大量已完成工作。4詳細(xì)設(shè)計(jì)4.1系統(tǒng)交互圖4.1.1系統(tǒng)架構(gòu)類交互圖交互圖用來說明系統(tǒng)如何實(shí)現(xiàn)一個(gè)用例或用例中的一個(gè)特殊場景。UML提供兩類交互圖:時(shí)序圖和協(xié)作圖[5]。時(shí)序圖按時(shí)間順序描述系統(tǒng)元素之間的交互;協(xié)作圖則按照時(shí)間和空間順序來描述系統(tǒng)元素之間的交互。(1)學(xué)生登錄工作流程①學(xué)生(活動(dòng)者)首先進(jìn)行登錄,登錄成功繼續(xù)操作,失敗請重新登錄。②學(xué)生登陸界面在接收了學(xué)生的輸入請求后,向loginService對象發(fā)送處理請求和數(shù)據(jù)。③loginService對象接收到數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。對于業(yè)務(wù)處理中的數(shù)據(jù)持久化操作,通過訪問數(shù)據(jù)庫訪問對象進(jìn)行操作。最后返回處理結(jié)果信息結(jié)合Web.xml配置文件返回系統(tǒng)主界面,如下圖4-1與圖4-2所示。圖4-1學(xué)生登陸時(shí)序圖Figure4-1Loginsequencediagram圖4-2生登錄協(xié)作圖Figure4-2Logincollaborationdiagram(2)管理員管理工作流程①管理員(活動(dòng)者)進(jìn)入系統(tǒng)管理頁面,可進(jìn)行學(xué)生管理、班級管理、教師管理、宿舍管理,分配宿舍。②選擇進(jìn)入學(xué)生管理界面,可刪除輟學(xué)或者畢業(yè)的學(xué)生,可添加新生信息,操作選擇后系統(tǒng)轉(zhuǎn)向并提交給studentServlet,studentServlet對象接收數(shù)據(jù)后,通過DB獲取連接數(shù)據(jù)庫進(jìn)行持久化數(shù)據(jù)操作,并返回學(xué)生管理界面。③進(jìn)入分配宿舍界面,可查看班級信息,選擇自動(dòng)分配宿舍,可以為班級分配宿舍。操作選擇后系統(tǒng)轉(zhuǎn)向并提交給dormitoryServlet,dormitoryServlet對象接收數(shù)據(jù)后,通過DB獲取連接數(shù)據(jù)庫進(jìn)行持久化數(shù)據(jù)操作,并轉(zhuǎn)到分配的宿舍信息界面。綜上,管理員擁有的對系統(tǒng)的管理工作流程主要分為和上述兩種情況,所以,本節(jié)以以上兩個(gè)例子作為說明。管理員(活動(dòng)者)進(jìn)入系統(tǒng)管理頁面,可進(jìn)行班級管理、教師管理、宿舍管理。管理員的工作時(shí)序圖協(xié)作圖和學(xué)生管理的相似,故不作詳述。管理員管理學(xué)生信息的工作的協(xié)作圖和時(shí)序圖如下圖5-3與圖5-4所示。圖4-3管理員管理協(xié)作圖Figure4-3AdminManagecollaborationdiagram圖4-4理員管理時(shí)序圖Figure4-4AdminManagesequencediagram交互圖用來說明系統(tǒng)如何實(shí)現(xiàn)一個(gè)用例或用例中的一個(gè)特殊場景。UML提供兩類交互圖:時(shí)序圖和協(xié)作圖。時(shí)序圖按時(shí)間順序描述系統(tǒng)元素之間的交互;協(xié)作圖則按照時(shí)間和空間順序來描述系統(tǒng)元素之間的交互。根據(jù)上述的系統(tǒng)管理模塊來建立的系統(tǒng)協(xié)作圖如下圖4-4所示:圖4-5系統(tǒng)管理模塊協(xié)作圖Fig4-5StateDiagramforSalesmanMakingOrder4.1.2系統(tǒng)狀態(tài)圖狀態(tài)圖(statcDiagml)用來描述一個(gè)特定對象的所有可能狀態(tài)及其引起狀態(tài)轉(zhuǎn)移的事件[7]。大多數(shù)面向?qū)ο蠹夹g(shù)都用狀態(tài)圖表示單個(gè)對象在其生命周期中的行為。一個(gè)狀態(tài)圖包括一系列的狀態(tài)以及狀態(tài)之間的轉(zhuǎn)移。圖4-6咨詢狀態(tài)圖Figure4-6consultationstatechartdiagram圖4-6是學(xué)生公寓管理系統(tǒng)中的分配宿舍的狀態(tài)圖。從起點(diǎn)開始,管理員首先登陸系統(tǒng),當(dāng)?shù)顷懗晒筇幱诠δ苓x擇狀態(tài),選擇分配宿舍功能,點(diǎn)擊分配按鈕,此時(shí)處于系統(tǒng)自動(dòng)為班級分配宿舍狀態(tài),輔導(dǎo)員得到宿舍資源后可以為每一個(gè)學(xué)生分配宿舍,選中學(xué)生后點(diǎn)擊分配,此時(shí)系統(tǒng)處于等待學(xué)生入住狀態(tài)。這就是一次完整的宿舍分配狀態(tài)圖。將分配中所有的狀態(tài)以及出發(fā)這個(gè)狀態(tài)的所有動(dòng)作表示出來。4.1.3系統(tǒng)活動(dòng)圖活動(dòng)圖是UML中用于對系統(tǒng)的動(dòng)態(tài)方面建模的5種圖中的一種圖。一張活動(dòng)圖從本質(zhì)上說是一個(gè)流程圖,顯示從活動(dòng)到活動(dòng)的控制流?;顒?dòng)圖用于對一個(gè)系統(tǒng)的動(dòng)態(tài)方面建模。當(dāng)對象在控制流的不同點(diǎn)上從狀態(tài)到狀態(tài)移動(dòng)時(shí),用活動(dòng)圖也可以對該對象的控制流進(jìn)行建模?;顒?dòng)圖可以單獨(dú)用來可視化、詳述、構(gòu)造和文檔化對象群體的動(dòng)態(tài)特性。也可以用于對一個(gè)操作的控制流建模。交互圖強(qiáng)調(diào)的是從對象到對象的控制流,而活動(dòng)圖強(qiáng)調(diào)的是從活動(dòng)到活動(dòng)的控制流。一個(gè)活動(dòng)是一個(gè)狀態(tài)機(jī)中進(jìn)行的非原子的執(zhí)行單元?;顒?dòng)最終導(dǎo)致一些動(dòng)作,這些動(dòng)作由可執(zhí)行的原子計(jì)算組成,這些計(jì)算會導(dǎo)致系統(tǒng)狀態(tài)的改變或一個(gè)值的返回。活動(dòng)圖不僅對系統(tǒng)的動(dòng)態(tài)特性建模是重要的,而且對于通過正向和逆向工程構(gòu)造可執(zhí)行的系統(tǒng)也很重要。在活動(dòng)圖中用左右兩端是圓弧的長方形表示活動(dòng),用較粗的橫線表示活動(dòng)的分發(fā),用帶有箭頭的線表示活動(dòng)處理的先后順序[8]。圖4-7分配宿舍活動(dòng)圖Figure4-7allotdormitoryactivitydiagram圖5-9是本系統(tǒng)中分配宿舍活動(dòng)圖。管理員首先登陸系統(tǒng),當(dāng)?shù)顷懗晒筇幱诠δ苓x擇狀態(tài),選擇分配宿舍功能,點(diǎn)擊分配按鈕,此時(shí)處于系統(tǒng)自動(dòng)為班級分配宿舍狀態(tài),輔導(dǎo)員得到宿舍資源后可以為每一個(gè)學(xué)生分配宿舍,選中學(xué)生后點(diǎn)擊分配,此時(shí)系統(tǒng)處于等待學(xué)生入住狀態(tài)。4.2業(yè)務(wù)邏輯對象類設(shè)計(jì)4.2.1發(fā)現(xiàn)業(yè)務(wù)邏輯類類圖就是顯示出類、接口以及它們靜態(tài)結(jié)構(gòu)以及關(guān)系的圖。類的基本元素是類或者是接口[6]。類圖中類的框可分為①類名②屬性清單③方法清單如果一個(gè)類有內(nèi)部成員類,那么它的類圖就會有4層。在類圖中除了類名稱不能省略必須顯示外,其他幾層在UML中都可以省略。第一層是類名。如果類名是正體字,表明類是具體的(即可以實(shí)例化的),變量名如果是斜體的表明類是抽象的。第二層是屬性層。屬性名稱左邊,如果是一把鎖,那么表明該屬性是私有的,如果左邊是一個(gè)斜菱形,那么表明它是公共的。第三層是方法層。方法左邊的符號含義同屬性的左邊的符號表示的含義相同。方法下面如果是一條下劃線,表明它是靜態(tài)方法。在類和類之間,會有連線指明它們之間的關(guān)系。類和類,類和接口,接口和接口之間可以建立一定的關(guān)系:一般化關(guān)系、關(guān)聯(lián)關(guān)系、聚合關(guān)系、合成關(guān)系和依賴關(guān)系。這幾種關(guān)系都是靜態(tài)的。(1)一般化關(guān)系(Generalization)表示類和類之間的繼承關(guān)系,接口和接口之間的繼承關(guān)系,或類對接口的實(shí)現(xiàn)關(guān)系。一般化的關(guān)系是從子類指向父類的,或者從實(shí)現(xiàn)接口的類指向被實(shí)現(xiàn)的接口,與繼承或者實(shí)現(xiàn)的方向相反。(2)關(guān)聯(lián)(Association)關(guān)系表示類和類之間的連結(jié),它使得一個(gè)類可以知道另一個(gè)類的屬性和方法。關(guān)聯(lián)可以是雙向的,也可以是單向的。雙向關(guān)聯(lián)可以有兩個(gè)箭頭或者沒有箭頭。單向的關(guān)聯(lián)有一個(gè)箭頭,表示關(guān)聯(lián)的方向。單向的關(guān)聯(lián)更為普遍,通常不鼓勵(lì)使用雙向箭頭。4.2.2業(yè)務(wù)邏輯對象類圖(1)管理員分配宿舍給輔導(dǎo)員管理員為每個(gè)輔導(dǎo)員負(fù)責(zé)的班級分別分配一定數(shù)量宿舍的業(yè)務(wù)對象類如圖5-6所示。圖4-8班級分配宿舍類圖Figure4-8dormitoryallotforclassesclassdiagram(2)輔導(dǎo)員分配宿舍給班級學(xué)生輔導(dǎo)員為每個(gè)學(xué)生分別分配宿舍的業(yè)務(wù)對象類,如下圖5-7所示。圖4-9宿舍分配類圖Figure4-9dormitoryallotclassdiagram4.3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫在一個(gè)信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對應(yīng)系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生的影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整性和一致性。同時(shí)合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)。數(shù)據(jù)庫設(shè)計(jì)總要包括:需求分析,概念結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫實(shí)施,數(shù)據(jù)庫的運(yùn)行和維護(hù)。如果設(shè)計(jì)的不合理、不完善,將在系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護(hù)、功能變更和功能擴(kuò)充時(shí),引起較多問題,嚴(yán)重時(shí)甚至要重新設(shè)計(jì),重做大量已完成工作。4.3.1ER圖概念模型設(shè)計(jì)概念模型用于將系統(tǒng)需求分析得到的用戶需求抽象為信息結(jié)構(gòu)過程。概念模型是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。概念模型最終要轉(zhuǎn)換為數(shù)據(jù)模型,如下表4-1所示,描述了E-R符號說明。概念模型用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言,因此概念模型一方面具有較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識,另一方面它簡單、清晰、易于用戶理解。表4-1E-R圖符號說明Tablet4-1E-RChartsymbolsexplanation符號含義符號說明實(shí)體表示實(shí)體集:同型實(shí)體的集合,矩形框內(nèi)寫明實(shí)體名屬性實(shí)體所具有的某一特性,并用無向邊與其相應(yīng)實(shí)體連接起來聯(lián)系表示聯(lián)系集,菱形框內(nèi)寫明聯(lián)系名,并用無向邊與其有關(guān)實(shí)體連接。線段將屬性連接到實(shí)體集或?qū)?shí)體集連接到聯(lián)系集通過對本系統(tǒng)分析,抽象出公寓管理系統(tǒng)的實(shí)體屬性圖管理員實(shí)體圖如圖4-13所示。圖4-13管理員實(shí)體屬性圖Fig4-13AdministratorsEntityAttributeGraph輔導(dǎo)員專家實(shí)體屬性圖如圖4-14所示。圖4-14輔導(dǎo)員實(shí)體屬性圖Fig4-14TeacherEntityAttributeGraph用戶信息實(shí)體屬性圖如圖4-15所示。圖4-15學(xué)生實(shí)體屬性圖Fig4-15StudentEntityAttributeGraph班級實(shí)體屬性圖如圖4-16所示:圖4-16班級實(shí)體屬性圖Fig4-16classEntityAttributeGraph宿舍實(shí)體屬性圖如圖4-17所示:圖4-17宿舍實(shí)體屬性圖Fig4-17dormitoryEntityAttributeGraph輔導(dǎo)員專家實(shí)體屬性圖如圖4-18所示。圖4-18檢查信息實(shí)體屬性圖Fig4-18checkinformationEntityAttributeGraph醫(yī)院預(yù)約咨詢系統(tǒng)的E-R圖,如圖4-19所示。圖4-19公寓管理系統(tǒng)E-R圖Figure4-19theapartmentofstudentmanagesystemE-Rdiagram4.3.2關(guān)系模式設(shè)計(jì)系統(tǒng)的關(guān)系模式如下(1)管理員信息表(管理員ID,管理員姓名,管理員密碼,類型)(2)宿舍信息表(宿舍ID,宿舍號,人數(shù),性別,是否分配,床位一,床位二,床位三,床位四,所屬班級ID,宿舍等級)(3)班級信息表(班級ID,班級名稱,所屬專業(yè),人數(shù),教師ID,宿舍標(biāo)志)(4)檢查信息表(檢查信息ID,活動(dòng)標(biāo)題,發(fā)布時(shí)間,詳細(xì)內(nèi)容)(5)學(xué)生信息表(學(xué)號,姓名,性別,專業(yè),密碼,宿舍標(biāo)志,宿舍號)(6)教師信息表(教師ID,姓名,性別,密碼,登錄名)4.3.3物理表結(jié)構(gòu)圖數(shù)據(jù)庫物理設(shè)計(jì)階段的任務(wù)是根據(jù)具體計(jì)算機(jī)系統(tǒng)(DBMS和硬件等)的特點(diǎn),為給定的數(shù)據(jù)庫模型確定合理的存儲結(jié)構(gòu)和存取方法。物理結(jié)構(gòu)設(shè)計(jì)階段實(shí)現(xiàn)的是數(shù)據(jù)庫系統(tǒng)的內(nèi)模式,它的質(zhì)量直接決定了整個(gè)系統(tǒng)的性能。通過對本系統(tǒng)分析,設(shè)計(jì)超市管理系統(tǒng)物理表結(jié)構(gòu),如下表4-2至表4-9所示。表4-10管理員表(t_admin)Tablet4-10admintable(t_admin)列名英文名類型長度約束是否為空管理員IDuseridINT11PKNo管理員姓名usernameVARCHAR50Yes管理員密碼userpwVARCHAR50Yes類型TypeInt2Yes表4-11宿舍表(t_dormitory)Tablet4-11dormitorytable(t_dormitory)列名英文名類型長度約束是否為空宿舍IDdormitoryNumVARCHAR10PKNo宿舍號dormitorynameVARCHAR10Yes人數(shù)Peoplenumint1Yes性別PeoplesexVARCHAR5yes分配標(biāo)志DormflagInt11No一號床bedoneVARCHAR10No二號床BedtwoVARCHAR10No三號床BedthreeVARCHAR10No四號床BedfourVARCHAR10No班級IDClassidVARCHAR10No宿舍等級dormlevelVARCHAR10No表4-12班級表(t_class)Tablet4-12lasstable(t_class)列名英文名類型長度約束是否為空班級IDclassIdINT20PKNo班級名稱classnameVARCHAR50Yes所屬專業(yè)classmajorVARCHAR50Yes人數(shù)peoplenumINT11Yes教師IDteacheridINT10Yes分配宿舍標(biāo)志dormflagINT11No表4-13查信息表(t_checkdorminfo)Tablet4-13checkdorminfotable(t_checkdorminfo)列名英文名類型長度約束是否為空信息IDIdINT10PKNo標(biāo)題TitleVARCHAR50Yes提問時(shí)間ShijianDate0Yes詳細(xì)內(nèi)容DetailsVARCHAR100Yes表4-14學(xué)生信息表(t_student)Tablet4-14studentInformationTable(t_student)列名英文名類型長度約束是否為空學(xué)號StudentnumVARCHAR15PKNo姓名SutdengnameVARCHAR20Yes性別StudengsexVARCHAR5Yes專業(yè)MajorVARCHAR20Yes密碼StudentpswVARCHAR11no宿舍標(biāo)志DormflagINT1No宿舍號dormnameVarchar10No表4-15預(yù)約信息表(t_teacher)Tablet4-15teachertable(t_teacher)列名英文名類型長度約束是否為空教師IDtidint10PkNo姓名tnameVARCHAR10Yes性別TsexVARCHAR10Yes密碼TpswVARCHAR4Yes登錄名fankuiyijianVARCHAR10Yes4.4開發(fā)環(huán)境的選擇4.4.1系統(tǒng)開發(fā)工具本系統(tǒng)采用MyEclipse6.0作為天公(山東)信息科技有限公司項(xiàng)目進(jìn)度管理系統(tǒng)開發(fā)工具。MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL等。4.4.2數(shù)據(jù)庫的選擇OracleDatabase10gExpressEdition,其特點(diǎn)如下:(1)簡化的數(shù)據(jù)庫配置與升級提供了預(yù)升級檢查能力,有效地減少升級錯(cuò)誤。去除了了很多和數(shù)據(jù)庫配置有關(guān)的任務(wù)或者對其加以自動(dòng)化。在初始安裝的時(shí)候,所有數(shù)據(jù)庫都被預(yù)配置包括在OEM環(huán)境中而無需建立一個(gè)[Oracle10g安裝]。(2)自動(dòng)存儲管理新版本的數(shù)據(jù)庫能夠配置成使用Oracle提供的存儲虛擬層(StorageVirtualizationLayer)。自動(dòng)并簡化數(shù)據(jù)庫的存儲。管理員現(xiàn)在可以管理少數(shù)的磁盤組而無需管理數(shù)千個(gè)文件--自動(dòng)存儲管理功能可以自動(dòng)配置磁盤組,提供數(shù)據(jù)冗余和數(shù)據(jù)的優(yōu)化分配。(3)自動(dòng)的基于磁盤備份10G也極大的簡化了備份與恢復(fù)操作。這個(gè)改進(jìn)被稱作DiskbasedRecoveryArea,可以被一個(gè)聯(lián)機(jī)DiskCache用來進(jìn)行備份與恢復(fù)操作。備份可以調(diào)度成自動(dòng)化操作,自動(dòng)化優(yōu)化調(diào)整。備份失敗的時(shí)候,可以自動(dòng)重啟,以確保Oracle能夠有一個(gè)一致的環(huán)境使用。(4)自動(dòng)化內(nèi)存調(diào)整上一個(gè)版本對UGA能夠進(jìn)行自動(dòng)化Tuning,這版本能夠?qū)GA相關(guān)的參數(shù)進(jìn)行調(diào)整。這意味著DBA只需要對2個(gè)內(nèi)存參數(shù)進(jìn)行配置:用戶可用的總的內(nèi)存數(shù)量和共享區(qū)的大小。(5)恢復(fù)當(dāng)我們使用一個(gè)ORACLE數(shù)據(jù)庫時(shí),總希望數(shù)據(jù)庫的內(nèi)容是可靠的、正確的,但由于計(jì)算機(jī)系統(tǒng)的故障(硬件故障、網(wǎng)絡(luò)故障、進(jìn)程故障和系統(tǒng)故障)影響數(shù)據(jù)庫系統(tǒng)的操作,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中全部或部分?jǐn)?shù)據(jù)丟失。因此當(dāng)發(fā)生上述故障后,希望能重新建立一個(gè)完整的數(shù)據(jù)庫,該處理稱為數(shù)據(jù)庫恢復(fù)。恢復(fù)子系統(tǒng)是數(shù)據(jù)庫管理系統(tǒng)的一個(gè)重要組成部分?;謴?fù)處理隨時(shí)隨地所發(fā)生的故障類型所影響的結(jié)構(gòu)而變化。4.4.3系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)本ERP系統(tǒng)采用B/S結(jié)構(gòu),系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖見圖4-11。圖4-11系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖Fig4-11NetArchitectureDiagramofSystem客戶機(jī)配置情況如下表4-4所示。表4-4客戶機(jī)配置Table4-4Clientconfiguration配置CPU內(nèi)存硬盤空間顯示模式最低配置CeleronIII1.7G 256M40G800*600推薦配置Pentium(R)Dual-CoreCPUE600@3.06GHz3.07GHz2G500G1024*768軟件安裝情況如下表4-5所示:表4-5軟件安裝情況Table4-5Softwareinstallation機(jī)型軟件服務(wù)器1.OS:Microsoft.Windows.7旗艦版2.ORACLE數(shù)據(jù)庫管理軟件3.Tomcat6.04.jdk1.6.35.Myeclipse6.0客戶機(jī)1.OS:Microsoft.Windows.7旗艦版2.ORACLE數(shù)據(jù)庫管理軟件3.Tomcat6.04.jdk1.6.35.Myeclipse6.05編碼經(jīng)歷了一系列的建模工作,包括系統(tǒng)需求分析、系統(tǒng)設(shè)計(jì),本章節(jié)將簡要介紹系統(tǒng)代碼生成的過程。5.1開發(fā)核心技術(shù)概述5.1.1MacromediaDreamweaver簡介MacromediaDreamweaver是款專業(yè)的網(wǎng)站開發(fā)編輯器,用于對Web站點(diǎn)、Web頁和web應(yīng)用程序進(jìn)行設(shè)計(jì)、編碼和開發(fā),整個(gè)生產(chǎn)過程可以自動(dòng)化,增強(qiáng)開發(fā)小組的工作效率[9]。此外,MacromediaDreamweaver在支持JSP方面,新增或加強(qiáng)了以下功能:支持JSP標(biāo)簽庫:可以從TLD中匯入完整的JSP卷標(biāo)庫,并且在卷標(biāo)面板、卷標(biāo)選擇器和程序代碼提示里顯示出來[10]。完整地整合JavaBean:除了在數(shù)據(jù)系結(jié)(DataBindings)面板可以顯示JavaBean的getProperty和setProperty方法之外,服務(wù)器行為(ServerBehaviors)面板也可以顯示JavaBean所有的方法和屬性[11]。這些新增的功能改善了軟件的易用性并使用戶無論處于設(shè)計(jì)環(huán)境還是編碼環(huán)境都可以方便地生成頁面。5.1.2JSP簡介JSP(JavaServerPages)是在SunMicrosystems公司倡導(dǎo)下建立的一種“動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它在運(yùn)行速度、安全性、可移植性均比傳統(tǒng)的Web編程語言有很大的改進(jìn)?!耙淮伍_發(fā),多個(gè)平臺應(yīng)用”更是JSP動(dòng)人之處,因此深受Web開發(fā)人員的青睞[12]。JSP是將HTML標(biāo)記和程序設(shè)計(jì)語言混合在了一起,JSP是服務(wù)器端技術(shù),因此,一個(gè)JSP文檔可以在用戶間共享數(shù)據(jù)、可以訪問數(shù)據(jù)庫以及其他所有需要服務(wù)器干預(yù)的事情。其實(shí),JSP的實(shí)質(zhì)就是Servlet,它是Servlet2.1API的擴(kuò)展。但是它與Servlet相比,又有自己的優(yōu)勢。如果整個(gè)網(wǎng)頁都是在Servlet中制作,開發(fā)人員或者Web管理人員想要調(diào)整頁面顯示,就不得不編輯并重新編譯該Servlet,JSP就是為了解決這個(gè)問題而開發(fā)的技術(shù),它可以解決程序邏輯與顯示樣式分離的問題。JSP的工作原理我們知道JSP開發(fā)網(wǎng)絡(luò)程序十分簡單,對于小型的系統(tǒng)能夠馬上構(gòu)建及運(yùn)作。在JSP網(wǎng)頁中很容易結(jié)合商業(yè)邏輯,流程管控及HTML快速地開發(fā)出一套系統(tǒng)[13]。使用JSP開發(fā)網(wǎng)站通常有兩種設(shè)計(jì)模塊:(1)Model1通過一組JSP的結(jié)合所制作出來的,這里以JSP為中心的設(shè)計(jì)模式。它還有另一種形式,就是JSP與JavaBean相結(jié)合。(2)Model2以Java來開發(fā)網(wǎng)站應(yīng)用程序,所說的Model2就是采用MVC架構(gòu)的開發(fā)模式。它的主要優(yōu)點(diǎn)是①開發(fā)流程更為明確,使用Model的設(shè)計(jì)模式可以完全切開顯示端與商業(yè)邏輯的開發(fā),主美工設(shè)計(jì)人員和程序員可以專注于本職的工作,有利于系統(tǒng)的開發(fā)。②核心的程序管控,由Controller控制整個(gè)流程,可以減少JSP需要撰寫許多條件判斷邏輯及流程管控等的程序代碼。③維護(hù)容易,不論是后端商業(yè)邏輯對象還是前端的網(wǎng)頁呈現(xiàn),都通過控制中心來掌控,如果有商業(yè)邏輯的變更,可以輕易地修改Model端的程序,面不用去修改相關(guān)的JSP文件。它的工作原理如圖6-1。瀏覽器瀏覽器BrowserServlet(controller)控制器JSP(view)視圖請求Request請求RequestCallJavaBeanEJB(Model)模塊User圖5-1MVC框架Figure5-1MVCframework因此我們不難看出,JSP是一種非常靈活的程序設(shè)計(jì)設(shè)計(jì)語言,它可以與JavaBean以及Servlet相結(jié)合,使得程序員能夠方便有效的開發(fā)出安全,可重用性高的代碼。在應(yīng)用開發(fā)中采用JSP技術(shù),不僅可以大幅度提高商開發(fā)效率,還可以有效地保障企業(yè)原有的IT投資[6]。一個(gè)JSP客戶端既可以是一個(gè)Web客戶端,也可以是一個(gè)應(yīng)用程序客戶端。5.1.3Tomcat概述Tomcat很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能[14];而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個(gè)輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。當(dāng)配置正確時(shí),Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁面和Servlet[15]。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。5.1.4數(shù)據(jù)庫MySQLMySQL是由瑞典MySQLAB公司開發(fā),目前屬于Oracle公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。自1996年開始,從一個(gè)簡單的SQL工具到當(dāng)前的“世界上最受歡迎的開放源代碼數(shù)據(jù)庫”地位,MySQL已經(jīng)走過了一段很長的路[16]。MySQL從無到有,只經(jīng)歷了10余年時(shí)間。到目前為止MySQL裝機(jī)量接近1200萬,而且每天下載量已超過5萬的數(shù)量增加。毋庸置疑地成為了世界上最流行的開源數(shù)據(jù)庫。根據(jù)外國市場調(diào)查公司JoinVision的報(bào)告,被調(diào)查對象中,超過30%的人打算部署MySQL。這一比例超過Oracle、SQLServer和DB2[17]。由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP/Perl/Python)和LNMP(Linux+Nginx+MySQL+php/perl/Python),即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP/Perl/Python作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是免費(fèi)或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。MySQL具有的特點(diǎn)如下:1.使用C和C++編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多線程,充分利用CPU資源5.優(yōu)化的SQL查詢算法,有效地提高查詢速度6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中。7.提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。8.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。9.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。10.支持大型的數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。11.支持多種存儲引擎。5.1.5JavaServlet和JSPServlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁面。它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。JSP全名為javaserverpage,其根本是一個(gè)簡化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語法中的java擴(kuò)張(以<%,%>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。JSP和Servlet的區(qū)別到底在應(yīng)用上有哪些體現(xiàn),很多人搞不清楚。簡單的說,SUN首先發(fā)展出Servlet,其功能比較強(qiáng)勁,體系設(shè)計(jì)也很先進(jìn),只是,它輸出HTML語句還是采用了老的CGI方式,是一句一句輸出,所以,編寫和修改HTML非常不方便。JavaServerPages(JSP)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動(dòng)態(tài)HTML混合編碼的技術(shù),JSP并沒有增加任何本質(zhì)上不能用Servlet實(shí)現(xiàn)的功能。但是,在JSP中編寫靜態(tài)HTML更加方便,不必再用println語句來輸出每一行HTML代碼。更重要的是,借助內(nèi)容和外觀的分離,頁面制作中不同性質(zhì)的任務(wù)可以方便地分開:比如,由頁面設(shè)計(jì)者進(jìn)行HTML設(shè)計(jì),同時(shí)留出供Servlet程序員插入動(dòng)態(tài)內(nèi)容的空間后來SUN推出了類似于ASP的鑲嵌型的JSP,把JSPTAG鑲嵌到HTML語句中,這樣,就大大簡化和方便了網(wǎng)頁的設(shè)計(jì)和修改。新型的網(wǎng)絡(luò)語言如ASP,PHP,JSP都是鑲嵌型的SCRIPT語言。這是JSP和Servlet區(qū)別的運(yùn)作原理層面。從網(wǎng)絡(luò)三層結(jié)構(gòu)的角度看JSP和Servlet的區(qū)別,一個(gè)網(wǎng)絡(luò)項(xiàng)目最少分三層:datalayer(數(shù)據(jù)層),businesslayer(業(yè)務(wù)層),presentationlayer(表現(xiàn)層)。當(dāng)然也可以更復(fù)雜。Servlet用來寫businesslayer是很強(qiáng)大的,但是對于寫presentationlayer就很不方便。JSP則主要是為了方便寫presentationlayer而設(shè)計(jì)的。當(dāng)然也可以寫businesslayer。寫慣了ASP,PHP,CGI的朋友,經(jīng)常會不自覺的把presentationlayer和businesslayer混在一起。就象前面那個(gè)朋友,把數(shù)據(jù)庫處理信息放到JSP中,其實(shí),它應(yīng)該放在businesslayer中。根據(jù)SUN自己的推薦,JSP中應(yīng)該僅僅存放與presentationlayer有關(guān)的東東,也就是說,只放輸出HTML網(wǎng)頁的部份。而所有的數(shù)據(jù)計(jì)算,數(shù)據(jù)分析,數(shù)據(jù)庫聯(lián)結(jié)處理,統(tǒng)統(tǒng)是屬于businesslayer,應(yīng)該放在JavaBEANS中。通過JSP調(diào)用JavaBEANS,實(shí)現(xiàn)兩層的整合。實(shí)際上,微軟前不久推出的DNA技術(shù),簡單說,就是ASP+COM/DCOM技術(shù)。與JSP+BEANS完全類似,所有的presentationlayer由ASP完成,所有的businesslayer由COM/DCOM完成。通過調(diào)用,實(shí)現(xiàn)整合。為什么要采用這些組件技術(shù)呢?因?yàn)閱渭兊腁SP/JSP語言是非常低效率執(zhí)行的,如果出現(xiàn)大量用戶點(diǎn)擊,純SCRIPT語言很快就到達(dá)了他的功能上限,而組件技術(shù)就能大幅度提高功能上限,加快執(zhí)行速度。另外一方面,純SCRIPT語言將presentationlayer和businesslayer混在一起,造成修改不方便,并且代碼不能重復(fù)利用。如果想修改一個(gè)地方,經(jīng)常會牽涉到十幾頁CODE,采用組件技術(shù)就只改組件就可以了。綜上所述,Servlet是一個(gè)早期的不完善的產(chǎn)品,寫businesslayer很好,寫presentationlayer就很臭,并且兩層混雜。所以,推出JSP+BEAN,用JSP寫presentationlayer,用BEAN寫businesslayer。SUN自己的意思也是將來用JSP替代Servlet。這是技術(shù)更新方面JSP和Servlet的區(qū)別。可是,這不是說,學(xué)了Servlet沒用,實(shí)際上,你還是應(yīng)該從Servlet入門,再上JSP,再上JSP+BEAN。強(qiáng)調(diào)的是:學(xué)了JSP,不會用JavaBEAN并進(jìn)行整合,等于沒學(xué)。大家多花點(diǎn)力氣在JSP+BEAN上。我們可以看到,當(dāng)ASP+COM和JSP+BEAN都采用組件技術(shù)后,所有的組件都是先進(jìn)行編譯,并駐留內(nèi)存,然后快速執(zhí)行。所以,大家經(jīng)常吹的Servlet/JSP先編譯駐內(nèi)存后執(zhí)行的速度優(yōu)勢就沒有了。反之,ASP+COM+IIS+NT緊密整合,應(yīng)該會有較大的速度優(yōu)勢呈現(xiàn)。而且,ASP+COM+IIS+NT開發(fā)效率非常高,雖然BUG很多。那么,為什么還用JSP+BEAN?因?yàn)镴ava實(shí)在前途遠(yuǎn)大。微軟分拆后,操作系統(tǒng)將群雄并起,應(yīng)用軟件的開發(fā)商必定要找一個(gè)通用開發(fā)語言進(jìn)行開發(fā),Java一統(tǒng)天下的時(shí)機(jī)就到了。如果微軟分拆順利,從中分出的應(yīng)用軟件公司將成為Java的新領(lǐng)導(dǎo)者。目前的Java大頭SUN和IBM都死氣沉沉,令人失望。希望新公司能注入新活力。不過,新公司很有可能和舊SUN展開Java標(biāo)準(zhǔn)大戰(zhàn),雙方各自制定標(biāo)準(zhǔn),影響Java跨平臺。簡單分析了一下JSP和Servlet的區(qū)別和JavaWeb開發(fā)方面的發(fā)展?,F(xiàn)在的機(jī)器速度越來越快,Java的速度劣勢很快就可以被克服。5.2系統(tǒng)代碼舉例本章節(jié)將介紹部分系統(tǒng)代碼,系統(tǒng)的代碼主要分為界面層代碼、控制層代碼、業(yè)務(wù)邏輯層代碼、數(shù)據(jù)訪問層代碼四部分組成,以下將截取商品信息管理部分界面層代碼,如下所示。publicDB() { try {Class.forName(className);}catch(ClassNotFoundExceptione) {System.out.println("加載數(shù)據(jù)庫驅(qū)動(dòng)失?。?); e.printStackTrace(); } } publicConnectiongetCon() { try {con=DriverManager.getConnection(url,user,password);}catch(SQLExceptione) { System.out.println("創(chuàng)建數(shù)據(jù)庫連接失??!"); con=null; e.printStackTrace(); } returncon; } publicvoiddoPstm(Stringsql,Object[]params) { if(sql!=null&&!sql.equals("")) { if(params==null) params=newObject[0]; getCon(); if(con!=null) {try { pstm=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); for(inti=0;i<params.length;i++) {pstm.setObject(i+1,params[i]); } pstm.execute(); }catch(SQLExceptione) { System.

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論