版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)基于三層結(jié)構(gòu)的bs模式的設(shè)備管理系統(tǒng)基于三層結(jié)構(gòu)的B/S模式的設(shè)備管理系統(tǒng)——用戶、部門、日志和系統(tǒng)維護(hù)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)科、專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)研究方向軟件開發(fā)摘要本文介紹的是設(shè)備管理系統(tǒng)的開發(fā)與設(shè)計(jì),系統(tǒng)采用B/S模式的三層結(jié)構(gòu),應(yīng)用Java的servlet技術(shù),因此有較高的安全性、擴(kuò)展性和可移植性。系統(tǒng)按照功能模塊劃分為設(shè)備管理維護(hù)模塊、部門管理維護(hù)模塊、用戶管理維護(hù)模塊、日志管理維護(hù)、系統(tǒng)維護(hù)模塊和查詢模塊。本文主要論述了系統(tǒng)中的用戶管理,部門管理,日志管理及系統(tǒng)維護(hù)模塊的設(shè)計(jì)及實(shí)現(xiàn)。部門管理采用二叉樹的數(shù)據(jù)結(jié)構(gòu)對(duì)部門樹形結(jié)構(gòu)進(jìn)行管理,保證系統(tǒng)部門間關(guān)系的正確。用戶管理維護(hù)是基于部門結(jié)構(gòu)對(duì)用戶進(jìn)行管理維護(hù),一個(gè)用戶可屬于多個(gè)部門。日志是記錄用戶使用系統(tǒng)的操作情況,日志的存儲(chǔ)采用觸發(fā)機(jī)制,系統(tǒng)維護(hù)是對(duì)系統(tǒng)數(shù)據(jù)庫的備份與恢復(fù),日志管理和系統(tǒng)維護(hù)保證了系統(tǒng)安全運(yùn)行。根據(jù)各功能模塊的特點(diǎn),采用Java面向?qū)ο蟮乃枷雽⒏髂K抽象為Java類。根據(jù)系統(tǒng)功能的需求,設(shè)計(jì)并實(shí)現(xiàn)相應(yīng)的功能接口。使得各功能模塊間相對(duì)獨(dú)立,保證系統(tǒng)的安全性、穩(wěn)定性和可擴(kuò)展性。關(guān)鍵字:B/S模式,三層結(jié)構(gòu),Java語言,servlet技術(shù),部門樹,觸發(fā)機(jī)制
AbstractThepaperhasintroducedthedevelopmentanddesignofDeviceManagementSystem.ThissystembaseontheBrowser/Servermodeltriple-layerstructureanduseservlettechnologyofjava,thereforethereishighersafety,expandabilityandportability.Accordingtothefunctionthesystemisdividedintofiveparts,whicharetheDeviceManagementModule,theDepartmentManagementModule,theUserManagementModule,theLogManagementModule,theSystemMaintenanceModuleandtheSearchmodule.ThemajorideaofthepaperisintroductionthatthedesignandrealizationoftheUserManagement,theDepartmentManagement,theLogManagementandtheDepartmentManagement.TheDepartmentManagementadoptsbinarytreestructuretomanagethestructureofdepartments,inordertoguaranteerelationamongdepartments.TheUserManagementbaseondepartment’sstructureandguaranteethatrelationofuseranddepartmentarecorrect.Logisusedtorecorduser’soperationinthesystem.ThelogsavingadoptTouchoffthemechanism.Thesystemmaintenanceistobackupthesystem’sdatabase,thelogmanagementandthesystemmaintenanceisusedtoguaranteesystemsafetymovement.Accordingtothecharacteristicofeveryfunctionmodule,abstractingeachfunctionmodelasclassbaseonJavaObjectOrientedthought.Accordingtotherequirementofthesystemfunction,designandrealizeeachfunctionmodel’sinterface.Thereforeeachfunctionmodelofsystemisindependenceandthesystemishighersafety,expandabilityandportability.Keyword:B/Smodel,triple-layerstructure,Javaprogramminglanguage,servlettechnology,departmenttree,touchoffthemechanism
目錄TOC\o"1-3"\h\z摘要 IAbstract II目錄 III1.系統(tǒng)概述 12.設(shè)備管理系統(tǒng)的設(shè)計(jì) 22.1系統(tǒng)整體設(shè)計(jì) 22.2部門管理維護(hù)的設(shè)計(jì) 42.2.1部門管理維護(hù)功能概述 42.2.2部門管理維護(hù)詳細(xì)設(shè)計(jì) 82.2.3.部門結(jié)構(gòu)與用戶維護(hù)管理間聯(lián)系的設(shè)計(jì)與實(shí)現(xiàn) 122.2.4.部門類接口算法設(shè)計(jì) 142.3用戶管理維護(hù)設(shè)計(jì) 202.3.1.用戶管理維護(hù)功能概述 202.3.2.用戶管理維護(hù)的詳細(xì)設(shè)計(jì) 222.4日志管理維護(hù)的設(shè)計(jì) 252.4.1系統(tǒng)日志管理維護(hù)功能概述 252.4.2.日志管理維護(hù)詳細(xì)設(shè)計(jì) 262.5系統(tǒng)維護(hù)的設(shè)計(jì) 282.5.1.系統(tǒng)維護(hù)功能概述 282.5.2.系統(tǒng)維護(hù)詳細(xì)設(shè)計(jì) 293.設(shè)備管理系統(tǒng)的實(shí)現(xiàn) 323.1部門管理維護(hù)模塊的實(shí)現(xiàn) 323.2.1查看部門信息功能實(shí)現(xiàn) 323.2.2添加部門功能實(shí)現(xiàn) 333.2.3修改部門功能實(shí)現(xiàn) 343.2.4刪除部門功能實(shí)現(xiàn) 353.2.5移動(dòng)/合并部門功能實(shí)現(xiàn) 363.2用戶管理維護(hù)模塊的實(shí)現(xiàn) 383.2.1用戶個(gè)人信息維護(hù)功能實(shí)現(xiàn) 383.2.2添加新用戶功能實(shí)現(xiàn) 393.2.3查看用戶信息功能實(shí)現(xiàn) 423.2.4修改用戶信息功能實(shí)現(xiàn) 433.2.5添加用戶到其他部門功能實(shí)現(xiàn) 443.2.6刪除用戶功能實(shí)現(xiàn) 463.3日志管理維護(hù)模塊的實(shí)現(xiàn) 473.3.1日志查詢功能實(shí)現(xiàn) 473.3.2日志刪除功能實(shí)現(xiàn) 483.4系統(tǒng)維護(hù)模塊的實(shí)現(xiàn) 503.4.1系統(tǒng)備份功能實(shí)現(xiàn) 503.4.2系統(tǒng)備份文件查看功能實(shí)現(xiàn) 513.4.3刪除備份文件功能實(shí)現(xiàn) 523.4.4還原備份文件功能實(shí)現(xiàn) 534.總結(jié) 554.1系統(tǒng)小結(jié) 554.2系統(tǒng)不足 554.3心得體會(huì) 55致謝 56參考文獻(xiàn) 57附錄:(類的函數(shù)清單) 58
1.系統(tǒng)概述當(dāng)前設(shè)備系統(tǒng)存在的主要問題是對(duì)設(shè)備的管理缺乏靈活性,對(duì)部門結(jié)構(gòu)與用戶權(quán)限的管理比較混亂,缺乏很好的安全性。由于當(dāng)前系統(tǒng)中設(shè)備屬性劃分固定,缺乏靈活性。當(dāng)設(shè)備屬性發(fā)生變化時(shí),就會(huì)出現(xiàn)類型不匹配的問題,在對(duì)設(shè)備進(jìn)行錄入,修改和查詢操作時(shí),會(huì)帶來諸多的不便。而且當(dāng)前系統(tǒng)中用戶權(quán)限和部門結(jié)構(gòu)的管理比較混亂,當(dāng)用戶所屬部門或部門結(jié)構(gòu)發(fā)生變化時(shí),例如某一用戶從一個(gè)部門調(diào)到另一部門,或系統(tǒng)部門中的某一部門新增加或刪除下級(jí)部門時(shí),這時(shí)對(duì)該部門設(shè)備和用戶權(quán)限的管理就比較混亂。除此之外,當(dāng)前系統(tǒng)還存在安全性的問題,如:系統(tǒng)的備份與還原,系統(tǒng)日志的記錄等。在功能上還缺乏對(duì)部門,用戶的維護(hù)操作功能,如:合并部門,移動(dòng)部門,將某部門用戶添加至其它部門等操作?;谙到y(tǒng)靈活性和安全性的考慮,系統(tǒng)構(gòu)建是基于B/S模式的三層結(jié)構(gòu),采用JAVA的servlet技術(shù)的設(shè)備管理系統(tǒng)。開發(fā)此系統(tǒng)的核心思想就是保證設(shè)備管理的靈活性和獨(dú)立性,系統(tǒng)運(yùn)行的安全性。系統(tǒng)中的所有設(shè)備的屬性均由用戶決定。即設(shè)備的結(jié)構(gòu)是隨著用戶的需求變化的,因此大大提高了系統(tǒng)對(duì)設(shè)備管理的靈活性。將不同類型的用戶分配不同的操作權(quán)限,并增加不同類型用戶的身份驗(yàn)證。當(dāng)用戶使用系統(tǒng)操作時(shí),將該用戶的操作情況記入日志,保證用戶能夠安全的使用系統(tǒng)。為保證系統(tǒng)的正常運(yùn)行,增加了對(duì)系統(tǒng)的維護(hù)功能:備份系統(tǒng)和還原系統(tǒng)。當(dāng)系統(tǒng)遇到問題時(shí),能夠及時(shí)恢復(fù)系統(tǒng)。為了很好的管理系統(tǒng)部門結(jié)構(gòu),還增加了對(duì)部門的合并和移動(dòng)操作,而且部門結(jié)構(gòu)發(fā)生變化時(shí),不會(huì)影響該部門的設(shè)備管理與維護(hù),因此可以很好地避免對(duì)于設(shè)備管理的混亂,保證設(shè)備管理的獨(dú)立性。而且出于系統(tǒng)的跨平臺(tái)性和安全性的考慮,本系統(tǒng)的開發(fā)采用Java的servlet技術(shù)。java語言是目前非常流行的一種面向?qū)ο蟮某绦蜷_發(fā)語言。servlet技術(shù)是其中非常重要的組成部分,是開發(fā)B/S模式系統(tǒng)的有力工具。使用servlet技術(shù)開發(fā)系統(tǒng),繼承了java的一貫風(fēng)格,不但效率高而且具有很高的安全可靠性。而后臺(tái)數(shù)據(jù)庫采用MicrosoftSQLServer數(shù)據(jù)庫,MicrosoftSQLServer數(shù)據(jù)庫是目前十分流行的數(shù)據(jù)庫管理系統(tǒng),不但有很高的安全性而且還具備十分強(qiáng)大的網(wǎng)絡(luò)功能。2.設(shè)備管理系統(tǒng)的設(shè)計(jì)本文只討論設(shè)備管理系統(tǒng)的部門、用戶、日志和系統(tǒng)維護(hù)部分的設(shè)計(jì)與實(shí)現(xiàn)。2.1系統(tǒng)整體設(shè)計(jì)本設(shè)備管理系統(tǒng)是基于Java的servlet技術(shù)的B/S模式的系統(tǒng)。從系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)來看,該系統(tǒng)可劃分為三個(gè)邏輯層:數(shù)據(jù)庫操作層,中間層以及頁面交互層。如下圖所示:采取這種三層結(jié)構(gòu)的好處在于:每一層都是相對(duì)獨(dú)立的,它們之間只能通過相應(yīng)的接口進(jìn)行通信,從而保證了系統(tǒng)的安全性和可擴(kuò)展性。當(dāng)其中一層的結(jié)構(gòu)發(fā)生變化時(shí),由于通信接口的統(tǒng)一不會(huì)影響到其它層次結(jié)構(gòu)。對(duì)于用戶來說只有頁面交互層是可見的,中間層和數(shù)據(jù)庫層對(duì)于用戶是透明的,這樣就提高了系統(tǒng)的安全性。頁面交互層:用戶通過頁面交互層完成對(duì)系統(tǒng)維護(hù)操作(如:設(shè)備管理維護(hù),用戶管理維護(hù),部門管理維護(hù)等等)。通過相應(yīng)的通信接口將用戶所要完成操作提交給中間層,由中間層完成相對(duì)應(yīng)的邏輯操作。中間層:中間層主要完成對(duì)相應(yīng)抽象類的邏輯操作和提供相應(yīng)的操作接口。通過相應(yīng)的通信接口提交給數(shù)據(jù)庫層,來完成對(duì)數(shù)據(jù)庫的相應(yīng)操作。數(shù)據(jù)庫操作層:數(shù)據(jù)庫操作層主要完成對(duì)數(shù)據(jù)庫的操作和提供相應(yīng)的對(duì)數(shù)據(jù)口修改的接口。數(shù)據(jù)庫層將從上層模塊獲得的數(shù)據(jù)進(jìn)行處理后修改相應(yīng)的數(shù)據(jù)庫信息,避免了上層各模塊直接對(duì)數(shù)據(jù)庫進(jìn)行操作,從而提高了系統(tǒng)的安全性。數(shù)據(jù)庫:底層數(shù)據(jù)庫主要用于存儲(chǔ)系統(tǒng)中設(shè)備,用戶,部門,日志的基本信息。使用的是SQLServer2000數(shù)據(jù)庫。SQLServer2000數(shù)據(jù)庫除了具有強(qiáng)大的存儲(chǔ)功能外,最重要的是其具有強(qiáng)大的管理功能。為數(shù)據(jù)的存儲(chǔ)及管理提供了強(qiáng)大的數(shù)據(jù)支持。本系統(tǒng)從功能上分為:設(shè)備管理維護(hù)模塊,用戶管理維護(hù)模塊,部門管理維護(hù)模塊,日志管理維護(hù)模塊,系統(tǒng)維護(hù)模塊,查詢功能模塊。如下圖所示。設(shè)備管理維護(hù)模塊:維護(hù)操作包括對(duì)設(shè)備管理維護(hù)和對(duì)設(shè)備屬性的管理維護(hù);設(shè)備信息管理維護(hù)提供對(duì)設(shè)備信息的添加、查詢、修改及刪除。設(shè)備屬性的管理維護(hù)提供對(duì)設(shè)備屬性的添加、查詢、修改及刪除。用戶管理維護(hù)模塊:是基于部門結(jié)構(gòu)對(duì)某部門用戶進(jìn)行管理維護(hù),保證用戶與部門所屬關(guān)系的正確。維護(hù)操作包括對(duì)用戶的添加、修改、按部門查詢、刪除及添加到其它部門的操作。用戶管理維護(hù)是基于部門的管理維護(hù),主要是對(duì)用戶權(quán)限、所屬部門、用戶名及用戶密碼的管理維護(hù)。部門管理維護(hù)模塊:部門的管理維護(hù)是對(duì)部門樹型結(jié)構(gòu)的管理維護(hù),保證系統(tǒng)部門間關(guān)系的正確。維護(hù)操作包括對(duì)部門的添加、修改、刪除、移動(dòng)和合并操作。日志管理維護(hù)模塊:日志是記錄用戶使用系統(tǒng)進(jìn)行操作的情況,保證用戶能夠安全,合理的使用系統(tǒng),日志的存儲(chǔ)采用觸發(fā)機(jī)制。維護(hù)操作包括對(duì)日志的查詢及刪除,查詢分為按日期查詢、按操作類型查詢、按設(shè)備ID查詢、按未經(jīng)批準(zhǔn)操作查詢和默認(rèn)查詢。刪除包括按日志ID刪除和按日期刪除。系統(tǒng)維護(hù)模塊:是對(duì)系統(tǒng)數(shù)據(jù)庫的備份與恢復(fù)和備份文件的管理維護(hù),在系統(tǒng)遇到問題時(shí)能夠及時(shí)恢復(fù),保證系統(tǒng)的正常運(yùn)行。維護(hù)操作包括備份系統(tǒng),還原系統(tǒng)和備份文件的查詢,刪除。備份文件是對(duì)系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)備份和數(shù)據(jù)庫日志備份。查詢功能模塊:該模塊的提供對(duì)設(shè)備信息進(jìn)行復(fù)雜邏輯查詢的功能,保證用戶能夠查詢到準(zhǔn)確的設(shè)備信息。根據(jù)系統(tǒng)功能模塊的劃分,將各層按功能細(xì)分如下圖所示2.2部門管理維護(hù)的設(shè)計(jì)2.2.1部門管理維護(hù)功能概述系統(tǒng)中部門管理主要是對(duì)系統(tǒng)部門樹形結(jié)構(gòu)的管理維護(hù),其次是對(duì)部門基本信息的管理維護(hù)。其中對(duì)部門結(jié)構(gòu)的維護(hù)包括:添加新部門,刪除部門,移動(dòng)部門和合并部門;對(duì)部門基本信息的維護(hù)包括:修改部門信息。部門結(jié)構(gòu)的管理維護(hù)在整個(gè)系統(tǒng)中起到十分關(guān)鍵的作用,因?yàn)橄到y(tǒng)中的設(shè)備管理,用戶管理和日志管理都是基于部門結(jié)構(gòu)的。系統(tǒng)部門結(jié)構(gòu)示意圖(圖1):圖1系統(tǒng)部門結(jié)構(gòu)示意圖部門1:為系統(tǒng)中部門樹的根部門。部門5,部門6,部門7,部門8,部門9,部門10:為系統(tǒng)中部門樹的葉子節(jié)點(diǎn)。部門信息管理維護(hù)功能包括:添加新部門:添加新部門到操作用戶所管轄部門樹中的某一部門下級(jí)(如圖2,3所示)。圖2添加新部門前操作用戶所管轄部門樹示意圖圖3添加新部門后操作用戶所管轄部門樹示意圖修改部門信息:修改操作用戶所管轄部門樹中的某部門的名稱。移動(dòng)部門:將操作用戶所管轄部門樹中的某部門及其下級(jí)所有部門移動(dòng)到操作用戶所管轄部門樹中的另一部門的下級(jí)。除整個(gè)系統(tǒng)部門樹的根部門以外所有部門都可執(zhí)行該操作。(如圖4,5所示)圖4移動(dòng)前操作用戶所管轄部門樹示意圖圖5移動(dòng)后操作用戶所管轄部門樹示意圖合并部門:將操作用戶所管轄部門樹中的某部門的用戶和設(shè)備合并到操作用戶所管轄部門樹中的另一部門中,并將合并部門下級(jí)部門移動(dòng)到目的部門的下級(jí),然后刪除合并部門。除整個(gè)系統(tǒng)部門樹的根部門以外所有的部門都可執(zhí)行該操作。(如圖6,7所示)圖6合并前操作用戶所管轄部門樹示意圖圖7合并后操作用戶所管轄部門樹示意圖刪除部門:刪除操作用戶所管轄部門樹中的某一葉子節(jié)點(diǎn)部門。(如圖8,9所示)圖8刪除前操作用戶所管轄部門樹示意圖圖9刪除后操作用戶所管轄部門樹示意圖查看部門信息:列出操作用戶所管轄部門樹中的所有部門信息和所屬部門的部門結(jié)構(gòu)。普通用戶只能查看其所在部門的部門結(jié)構(gòu)。添加新部門,修改部門信息,移動(dòng)部門,合并部門,刪除部門功能只限于系統(tǒng)管理員和部門高級(jí)用戶2.2.2部門管理維護(hù)詳細(xì)設(shè)計(jì)部門類詳細(xì)設(shè)計(jì)根據(jù)部門管理維護(hù)功能的需求和部門結(jié)構(gòu)的特點(diǎn),將部門信息維護(hù)抽象為類。部門類主要負(fù)責(zé)維護(hù)管理系統(tǒng)中部門樹的結(jié)構(gòu)和記錄部門的基本信息,為該系統(tǒng)的部門管理維護(hù)和其它功能模塊提供相應(yīng)的接口。目的是為了保證系統(tǒng)中部門結(jié)構(gòu)的準(zhǔn)確,保證部門與用戶之間的聯(lián)系簡單,清楚,安全,合理。本系統(tǒng)中部門類采用二叉樹結(jié)構(gòu)表示系統(tǒng)中部門樹的結(jié)構(gòu),主要負(fù)責(zé)對(duì)部門結(jié)構(gòu)和信息的管理維護(hù),為其它功能模塊提供相應(yīng)的接口。1).部門類屬性設(shè)計(jì):部門類屬性用于記錄系統(tǒng)部門的基本信息,是以二叉樹形式表示部門的樹形結(jié)構(gòu)。部門ID(DepID):部門唯一標(biāo)識(shí)(主索引)。表示與數(shù)據(jù)庫中的部門信息之間的聯(lián)系。部門名稱(DepName):系統(tǒng)中部門的名稱標(biāo)識(shí)。直接上級(jí)部門ID(SuperID):該部門的直接上級(jí)部門ID。根部門的直接上級(jí)部門ID屬性為-1。二叉樹的左孩子(ChildDep):該部門下級(jí)部門子樹的根節(jié)點(diǎn),該類型為部門類對(duì)象。葉子節(jié)點(diǎn)的下級(jí)部門子樹的根節(jié)點(diǎn)為null。二叉樹的右孩子(BrotherDep):該部門兄弟部門子樹的根節(jié)點(diǎn),該類型為部門類對(duì)象。如果該部門沒有直接右兄弟部門,則該屬性為null。部門類屬性列表屬性名屬性標(biāo)識(shí)屬性類型部門IDDepIDint部門名稱DepNameString直接上級(jí)部門IDSuperIDint該部門下級(jí)部門子樹的根節(jié)點(diǎn)(二叉樹的左孩子)ChildDepDepartment該部門兄弟部門子樹的根節(jié)點(diǎn)(二叉樹的右孩子)BrotherDepDepartment舉例說明圖10系統(tǒng)部門樹結(jié)構(gòu)如圖10所示:根部門:直接上級(jí)部門ID(SuperID)屬性為-1。該部門下級(jí)部門子樹的根節(jié)點(diǎn)(左孩子)ChildDep屬性為1級(jí)部門1的部門類對(duì)象。該部門兄弟部門子樹的根節(jié)點(diǎn)(右孩子)BrotherDep屬性為null。1級(jí)部門1:直接上級(jí)部門ID(SuperID)屬性為根部門ID該部門下級(jí)部門子樹的根節(jié)點(diǎn)(左孩子)ChildDep屬性為2級(jí)部門1的部門類對(duì)象。該部門兄弟部門子樹的根節(jié)點(diǎn)(右孩子)BrotherDep屬性為1級(jí)部門2的部門類對(duì)象。2級(jí)部門5:直接上級(jí)部門ID(SuperID)屬性為1級(jí)部門3的ID該部門下級(jí)部門子樹的根節(jié)點(diǎn)(左孩子)ChildDep屬性為null。該部門兄弟部門子樹的根節(jié)點(diǎn)(右孩子)BrotherDep屬性為2級(jí)部門6的部門類對(duì)象。以二叉樹形式表示為圖11圖112).部門類功能接口設(shè)計(jì)部門類接口主要分為:用戶信息維護(hù)接口和為其它功能模塊提供的接口。部門信息維護(hù)接口是為了實(shí)現(xiàn)部門信息和結(jié)構(gòu)的管理維護(hù)功能。為其它功能模塊提供的接口是根據(jù)其它模塊的需求提供相應(yīng)的功能,主要為用戶管理維護(hù)模塊提供接口。如圖12所示圖12部門信息維護(hù)接口添加新部門接口:將新部門對(duì)象信息寫入數(shù)據(jù)庫中。添加部門時(shí)調(diào)用。更新部門信息接口:根據(jù)部門類對(duì)象更新該對(duì)象在數(shù)據(jù)庫中的基本信息。修改部門信息時(shí)調(diào)用。移動(dòng)部門接口:根據(jù)移動(dòng)部門ID和移動(dòng)目的部門ID,將移動(dòng)部門對(duì)象的直接上級(jí)部門域的值設(shè)置為移動(dòng)目的部門ID,調(diào)用更新部門信息接口更新該移動(dòng)部門對(duì)象在數(shù)據(jù)庫中的信息。移動(dòng)部門時(shí)調(diào)用。合并部門接口:根據(jù)合并部門ID和目的部門ID,將合并部門的設(shè)備和用戶合并到目的部門,將合并部門的所有直接下級(jí)部門移動(dòng)到目的部門的下級(jí),然后刪除合并部門信息。合并部門時(shí)調(diào)用。刪除部門接口:根據(jù)部門類對(duì)象刪除該部門在數(shù)據(jù)庫中的基本信息,刪除部門時(shí)調(diào)用。獲得用戶所能管轄部門樹接口:通過用戶ID獲得該用戶所能管轄的部門樹,根據(jù)用戶所屬部門ID循環(huán)調(diào)用根據(jù)部門ID獲得部門樹接口實(shí)現(xiàn)。查看部門信息,添加新用戶和設(shè)備查詢時(shí)調(diào)用。為其它功能模塊提供的接口根據(jù)部門ID獲得部門類對(duì)象接口:通過部門ID獲得該部門類用戶對(duì)象。修改部門,刪除部門時(shí)調(diào)用。獲得某部門直接下級(jí)部門ID數(shù)組:通過部門ID獲得該部門直接下級(jí)部門ID數(shù)組。獲得用戶所能操作的所有部門ID和獲得某部門所有下級(jí)部門ID時(shí)調(diào)用。獲得某一部門的所有下級(jí)部門ID:根據(jù)部門ID獲得該部門下級(jí)所有部門ID,遞歸調(diào)用獲得某部門直接下級(jí)部門ID數(shù)組接口實(shí)現(xiàn)。查詢?nèi)罩緯r(shí)調(diào)用。獲得用戶所能操作的所有部門ID:通過用戶ID獲得該用戶所能操作的部門ID,根據(jù)用戶所屬部門ID循環(huán)調(diào)用獲得某一部門的所用下級(jí)部門ID接口實(shí)現(xiàn)。設(shè)備維護(hù)時(shí)調(diào)用。獲得某部門直接下級(jí)部門對(duì)象數(shù)組:通過部門ID獲得該部門直接下級(jí)部門對(duì)象數(shù)組。查詢用戶信息和獲得部門樹時(shí)調(diào)用。獲得某部門所有下級(jí)部門ID:根據(jù)部門ID獲得該部門所有下級(jí)部門ID數(shù)組。獲得用戶所能管理部門ID時(shí)調(diào)用。根據(jù)部門ID獲得部門樹接口:根據(jù)部門ID某部門一概部門為根節(jié)點(diǎn)的部門樹。獲得用戶所能操作的部門樹時(shí)調(diào)用。獲得能夠添加用戶到其它部門的部門樹:根據(jù)操作用戶所屬部門ID和添加用戶所屬部門ID獲得能夠添加到的部門樹。添加用戶到其它部門時(shí)調(diào)用。獲得移動(dòng)部門能夠移動(dòng)到的部門樹:根據(jù)操作用戶所屬部門ID和移動(dòng)部門ID獲得能夠移到的部門樹。移動(dòng)部門時(shí)調(diào)用。獲得合并部門能夠合并到的部門樹:根據(jù)操作用戶所屬部門ID和合并部門ID獲得能夠合并到的部門樹。移動(dòng)部門時(shí)調(diào)用。獲得根部門到某部門的樹結(jié)構(gòu):根據(jù)部門ID獲得根部門到該部門的樹形結(jié)構(gòu)。查看部門和用戶信息時(shí)調(diào)用。設(shè)置部門基本信息接口:通過部門類對(duì)象設(shè)置該對(duì)象的基本信息。數(shù)據(jù)庫層調(diào)用。獲得部門類對(duì)象的基本信息接口:通過部門類對(duì)象獲得該對(duì)象的基本信息。查看部門基本信息時(shí)調(diào)用。判斷該部門是否存在子部門接口:判斷該對(duì)象是否存在子部門。如果沒有子部門,則允許刪除該部門。查看部門信息時(shí)調(diào)用。判斷系統(tǒng)根部門是否存在接口:判斷系統(tǒng)部門樹的根部門是否存在,如果不存在,則允許添加系統(tǒng)根部門。系統(tǒng)初始化時(shí)調(diào)用。獲得批準(zhǔn)部門ID:根據(jù)當(dāng)前部門ID和操作用戶所屬部門ID獲得批準(zhǔn)部門ID,寫日志時(shí)需調(diào)用該接口獲得批準(zhǔn)部門ID。部門類與部門維護(hù)數(shù)據(jù)庫操作類之間的接口調(diào)用如圖13所示。圖13部門類與部門維護(hù)數(shù)據(jù)庫操作類之間的接口調(diào)用關(guān)系2.2.3.部門結(jié)構(gòu)與用戶維護(hù)管理間聯(lián)系的設(shè)計(jì)與實(shí)現(xiàn)用戶維護(hù)管理是基于部門結(jié)構(gòu)的用戶管理,因此部門結(jié)構(gòu)與用戶維護(hù)管理間的聯(lián)系十分重要。要求用戶管理維護(hù)部分能夠簡單的調(diào)用獲得部門結(jié)構(gòu)的接口。1).獲得用戶所能管轄部門樹根據(jù)用戶ID獲得該用戶所能管轄的部門,使用該接口的用戶類型為系統(tǒng)管理員和部門高級(jí)用戶,系統(tǒng)管理員通過該接口獲得管轄部門樹為整個(gè)系統(tǒng)部門樹。如圖14所示。圖14用戶所屬部門示意圖系統(tǒng)管理員1獲得的管轄部門樹為整個(gè)系統(tǒng)部門樹。部門高級(jí)用戶1屬于部門2和部門4。他所管轄部門為:部門2及其下級(jí)所有部門和部門4及其下級(jí)所用部門,要獲得它所管轄部門樹,則需將以部門2和部門4為根的子樹合并為一棵樹。獲得管轄部門樹,如圖15,16所示。圖15部門高級(jí)用戶1管轄部門樹圖16部門高級(jí)用戶1管轄部門樹二叉樹形式2).獲得操作用戶能夠添加用戶到其它部門的部門樹根據(jù)操作用戶所屬部門ID和添加用戶所屬部門ID獲得能夠添加到的部門樹,保證添加用戶所屬的多個(gè)部門不在同一部門子樹上。如果操作用戶為系統(tǒng)管理員,則獲得能夠添加用戶到其它部門的部門樹為整個(gè)系統(tǒng)部門樹,除了以添加用戶所屬部門為根節(jié)點(diǎn)的部門子樹。以圖19為例,系統(tǒng)管理員1要將部門高級(jí)用戶1添加到其它部門。則系統(tǒng)管理員1所獲得的添加用戶到其它部門的部門樹為以部門3為根節(jié)點(diǎn)的部門子樹(如圖17所示)。圖17如果操作用戶為部門高級(jí)用戶,則獲得能夠添加用戶到其它部門的部門樹為該部門高級(jí)用戶所管轄部門樹,除了以添加用戶所屬部門為根節(jié)點(diǎn)的部門子樹。以圖19為例,部門高級(jí)用戶員1要將普通用戶1添加到其它部門。則部門高級(jí)用戶1所獲得的添加用戶到其它部門的部門樹為以部門2,部門6,部門4,部門8,部門9,部門10組成的部門樹(如圖18所示)。圖182.2.4.部門類接口算法設(shè)計(jì)1).獲得用戶所能操作的所有部門ID接口的算法設(shè)計(jì)根據(jù)用戶所屬部門ID循環(huán)調(diào)用獲得某一部門的所用下級(jí)部門ID接口實(shí)現(xiàn)。算法描述:VectorallDepID;用于存放用戶所能操作的所有部門ID的向量.int[]UserDepID;調(diào)用用戶類接口通過用戶ID獲得該用戶所屬部門ID數(shù)組。for(intI=0;I<UserDepID.length;I++){調(diào)用部門類接口獲得根據(jù)UserDepID[i]獲得其直接下級(jí)所有部門ID并將其放入向量allDepID中.}2).獲得某部門所有下級(jí)部門ID根據(jù)部門ID獲得該部門所有下級(jí)部門ID向量。算法描述:Vectorvector;用于存放下級(jí)部門ID。Integer[]childID;調(diào)用部門類根據(jù)該部門ID獲得該部門直接下級(jí)部門ID數(shù)組。if(childID.length!=0)判斷該部門是否存在子部門。{如果存在子部門。for(intj=0;j<childID.length;j++){vector.add(childID[j]);將下級(jí)部門ID加入向量中。遞歸調(diào)用此接口,然后將childID[j]的下級(jí)部門ID加入到vector中;}}3).根據(jù)部門ID獲得部門樹接口根據(jù)部門ID遞歸調(diào)用該接口獲得該部門以該部門直接下級(jí)部門為根的部門樹,然后將下級(jí)子部門樹的森林組成完整部門樹。算法描述:Department[]childdDep;調(diào)用部門類接口根據(jù)部門ID獲得該部門直接下級(jí)部門對(duì)象數(shù)組。if(subdep.length!=0)判斷該是否存在子部門。{如果存在子部門;for(intj=0;j<childDep.length;j++){遞歸調(diào)用此接口,根據(jù)childDep[j]的ID獲得該部門以該部門直接下級(jí)部門為根的部門樹的部門樹。}}將該部門和其直接下級(jí)部門為根的部門樹的森林合并為一棵完整部門二叉樹。舉例說明:如圖19所示圖19部門結(jié)構(gòu)圖通過該接口獲得以部門4為根的部門樹。先獲得以部門4的直接下級(jí)為根的部門樹的森林,如圖20所示。圖20以部門4的直接下級(jí)為根的部門樹的森林然后將部門4和他下級(jí)部門子樹的森林合并成一棵以部門4為根節(jié)點(diǎn)部門二叉樹,如圖21所示。圖21以部門4為根的部門二叉樹4).獲得用戶所能管轄部門樹接口根據(jù)用戶ID獲得該用戶所能管轄的部門,使用該接口的用戶類型為系統(tǒng)管理員和部門高級(jí)用戶,系統(tǒng)管理員通過該接口獲得管轄部門樹為整個(gè)系統(tǒng)部門樹。算法描述:int[]UserdepID;通過用戶類接口獲得該用戶所屬部門ID數(shù)組。for(inti=0;i<UserdepID.length;i++){調(diào)用部門類接口,根據(jù)用戶所屬部門ID獲得以該部門為根節(jié)點(diǎn)的部門樹。}如果用戶所屬于多個(gè)部門時(shí),則將其所屬部門的森林合并成一棵二叉樹。舉例說明:圖22所示,獲得部門高級(jí)用戶1管轄部門樹。圖22用戶所屬部門示意圖調(diào)用部門類根據(jù)部門ID獲得部門樹接口,根據(jù)用戶所屬部門ID獲得以該部門為根節(jié)點(diǎn)的部門樹的森林。如圖23所示圖23部門高級(jí)用戶1管轄部門樹森林然后將部門高級(jí)用戶1所屬部門樹的森林合并成一棵部門二叉樹,如圖24所示。圖24部門高級(jí)用戶1管轄部門樹5).獲得操作用戶能夠添加用戶到其它部門的部門樹根據(jù)操作用戶所屬部門ID和添加用戶所屬部門ID獲得能夠添加到的部門樹,保證添加用戶所屬的多個(gè)部門不在同一部門子樹上。算法描述:mverUserDepID移動(dòng)用戶所屬部門ID數(shù)組UserDepID操作用戶所屬部門ID數(shù)組for(intj=0;j<moveUserDepID.length;j++){if(UserDepID[i]!=moveUserDepID[j])判斷移動(dòng)用戶所屬部門ID與操作用戶所屬部門是否相等{若不相等,調(diào)用部門類根據(jù)部門ID(UserDepID[i])和添加用戶所屬部門ID獲得以該部門為根節(jié)點(diǎn)的添加用戶到其它部門子樹.}然后將添加部門子樹的森林合并為一棵部門二叉樹。排除該二叉樹上引起添加用戶所屬部門在同一棵部門子樹上的部門。說明:根據(jù)部門ID和添加用戶所屬部門ID獲得以該部門為根節(jié)點(diǎn)的添加用戶到其它部門子樹.該算法與本算法基本一致。不同點(diǎn)在于:當(dāng)移動(dòng)用戶所屬部門ID與調(diào)用部門類接口通過參數(shù)部門ID獲得該部門的直接下級(jí)部門ID不等時(shí),則遞歸調(diào)用自己。舉例說明:以圖22為例,部門高級(jí)用戶1將普通用戶1添加到其它部門。調(diào)用部門類接口獲得以部門高級(jí)用戶1,獲得以部門高級(jí)用戶所屬部門為根節(jié)點(diǎn)的添加用戶到其它部門的部門樹,如圖25所示。圖25然后排除該二叉樹上引起添加用戶所屬部門在同一棵部門子樹上的部門,應(yīng)排除部門2。如圖26所示。圖266).獲得移動(dòng)部門能夠移動(dòng)到的部門樹根據(jù)操作用戶所屬部門ID和移動(dòng)部門ID獲得能夠移動(dòng)到的部門樹。算法描述:int[]UserDepID;操作用戶所屬部門ID數(shù)組intmoveDepID;移動(dòng)部門IDfor(inti=0;i<UserDepID.length;i++){if(UserDepID[i]!=moveDepID)判斷用戶所屬部門ID與移動(dòng)部門ID是否相等{若不等,則調(diào)用部門類的根據(jù)部門ID獲得以該部門為根節(jié)點(diǎn)能夠移動(dòng)到的部門子樹。}如果操作用戶所屬與多個(gè)部門,則將能夠移動(dòng)到的部門子樹的森林合并為一棵部門二叉樹說明:根據(jù)部門ID和移動(dòng)部門ID獲得以該部門為根節(jié)點(diǎn)的能夠移動(dòng)到的部門子樹.該算法與本算法基本一致。不同點(diǎn)在于:當(dāng)移動(dòng)部門與調(diào)用部門類接口通過參數(shù)部門ID獲得該部門的直接下級(jí)部門ID不等時(shí),則遞歸調(diào)用自己。舉例說明:如圖22所示,部門高級(jí)用戶1移動(dòng)部門5.獲得可移動(dòng)到部門的部門樹(如圖27所示)圖27部門5移動(dòng)到部門的部門樹7).獲得合并部門能夠合并到的部門樹根據(jù)操作用戶所屬部門ID和合并部門ID獲得能夠合并到的部門樹。算法描述:該算法與獲得移動(dòng)部門能夠移動(dòng)到的部門樹的算法一樣。只是比較用戶所屬部門ID與移動(dòng)部門ID是否相等。舉例說明:如圖22所示,部門高級(jí)用戶1合并部門8。獲得可移動(dòng)到部門的部門樹(如圖33所示)圖28部門8合并到部門的部門樹8).獲得根部門到某部門的樹結(jié)構(gòu)根據(jù)部門ID獲得根部門到該部門的樹形結(jié)構(gòu)。算法描述:VectordepObject;用于存放部門節(jié)點(diǎn)的向量。Departmentdep;通過該部門ID獲得該部門對(duì)象。intsuper_dep_id=dep.getSuperID();獲得該部門上級(jí)部門ID。while(super_dep_id!=-1)遍歷到根部門時(shí),退出循環(huán)。{Departmentsuper_dep;通過部門類接口根據(jù)上級(jí)部門ID獲得該部門上級(jí)部門對(duì)象。depObject.add(super_dep); 將該對(duì)象反向存入向量depObject中。super_dep_id=super_dep.getSuperID();獲得該部門上級(jí)部門ID。}然后,反向取出向量中節(jié)點(diǎn),將各部門節(jié)點(diǎn)組成部門樹。舉例說明:如圖22所示,獲得部門5到根部門的樹形結(jié)構(gòu)。通過該接口執(zhí)行過程為:先獲得部門5到根部門的節(jié)點(diǎn)反向放入向量中(如圖29所示)。圖29將部門節(jié)點(diǎn)反向放入向量然后從向量中反向取出各節(jié)點(diǎn),將各節(jié)點(diǎn)合并成一棵部門樹(如圖30所示)。圖30將各節(jié)點(diǎn)合并為部門樹2.3用戶管理維護(hù)設(shè)計(jì)2.3.1.用戶管理維護(hù)功能概述系統(tǒng)中的用戶管理維護(hù)是基于部門結(jié)構(gòu)對(duì)某部門的用戶進(jìn)行管理和維護(hù)(如圖31所示),因此部門與用戶之間的聯(lián)系非常緊密。系統(tǒng)中用戶根據(jù)不同類型分為:系統(tǒng)管理員,部門高級(jí)用戶,普通用戶三類;其中普通用戶具有對(duì)設(shè)備維護(hù)的不同權(quán)限。系統(tǒng)中任何用戶都必須所屬于一個(gè)或多個(gè)部門;所屬多個(gè)部門時(shí),不允許多個(gè)部門所屬于同一棵部門子樹。圖31部門用戶結(jié)構(gòu)圖以用戶5為例,用戶5所屬部門子樹如圖32所示。用戶5的所屬部門不在一棵部門子樹上。圖32用戶5所屬部門樹當(dāng)用戶所屬多個(gè)部門時(shí),不允許出現(xiàn)以下這種情況,如圖33所示。用戶所屬的多個(gè)部不允許在同一棵部門子樹上。圖33所屬多個(gè)部門不能在同一棵部門子樹上用戶信息維護(hù)功能包括:用戶登陸驗(yàn)證:用戶登錄系統(tǒng)時(shí),驗(yàn)證該登錄用戶是否為系統(tǒng)合法用戶。用戶個(gè)人信息維護(hù):修改用戶的個(gè)人用戶名和個(gè)人密碼添加新用戶到某部門:根據(jù)操作用戶所能管轄部門,為該操作用戶管轄部門中的某一部門添加新用戶。按部門結(jié)構(gòu)查看用戶信息:根據(jù)操作用戶所能管轄部門,查看該操作用戶管轄部門中某一部門的所有用戶。刪除某部門用戶:根據(jù)操作用戶所能管轄部門,刪除該操作用戶管轄部門中某一部門的某個(gè)用戶。修改某部門用戶信息:根據(jù)操作用戶所能管轄部門,修改該操作用戶管轄部門中某一部門的某個(gè)用戶。將某部門用戶添加到其它部門:根據(jù)操作用戶所能管轄部門,將該操作用戶管轄部門中某一部門的某個(gè)用戶添加到該操作用戶所管轄的其它部門中;保證添加用戶所屬的多個(gè)部門不在同一部門子樹上。其中添加新用戶,刪除用戶,修改用戶信息和將某部門用戶添加到其它部門操作只限于系統(tǒng)管理員和部門高級(jí)用戶。任何系統(tǒng)用戶都能進(jìn)行個(gè)人信息維護(hù)。2.3.2.用戶管理維護(hù)的詳細(xì)設(shè)計(jì)用戶類詳細(xì)設(shè)計(jì)根據(jù)用戶管理維護(hù)功能的需求和用戶信息的特點(diǎn),將用戶信息管理維護(hù)抽象為類。用戶類主要負(fù)責(zé)維護(hù)管理系統(tǒng)用戶信息,為該系統(tǒng)的用戶信息管理維護(hù)和其它功能模塊提供相應(yīng)的接口。目的是為了保證用戶能夠安全,合法的使用系統(tǒng)。1).用戶類屬性設(shè)計(jì):用戶類屬性用于記錄系統(tǒng)用戶的基本信息。用戶ID:用戶唯一標(biāo)識(shí)(主索引)。表示與數(shù)據(jù)庫中用戶信息之間的聯(lián)系。用戶名:用戶使用系統(tǒng)時(shí)的名稱標(biāo)識(shí)。用戶密碼:登錄系統(tǒng)時(shí)所需的密碼。保證用戶合法的登陸和使用設(shè)備管理系統(tǒng)。用戶類型:分為系統(tǒng)管理員,部門高級(jí)用戶及普通用戶。用以區(qū)分不同類型用戶的操作權(quán)限。1>.系統(tǒng)管理員擁有系統(tǒng)最高權(quán)限,可對(duì)整個(gè)系統(tǒng)進(jìn)行操作維護(hù)。包括:用戶,部門,設(shè)備,日志信息的管理維護(hù)和系統(tǒng)的維護(hù)。2>.部門高級(jí)用戶只能對(duì)其管轄部門的用戶,部門和設(shè)備進(jìn)行維護(hù)。部門高級(jí)用戶的權(quán)限由系統(tǒng)管理員指定。3>.普通用戶對(duì)所在部門設(shè)備具有一定的操作維護(hù)權(quán)限,只能查看所在部門的部門結(jié)構(gòu)和進(jìn)行個(gè)人信息維護(hù)。普通用戶權(quán)限由其所在部門的高級(jí)用戶指定。普通用戶權(quán)限:用以區(qū)分普通用戶對(duì)設(shè)備維護(hù)操作權(quán)限。權(quán)限0:查詢,瀏覽.低權(quán)限1:查詢,瀏覽,打印權(quán)限2:查詢,瀏覽,修改權(quán)限3:查詢,瀏覽,打印,修改權(quán)限4:查詢,瀏覽,打印,修改,添加高所屬部門ID:用戶所屬部門ID,表示用戶與部門之間的聯(lián)系。一個(gè)用戶可屬于多個(gè)部門;屬于多個(gè)部門時(shí),不允許多個(gè)部門在同一棵部門子樹上。系統(tǒng)管理員只能屬于系統(tǒng)部門樹的根部門,不能屬于其它部門。用戶類屬性列表屬性名屬性標(biāo)識(shí)屬性類型用戶IDUserIDint用戶名UserNameString用戶密碼UserPasswordString用戶類型UserTypeint用戶權(quán)限UserLevelint用戶所屬部門IDDepartmentIDInt[]用戶類型權(quán)限列表用戶類型UserType權(quán)限UserLevel名稱表示操作說明表示系統(tǒng)管理員0系統(tǒng)管理員用戶擁有系統(tǒng)最高權(quán)限,對(duì)整個(gè)系統(tǒng)系統(tǒng)進(jìn)行維護(hù)(用戶的管理維護(hù),部門的管理維護(hù),設(shè)備的管理維護(hù),日志的管理維護(hù),系統(tǒng)的備份/還原)。0部門高級(jí)用戶1部門高級(jí)用戶只能對(duì)其管轄部門和該部門的用戶和設(shè)備進(jìn)行維護(hù)。0普通用戶2普通用戶只能進(jìn)行個(gè)人信息維護(hù),查看所在部門的結(jié)構(gòu),可以查詢,瀏覽該部門的設(shè)備信息0普通用戶只能進(jìn)行個(gè)人信息維護(hù),查看所在部門的結(jié)構(gòu),可以查詢,瀏覽,打印該部門的設(shè)備信息1普通用戶只能進(jìn)行個(gè)人信息維護(hù),查看所在部門的結(jié)構(gòu),可以查詢,瀏覽,修改該部門的設(shè)備信息2普通用戶只能進(jìn)行個(gè)人信息維護(hù),查看所在部門的結(jié)構(gòu),可以查詢,瀏覽,打印,修改該部門的設(shè)備信息3普通用戶只能進(jìn)行個(gè)人信息維護(hù),查看所在部門的結(jié)構(gòu),可以查詢,瀏覽,打印,修改,添加該部門的設(shè)備信息42).用戶類功能接口設(shè)計(jì)用戶類接口主要分為:用戶信息維護(hù)接口和為其它功能模塊提供的接口。用戶信息維護(hù)接口是為了實(shí)現(xiàn)用戶信息維護(hù)功能。為其它功能模塊提供的接口是根據(jù)其它模塊的需求提供相應(yīng)的功能。用戶類接口示意圖(圖34)圖34用戶信息維護(hù)接口:1>.用戶登錄驗(yàn)證接口:用戶進(jìn)入系統(tǒng)時(shí)驗(yàn)證該登錄用戶是否為系統(tǒng)合法用戶,調(diào)用用戶維護(hù)數(shù)據(jù)庫操作類接口,檢測登錄用戶在數(shù)據(jù)庫中的用戶信息標(biāo)中是否存在。用戶登陸系統(tǒng)時(shí)調(diào)用。2>.修改個(gè)人用戶名接口:通過用戶類對(duì)象修改該對(duì)象的用戶名屬性。用戶個(gè)人信息維護(hù)時(shí)調(diào)用。3>.修改個(gè)人密碼接口:通過用戶類對(duì)象修改該對(duì)象的個(gè)人密碼。用戶個(gè)人信息維護(hù)時(shí)調(diào)用。4>.添加新用戶接口:將添加新用戶的用戶類對(duì)象的基本信息寫入數(shù)據(jù)庫中。添加新用戶時(shí)調(diào)用。5>.獲得某部門所有用戶接口:根據(jù)部門ID獲得該部門的所有用戶。根據(jù)部門結(jié)構(gòu)查看用戶時(shí)調(diào)用該接口。6>.刪除部門用戶接口:根據(jù)刪除用戶ID和該用戶所屬部門ID刪除該部門用戶,根據(jù)部門結(jié)構(gòu)刪除用戶時(shí)調(diào)用。7>.修改部門用戶信息接口:根據(jù)修改用戶ID修改該用戶對(duì)象的基本信息,調(diào)用用戶信息更新接口更新該用戶在數(shù)據(jù)庫中的基本信息。修改用戶信息時(shí)調(diào)用。8>.用戶信息更新接口:調(diào)用用戶維護(hù)數(shù)據(jù)庫操作類接口,修改該對(duì)象在數(shù)據(jù)庫中的基本信息。9>.添加用戶到其它部門接口:根據(jù)添加用戶ID和添加部門ID添加用戶到該部門。添加用戶到其它部門時(shí)調(diào)用。為其它功能模塊提供的接口:1>.用戶合法性驗(yàn)證接口:驗(yàn)證該用戶是否是合法登錄用戶。系統(tǒng)中每個(gè)頁面均調(diào)用該接口。2>.通過用戶ID獲得用戶類對(duì)象接口:通過用戶ID獲得該用戶類對(duì)象。驗(yàn)證用戶類型和權(quán)限時(shí)調(diào)用。3>.設(shè)置用戶基本信息接口:通過用戶類對(duì)象設(shè)置該對(duì)象的基本信息。數(shù)據(jù)庫層調(diào)用。4>.獲得用戶基本信息接口:通過用戶類對(duì)象獲得該對(duì)象的基本信息。查看用戶基本信息時(shí)調(diào)用。用戶類與用戶維護(hù)數(shù)據(jù)庫操作類之間的關(guān)系:如圖35所示。圖35用戶類與用戶維護(hù)數(shù)據(jù)庫操作類之間的關(guān)系圖2.4日志管理維護(hù)的設(shè)計(jì)2.4.1系統(tǒng)日志管理維護(hù)功能概述系統(tǒng)日志是用來記錄系統(tǒng)中的用戶在系統(tǒng)中進(jìn)行了哪些操作。當(dāng)出現(xiàn)問題時(shí),系統(tǒng)管理員可以及時(shí)發(fā)現(xiàn)和處理。日志寫入采用觸發(fā)機(jī)制,當(dāng)用戶執(zhí)行系統(tǒng)維護(hù)操作或?qū)υO(shè)備維護(hù)操作時(shí),系統(tǒng)則自動(dòng)寫入日志。日志的操作類型分為系統(tǒng)操作和設(shè)備操作。系統(tǒng)維護(hù)操作包括對(duì)用戶,部門的維護(hù)操作;設(shè)備維護(hù)操作包括對(duì)設(shè)備和設(shè)備屬性的維護(hù)操作。操作如圖36所示。系統(tǒng)日志記錄信息包括:操作用戶ID、操作用戶所屬部門ID、執(zhí)行操作的時(shí)間、批準(zhǔn)用戶操作的部門ID(必需經(jīng)上級(jí)批準(zhǔn),可跨級(jí))、操作類型(設(shè)備操作和系統(tǒng)操作)、對(duì)設(shè)備的操作應(yīng)記錄操作設(shè)備ID和具體操作內(nèi)容。圖36日志觸發(fā)機(jī)制示意圖日志管理維護(hù)功能包括:按日期查詢?nèi)罩荆翰樵兡骋粫r(shí)間段內(nèi)的所有日志。按日志類型查詢?nèi)罩荆焊鶕?jù)日志類型查詢該類型的所有日志。按設(shè)備ID查詢?nèi)罩荆焊鶕?jù)設(shè)備ID查詢所有與該設(shè)備有關(guān)的操作日志。查看未經(jīng)批準(zhǔn)日志:查看不是該操作用戶所在部門批準(zhǔn)的所有日志。默認(rèn)查詢?nèi)罩荆翰榭丛摬僮饔脩艄茌牪块T的所有日志。按日期刪除日志:刪除某一時(shí)間段內(nèi)的所有日志。按日志ID刪除日志:根據(jù)日志ID刪除該日志。日志信息查詢只限系統(tǒng)管理員和部門高級(jí)用戶,刪除日志只限系統(tǒng)管理員。2.4.2.日志管理維護(hù)詳細(xì)設(shè)計(jì)日志類詳細(xì)設(shè)計(jì)根據(jù)日志管理維護(hù)功能的需求和日志信息的特點(diǎn),將日志信息管理維護(hù)抽象為類。日志類主要負(fù)責(zé)維護(hù)管理系統(tǒng)日志信息,為該系統(tǒng)的日志信息管理維護(hù)和其它功能模塊提供相應(yīng)的接口。目的是為了保證系統(tǒng)使用的安全性。1).日志類屬性設(shè)計(jì)日志類屬性用于記錄系統(tǒng)日志的基本信息。日志ID:日志唯一標(biāo)識(shí),為主索引。作為由數(shù)據(jù)庫中日志信息的聯(lián)系。操作時(shí)間:生成日志時(shí)間。用戶ID:操作用戶ID。所屬部門ID:操作用戶所屬部門ID。批準(zhǔn)部門ID:批準(zhǔn)用戶操作的部門ID。操作類型:操作用戶所執(zhí)行的操作的類型(1為設(shè)備操作,0為系統(tǒng)操作)。對(duì)部門和用戶的操作為系統(tǒng)操作,對(duì)設(shè)備的操作為設(shè)備操作。設(shè)備ID:操作用戶進(jìn)行設(shè)備操作的設(shè)備ID。具體操作:用戶所執(zhí)行的具體操作內(nèi)容。日志類屬性列表屬性名屬性標(biāo)識(shí)屬性類型說明日志IDLogIDInt日志唯一標(biāo)識(shí),系統(tǒng)自動(dòng)生成操作時(shí)間LogDatelong生成日志時(shí)間用戶IDUserIDInt進(jìn)行操作的用戶ID所屬部門IDAttachDepIDInt用戶所屬部門批準(zhǔn)部門IDConfirmDepIDInt批準(zhǔn)用戶操作的部門ID操作類型OperationTypeInt0為系統(tǒng)操作,1為設(shè)備操作設(shè)備IDDeviceIDInt用戶進(jìn)行設(shè)備操作的設(shè)備ID;如果操作類型為0,則DeviceID為-1具體操作OperationString用戶所執(zhí)行的具體操作2).日志類接口設(shè)計(jì)日志類接口主要分為:日志信息維護(hù)接口和為其它功能模塊提供的接口。日志信息維護(hù)接口是為了實(shí)現(xiàn)日志信息維護(hù)功能。為其它功能模塊提供的接口是根據(jù)其它模塊的需求提供相應(yīng)的功能。如圖37所示。圖37日志類接口示意圖日志維護(hù)接口按日期查詢?nèi)罩窘涌冢焊鶕?jù)查詢?nèi)掌诓榭床僮饔脩羲茌牪块T日志操作日期在查詢?nèi)掌诜秶鷥?nèi)的所有日志。按日期查詢?nèi)罩緯r(shí)調(diào)用。按操作類型查詢?nèi)罩窘涌冢焊鶕?jù)查詢操作類型查看操作用戶所管轄部門日志類型為查詢操作類型的所有日志。按操作類型查詢?nèi)罩緯r(shí)調(diào)用。按設(shè)備ID查詢?nèi)罩窘涌冢焊鶕?jù)查詢設(shè)備ID查看操作用戶所管轄部門設(shè)備操作日志中操作設(shè)備ID為用戶提交的設(shè)備ID的所有日志。查看未經(jīng)批準(zhǔn)日志接口:查看操作用戶所管轄部門日志不是該用戶所屬部門批準(zhǔn)的所有日志。默認(rèn)查詢接口:查看操作用戶所管轄部門的所有部門日志。按日志ID刪除日志接口:根據(jù)日志ID刪除日志。按日期刪除日志接口:刪除日志操作日期在用戶提交日期內(nèi)的所有日志。為其它功能模塊提供的接口保存日志接口:將日志類對(duì)象的基本信息保存在數(shù)據(jù)庫中。對(duì)設(shè)備信息、部門、用戶信息進(jìn)行操作時(shí)都應(yīng)調(diào)用該接口保存操作日志。獲得最早日志日期接口:通過該接口獲得庫中日志的最早記錄日志的日期。按日期查詢?nèi)罩緯r(shí)調(diào)用。設(shè)置日志基本信息接口:通過日志類對(duì)象設(shè)置該對(duì)象的基本信息。數(shù)據(jù)庫層調(diào)用。獲得日志基本信息接口:通過用戶類對(duì)象獲得該對(duì)象的基本信息。查看日志信息時(shí)調(diào)用。日志類與日志維護(hù)數(shù)據(jù)庫操作類之間的接口調(diào)用如圖38所示。圖38日志類與日志維護(hù)數(shù)據(jù)庫操作類之間的接口調(diào)用關(guān)系2.5系統(tǒng)維護(hù)的設(shè)計(jì)2.5.1.系統(tǒng)維護(hù)功能概述為了對(duì)系統(tǒng)進(jìn)行初始化和增強(qiáng)系統(tǒng)的安全性,防止系統(tǒng)數(shù)據(jù)意外的被破壞或丟失,需要對(duì)系統(tǒng)進(jìn)行備份。系統(tǒng)備份采用磁盤備份方式,將備份數(shù)據(jù)存放在服務(wù)器端的磁盤上。備份分為兩種:對(duì)數(shù)據(jù)庫數(shù)據(jù)的備份和對(duì)數(shù)據(jù)庫日志的備份。系統(tǒng)備份只允許系統(tǒng)管理員進(jìn)行操作,他可以對(duì)系統(tǒng)備份文件進(jìn)行維護(hù)管理。可以刪除不需要的文件或選擇適當(dāng)?shù)奈募M(jìn)行系統(tǒng)恢復(fù)。系統(tǒng)維護(hù)功能包括:系統(tǒng)初始化:添加系統(tǒng)中部門樹的根部門,初始化設(shè)備屬性和設(shè)備信息表。(添加系統(tǒng)根部門可調(diào)用部門類接口實(shí)現(xiàn),初始化設(shè)備屬性和設(shè)備信息表可調(diào)用設(shè)別類和設(shè)備屬性類相應(yīng)的接口實(shí)現(xiàn))系統(tǒng)備份:選擇備份類型備份系統(tǒng)數(shù)據(jù)庫中的文件,備份類型分為:數(shù)據(jù)庫數(shù)據(jù)的備份和數(shù)據(jù)庫日志的備份。按備份類型查看備份文件信息:選擇備份文件類型查看備份文件信息。還原備份文件:選擇的備份文件恢復(fù)系統(tǒng)數(shù)據(jù)庫。刪除備份文件:選擇備份文件刪除該文件。系統(tǒng)維護(hù)操作只限于系統(tǒng)管理員使用2.5.2.系統(tǒng)維護(hù)詳細(xì)設(shè)計(jì)系統(tǒng)維護(hù)類詳細(xì)設(shè)計(jì)根據(jù)系統(tǒng)維護(hù)功能的需求和備份文件信息的特點(diǎn),將系統(tǒng)維護(hù)抽象為類。系統(tǒng)初始化功能可以調(diào)用部門類,設(shè)備類和設(shè)備屬性類的接口實(shí)現(xiàn),所以系統(tǒng)維護(hù)類不考慮系統(tǒng)初始化接口的設(shè)計(jì)與實(shí)現(xiàn),而主要負(fù)責(zé)維護(hù)管理系統(tǒng)備份文件信息,為系統(tǒng)備份文件維護(hù)提供功能接口。目的是為了保證系統(tǒng)使用的安全性,可靠性。1).系統(tǒng)維護(hù)類屬性設(shè)計(jì)系統(tǒng)維護(hù)類屬性用于記錄系統(tǒng)備份文件的基本信息。系統(tǒng)備份文件ID:備份文件ID唯一標(biāo)識(shí),為主索引。表示與數(shù)據(jù)庫中備份文件信息的聯(lián)系。生成備份文件時(shí)間:備份文件生成時(shí)間。備份文件邏輯名:備份文件的邏輯名。備份文件物理名:備份文件的物理名。系統(tǒng)備份文件類型:系統(tǒng)備份文件類型(0為數(shù)據(jù)庫備份,1為日志備份)。系統(tǒng)維護(hù)類屬性列表屬性名屬性標(biāo)識(shí)屬性類型說明系統(tǒng)備份文件IDBackupFileIDInt備份文件ID唯一標(biāo)識(shí),為主索引。生成備份文件時(shí)間BackupDateLong生成備份文件的時(shí)間。。備份文件邏輯名FileLogicalNameString備份文件的邏輯名。備份文件物理名FilePhisicalNameString備份文件的物理名。系統(tǒng)備份文件類型BackupTypeDString系統(tǒng)備份文件類型(0為數(shù)據(jù)庫備份,1為日志備份)。2).系統(tǒng)維護(hù)類接口設(shè)計(jì)系統(tǒng)維護(hù)類接口是為了實(shí)現(xiàn)系統(tǒng)備份文件的管理和維護(hù),系統(tǒng)數(shù)據(jù)庫備份和還原功能和為系統(tǒng)維護(hù)數(shù)據(jù)庫操作類提供接口。如圖39所示。圖39系統(tǒng)維護(hù)類接口示意圖系統(tǒng)維護(hù)功能接口系統(tǒng)備份接口:根據(jù)系統(tǒng)維護(hù)類對(duì)象的備份文件類型備份系統(tǒng)數(shù)據(jù)庫信息,包括日志備份和數(shù)據(jù)庫備份。系統(tǒng)備份時(shí)調(diào)用該接口。系統(tǒng)還原接口:根據(jù)該對(duì)象的備份文件ID還原系統(tǒng)。系統(tǒng)還原時(shí)調(diào)用該接口。按備份文件類型查詢備份文件接口:根據(jù)備份文件類型,獲得該類型的所有備份文件。按操作類型查看備份文件時(shí)調(diào)用。刪除備份文件接口:根據(jù)備份文件ID刪除該備份文件。刪除備份文件時(shí)調(diào)用該接口。為其它功能接口設(shè)置系統(tǒng)維護(hù)類對(duì)象基本信息接口:通過系統(tǒng)維護(hù)類對(duì)象設(shè)置該對(duì)象的基本信息。數(shù)據(jù)庫層調(diào)用。獲得系統(tǒng)維護(hù)類對(duì)象基本信息接口:通過系統(tǒng)維護(hù)類對(duì)象獲得該對(duì)象的基本信息。查看備份文件信息時(shí)調(diào)用。獲得系統(tǒng)維護(hù)類對(duì)象接口:通過備份文件ID獲得該系統(tǒng)維護(hù)類對(duì)象。系統(tǒng)還原時(shí)調(diào)用該接口。系統(tǒng)維護(hù)類與系統(tǒng)維護(hù)數(shù)據(jù)庫操作類之間的接口調(diào)用如圖40所示。圖40系統(tǒng)維護(hù)類與系統(tǒng)維護(hù)數(shù)據(jù)庫操作類之間的接口調(diào)用關(guān)系3.設(shè)備管理系統(tǒng)的實(shí)現(xiàn)3.1部門管理維護(hù)模塊的實(shí)現(xiàn)3.2.1查看部門信息功能實(shí)現(xiàn)通過部門類接口獲得操作用戶所管轄部門。普通用戶只列出從根部門到用戶所屬部門的結(jié)構(gòu)。系統(tǒng)管理員和部門高級(jí)用戶則可以對(duì)其管轄部門進(jìn)行部門維護(hù)操作。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。如圖41所示。圖41查看部門信息頁面該流程如圖42所示。圖42查看部門信息流程圖3.2.2添加部門功能實(shí)現(xiàn)從查看部門信息頁面獲得添加部門的上級(jí)部門ID,列出需要填寫的部門信息。填寫后通過post方法將部門基本信息提交給添加部門處理頁面。通過部門類構(gòu)造函數(shù)構(gòu)造出部門類對(duì)象,調(diào)用部門類添加部門接口,將該對(duì)象寫入數(shù)據(jù)庫中(不允許部門名稱重復(fù),如果重名則拋出異常)。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖43。圖43添加部門流程3.2.3修改部門功能實(shí)現(xiàn)從查看部門信息頁面獲得要修改部門的ID,在修改部門信息頁面修改部門基本信息,修改后通過post方法將的修改后的部門信息和部門ID提交給修改部門處理頁面。調(diào)用部門類接口完成對(duì)部門的修改(不允許部門名稱重復(fù),如果重名則拋出異常),再調(diào)用部門類的接口,更新數(shù)據(jù)庫中的該部門信息。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖44所示。圖44修改部門流程圖3.2.4刪除部門功能實(shí)現(xiàn)從查看部門信息頁面獲得要?jiǎng)h除部門的ID,通過部門類接口獲得該部門類對(duì)象,調(diào)用部門類的刪除部門接口將該對(duì)象從數(shù)據(jù)庫中刪除,如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖45所示。圖45刪除部門流程3.2.5移動(dòng)/合并部門功能實(shí)現(xiàn)合并部門與移動(dòng)部門的流程和操作頁面基本一致。從查看部門信息頁面獲得移動(dòng)/合并部門的ID,通過部門類能夠移動(dòng)/合并到部門的部門樹。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。如果沒有異常,則遍歷該部門樹,列出所有能移動(dòng)/合并到的部門的信息(如圖46所示)。操作用戶選擇要移動(dòng)/合并到的部門,通過get方法將要移動(dòng)/合并的部門ID和目的部門ID傳給移動(dòng)/合并部門處理頁面。根據(jù)移動(dòng)/合并部門ID和目的部門ID調(diào)用部門類的移動(dòng)/合并部門接口,完成對(duì)部門的移動(dòng)/合并操作。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。圖46所有能移動(dòng)到的部門的信息該流程如圖47所示。圖47移動(dòng)部門流程3.2用戶管理維護(hù)模塊的實(shí)現(xiàn)3.2.1用戶個(gè)人信息維護(hù)功能實(shí)現(xiàn)用戶個(gè)人信息維護(hù)包括:個(gè)人用戶名修改和個(gè)人密碼修改。用戶名修改:在個(gè)人信息維護(hù)頁面輸入該用戶的新用戶名,提交給修改用戶名處理頁面處理。從Session中取出用戶ID獲得該用戶類的對(duì)象,調(diào)用用戶類接口(不允許用戶名重復(fù),如果重名則拋出異常)更新該用戶在數(shù)據(jù)庫中信息。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到錯(cuò)誤頁面。用戶密碼修改:在個(gè)人信息維護(hù)頁面輸入該用戶的原密碼,新密碼和確認(rèn)碼,提交給修改個(gè)人密碼處理頁面。從Session中取出用戶ID獲得該用戶類對(duì)象,調(diào)用用戶類接口修改該用戶密碼,然后更新該用戶在數(shù)據(jù)庫中信息。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面,將錯(cuò)誤信息顯示出來。個(gè)人信息維護(hù)流程,如圖48示圖48個(gè)人信息維護(hù)流程圖3.2.2添加新用戶功能實(shí)現(xiàn)系統(tǒng)管理員和部門高級(jí)用戶為其管轄部門添加新用戶。列出操作用戶所管轄部門列表,從中選擇添加新用戶的所屬部門,通過get方法將所選部門ID提交給填寫新用戶信息頁面。如果不是系統(tǒng)管理員或部門高級(jí)用戶,則不允許操作。該頁面如圖49示。圖49選擇添加用戶所屬部門頁面填寫新用戶信息,填寫后通過post方法將填寫的新用戶信息提交給添加用戶處理頁面,調(diào)用用戶類接口將新用戶添加到數(shù)據(jù)庫中。該流程如圖50所示。圖50添加用戶流程圖3.2.3查看用戶信息功能實(shí)現(xiàn)系統(tǒng)管理員和部門高級(jí)用戶查看用戶信息。根據(jù)操作用戶所能查看的部門列出各部門用戶列表(如圖51所示),供操作用戶進(jìn)行查看和選擇相應(yīng)的操作(修改,刪除,將該用戶添加到其他部門),選擇相應(yīng)操縱后,通過get方法將被選用戶ID提交給相應(yīng)操作的頁面(修改,刪除,將該用戶添加到其他部門的處理頁面)。圖51查看用戶信息頁面查看用戶信息流程如圖52所示。圖52查看用戶信息流程3.2.4修改用戶信息功能實(shí)現(xiàn)系統(tǒng)管理員和部門高級(jí)用戶修改用戶信息。從查看用戶信息頁面獲得修改用戶ID和修改用戶所在部門ID,根據(jù)操作用戶類型,可以修改的用戶權(quán)限和用戶基本信息,通過post方法將修改的用戶信息提交給用戶信息修改處理頁面。調(diào)用用戶類接口完成對(duì)用戶信息的修改(不允許用戶名重復(fù),如果重名則拋出異常)。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖53所示。圖53修改用戶信息流程3.2.5添加用戶到其他部門功能實(shí)現(xiàn)系統(tǒng)管理員和部門高級(jí)用戶可將管轄部門用戶添加到其他部門調(diào)用部門類接口根據(jù)操作用戶和添加用戶所屬部門ID列出所能添加到的部門(如圖53),選擇添加部門后,通過get方法將所選部門ID和需要添加用戶ID提交給處理頁面。調(diào)用用戶類接口根據(jù)添加部門ID和添加用戶的ID,將該用戶添加到其他部門。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖54所示。圖53列出能添加到的部門圖54添加用戶到其他部門流程3.2.6刪除用戶功能實(shí)現(xiàn)從查看用戶信息頁面獲得要?jiǎng)h除用戶的ID和該用戶所屬部門ID,調(diào)用用戶類接口將該用戶從該部門刪除。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖55所示。圖55刪除用戶流程3.3日志管理維護(hù)模塊的實(shí)現(xiàn)3.3.1日志查詢功能實(shí)現(xiàn)列出所有查詢?nèi)罩痉绞剑喊慈掌诓樵?,按日志類型查詢,按設(shè)備ID查詢,按未經(jīng)批準(zhǔn)日志查詢,默認(rèn)查詢。用戶選擇后post到相應(yīng)的查詢頁面。該流程如圖56所示。圖56查詢?nèi)罩玖鞒?.3.2日志刪除功能實(shí)現(xiàn)日志刪除分為按日志ID刪除和按日期刪除。按日志ID刪除:獲得從查看日志頁面(按日期查詢?nèi)罩荆丛O(shè)備ID查詢?nèi)罩?,按日志類型查詢?nèi)罩?,按未?jīng)批準(zhǔn)查詢?nèi)罩荆J(rèn)查詢?nèi)罩荆┩ㄟ^get方法傳刪除日志ID,根據(jù)日志ID調(diào)用日志類的刪除日志接口完成刪除操作。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖57所示。圖57按日志ID刪除按日期刪除日志:在選擇刪除日志日期頁面選擇要?jiǎng)h除的日期(起始日期和終止日期)。選擇后post到按日期刪除日志頁面,獲得刪除日期(起始日期和終止日期)。調(diào)用日志類接口刪除從起始日期到終止日期的所有日志。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。如圖58所示。圖58按日期刪除日志流程3.4系統(tǒng)維護(hù)模塊的實(shí)現(xiàn)3.4.1系統(tǒng)備份功能實(shí)現(xiàn)在填寫備份文件信息頁面選擇備份類型,填寫備份文件名稱。通過post方法將備份文件基本信息傳給系統(tǒng)備份處理頁面。獲得備份文件基本信息,通過系統(tǒng)維護(hù)類構(gòu)造函數(shù)生成對(duì)象,調(diào)用該對(duì)象的系統(tǒng)備份接口,完成對(duì)系統(tǒng)的備份。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖59所示。圖59系統(tǒng)備份流程3.4.2系統(tǒng)備份文件查看功能實(shí)現(xiàn)在選擇查看備份文件類型頁面選擇查詢類型。通過post方法將備份文件類型傳給按備份文件類型查看備份文件頁面,獲得要查詢備份文件類型。調(diào)用系統(tǒng)維護(hù)類接口通過備份文件類型獲得該類型的所有備份文件。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖60。圖60日志查看流程3.4.3刪除備份文件功能實(shí)現(xiàn)從按備份文件類型查看備份文件頁面獲得刪除備份文件ID,調(diào)用系統(tǒng)維護(hù)類接口根據(jù)備份文件ID刪除該備份文件。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖61所示。圖61刪除備份文件流程3.4.4還原備份文件功能實(shí)現(xiàn)從按備份文件類型查看備份文件頁面獲得還原備份文件ID,通過系統(tǒng)維護(hù)類接口通過備份文件ID獲得該系統(tǒng)維護(hù)類對(duì)象,調(diào)用該對(duì)象的系統(tǒng)還原接口,完成系統(tǒng)還原操作。如果拋出異常,則將錯(cuò)誤信息寫入Session,然后重定向到error錯(cuò)誤頁面。該流程如圖62所示。圖62還原備份文件流程4.總結(jié)4.1系統(tǒng)小結(jié)本系統(tǒng)實(shí)現(xiàn)了對(duì)設(shè)備管理的靈活性和安全性,提高了設(shè)備管理的工作效率。系統(tǒng)共分為六大模塊:設(shè)備管理模塊、用戶管理模塊、部門管理模塊、日志管理模塊、系統(tǒng)維護(hù)模塊和查詢模塊。本文重點(diǎn)討論了部門管理模塊、用戶管理模塊、日志管理模塊及系統(tǒng)維護(hù)模塊。對(duì)部門管理采用二叉樹結(jié)構(gòu),使部門間關(guān)系的表示更加有條理性,便于對(duì)部門結(jié)構(gòu)的管理。用戶管理基于部門結(jié)構(gòu),使用戶與部門間關(guān)系更加清晰。并且提高了對(duì)用戶權(quán)限的限制,保證了系統(tǒng)的安全使用。日志記錄采用觸發(fā)機(jī)制,記錄用戶在系統(tǒng)中的操作情況,使系統(tǒng)的使用更加安全。系統(tǒng)備份與還原保證系統(tǒng)的可恢復(fù)性。對(duì)于部門管理模塊、用戶管理模塊、日志管理模塊及系統(tǒng)維護(hù)模塊功能的實(shí)現(xiàn)共使用了4個(gè)java類,110個(gè)接口,共七千余行代碼。經(jīng)過測試本系統(tǒng)功能基本達(dá)到了預(yù)期的要求,由此證明了解決問題思路的正確性。4.2系統(tǒng)不足用戶管理維護(hù)中刪除用戶操作的不足:如果將一個(gè)所屬于多個(gè)部門的用戶從系統(tǒng)中刪除,則需要在其所屬部門中重復(fù)刪除該用戶。用戶類型與權(quán)限管理維護(hù)的不足:系統(tǒng)中沒有對(duì)用戶類型和權(quán)限的維護(hù)管理,如果系統(tǒng)中增加一個(gè)類型或一個(gè)操作權(quán)限的用戶,則需要修改相應(yīng)功能模塊的程序代碼。獲得部門樹結(jié)構(gòu)算法不足:像獲得能夠添加用戶到其它部門的部門樹、獲得移動(dòng)部門能夠移動(dòng)到的部門樹、獲得合并部門能夠合并到的部門樹這些接口的使用的算法都比較復(fù)雜,遞歸調(diào)用使用連接池比較頻繁。當(dāng)部門結(jié)構(gòu)非常復(fù)雜時(shí),對(duì)系統(tǒng)資源的占用率較高,速度較慢??梢詢?yōu)化該遞歸算法從而降低對(duì)連接池使用的頻率,提高程序的執(zhí)行效率。對(duì)未批準(zhǔn)日志處理不足:當(dāng)用戶查看未批準(zhǔn)日志時(shí),應(yīng)添加對(duì)未批準(zhǔn)日志的批準(zhǔn)操作。以達(dá)到對(duì)未批準(zhǔn)操作的確認(rèn)目的。4.3心得體會(huì)通過這次對(duì)設(shè)備管理系統(tǒng)的開發(fā),我在大學(xué)所學(xué)到的知識(shí)得到了系統(tǒng)的整理與歸納。系統(tǒng)的開發(fā)過程實(shí)際是對(duì)所學(xué)知識(shí)檢驗(yàn)過程,幫助我發(fā)現(xiàn)了自己的不足,覺得需要學(xué)習(xí)和提高的還很多。在系統(tǒng)開發(fā)過程中,我懂得了細(xì)致的需求分析對(duì)軟件開發(fā)的重要性,并且對(duì)B/S模式的系統(tǒng)結(jié)構(gòu)和層次關(guān)系有了深入的了解,對(duì)Java程序設(shè)計(jì)語言中Servlet技術(shù)的應(yīng)用與開發(fā)有了深入的認(rèn)識(shí)與了解。并體會(huì)到了系統(tǒng)開發(fā)中團(tuán)隊(duì)合作精神和成員間溝通交流的重要性。致謝首先我要感謝在系統(tǒng)開發(fā)中給予我的指導(dǎo)和幫助我的指導(dǎo)老師,同時(shí)感謝本組共同工作的同學(xué)對(duì)于我的幫助和鼓勵(lì),感謝信息工程學(xué)院為我們畢業(yè)設(shè)計(jì)提供的優(yōu)越的工作環(huán)境,還要感謝在畢業(yè)設(shè)計(jì)中為我們提供幫助與支持的老師,感謝他們對(duì)我們的幫助與支持。參考文獻(xiàn)JavaServlet開發(fā)與實(shí)例電子工業(yè)出版社[美]JamesGoodwill等著邢國慶等譯2001年08月01日,ISBN:7-5053-6969-5深入JavaServlet網(wǎng)絡(luò)編程清華大學(xué)出版社陳海山主編2001年10月01日出版,ISBN:7-5606-1061-7Java2編程指南(JDK1.3版)電子工業(yè)出版社[美]IvorHorton著馬樹奇孫坦等譯2001年11月01出版,ISBN:7-5053-7106-1數(shù)據(jù)結(jié)構(gòu)與算法分析(Java版)電子工業(yè)出版社[美]CliffordA.Shaffer著張銘劉曉丹譯2001年2月第1版,ISBN7-5053-6497-9JavaScript網(wǎng)頁特效編程百寶箱清華大學(xué)出版社張寶亮編著2001年6月第1版,ISBN7-900635-57-2JavaServlet(Java版)中國電力出版社[美]JasonHunter,WilliamCrawford著孫鑫謝茂強(qiáng)譯2002年6月1日出版,ISBN7-5083-0844-1JavaServlets2.3編程指南清華大學(xué)出版社[美]JohnBellTonyLoton著馬樹奇等譯2002年7月1日出版,ISBN7-5053-7738-8JavaServlet開發(fā)人員指南清華大學(xué)出版社[美]KarlMoss著袁勤勇張玉魁譯2002年6月1日出版,ISBN7-302-06220-XJAVASCRIPT技術(shù)大全機(jī)械工業(yè)出版社[美]R.AllenWyke著聞道工作室譯2001年6月1日出版,ISBN7-111-08911-1附錄:(類的函數(shù)清單)1.用戶類(User)User(){}/**不帶參數(shù)的構(gòu)造函數(shù)User(java.lang.Stringname,java.lang.Stringpassword,inttype,intlevel,intdepartmentID){}/**帶參數(shù)的構(gòu)造函數(shù)*@paramname用戶名*@parampassword用戶密碼*@paramtype用戶類型*@paramlevel用戶權(quán)限*@paramdepartmentID所屬部門ID3>.publicintgetUserID(){}/**獲得用戶ID*@return用戶ID4>.publicStringgetUserName(){}/**獲得用戶密碼*@return用戶密碼5>.publicStringgetUserPassword()/**獲得用戶密碼*@return用戶密碼6>.publicintgetUserType(){}/**獲得用戶類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 分層次培訓(xùn)教學(xué)課件
- 陪審員崗前培訓(xùn)課件
- 隧道施工施工員培訓(xùn)課件
- 美容護(hù)膚與環(huán)保理念
- 鐵路職工安全培訓(xùn)課件
- 電話銷售的心態(tài)培訓(xùn)課件
- 出臺(tái)干部教育培訓(xùn)制度
- 2025-2030中國中藥材行業(yè)市場供需發(fā)展及投資評(píng)估規(guī)劃分析報(bào)告
- 公司工傷制度
- 公司信息安全制度
- GB/T 30564-2023無損檢測無損檢測人員培訓(xùn)機(jī)構(gòu)
- 中華人民共和國汽車行業(yè)標(biāo)準(zhǔn)汽車油漆涂層QC-T484-1999
- XGDT-06型脈動(dòng)真空滅菌柜4#性能確認(rèn)方案
- GB/T 96.2-2002大墊圈C級(jí)
- 第九章-第一節(jié)-美洲概述
- GB/T 13004-2016鋼質(zhì)無縫氣瓶定期檢驗(yàn)與評(píng)定
- GB/T 12060.5-2011聲系統(tǒng)設(shè)備第5部分:揚(yáng)聲器主要性能測試方法
- GB/T 11945-2019蒸壓灰砂實(shí)心磚和實(shí)心砌塊
- 下肢深靜脈血栓形成的診斷和治療課件
- 防水班日常安全教育登記表
- 水源地水質(zhì)安全現(xiàn)狀及監(jiān)測應(yīng)對(duì)思路
評(píng)論
0/150
提交評(píng)論