電力系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第1頁(yè)
電力系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第2頁(yè)
電力系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第3頁(yè)
電力系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第4頁(yè)
電力系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、國(guó)家電力設(shè)備資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)劉培峰(河北科技師范學(xué)院 工商管理學(xué)院,信息管理與信息系統(tǒng)專(zhuān)業(yè)1202班)指導(dǎo)教師:許偉麗摘 要:電力設(shè)備是電力生產(chǎn)企業(yè)進(jìn)行生產(chǎn)活動(dòng)的重要物質(zhì)技術(shù)基礎(chǔ)。設(shè)備的管理水平、利用效率都會(huì)對(duì)電力生產(chǎn)企業(yè)的運(yùn)營(yíng)和管理帶來(lái)直接的影響。文章通過(guò)介紹課題的背景、意義以及國(guó)內(nèi)外研究現(xiàn)狀,指出目前電力公司采用人工方式管理設(shè)備存在的問(wèn)題,從而指明建立電力設(shè)備管理系統(tǒng)的必要性和緊迫性。在此基礎(chǔ)上,嚴(yán)格按照GBT 8567-2006規(guī)范和軟件生命周期的六個(gè)階段對(duì)系統(tǒng)進(jìn)行分析、設(shè)計(jì)和開(kāi)發(fā)。最后,在開(kāi)發(fā)完成后通過(guò)一部分核心代碼和運(yùn)行界面對(duì)軟件進(jìn)行說(shuō)明。關(guān)鍵詞:電力設(shè)備;資源管理;Stru

2、st;MVC1 緒論1.1 課題背景在這個(gè)時(shí)代,一個(gè)企業(yè)現(xiàn)代信息技術(shù)水平的高低,將成為企業(yè)競(jìng)爭(zhēng)力強(qiáng)弱的重要標(biāo)志。只有迅速掌握好互聯(lián)網(wǎng)信息技術(shù),按現(xiàn)代的管理方法管理企業(yè)的物流、和信息流,實(shí)現(xiàn)企業(yè)管理信息化1。只有這樣才能全面提升企業(yè)資源配置水平,提高企業(yè)的運(yùn)行效率。21世紀(jì)是科技信息時(shí)代,陳舊的管理模式不是適應(yīng)新時(shí)代的要求,它存在著管理效率低下、記錄容易出錯(cuò)等一系列缺點(diǎn)。對(duì)于以上的種種缺點(diǎn),會(huì)對(duì)企業(yè)的經(jīng)濟(jì)效益差生很大影響,增加了企業(yè)運(yùn)營(yíng)成本,降低了企業(yè)的生產(chǎn)力。1.2 研究意義為了使設(shè)備管理人員更好地知道設(shè)備的情況與設(shè)備維修人員更好地對(duì)設(shè)備進(jìn)行檢修和校準(zhǔn),由此開(kāi)發(fā)設(shè)備管理系統(tǒng),使得設(shè)備各種記錄實(shí)

3、現(xiàn)計(jì)算機(jī)化,脫離無(wú)紙化,并且數(shù)據(jù)化。2 可行性分析2.1 社會(huì)可行性國(guó)家電力設(shè)備資源管理系統(tǒng)主要目的是對(duì)電力公司的電力設(shè)備進(jìn)行管理,并且嚴(yán)格按照國(guó)家法律法規(guī)來(lái)進(jìn)行研究和實(shí)踐,并無(wú)法律和政策方面的限制。2.2 技術(shù)可行性本系統(tǒng)采用的是MySQL、JSP和Java開(kāi)發(fā),Windows 10 Professional操作系統(tǒng)。由于Java、JSP功能強(qiáng)大,而MySQL靈活并且易維護(hù),在開(kāi)發(fā)方面具有容易理解、開(kāi)發(fā)速度快的特點(diǎn),以及這些技術(shù)大量的實(shí)際應(yīng)用,所以Java、MySQL、JSP是開(kāi)發(fā)設(shè)備管理系統(tǒng)的最好選擇2。2.3 操作可行性目前,大多數(shù)的計(jì)算機(jī)都能運(yùn)行本系統(tǒng)。在系統(tǒng)開(kāi)發(fā)前,進(jìn)行了充分的用戶調(diào)

