版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
畢業(yè)設計(論文)題目:電信維護系統(tǒng)學院:軟件學院專業(yè)名稱:軟件工程班級學號:學生姓名:指導教師:二O一四年六月畢業(yè)設計(論文)任務書I、畢業(yè)設計(論文)題目:電信維護系統(tǒng)業(yè)設計(論文)使用的原始資料(數(shù)據(jù))及設計技術要求:原始材料數(shù)據(jù):相關的STRUTS框架知識相關電信運營的原理知識相關電信維護系統(tǒng)資料及技術資料技術要求:本系統(tǒng)采用MVC(Model-View-Controller)模式數(shù)據(jù)庫采用Oracle11g需要用到的Java相關技術有jsp技術、servlet技術、jdbc技術、STRUTS框架。能夠滿足實際應用需要,界面美觀大方,易于使用業(yè)設計(論文)工作內(nèi)容及完成時間:工作內(nèi)容:查詢相關資料,了解本系統(tǒng)的研究意義??梢陨暇W(wǎng)搜索或者是去圖書館查閱相關資料。通過查詢資料了解該系統(tǒng)要如何做,及要做哪些東西。設計出大體上的功能模塊,畫出模塊圖。通過進一步的了解,對每個功能模塊進行細化,將每一步都想清楚。制定出每一步的做法和需要注意的地方。對設計好的程序進行調(diào)試,通過調(diào)試發(fā)現(xiàn)存在的問題并解決,從而達到完善系統(tǒng)的目的。最后,整理各階段的設計記錄文檔,寫成論文稿。完成時間:第1周—第4周開題(查資料、技術方案、實驗方案等)第5周—第13周需求分析,概要設計第14周—第15周詳細設計,編碼第16周—第17周調(diào)試程序,撰寫畢業(yè)論文第18周總結,答辯要參考資料:張彬.電信增值業(yè)務:北京郵電大學出版社聶敏.現(xiàn)代通信系統(tǒng)計費原理:電子工業(yè)出版社耿祥義,張躍平.Java大學實用教程[M].北京:電子工業(yè)出版社,2008.05孫玉.電信網(wǎng)絡總體概念討論:人民郵電出版社胡莊君.中國電信發(fā)展分析:社會科學文獻出版社??藸?Thinkinginjava:機械工業(yè)出版社,2007.08陳龍.電信運營支撐系統(tǒng):人民郵電出版社漆晨曦.電信市場經(jīng)營分析方法和案例:人民郵電出版社hristopherP.Benlight.Acriticalsuccessfactorsmodelforeprimplement.IEEEsoftware.1999:16-30AnatolyAkkerman,AlexanderTotok,、VijayKaramcheti.InfrastructureforAutomaticDynamicDeploymentOfJ2EEApplicationinDistributedEnvironments軟件學院java102012學院專業(yè)類班學生(簽名):陶雪峰日期:自2014年02月20日至2014年6月27日指導教師(簽名):助理指導教師(并指出所負責的部分):系(室)主任(簽名):附注:任務書應該附在已完成的畢業(yè)設計說明書首頁。學士學位論文原創(chuàng)性聲明本人聲明,所呈交的論文是本人在導師的指導下獨立完成的研究成果。除了文中特別加以標注引用的內(nèi)容外,本論文不包含法律意義上已屬于他人的任何形式的研究成果,也不包含本人已用于其他學位申請的論文或成果。對本文的研究作出重要貢獻的個人和集體,均已在文中以明確方式表明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名: 日期:學位論文版權使用授權書本學位論文作者完全了解學校有關保留、使用學位論文的規(guī)定,同意學校保留并向國家有關部門或機構送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權南昌航空大學可以將本論文的全部或部分內(nèi)容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。作者簽名: 日期:導師簽名: 日期:摘要隨著電子信息技術與網(wǎng)絡技術的飛速發(fā)展,各行各業(yè)的競爭也愈加激烈,各企業(yè)在各自的傳統(tǒng)運營方式上開始加大信息技術的投入以適應多變的市場經(jīng)濟,在軟件方面尤為明顯,大量資金及人員的注入以進一步提升自己在業(yè)內(nèi)的服務質量與市場競爭力,并且取得了很好的成效。電信行業(yè)的三大巨頭運營商:移動、聯(lián)通、電信每年都在軟件方面投入大量的資源以努力適應新時代背景的發(fā)展要求,進入新的領域,推出新的業(yè)務,探索新的商業(yè)模式,改變不合時宜的思維和觀念,如此,或許運營商才能更好地迎接挑戰(zhàn),抓住機遇,實現(xiàn)持續(xù)發(fā)展。經(jīng)過翻閱相關書籍以及互聯(lián)網(wǎng)上對電信行業(yè)的了解及學習,本系統(tǒng)用了B/S架構以及MVC技術,本系統(tǒng)的功能主要是實現(xiàn)電信運營商營業(yè)員對電信運營商推出的業(yè)務錄入系統(tǒng),維護相關業(yè)務信息,幫助客戶開通和暫停所對應的業(yè)務,能夠打印出客戶所需的賬單報表。關鍵字:電信軟件業(yè)務MVCB/S架構AbstractWiththerapiddevelopmentofelectronicinformationtechnologyandnetworktechnology,ithasbecomeevenmoreintensecompetitioninallwalksoflife,allenterprisesoperatingontheirtraditionalwayofbeginningtoincreaseinvestmentininformationtechnologytoadapttochangingmarketeconomy,especiallyintermsofsoftware,massiveinjectionoffundsandpersonneltofurtherenhancetheirservicequalityintheindustryandmarketcompetitiveness,andachievedgoodresults.BigThreetelecomoperatorsintheindustry:Mobile,ChinaUnicom,Telecomhasinvestedannuallyinthebillingsoftwarealotofresourcesinanefforttomeetthedevelopmentrequirementsofthenewerabackground,intonewareas,theintroductionofnewbusiness,exploringnewbusinessmodelschangingoutdatedthinkingandideas,soperhapsoperatorsinordertobettermeetthechallengesandseizetheopportunitytoachievesustainabledevelopment.AfterreadthebooksandthetelecommunicationsindustryknowledgeandlearningontheInternet,thesystemusestheB/SarchitectureandMVCtechnology,thefeaturesofthissystemistoachievetelecomoperatorssalespersontelecomoperatorstolaunchoperationsintothesystem,maintenancerelevantbusinessinformationtohelpcustomersopenandsuspendthecorrespondingbusinesscustomerscanprintoutthebillingstatementsrequired.Keywords:TelecomSoftwareBusinessMVCB/SArchitecture引言課題的來源、目標和意義因為計算機的硬件性能的限制、軟件開發(fā)的成本高及難度大,以及電信運營者服務意識不到位,運營商間的競爭意識的淡漠,只能以自動化為目標,以記賬收費的簡單功能實現(xiàn),但是現(xiàn)如今,這樣簡單的功能顯然不能適應電信行業(yè)業(yè)務的發(fā)展趨勢,并且不能滿足用戶的服務需求,更不用說適應市場經(jīng)濟。然而隨著電子技術與科技的進步,慢慢的可以滿足日漸成熟的電信行業(yè)的系統(tǒng)要求。在電信提供的所有業(yè)務中,其中有一種業(yè)務是Unix實驗室出租業(yè)務。用戶需要向電信運營商申請一個Unix賬號,就可以遠程登陸Unix實驗室,使用Unix系統(tǒng)。任何用戶登陸電信運營商提供的Unix實驗室的Unix系統(tǒng)時,Unix系統(tǒng)都會記錄該賬號的登入和登出信息,這些信息都會在系統(tǒng)日志文件中保存。用戶使用電信運營商提供的Unix實驗室的服務需要繳納一定的費用。因此,電信運營商需要一套系統(tǒng),將用戶登陸實驗室的時間長度數(shù)據(jù)采集起來,以作為對用戶的收費依據(jù)。本系統(tǒng)的主要任務是提供對于數(shù)據(jù)的查詢和管理功能。日志數(shù)據(jù)存入數(shù)據(jù)庫后,可以通過本系統(tǒng)來實現(xiàn)查詢和管理功能。管理員登陸本系統(tǒng)后,可以進行角色管理、賬務賬號管理、業(yè)務賬號管理、賬單管理以及報表數(shù)據(jù)查詢等操作。那么本系統(tǒng)實現(xiàn)這些功能的意義何在呢?本系統(tǒng)是隨著電信產(chǎn)業(yè)和計算機產(chǎn)業(yè)的發(fā)展而不斷成長起來的。系統(tǒng)是否能有效、安全地運行,在很大程度上影響著電信行業(yè)本身的運行效率和信譽,同時也是其業(yè)務正常發(fā)展的保證。系統(tǒng)的功能描述TelcomSys系統(tǒng)具有的功能:“角色管理”、“管理員管理“資費管理、“賬務賬號管理”、“業(yè)務賬號管理”、“賬單管理、“報表”、“個人信息”、“修改密碼”以下是系統(tǒng)的功能描述圖關鍵技術簡介JAVA語言Java是一種面向對象編程語言,它的編程風格非常類似于C/C++,包含了C++中的面向對象的核心技術,舍棄了一些C++中比較復雜的特性(運算符重載、指針等)。Java語言的特點非常鮮明:封裝、繼承、多態(tài)、抽象。為什么會選擇JAVA語言呢?1)Java語言是健壯的。2)Java的強類型機制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。Java的安全檢查機制使得Java更具健壯性。3)Java語言是平臺無關的。4)Java語言是可移植的。5)Java語言是一個支持網(wǎng)絡計算的面向對象程序設計語言。6)Java語言是一個面向對象的。7)Java語言是安全的。8)Java語言是解釋型的。9)Java是高性能的。10)Java語言是多線程的。11)Java語言是動態(tài)的。MVC框架MVC全稱是Model(模型)View(視圖)Control(控制器),它用數(shù)據(jù)、業(yè)務邏輯、界面分離的方法組織代碼,將業(yè)務邏輯聚集到一個不見里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務邏輯。使用MVC框架有很多好處,它的特點非常鮮明,耦合性低、重用性高、生命周期成本低、可維護性高、有利軟件工程化管理。Struts框架Struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點,同時簡化了基于MVC的web應用程序的開發(fā)。它是建立在MVC模式上的,Struts在Model、View、Control上都有涉及,但它主要的好處在于提供了一個好的Control和一套定制的標簽庫,也就是說它的重點在Control和View上,因此,它就有MVC所帶來的一系列優(yōu)點,如:結構層次分明,高可重用性,增加了程序的健壯性,便于開發(fā)與設計分工,提供集中統(tǒng)一的權限控制、校驗、國際化、日志等等;它是個開源軟件,并且得到了程序大師們持續(xù)而細心的呵護,并且經(jīng)受了實戰(zhàn)的檢驗,使其功能越來越強大,體系也日臻完善,開發(fā)者可以更深入的了解它的內(nèi)部機制;它對其他的技術和框架具有很好的兼容性在Struts中,可以通過struts-config.xml配置文件配置Action得訪問路徑,它提供了ActionForm,自動獲取Request中的數(shù)據(jù),不再需要反反復復的進行request.getParameter(),然后小心翼翼的轉換類型。Struts還提供了標簽庫,可以方便的構建頁面并獲得額外的便利。作為一個成熟而完整的框架,Struts幾乎處處都幫我們做好了貼心安排。需求分析系統(tǒng)功能需求分析概要需求調(diào)研根據(jù)資料以及自我的理解,一個電信維護系統(tǒng)應該具備以下特點:統(tǒng)一友好的操作界面,保證系統(tǒng)的易用性、美觀性,方便用戶的操作具備一些基礎信息的管理,例如:登陸、查看個人信息、修改密碼等在系統(tǒng)中同一賬號只能唯一在線,不允許同一賬號在不同的地點同一時間同時在線本系統(tǒng)對于不同的用戶要賦予不同的權限,這是對用戶信息的安全性的保障設置一個超級管理員,他擁有最高權限,可以操作系統(tǒng)內(nèi)部的所有模塊,包括對用戶、管理員、各模塊的信息等的更改、刪除、增加等操作能夠對資費標準進行顯示,增加以及修改對于客戶所需要的并且電信運營商所提供的業(yè)務進行開通,暫停及刪除等客戶能夠通過本系統(tǒng)查詢自己的消費信息,所開通的業(yè)務等詳細功能需求調(diào)研以及系統(tǒng)用例圖功能需求調(diào)研本系統(tǒng)應該具有的功能有:角色管理、管理員管理、資費管理、業(yè)務賬號管理、賬務賬號管理、賬單管理、報表、個人信息、修改密碼。每個管理員登陸成功后,都可以使用“個人信息”和“修改密碼”功能,以實現(xiàn)個人信息的維護,是否可以使用其他功能取決于該管理員所擁有的權限。個人信息、修改密碼:這兩個模塊需要實現(xiàn)個人信息的維護,其中個人信息所有的信息中有三項是不可以變動的,分別為:管理員賬號、角色以及創(chuàng)建時間。角色管理:這個模塊需要用來為管理員分配房訪問系統(tǒng)功能模塊權限,每個管理員至少要被分配一個角色。管理員管理:這個模塊需要實現(xiàn)對管理員信息進行操作,增加管理員、查詢管理員、修改管理員、刪除管理員。增加的管理員必須被賦予一個角色。資費管理:這個模塊需要實現(xiàn)的功能有:運營商會提供一些業(yè)務,業(yè)務內(nèi)會有具體的一些收費標準,這個模塊里面就是保存和修改這些資費標準信息的,運營商可以選擇提供或者不提供這些資費標準,如果運營商啟用這些標準,那么客戶就可以在業(yè)務賬號模塊開通這項業(yè)務。業(yè)務賬號管理:這個模塊需要實現(xiàn)的功能是:客戶需要開通運營商提供的業(yè)務時,需要一個東西來記錄某個特點的客戶開通了哪些業(yè)務,這個模塊就是用來記錄這些信息的,客戶可以再這個模塊開通運營商提供的業(yè)務。賬務賬號管理:假如一客戶需要使用運營商提供的業(yè)務時,系統(tǒng)內(nèi)需要一個賬號來鎖定該客戶,賬務賬號就是用來綁定客戶用的,一個客戶只能擁有一個賬務賬號,以身份證號碼做唯一標識。賬單管理:通過這個模塊,客戶可以查詢自己每月的消費記錄或歷史消費記錄。報表:通過這個功能模塊,管理員可以把每月的消費報表瀏覽或打印。系統(tǒng)用例圖數(shù)據(jù)庫需求分析本系統(tǒng)的數(shù)據(jù)庫使用了Oracle11g創(chuàng)建,數(shù)據(jù)庫表包括賬務信息表(ACCOUNT)、業(yè)務信息表(SERVICE)、資費信息表(COST)、賬單信息表(BILL)、管理員表(ADMIN)、賬單條目條(BILL_ITEM),業(yè)務更新備份表(SERVICE_BAK)、服務器信息表(HOST)。賬務信息表(ACCOUNT):從賬務角度看客戶,即每個客戶都需要一個賬號,有了這個賬號才能夠通過這個賬號開通業(yè)務,沒有這個賬號就不能開通相應的業(yè)務,里面包括登陸賬號、登陸密碼、賬號狀態(tài)、客戶姓名等一些基礎信息。業(yè)務信息表(SERVICE):客戶申請了遠程登陸業(yè)務后,即可以獲得一個業(yè)務賬號對應一臺UNIX服務器上的OS賬號,即UNIX服務器的IP地址+OS賬號,里面包括賬務賬號ID、服務器地址、登陸賬號、登陸密碼、業(yè)務狀態(tài)等基礎信息。資費信息表(COST):針對TELENET服務的各種資費標準,里面包括資費名稱、在線時長、月固定費用、狀態(tài)等基礎信息。賬單信息表(BILL):客戶(賬務賬號)每月的總費用信息,里面包括賬務賬號ID、賬單月份、費用、支付方式等基礎信息。管理員表(ADMIN):管理員的基礎信息,里面包括賬號、密碼、姓名、電話等基礎信息。賬單條目條(BILL_ITEM):客戶(賬務賬號)每月的詳細費用信息,使用每個服務器應付的費用,里面包括賬單ID、業(yè)務賬號ID、費用等基礎信息。業(yè)務流程圖總體設計和實施方案這一部分通過系統(tǒng)流程圖和對系統(tǒng)中每一個模塊的功能的簡單描述來介紹整個系統(tǒng)總體設計系統(tǒng)結構本系統(tǒng)登陸初始會給一個管理員操作所有模塊功能的權限,即可作為系統(tǒng)的超級管理員,而后其他的管理員(用戶)都是由這個超級管理員創(chuàng)建添加的,在創(chuàng)建的過程中,會給管理員操作響應模塊功能的權限。超級管理員登錄系統(tǒng)后可以對系統(tǒng)所有的模塊進行操作,包括查詢個人信息、修改密碼、角色管理、資費管理、業(yè)務賬號管理、賬務賬號管理、賬單管理、報表,每個模塊內(nèi)又包含了一個至數(shù)個功能點,管理員完整的功能模塊圖如下圖其他管理員(用戶)登錄系統(tǒng)后可以根據(jù)具體被分配的權限進行系統(tǒng)操作,如果被賦予了全部的功能模塊權限,則可以操作個人信息、修改密碼、資費管理、業(yè)務賬號管理、賬務賬號管理、賬單管理、報表。每個模塊下又有一個至數(shù)個功能點,用戶的功能模塊圖如下圖:功能設計不同權限的用戶登陸,所操作的功能模塊是不一樣的,系統(tǒng)初始管理員(超級管理員)登陸后可以對系統(tǒng)所有的模塊進行操作。以下是超級管理員的系統(tǒng)流程:登陸成功后,可以維護個人信息和密碼。角色管理,創(chuàng)建不同的角色管理操作對應的模塊,即可以賦予不同的角色不同的模塊:資費管理、賬務賬號管理、業(yè)務賬號管理、賬單管理、報表。管理員管理,創(chuàng)建新的管理員并且為其賦予不同的角色以操作不同的模塊,這個模塊內(nèi)可以對管理員進行查詢、增加、刪除、修改。資費管理,創(chuàng)建不同的資費標準以供用戶選擇,具體的資費標準標準由管理員來添加,可以是:包時、包月、包年等,客戶如果需要開通這個資費標準,在資費管理模塊可以對此標準進行開通、暫停操作。賬務賬號管理,為客戶開通賬務賬號,此賬務賬號對應的是每一個客戶,只有有了這個賬務賬號,客戶才能使用運營商提供的業(yè)務。業(yè)務賬號管理,為某賬務賬號開設業(yè)務賬號,并且選擇具體的資費標準,業(yè)務賬號與賬務賬號是多對一關系,開通一個賬務賬號后可以開設多個業(yè)務賬號。客戶課設業(yè)務賬號后,則可以使用具體的業(yè)務,管理員可以對所有客戶的賬單進行管理和查詢。定期進行報表管理。由初始管理員創(chuàng)建的管理員(用戶)則會根據(jù)被賦予的權限對系統(tǒng)的功能模塊進行操作,登陸成功的用戶可以進行個人信息以及密碼的維護,可以進行資費管理,賬務賬號管理,業(yè)務賬號管理,賬單管理,報表管理。實施方案開發(fā)工具簡介MyeclipseMyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,CSS,Javascript,SQL,Hibernate。在結構上,MyEclipse的特征可以分為7類:(1)J2EE模型;(2)WEB開發(fā)工具;(3)EJB開發(fā)工具;(4)應用程序服務器的連接器;(5)J2EE項目部署服務;(6)數(shù)據(jù)庫服務;(7)MyEclipse整合幫助。對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結構上的這種模塊化,可以在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。OracleOracle是以高級結構化查詢語言(SQL)為基礎的大型關系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶/服務器(CLIENT/SERVER)體系結構的數(shù)據(jù)庫之一。引入了共享SQL和多線索服務器體系結構。這減少了ORACLE的資源占用,并增強了ORACLE的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千個用戶。提供了基于角色(ROLE)分工的安全保密管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。支持大量多媒體數(shù)據(jù),如二進制圖形、聲音、動畫以及多維數(shù)據(jù)結構等。提供了與第三代高級語言的接口軟件PRO*系列,能在C,C++等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進行操縱。加上它有許多優(yōu)秀的前臺開發(fā)工具如POWERBUILD、SQL*FORMS、VISIABASIC等,可以快速開發(fā)生成基于客戶端PC平臺的應用程序,并具有良好的移植性。提供了新的分布式數(shù)據(jù)庫能力??赏ㄟ^網(wǎng)絡較方便地讀寫遠端數(shù)據(jù)庫里的數(shù)據(jù),并有對稱復制的技術實施步驟此系統(tǒng)的開發(fā)共經(jīng)歷了以下5個步驟:前期需求調(diào)研、系統(tǒng)架構設計、編碼、系統(tǒng)調(diào)試、系統(tǒng)完善。前期需求調(diào)研。了解本系統(tǒng)的業(yè)務流程,確定系統(tǒng)的功能,參考類似的系統(tǒng),確定需求。提出可行性的設計方案,繪制藍圖。系統(tǒng)架構設計。根據(jù)需求,根據(jù)現(xiàn)有的業(yè)務流程確定系統(tǒng)模型,設計系統(tǒng)界面,確定系統(tǒng)設計方案。編碼。根據(jù)調(diào)研以及系統(tǒng)架構,對系統(tǒng)進行編碼。按模塊以及功能點逐一進行編碼。系統(tǒng)調(diào)試。對系統(tǒng)各個模塊進行單元測試,預算及猜想系統(tǒng)可能出現(xiàn)的問題,在逐一進行排查及測試系統(tǒng)完善。根據(jù)系統(tǒng)調(diào)試出現(xiàn)的問題進一步完善本系統(tǒng)數(shù)據(jù)庫的設計數(shù)據(jù)庫概念結構設計根據(jù)數(shù)據(jù)庫需求分析,本系統(tǒng)共有6個實體:管理員、資費信息、賬務信息、業(yè)務信息、賬單信息、報表信息。以下是各個實體的實體--屬性圖用戶名密碼用戶名密碼管理員管理員管理員實體-屬性圖資費名稱資費編號資費名稱資費編號創(chuàng)建日期資費狀態(tài)創(chuàng)建日期資費狀態(tài)資費信息資費信息資費信息實體屬性圖暫停日期暫停日期賬務標號賬務標號賬務狀態(tài)賬務狀態(tài)賬務名稱創(chuàng)建日期賬務名稱創(chuàng)建日期賬務信息賬務信息賬務信息實體—屬性圖業(yè)務狀態(tài)業(yè)務名稱業(yè)務狀態(tài)業(yè)務名稱開通日期開通日期業(yè)務編號業(yè)務編號業(yè)務業(yè)務信息業(yè)務信息實體—屬性圖賬單費用支付方式賬單費用支付方式支付狀態(tài)賬單編號支付狀態(tài)賬單編號賬單賬單信息賬單信息實體—屬性圖主機名主機名主機所在位置主機所在位置服務器編號服務器編號報表報表信息報表信息實體—屬性圖系統(tǒng)總E-R圖數(shù)據(jù)庫邏輯結構設計數(shù)據(jù)庫表設計ADMIN管理員表存儲了管理員的一些基礎信息,具體字段信息如下表:名稱類型長度是否為空備注IDNUMBER4否主鍵ADMINCODEVARCHAR50否PASSWORDVARCHAR50否NAMEVARCHAR50否TELEPHONENUMBER11否EMAILVARCHAR50ENROLLDATEDATEACCOUNT賬務信息表存儲了賬務賬號一些相關的信息,具體字段信息如下表:名稱類型長度是否為空備注IDNUMBER9否主鍵RECOMMENDER_IDNUMBER9否外鍵LOGIN_NAMEVARCHAR30非空LOGIN_PASSWORDVARCHAR8非空STATUSCHAR1非空CREATE_DATEDATEPAUSE_DATEDATECLOSE_DATEDATEREAL_NAMEVARCHAR20非空IDCARD_NOCHAR18非空BIRTHDATEDATEGENDERCHAR1非空TELEPHONEVARCHAR15非空EMAILVARCHAR50QQCARCHAR15LAST_LOGIN_TIMEDATELAST_LOGIN_IPVARCHAR15SERVICE業(yè)務信息表,保存了一些業(yè)務相關的基礎信息,具體字段如下表:名稱類型長度是否為空備注IDNUMBER10非空主鍵ACCOUNT_IDNUMBER9非空外鍵UNIX_HOSTVARCHAR15非空OS_USERNAMEVARCHAR8非空LOGIN_PASSWORDVARCHAR8非空STATUSCHAR1非空CREATE_DATEDATEPAUSE_DATEDATECLOSE_DATEDATECOST_IDNUMBER4非空外鍵資費信息表(COST),保存了資費標準的一些基礎信息,具體字段如下表:名稱類型長度是否為空備注IDNUMBER4非空主鍵NAMEVARCHAR50非空BASE_DURATIONNUMBER11BASE_COSTNUMBER7UNIT_COSTNUMBER7STATUSCHAR1非空DESCRVARCHAR100CREATIMEDATESTARTIMEDATE賬單信息表(BILL),賬單的一些基礎信息,具體字段如下表:名稱類型長度是否為空備注IDNUMBER11非空主鍵ACCOUNT_IDNUMBER9非空外鍵BILL_MONTHCHAR6非空COSTNUMBER13PAYMENT_MODECHAR1PAY_STATECHAR1賬單條目條(BILL_ITEM),賬單條目的一些基礎信息,具體字段如下表:名稱類型長度是否為空備注ITEM_IDNUMBER11非空主鍵BILL_IDNUMBER11非空外鍵SERVICE_IDNUMBER10非空外鍵COSTNUMBER13業(yè)務更新備份表(SERVICE_BAK),更新業(yè)務記錄信息時,一些更新操作的信息,具體字段信息如下表:名稱類型長度是否為空備注IDNUMBER10非空主鍵SERVICE_IDBUNBER9非空外鍵COST_IDNUMBER4非空外鍵服務器信息表(HOST),服務器相關的一些基礎信息,具體字段如下表:名稱類型長度是否為空備注IDVARCHAR15非空主鍵NAMEVARCHAR20非空LOCATIONVARCHAR20數(shù)據(jù)庫物理數(shù)據(jù)模型以下是本系統(tǒng)的物理數(shù)據(jù)模型系統(tǒng)詳細設計這一節(jié)主要根據(jù)系統(tǒng)的每一個模塊來介紹整個系統(tǒng)的具體設計方案基礎信息登陸功能介紹本系統(tǒng)的登陸輸入賬號、密碼、驗證碼,js腳本會對輸入的三個信息進行合法性校驗,如果校驗不通過,則在界面顯示輸入錯誤的提示,否則提交數(shù)據(jù)到服務器端登陸判斷,在服務器端數(shù)據(jù)將交給LoginDaoImpl中的findByCodeAndPassword()方法進行驗證,在此方法中將查詢數(shù)據(jù)庫,檢查所錄入的賬號、密碼是否正確,如果正確就成功登陸,進入主頁,否則提示輸入的賬號或者密碼錯誤。系統(tǒng)中,賬號的登陸具有唯一性,也就是說在同一時間,不同地點只允許同一賬號登陸本系統(tǒng)。故而這里用到了過濾器,即每次如果沒有登陸而直接訪問系統(tǒng)的模塊的話,系統(tǒng)會通過struts中的配置文件檢查有沒有登陸,如果沒有登陸,則不能訪問,實現(xiàn)這段功能的代碼是LoginInterceptor.java。界面程序流程圖:核心代碼:erceptor;importjava.util.Map;importcom.opensymphony.xwork2.ActionInvocation;publicclassLoginInterceptor{ publicvoiddestroy(){ } publicvoidinit(){ } publicStringintercept(ActionInvocationai)throwsException{ //從session取出adminMap<String,Object>session=ai.getInvocationContext().getSession(); Objectadmin=session.get("admin"); //判斷admin是否為空 if(admin==null){ //為空,說明沒登陸過,那么轉到登陸頁面 return"login"; }else{ //不為空,說明登陸過了,可以調(diào)用Action returnai.invoke(); } }}主頁主頁是本系統(tǒng)的功能導航頁,顯示當前用戶可以操作的功能鏈接。根據(jù)登陸的用戶的權限不同,主頁上所顯示的功能模塊也各不相同,如果是超級管理員登陸,則可以操作本系統(tǒng)所有的功能模塊。修改密碼功能介紹用戶登錄后,可以修改個人的密碼。進入界面后,根據(jù)界面的提示按要求填入相應的信息,如果不按照要求填寫的話,那么合法性驗證將無法通過,合法性校驗通過后,數(shù)據(jù)提交到服務器端后,進行密碼的修改操作,如果成功,界面上會出現(xiàn)修改成功的提示,該提示3s后自動消失,如果失敗,界面上會出現(xiàn)修改錯誤的提示,該提示3s后也自動消失。界面程序流程圖個人信息用戶登錄成功后,可以查看自己的個人信息。修改個人信息用戶登錄后,可以修改自己的個人信息。修改個人信息類似于修改密碼,這里不再累述。角色管理角色瀏覽功能介紹具有“角色管理”權限的管理員登陸后,可以查看所有的角色信息,界面上將會分頁列出所有的角色信息,每頁顯示10條數(shù)據(jù),如果數(shù)據(jù)少于或者等于10條,則不顯示分頁的頁碼,如果數(shù)據(jù)多于10條,則顯示前10條數(shù)據(jù),當前頁碼為1,并且顯示其他所有的頁碼的鏈接。界面增加、刪除、修改角色功能介紹增加:具有“角色管理”權限的管理員登陸后,可以增加新角色,新加要給角色后,每一個角色至少選擇一個權限,并且角色名唯一,不能重復。刪除:具有“角色管理”權限的管理員登陸后,可以修改已有角色的數(shù)據(jù),其中包括該角色在系統(tǒng)中的訪問權限,可以操作的功能模塊等修改:具有“角色管理”權限的管理員登陸后,可以刪除已有的角色界面程序流程圖管理員管理員瀏覽功能介紹具有“管理員管理”權限的用戶登陸后,可以查看所有的用戶的信息界面上將會分頁列出所有的角色信息,每頁顯示10條數(shù)據(jù),如果數(shù)據(jù)少于或者等于10條,則不顯示分頁的頁碼,如果數(shù)據(jù)多于10條,則顯示前10條數(shù)據(jù),當前頁碼為1,并且顯示其他所有的頁碼的鏈接。界面查詢、刪除、增加、修改管理員功能介紹具有“管理員管理”權限的管理員登陸后:可以查詢管理員信息,也可以根據(jù)條件查詢,如角色名稱??梢詣h除已有的管理員??梢栽黾有碌慕巧?,管理員賬號唯一,并且至少擁有一個角色,也就是說至少能操作系統(tǒng)的一個功能模塊??梢孕薷囊延械墓芾韱T的信息,管理員賬號信息不能修改。界面增加界面:修改界面:程序流程圖管理員重置密碼具有“管理員管理”權限的管理員登陸后,可以為管理員重置密碼,過程類似于6.1.3基礎信息模塊中的修改密碼。資費管理資費編輯功能介紹具有“資費管理”權限的用戶登錄后,可以查看、修改、增加資費信息,查看資費信息時:界面上將會分頁列出所有的資費信息,每頁顯示10條數(shù)據(jù),如果數(shù)據(jù)少于或者等于10條,則不顯示分頁的頁碼,如果數(shù)據(jù)多于10條,則顯示前10條數(shù)據(jù),當前頁碼為1,并且顯示其他所有的頁碼的鏈接。界面核心代碼以下是資費分頁顯示的核心代碼://分頁查詢 publicList<Cost>findByPage(intpage,intpageSize)throwsDAOException{ List<Cost>list=null; Connectioncon=DBUtil.getConnection(); try{ PreparedStatementps=con.prepareStatement(findByPageSql); //小于下一頁的最小行 intnextMin=page*pageSize+1; //大于上一頁的最大行 intlastMax=(1)*pageSize; ps.setInt(1,nextMin); ps.setInt(2,lastMax); ResultSetrs=ps.executeQuery(); while(rs.next()){ Costc=createCost(rs); if(list==null) list=newArrayList<Cost>(); list.add(c); } }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("分頁查詢出現(xiàn)錯誤!",e); }finally{ DBUtil.closeConnection(); } returnlist; }分頁部分Jsp代碼:<!--分頁--> <divid="pages"> <s:iftest="page==1"> <ahref="#">上一頁</a> </s:if> <s:else> <ahref="findCost.action?page=<s:propertyvalue="1"/>">上一頁</a> </s:else> <s:iteratorbegin="1"end="totalPage"var="p"> <s:iftest="#p==page"> <ahref="findCost.action?page=<s:property/>"class="current_page"><s:property/> </a> </s:if> <s:else> <ahref="findCost.action?page=<s:property/>"><s:property/></a> </s:else> </s:iterator> <s:iftest="page==totalPage"> <ahref="#">下一頁</a> </s:if> <s:else> <ahref="findCost.action?page=<s:propertyvalue="page+1"/>">下一頁</a> </s:else> </div>以下是增加資費的核心代碼:publicvoidinsertCost(Costcost)throwsDAOException{ if(cost==null){ return; } Connectionconn=DBUtil.getConnection(); try{ PreparedStatementps=conn.prepareStatement(insertCostSql); System.out.println(cost.getName()); ps.setString(1,cost.getName()); ps.setObject(2,cost.getBaseDuration()); ps.setObject(3,cost.getBaseCost()); ps.setObject(4,cost.getUnitCost()); ps.setString(5,cost.getDescr()); ps.setString(6,cost.getCostType()); ps.executeUpdate(); }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("向cost表中插入一行數(shù)據(jù)時候出錯了!",e); }finally{ DBUtil.closeConnection(); } }啟用、暫停、刪除資費功能介紹具有“資費管理”權限的用戶登錄后,可以啟用、暫停、刪除資費,程序流程圖核心代碼以下是啟用資費的核心代碼:publicvoidstartById(intid)throwsDAOException{ Connectioncon=DBUtil.getConnection(); PreparedStatementps=null; ResultSetrs=null; intstatus=0; try{ ps=con.prepareStatement(searchStatusById); ps.setInt(1,id); rs=ps.executeQuery(); while(rs.next()){ status=Integer.parseInt(rs.getString(1)); System.out.println("查詢出來的status:"+status); } if(status==0){ Calendarcar=Calendar.getInstance(); Datedate=car.getTime(); SimpleDateFormatfdt=newSimpleDateFormat("yyyy-MM-dd"); Stringtime=fdt.format(date); ps=con.prepareStatement(startByIdsql2); ps.setInt(1,1); ps.setString(2,time); ps.setInt(3,id); }else{ ps=con.prepareStatement(startByIdSql); ps.setInt(1,0); ps.setInt(2,id); } ps.executeUpdate(); }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("啟用資費數(shù)據(jù)失??!",e); }finally{ DBUtil.closeConnection(); } }以下是刪除資費的核心代碼: privateStringdeleteByIdSql="deletefromCOSTwhereid=?"; publicvoiddeleteById(intid)throwsDAOException{ Connectioncon=DBUtil.getConnection(); try{ PreparedStatementps=con.prepareStatement(deleteByIdSql); ps.setInt(1,id); ps.executeUpdate(); }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("刪除資費數(shù)據(jù)失?。?,e); }finally{ DBUtil.closeConnection(); } }賬務賬號管理賬務賬號瀏覽功能介紹具有“賬務賬號管理”權限的用戶登錄后,瀏覽賬務賬號時:界面上將會分頁列出所有的賬務賬號信息,每頁顯示10條數(shù)據(jù),如果數(shù)據(jù)少于或者等于10條,則不顯示分頁的頁碼,如果數(shù)據(jù)多于10條,則顯示前10條數(shù)據(jù),當前頁碼為1,并且顯示與當前頁臨近的5個頁碼的鏈接界面開通、暫停、刪除功能介紹具有“賬務賬號管理”權限的用戶登錄后,可以開通、暫停、刪除賬務賬號。開通賬務賬號只能開通狀態(tài)為“暫?!钡馁~務賬號,開通某一個賬務賬號,不會同時開通其下屬的所有業(yè)務賬號,需要在“業(yè)務賬號”模塊中單獨操作,賬務賬號開通后,記載開通時間,且刪除該賬號的暫停時間。暫停賬務賬號只能暫停狀態(tài)為“開通”的賬務賬號,暫停該賬務賬號時,它下屬的所有業(yè)務賬號都會被暫停,執(zhí)行暫停操作時,記載該賬號的暫停時間。賬務賬號被刪除后,數(shù)據(jù)依然保留,狀態(tài)更改為“刪除”,并且記錄刪除時間,賬務賬號被刪除后,不能執(zhí)行開通、暫?;蛘咝薷?,刪除賬務賬號時,會刪除該賬務賬號下屬的所有業(yè)務賬號。系統(tǒng)流程圖查詢、增加、修改功能介紹具有“賬務賬號管理”權限的用戶登錄后可以根據(jù)查詢條件查詢賬務賬號相關信息,例如:身份證、姓名等,并選擇某種狀態(tài)“開通”、“暫?!钡?,如果數(shù)據(jù)庫中沒有查詢到相應的數(shù)據(jù),則界面只顯示相應的表頭。增加新的賬務賬號,其初始狀態(tài)為開通??梢孕薷囊延匈~務賬號的信息,其中,ID、登陸賬號、身份證、生日不能修改程序流程圖業(yè)務賬號管理業(yè)務賬號瀏覽具有“業(yè)務賬號管理”權限的用戶登錄后,可以瀏覽所有業(yè)務賬號的信息,界面上將會分頁列出所有的業(yè)務賬號信息,每頁顯示10條數(shù)據(jù),如果數(shù)據(jù)少于或者等于10條,則不顯示分頁的頁碼,如果數(shù)據(jù)多于10條,則顯示前10條數(shù)據(jù),當前頁碼為1,并且顯示與當前頁臨近的5個頁碼的鏈接業(yè)務賬號查詢、增加、修改功能介紹具有“業(yè)務賬號管理”權限的用戶登錄后:可以查詢業(yè)務賬號相關的信息,也可以根據(jù)查詢條件查詢相關數(shù)據(jù),,例如身份證號碼、OS賬號等,并選擇某種狀態(tài),例“開通”、“暫?!钡?。可以增加新的業(yè)務賬號,新創(chuàng)建的業(yè)務賬號為開通狀態(tài),狀態(tài)為“暫?!被颉皠h除”的賬務賬號,不能添加業(yè)務賬號,身份證號碼和賬務賬號必須匹配,同一服務器上的OS賬號必須唯一。可以修改已有的業(yè)務賬號信息,界面上有許多業(yè)務賬號的關鍵數(shù)據(jù),如:OS賬號,業(yè)務賬號ID,服務器IP及資費類型,其中只能修改資費類型,修改后的資費類型保存成功后,新的資費標準從下月生效。程序流程圖業(yè)務賬號暫停、開通、刪除功能介紹具有“業(yè)務賬號管理”權限的用戶登錄后:可以暫?!伴_通”狀態(tài)下的業(yè)務賬號,只能暫停狀態(tài)為“開通”的業(yè)務賬號,執(zhí)行暫停操作時,記錄該賬號的暫停時間。可以開通“暫?!睜顟B(tài)下的業(yè)務賬號,只能暫停狀態(tài)為“暫?!钡臉I(yè)務賬號,假使業(yè)務賬號所屬的賬務賬號狀態(tài)為暫?;蛘邉h除,則不能開通此業(yè)務賬號,開通操作后,記錄開通時間,并同時刪除該賬號的暫停時間??梢詣h除業(yè)務賬號,業(yè)務賬號刪除后,數(shù)據(jù)仍然保留,更改狀態(tài)為“刪除”,刪除狀態(tài)的業(yè)務賬號不能開通、暫停。程序流程圖賬單管理賬單瀏覽具有“賬單管理”權限的管理員登陸后,可以查看所有的賬單的數(shù)據(jù),界面上將會分頁列出所有的賬單信息,每頁顯示10條數(shù)據(jù),如果數(shù)據(jù)少于或者等于10條,則不顯示分頁的頁碼,如果數(shù)據(jù)多于10條,則顯示前10條數(shù)據(jù),當前頁碼為1,并且顯示與當前頁臨近的5個頁碼的鏈接,并且當月的賬單并不現(xiàn)實,賬單的支付狀態(tài)有兩種“已支付”、“未支付”。并且賬單的支付方式有:現(xiàn)金、轉賬、刷卡。查詢賬單功能介紹具有“賬單管理”權限的管理員登陸后,可以查詢賬單數(shù)據(jù)(只能查詢最近3年的賬單)。程序流程圖報表瀏覽報表功能介紹具有管理報表權限的管理員登陸后,界面上將會分頁列出客戶的報表信息,每頁顯示10條數(shù)據(jù),如果數(shù)據(jù)少于或者等于10條,則不顯示分頁的頁碼,如果數(shù)據(jù)多于10條,則顯示前10條數(shù)據(jù),當前頁碼為1,并且顯示與當前頁臨近的5個頁碼的鏈接,界面故障分析在配置系統(tǒng)環(huán)境、系統(tǒng)編碼工作時,碰到了許多問題,中途經(jīng)過了許多次的調(diào)試,以下列舉一些常見的并且重要的故障:java.lang.NullPointerExceptionNullPointerExcepiton是空指針異常,當一個引用沒有被賦值,就是一個空值。如果這種情況下,使用該引用調(diào)用其屬性或者方法,就會發(fā)生NullPointerException異常。在錄入系統(tǒng)時間時,因為Myeclipse時間格式與oracle時間的格式不一致,導致時間無法錄入。解決辦法:將Myclipse里面的Date類型時間使用oracle內(nèi)置函數(shù)to_date(‘’,‘yyyy-mm-dd’)。Oracle中,系統(tǒng)默認的時間格式不符合系統(tǒng)界面所顯示的時間格式。解決辦法:使用oracle中的內(nèi)置函數(shù)ALTERSESSIONSETNLS_DATE_FORMAT='yyyymmddhh24:mi:ss'將時間格式轉換一下。Therequestedresource(/TelecomSys/)isnotavailable解決辦法:工程中web.xml文件的</welcome-file-list>沒有配置好。在給Web工程添加Struts2支持后,由外部導入的包antlr.2.7.6.jar與Struts2自帶的包antlr.2.7.4.jar產(chǎn)生沖突,使程序無法運行。解決辦法:移除包antlr.2.7.4.jar,移除操作為:Windows-Preferences-Myeclipse-Projectcapabilities-Strust2,選中antlr.2.7.4.jar點擊右邊Remove按鈕。移除包后,重啟Myeclipse,并清除Myeclipse自帶的Tomcat中webapps文件夾和work文件夾下的項目部署文件,重新部署項目后問題解決。在jsp頁面中編寫JavaScript方法后,在按鈕事件中調(diào)用onClick=”returnxx();”時該語句報錯。解決辦法:去除對JavaScript的驗證。去除步驟為:Windows-Preferences-Myeclipse-validation,將JavaScriptvalidatorforJSfiles一行中Build勾去掉。用jdbc連接數(shù)據(jù)庫,進行數(shù)據(jù)庫操作時,顯示為指定標示錯誤。解決辦法:PrepareStatement中?號的個數(shù)必須和setObject(“”,””)指定的參數(shù)個數(shù)相同,Result
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)合集人事管理篇十篇
- 《證券交易流程》課件
- 《企業(yè)戰(zhàn)略管理》課件
- 新生引航共筑未來
- 學校三年級班主任工作總結5篇
- 2023年-2024年新員工入職安全教育培訓試題附答案(突破訓練)
- 大學畢業(yè)晚會策劃書合集15篇
- 2023年-2024年新入職員工安全教育培訓試題附下載答案可打印
- 2024員工三級安全培訓考試題(原創(chuàng)題)
- 保護環(huán)境的建議書(合集15篇)
- 英語-湖南省天一大聯(lián)考暨郴州市2025屆高考高三第二次教學質量檢測(郴州二檢懷化統(tǒng)考)試題和答案
- 【MOOC期末】《形勢與政策》(北京科技大學)期末慕課答案
- 營銷專業(yè)安全培訓
- 2024年度五星級酒店廚師團隊管理與服務合同3篇
- 2024年醫(yī)療健康知識科普視頻制作合同3篇
- 廣東省廣州市花都區(qū)2024年七年級上學期期末數(shù)學試題【附答案】
- 期末測試模擬練習 (含答案) 江蘇省蘇州市2024-2025學年統(tǒng)編版語文七年級上冊
- 上海市徐匯區(qū)2024-2025學年高一語文下學期期末試題含解析
- 安全風險隱患舉報獎勵制度
- 江蘇省蘇州市2023-2024學年高三上學期期末考試 數(shù)學 含答案
- 線性代數(shù)知到智慧樹章節(jié)測試課后答案2024年秋貴州理工學院
評論
0/150
提交評論