【文章內(nèi)容簡介】
”、“會員卡充值”、“教練查詢”、“項目查詢”、“器械查詢”和“健身論壇”等頁面。具體頁面如圖25所示:圖25 會員操作界面3. 體系結(jié)構(gòu)系統(tǒng)的總體結(jié)構(gòu)設計遵循如下原則。1)系統(tǒng)應具有良好的適應性:能適應用戶對系統(tǒng)的軟件環(huán)境、管理內(nèi)容、模式和界面的要求;2)系統(tǒng)應具有可靠性:采用成熟的技術(shù)方法和軟件開發(fā)平臺,以保證系統(tǒng)在以后的實際應用中安全、可靠;3)系統(tǒng)應具有較好的安全性:應提高安全機制和用戶權(quán)限限制機制的完善程度,確保數(shù)據(jù)的受限訪問;4)系統(tǒng)應具有良好的可維護性:系統(tǒng)應易于維護、安裝;5)系統(tǒng)應具有良好的可擴展性:系統(tǒng)應適應未來信息化建設的要求,能方便地進行功能擴展,以建立完善的信息集成管理體系。本系統(tǒng)采用體系結(jié)構(gòu),struct是一個基于模型(Model)一視圖(View)一控制器(Controller),即MVC模式的應用架構(gòu)的開源框架。 體系結(jié)構(gòu)目前軟件項目中有很多體系結(jié)構(gòu),其中struct是比較流行的一種。 struct體系結(jié)構(gòu)對于開發(fā)Web應用,要從頭設計并開發(fā)出一個可靠、穩(wěn)定的框架不是一件容易的事情。隨著Web開發(fā)技術(shù)的日趨成熟,在Web開發(fā)領域出現(xiàn)了一些現(xiàn)成的優(yōu)秀的框架、開發(fā)者可以直接使用它們,struct就是一個很好的框架結(jié)構(gòu),它是在JSP Model2基礎上實現(xiàn)的一個MVC框架,在struct框架在模型由實現(xiàn)業(yè)務邏輯的JavaBean或者EJB組件構(gòu)成,控制器由ActionServlet和Action來實現(xiàn),視圖由一組JSP文件組成,圖26顯示了Struct實現(xiàn)的MVC框架。其中:視圖,就是一組JSP文件,這些JSP文件沒有業(yè)務邏輯,也沒有模型信息,只有標簽,這些標簽可以是標準的JSP標簽或者是客戶化標簽,如struct標簽庫的標簽。此外,通常將struct框架中的ActionForm Bean也劃為視圖模塊,ActionForm Bean是一種JavaBean,除了具有一些JavaBean的常規(guī)方法外,還包含了一些特殊的方法,用于驗證HTML表單數(shù)據(jù)以及將其屬性重新設置為默認值。Struct框架利用ActionForm Bean來進行視圖和控制器之間表單數(shù)據(jù)的傳遞。Strcut框架將用戶輸入的表單數(shù)據(jù)保存在ActionForm Bean中,將它傳遞給控制器,控制器可以對ActionForm Bean中的數(shù)據(jù)進行修改,JSP文件使用struct標簽讀取修改后的ActionForm Bean的信息,然后重新設置HTML表單??刂破鰽ctionServlet視圖JSP模型JavaBeanEJBActionActionAction瀏覽器Web服務器圖26 struct實現(xiàn)的MVC框架控制器,控制器由ActionServlet類和Action類實現(xiàn),ActionServlet類是struct框架中的核心組件,是這個MVC的中央控制器的角色。ActionServlet主要負責接收HTTP請求的信息,將請求轉(zhuǎn)發(fā)給適當?shù)腁ction對象,如果該Action對象不存在,更新模型的狀態(tài),并幫助控制應用程序的流程,對于小型簡單的應用,Action類本身也可以完成一些實際的業(yè)務邏輯。模型,模型表示應用程序的狀態(tài)和業(yè)務邏輯,業(yè)務邏輯常常由JavaBean或者EJB組件實現(xiàn)。如果在Web應用開發(fā)中套用現(xiàn)成的struct框架,就可以簡化每個開發(fā)階段的工作,開發(fā)人員可以更加有針對性地分析應用需求,不必重新設計框架,只需在struct框架的基礎上,設計MVC各個模塊包含的具體組件,在編碼過程中,可以充分利用struct提供的各種實用類和標簽庫,簡化編碼工作。Struct框架可以方便迅速地將一個復雜的應用劃分成模型、視圖和控制器組件,以簡化開發(fā)過程。 系統(tǒng)體系結(jié)構(gòu)根據(jù)系統(tǒng)分析結(jié)果,該系統(tǒng)從結(jié)構(gòu)上應滿足:基于游覽器進行顯示以方便用戶使用;采用MVC的三層體系結(jié)構(gòu),分化各個功能組件;采用JDBC技術(shù)與數(shù)據(jù)庫通信以便于數(shù)據(jù)庫的轉(zhuǎn)換;采用標簽技術(shù)完成動態(tài)頁面的簡單邏輯。本系統(tǒng)的體系結(jié)構(gòu)如圖27所示,它基本遵循了struct體系的MVC框架規(guī)范。視圖(V)層:用戶界面(瀏覽器)HTML,CSS,DHTML,JavaScript,XML視圖(V)層:服務器端腳本Connects UI to Business Objects, Java Server Pages,Java Servlets控制(C)層:分布式組件JavaBean模型(M):數(shù)據(jù)源和持久對象存儲ODBC, JDBC, OLEDB, ADO, XML, LDAP圖27 系統(tǒng)的體系結(jié)構(gòu)其中:表示層,用于與用戶進行交互并顯示結(jié)果。包括所有的JSP,提供用戶界面,接受用戶輸入,還包括相應的ActionFrom Bean,用來存放表單數(shù)據(jù),并進行表單數(shù)據(jù)驗證;控制層,包括所有的Action類,它完成三項任務,一是進行業(yè)務邏輯驗證,二是調(diào)用模型組件,三是決定將合適的視圖組件返回給用戶;模型,包括進行邏輯處理的JavaBean等,數(shù)據(jù)庫采用ODBC技術(shù)以提供數(shù)據(jù)庫的可移植性。體系結(jié)構(gòu)的具體拓撲圖示如圖28所示。圖28體系結(jié)構(gòu)拓撲圖1)客戶層:用于與企業(yè)信息系統(tǒng)的用戶進行交互以及顯示根據(jù)特定業(yè)務規(guī)則進行計算后的結(jié)果。本系統(tǒng)將完全采用基于Web的(B/S架構(gòu))客戶端,即用戶可以直接通過瀏覽器來訪問和使用本系統(tǒng)。2)中間層:這相當于三層標準架構(gòu)中的Web應用服務層,支持諸如響應客戶請求以及查詢等功能。并且由中間層進行邏輯處理,再將處理的結(jié)果反饋給客戶或者發(fā)送到數(shù)據(jù)庫中。3)服務層:主要是數(shù)據(jù)庫系統(tǒng),這里的數(shù)據(jù)庫系統(tǒng)主要是關(guān)系數(shù)據(jù)庫系統(tǒng)(RDMS)。 系統(tǒng)進行環(huán)境 下面講述系統(tǒng)運行的網(wǎng)絡結(jié)構(gòu),硬件、軟件環(huán)境。 網(wǎng)絡結(jié)構(gòu)圖本系統(tǒng)的網(wǎng)絡拓撲圖如圖29所示。圖29 網(wǎng)絡拓撲圖其中的局域網(wǎng)用戶機主要是俱樂部內(nèi)部的人員可以使用的機器,運程用戶機主要是指通過互聯(lián)網(wǎng)登錄系統(tǒng)的人員使用的機器,可以是俱樂部管理者,也可以是會員。 硬件環(huán)境本系統(tǒng)的硬件環(huán)境如下。1)客戶機:普通PCCPU:內(nèi)存:256MB以上分辨率:推薦使用1024768像素2)Web服務器CPU:內(nèi)存:1GB以上硬盤:80GB以上網(wǎng)卡:KMb/s速度網(wǎng)卡3)數(shù)據(jù)庫服務器CPU:內(nèi)存:1GB以上硬盤:80GB以上 軟件環(huán)境本系統(tǒng)的軟件環(huán)境如下:操作系統(tǒng):UNIX/Linux/Windows2000或以上版本數(shù)據(jù)庫:SQL Server 2000開發(fā)工具包:JDK(Java集成開發(fā)工具包)開發(fā)環(huán)境:eclipseSDKWeb服務器:Tomcat瀏覽器:1) 數(shù)據(jù)庫及操作系統(tǒng):對于核心數(shù)據(jù)庫來說,選擇一個合適的數(shù)據(jù)庫系統(tǒng)對我們的系統(tǒng)運行是很重要的,選擇數(shù)據(jù)庫的關(guān)鍵因素是要考慮預計會有多少人同時訪問數(shù)據(jù)庫;正常工作時間的級別;用來訪問數(shù)據(jù)庫的應用程序的類型;運行數(shù)據(jù)庫的服務器的硬件和操作系統(tǒng)類型以及管理人員的專業(yè)技術(shù)水平。目前市場上適用于中小型企業(yè)的數(shù)據(jù)庫產(chǎn)品有IBM DBMicrosoft SQL Server系列,Oracle系列。所有這些產(chǎn)品都基于SQL語言。同時,它們還擁有精度復雜的安全控制以適應不同的商業(yè)需要。服務器操作系統(tǒng)使用Windows2000 Server考慮到價格因素、易用性,我們使用SQL Server2000作為系統(tǒng)后臺數(shù)據(jù)庫系統(tǒng),服務器操作系統(tǒng)采用Windows2000 Server。2)Web服務軟件:目前的Web服務器軟件有很多種,成熟而且穩(wěn)定的有Apache、Tomcat和Microsoft的IIS,它們占據(jù)著Web服務器市場最大的份額。Tomcat是Sun和Apache合作推出的JSP Server。而且Tomcat未來將會取代Jserv,成為Apache主要的Servletamp。JSP Engine。Tomcat在設計上是以獨立的Server執(zhí)行,而不像Jserv是附在Apche中,這樣就更可以在servlet中,發(fā)揮非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮操作系統(tǒng)平臺。因此這里選擇Tomcat作為Web服務器。4. 數(shù)據(jù)模型本系統(tǒng)的數(shù)據(jù)模型設計內(nèi)容主要是進行數(shù)據(jù)庫的設計。 數(shù)據(jù)庫的概念結(jié)構(gòu)模型設計概念設計用來反映現(xiàn)實世界中的實體、屬性和它們之間的關(guān)系等的原始數(shù)據(jù)形式,建立數(shù)據(jù)庫的每一幅用戶視圖。圖210是系統(tǒng)ER圖。系統(tǒng)管理員管理會員信息器械信息活動信息教練信息項目信息員工信息指導教練會員管理發(fā)帖論壇回帖管理修改MMN N N N N N N N N N N M M N N M N N M M N M N 圖210 系統(tǒng)實體聯(lián)系圖 數(shù)據(jù)庫的邏輯結(jié)構(gòu)模型設計數(shù)據(jù)庫的邏輯設計是將各局部的ER圖進行分解、合并后重新組織起來形成數(shù)據(jù)庫全局邏輯結(jié)構(gòu),包括所確定的關(guān)鍵字和屬性、重新確定的記錄結(jié)構(gòu)、所建立的各個數(shù)據(jù)之間的相互關(guān)系。根據(jù)本系統(tǒng)需求分析,系統(tǒng)的數(shù)據(jù)庫包括了會員管理、教練管理、項目管理、器械管理、活動管理、論壇管理、員工管理、系統(tǒng)管理以及需要的基本數(shù)據(jù)字典等部分。會員管理包括的庫表:memberInfo——會員信息表,包含會員的所有信息;cardInfo——會員卡信息表,包含會員卡的所有信息;cardExpense——會員卡消費表,包含會員卡消費的所有信息;memberExpense——會費信息表,完成對會員投票的控制。教練管理包括的庫表:coachInfo——教練信息表,包含教練的所有信息;coachArtical——教練信息發(fā)布表,包含教練發(fā)布的所有信息。項目管理包括的庫表:itemInfo——項目信息表,包含管理員的所有信息。論壇管理包括的庫表:topic——發(fā)帖表,包含網(wǎng)站公告的所有信息;reply——回帖表,包含管理員的所有信息;bbsnews——公告表,包含網(wǎng)站公告的所有信息。系統(tǒng)管理包括的庫表:manager——管理員表,對應作品的章節(jié)以及內(nèi)容;表21是對表memberInfo的設計,其他庫表的詳細設計見數(shù)據(jù)表設計文件。表21 memberInfo(會員信息列表)表字段名稱數(shù)據(jù)類型字段大小說明UserID字符型10會員編號,代碼干預UserName字符型10用戶名Password字符型50登陸密碼Password2字符型50驗證密碼Name文本型50會員姓名Sex字符型10會員性別Age整型4年齡Birth日期/時間型8生日Shenfenzheng字符型50身份證號Phone字符型50會員的聯(lián)系電話Email字符型50會員的電子郵件YiXiang1字符型50會員的健身意向1YiXiang2字符型50會員的健身意向2 數(shù)據(jù)庫物理結(jié)構(gòu)模型設計信息存儲結(jié)構(gòu)的設計在系統(tǒng)的設計中至關(guān)重要,要考慮到數(shù)據(jù)冗余、系統(tǒng)執(zhí)行效率、信息控制以及維護等方面的要求。信息的管理離不開數(shù)據(jù)庫的支持,我們采用SQL Server 2000數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫的物理設計主要是對數(shù)據(jù)在內(nèi)存中的安排,包括對索引區(qū)、緩沖區(qū)的設計,對使用的外存設備及外存空間的組織,包括索引區(qū)、數(shù)據(jù)塊的組織與劃分,設置訪問數(shù)據(jù)的方式方法。需在非系統(tǒng)卷(操作系統(tǒng)所在卷以外的其他卷)上安裝SQL Server程序及數(shù)據(jù)庫文件。內(nèi)存是影響Microsoft SQL Server系統(tǒng)性能的一個重要因素,應在Microsoft SQL Server數(shù)據(jù)庫安裝后進行內(nèi)存選項(Memory)設置,最大配置值為2GB。為了確定SQL Server系統(tǒng)最適宜的內(nèi)存需求,可以從總的物理內(nèi)存中減去 Windows 2000 Server需要的內(nèi)存(12MB)以及其他一些內(nèi)存需求后綜合確定,理想的情況是給SQL Server分配盡可能多的內(nèi)存,而不產(chǎn)生頁面調(diào)度。設置服務器的虛擬內(nèi)存為1GB。通過JdbcOdbcDriver與數(shù)據(jù)庫連接1)首先創(chuàng)建Connection對象。()。=(jdbc:odbc:na)。 2)使用記錄集后關(guān)閉并釋放資源。()。()。()。數(shù)據(jù)庫各庫表的腳本代碼見數(shù)據(jù)庫腳本文件。5. 模塊設計按照功能分解,本系統(tǒng)分為客戶端管理系統(tǒng)和管理端管理系統(tǒng)。根據(jù)頁面流的設計,管理端系統(tǒng)又分為會員管理、教練管理、論壇管理、系統(tǒng)管理、項目管理、器械管理、健身活動管理、員工管理8個模塊。如圖211所示。圖211 模塊設計針對不同用戶,提供了兩類功能登錄接口:即會員登錄接口和健身俱樂部管理人員登錄接口,這些接口都以Web頁面的形式提供。通過各自的頁面,會員和俱樂部管理人員可以從事各自的活動。以下將分小節(jié)介紹各個部分的設計。 客戶端模塊設計客戶端運行在公用網(wǎng)上,客戶端主要為會員提供服務。用戶可以填寫自己的基本信息,包括:真實姓名、年齡、性別、用戶名、密碼、生日、身份