4、研,開(kāi)發(fā)的系統(tǒng)操作簡(jiǎn)單、易于上手、容易理解,并且系統(tǒng)的界面簡(jiǎn)單,提示的信息完整,由相關(guān)人員進(jìn)行簡(jiǎn)單指導(dǎo)就能夠方便的操作本系統(tǒng)。3 需求分析3.1 技術(shù)需求系統(tǒng)在技術(shù)上要求:(1)遵循統(tǒng)一命名規(guī)范、編碼規(guī)范、用戶界面規(guī)范、接口以及程序設(shè)計(jì)規(guī)范3;(2)系統(tǒng)整體結(jié)構(gòu)采用B/S架構(gòu)模式,增強(qiáng)系統(tǒng)的易操作性,降低系統(tǒng)維護(hù)4; (3)系統(tǒng)遵循行業(yè)規(guī)范,采用J2EE平臺(tái)架構(gòu)。3.2業(yè)務(wù)需求 本系統(tǒng)有很多功能模塊,由于篇幅有限,不能將每個(gè)模塊在此進(jìn)行分析,所以文章只將幾個(gè)重要的模塊進(jìn)行分析。3.2.1 系統(tǒng)首頁(yè)(1)主題說(shuō)明系統(tǒng)首頁(yè)包含兩個(gè)部分:系統(tǒng)登錄頁(yè)面和登錄系統(tǒng)后的首頁(yè)。(2)功能要求登錄時(shí)輸入的密碼

5、為不可見(jiàn)。首頁(yè)有退出系統(tǒng)鏈接,重新登陸和返回首頁(yè)超鏈接。登陸后的首頁(yè)左側(cè)是系統(tǒng)菜單,上部是系統(tǒng)名稱(chēng),主體部分進(jìn)行系統(tǒng)信息的顯示。 3.2.2用戶管理(1)主題說(shuō)明用戶管理主要用來(lái)維護(hù)和更新查詢系統(tǒng)內(nèi)部使用人員的個(gè)人資料信息,以及用戶角色分配調(diào)整。(2)功能要求 將所有的用戶進(jìn)行列表顯示,對(duì)不同的行的用戶進(jìn)行編輯和刪除??筛鶕?jù)用戶名進(jìn)行用戶查詢,可以模糊查詢。刪除時(shí)提示是否確認(rèn)刪除。3.2.3 數(shù)據(jù)字典(1)主題說(shuō)明數(shù)據(jù)字典對(duì)系統(tǒng)字段進(jìn)行統(tǒng)一維護(hù)(2)功能要求 系統(tǒng)管理員可對(duì)數(shù)據(jù)字典組進(jìn)行維護(hù),編輯數(shù)據(jù)字典組。數(shù)據(jù)字典使用AJAX與系統(tǒng)進(jìn)行異步交互。 可以添加數(shù)據(jù)字典的項(xiàng),同時(shí)添加數(shù)據(jù)字典的值。

6、3.2.4 站點(diǎn)運(yùn)行情況(1)主題說(shuō)明主要用來(lái)控制管理站點(diǎn)的運(yùn)行情況,包括站點(diǎn)的故障類(lèi)型,故障時(shí)長(zhǎng),處理狀態(tài)等(2)功能要求 查詢結(jié)果列表顯示在查詢條件下方??蓪?duì)查詢結(jié)果進(jìn)行編輯和刪除。站點(diǎn)名稱(chēng)做成超鏈接,點(diǎn)擊后進(jìn)入站點(diǎn)運(yùn)行情況詳細(xì)信息頁(yè)面。3.3 性能需求3.3.1 運(yùn)行環(huán)境需求(1)系統(tǒng)運(yùn)行服務(wù)器選擇穩(wěn)定安全高效的UNIX操作系統(tǒng)。(2)Web開(kāi)發(fā)服務(wù)器采用Tomcat,上線采用WebLogic/WebSphere。(3)數(shù)據(jù)庫(kù)服務(wù)器采用MySQL,上線采用Oracle或者SqlServer。3.3.2 操作需求(1)開(kāi)發(fā)的系統(tǒng)應(yīng)簡(jiǎn)單,靈活,可操作性強(qiáng)。(2)系統(tǒng)采用B/S架構(gòu),使得通過(guò)瀏

