




已閱讀5頁,還剩78頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于MVC模式電信IP網(wǎng)/計費(fèi)系統(tǒng)NETCTOSS摘要運(yùn)營支撐系統(tǒng)(OPERATIONSUPPORTSYSTEM,縮寫成OSS)已經(jīng)成為電信運(yùn)營管理不可缺少的組成部分。它是借助IT手段實(shí)現(xiàn)對電信網(wǎng)絡(luò)和電信業(yè)務(wù)的管理,以達(dá)到支撐運(yùn)營和改善運(yùn)營的目標(biāo)。近幾年OSS得到了業(yè)界的極大關(guān)注,曾被多家主流媒體列為幾大流行技術(shù)之一。本系統(tǒng)采用由亞信公司提供的“電信用戶管理和計費(fèi)系統(tǒng)NETCTOSS”,該系統(tǒng)已經(jīng)在中國共用互聯(lián)網(wǎng)CHINANET和上海熱線等多個大型軟件工程中應(yīng)用。該系統(tǒng)是基于B/S模式的MVC架構(gòu),在模塊于模塊之間達(dá)到了高內(nèi)聚和低偶合的軟件設(shè)計要求,該系統(tǒng)的另一特點(diǎn)是底層由C跟PROC實(shí)現(xiàn)的C/S模式,這樣可以達(dá)到在數(shù)據(jù)根采集和整合上的效率,該系統(tǒng)是一個典型的基于UNIX平臺、ORACLE數(shù)據(jù)庫、WEB界面,融合JAVA和C兩種語言實(shí)現(xiàn)的大型軟件項(xiàng)目。關(guān)鍵詞C/S;MVC;ORACLE;JAVA,C和PROC;NETCTOSS;目錄第一章緒論3第二章開發(fā)環(huán)境及開發(fā)工具的介紹421JDK概述4211安裝JDK4212JDK環(huán)境變量的配置422ECLIPSE概述5221ECLIPSE的結(jié)構(gòu)和內(nèi)核523MYECLIPSE的概述624TOMCAT概述6241安裝和配置TOMCAT725ORACLE的概述8251ORACLE9I的特性8第三章完成電信運(yùn)營支撐系統(tǒng)所用到的技術(shù)831JSP概述8311JSP的功能8312JSP的特點(diǎn)932STRUTS概述10321STRUTS的體系結(jié)構(gòu)10322使用STRUTS的主要優(yōu)點(diǎn)與缺點(diǎn)1133SPRING概述11331SPRING的簡介12332SPRING的架構(gòu)性的好處1234HIBERNATE概述12341HIBERNATE技術(shù)12342HIBERNATE的工作方式13第四章系統(tǒng)需求分析1441系統(tǒng)設(shè)計思想1452業(yè)務(wù)描述1553系統(tǒng)的界面要求分析1554系統(tǒng)的角色及功能分析15第五章系統(tǒng)總體設(shè)計1751系統(tǒng)的總體流程1752系統(tǒng)的模塊劃分1853NETCTOSS系統(tǒng)的功能要求1854系統(tǒng)實(shí)體間的聯(lián)系1955NETCTOSS系統(tǒng)的數(shù)據(jù)處理19第五章NETCTOSS詳細(xì)設(shè)計2151數(shù)據(jù)庫設(shè)計2152模塊的具體實(shí)現(xiàn)2653遇到的問題40結(jié)論與體會40致謝41參考文獻(xiàn)41附錄一英文資料原文42附錄二英語資料譯文68第一章緒論當(dāng)前在電信領(lǐng)域,由于電信市場的開放和市場競爭的日益激勵,為了提高電信企業(yè)的服務(wù)水平,降低成本,提高效益和客戶滿意度,電信企業(yè)建設(shè)和投資的重點(diǎn)已經(jīng)從網(wǎng)絡(luò)基礎(chǔ)設(shè)施轉(zhuǎn)向以電信軟件為核心的電信信息基礎(chǔ)設(shè)施,其中電信運(yùn)營支撐系統(tǒng)OSS,OPERATIONSUPPORTSYSTEM是建設(shè)和投資的重中之重。這也吸引拉越來越多的國內(nèi)企業(yè)甚至國際上的專業(yè)公司投入到這個市場上來,帶動拉電信運(yùn)營支撐系統(tǒng)在技術(shù)上的飛速發(fā)展。電信運(yùn)營支撐系統(tǒng)涉及計算機(jī)軟件技術(shù)和通信技術(shù)的倆個科學(xué)領(lǐng)域,經(jīng)過國內(nèi)外幾十年的發(fā)展,已經(jīng)形成了自身比較完善的體系結(jié)構(gòu)。目前發(fā)展迅速,應(yīng)用廣泛,技術(shù)更新比較會,用“日新月異”來形容一點(diǎn)都不過分。其實(shí)電信運(yùn)營支撐系統(tǒng)存在的問題歸納起來是缺乏理論的研究和指導(dǎo),缺乏有效的技術(shù)支持,同時電信義務(wù)支撐本身又是研究的焦點(diǎn)。它需要計算機(jī)與通信技術(shù)的集合,需要具有深厚的通信義務(wù)基礎(chǔ)的計算機(jī)軟件人才的參加,電信運(yùn)營支撐系統(tǒng)目前值得深入研究的內(nèi)容很多,重點(diǎn)是在如何將最新的計算機(jī)軟件技術(shù)用在電信義務(wù)支撐上。第二章開發(fā)環(huán)境及開發(fā)工具的介紹21JDK概述JDK中包含了JAVA開發(fā)中心必需的工具和JAVA程序運(yùn)行環(huán)境JRE??梢詮腟UN公司網(wǎng)站HTTP/JAVASUNCOM免費(fèi)下載JDK142。211安裝JDKJDK的安裝特別簡單,和安裝應(yīng)用程序軟件沒什么區(qū)別,值得注意的是JDK的安裝路徑一定要設(shè)好,方便以后環(huán)境變量的設(shè)置。212JDK環(huán)境變量的配置安裝好JDK后,還需要在環(huán)境變量中進(jìn)行對應(yīng)的配置。就以本次畢業(yè)設(shè)計為例。JDK安裝在DJ2SDK142。主要進(jìn)行以下配置(1)設(shè)置JAVA_HOME環(huán)境變量(2)設(shè)置CLASSPATH環(huán)境變量(3)更新PATH環(huán)境變量的值JAVA_HOME表示JAVA安裝目錄,其他的應(yīng)用程序如果需要使用JAVA運(yùn)行環(huán)境,首先獲得JAVA_HOME變量的信息,然后確定執(zhí)行的路徑。在鼠標(biāo)右鍵單擊“我的電腦”,在屬性欄的高級選項(xiàng)中可以選擇環(huán)境變量的設(shè)置,新建一個系統(tǒng)變量或者用戶變量,名稱為JAVA_HOME,它的值為DJ2SDK142。如圖圖21JAVA_HOME變量設(shè)置然后建立一個CLASSPATH的變量,它表示搜索JAVA類的路徑,這個路徑可以包含一些JAR歸檔文件,也可以是一個目錄。在應(yīng)用程序執(zhí)行是,往往會動態(tài)地在CLASSPATH中添加一些自己需要的路徑,本機(jī)上CLASSPATH的值為“DJ2SDK142LIBTOOLSJARDJ2SDK142LIBDTJAR”(一定不能少)。圖22CLASSPATH變量設(shè)置當(dāng)以上都配置好了,我們可以測試下JAVA環(huán)境是否配置成功。我們可以在運(yùn)行中進(jìn)入命令提示符CMD下面。輸入JAVAVERSION回車,看是否能看到當(dāng)前JDK的版本。如果看見就配置成功了。22ECLIPSE概述ECLIPSE是以個集成開發(fā)環(huán)境(INTEGRATEDDEVELOPMENTENVIRONMENT)。其前身是IBM的VISUALAGEFORJAVAVA4J,IBM投入了3千萬美元。ECLIPSE是可擴(kuò)展的體系結(jié)構(gòu),可以集成不同軟件開發(fā)供應(yīng)商開發(fā)的產(chǎn)品,將他們開發(fā)的工具和組件加入到ECLIPSE平臺中。隨JAVA應(yīng)用的廣泛,各大主要軟件供應(yīng)商都參與到ECLIPSE架構(gòu)開發(fā)中,使得ECLIPSE插件數(shù)量與日增加。其中,IBM的WEBSPHERESTUDIOWORKBENCH是突出的例子。ECLIPSE平臺的免費(fèi),架構(gòu)的成熟,行業(yè)協(xié)會ECLIPSE基金會的支持,使得很多的JAVA開發(fā)采用了ECLIPSE架構(gòu)。如今,IBM通過起附屬的研發(fā)機(jī)構(gòu)OBJECTTECHNOLOGIESINTERNATIONALOTI,繼續(xù)引領(lǐng)ECLIPSE開發(fā)。221ECLIPSE的結(jié)構(gòu)和內(nèi)核插件(PLUGIN)是遵循一定規(guī)范的應(yīng)用程序結(jié)構(gòu)編寫出來的程序,也成為擴(kuò)展,不同于組件。ECLIPSE正是一個精心設(shè)計的、可擴(kuò)展的核心結(jié)構(gòu)。通過插件的形式,將根據(jù)自己需要選擇的擴(kuò)展開發(fā)工具集成到ECLIPSE平臺核心。因此使得可以避免因過去不兼容工具帶來的麻煩,降低開發(fā)出成本,大幅度提高工作效率。ECLIPSE本身作為一個開放源碼的軟件項(xiàng)目,它主要包含3個子項(xiàng)目平臺子項(xiàng)目,JAVA開發(fā)工具JDTJAVA子項(xiàng)目,插件開發(fā)環(huán)境PDEPLUGIN子項(xiàng)目。其中,JAVA開發(fā)工具JDT為開發(fā)人員提供大量的集成工具集,主要為JAVA應(yīng)用程序提供編程接口API。ECLIPSE軟件開發(fā)工具箱SDK是主要有ECLIPSE本身的項(xiàng)目軟件和其他一些開發(fā)源嗎的第三方軟件組成。次者,插件開發(fā)環(huán)境JDT則為插件開發(fā)和測試提供相應(yīng)的環(huán)境,如創(chuàng)建插件清單文件、定義擴(kuò)展點(diǎn)等。其他的JAVA集成開發(fā)環(huán)境有JBUILDER、WEBSPHERSTUDIO、NETBEANS。然而ECLIPSE以其強(qiáng)大的可擴(kuò)展性和開放性脫穎而出,擁有為數(shù)眾多的支持者,也被許多大的企業(yè)所青睞。23MYECLIPSE的概述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,HIBERNATE。在結(jié)構(gòu)上,MYECLIPSE的特征可以被分為7類1J2EE模型2WEB開發(fā)工具3EJB開發(fā)工具4應(yīng)用程序服務(wù)器的連接器5J2EE項(xiàng)目部署服務(wù)6數(shù)據(jù)庫服務(wù)7MYECLIPSE整合幫助對于以上每一種功能上的類別,在ECLIPSE中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MYECLIPSE結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。簡單而言,MYECLIPSE是ECLIPSE的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。24TOMCAT概述TOMCAT服務(wù)器是當(dāng)今使用最廣泛的SERVLET/JSP服務(wù)器。它運(yùn)行穩(wěn)定,性能可靠,是學(xué)習(xí)和中小企業(yè)的最佳選擇,而且是開源程序,下載免費(fèi),大大降低系統(tǒng)的開發(fā)成本。我們可以從HTTP/JAKARTAAPACHEORG/TOMCAT下載TOMCAT50服務(wù)器。241安裝和配置TOMCATTOMCAT安裝也很方便。跟其他的安裝軟件差不多,主要是TOMCAT環(huán)境的配置,本次設(shè)計TOMCAT安裝目錄是DTOMCAT。安裝完成以后,把TOMCAT里面的類包(JAR文件)包含到環(huán)境變量的CLASSPATH里面。這些JAR文件都在DTOMCATCOMMONLIB目錄下。然后運(yùn)行TOMCAT程序,啟動TOMCAT。在IE中,輸入HTTP/1270018080或者HTTP/LOCALHOST8080。如果出現(xiàn)TOMCAT的歡迎頁面,就表示TOMCAT的安裝和配置是正確的。測試TOMCAT是否安裝成功當(dāng)TOMCAT配置成功以后,就要在TOMCAT目錄下的WEBAPPS下面建立一個虛擬目錄,來方便將來程序的開發(fā)。本次設(shè)計是電信運(yùn)營支撐系統(tǒng),所以我們在WEBAPPS下面新建立一個叫NETCTOSS的文件夾,然后使用TOMCATADMINISTRATORTOOLS來建立關(guān)于NETCTOSS的虛擬目錄。這樣以后我們的程序就可以在NETCTOSS文件夾下面進(jìn)行,當(dāng)設(shè)計完成以后,只要在IE里面輸入HTTP/LOCALHOST8080/NETCTOSS就可以看到你所設(shè)計的系統(tǒng)程序的實(shí)現(xiàn)了3。圖24TOMCATADMINISTRATORTOOL頁面和HOSPITAL的虛擬目錄25ORACLE的概述ORACLE9I是以高級結(jié)構(gòu)化查詢語言SQL為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶/服務(wù)器CLIENT/SERVER體系結(jié)構(gòu)的數(shù)據(jù)庫之一。251ORACLE9I的特性O(shè)RACLE9I作為第一套完整、簡單的軟件基層結(jié)構(gòu),展現(xiàn)了前所未有的可擴(kuò)展性、高性能和應(yīng)用程序所需要的穩(wěn)定性,是專門為因特網(wǎng)系統(tǒng)提供的新一代智能型集成應(yīng)用軟件。ORACLE9I增強(qiáng)了ORACLE的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千個用戶。它提供了基于角色ROLE分工的安全保密管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。支持大量多媒體數(shù)據(jù),如二進(jìn)制圖形、聲音、動畫以及多維數(shù)據(jù)結(jié)構(gòu)等。提供了與第三代高級語言的接口軟件PRO系列,能在C,C等主語言中嵌入SQL語句及過程化PL/SQL語句,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操縱。加上它有許多優(yōu)秀的前臺開發(fā)工具如POWERBUILD、SQLFORMS、VISIABASIC等,可以快速開發(fā)生成基于客戶端PC平臺的應(yīng)用程序,并具有良好的移植性。ORACLE9I數(shù)據(jù)庫在物理上是存儲于硬盤的各種文件。它是活動的,可擴(kuò)充的,隨著數(shù)據(jù)的添加和應(yīng)用程序的增大而變化。在邏輯上是由許多表空間構(gòu)成。主要分為系統(tǒng)表空間和非系統(tǒng)表空間。非系統(tǒng)表空間內(nèi)存儲著各項(xiàng)應(yīng)用的數(shù)據(jù)、索引、程序等相關(guān)信息。第三章完成電信運(yùn)營支撐系統(tǒng)所用到的技術(shù)31JSP概述JSP(IAVASERVERPAGES)是由SUN公司在JAVA語言上開發(fā)出來的一種動態(tài)網(wǎng)頁制作技術(shù),其可使您可以將網(wǎng)頁中的動態(tài)部分和靜態(tài)的HTML相分離。您可以使用平常得心應(yīng)手的工具并按照平常的方式來書寫HTML語句。然后,將動態(tài)部分用特殊的標(biāo)記嵌入即可,這些標(biāo)記常常以“”開始并以“”結(jié)束311JSP的功能JSP技術(shù)是由SERVLET技術(shù)發(fā)展起來的,自從有了JSP后,在JAVA服務(wù)器端編程中普遍采用的就是JSP,而不是SERVLET。因?yàn)镴SP在編寫表示頁面時遠(yuǎn)遠(yuǎn)比SERVLET簡單,并且不需要手工編譯,目前SERVLET主要用于做視圖控制器,處理后臺應(yīng)用等。由于JSP構(gòu)建在SERVLET上。所以它有SERVLET所有強(qiáng)大的功能。在傳統(tǒng)的網(wǎng)頁HTML文件(HTM,HTML)中加入JAVA程序片段(SCRIPTLET)和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁(JSP)。JSP基于強(qiáng)大的JAVA語言,具有良好的伸縮性,與JAVAENTERPRISEAPI緊密地集成在一起,在網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用開發(fā)領(lǐng)域具有得天獨(dú)厚的優(yōu)勢,基于JAVA平臺構(gòu)建網(wǎng)絡(luò)程序已經(jīng)被越來越多的人認(rèn)為是未來最有發(fā)展前途的技術(shù)。從JSP這幾年的發(fā)展來看,JSP已經(jīng)獲得了巨大的成功,它通過和EJB等J2EE組件進(jìn)行集成,可以編寫出處理具有大的伸縮性,高負(fù)載的企業(yè)級應(yīng)用。JSP技術(shù)在多個方面加速了動態(tài)WEB頁面的開發(fā)。312JSP的特點(diǎn)1將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),WEB頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識和JAVABEAN組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識和BEAN中,那么其他人,如WEB管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和小腳本中,生成所請求的內(nèi)容,并且將結(jié)果以HTML頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保護(hù)任何基于HTML的WEB瀏覽器的完全可用性。(2)生成可重用的組件絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使用這些組件為更多的使用者或者客戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。(3)采用標(biāo)識簡化頁面開發(fā)WEB頁面開發(fā)人員不一定都熟悉腳本語言的編程人員。JAVASERVERPAGE技術(shù)封裝了許多功能,這些功能是在易用的,與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成是所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實(shí)例化JAVABEAN組件,設(shè)置或者檢索組件屬性,下載APPLET,以及執(zhí)行同其他方法更難于編碼或耗時的功能。通過開發(fā)定制標(biāo)識庫。這使得WEB頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣執(zhí)行特定功能的構(gòu)件來工作。(4)JSP能提供所有的SERVLETS功能與SERVLET相比,JSP能提供所有的SERVLETS功能,它比用PRINTLN書寫和修改HTML更加方便。此外,您可以更明確地進(jìn)行分工,WEB頁面設(shè)計人員編寫HTML,只需要留出空間讓SERVLETS程序員插入動態(tài)部分即可。(5)健壯的存儲管理和安全性由于JSP頁面內(nèi)置腳本語言是基于JAVA編程語言的,而且所有的JSP頁面都被編譯成為JAVASERVLET,JSP頁面就具有JAVA技術(shù)的所有優(yōu)點(diǎn),包括健壯的存儲管理和安全性。(6)一次編寫,隨處運(yùn)行作為JAVA平臺的一部分,JSP擁有JAVA編程語言“一次編寫,隨處運(yùn)行”的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,但并不影響當(dāng)前的應(yīng)用。(7)JSP的平臺適應(yīng)性更廣這是JSP與ASP的優(yōu)越之處。幾乎所有的平臺都支持JAVA,JSPBEANS,它們可以在任何平臺下通行無阻。WINDOWSNT下的IIS通過一個插件就能支持JSP,例如JRUN或者SERVLETEXEC,著名的WEB服務(wù)器APACHE已經(jīng)能夠支持JSP。由于APACHE廣泛應(yīng)用在WINDOWSNT,UNIX和LINUX上,因此JSP有更廣泛的運(yùn)行平臺。從一個平臺移植到另一個平臺,JSP和JAVABEANS甚至不用重新編譯,因?yàn)镴AVA字節(jié)碼都是標(biāo)準(zhǔn)的字節(jié)碼,與平臺無關(guān)。(8)簡單易學(xué)隨著JSP20中標(biāo)簽語言的出現(xiàn),即使不懂JAVA的程序員也能編寫出功能完善的JSP應(yīng)用。32STRUTS概述STRUTS就是在JSPMODEL2的基礎(chǔ)實(shí)現(xiàn)了MVC設(shè)計模式的WEBFRAMEWORK。基于STRUTS構(gòu)架的WEB應(yīng)用程序基本上符合JSPMODEL2的設(shè)計標(biāo)準(zhǔn),可以說是MVC設(shè)計模式的一種變化類型。整個STRUTS大約有15包,近200個類所組成。STRUTS這個名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了幫助你減少在運(yùn)用MVC設(shè)計模型來開發(fā)WEB應(yīng)用的時間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。如果想混合使用SERVLETS和JSP的優(yōu)點(diǎn)來建立可擴(kuò)展的應(yīng)用,STRUTS是一個不錯的選擇。321STRUTS的體系結(jié)構(gòu)STRUTS有其自己的控制器(CONTROLLER),同時整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(MODEL)和視圖層(VIEW)。在模型層,STRUTS可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB,JDBC和OBJECTRELATIONBRIDGE。在視圖層,STRUTS能夠與JSP,VELOCITYTEMPLATES,XSL等等這些表示層組件想結(jié)合。STRUTSFRAMEWORK是MVC模式的體現(xiàn),下面我們就從分別從模型、視圖、控制來看看STRUTS的體系結(jié)構(gòu)(ARCHITECTURE)。下圖顯示了STRUTSFRAMEWORK的體系結(jié)構(gòu)響應(yīng)客戶請求時候,各個部分工作的原理。1從視圖角度(VIEW)主要由JSP建立,STRUTS自身包含了一組可擴(kuò)展的自定義標(biāo)簽庫(TAGLIB),可以簡化創(chuàng)建用戶界面的過程。目前包括BEANTAGS,HTMLTAGS,LOGICTAGS,NESTEDTAGS,TEMPLATETAGS這幾個TAGLIB。有關(guān)它們的詳細(xì)資料請參考STRUTS用戶手冊2從模型角度(MODEL)模型主要是表示一個系統(tǒng)的狀態(tài)(有時候,改變系統(tǒng)狀態(tài)的業(yè)務(wù)邏輯操作也也劃分到模型中)。在STRUTS中,系統(tǒng)的狀態(tài)主要有ACTIOMFORMBEAN體現(xiàn),一般情況下,這些狀態(tài)是非持久性的。如果需要將這些狀態(tài)轉(zhuǎn)化為持久性數(shù)據(jù)存儲,STRUTS本身也提供了UTITLE包,可以方便的與數(shù)據(jù)庫操作3從控制器角度(CONTROLLER)在STRUTSFRAMEWORK中,CONTROLLER主要是ACTIONSERVLET,但是對于業(yè)務(wù)邏輯的操作則主要由ACTION、ACTIONMAPPING、ACTIONFORWARD這幾個組件協(xié)調(diào)完成(也許這幾個組件,應(yīng)該劃分到模型中的業(yè)務(wù)邏輯一塊)。其中,ACTION扮演了真正的業(yè)務(wù)邏輯的實(shí)現(xiàn)者,而ACTIONMAPPING和ACTIONFORWARD則指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。322使用STRUTS的主要優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn)STRUTS跟TOMCAT、TURBINE等諸多APACHE項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn)。使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除此之外,STRUTS的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個方面TAGLIB和頁面導(dǎo)航。TAGLIB是STRUTS的標(biāo)記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許STRUTS是一個很好的起點(diǎn)。關(guān)于頁面導(dǎo)航使系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個項(xiàng)目時,這種優(yōu)勢體現(xiàn)得更加明顯。缺點(diǎn)TAGLIB是STRUTS的一大優(yōu)勢,但對于初學(xué)者而言,卻需要一個持續(xù)學(xué)習(xí)的過程,甚至還會打亂網(wǎng)頁編寫的習(xí)慣,但是當(dāng)你習(xí)慣了它時,你會覺得它真的很棒;STRUTS將MVC的CONTROLLER一分為三,在獲得結(jié)構(gòu)更加清晰的同時,也增加了系統(tǒng)的復(fù)雜度;它對類和一些屬性、參數(shù)的命名顯得有些隨意,給使用帶來一些不便;33SPRING概述SPRING的核心是個輕量級容器(CONTAINER),實(shí)現(xiàn)了IOC(INVERSIONOFCONTROL)模式的容器,SPRING的目標(biāo)是實(shí)現(xiàn)一個全方位的整合框架,在SPRING框架下實(shí)現(xiàn)多個子框架的組合,這些子框架之間彼此可以獨(dú)立,也可以使用其它的框架方案加以替代,SPRING希望提供ONESTOPSHOP的框架整合方案。331SPRING的簡介SPRING定位的領(lǐng)域是許多其他流行的FRAMEWORK沒有的。SPRING關(guān)注提供一種方法管理你的業(yè)務(wù)對象。SPRING是全面的和模塊化的。SPRING有分層的體系結(jié)構(gòu),這意味著你能選擇使用它孤立的任何部分,它的架構(gòu)仍然是內(nèi)在穩(wěn)定的。因此從你的學(xué)習(xí)中,你可得到最大的價值。例如,你可能選擇僅僅使用SPRING來簡單化JDBC的使用,或用來管理所有的業(yè)務(wù)對象。它的設(shè)計從底部幫助你編寫易于測試的代碼。SPRING是用于測試驅(qū)動工程的理想的FRAMEWORK。SPRING對你的工程來說,它不需要一個以上的FRAMEWORK。SPRING是潛在地一站式解決方案,定位于與典型應(yīng)用相關(guān)的大部分基礎(chǔ)結(jié)構(gòu)。它也涉及到其他FRAMEWORK沒有考慮到的內(nèi)容。盡管它僅僅是一個從2003年2月才開始的開源工程,但SPRING有較長的歷史根基。這個開源工程是起源自我在2002年后期出版的EXPERTONEONONEJ2EE設(shè)計與開發(fā)書中的基礎(chǔ)代碼。這本書展示了SPRING背后的基礎(chǔ)架構(gòu)。然而,這個基礎(chǔ)架構(gòu)的概念要追溯到2000年的早些時候,并且反映了我為一系列成功的商業(yè)工程開發(fā)基礎(chǔ)結(jié)構(gòu)的經(jīng)驗(yàn)。從2003年1月,SPRING已經(jīng)落戶于SOURCEFORGE上?,F(xiàn)在有10個開發(fā)人員,其中6是高度投入的積極分子。332SPRING的架構(gòu)性的好處SPRING能有效地組織你的中間層對象,無論你是否選擇使用了EJB。如果你僅僅使用了STRUTS或其他的包含了J2EE特有APIS的FRAMEWORK,你會發(fā)現(xiàn)SPRING關(guān)注了遺留下的問題。SPRING能消除在許多工程上對SINGLETON的過多使用。根據(jù)我的經(jīng)驗(yàn),這是一個主要的問題,它減少了系統(tǒng)的可測試性和面向?qū)ο筇匦?。SPRING能消除使用各種各樣格式的屬性定制文件的需要,在整個應(yīng)用和工程中,可通過一種一致的方法來進(jìn)行配置。曾經(jīng)感到迷惑,一個特定類要查找迷幻般的屬性關(guān)鍵字或系統(tǒng)屬性,為此不得不讀JAVADOC乃至源編碼嗎有了SPRING,你可很簡單地看到類的JAVABEAN屬性。倒置控制的使用在下面討論幫助完成這種簡化。SPRING能通過接口而不是類促進(jìn)好的編程習(xí)慣,減少編程代價到幾乎為零。SPRING被設(shè)計為讓使用它創(chuàng)建的應(yīng)用盡可能少的依賴于他的APIS。在SPRING應(yīng)用中的大多數(shù)業(yè)務(wù)對象沒有依賴于SPRING。使用SPRING構(gòu)建的應(yīng)用程序易于單元測試。SPRING能使EJB的使用成為一個實(shí)現(xiàn)選擇,而不是應(yīng)用架構(gòu)的必然選擇。你能選擇用POJOS或LOCALEJBS來實(shí)現(xiàn)業(yè)務(wù)接口,卻不會影響調(diào)用代碼。SPRING幫助你解決許多問題而無需使用EJB。SPRING能提供一種EJB的替換物,它們適于許多WEB應(yīng)用。例如,SPRING能使用AOP提供聲明性事務(wù)而不通過使用EJB容器,如果你僅僅需要與單個的數(shù)據(jù)庫打交道,甚至不需要JTA實(shí)現(xiàn)SPRING為數(shù)據(jù)存取提供了一致的框架,不論是使用JDBC或O/RMAPPING產(chǎn)品(如HIBERNATE)。SPRING確實(shí)使你能通過最簡單可行的解決辦法解決你的問題。這些特性是有很大價值的。34HIBERNATE概述HIBERNATE在對象和關(guān)系型之間建立起一座橋梁,使得開發(fā)人員可以方便、快捷地進(jìn)行持久化開發(fā)。HIBERNATE的第一個正式版本發(fā)布于2001年末;2003年6月HIBERNATE2發(fā)布,這一版本提供了對大多數(shù)數(shù)據(jù)庫的支持;2003年末HIBERNATE被JBOSS吸納;2005年3月HIBERNATE3正式發(fā)布,至此,HIBERNATE獲得了巨大的成功。HIBERNATE使用起來非常簡單,這也是HIBERNATE作者GAVINKING的一貫思想。341HIBERNATE技術(shù)大多數(shù)應(yīng)用程序都需要處理數(shù)據(jù)。JAVA應(yīng)用程序運(yùn)行時,往往把數(shù)據(jù)封裝為相互連接的對象網(wǎng)絡(luò),但是當(dāng)程序結(jié)束時,這些對象就會消失在一團(tuán)邏輯中,所以需要有一些保存它們的方法。有時候,甚至在編寫應(yīng)用程序之前,數(shù)據(jù)就已經(jīng)存在了,所以需要有讀入它們和將其表示為對象的方法。手動編寫代碼來執(zhí)行這些任務(wù)不僅單調(diào)乏味、易于出錯,而且會占用整個應(yīng)用程序的很大一部分開發(fā)工作量。優(yōu)秀的面向?qū)ο箝_發(fā)人員厭倦了這種重復(fù)性的勞動,他們開始采用通常的“積極”偷懶做法,即,創(chuàng)建工具,使整個過程自動化。對于關(guān)系數(shù)據(jù)庫來說,這種努力的最大成果就是對象/關(guān)系映射ORM工具。這類工具有很多,從昂貴的商業(yè)產(chǎn)品到內(nèi)置于J2EE中的EJB標(biāo)準(zhǔn)。然而,在很多情況下,這些工具具有自身的復(fù)雜性,使得開發(fā)人員必須學(xué)習(xí)使用它們的詳細(xì)規(guī)則,并修改組成應(yīng)用程序的類以滿足映射系統(tǒng)的需要。由于這些工具為應(yīng)付更加嚴(yán)格和復(fù)雜的企業(yè)需求而不斷發(fā)展,于是在比較簡單和常見的場景中,使用它們所面臨的復(fù)雜性反而蓋過了所能獲得的好處。這引起了一場革命,促進(jìn)了輕量級解決方案的出現(xiàn),而HIBERNATE就是這樣的一個例子。342HIBERNATE的工作方式HIBERNATE不會對您造成妨礙,也不會強(qiáng)迫您修改對象的行為方式。它們不需要實(shí)現(xiàn)任何不可思議的接口以便能夠持續(xù)存在。惟一需要做的就是創(chuàng)建一份XML“映射文檔”,告訴HIBERNATE您希望能夠保存在數(shù)據(jù)庫中的類,以及它們?nèi)绾侮P(guān)聯(lián)到該數(shù)據(jù)庫中的表和列,然后就可以要求它以對象的形式獲取數(shù)據(jù),或者把對象保存為數(shù)據(jù)。與其他解決方案相比,它幾乎已經(jīng)很完美了。它實(shí)際上相當(dāng)直觀。應(yīng)用程序?qū)ο笾械膶傩砸砸环N簡單而自然的方式與正確的數(shù)據(jù)庫結(jié)構(gòu)相關(guān)聯(lián)。運(yùn)行時,HIBERNATE讀取映射文檔,然后動態(tài)構(gòu)建JAVA類,以便管理數(shù)據(jù)庫與JAVA之間的轉(zhuǎn)換。在HIBERNATE中有一個簡單而直觀的API,用于對數(shù)據(jù)庫所表示的對象執(zhí)行查詢。要修改這些對象,(一般情況下)只需在程序中與它們進(jìn)行交互,然后告訴HIBERNATE保存修改即可。類似地,創(chuàng)建新對象也很簡單;只需以常規(guī)方式創(chuàng)建它們,然后告訴HIBERNATE有關(guān)它們的信息,這樣就能在數(shù)據(jù)庫中保存它們。HIBERNATEAPI學(xué)習(xí)起來很簡單,而且它與程序流的交互相當(dāng)自然。在適當(dāng)?shù)奈恢谜{(diào)用它,就可以達(dá)成目的。它帶來了很多自動化和代碼節(jié)省方面的好處,所以花一點(diǎn)時間學(xué)習(xí)它是值得的。而且還可以獲得另一個好處,即代碼不用關(guān)心要使用的數(shù)據(jù)庫種類(否則的話甚至必須知道)。有的公司就曾有過在開發(fā)過程后期被迫更換數(shù)據(jù)庫廠商的經(jīng)歷。這會造成巨大的災(zāi)難,但是借助于HIBERNATE,只需要簡單地修改HIBERNATE配置文件即可。這里的討論假定您已經(jīng)通過創(chuàng)建HIBERNATE映射文檔,建立了一個關(guān)系數(shù)據(jù)庫,并且擁有要映射的JAVA類。有一個HIBERNATE“工具集”可在編譯時使用,以支持不同的工作流。例如,如果您已經(jīng)擁有JAVA類和映射文檔,HIBERNATE可以為您創(chuàng)建(或更新)必需的數(shù)據(jù)庫表?;蛘?,僅僅從映射文檔開始,HIBERNATE也能夠生成數(shù)據(jù)類。或者,它可以反向設(shè)計您的數(shù)據(jù)庫和類,從而擬定映射文檔。還有一些用于ECLIPSE的ALPHA插件,它們可以在IDE中提供智能的編輯支持以及對這些工具的圖形訪問。如果您使用的是HIBERNATE2環(huán)境,這些工具鮮有提供,但是存在可用的第三方工具。第四章系統(tǒng)需求分析41系統(tǒng)設(shè)計思想電信運(yùn)營計費(fèi)系統(tǒng)NETCTOSS是利用J2EE平臺下的WEB技術(shù)設(shè)計和運(yùn)行通過利用C跟PL/SQL從AAA服務(wù)器上采集數(shù)據(jù)然后整和到中央數(shù)據(jù)庫里,供用戶和管理員進(jìn)行大量的查詢帳單和帳戶其中持久層采用封裝JDBC的HIBERNATE框架,數(shù)據(jù)庫采用ORACLE9I,并用STRUTS作為控制器,頁面顯示需要JSP技術(shù),并且用SPRING框架整和,完成企業(yè)級應(yīng)用系統(tǒng)業(yè)務(wù)模型如下根據(jù)業(yè)務(wù)模型圖我們可以清楚的了解整個系統(tǒng)的流程客戶通過網(wǎng)絡(luò)登陸到服務(wù)器。服務(wù)器中含有一個配置文件,這個配置文件中包含用戶的姓名和密碼。然后服務(wù)器根據(jù)這個配置文件來驗(yàn)證用戶的姓名和密碼,每次用戶登陸的時候,服務(wù)器就會自動在配置文件中查找,看有沒有匹配的。如果有,則讓其登入,沒有則不受理這個請求。與加工處理計費(fèi)信息統(tǒng)計信息WEB查詢WEB查詢MIBWEB管理WEB管理因特網(wǎng)AAA配置信息LOGINNAME按天合并日表T_DAY_X生成所有用戶記費(fèi)數(shù)據(jù)月表T_MONTH_X按月合并月表T_MONTH_X生成所有用戶記費(fèi)數(shù)據(jù)年表T_YEAR_X按小時合并清單表T_DETAIL_X生成所有LAB_IP數(shù)據(jù)日表T_DAY按天合并日表T_DAY生成所有LAB_IP數(shù)據(jù)月表T_MONTH按月合并月表T_MONTH生成所有LAB_IP數(shù)據(jù)年表T_YEAR2用戶帳務(wù)信息自查詢1用戶標(biāo)識信息帳單ID,姓名、帳號、狀態(tài)(正常/暫停/關(guān)閉)、開通日期。2帳務(wù)信息日期、登錄時長、本月費(fèi)用3服務(wù)信息,各種服務(wù)信息查詢4服務(wù)幫助,提供一個親切的服務(wù)界面5帳單明細(xì)登錄時間退出時間時長3用戶開通管理1管理用戶登陸OPENLAB的帳號,包括帳號開通、暫停(加鎖)、恢復(fù)、刪除。2用戶資料管理管理用戶資料,包括姓名(單位)、身份證號碼、住址及資費(fèi)信息等4管理員管理1管理員開通管理管理用戶登陸NETCTOSS的帳號,包括帳號開通、暫停(加鎖)、恢復(fù)、刪除。2管理員資料管理管理管理員資料,包括姓名、身份證號碼、住址等。3管理員權(quán)限管理改變管理員的各類權(quán)限。5用戶自服務(wù)管理用戶標(biāo)識信息帳單ID,姓名、帳號、狀態(tài)(正常/暫停/關(guān)閉)、開通日帳務(wù)信息日期、登錄時長、本月費(fèi)用服務(wù)信息,各種服務(wù)信息查詢服務(wù)幫助,提供一個親切的服務(wù)界面帳單明細(xì)登錄時間退出時間時長6帳單管理整合系統(tǒng)按月生成用戶月帳單。用戶標(biāo)識信息帳單ID,姓名、帳號、狀態(tài)(正常/暫停/關(guān)閉)、聯(lián)系電話、EMAIL、開通日期帳務(wù)信息帳號、日期、登錄時長、本月費(fèi)用帳單明細(xì)登錄時間退出時間時長第五章NETCTOSS詳細(xì)設(shè)計管理員管理模塊,帳單管理模塊51數(shù)據(jù)庫設(shè)計由于電信運(yùn)營支撐系統(tǒng)功能非常復(fù)雜,并且要存取的數(shù)據(jù)較多,因此簡單地使用文件來存儲數(shù)據(jù)庫和管理顯然是不合適的。所以本系統(tǒng)使用ORACLE數(shù)據(jù)庫來存儲數(shù)據(jù)。根據(jù)系統(tǒng)需求分析需要創(chuàng)建以下的數(shù)據(jù)表來存儲數(shù)據(jù)。1T_ADM表用于保存管理員的信息設(shè)計出的表如下所示T_ADM表NAMENULLTYPEIDNOTNULLNUMBERNAMEVARCHAR232LOGIN_NAMENOTNULLVARCHAR210LOGIN_PASSWORDVARCHAR232PHONEVARCHAR232EMAILVARCHAR232ENROLL_DATEDATECLOSE_DATEDATE對應(yīng)的數(shù)據(jù)庫建表語句為DROPTABLET_ADMCREATETABLET_ADMIDNUMBERPRIMARYKEY,管理員編碼NAMEVARCHAR232,管理員姓名LOGIN_NAMEVARCHAR210UNIQUENOTNULL,登錄名LOGIN_PASSWORDVARCHAR232,登錄密碼PHONEVARCHAR232,聯(lián)系電話EMAILVARCHAR232,EMAILENROLL_DATEDATE,注冊日期CLOSE_DATEDATE不用字段2T_MODULE模塊表(用于保存模塊信息)并對應(yīng)于管理員的權(quán)限設(shè)計的表如下所示NAMENULLTYPEIDNOTNULLNUMBERNAMEVARCHAR232USER_FLAGCHAR1對應(yīng)的數(shù)據(jù)庫建表語句為DROPTABLET_MODULECREATETABLET_MODULEIDNUMBERPRIMARYKEY,模塊編號NAMEVARCHAR232,模塊名稱USER_FLAGCHAR使用者標(biāo)記0管理員;1用戶;3T_ADM_RIGHTS管理員權(quán)限表(用于保存管理員對模塊的訪問權(quán)限)設(shè)計的表如下所示NAMENULLTYPEADM_IDNOTNULLNUMBERMODULE_IDNOTNULLNUMBER對應(yīng)的數(shù)據(jù)庫建表語句為DROPTABLET_ADM_RIGHTSCREATETABLET_ADM_RIGHTSADM_IDNUMBERREFERENCEST_ADMID,管理員編碼MODULE_IDNUMBERREFERENCEST_MODULEID,模塊編號PRIMARYKEYADM_ID,MODULE_ID4T_USERS用戶表(用于保存用戶賬務(wù)帳號信息及個人信息)設(shè)計的表如下所示NAMENULLTYPEIDNOTNULLNUMBER32NAMENOTNULLVARCHAR232LOGIN_NAMEVARCHAR210LOGIN_PASSWORDNOTNULLVARCHAR232STATUSNOTNULLNUMBER2PHONEVARCHAR232EMAILVARCHAR232ENROLL_DATEDATECLOSE_DATEDATEPAYMENT_STYLENUMBER2CAREERVARCHAR232NATIONALITYVARCHAR232GENDERVARCHAR28COMPANYVARCHAR232ADDRESSVARCHAR232POST_CODEVARCHAR216對應(yīng)的數(shù)據(jù)庫建表語句為CREATETABLET_USERS/用戶表(用于保存用戶賬務(wù)帳號信息及個人信息)IDNUMBER32PRIMARYKEY,主鍵編碼NAMEVARCHAR232NOTNULL,用戶姓名LOGIN_NAMEVARCHAR210UNIQUE,用戶賬務(wù)帳號(對應(yīng)多個業(yè)務(wù)帳號)LOGIN_PASSWORDVARCHAR232NOTNULL,用戶賬務(wù)帳號密碼STATUSNUMBER2NOTNULL,賬務(wù)帳號狀態(tài)(0開通;1暫停;2刪除)PHONEVARCHAR232,聯(lián)系電話EMAILVARCHAR232,EMAILENROLL_DATEDATE,開通日期CLOSE_DATEDATE,暫停日期PAYMENT_STYLENUMBER2,付款方式0現(xiàn)金;1銀行轉(zhuǎn)帳;2郵局匯款;3其他CAREERVARCHAR232,職業(yè)NATIONALITYVARCHAR232,國籍系統(tǒng)中在本字段記錄省份GENDERVARCHAR28,性別COMPANYVARCHAR232,公司名稱ADDRESSVARCHAR232,地址POST_CODEVARCHAR216郵編5用戶業(yè)務(wù)帳號表(用于保存用戶業(yè)務(wù)帳號信息)設(shè)計的表如下所示NAMENULLTYPEIDNOTNULLNUMBER32USER_IDNUMBER32LAB_LOGIN_NAMEVARCHAR210LAB_LOGIN_PASSWORDVARCHAR232LAB_IPNOTNULLVARCHAR232USER_STATUSNUMBER2PRICING_IDNUMBERENROLL_DATEDATECLOSE_DATEDATE對應(yīng)的數(shù)據(jù)庫建表語句為CREATETABLET_USER_SERVICESIDNUMBER32PRIMARYKEY,主鍵編碼USER_IDNUMBER32REFERENCEST_USERSID,用戶表主鍵編碼LAB_LOGIN_NAMEVARCHAR210,用戶業(yè)務(wù)帳號LAB_LOGIN_PASSWORDVARCHAR232,用戶業(yè)務(wù)帳號密碼LAB_IPVARCHAR232NOTNULL,服務(wù)器編碼USER_STATUSNUMBER2,業(yè)務(wù)帳號狀態(tài)(0正常;1暫停;2刪除)PRICING_IDNUMBERREFERENCEST_PRICINGPRICING_ID,資費(fèi)編碼ENROLL_DATEDATE,開通日期CLOSE_DATEDATE暫停日期5T_PRICING資費(fèi)表設(shè)計的表如下所示NAMENULLTYPEPRICING_IDNOTNULLNUMBER10PRICING_NAMEVARCHAR2255CHARBASE_FEEFLOAT126RATE_FEEFLOAT126PRICING_DESCVARCHAR2255CHAR對應(yīng)的數(shù)據(jù)庫建表語句為CREATETABLET_PRICINGPRICING_IDNUMBERPRIMARYKEY,資費(fèi)編碼PKPRICING_NAMEVARCHAR232NOTNULLUNIQUE,資費(fèi)名稱BASE_FEENUMBER5,2,月租費(fèi)RATE_FEENUMBER4,2,每小時費(fèi)用PRICING_DESCVARCHAR264資費(fèi)描述6T_DETAIL_X(X月中的第幾天,取值范圍131)設(shè)計的表如下所示NAMENULLTYPELOGIN_NAMEVARCHAR210LOGIN_IPVARCHAR232LOGIN_DATEDATELOGOUT_DATEDATELAB_IPVARCHAR232TIME_DURATIONNUMBER10對應(yīng)的數(shù)據(jù)庫建表語句為CREATETABLET_DETAIL_XLOGIN_NAMEVARCHAR210,用戶名LOGIN_IPVARCHAR232,用戶登錄IPLOGIN_DATEDATE,登錄時間LOGOUT_DATEDATE,退出時間LAB_IPVARCHAR232,服務(wù)器IPTIME_DURATIONNUMBER10時長7T_DAY_X(X月中的第幾天,取值范圍131)用戶計費(fèi)數(shù)據(jù)日表(統(tǒng)計當(dāng)天每小時每個服務(wù)器上的每個用戶的總時長)每條數(shù)據(jù)記錄的是一個服務(wù)器上的一個用戶某一小時的總時長對于一個服務(wù)器上的一個用戶,最多有24條記錄設(shè)計的表如下所示NAMENULLTYPELOGIN_NAMENOTNULLVARCHAR210LOGIN_IPVARCHAR232LOGOUT_DATENOTNULLDATELAB_IPNOTNULLVARCHAR232TIME_DURATIONNUMBER10對應(yīng)的數(shù)據(jù)庫建表語句為CREATETABLET_DAY_XLOGIN_NAMEVARCHAR210,用戶名LOGIN_IPVARCHAR232,用戶登錄IPLOGOUT_DATEDATE,統(tǒng)計時間格式Y(jié)YYYMMDDHH240000LAB_IPVARCHAR232,服務(wù)器IPTIME_DURATIONNUMBER10,時長PRIMARYKEYLOGIN_NAME,LAB_IP,LOGOUT_DATE8T_MONTH_X(X月份,取值范圍112)用戶計費(fèi)數(shù)據(jù)月表(統(tǒng)計當(dāng)月每天每個服務(wù)器上的每個用戶的總時長)每條數(shù)據(jù)記錄的是一個服務(wù)器上的一個用戶某一天的總對于一個服務(wù)器上的一個用戶,最多有31條記錄設(shè)計的表如下所示NAMENULLTYPELOGIN_NAMENOTNULLVARCHAR210LOGIN_IPVARCHAR232LOGOUT_DATENOTNULLDATELAB_IPNOTNULLVARCHAR232TIME_DURATIONNUMBER10對應(yīng)的數(shù)據(jù)庫建表語句為CREATETABLET_MONTH_XLOGIN_NAMEVARCHAR210,用戶名LOGIN_IPVARCHAR232,用戶登錄IPLOGOUT_DATEDATE,統(tǒng)計日期(格式Y(jié)YYYMMDD000000)LAB_IPVARCHAR232,服務(wù)器IPTIME_DURATIONNUMBER10,時長PRIMARYKEYLOGIN_NAME,LAB_IP,LOGOUT_DATE52模塊的具體實(shí)現(xiàn)1管理員管理模塊用例圖業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)用例描述用例名稱查詢所有管理員(管理員列表)描述超級管理員可以查看所有管理員信息用例參與者超級管理員前置條件超級管理員已經(jīng)登錄成功基本事件流登錄成功后,管理員進(jìn)入系統(tǒng)主頁面,在主頁面的導(dǎo)航菜單中點(diǎn)擊管理員管理鏈接,頁面就顯示出系統(tǒng)中所有管理員的信息其他事件流登錄成功后,管理員進(jìn)入系統(tǒng)主頁面,在主頁面的導(dǎo)航菜單中點(diǎn)擊管理員管理鏈接,進(jìn)入管理員列表里可以進(jìn)入添加管理員、管理員信息修改和修改自己的信息的頁面,在這三個頁面中點(diǎn)擊管理員列表鏈接,可以到管理員列表頁面異常事件流無后置條件無用例名稱增加管理員描述超級管理員增加管理員用例參與者超級管理員前置條件超級管理員已經(jīng)登錄成功基本事件流登錄成功后,管理員進(jìn)入系統(tǒng)主頁面,在主頁面的導(dǎo)航菜單中點(diǎn)擊管理員管理鏈接,頁面就顯示出系統(tǒng)中所有管理員的信息,在管理員列表頁面中點(diǎn)擊增加管理員鏈接,會跳轉(zhuǎn)到添加管理員頁面,在本頁面中填好必要的信息點(diǎn)擊提交按鈕通過驗(yàn)證后,來完成添加管理員,操作完成到管理員列表頁面其他事件流在修改頁面也可以點(diǎn)擊增加管理員,跳轉(zhuǎn)到添加管理員頁面也能完成添加管理員功能異常事件流如果驗(yàn)證未通過會提示信息,添加的管理員沒保存到系統(tǒng)中后置條件剛添加的管理員信息就保存到本系統(tǒng)中用例名稱刪除管理員描述超級管理員刪除管理員用例參與者超級管理員前置條件超級管理員已經(jīng)登錄成功基本事件流登錄成功后,管理員進(jìn)入系統(tǒng)主頁面,在主頁面的導(dǎo)航菜單中點(diǎn)擊管理員管理鏈接,頁面就顯示出系統(tǒng)中所有管理員的信息,選中要刪除的管理員前面的復(fù)選框,點(diǎn)擊刪除按鈕進(jìn)行刪除,一次可以刪除多個管理員,操作完成到管理員列表頁面其他事件流無異常事件流無后置條件刪除完成以后此管理員就從系統(tǒng)里被刪掉了,下回就不能用這個管理員進(jìn)行登錄管理了用例名稱修改管理員信息描述超級管理員修改管理員信息用例參與者超級管理員前置條件超級管理員已經(jīng)登錄成功基本事件流登錄成功后,管理員進(jìn)入系統(tǒng)主頁面,在主頁面的導(dǎo)航菜單中點(diǎn)擊管理員管理鏈接,頁面就顯示出系統(tǒng)中所有管理員的信息,在每個管理員信息的最后一列里都會有一個修改的鏈接,要想修改某個管理員就直接點(diǎn)擊轉(zhuǎn)到修改頁面,在修改頁面直接對想修改的信息進(jìn)行修改,最后點(diǎn)擊修改按鈕通過驗(yàn)證就修改完成,操作完成到管理員列表頁面其他事件流無異常事件流如果驗(yàn)證未通過會提示信息,修改后的信息不會被保存后置條件修改信息以后修改的信息會保存到系統(tǒng)中用例名稱修改本管理員信息描述超級管理員修改本管理員信息用例參與者超級管理員前置條件超級管理員已經(jīng)登錄成功基本事件流登錄成功后,管理員進(jìn)入系統(tǒng)主頁面,在主頁面的導(dǎo)航菜單中點(diǎn)擊管理員管理鏈接,頁面就顯示出系統(tǒng)中所有管理員的信息,修改自己的信息就點(diǎn)擊私人信息就直接點(diǎn)擊轉(zhuǎn)到修改頁面,在修改頁面直接對想修改的信息進(jìn)行修改,最后點(diǎn)擊修改按鈕通過驗(yàn)證就修改完成,操作完成到管理員列表頁面其他事件流還可在列表中找到自己信息那行點(diǎn)擊修改,也能完成此功能異常事件流如果驗(yàn)證未通過會提示信息,修改后的信息不會被保存后置條件修改信息以后修改的信息會保存到系統(tǒng)中類圖時序圖CLIENTACTIONSERVLETACTIONADMMANGEBIZIMPLHIBERNATEADMMANGEDAOJSPREQUESTEXCUTEBUSINESMETHODBUSINESMETHODIMPLRETURNPROCESRESULTFORWARDRESPONSE組件圖業(yè)業(yè)業(yè)WEB業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)DAO業(yè)業(yè)業(yè)BEAN業(yè)管理員管理模塊的界面如下所示登陸界面這個是登錄界面,用戶在這個上面可以選擇管理員登錄和用
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智能凈水系統(tǒng)安裝與維護(hù)服務(wù)合同范本
- 二零二五年度餐飲場地租賃及節(jié)假日促銷合同
- 2025版復(fù)雜多元化主題公園美陳設(shè)施租賃合同
- 2025版房地產(chǎn)項(xiàng)目投資買賣合伙人合作協(xié)議范本
- 二零二五版?zhèn)€人養(yǎng)老理財擔(dān)保合同
- 2025版網(wǎng)絡(luò)安全防護(hù)技術(shù)服務(wù)合同書
- 二零二五年度房產(chǎn)分割協(xié)議書:父母房產(chǎn)分割與子女未來發(fā)展保障
- 二零二五年度建筑工程監(jiān)理補(bǔ)充協(xié)議范本(綠色環(huán)保材料專項(xiàng))
- 2025版電商企業(yè)客戶信息保密及網(wǎng)絡(luò)安全保護(hù)協(xié)議
- 二零二五年度企業(yè)領(lǐng)導(dǎo)力培訓(xùn)合同
- 社區(qū)基孔肯雅熱綜合防控方案(2025年版)
- 異地工程管理辦法
- 2025年全國高級保育員理論考試筆試試題附答案
- 五升六小學(xué)數(shù)學(xué)(暑假口算每日一練)
- 浙江國企招聘2025寧波慈溪市國有企業(yè)公開招聘工作人員130名筆試參考題庫附帶答案詳解
- 護(hù)理人文關(guān)懷培訓(xùn)課件
- 2025年甘肅省高考地理試卷真題(含答案解析)
- 中國專用車行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略研究報告
- 小麥胚芽知識問答
- 典型發(fā)酵過程動力學(xué)以及模型
評論
0/150
提交評論