




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于SSH架構(gòu)的社區(qū)交流站點(diǎn)的分析與實(shí)現(xiàn)軟件工程學(xué) 院: 專(zhuān) 業(yè): 指導(dǎo)教師: 2014年11月目 錄1引 言12 開(kāi)發(fā)背景與環(huán)境22.1 開(kāi)發(fā)背景22.2 開(kāi)發(fā)環(huán)境22.2.1 開(kāi)發(fā)語(yǔ)言22.2.2 開(kāi)發(fā)技術(shù)32.2.3 開(kāi)發(fā)工具52.2.4 開(kāi)發(fā)框架62.3 可行性研究93 系統(tǒng)設(shè)計(jì)相關(guān)知識(shí)概述113.1 數(shù)據(jù)庫(kù)的相關(guān)理論113.1.1 數(shù)據(jù)庫(kù)的基本概念113.1.2 Oracle 10g數(shù)據(jù)庫(kù)簡(jiǎn)介133.2 數(shù)據(jù)庫(kù)的設(shè)計(jì)143.2.1 概述143.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程153.3 軟件工程概述163.3.1 軟件的定義163.3.2 軟件的開(kāi)發(fā)173.3.3 軟件的維護(hù)173.4 需求分
2、析184 總體設(shè)計(jì)194.1 系統(tǒng)設(shè)計(jì)過(guò)程194.2 系統(tǒng)模塊設(shè)計(jì)194.3 系統(tǒng)用例圖214.4 數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)225 系統(tǒng)詳細(xì)設(shè)計(jì)275.1 建立數(shù)據(jù)庫(kù)275.2 數(shù)據(jù)表的創(chuàng)建與實(shí)現(xiàn)275.3 程序設(shè)計(jì)345.3.1 用戶(hù)登陸功能設(shè)計(jì)345.3.2 用戶(hù)注冊(cè)頁(yè)面功能365.3.3 創(chuàng)建個(gè)人空間功能設(shè)計(jì)385.3.4 發(fā)送信息功能設(shè)計(jì)415.3.5 收件箱的功能設(shè)計(jì)435.3.6 查詢(xún)好友的功能設(shè)計(jì)455.4 對(duì)本社區(qū)的說(shuō)明475.4.1 查詢(xún)數(shù)據(jù)庫(kù)的說(shuō)明475.4.2 使用本社區(qū)的說(shuō)明506 系統(tǒng)測(cè)試與維護(hù)516.1 軟件測(cè)試516.2 測(cè)試概要516.3 運(yùn)行與維護(hù)54結(jié) 論55參 考
3、 文 獻(xiàn)56致 謝57 1引 言隨著全球科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)不斷創(chuàng)新,人類(lèi)已邁向了信息化時(shí)代,計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展,更是給人們的生活帶來(lái)了前所未有的變革,網(wǎng)上購(gòu)物,電子政務(wù),遠(yuǎn)程視頻會(huì)議等等,無(wú)不在時(shí)時(shí)刻刻改變著我們的生活,生產(chǎn)方式。人類(lèi)社會(huì)邁向信息化的同時(shí),也面臨著生活節(jié)奏快,工作壓力大的普遍問(wèn)題,進(jìn)而人們?cè)诰駥用嫔霞毙枰环N緩解生活,工作壓力的網(wǎng)絡(luò)交流平臺(tái),通過(guò)這個(gè)平臺(tái),人們彼此之間可以就自身感興趣的話(huà)題,交流,溝通。釋放工作,生活上的壓力,而社區(qū)以它相同的價(jià)值取向,人口同質(zhì)性較強(qiáng)的社會(huì)共同體,使人們更能以一種輕松的方式,同他人溝通,交流。釋放自己工作,生活壓力。通過(guò)實(shí)際瀏覽一
4、些國(guó)內(nèi)大型社區(qū)網(wǎng)站,和國(guó)外的一些社區(qū)網(wǎng)站,國(guó)內(nèi)的社區(qū)網(wǎng)站,功能太過(guò)復(fù)雜,有時(shí),可能找了半天找不到自己感興趣的鏈接。界面太復(fù)雜,感覺(jué)有點(diǎn)亂,而國(guó)外的社區(qū)網(wǎng)站,則做的很簡(jiǎn)潔,打開(kāi)社區(qū)網(wǎng)站首頁(yè),簡(jiǎn)潔,清晰,明了。不用浪費(fèi)很多時(shí)間去找一個(gè)鏈接。 社區(qū)交流站點(diǎn)的分析與實(shí)現(xiàn),以解決運(yùn)動(dòng)愛(ài)好者溝通,交流運(yùn)動(dòng)心得,適應(yīng)快節(jié)奏的社會(huì)生活,緩解人們工作,生活壓力為主要目標(biāo)。以其簡(jiǎn)潔,清晰,明了為設(shè)計(jì)原則。本系統(tǒng)主要包含以下四個(gè)模塊:用戶(hù)登陸模塊、個(gè)人信息管理模塊、短信息收發(fā)管理模塊、好友信息管理模塊。每一個(gè)模塊都進(jìn)行了具體的設(shè)計(jì)和實(shí)現(xiàn),使用本系統(tǒng)也可以滿(mǎn)足不同地域的運(yùn)動(dòng)愛(ài)好者方便,快捷的彼此交流。 本系統(tǒng)使用My
5、Eclipse for Spring 8.6作為開(kāi)發(fā)環(huán)境,連接Oracle 10g數(shù)據(jù)庫(kù),采用apache-tomcat-6.0.29作為Web服務(wù)器,論文重點(diǎn)講述運(yùn)動(dòng)愛(ài)好者社區(qū)的開(kāi)發(fā)過(guò)程。本開(kāi)發(fā)過(guò)程嚴(yán)格按照軟件開(kāi)發(fā)周期的開(kāi)發(fā)步驟,首先進(jìn)行需求分析,然后分析系統(tǒng)的可行性報(bào)告,確定項(xiàng)目開(kāi)發(fā)方案,并按照制定的項(xiàng)目開(kāi)發(fā)計(jì)劃進(jìn)行了系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。最后對(duì)本系統(tǒng)進(jìn)行了測(cè)試、運(yùn)行和維護(hù)。由于本人的技術(shù)水平有限,加上時(shí)間倉(cāng)促論文中難免有不恰當(dāng),不合理的地方,敬請(qǐng)老師們批評(píng)指正,以使系統(tǒng)更加完善。2 開(kāi)發(fā)背景與環(huán)境2.1 開(kāi)發(fā)背景21世紀(jì)已然是知識(shí)經(jīng)濟(jì)的時(shí)代,隨著Internet1的高速發(fā)展,計(jì)算機(jī)網(wǎng)
6、絡(luò)已成為這一時(shí)代重要的生產(chǎn)工具,經(jīng)濟(jì)全球化的穩(wěn)步推進(jìn),給各個(gè)國(guó)家?guī)?lái)了巨大的發(fā)展機(jī)遇。同時(shí),也給各個(gè)國(guó)家?guī)?lái)了前所未有的挑戰(zhàn),如何在機(jī)遇中迎接挑戰(zhàn),在挑戰(zhàn)中發(fā)展自身,科學(xué)技術(shù)的創(chuàng)新和變革已是我們急待解決的問(wèn)題,隨著我國(guó)社會(huì)主義市場(chǎng)經(jīng)濟(jì)的快速發(fā)展,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗之地,各單位必須對(duì)不斷變化的市場(chǎng)做出快速反應(yīng),把單位各部門(mén)結(jié)合成一體,形成一個(gè)堅(jiān)實(shí)的信息共享共同體,為此,一些中小型企業(yè)為了適應(yīng)信息化時(shí)代的發(fā)展要求,提高自身的工作效率,適應(yīng)市場(chǎng)發(fā)展的需要,基本都實(shí)現(xiàn)了辦公自動(dòng)化。高新技術(shù)的飛速發(fā)展,科技產(chǎn)品換代的速度也越來(lái)越快,計(jì)算機(jī)的普及率越來(lái)越高,目前,計(jì)算機(jī)的價(jià)位也相對(duì)合理,基本可
7、以適用大部分人群,性能的長(zhǎng)足進(jìn)步等等,它已被廣泛應(yīng)用于許多領(lǐng)域,尤其是在信息管理,信息通信領(lǐng)域,它可以大大簡(jiǎn)化繁瑣的工作流程,大幅度提高工作效率,在最短的時(shí)間,獲取更大的利益。伴隨著計(jì)算機(jī)的高速發(fā)展和普及,它已成為人們獲取信息的一種方便、快捷、高效的手段。盡管我國(guó)的信息化程度在高節(jié)奏的推進(jìn),在瀏覽我國(guó)社區(qū)網(wǎng)站時(shí),我們不難發(fā)現(xiàn),社區(qū)界面的各種模塊有種使上網(wǎng)者無(wú)從下手的感覺(jué),界面功能復(fù)雜,各種網(wǎng)絡(luò)用戶(hù)在其上登錄,注冊(cè),交流,專(zhuān)業(yè)性就變得無(wú)從談起,從浩瀚的人群中,尋找和自己興趣,愛(ài)好相投的用戶(hù),更要花費(fèi)一些時(shí)間,和精力。如此使原本疲憊的內(nèi)心,更加上了一層疲憊。娛樂(lè)性更無(wú)從談及。 網(wǎng)絡(luò)運(yùn)動(dòng)愛(ài)好者社區(qū)系
8、統(tǒng)是專(zhuān)門(mén)為喜歡運(yùn)動(dòng)的愛(ài)好者提供的一個(gè)交流的平臺(tái),使喜歡愛(ài)好運(yùn)動(dòng)的用戶(hù)不需要進(jìn)行面對(duì)面的交流,只需在網(wǎng)上查看運(yùn)動(dòng)愛(ài)好者的個(gè)人空間,從而了解他人的運(yùn)動(dòng)愛(ài)好習(xí)慣,如果與自己的愛(ài)好相同或相似,就可以加對(duì)方為好友,如果想和其溝通,交流。則可以通過(guò)給對(duì)方發(fā)送短信息。對(duì)自己討厭的人,則可以把其加入黑名單。2.2 開(kāi)發(fā)環(huán)境 2.2.1 開(kāi)發(fā)語(yǔ)言Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,Java由四方面組成:Java編程語(yǔ)言、Java類(lèi)文件格式、Java虛擬機(jī)和Java應(yīng)用程序接口(Java API)。Java分為三個(gè)體系J2SE(Java2 Platform Standard Editio
9、n,java平臺(tái)標(biāo)準(zhǔn)版),J2EE(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版),J2ME(Java 2 Platform Micro Edition,java平臺(tái)微型版)。其繼承性,封裝性,多態(tài)性,抽象性更是把它的應(yīng)用推向了極致。多線程,動(dòng)態(tài)性的特征更使其功能更加強(qiáng)大。2.2.2 開(kāi)發(fā)技術(shù) JSP2技術(shù)的簡(jiǎn)介及其優(yōu)點(diǎn):1.一次編譯,多次、多處運(yùn)行,代碼的執(zhí)行效率高JSP的腳本語(yǔ)言是JAVA語(yǔ)言,因此它具有JAVA語(yǔ)言的一切特性。同時(shí),JSP也支持現(xiàn)在大部分平臺(tái)。當(dāng)JSP第一次被請(qǐng)求時(shí),JSP頁(yè)面轉(zhuǎn)換成Servlet,然后被編譯成.class文件,
10、以后(除非頁(yè)面有改動(dòng)或Web服務(wù)器被重新啟動(dòng))再有客戶(hù)請(qǐng)求該JSP頁(yè)面時(shí),JSP頁(yè)面不被重新編譯,而是直接執(zhí)行已編譯好的.class文件,因此執(zhí)行效率特別高。2.組件的重用性可重用的、跨平臺(tái)的JavaBeans和EJB(Enterprise JavaBeans)組件,為JSP程序的開(kāi)發(fā)提供方便,我們可以將復(fù)雜的處理程序(如頁(yè)面中需要顯示的動(dòng)態(tài)內(nèi)容及對(duì)數(shù)據(jù)庫(kù)的操作)放到組件中??梢远啻问褂眠@些組件,極大的減少了在JSP頁(yè)面中重寫(xiě)重復(fù)的代碼。3.將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)
11、內(nèi)容。生成動(dòng)態(tài)內(nèi)容的語(yǔ)句一般被封裝在JavaBean組件、EJB組件或JSP腳本段中。這樣,頁(yè)面的設(shè)計(jì)人員和頁(yè)面的編程人員可以同步進(jìn)行。同時(shí)在客戶(hù)端通過(guò)查看源文件,看不到JSP標(biāo)識(shí)的語(yǔ)句,更看不到JavaBean和EJB組件,也可以保護(hù)源程序的代碼。Servlet3技術(shù)的作用及其優(yōu)勢(shì):1.Servlet介紹Servlet是用Java編寫(xiě)的Server端程序,它與協(xié)議和平臺(tái)無(wú)關(guān)。Servlet運(yùn)行于Javaenabled Web Server中。Java Servlet可以動(dòng)態(tài)地?cái)U(kuò)展Server的能力,并采用請(qǐng)求響應(yīng)模式提供Web服務(wù)。最早支持Servlet技術(shù)的是Java Soft的Java
12、Web Server。此后,一些其它的基于Java的Web Server開(kāi)始支持標(biāo)準(zhǔn)的Servlet API。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。這個(gè)過(guò)程為: 客戶(hù)端發(fā)送請(qǐng)求至服務(wù)器端; 服務(wù)器將請(qǐng)求信息發(fā)送至Servlet; Servlet生成響應(yīng)內(nèi)容并將其傳給Server響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶(hù)端請(qǐng)求; 服務(wù)器將響應(yīng)返回給客戶(hù)端;Servlet的作用對(duì)Java來(lái)說(shuō)很重要。Servlet看起來(lái)像是通常的Java程序。Servlet導(dǎo)入特定的屬于Java Servlet API的包。因?yàn)槭菍?duì)象字節(jié)碼,可動(dòng)態(tài)地從網(wǎng)絡(luò)加載,可以說(shuō)Servlet對(duì)Serv
13、er就如同Applet對(duì)Client一樣,但是,由于 Servlet運(yùn)行于Server中,它們并不需要一個(gè)圖形用戶(hù)界面。從這個(gè)角度講,Servlet也被稱(chēng)為Faceless Object。2. Servlet的優(yōu)勢(shì)Servlet可以和其他資源(文件、數(shù)據(jù)庫(kù)、Applet、Java應(yīng)用程序等)交互,以生成返回給客戶(hù)端的響應(yīng)內(nèi)容。如果需要,還可以保存請(qǐng)求響應(yīng)過(guò)程中的信息。采用Servlet,服務(wù)器可以完全授權(quán)對(duì)本地資源的訪問(wèn)(如數(shù)據(jù)庫(kù)),并且Servlet自身將會(huì)控制外部用戶(hù)的訪問(wèn)數(shù)量及訪問(wèn)性質(zhì)Servlet可以是其它服務(wù)的客戶(hù)端程序,例如,它們可以用于分布式的應(yīng)用系統(tǒng)中,可以從本地硬盤(pán),或者通過(guò)
14、網(wǎng)絡(luò)從遠(yuǎn)端硬盤(pán)激活Servlet的作用。Servlet可被鏈接(chain)。一個(gè)Servlet可以調(diào)用另一個(gè)或一系列Servlet,即成為它的客戶(hù)端。采用Servlet Tag技術(shù),可以在HTML頁(yè)面中動(dòng)態(tài)調(diào)用Servlet。Servlet API與協(xié)議無(wú)關(guān)。它并不對(duì)傳遞它的協(xié)議有任何假設(shè)。像所有的Java程序一樣,Servlet擁有面向?qū)ο驤ava語(yǔ)言的所有優(yōu)勢(shì)Servlet提供了Java應(yīng)用程序的所有優(yōu)勢(shì)可移植、穩(wěn)健、易開(kāi)發(fā)。使用Servlet 的Tag技術(shù),Servlet能夠生成嵌于靜態(tài)HTML頁(yè)面中的動(dòng)態(tài)內(nèi)容。一個(gè)Servlet被客戶(hù)端發(fā)送的第一個(gè)請(qǐng)求激活,然后它將繼續(xù)運(yùn)行于后臺(tái),等
15、待以后的請(qǐng)求。每個(gè)請(qǐng)求將一個(gè)新的線程,而不是一個(gè)完整的進(jìn)程。Servlet容器的作用是負(fù)責(zé)處理客戶(hù)請(qǐng)求。當(dāng)客戶(hù)請(qǐng)求來(lái)到時(shí),Servlet容器獲取請(qǐng)求,然后調(diào)用某個(gè)Servlet,并把Servlet的執(zhí)行結(jié)果返回給客戶(hù)。當(dāng)客戶(hù)請(qǐng)求某個(gè)資源時(shí),Servlet容器使用ServletRequest對(duì)象把客戶(hù)的請(qǐng)求信息封裝起來(lái),然后調(diào)用Java Servlet API中定義的Servlet的一些生命周期方法,完成Servlet的執(zhí)行,接著把Servlet執(zhí)行的要返回給客戶(hù)的結(jié)果封裝到ServletResponse對(duì)象中,最后Servlet容器把客戶(hù)的請(qǐng)求發(fā)送給客戶(hù),完成為客戶(hù)的一次服務(wù)過(guò)程。Servle
16、t容器與JSP結(jié)合的總體流程圖如圖1-1所示。圖1.1 Servlet與JSP結(jié)合的總體流程圖2.2.3 開(kāi)發(fā)工具根據(jù)需求分析及功能分析,選用集成開(kāi)發(fā)工具M(jìn)yEclipse for Spring 8.6及Oracle 10g數(shù)據(jù)庫(kù)來(lái)開(kāi)發(fā)此網(wǎng)絡(luò)運(yùn)動(dòng)愛(ài)好者社區(qū)。 1.MyEclipse的起源和發(fā)展MyEclipse的前身是IBM的Visual Age。由于意識(shí)到Visual Age存在難以擴(kuò)展、底層技術(shù)較為脆弱、很難與WebSphere Studio軟件集成等諸多問(wèn)題,進(jìn)一步發(fā)展甚為困難,同時(shí)也面臨包括Symantec公司的Visual Caf、Borland公司的JBuilder等開(kāi)發(fā)工具的競(jìng)爭(zhēng)
17、壓力,IBM決定創(chuàng)建一個(gè)更開(kāi)放的,并且可以為IBM其他開(kāi)發(fā)工具提供支持的一體化開(kāi)發(fā)平臺(tái)。1998年11月,IBM專(zhuān)門(mén)成立了一個(gè)項(xiàng)目開(kāi)發(fā)小組,開(kāi)始開(kāi)發(fā)該平臺(tái),2000年新一代開(kāi)發(fā)平臺(tái)誕生,這就是大家所熟悉的Eclipse。MyEclipse則是在Eclipse的基礎(chǔ)上,集成了許許多多的當(dāng)前流行的框架,它更像是一種對(duì)Eclipse的升級(jí)版。MyEclipse主要用于開(kāi)發(fā)Java, J2EE的Eclipse插件集合,它的功能非常強(qiáng)大,支持也十分廣泛。MyEclipse不斷發(fā)展的版本: (1) MyEclipse 5.0 版本智能、更快捷、更簡(jiǎn)單和更便宜的J2EE工具的新版本的誕生。 (2) MyEc
18、lipse 6.XGA 版本改進(jìn)了Java EE 5 和 Spring功能部件 、對(duì)Spring 2.0升級(jí),增強(qiáng)配置管理功能、增強(qiáng)了JavaScript調(diào)試 、一鍵安裝MyEclipse Java EE示例項(xiàng)目。 (3) MyEclipse 7.0 版本提供的支持包括:Eclipse 3.4.1/Ganymede、REST web服務(wù)、新的myeclipse操作板、spring工具集更新、集成Manven2、open JPA支持、高級(jí)javascript工具、專(zhuān)業(yè)的jsdt實(shí)現(xiàn)、報(bào)表工具加強(qiáng)、jsf和ICEfaces。 (4) MyEclipse 8.0 版本Java事件探查器支持探查Ecl
19、ipse插件、可以自定義插件加載可以管理MyEclipse模塊、增強(qiáng)了對(duì)報(bào)表的支持,升級(jí)了BIRT2.5。 (5) MyEclipse 8.5 版本該版本集成了 Eclipse 3.5.2,提升了團(tuán)隊(duì)協(xié)作開(kāi)發(fā)、開(kāi)發(fā)周期管理以及 Spring 和 Hibernate 的更好支持。 (6) MyEclipse 9.0 版本支持 HTML5 和 JavaEE 6。 (7) MyEclipse 10.0 版本MyEclipse10 對(duì)檢索功能以及錯(cuò)誤查詢(xún)功能更加強(qiáng)大,包括對(duì)js文件的錯(cuò)誤查詢(xún)。就目前本人的體驗(yàn)來(lái)說(shuō),最大的變化莫過(guò)于軟件安裝界面,推薦使用link方法進(jìn)行插件安裝,方便快捷。2.MyEcl
20、ipse的優(yōu)勢(shì)MyEclipse是真正可擴(kuò)展并可配置的。MyEclipse采用插件機(jī)制,猶如一個(gè)花瓶,你可以隨時(shí)向花瓶里面插花,也可以很容易將不再需要的花取出。MyEclipse支持眾多的開(kāi)發(fā)語(yǔ)言而不僅僅是Java。MyEclipse只是給開(kāi)發(fā)人員提供了一個(gè)能夠擴(kuò)展系統(tǒng)功能的最小核心,基于擴(kuò)展點(diǎn)的插件體系結(jié)構(gòu)使得MyEclipse支持多種語(yǔ)言成為可能。只要安裝相應(yīng)語(yǔ)言的插件,MyEclipse就可以支持該種語(yǔ)言的開(kāi)發(fā)。目前,Eclipse已經(jīng)可以支持C、COBOL、PHP、Perl、Python等多種語(yǔ)言。MyEclipse提供了對(duì)多重平臺(tái)特性的支持。開(kāi)發(fā)者可以使用他們感覺(jué)最舒適、最熟悉的平臺(tái)
21、,例如Windows、Linux等。2.2.4 開(kāi)發(fā)框架 1.Struts4介紹:用Struts實(shí)現(xiàn)MVC架構(gòu)。MVC5(Model-View-Controller)由Trygve Reenskaug提出,首先被應(yīng)用在SmallTalk-80環(huán)境中,是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ)。根據(jù)界面設(shè)計(jì)可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。模型(Model)是軟件所處理問(wèn)題邏輯在獨(dú)立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和I/O操作。視圖(View)把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶(hù)。它從
22、模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示形式或視圖??刂破鳎–ontroller)是處理用戶(hù)與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶(hù)界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶(hù)的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。通常一個(gè)視圖對(duì)應(yīng)一個(gè)控制器。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶(hù)通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴(lài)于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論 何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化傳播機(jī)制。Struts框
23、架最早是作為Apache Jakarta項(xiàng)目的組成部分問(wèn)世運(yùn)做,它繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts框架很好的結(jié)合了Jsp,Java Servlet,Java Bean,Taglib等技術(shù)。在Struts中,承擔(dān)MVC中控制器角色的是ActionServlet。ActionServlet是一個(gè)通用的控制組件。這個(gè)控制組件提供了處理所有發(fā)送到Struts的HTTP請(qǐng)求的入口點(diǎn)。它截取和分發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作類(lèi)(這些動(dòng)類(lèi)都是Action類(lèi)的子類(lèi))。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充ActionForm(FromBean),并傳給動(dòng)作類(lèi)(Actio
24、nBean)。動(dòng)作類(lèi)訪問(wèn)核心商業(yè)邏輯,即訪問(wèn)Java Bean或調(diào)用EJB。最后動(dòng)作類(lèi)把控制權(quán)傳給后續(xù)的JSP文件,由JSP文件生成視圖。所有這些控制邏輯利用Struts-config.xml文件來(lái)配置。在Struts框架中,視圖主要由JSP生成,Struts結(jié)構(gòu)流程如下圖1.2所示:圖1.2 Struts結(jié)構(gòu)流程圖2.Hibernate6介紹:Hibernate是一個(gè)靈活和強(qiáng)大的對(duì)象-關(guān)系映射(ORM)的解決方案,Java類(lèi)映射到數(shù)據(jù)庫(kù)表。這是一個(gè)強(qiáng)大的,高性能的對(duì)象關(guān)系持久性和查詢(xún)服務(wù)。Hibernate允許開(kāi)發(fā)人員在其自己的便攜式SQL擴(kuò)展來(lái)表達(dá)查詢(xún)(Hibernate查詢(xún)語(yǔ)言(HQL)
25、,以及在本地的SQL,或面向?qū)ο蟮臉?biāo)準(zhǔn)和示例應(yīng)用程序編程接口(API)。Hibernate自身需要照顧這個(gè)映射使用XML文件,以便開(kāi)發(fā)人員不需要編寫(xiě)代碼。Hibernate是一個(gè)開(kāi)放源代碼和用于開(kāi)發(fā)和生產(chǎn)部署,這是一個(gè)橋梁Java應(yīng)用程序關(guān)系型數(shù)據(jù)庫(kù)之間和負(fù)責(zé)的Java對(duì)象和關(guān)系數(shù)據(jù)之間的映射,它是免費(fèi)的。里面的Hibernate包函JDBC連接,它提供了面向?qū)ο蟮臄?shù)據(jù)庫(kù)訪問(wèn)到上層應(yīng)用的API訪問(wèn)數(shù)據(jù)庫(kù)的操作。因此,開(kāi)發(fā)人員可以使用對(duì)象編程思想,充分操作數(shù)據(jù)如圖2所示,休眠在于中間層和應(yīng)用程序之間提供了持續(xù)的服務(wù),Hibernate的映射類(lèi)類(lèi)的屬性和映射文件(mapping.xml中)本身的數(shù)
26、據(jù)表行database。應(yīng)用程序與數(shù)據(jù)庫(kù)由Persitstent對(duì)象(PO)直接處理數(shù)據(jù)。庫(kù),關(guān)懷不必要底層數(shù)據(jù)庫(kù)結(jié)構(gòu)。Hibernate的減輕了開(kāi)發(fā)人員常見(jiàn)的數(shù)據(jù)持久化相關(guān)的編程任務(wù)的95,比手動(dòng)編碼的SQL和JDBC API。它可以集成各種Web服務(wù)器或應(yīng)用服務(wù)器,幾乎支持所有流行的數(shù)據(jù)庫(kù)服務(wù)器。應(yīng)用持久化對(duì)象Hibernate屬性XML映射文件 數(shù)據(jù)庫(kù)圖1.3 Hibernate系統(tǒng)結(jié)構(gòu)圖歸納起來(lái),網(wǎng)絡(luò)跑步愛(ài)好者社區(qū)系統(tǒng)的開(kāi)發(fā)與運(yùn)行環(huán)境如下。 開(kāi)發(fā)工具:MyEclipse for Spring 8.6開(kāi)發(fā)框架:Struts + Hibernate數(shù)據(jù)庫(kù)管理系統(tǒng):Oracle 10g運(yùn)行環(huán)
27、境:Windows XP 2.3 可行性研究可行性分析的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。MyEclipse for Spring 8.6具有強(qiáng)大的數(shù)據(jù)庫(kù)支持功能,能夠支持現(xiàn)今大多流行的數(shù)據(jù)庫(kù),可以方便的實(shí)現(xiàn)與各種數(shù)據(jù)庫(kù)的連接,并且Oracle 10g具有良好的用戶(hù)操作界面。可以SQL命令窗口,PLSQL Developer,Hibernate、JDBC等特定技術(shù),便捷的對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行增加、刪除、修改、查詢(xún)等操作,Oracle 10g對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)類(lèi)型經(jīng)行多角度限定,從而方便了用戶(hù)在不同系統(tǒng)之間進(jìn)行數(shù)據(jù)類(lèi)型格式的轉(zhuǎn)換。MyEclipse for Spring 8
28、.6提供了強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)輔助工具,程序員利用這些工具能夠迅速開(kāi)發(fā)出功能強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用程序。課題主要研究的方向是運(yùn)動(dòng)社區(qū)交流,注冊(cè)會(huì)員的信息安全,也是課題必須要考慮的問(wèn)題,Oracle 10g的高安全性正好滿(mǎn)足這一需求,其次數(shù)據(jù)的高可靠性也是此課題關(guān)注的點(diǎn),Oracle 10g數(shù)據(jù)安全驗(yàn)證機(jī)制,及日志信息管理機(jī)制,能很好地滿(mǎn)足我的需求。 1.技術(shù)分析技術(shù)分析是最難決斷和最關(guān)鍵的問(wèn)題,它主要是從技術(shù)的角度對(duì)系統(tǒng)實(shí)現(xiàn)的可行性進(jìn)行研究。經(jīng)研究,確定使用MyEclipse作為開(kāi)發(fā)工具,其強(qiáng)大的自帶框架功能為其順 利搭建框架提供了重要的技術(shù)保障,Struts + Hibernate的整合經(jīng)過(guò)多
29、方驗(yàn)證,完全可以認(rèn)為它已是一個(gè)相當(dāng)成熟的主流技術(shù),其強(qiáng)大的連接數(shù)據(jù)庫(kù)的功能,更是為數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)提供了堅(jiān)實(shí)的技術(shù)保障。2.操作分析操作分析用來(lái)確定系統(tǒng)的運(yùn)行方式是否可行。經(jīng)研究,本系統(tǒng)屬于(網(wǎng)絡(luò))管理信息系統(tǒng)。運(yùn)行環(huán)境:pentium2000以上的CPU,512M以上的內(nèi)存,windows XP以上的操作系統(tǒng)。從現(xiàn)在電腦的硬件配置來(lái)說(shuō),程序運(yùn)行的可行性是完全可以滿(mǎn)足的。通過(guò)以上的分析,可知使用MyEclipse、Oracle 10g開(kāi)發(fā),此系統(tǒng)無(wú)論從技術(shù)上、經(jīng)濟(jì)上、硬件上和操作上都是可行的。3 系統(tǒng)設(shè)計(jì)相關(guān)知識(shí)概述3.1 數(shù)據(jù)庫(kù)的相關(guān)理論3.1.1 數(shù)據(jù)庫(kù)的基本概念1.概念模型7是在現(xiàn)實(shí)
30、世界中對(duì)客觀事物及其聯(lián)系的一種抽象描述,涉及以下術(shù)語(yǔ):(1)實(shí)體:我們把客觀存在并且可以相互區(qū)別的事物稱(chēng)為實(shí)體。實(shí)體可以是實(shí)際事物,也可以是抽象事件。如一個(gè)職工、一場(chǎng)比賽等。(2)實(shí)體集:同一類(lèi)實(shí)體的集合稱(chēng)為實(shí)體集。如全體職工。注意區(qū)分型與值的概念。如每個(gè)職工是職工實(shí)體“型”的一個(gè)具體“值”。屬性:描述實(shí)體的特性稱(chēng)為屬性。如職工的職工號(hào),姓名,性別,出生日期,職稱(chēng)等關(guān)鍵字,如果某個(gè)屬性或?qū)傩越M合的值能唯一地標(biāo)識(shí)出實(shí)體集中的每一個(gè)實(shí)體,可以選作關(guān)鍵字。用作標(biāo)識(shí)的關(guān)鍵字,也稱(chēng)為碼。如“職工號(hào)”就可作為關(guān)鍵字。2.E-R圖ER圖(實(shí)體關(guān)系模型),它是描述概念世界,建立概念模型的實(shí)用工具。E-R圖包括
31、三個(gè)要素:(1)實(shí)體用矩形框表示,框內(nèi)標(biāo)注實(shí)體名稱(chēng)。(2)屬性用橢圓形表示,并用實(shí)線與實(shí)體連接起來(lái)。(3)實(shí)體之間的聯(lián)系用菱形框表示,框內(nèi)標(biāo)注聯(lián)系名稱(chēng),并用連線將菱形框分別與有關(guān)實(shí)體相連,并在連線上注明聯(lián)系類(lèi)型。聯(lián)系歸結(jié)為三種類(lèi)型:一對(duì)一聯(lián)系(1:1)設(shè)A、B為兩個(gè)實(shí)體集。若A中的每個(gè)實(shí)體至多和B中的一個(gè)實(shí)體有聯(lián)系,反過(guò)來(lái),B中的每個(gè)實(shí)體至多和A中的一個(gè)實(shí)體有聯(lián)系,稱(chēng)A對(duì)B或B對(duì)A是1:1聯(lián)系。注意,1:1聯(lián)系不一定都是一一對(duì)應(yīng)的關(guān)系??赡艽嬖谥鵁o(wú)對(duì)應(yīng)實(shí)體。如一個(gè)公司只有一個(gè)總經(jīng)理,一個(gè)總經(jīng)理不能同時(shí)在其它公司再兼任總經(jīng)理。一對(duì)多聯(lián)系(1:n)如果A實(shí)體集中的每個(gè)實(shí)體可以和B中的幾個(gè)實(shí)體有聯(lián)系
32、,而B(niǎo)中的每個(gè)實(shí)體至我和A中的一個(gè)實(shí)體有聯(lián)系,那么A對(duì)B屬于1:n聯(lián)系。如一個(gè)部門(mén)有多名職工,而一名職工只在一個(gè)部門(mén)就職,部門(mén)與職工屬于一對(duì)多的聯(lián)系。多對(duì)多聯(lián)系(m:n)若實(shí)體集A中的每個(gè)實(shí)體可與和B中的多個(gè)實(shí)體有聯(lián)系,反過(guò)來(lái),B中的每個(gè)實(shí)體也可以與A中的多個(gè)實(shí)體有聯(lián)系,稱(chēng)A對(duì)B或B對(duì)A是m:n聯(lián)系。如一個(gè)學(xué)生可以選修多門(mén)課程,一門(mén)課程由多個(gè)學(xué)生選修,學(xué)生和課程間存在多對(duì)多的聯(lián)系。必須強(qiáng)調(diào)指出,有時(shí)聯(lián)系也有屬性,這類(lèi)屬性不屬于任一實(shí)體只能屬于聯(lián)系。3.數(shù)據(jù)模型簡(jiǎn)介數(shù)據(jù)模型由三部分組成,即模型結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則。這里主要介紹模型結(jié)構(gòu)。DBMS所支持的數(shù)據(jù)模型分為四種:層次模型、網(wǎng)狀模型、
33、關(guān)系模型、面向?qū)ο竽P?。其中第四種數(shù)據(jù)模型目前并未成熟,因此傳統(tǒng)的說(shuō)法有前三種數(shù)據(jù)模型。(1)層次數(shù)據(jù)模型用村形結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系的模型稱(chēng)為層次模型。該模型的實(shí)際存儲(chǔ)數(shù)據(jù)由鏈接指針來(lái)體現(xiàn)聯(lián)系。特點(diǎn):有且僅有一個(gè)結(jié)點(diǎn)無(wú)父結(jié)點(diǎn),此結(jié)點(diǎn)即為根結(jié)點(diǎn);其它結(jié)點(diǎn)有且僅有一個(gè)父結(jié)點(diǎn)。適合用表示一對(duì)多的聯(lián)系。 (2)基本層次聯(lián)系層次模型和網(wǎng)狀模型有共同點(diǎn),可以把它們統(tǒng)稱(chēng)為格式化模型?;緦哟温?lián)系就是包括兩結(jié)點(diǎn)和一邊的基本單元,兩個(gè)實(shí)體間的有向邊代表的基本層次聯(lián)系表示一對(duì)多的聯(lián)系。通常把表示1的實(shí)體放在上方,稱(chēng)為父結(jié)點(diǎn),把表示N的實(shí)體放在下面,稱(chēng)為子結(jié)點(diǎn)。 (3)網(wǎng)狀模型用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系
34、的模型稱(chēng)為網(wǎng)狀模型。允許結(jié)點(diǎn)有多于一個(gè)的父結(jié)點(diǎn),可以有一個(gè)以上的結(jié)點(diǎn)無(wú)父結(jié)點(diǎn)。適合用于表示多對(duì)多的聯(lián)系。層次模型和網(wǎng)狀模型從本質(zhì)上都是一樣的。存在的缺陷:難以實(shí)現(xiàn)系統(tǒng)擴(kuò)充,插入或刪除數(shù)據(jù)時(shí),涉及到大量鏈接指針的調(diào)整。4.數(shù)據(jù)塊、數(shù)據(jù)擴(kuò)展、段的簡(jiǎn)介 Oracle數(shù)據(jù)庫(kù)負(fù)責(zé)為所有數(shù)據(jù)分配邏輯存儲(chǔ)空間。數(shù)據(jù)庫(kù)空間的分配單位有數(shù)據(jù)塊數(shù)據(jù)擴(kuò)展和段。Oracle存儲(chǔ)數(shù)據(jù)的最小粒度被稱(chēng)為數(shù)據(jù)塊。一個(gè)數(shù)據(jù)塊對(duì)應(yīng)于磁盤(pán)上數(shù)個(gè)字節(jié)的物理數(shù)據(jù)庫(kù)空間。處于數(shù)據(jù)塊之上的邏輯數(shù)據(jù)庫(kù)空間是數(shù)據(jù)擴(kuò)展。數(shù)據(jù)擴(kuò)展是為存儲(chǔ)數(shù)據(jù)而分配的一組連續(xù)的數(shù)據(jù)塊。位于數(shù)據(jù)擴(kuò)展之上的邏輯數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)是段。段由一組數(shù)據(jù)擴(kuò)展構(gòu)成,這些數(shù)據(jù)擴(kuò)展位于
35、同一表空間中,用于存儲(chǔ)各種邏輯數(shù)據(jù)結(jié)構(gòu)。oracle位段分配空間時(shí)以數(shù)據(jù)擴(kuò)展為單位。當(dāng)段內(nèi)已有的數(shù)據(jù)擴(kuò)展沒(méi)有可用空間時(shí),oracle為此段分配一個(gè)新的數(shù)據(jù)擴(kuò)展。因?yàn)閿?shù)據(jù)擴(kuò)展是隨需分配的,所以一個(gè)段內(nèi)的數(shù)據(jù)擴(kuò)展在磁盤(pán)上未必是連續(xù)的。 一個(gè)段(segment)以及屬于她的所有數(shù)據(jù)擴(kuò)展(extents)必須包含在同一個(gè)表空間(tablespace)中。但一個(gè)表空間內(nèi),屬于同一個(gè)段的數(shù)據(jù)擴(kuò)展可以分布在多個(gè)數(shù)據(jù)文件(datafile)上,即段可以跨文件存儲(chǔ)。但是每個(gè)數(shù)據(jù)擴(kuò)展只能包含于同一個(gè)數(shù)據(jù)文件中。3.1.2 Oracle 10g數(shù)據(jù)庫(kù)簡(jiǎn)介 Oracle 10g8 是由全球最大的數(shù)據(jù)庫(kù)廠商甲骨文公司研
36、發(fā)的,Oracle 10g是以高級(jí)結(jié)構(gòu)化查詢(xún)語(yǔ)言(Sql)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫(kù),通俗地講它是用方便邏輯管理的語(yǔ)言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶(hù)/服務(wù)器(B/S)體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。Oracle 10g較9i其改進(jìn)如下:降低管理開(kāi)銷(xiāo), 提高性能。 Oracle 10g的增強(qiáng)有對(duì)高可用性的增強(qiáng)、新的 Flashback 能力、支持回滾更新操作;對(duì)安全性的增強(qiáng),便于管理大量的用戶(hù); BI 方面的增強(qiáng),包括改進(jìn)的 SQL 能力、分析功能、 OLAP 、數(shù)據(jù)挖掘的能力等;對(duì)非關(guān)系型數(shù)據(jù)存儲(chǔ)的能力得到了改進(jìn); XML 的能力;對(duì)開(kāi)發(fā)能力支持的加強(qiáng),對(duì)生物信息學(xué)( Bioinformati
37、cs )的支持。一個(gè)Oracle數(shù)據(jù)庫(kù)是由一個(gè)或多個(gè)被稱(chēng)為表空間的邏輯存儲(chǔ)單位構(gòu)成的,這些表空間共同用于存儲(chǔ)數(shù)據(jù)庫(kù)的數(shù)據(jù)Oracle數(shù)據(jù)庫(kù)的每個(gè)表空間由一個(gè)或多個(gè)被稱(chēng)為數(shù)據(jù)文件的物理文件構(gòu)成,這些文件由Oracle所在的操作系統(tǒng)管理。數(shù)據(jù)庫(kù)的數(shù)據(jù)實(shí)際存儲(chǔ)在構(gòu)成各個(gè)表空間的數(shù)據(jù)文件中。例如,一個(gè)最簡(jiǎn)單的Oracle數(shù)據(jù)庫(kù)至少包含一個(gè)表空間及一個(gè)數(shù)據(jù)文件。再例如,一個(gè)數(shù)據(jù)庫(kù)可能含有三個(gè)表空間,每個(gè)表空間由兩個(gè)數(shù)據(jù)文件構(gòu)成(即總共有六個(gè)數(shù)據(jù)文件)。圖3.1 Oracle 10g的體系結(jié)構(gòu) 圖中的中間為SGA(System Global Area)。其中包括java池,數(shù)據(jù)緩存區(qū),重做日志緩存區(qū),共享
38、池,數(shù)據(jù)流池,及大型池。在SGA之外,存在服務(wù)進(jìn)程,后臺(tái)進(jìn)程,及oracle進(jìn)程,她們能夠和SGA交換信息。同時(shí)每個(gè)進(jìn)程還需要于其PGA(Program Global Areas)通信。3.2 數(shù)據(jù)庫(kù)的設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿(mǎn)足各種用戶(hù)的應(yīng)用需求(信息要求和處理要求)。在數(shù)據(jù)庫(kù)領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫(kù)的各類(lèi)系統(tǒng)統(tǒng)稱(chēng)為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。3.2.1 概述數(shù)據(jù)庫(kù)設(shè)計(jì)是在需求分析的基礎(chǔ)上,如何對(duì)應(yīng)用系統(tǒng)所設(shè)計(jì)的數(shù)據(jù)進(jìn)行分類(lèi)、描述、關(guān)聯(lián)和存取的一種技術(shù)。數(shù)據(jù)庫(kù)設(shè)計(jì)通常是在一個(gè)通用的
39、DBMS支持下進(jìn)行的,對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)模式,使之能夠有效的存儲(chǔ)數(shù)據(jù),滿(mǎn)足各種用戶(hù)的需要。數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ),它將大量的數(shù)據(jù)按照一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)和檢索數(shù)據(jù)的功能。只有對(duì)數(shù)據(jù)庫(kù)進(jìn)行合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),才能開(kāi)發(fā)出完善而高效的信息系統(tǒng),用戶(hù)才能方便、及時(shí)核準(zhǔn)取得從數(shù)據(jù)庫(kù)中獲取所需的信息9。3.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程對(duì)于信息管理系統(tǒng),數(shù)據(jù)基本上都是使用數(shù)據(jù)庫(kù)進(jìn)行管理。數(shù)據(jù)庫(kù)設(shè)計(jì)是對(duì)保存管理系統(tǒng)數(shù)據(jù)的數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),對(duì)整個(gè)系統(tǒng)的開(kāi)發(fā)具有非常重要的作用。數(shù)據(jù)庫(kù)的設(shè)計(jì)通常分為6個(gè)階段,分別是需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理設(shè)計(jì)、驗(yàn)證設(shè)
40、計(jì)、運(yùn)行和維護(hù)階段10。1.需求分析 調(diào)查和分析用戶(hù)的業(yè)務(wù)活動(dòng)和數(shù)據(jù)的使用情況,弄清所用數(shù)據(jù)的種類(lèi)、范圍、數(shù)量以及它們?cè)跇I(yè)務(wù)活動(dòng)中交流的情況,確定用戶(hù)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的使用要求和各種約束條件等,形成用戶(hù)需求規(guī)約。2.概念結(jié)構(gòu)設(shè)計(jì) 對(duì)用戶(hù)要求描述的現(xiàn)實(shí)世界(可能是一個(gè)工廠、一個(gè)商場(chǎng)或者一個(gè)學(xué)校等),通過(guò)對(duì)其中諸處的分類(lèi)聚集和概括,建立抽象的概念數(shù)據(jù)模型。這個(gè)概念模型應(yīng)反映現(xiàn)實(shí)世界各部門(mén)的信息結(jié)構(gòu)、信息流動(dòng)情況、信息間的互相制約關(guān)系以及各部門(mén)對(duì)信息儲(chǔ)存、查詢(xún)和加工的要求等。所建立的模型應(yīng)避開(kāi)數(shù)據(jù)庫(kù)在計(jì)算機(jī)上的具體實(shí)現(xiàn)細(xì)節(jié),用一種抽象的形式表示出來(lái)。3.邏輯結(jié)構(gòu)設(shè)計(jì)主要工作是將現(xiàn)實(shí)世界的概念數(shù)據(jù)模型設(shè)計(jì)
41、成數(shù)據(jù)庫(kù)的一種邏輯模式,即適應(yīng)于某種特定數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的邏輯數(shù)據(jù)模式。與此同時(shí),可能還需為各種數(shù)據(jù)處理應(yīng)用領(lǐng)域產(chǎn)生相應(yīng)的邏輯子模式。這一步設(shè)計(jì)的結(jié)果就是所謂“邏輯數(shù)據(jù)庫(kù)”。4.物理設(shè)計(jì)根據(jù)特定數(shù)據(jù)庫(kù)管理系統(tǒng)所提供的多種存儲(chǔ)結(jié)構(gòu)和存取方法等依賴(lài)于具體計(jì)算機(jī)結(jié)構(gòu)的各項(xiàng)物理設(shè)計(jì)措施,對(duì)具體的應(yīng)用任務(wù)選定最合適的物理存儲(chǔ)結(jié)構(gòu)(包括文件類(lèi)型、索引結(jié)構(gòu)和數(shù)據(jù)的存放次序與位邏輯等)、存取方法和存取路徑等。 5.驗(yàn)證設(shè)計(jì) 在上述設(shè)計(jì)的基礎(chǔ)上,收集數(shù)據(jù)并具體建立一個(gè)數(shù)據(jù)庫(kù),運(yùn)行一些典型的應(yīng)用任務(wù)來(lái)驗(yàn)證數(shù)據(jù)庫(kù)設(shè)計(jì)的正確性和合理性。一般,一個(gè)大型數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程往往需要經(jīng)過(guò)多次循環(huán)反復(fù)。當(dāng)設(shè)計(jì)的某步發(fā)現(xiàn)問(wèn)題時(shí)
42、,可能就需要返回到前面去進(jìn)行修改。因此,在做上述數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)就應(yīng)考慮到今后修改設(shè)計(jì)的可能性和方便性。 6.運(yùn)行和維護(hù)階段如果是新建的數(shù)據(jù)庫(kù),還應(yīng)包括試運(yùn)行,其主要工作包括運(yùn)行應(yīng)用程序、對(duì)數(shù)據(jù)庫(kù)執(zhí)行各種操作、測(cè)試應(yīng)用程序的功能和系統(tǒng)性能指標(biāo)。維護(hù)階段的主要工作是對(duì)數(shù)據(jù)安全性的控制、數(shù)據(jù)備份和恢復(fù)、性能的監(jiān)視、分析和改進(jìn),以及數(shù)據(jù)庫(kù)表結(jié)構(gòu)的修改和調(diào)整。3.3 軟件工程概述軟件工程是研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過(guò)程化方法去開(kāi)發(fā)和維護(hù)軟件,以及如何把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái)。3.3.1 軟件的定義軟件定義階段的任務(wù)是確定軟件開(kāi)發(fā)工程必須完成
43、的總目標(biāo),即確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該工程需要的資源和成本,制定工程進(jìn)度表。通常,軟件定義階段又進(jìn)一步劃分為三個(gè)子階段,即問(wèn)題定義、可行性研究和需求分析11。1.問(wèn)題的定義問(wèn)題定義階段必須回答的關(guān)鍵問(wèn)題是:“要解決的問(wèn)題是什么?”如果不清楚問(wèn)題是什么就試圖解決,顯然是盲目的,只會(huì)白白浪費(fèi)時(shí)間和金錢(qián),最終得出的結(jié)果很可能是毫無(wú)意義的,扼要的寫(xiě)出對(duì)問(wèn)題的理解、工程目標(biāo)和規(guī)模的書(shū)面報(bào)告,改正和理解不準(zhǔn)確的地方,得出一份雙方都滿(mǎn)意的有關(guān)問(wèn)題定義的文檔。 2.可行性研究本階段要回答的關(guān)鍵問(wèn)題是:“上一個(gè)階段確定的問(wèn)題有行的通的解決辦法嗎?”為了回答這
44、個(gè)問(wèn)題,需要進(jìn)行一次大大壓縮和簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)過(guò)程,也就是在較抽象的高層次上進(jìn)行分析和設(shè)計(jì)??尚行匝芯繎?yīng)該比較簡(jiǎn)短,因?yàn)檫@個(gè)階段不是具體解決問(wèn)題,而是研究問(wèn)題的范圍,探索可行的解決辦法,并確定是否值得解決。可行性研究階段應(yīng)該導(dǎo)出系統(tǒng)的高層邏輯模型,并且在次基礎(chǔ)上更準(zhǔn)確、更具體的確定工程規(guī)模和目標(biāo),更精確的估計(jì)系統(tǒng)的成本和效益,仔細(xì)的完成成本、效益分析。3. 需求分析這個(gè)階段的任務(wù)是確定“為了解決這個(gè)問(wèn)題,目標(biāo)系統(tǒng)必須做什么?”確定目標(biāo)系統(tǒng)應(yīng)該具備哪些功能。軟件開(kāi)發(fā)人員在需求分析階段必須和用戶(hù)密切配合,充分交流信息,以得出經(jīng)過(guò)用戶(hù)確認(rèn)的完整準(zhǔn)確的系統(tǒng)邏輯模型,但不必考慮實(shí)現(xiàn)的細(xì)節(jié)。3.3.
45、2 軟件的開(kāi)發(fā)開(kāi)發(fā)階段的任務(wù)是具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件。它通常由總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試等四個(gè)子階段組成12。1.總體設(shè)計(jì)本階段必須回答的問(wèn)題是:“概括的說(shuō),究竟如何解決這個(gè)問(wèn)題?”即確定解決問(wèn)題的策略及實(shí)現(xiàn)目標(biāo)系統(tǒng)所需要的各種程序。通常要用層次圖或結(jié)構(gòu)圖來(lái)描繪軟件的結(jié)構(gòu)。2.詳細(xì)設(shè)計(jì)總體設(shè)計(jì)階段應(yīng)以比較抽象的方式提出解決問(wèn)題的辦法。詳細(xì)設(shè)計(jì)階段的任務(wù)就是把解法具體化,也就是回答關(guān)鍵問(wèn)題:“應(yīng)該怎樣具體的實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”這個(gè)階段的任務(wù)還不是編寫(xiě)程序,而是設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明。3.編碼和單元測(cè)試這個(gè)階段的關(guān)鍵任務(wù)是編寫(xiě)正確的容易理解、容易維護(hù)的程序模塊。程序
46、員應(yīng)該根據(jù)目標(biāo)系統(tǒng)的性質(zhì)和實(shí)際環(huán)境,選擇適當(dāng)?shù)某绦蛟O(shè)計(jì)語(yǔ)言,把詳細(xì)設(shè)計(jì)的結(jié)果翻譯成用選定的語(yǔ)言書(shū)寫(xiě)的程序,并且仔細(xì)測(cè)試編寫(xiě)出來(lái)的每個(gè)程序模塊。4.綜合測(cè)試這個(gè)階段的關(guān)鍵任務(wù)是通過(guò)各種類(lèi)型的測(cè)試使軟件達(dá)到預(yù)定要求。3.3.3 軟件的維護(hù)維護(hù)時(shí)期的主要任務(wù)是使軟件能夠持久的滿(mǎn)足用戶(hù)的需求。包括軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)該加以改正;環(huán)境改變時(shí)應(yīng)該修改軟件以適應(yīng)新的環(huán)境;用戶(hù)有新的要求時(shí)應(yīng)當(dāng)及時(shí)改進(jìn)軟件以滿(mǎn)足用戶(hù)的新需要。3.4 需求分析需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn)確的回答“系統(tǒng)必須做什么”這個(gè)問(wèn)題。需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些
47、工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析的結(jié)果是系統(tǒng)開(kāi)發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。因此,必須用行之有效的方法對(duì)軟件需求進(jìn)行嚴(yán)格的審查檢驗(yàn)。結(jié)合“網(wǎng)絡(luò)運(yùn)動(dòng)愛(ài)好者社區(qū)”的用戶(hù)信息,通過(guò)實(shí)際調(diào)查和親身體驗(yàn),切實(shí)了解本課題整個(gè)系統(tǒng)應(yīng)該具有的功能,通過(guò)分析各個(gè)模塊,本系統(tǒng)的主要功能定為:1.會(huì)員登錄:成功注冊(cè)會(huì)員后,用戶(hù)可以直接登錄,通過(guò)驗(yàn)證用戶(hù)名和密碼后就可以進(jìn)入主頁(yè)面;沒(méi)有注冊(cè)的用戶(hù)必須先注冊(cè);在登錄過(guò)程中,忘記密碼會(huì)員可以根據(jù)提示問(wèn)題和答案系統(tǒng)自動(dòng)生成一個(gè)新密碼。2.會(huì)員信息管理:會(huì)員成功登錄后,可以修改自己的基本信息,并可以創(chuàng)建或修改自己的個(gè)人空間。通過(guò)對(duì)
48、會(huì)員基本信息的管理,其他會(huì)員可以對(duì)你的一些基本情況有一個(gè)初步的了解。3.短信息管理:會(huì)員可以通過(guò)此功能給自己的好友或者是自己感興趣的會(huì)員發(fā)短信,通過(guò)查看短信息發(fā)件箱收件箱可以對(duì)自己的短信息記錄經(jīng)行管理。4.好友管理:包括好友速配,好友名單,黑名單三個(gè)子模塊,好友速配功能可以通過(guò)隨機(jī)函數(shù)Random速配好友,也可以根據(jù)特定條件查詢(xún)好友;在好友名單中,可以把好友移動(dòng)到黑名單;在黑名單中,可以徹底刪除好友。5.系統(tǒng)的一個(gè)必要功能,當(dāng)用戶(hù)成功注冊(cè)為會(huì)員后會(huì)加上相應(yīng)的積分?jǐn)?shù),默認(rèn)為50積分,會(huì)員每天登錄,會(huì)獎(jiǎng)勵(lì)3積分。如果有推薦人,系統(tǒng)也會(huì)加上相應(yīng)的積分?jǐn)?shù)。如何用戶(hù)有推薦人,并且知道其會(huì)員ID,也可以給
49、相應(yīng)的推薦人加上相應(yīng)的積分。本系統(tǒng)的附屬功能: 1.背景音樂(lè)功能,當(dāng)用戶(hù)成功注冊(cè)后,登錄到社區(qū)主頁(yè)面,背景音樂(lè)會(huì)循環(huán)想起。 2.獲取系統(tǒng)當(dāng)前時(shí)間,會(huì)員上次登錄時(shí)間記錄。 3.獲取用戶(hù)登錄成功后的IP所在地。4 總體設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)過(guò)程首先根據(jù)需求分析,功能分析設(shè)計(jì)出數(shù)據(jù)模型,包括各個(gè)模塊數(shù)據(jù)表的E-R圖,UML用例圖,序列圖,實(shí)體關(guān)系圖的詳細(xì)設(shè)計(jì)。由功能分析可知,本系統(tǒng)結(jié)構(gòu)主要包括用戶(hù)登錄注冊(cè),會(huì)員信息管理,短信息管理,好友管理四個(gè)主要模塊。在具體實(shí)現(xiàn)功能模塊時(shí),采用先模塊化,后系統(tǒng)集成的方式。即對(duì)系統(tǒng)各個(gè)功能模塊分別獨(dú)立設(shè)計(jì)和調(diào)試,再設(shè)計(jì)登錄主頁(yè)面時(shí),讓系統(tǒng)各個(gè)模塊的功能集成到一起,最后
50、再進(jìn)行系統(tǒng)的整體測(cè)試,調(diào)試。在訪問(wèn)數(shù)據(jù)庫(kù)時(shí),采用公共數(shù)據(jù)模塊連接數(shù)據(jù)庫(kù)。即在hibernate.cfg.xml中配置有關(guān)與數(shù)據(jù)庫(kù)的連接的配置文件,在具體操作數(shù)據(jù)庫(kù)時(shí),創(chuàng)建獨(dú)立的session,及相應(yīng)的事物控制,達(dá)到操作數(shù)據(jù)庫(kù)的目的。如此可以減少一部分代碼量,同時(shí)也使數(shù)據(jù)的訪問(wèn)變得更加安全。從而提高系統(tǒng)開(kāi)發(fā)效率。4.2 系統(tǒng)模塊設(shè)計(jì) 通過(guò)之前的系統(tǒng)分析,需求分析,功能分析。對(duì)系統(tǒng)實(shí)施了總體設(shè)計(jì),通過(guò)總體設(shè)計(jì)是我們能直觀的看到本課題系統(tǒng)的總體結(jié)構(gòu)功能圖,對(duì)后續(xù)代碼的開(kāi)發(fā)將起到積極的指導(dǎo)作用。系統(tǒng)模塊的總體設(shè)計(jì),是建立在對(duì)需求的反復(fù)分析,及功能的可實(shí)現(xiàn)性的基礎(chǔ)上的,通過(guò)之前的分析與課題的實(shí)際調(diào)研,又
51、根據(jù)具體的實(shí)現(xiàn)技術(shù)的可行性等,系統(tǒng)功能結(jié)構(gòu)圖如下圖4.1所示:圖4.1系統(tǒng)功能結(jié)構(gòu)圖 根據(jù)系統(tǒng)功能模塊結(jié)構(gòu)圖和管理流程,以及網(wǎng)絡(luò)運(yùn)動(dòng)愛(ài)好者社區(qū)系統(tǒng)的需要總結(jié)出如下的數(shù)據(jù)字典。1.用戶(hù)注冊(cè)數(shù)據(jù):呢稱(chēng)(用戶(hù)名),密碼,性別,年齡,郵箱,省份,地址,密碼提示問(wèn)題,密碼提示答案等。 2.會(huì)員個(gè)人空間數(shù)據(jù):運(yùn)動(dòng)觀點(diǎn),喜歡什么運(yùn)動(dòng),喜歡運(yùn)動(dòng)的地點(diǎn),運(yùn)動(dòng)習(xí)慣,手機(jī)號(hào),上傳的個(gè)人空間圖片。3.短信息數(shù)據(jù):發(fā)送者,接收者,發(fā)送時(shí)間,標(biāo)題,內(nèi)容等。4.好友名單數(shù)據(jù):本人的用戶(hù)名,好友的用戶(hù)名。5.黑名單數(shù)據(jù):本人的用戶(hù)名,黑名單的用戶(hù)名。4.3 系統(tǒng)用例圖用例圖13是由use case,actor和系統(tǒng)邊界組成的
52、。用來(lái)表示系統(tǒng)做了哪些事情,通過(guò)用例圖能很好地幫助我們分析系統(tǒng)有哪些功能,以及讓開(kāi)發(fā)者更加明確系統(tǒng)內(nèi)部和系統(tǒng)外部如何交互的。網(wǎng)絡(luò)運(yùn)動(dòng)愛(ài)好者社區(qū)交流站點(diǎn),通過(guò)用例圖的設(shè)計(jì),更能明確系統(tǒng)內(nèi)部和外部的關(guān)系?;诖?,本系統(tǒng)的用例圖如圖4.2所示:圖4.2系統(tǒng)結(jié)構(gòu)用例圖4.4 數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接影響到系統(tǒng)的效率及系統(tǒng)實(shí)現(xiàn)的效果。良構(gòu)的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整性和一致性。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)14。 1.數(shù)據(jù)庫(kù)的需求分析 用戶(hù)的需求具體體現(xiàn)在各種信息的添加、修改、刪除和查詢(xún),這種數(shù)據(jù)庫(kù)結(jié)構(gòu)能夠滿(mǎn)
53、足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。2.數(shù)據(jù)庫(kù)表創(chuàng)建的意義表是一組有意義的,相對(duì)完整的數(shù)據(jù)的集合,它是構(gòu)成數(shù)據(jù)庫(kù)的最直接的單元。換句話(huà)說(shuō),數(shù)據(jù)庫(kù)是由一個(gè)或多個(gè)數(shù)據(jù)表直接構(gòu)成的。3.E-R圖E-R圖也稱(chēng)實(shí)體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實(shí)體類(lèi)型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。E-R方法是“實(shí)體-聯(lián)系方法”(Entity-Relationship Approach)的簡(jiǎn)稱(chēng)。它是描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的有效方法。是表示概念模型的一種方式,用矩形表示實(shí)體型,矩
54、形框內(nèi)寫(xiě)明實(shí)體名;用橢圓表示實(shí)體的屬性,并用無(wú)向邊將其與相應(yīng)的實(shí)體型連接起來(lái);用菱形表示實(shí)體型之間的聯(lián)系,在菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體型連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型(1:1,1:n或m:n)。通過(guò)E-R圖的設(shè)計(jì),我們可以從現(xiàn)實(shí)世界中抽象出各個(gè)實(shí)體的屬性和關(guān)系,為我們下一步表的詳細(xì)設(shè)計(jì)提供可靠的參考。根據(jù)網(wǎng)絡(luò)運(yùn)動(dòng)愛(ài)好者社區(qū)交流站點(diǎn)的需求分析及功能分析,數(shù)據(jù)字典的分析,得到如下E-R圖:(1) 會(huì)員主要信息E-R圖,如下圖4.3所示:聯(lián)系電話(huà)地址年齡會(huì)員昵稱(chēng)性別會(huì)員圖4.3會(huì)員信息E-R圖(2) 個(gè)人空間E-R圖,如圖4.4所示:正在使用的 手機(jī)號(hào)個(gè)人空間運(yùn)動(dòng)時(shí)間運(yùn)動(dòng)習(xí)
55、慣個(gè)人對(duì)運(yùn)動(dòng)的看法喜歡的體育 明星 運(yùn)動(dòng)地點(diǎn)圖4.4個(gè)人空間E-R圖(3) 短信息E-R圖,如下圖4.5所示: 發(fā)件人 收件人 會(huì)員 發(fā)送日期 短信內(nèi)容 短信標(biāo)題圖4.5短信息E-R圖(4) 好友名單E-R圖,如圖4.6所示:好友登錄名 好友名單 會(huì)員登錄名圖4.6好友名單E-R圖(5) .黑名單E-R圖,如圖4.7所示: 會(huì)員登錄名 黑名單被加入黑名單的登錄名圖4.7黑名單E-R圖(6) 省市信息E-R圖,如圖4.8所示: 省市名稱(chēng)省市 省市代號(hào)圖3.8省市E-R圖(7) 等級(jí)記錄限定E-R圖,如圖4.9所示: 最大積分 最少積分 等級(jí)記錄限定 圖片路徑 等級(jí)稱(chēng)號(hào)圖4.9等級(jí)記錄限定E-R圖(8)積分動(dòng)作
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)村電商農(nóng)業(yè)信息化解決方案
- 深路塹施工方案
- 隧道洞口開(kāi)挖施工方案
- 股份制重組解決方案公告
- 藝術(shù)涂料防腐施工方案
- 云計(jì)算資源規(guī)劃與分配手冊(cè)
- 幼兒園股份合同轉(zhuǎn)讓協(xié)議
- 武昌醫(yī)院東區(qū)施工方案
- 廠房獨(dú)立基礎(chǔ)施工方案
- 基坑監(jiān)測(cè)施工方案
- 留守兒童風(fēng)險(xiǎn)評(píng)估表
- LNG生產(chǎn)操作規(guī)程要點(diǎn)
- 教學(xué)能力大賽決賽獲獎(jiǎng)-教學(xué)實(shí)施報(bào)告-(完整圖文版)
- 景德鎮(zhèn)物業(yè)管理服務(wù)收費(fèi)管理實(shí)施細(xì)則
- 完整戶(hù)口本英文翻譯模板(共4頁(yè))
- 高二通用技術(shù)-經(jīng)典結(jié)構(gòu)的欣賞課件說(shuō)課講解
- 數(shù)獨(dú)入門(mén)技巧宮摒除法使用
- 使用深埋錨改善橋梁墩柱預(yù)應(yīng)力施工效果
- 客房培訓(xùn)ppt課件
- UCP600中英文對(duì)照版
- 9月份WC50Y支架搬運(yùn)車(chē)的維護(hù)與保養(yǎng)
評(píng)論
0/150
提交評(píng)論