7、覽器即可訪問(wèn)系統(tǒng)操作,讓工作人員非常方便查看系統(tǒng)內(nèi)的數(shù)據(jù)。4 系統(tǒng)結(jié)構(gòu)化分析建模4.1 軟件功能模塊分析業(yè)務(wù)功能模塊系統(tǒng)首頁(yè)系統(tǒng)首頁(yè)用戶登陸后的主頁(yè)面設(shè)備管理設(shè)備信息管理對(duì)設(shè)備的基本信息的管理設(shè)備校準(zhǔn)管理對(duì)設(shè)備的校準(zhǔn)周期和時(shí)間進(jìn)行管理。設(shè)備檢修管理對(duì)設(shè)備的檢修周期和時(shí)間進(jìn)行管理。設(shè)備購(gòu)置計(jì)劃對(duì)購(gòu)置計(jì)劃進(jìn)行管理。站點(diǎn)設(shè)備運(yùn)行管理站點(diǎn)基本信息對(duì)監(jiān)測(cè)臺(tái)各個(gè)站點(diǎn)的基本信息進(jìn)行管理。運(yùn)行情況主要用來(lái)控制管理站點(diǎn)的運(yùn)行情況。維護(hù)情況對(duì)站點(diǎn)維護(hù)計(jì)劃、故障處理等維護(hù)情況的管理。監(jiān)測(cè)臺(tái)建筑管理監(jiān)測(cè)臺(tái)建筑管理對(duì)監(jiān)測(cè)臺(tái)的房屋建筑信息進(jìn)行管理。系統(tǒng)管理模塊系統(tǒng)管理用戶管理對(duì)系統(tǒng)內(nèi)各種用戶的管理。角色管理對(duì)系統(tǒng)內(nèi)各種角

8、色的管理。系統(tǒng)設(shè)置對(duì)系統(tǒng)數(shù)據(jù)字典的管理。依據(jù)此需求分析對(duì)系統(tǒng)的功能模塊進(jìn)行詳細(xì)的分析,為以后的系統(tǒng)設(shè)計(jì)階段做好準(zhǔn)備工作。如表1所示。表1 功能模塊分析4.2 業(yè)務(wù)流程4.2.1 系統(tǒng)主Portal業(yè)務(wù)流程用戶成功登錄系統(tǒng)后,登陸后的首頁(yè)左側(cè)是系統(tǒng)菜單,上部是系統(tǒng)名稱(chēng),主體部分進(jìn)行系統(tǒng)信息的顯示。如圖1所示。圖1 系統(tǒng)主Portal業(yè)務(wù)流程圖4.2.2用戶管理業(yè)務(wù)流程用戶管理主要用來(lái)維護(hù)、更新和查詢系統(tǒng)內(nèi)部使用人員的個(gè)人資料信息,以及用戶角色分配、調(diào)整。如圖2所示。圖2 用戶管理業(yè)務(wù)流程圖4.2.3系統(tǒng)管理業(yè)務(wù)流程系統(tǒng)設(shè)置主要用來(lái)更新維護(hù)系統(tǒng)一些靜態(tài)信息,這些靜態(tài)信息在數(shù)據(jù)字典中維護(hù)。如圖3所示

9、。圖3 系統(tǒng)管理業(yè)務(wù)流程圖4.3數(shù)據(jù)流程根據(jù)前面系統(tǒng)業(yè)務(wù)流程的分析,分別得出系統(tǒng)的頂層數(shù)據(jù)流圖和一層數(shù)據(jù)流圖。(1)系統(tǒng)頂層數(shù)據(jù)流圖如圖4所示。圖4 系統(tǒng)頂層數(shù)據(jù)流圖(2)系統(tǒng)一層數(shù)據(jù)流程圖如圖5所示。圖5系統(tǒng)頂層數(shù)據(jù)流圖5 國(guó)家電力設(shè)備資源管理系統(tǒng)的設(shè)計(jì)5.1 系統(tǒng)功能模塊設(shè)計(jì)圖6 系統(tǒng)功能模塊圖為了更清晰的理解整個(gè)系統(tǒng)的功能結(jié)構(gòu)關(guān)系,由以上的業(yè)務(wù)流程圖和數(shù)據(jù)流圖,完成系統(tǒng)的功能模塊圖如圖6所示。5.2數(shù)據(jù)庫(kù)表設(shè)計(jì)(1)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)字典(主鍵ID,數(shù)據(jù)類(lèi)型,數(shù)據(jù)項(xiàng)code,數(shù)據(jù)項(xiàng)value);申請(qǐng)模版表(主鍵ID,名稱(chēng),流程定義Key,模版文件存儲(chǔ)位置);維護(hù)計(jì)劃表(主鍵ID,監(jiān)測(cè)

10、臺(tái)ID,當(dāng)前時(shí)間,維護(hù)內(nèi)容,備注);設(shè)備較準(zhǔn)檢修表(主鍵ID,設(shè)備ID,是否校準(zhǔn),檢修日期,是否檢修,記錄描述,備注,);文件上傳表(主鍵ID,附件工程ID,所屬模塊,文件名,文件路徑,上傳時(shí)間,備注)導(dǎo)入導(dǎo)出字段表(所屬模塊,導(dǎo)出名稱(chēng)列表(中文)用“#”分開(kāi),導(dǎo)出字段名稱(chēng)(字段名)用“#”分開(kāi),未導(dǎo)出名稱(chēng)列表(中文)用“#”分開(kāi),未導(dǎo)出字段(字段名)用“#”分開(kāi));(2)數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)為對(duì)系統(tǒng)作進(jìn)一步分析和設(shè)計(jì),我們根據(jù)系統(tǒng)選用的數(shù)據(jù)庫(kù)將邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換成數(shù)據(jù)模型,并對(duì)數(shù)據(jù)模型做嚴(yán)格的評(píng)價(jià)。本系統(tǒng)數(shù)據(jù)庫(kù)表如下:表2 數(shù)據(jù)字典表字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵是否空說(shuō)明SeqIDINTYN主鍵IDKe

11、ywordVARCHAR(20)NY數(shù)據(jù)類(lèi)型DdlCodeINTNY數(shù)據(jù)項(xiàng)codeDdlNameVARCHAR(50)NY數(shù)據(jù)項(xiàng)valueIsDeleteVARCHAR(10)NY是否刪除,0表示未刪除表3 申請(qǐng)模板表字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵是否空說(shuō)明idlongYN主鍵IDnamevarchar(500)NY名稱(chēng)processDefinitionKeyvarchar(500)NY流程定義的keypathvarchar(5000)NY上傳的模板文件的存儲(chǔ)位置IsDeleteVARCHAR(10)NY是否刪除表4 維護(hù)計(jì)劃表字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵是否空說(shuō)明PlanIDVARCHAR(50)YN主鍵ID

12、JctIDVARCHAR(50)NY監(jiān)測(cè)臺(tái)IDOccurDateDATETIMENY當(dāng)前時(shí)間MainContentvarchar(500)NY維護(hù)內(nèi)容表5站點(diǎn)維護(hù)計(jì)劃表字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵是否空說(shuō)明PlanIDVARCHAR(50)YN站點(diǎn)維護(hù)情況,主鍵IDStationIDVARCHAR(50)NN站點(diǎn)ID,主鍵IDJctIDVARCHAR(50)NY所屬單位code(對(duì)應(yīng)數(shù)據(jù)字典)OccurDateDATETIME(50)NY計(jì)劃時(shí)間MainContentVARCHAR(500)NY內(nèi)容CommentDATETIME(50)NY備注CreateDateVARCHAR(10)NY創(chuàng)建時(shí)間表6

13、 設(shè)備校準(zhǔn)檢修表字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵是否空說(shuō)明seqIDINTYN儀器校準(zhǔn),主鍵IDDevIDVARCHAR(50)NY設(shè)備IDIsAdjustVARCHAR(10)NY是否校準(zhǔn),0未校準(zhǔn)1已校準(zhǔn)AdjustDateDATETIME(50)NY校準(zhǔn)日期OverhaulDateDATETIME(50)NY檢修日期IsHavingVARCHAR(50)NY是否檢修,0未檢修1已檢修RecordVARCHAR(500)NY記錄描述CommentVARCHAR(500)NY備注IsDeleteVARCHAR(10)NY是否刪除,0表示未刪除表7 文件上傳表字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵是否空說(shuō)明SeqIDINT

14、YN主鍵ID ProjIDVARCHAR(50)NY附件的工程ID(所屬單位)BelongToVARCHAR(50)NY所屬模塊1-0,2-0(圖紙類(lèi)別)FileNameVARCHAR(50)NY文件名FileURLVARCHAR(1000)NY文件路徑ProgressTimeVARCHAR(20)NY上傳時(shí)間CommentVARCHAR(50)NY備注IsDeleteVARCHAR(10)NY是否刪除CreateEmpIDVARCHAR(50)NY創(chuàng)建人CreateDateDATETIMENY創(chuàng)建時(shí)間表8導(dǎo)入導(dǎo)出字段表字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵是否空說(shuō)明BelongToVARCHAR(10)YN所

15、屬模塊(如1-0,1-1,2-1等) ExpNameListVARCHAR(500)NY導(dǎo)出名稱(chēng)列表(中文)用“#”分開(kāi)ExpFieldNameVARCHAR(500)NY導(dǎo)出字段名稱(chēng)(字段名)用“#”分開(kāi)NoExpListVARCHAR(500)NY未導(dǎo)出名稱(chēng)列表(中文)用“#”分開(kāi)NoExpNameDATETIME(500)NY未導(dǎo)出字段(字段名)用“#”分開(kāi)6 國(guó)家電力設(shè)備資源管理系統(tǒng)的前端實(shí)現(xiàn)6.1首頁(yè)實(shí)現(xiàn) 首頁(yè)(如圖7)模塊包括3個(gè)主要的部分,采用內(nèi)嵌框架技術(shù)。位置分別為上、左、中。(1)上部的實(shí)現(xiàn)上部包含兩大部分內(nèi)容:網(wǎng)站標(biāo)題;菜單。菜單部分就是一系列的超鏈接,用戶登錄后看到的是系

16、統(tǒng)時(shí)間、用戶名、返回首頁(yè)和退出系統(tǒng)。(2)左部的實(shí)現(xiàn)左部是系統(tǒng)主要的功能菜單,分為兩級(jí)菜單,使用JavaScript和Strust的標(biāo)簽完成菜單的顯示。(3)中部的實(shí)現(xiàn)中部是本系統(tǒng)的主要部分,用于對(duì)系統(tǒng)所有的信息進(jìn)行顯示和操作。圖7 系統(tǒng)主Portal6.2 系統(tǒng)管理模塊系統(tǒng)管理模塊是本系統(tǒng)的重中之重,可以說(shuō)是整個(gè)系統(tǒng)的安全中心。以下重點(diǎn)介紹本模塊。(1)用戶管理(如圖8)用戶管理模塊可以對(duì)系統(tǒng)內(nèi)的人員進(jìn)行統(tǒng)計(jì),形成統(tǒng)計(jì)報(bào)表,方便企業(yè)領(lǐng)導(dǎo)進(jìn)行人員的統(tǒng)計(jì)。系統(tǒng)中用戶數(shù)據(jù)的添加有系統(tǒng)管理員操作。圖8 用戶信息管理(2)數(shù)據(jù)字典(如圖9)數(shù)據(jù)字典對(duì)系統(tǒng)內(nèi)字段進(jìn)行統(tǒng)一維護(hù)。在系統(tǒng)內(nèi)各個(gè)模塊中的下拉列表

17、、單選以及多選都會(huì)使用到數(shù)據(jù)字典中的數(shù)據(jù)字段,使系統(tǒng)更加規(guī)范化。圖9 數(shù)據(jù)字典維護(hù)7 國(guó)家電力設(shè)備資源管理系統(tǒng)的后臺(tái)實(shí)現(xiàn)7.1 系統(tǒng)總體描述 本系統(tǒng)架構(gòu)采用J2EE三層開(kāi)發(fā)體系架構(gòu),使用Stuts+Spring+Hibernate的技術(shù)框架。從系統(tǒng)整體框架設(shè)計(jì)上,需要重點(diǎn)達(dá)到以下三個(gè)要求:(1)前瞻性:應(yīng)對(duì)需求的變化。(2)整合性:整合各個(gè)子系統(tǒng)的流程和數(shù)據(jù)。(3)可擴(kuò)充性:面向未來(lái)。7.2 處理流程(結(jié)構(gòu)圖)系統(tǒng)的處理流程如圖10所示。處理流程說(shuō)明:(1)表示層:(表示層也就是客戶終端)表示層對(duì)數(shù)據(jù)模型中包含的數(shù)據(jù)進(jìn)行顯示。當(dāng)用戶對(duì)系統(tǒng)進(jìn)行請(qǐng)求,系統(tǒng)返回?cái)?shù)據(jù)時(shí),此層將返回?cái)?shù)據(jù)顯示給用戶。(2

18、)業(yè)務(wù)邏輯層:(中間層)對(duì)用戶的請(qǐng)求動(dòng)作進(jìn)行控制。當(dāng)用戶將請(qǐng)求發(fā)送到系統(tǒng)中時(shí),系統(tǒng)通過(guò)控制層將用戶不同的請(qǐng)求發(fā)送到相應(yīng)的處理程序進(jìn)行處理。(3)數(shù)據(jù)庫(kù)訪問(wèn)層:(底層)業(yè)務(wù)邏輯層(訪問(wèn)數(shù)據(jù)庫(kù),為表示層提供數(shù)據(jù))數(shù)據(jù)訪問(wèn)層數(shù)據(jù)庫(kù)服務(wù)器表示層客戶端(瀏覽器/IE)輸入數(shù)據(jù),顯示數(shù)據(jù)Web服務(wù)器數(shù)據(jù)訪問(wèn)層中包含數(shù)據(jù)模型,數(shù)據(jù)模型將用戶的請(qǐng)求數(shù)據(jù)或系統(tǒng)返回的數(shù)據(jù)進(jìn)行封裝,用于在業(yè)務(wù)層進(jìn)行處理貨視圖層進(jìn)行顯示。圖10 系統(tǒng)處理流程7.3 系統(tǒng)實(shí)現(xiàn)核心代碼7.3.1 權(quán)限捕獲攔截器此段代碼是系統(tǒng)開(kāi)發(fā)階段用于自動(dòng)捕獲系統(tǒng)權(quán)限(訪問(wèn)路徑)的攔截器,用于系統(tǒng)上線后的權(quán)限控制。在系統(tǒng)上線后,此攔截器需要關(guān)閉。 pu

19、blic class CatchUrlInterceptor implements Interceptor /*攔截請(qǐng)求路徑,與數(shù)據(jù)庫(kù)進(jìn)行對(duì)比,向數(shù)據(jù)庫(kù)中添加權(quán)限*/public String intercept(ActionInvocation invocation) throws Exception ActionProxy proxy = invocation.getProxy();String ns = proxy.getNamespace() ; String actionName = proxy.getActionName();if(!ValueUtil.isValid(ns)| n

20、s.equals("/") ns = "" ; String url = ns + "/" + actionName ;ServletContext sc = ServletActionContext.getServletContext();ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sc);IElecRightService rs = (IElecRightService) ac.getBean(IElecRightServi

21、ce.SERVICE_NAME);rs.appendRightByURL(url);return invocation.invoke();7.3.2 密碼加密用戶的密碼是十分重要的,好的加密方法能保證用戶密碼不被泄露。此段代碼是在MD5技術(shù)的基礎(chǔ)之上進(jìn)行改造優(yōu)化,使加密后的數(shù)據(jù)更加安全,加密效率更高。public final class PwdEncrypt public static String getDataByMD5(String src)try StringBuffer buffer = new StringBuffer();char chars= '0','

22、1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'MessageDigest md = MessageDigest.getInstance("MD5");byte data = md.digest(src.getBytes();for(byte b : data)buffer.ap

23、pend(chars(b >> 4) & 0x0F); /高4位buffer.append(charsb & 0x0F); /低4位return buffer.toString(); catch (NoSuchAlgorithmException e) e.printStackTrace();return null;7.3.3 權(quán)限計(jì)算本系統(tǒng)采用二進(jìn)制計(jì)算的方式進(jìn)行權(quán)限的控制和判斷,以此來(lái)提升系統(tǒng)運(yùn)行效率和系統(tǒng)安全性。/*計(jì)算用戶的權(quán)限總和*/public void calculateRightSum() int pos = 0;long code = 0;for

24、(ElecRole role : roles) / 判斷超級(jí)管理員if ("-1".equals(role.getRoleValue() this.superAdmin = true;roles = null;return;for (ElecRight r : role.getRights() pos = r.getRightPos();code = r.getRightCode();rightSumpos = rightSumpos | code;roles = null;/* 判斷用戶是否有指定的權(quán)限*/public boolean hasRight(ElecRight

25、 r) int pos = r.getRightPos();long code = r.getRightCode();long ret = rightSumpos & code;return !(ret = 0);public static boolean isValid(String str) if (str = null | "".equals(str.trim() return false;return true;/* 判斷集合的有效性*/public static boolean isValid(Collection col) if (col = null

26、| col.isEmpty() return false;return true;7.3.4 權(quán)限過(guò)濾本系統(tǒng)使用Strust的攔截器進(jìn)行權(quán)限的攔截判斷,配置靈活。/* * 權(quán)限過(guò)濾攔截器 */SuppressWarnings("serial")public class RightFilterInterceptor implements Interceptor public void destroy() public void init() SuppressWarnings("rawtypes")public String intercept(Action

27、Invocation invocation) throws Exception BaseAction action = (BaseAction) invocation.getAction() ;ActionProxy proxy = invocation.getProxy();String ns = proxy.getNamespace();String actionName = proxy.getActionName();if(ValueUtil.hasRight(ns, actionName, ServletActionContext.getRequest(), action)return

28、 invocation.invoke();elsereturn "no_right_error" ;7.3.5 設(shè)備校準(zhǔn)檢修數(shù)據(jù)查詢優(yōu)化數(shù)據(jù)庫(kù)性能的一個(gè)簡(jiǎn)單有效的辦法是盡可能減少對(duì)數(shù)據(jù)庫(kù)操作。使用聯(lián)合查詢語(yǔ)句,將多條Sql合并為一條語(yǔ)句,由此減少對(duì)數(shù)據(jù)庫(kù)的操作。下面是本系統(tǒng)的一個(gè)例子,系統(tǒng)中幾乎所有的數(shù)據(jù)庫(kù)操作都使用此種方法,以此來(lái)提高數(shù)據(jù)庫(kù)性能。SELECT o.stationid, a.ddlname, o.attributionground, o.stationcode, o.stationname, c.ddlname, o.contacttype, o.jcfre

29、quency FROM elec_station o LEFT JOIN elec_dictionary a ON o.jctid = a.DdlCode AND a.Keyword = '所屬單位' LEFT JOIN elec_dictionary b ON o.jctid = b.DdlCode AND b.Keyword = '站點(diǎn)類(lèi)別' WHERE o.jctid = ? AND o.stationname LIKE '%?%' AND o.stationcode = ? AND o.stationtype = ? AND o.cont

30、acttype LIKE '%?%' AND o.attributionground LIKE '%?%'8 系統(tǒng)測(cè)試8.1 測(cè)試目的與目標(biāo)在軟件初步開(kāi)發(fā)完成后,接下來(lái)的一步是將系統(tǒng)移交給軟件測(cè)試人員,讓測(cè)試人員對(duì)系統(tǒng)進(jìn)行完全的測(cè)試,盡可能找出系統(tǒng)中存在的Bug,并記錄下來(lái),形成測(cè)試報(bào)告交給軟件開(kāi)發(fā)人員。而開(kāi)發(fā)人員就依此報(bào)告對(duì)系統(tǒng)的Bug進(jìn)行修改。8.2 測(cè)試用例(如表9)測(cè)試結(jié)果表明,本模塊的業(yè)務(wù)邏輯設(shè)計(jì)及系統(tǒng)的開(kāi)發(fā)是正確的。系統(tǒng)模塊系統(tǒng)登錄模塊測(cè)試目的測(cè)試系統(tǒng)登錄模塊的開(kāi)發(fā)是否正確測(cè)試數(shù)據(jù)登錄名:1111 登錄密碼:1111測(cè)試內(nèi)容操作描述數(shù)據(jù)期望結(jié)果實(shí)際結(jié)

31、果測(cè)試狀態(tài)1輸入用戶姓名,按“登陸”按鈕。用戶姓名:1111,密碼為空顯示警告信息“用戶名或密碼誤!”顯示警告信息“用戶名或密碼誤!”與期望結(jié)果相同2輸入密碼,按“登陸”按鈕。用戶姓名為空,密碼:1111顯示警告信息“用戶名或密碼誤!”顯示警告信息“用戶名或密碼誤!”與期望結(jié)果相同3輸入用戶姓名和密碼,按“登陸”按鈕。用戶姓名:1,密 碼:1顯示警告信息“用戶名或密碼誤!”顯示警告信息“用戶名或密碼誤”與期望結(jié)果相同4輸入用戶姓名和密碼,按“登陸”按鈕。用戶名:1111,密 碼:1111正確登入到會(huì)員操作界面正確登入到會(huì)員操作界面與期望結(jié)果相同表9 登入系統(tǒng)測(cè)試用例結(jié)論本系統(tǒng)的開(kāi)發(fā)嚴(yán)格按照GB

32、T 8567-2006規(guī)范和軟件生命周期的六個(gè)階段進(jìn)行,使用功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境MyEclipse為開(kāi)發(fā)工具和輕量級(jí)數(shù)據(jù)庫(kù)MySql完成此系統(tǒng)的開(kāi)發(fā)。此系統(tǒng)主要對(duì)電力企業(yè)的設(shè)備、人員、建筑以及一些購(gòu)置、維修計(jì)劃進(jìn)行管理。最后,為了使系統(tǒng)更加人性化和自動(dòng)化,又使用JBPM技術(shù)開(kāi)發(fā)了審批流轉(zhuǎn)模塊。本系統(tǒng)的開(kāi)發(fā)意在幫助電力企業(yè)提升運(yùn)營(yíng)效率,降低運(yùn)營(yíng)成本,進(jìn)行信息化建設(shè),使企業(yè)的管理更加規(guī)范化,人性化。致謝:感謝許偉麗老師在百忙之中對(duì)我的論文進(jìn)行指導(dǎo)。從開(kāi)題報(bào)告,到最后的論文終稿,老師對(duì)論文的每一個(gè)環(huán)節(jié)嚴(yán)格把關(guān),對(duì)于撰寫(xiě)論文過(guò)程中的每一個(gè)問(wèn)題都給予耐心指導(dǎo)。在此也感謝大學(xué)四年中,每一位老師給予的幫助

33、。 參考文獻(xiàn): 1 邵培基.管理信息系統(tǒng)(第二版)M.北京:知識(shí)產(chǎn)權(quán)出版社,2012,35-48.2 楊帆.配電網(wǎng)電力生產(chǎn)管理信息系統(tǒng)J.電力技術(shù)資訊,2013,12:177-178.3 陳鐵森.電力企業(yè)安全上生產(chǎn)理信息系統(tǒng)的應(yīng)用J.企業(yè)技術(shù)開(kāi)發(fā),2012,01:39-40.4 Diego Malagueta. Potential and impacts of Concentrated Solar Power integration in the Brazilian electric power systemJ.Renewable Energy.2014,68:57-61.楊浩.廣東電網(wǎng)公司生產(chǎn)管理信息系統(tǒng)實(shí)用化評(píng)價(jià)研究J.廣東電力,2010,04:29-34.The design and implementation of the National electric power equipment resources management systemPeiFeng Liu(Class 1202, Information Management and Information System

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論