BS模式的設備管理系統(tǒng)_第1頁
BS模式的設備管理系統(tǒng)_第2頁
BS模式的設備管理系統(tǒng)_第3頁
BS模式的設備管理系統(tǒng)_第4頁
BS模式的設備管理系統(tǒng)_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 論文編碼論文編碼: 學士學位論文學士學位論文b/s 模式的設備管理系統(tǒng) 設備管理與綜合查詢設備管理與綜合查詢院院 系系 信息工程學院信息工程學院 專專 業(yè)業(yè) 計算機科學與技術計算機科學與技術(師范師范) 年年 級級 學學 號號 指導老師指導老師 論文作者論文作者 完成日期完成日期 2010 年年 5 月月 10 日日 capital normal universityb/sb/s 模式的設備管理系統(tǒng)模式的設備管理系統(tǒng)( (中文提要中文提要) )【中文提要中文提要】本文描述了基于 java 技術 b/s(browser/server)模式三層結(jié)構(gòu)的設備管理系統(tǒng)的設計。該系統(tǒng)的開發(fā)是為了規(guī)范設備

2、管理、提高工作效率。該系統(tǒng)由設備維護模塊、用戶管理模塊、部門管理模塊、日志維護模塊和系統(tǒng)維護模塊構(gòu)成,其中設備維護模塊中包含了對設備的插入,刪除,修改,綜合查詢功能,打印模板,用戶自定義模板等操作模塊。文章重點介紹了設備維護模塊中的綜合查詢模塊,根據(jù)查詢結(jié)果對設備進行刪除,修改,發(fā)放和打印模板,用戶自定義模板的設計和實現(xiàn)。所有模塊都是基于 java 技術開發(fā)的,通過采用 b/s 模式的三層結(jié)構(gòu),擺脫了 c/s 模型對客戶端的依賴,保證了系統(tǒng)的安全性,增強了系統(tǒng)的可重用性和可移植性,有利于日后的維護和擴充。作者:刁彬斌指導教師:劉羽【關鍵詞】條件; b/s 模式; java; 模板; 綜合查詢c

3、apital normal universitystructure of the browse/server mode ems(abstract)【abstract】this paper has described the design of the equipment management system using java technological development and based on triple-layered structure of the browse/server mode. development of this system is in order to st

4、andardize equipment management and raise working efficiency. this system maintain by equipment maintenance module, user management module, department management module, log management module and system maintenance module. the article point introduced equipments maintenance mold piece inside of synth

5、esizing and searching mold a design for, according to search result to the equipments proceeding deletion, modifying, issuing with printing template, customer from defining template .all mold piece bases on the java technique development of, pass to adopt the b/s mode of three layer construction, go

6、t away from the c/s to the counting on that customer carry, guarantee the safety of the system, strengthen the system the heavy using the sex with can transplant the sex, benefit to in the days to come of maintenance with enlarge. diao binbin (information engineering college) directed by liu yu【key

7、word】 condition; b/s mode; java; template; synthesizing searchingcapital normal university目錄一一 引言引言 .1 11.1 開發(fā)背景 .11.2 系統(tǒng)簡介.11.3 可行性研究.21.3.1 經(jīng)濟上可行性: .21.3.2 技術上可行性: .21.3.3 運行上可行性: .31.3.4 法律可行性: .31.4 項目進展情況 .3二二 項目需求項目需求 .4 4三三 項目設計項目設計 .5 53.1 設備的添加 .53.2 綜合查詢 .53.3 打印模板.53.4 用戶自定義模板.63.5 通過查詢結(jié)果

8、對設備進行刪除,修改,發(fā)放 .63.6 報表的打印 .6四四 程序?qū)崿F(xiàn)程序?qū)崿F(xiàn) .7 74.1 設備添加 .74.1.1 設備類(device)結(jié)構(gòu)介紹 .74.2.2 添加設備問題的解決 .84.2.3 添加設備的界面設計.104.2 綜合查詢的實現(xiàn).114.2.1 綜合查詢查詢表結(jié)構(gòu)說明.114.2.2 綜合查詢需求分析 .134.2.3 綜合查詢的工作流程.134.2.4 綜合查詢問題的解決. 解決方法概述. conditon 類的設計 ..1condition 的功能 . 綜合查詢結(jié)果(result)界面.204.

9、3 打印模板 .214.3.1 打印模板的數(shù)據(jù)庫設計 .214.3.2 對數(shù)據(jù)庫操作設計.214.3.2 模板的類封裝(temp) .224.3.3 模板界面的設計 .224.4 用戶自定義模板 .254.4.1 用戶自定義模板的功能與實現(xiàn) .254.4.2usertemp 類的說明 .26capital normal university4.5 報表的打印 .284.5.1 打印的實現(xiàn)方法 .284.5.2 報表輸出的界面設置與問題解決 .294.5.3 頁面設計.304.6 通過查詢結(jié)果對設備進行刪除,修改,發(fā)放 .314.6.1 工作流程 .314.6.2 問題解決 .31五五 結(jié)論結(jié)論

10、 .3232六六 致謝致謝 .3333參考文獻參考文獻 .3434附錄附錄 .3535capital normal university第 0 頁 共 41 頁一 引言1.1 開發(fā)背景開發(fā)背景 目前,信息工程學院使用的設備管理系統(tǒng)是幾年前開發(fā)的基于 c/s 模式的系統(tǒng)。此系統(tǒng)存在很嚴重的設計問題。第一, 系統(tǒng)只能在 windows 98 環(huán)境下使用,經(jīng)歷幾年的技術革新,現(xiàn)在普遍使用windows 2000 或 windows xp 系統(tǒng),當前系統(tǒng)不能滿足用戶對新操作系統(tǒng)的需求。第二, 系統(tǒng)對設備屬性的劃分是固定的,當設備類型與設備型號的不斷翻新與增加時,當前的設備管理系統(tǒng)不能滿足用戶對屬性的修

11、改需求。給用戶在使用目前的設備管理系統(tǒng)對設備錄入,修改和查詢操作帶來了諸多不便。第三, 系統(tǒng)中用戶和部門的管理也比較混亂,當用戶和部門結(jié)構(gòu)發(fā)生變化時,例如以前的兩個部門合并了、新增加一個下級部門或者是某一領用人從一個部門調(diào)動另一部門時,這時對于設備的管理就比較混亂。第四, 用戶權限的管理比較混亂。不能滿足實現(xiàn)不同權限進行不同操作的需要。第五, 當前系統(tǒng)存在功能缺乏的問題,如各種類型的打印等等問題。基于以上問題,在 2004 年 2000 級畢業(yè)生對系統(tǒng)進行重新設計與開發(fā),開發(fā)了 b/s模式三層結(jié)構(gòu)的設備管理系統(tǒng),但由于時間有限,只實現(xiàn)了一些模塊的代碼編寫工作,并且對各個模塊進行了一定的測試。沒

12、有實現(xiàn)用戶的所有需要,并且缺乏系統(tǒng)整體的測試工作,同時程序代碼存在一定的問題。本課題小組的主要工作就是在 2000 級同學所做的工作上,對系統(tǒng)進一步設計,同時對原代碼進行最終的糾錯和系統(tǒng)調(diào)試工作,以實現(xiàn)系統(tǒng)的實際應用。1.2 系統(tǒng)簡介基于系統(tǒng)靈活性和穩(wěn)定性的考慮,為方便設備管理人員對設備的維護與管理,因此本設備管理系統(tǒng)采用基于 b/s 模式同時采用頁面層,中間層,數(shù)據(jù)層的三層結(jié)構(gòu),代碼實現(xiàn)上采用 java 的 servlet 技術。采用 b/s 模式的好處是避免了 c/s 模式對客戶端的依賴,充分利用了網(wǎng)絡媒介使整個系統(tǒng)的靈活性有很大提高;可以說只要有網(wǎng)絡和瀏覽器的地方就可以實現(xiàn)設備管理。系統(tǒng)

13、所采用的三層架構(gòu),將數(shù)據(jù)庫層與頁面層分開,避免了頁面層的代碼泄露問題,提高了整個系統(tǒng)的安全性和穩(wěn)定性。開發(fā)此系統(tǒng)的核心思想就是靈活管理設備的屬性,部門結(jié)構(gòu)的。系統(tǒng)中的所有設備的屬性均由用戶決定。即設備的結(jié)構(gòu)是隨著用戶的需求變化的,而且部門結(jié)構(gòu)發(fā)生變化時,不會影響設備的管理與維護。這樣就使系統(tǒng)的每個部分相對于其他部分是透明的,只要接口不變,那么無論每個模塊內(nèi)部如何變化都不會影響各部分之間的交互。這樣做可以capital normal university第 1 頁 共 41 頁改善舊的設備管理系統(tǒng)對設備和部門管理混亂的問題。 系統(tǒng)的人為安全因素也是不容忽視的問題。在對設備的管理過程中,不同身份的

14、人的權限應該有清楚的劃分和控制。所以本系統(tǒng)將所有用戶分成三大類,即系統(tǒng)管理員、部門高級用戶、部門普通用戶;而且對部門普通用戶又細分為幾類,每類用戶對系統(tǒng)的操作權限是不同的。這樣進行權限劃分可以很好的控制系統(tǒng)使用過程中人為的安全問題;避免了越權操作的現(xiàn)象。所以系統(tǒng)相應的提供了用戶管理模塊。為了規(guī)范系統(tǒng)的管理,對于每次用戶的操作都將記錄在操作日志中,且提供對日志進行維護的功能。1.3 可行性研究可行性研究1.3.1 經(jīng)濟上可行性:第一,本系統(tǒng)的運行可以代替人工進行許多繁雜的勞動;第二,本系統(tǒng)的運行可以節(jié)省許多資源;第三,本系統(tǒng)的運行可以大大的提高學校的工作效率;第四,本系統(tǒng)在硬件需求方面,需要一臺

15、性能較好的計算機作為服務器,客戶端普通計算機即可,不需要太大的投入即可使系統(tǒng)投入使用。軟件方面,對服務器需要windows 服務器操作系統(tǒng),sql server 數(shù)據(jù)庫,tomcat 和 jdk,客戶端的操作系統(tǒng)不做限制,除了瀏覽器不需要其它軟件。在本院現(xiàn)有的條件在不用投入過多的資金。所以,本系統(tǒng)在經(jīng)濟上是可行的。1.3.2 技術上可行性技術上可行性:本系統(tǒng)利用 microsoft sql server 2000 作為本系統(tǒng)的數(shù)據(jù)庫,它是一個支持多用戶的新型數(shù)據(jù)庫,適用于大中規(guī)模的數(shù)據(jù)量需求。學校校園網(wǎng)的建設也為本系統(tǒng)服務器/瀏覽器的結(jié)構(gòu)提供了硬件的支持。 本系統(tǒng)使用 java servlet

16、 作為系統(tǒng)的實現(xiàn)方式,代碼比較有條理容易實現(xiàn)系統(tǒng)的維護和升級,此外小組成員對其掌握比較熟練,使體統(tǒng)的實現(xiàn)有較低的開發(fā)風險。 本系統(tǒng)使用 tomcat 4.1 作為站點的服務器軟件,可以滿足校園網(wǎng)用戶的訪問需要。綜上所述,本系統(tǒng)的設計與開發(fā)在技術上和硬件設備上的條件都是滿足的,因此,它在技術上是可行的。capital normal university第 2 頁 共 41 頁1.3.3 運行上可行性:運行上可行性:本系統(tǒng)為一個中型的設備管理系統(tǒng),服務器需要一臺性能比較穩(wěn)定的高配置的計算機用于實現(xiàn)系統(tǒng)的長時間工作,同一時間多人訪問的問題,對客戶端只是需要瀏覽器即可,所耗費的資源非常的小,學校的電腦

17、無論是硬件還是軟件都能夠滿足條件,在網(wǎng)絡資源上基本是對文本資源的傳遞,所消耗的網(wǎng)絡資源很少,校園網(wǎng)不需要針對性的升級,即可使用。因此,本系統(tǒng)在運行上是可行的。1.3.4 法律可行性:法律可行性: 本系統(tǒng)純?yōu)閱挝粌?nèi)部設計與使用,在開發(fā)過程中沒有涉及合同、責任等與法律相抵觸的方面。因此,本系統(tǒng)在法律上是可行的。1.4 項目進展情況 2000 級畢業(yè)生對本設備管理系統(tǒng)進行了需求分析和系統(tǒng)總體架構(gòu)設計,以及用戶模塊,部門模塊,個人管理模塊,數(shù)據(jù)庫操作模塊,設備管理模塊部分內(nèi)容的設計與代碼實現(xiàn)工作。但由于時間等問題,代碼的完成程度距離實際應用還用一段距離。例如,設備的分類采用靜態(tài)的方式,只有低值易耗,低

18、值耐用,固定資產(chǎn)這三類設備,不能滿足用戶對設備分類的修改,添加,刪除的需求。設備管理模塊的綜合查詢邏輯上有問題不能正確的查詢出所需要的設備,同時在查詢的結(jié)果之上對設備進行刪除,修改,發(fā)放,打印等操作代碼的設計上存在問題。用戶所需要的報表打印功能沒有實現(xiàn)等等。capital normal university第 3 頁 共 41 頁二二 項目需求項目需求基于 2000 級的設備管理系統(tǒng)代碼的完成程度距離實際應用還用一段距離。本課題小組的主要工作是在理解原有程序代碼的設計思路和實現(xiàn)機制的基礎上,深入閱讀程序代碼,對系統(tǒng)進行全面的系統(tǒng)測試,找出其中的錯誤加以糾正,完成 2000 級畢業(yè)生沒有實現(xiàn)的功

19、能,同時滿足用戶的新需求實現(xiàn)新功能。使系統(tǒng)早日投入使用。本人主要作了以下幾方面內(nèi)容:第一,設備添加操作的重新設計。第二,對綜合查詢模塊進行設計。第三,通過查詢結(jié)果對設備進行刪除,修改,發(fā)放等操作的進行重新設計第四,考慮到用戶的數(shù)據(jù)輸出的需要在管理員的權限上添加打印模板模塊。第五,考慮到用戶的數(shù)據(jù)輸出的需要建立用戶自定義打印模板模塊。第六,報表的打印。第七,屬性模塊的修改。第八,系統(tǒng)的合成,調(diào)試工作。capital normal university第 4 頁 共 41 頁三三 項目設計項目設計3.1 設備的添加設備的添加實現(xiàn)設備的批量添加,即除了設備序列號在設備添加時各個設備必須單獨輸入外,其

20、他屬性采用輸入一次所有添加設備都使用對應輸入值的方式實現(xiàn)設備的添加。 3.2 綜合查詢綜合查詢綜合查詢模塊主要是實現(xiàn)設備維護過程中對不確定信息的搜索工作。由于系統(tǒng)對設備的分類是動態(tài)的,每類設備有一個設備類型編號。不同類型的設備在數(shù)據(jù)庫中存放在不同的表中,且每類設備的屬性名稱也各不相同。所以在配置查詢條件時,頁面要根據(jù)用戶要查詢設備的類別動態(tài)的初始化設備屬性菜單,否則就會出現(xiàn)查詢不匹配的異常。由于用戶是登陸系統(tǒng)后在對設備維護時才可以查詢,所以設備維護的頁面會記錄用戶要查詢的設備類別信息,通過變量傳給查詢頁面。另外,不同的用戶查詢的范圍也是不同的,一般情況下,用戶只可以查詢其所在部門及其下級部門的

21、設備信息,不能查詢其他部門的信息,這樣保證了信息的安全性。所以在查詢時,查詢者的所屬部門信息也獨立的作為一個條件添加到用戶配置的查詢條件中;當然這部分不出現(xiàn)在條件構(gòu)成的顯示區(qū)域里,只是查詢時系統(tǒng)自動加上的。用戶配置好的查詢條件被封裝成條件類的對象傳給數(shù)據(jù)庫操作層進行查詢,所以條件類中提供了所有需要的方法。3.3 打印模板打印模板原來的系統(tǒng)打印輸出的查詢結(jié)果是固定格式的,即輸出的屬性字段為固定的,這樣就出現(xiàn)比較嚴重的問題。輸出時輸出的字段是固定的,為了盡可能的滿足用戶需要,只能輸出幾乎所有的字段,這樣就會使輸出的內(nèi)容較寬,所以系統(tǒng)就必須使用特定類型的紙張,這樣不僅造成紙張資源的浪費,同時輸出的內(nèi)

22、容也不夠明確,不便于對結(jié)果的分析。打印模板的作用就是為解決不同紙張的打印,以及字段的按特定順序輸出而編寫的模塊。考慮到大多人的使用和系統(tǒng)的可維護性,打印模板只有系統(tǒng)管理員可以進行對打印模板模塊的操作。由于不同類型的設備擁有不同的屬性,所以模板必須具有和設備類型相同的標識,用于區(qū)分模板所適用的設備,在模板的分類上劃分為默認模板和普通模板,一個設備類型擁有唯一的一個默認模板和若干普通模板,默認模板是查詢結(jié)果默認使用的顯示模板,一般將默認模板設計為大多數(shù)用戶使用概率比較大的輸出格式。普通capital normal university第 5 頁 共 41 頁模板是其他常用的輸出格式。3.4 用戶自

23、定義模板用戶自定義模板用戶自定義模板的應用范圍與打印模板的范圍相同,也是應用于綜合查詢結(jié)果的顯示和打印。在系統(tǒng)管理員設置默認和普通打印模板的情況下可以滿足大多人,大多數(shù)情況下,對大多數(shù)字段順序的打印,但為了解決少數(shù)情況下對打印字段個數(shù)和順序的打印格式需求,建立此模塊。3.5 通過查詢結(jié)果對設備進行刪除,修改,發(fā)放通過查詢結(jié)果對設備進行刪除,修改,發(fā)放由于本系統(tǒng)是中型規(guī)模的設備管理系統(tǒng),系統(tǒng)管理的設備很多,用戶的記憶能力必定是有限度的,不可能很清楚的記憶每一個設備的特征。在需要對某個設備進行刪除,修改,發(fā)放等操作就需要一定的方法進行定位。本系統(tǒng)采用設備定位分為兩步:第一步采用綜合查詢的方式,選擇

24、特定范圍的設備。第二步,采用復選框的形式,選擇特定的設備進行具體操作。本模塊的主要功能就是與綜合查詢結(jié)果進行銜接,然后以一定的方式展示設備信息,給用戶選擇的權限對設備進行操作。3.6 報表的打印報表的打印本模塊的功能是通過打印機將特定的數(shù)據(jù)以表格的形式展現(xiàn)在紙張上。包括對綜合查詢結(jié)果特定格式的打?。╬rint)和特定設備的詳細信息(moreinfo)的打印兩部分。capital normal university第 6 頁 共 41 頁四四 程序?qū)崿F(xiàn)程序?qū)崿F(xiàn) 4.1 設備添加設備添加4.1.1 設備類設備類(device)結(jié)構(gòu)介紹結(jié)構(gòu)介紹 為減輕服務器存儲操作和網(wǎng)絡通信的負擔,對設備的操作采用

25、整體的方式實現(xiàn).即采用哈希表(hashtable)類的對象存儲設備記錄設備的屬性信息:hashtable 中的 key 值為設備屬性的英文標識;hashtable 中的 value 值為設備屬性類的對象. 設備類主要提供以下接口:1) 由于設備表是由設備屬性表動態(tài)建立的,因此本類提供創(chuàng)建設備表的接口完成設備表的建立。2) 系統(tǒng)在實例化設備類的對象時通過設備類的構(gòu)造函數(shù)將設備類的屬性使用hashtable 類的對象進行填充,設備類的構(gòu)造函數(shù)分為三類:第一類,無參類;第二類。參數(shù)為設備類別 id 類;第三類,參數(shù)為設備類別 id 和設備 id 類。第一類為系統(tǒng)默認添加;第二類在添加設備屬性及添加設

26、備信息時使用,此種情況構(gòu)建的 hashtable 類的對象只具有此類設備所具有的屬性結(jié)構(gòu),value 中的設備屬性類的對象無屬性值;用第三類構(gòu)造函數(shù)實例化設備類的對象時 hashtable 的value 中的設備屬性類的對象有相應的屬性值,主要用在完成設備的添加、修改、刪除、打印、設備領用維護、設備狀態(tài)維護及設備子屬性的維護功能。3) 根據(jù)本系統(tǒng)設備屬性不確定的特點設備類提供獲得當前設備的全部屬性的英文標識,即 hashtable 中的 key 值,由此獲得對應設備的屬性類對象;4) 在進行設備維護時需獲得其屬性信息,而 hashtable 中的 key 值可通過上述方法獲得,因此本類只需提供

27、通過 key 的值來獲得對應的設備屬性類的對象即可。5) 為了操作方便,在設備類中提供通過 hashtable 中的 key 值的獲得其對應屬性對象的屬性值的接口。6) 在添加設備信息時,基于添加信息規(guī)范化的考慮本類提供添加屬性信息范圍的接口以供頁面層使用。7) 在設備管理系統(tǒng)中提出了子屬性的概念,因此在設備類中需提供相應的接口處理子屬性。8) 為進行設備的屬性維護在設備類中提供添加、修改及刪除設備屬性的操作的接口,以此完成設備的維護。9) 為進行設備的維護在設備類中提供添加、修改及刪除操作的接口,以此完成設備的維護。為了進行系統(tǒng)維護,在設備操作接口中需調(diào)用日志類接口進行日志維護。capita

28、l normal university第 7 頁 共 41 頁4.2.2 添加設備問題的解決添加設備問題的解決第一,添加設備信息的過程就是添加設備所具有屬性的屬性值的過程,而不改變設備的結(jié)構(gòu)。對于添加的處理,首先構(gòu)造設備類的對象,根據(jù)設備類的對象獲得當前設備的全部屬性的英文標識,以此作為依據(jù)與添加顯示頁面中對應的屬性進行匹配,將取得的對應的屬性值添加到對應的設備屬性中;將填充好的設備類的對象作為參數(shù)傳遞到添加設備信息的方法中以此來完成設備信息的添加。第二,設備信息的添加不包括設備 id、領用單位及刪除日期的添加。設備 id 由系統(tǒng)自動生成,不在頁面進行顯示;領用單位由系統(tǒng)自動添加為用戶選擇部門

29、時確定的部門 id;刪除日期統(tǒng)一添加為-1,不在頁面進行顯示。 第三,在添加設備信息時需確定其特殊子屬性的信息,由于設備的特殊子屬性是成對記錄的且有相對固定的范圍,需通過查詢獲得。為了實現(xiàn)該功能在添加設備信息頁面提供相關的查詢鏈接。第四,添加設備信息過程中存在類似于國別、制造廠等屬性,此類屬性需要系統(tǒng)提供下拉列表顯示可選擇的范圍。當選項中沒有對應的屬性值用戶可自行錄入,并且可將用戶自定義的選項添加到下拉列表中以供下次使用。第五,.對于出廠日期和購買日期需要將“年/月/日”的輸入形式轉(zhuǎn)過為數(shù)據(jù)庫存儲時的長整型數(shù)據(jù)形式。第六,批量添加的實現(xiàn): 第一步,添加除了設備 id,領用單位,刪除日期,設備序

30、列號的其他屬性和添加設備的數(shù)量。第二步,添加各個設備的序列號同時隱式的記錄第一步添加的屬性值.在提交的時候發(fā)送所有屬性。第三步,添加設備.流程如下:capital normal university第 8 頁 共 41 頁 第七,添加設備信息的同時需要記錄操作日志,日志內(nèi)容包括添加設備信息的用戶id、設備所屬部門 id、批準該用戶操作的部門 id、操作類型、操作設備id 以及具體操作名稱。用戶 id 從 session 中獲得;設備所屬部門 id 即當前部門 id;獲得批準該用戶操作的部門 id 通過當前部門 id 及用戶所在部門 id 調(diào)用部門類方法確定;設備的操作類型均為 1;操作設備 i

31、d 通過設備添加函數(shù)返回;具體操作名稱為“設備添加” 。capital normal university第 9 頁 共 41 頁4.2.3 添加設備的界面設計添加設備的界面設計devadddisplay 頁面頁面功 能: 添加設備的第一步操作: 添加除了設備 id,領用單位,刪除日期,設備序列號的其他屬性和添加設備的數(shù)量實現(xiàn)方式:將設備類型 type 作為隱含文本框,根據(jù)部門參數(shù) depid 取出對應的部門名稱以只讀文本框的方式體現(xiàn)。對于制造廠,設備狀態(tài)和國別字段從選項表(option)中取出對應屬性值的組,以下拉菜單的形式顯示同時提供輸入新值的文本框。對于特殊屬性設備分類和項

32、目分類則提供子屬性經(jīng)費項目(kyxm),科研號(kyh),分類名稱(sbfl)和分類號(flh)文本框并且提供查詢連接,通過查詢方式添加其子屬性的文本框經(jīng)費項目(kyxm),科研號(kyh),分類名稱(sbfl)和分類號(flh)進行賦值。 在表單得元素的命名方式上采用與設備屬性英語標識相同的原則。制造廠。設備狀態(tài),國別文本框以“英文標識 + txt”命名.添加個數(shù)以“count”命名。為區(qū)分屬性是否可為空,在不能為空的屬性的表單的對象前頁面輸出“(*)” 。注注 意:輸入屬性順序是先查詢設備分類和項目分類意:輸入屬性順序是先查詢設備分類和項目分類,再輸入其他屬性值。再輸入其他屬性值。 cap

33、ital normal university第 10 頁 共 41 頁 devadd 頁面頁面功能: 添加設備的第二步,添加各個設備的序列號同時隱式的記錄第一步添加的屬性值.實現(xiàn)方式:對第一步的所有傳入?yún)?shù)進行獲取,并以隱藏文本框的形式輸出到表單中,隱藏文本框名為參數(shù)名,值為參數(shù)的值,起到存儲轉(zhuǎn)發(fā)的目的,以備設備添加的第三步的使用.同時根據(jù)添加設備的個數(shù)(count)采用循環(huán),輸出對應個數(shù)的文本框,命名規(guī)則為”xlh 當前序號”. devsnadd 頁面頁面后臺調(diào)用設備類的添加設備接口根據(jù)添加設備的個數(shù) count 參數(shù)作循環(huán)添加設備,其中設備序列號采用”xlh 當

34、前序號”的參數(shù)值.4.2 綜合查詢的實現(xiàn)綜合查詢的實現(xiàn)4.2.1 綜合查詢查詢表結(jié)構(gòu)說明綜合查詢查詢表結(jié)構(gòu)說明department 表:用來存放部門的基本信息字段名字段類型字段長度字段說明departmentidint4部門 id(種子)departmentnamenvarchar50部門名superdepidint4上級部門 iddevproperty 表:用來存放 device 表的字段信息。devproperty 表存儲設備所有屬性的信息,根據(jù)這些信息來創(chuàng)建設備表。本系統(tǒng)的屬性可劃分為四類:普通屬性;capital normal university第 11 頁 共 41 頁隱含屬性;特

35、殊屬性(包含兩個子屬性,且此兩子屬性有一一對應關系) ;父屬性。在這四種屬性中,隱含屬性和特殊屬性是系統(tǒng)默認添加的,在系統(tǒng)初始化時添加到庫里的,用來創(chuàng)建初始的設備表。這兩種設備屬性是不需要用戶定義的,普通用戶也不能隨意操作,普通屬性和父屬性是用戶可以進行操作的屬性,用戶可以根據(jù)需要向庫中添加、修改和刪除這兩種設備屬性。普通屬性不具有子屬性,但是它可以為父屬性的子屬性,當它是其他屬性的子屬性時,它的 superpropertyid(父屬性 id)不為-1,反之為-1。在設備的屬性中引入子屬性的概念是為了更好的描述設備所具有的特性,父屬性的值是由子屬性的值來解釋的,它自身沒有值,它的值是由子屬性的

36、值所組成的。特殊屬性是一種特殊的父屬性,它有實際的值,而它的值并沒有什么意義,只是作為一個索引,通過這個索引可以找到對應的子屬性的值。設備的隱含屬性和特殊屬性都與創(chuàng)建初始設備表有關,且這兩類屬性所包含的屬性是事先已經(jīng)確定了的。字段名字段類型字段長度字段說明propertyidint4屬性 id(種子列)propertynamenvarchar50字段名字englishnamenvarchar50該屬性的英文名字datatypenvarchar50字段類型datalengthint4字段長度isnullboolean2該字段可否為空isindexboolean2該字段是否是索引isidentit

37、yboolean2該字段是否為種子列propertytypeint4該屬性的類型devicetypeint4該屬性描述的設備類型superpropertyidint4父屬性 iddevsubproperty 表:用來存放一一對應的屬性devsubproperty 表是用來存放特殊屬性所對應的子屬性的每一組值,它存放的并不是系統(tǒng)有哪幾種特殊屬性,而是所有這些特殊屬性所包含的有一一對應關系的子屬性的值。系統(tǒng)中共有兩類特殊屬性,一類是設備分類屬性,另一類是科研項目屬性。上表的 propertyid 字段對應 devproperty 表中的種子列(propertyid) ,由于特殊屬capital n

38、ormal university第 12 頁 共 41 頁性在系統(tǒng)中作為默認屬性進行處理,因而它們的 propertyid 的值之前已經(jīng)確定,因而可以用本表中的該列來區(qū)分這一組值是屬于哪類特殊屬性。當 propertyid 代表設備分類特殊屬性時,property1 表示設備分類名稱,property2 表示設備分類號;當 propertyid代表科研項目特殊屬性時,property1 表示科研項目名稱,property2 表示科研項目號。此外,還有一點需要說明的是,在各類設備表中只有特殊屬性字段,不包含特殊屬性的子屬性字段,而設備表中特殊屬性字段的值是用 devsubproperty 表的種

39、子列(subgroupid)表示的。字段名字段類型字段長度字段說明subgroupidint4子屬性組 idpropertyidint4屬性 idproperty1nvarchar50屬性 1 的值property2nvarchar50屬性 2 的值devicex(x 是設備分類表對應于設備類別的設備類別 id 號)表。devicex 的字段是根據(jù)設備屬性表對應于設備類型的設備屬性所創(chuàng)建的。形式為devicex:x 是屬性表中屬性的 id,屬性的數(shù)據(jù)類型,是否唯一性等等都由設備屬性表確定。device1數(shù)據(jù)類型 device2 數(shù)據(jù)類型 . . 4.2.2 綜合查詢需求分析綜合查詢需求分析第一

40、,若用戶具有多部門設備的操作權限操作,需要確定用戶當前要操作的設備部門。第二,為了系統(tǒng)的安全,查詢結(jié)果必須只顯示用戶當前部門和當前部門下級部門的設備不能顯示其他部門的設備。第三,盡可能多的實現(xiàn)不同類型設備不同邏輯的查詢問題。第四,界面和數(shù)據(jù)顯示進可能清晰和明確。第五,對查詢條件進行錯誤處理。capital normal university第 13 頁 共 41 頁4.2.3 綜合查詢的工作流程綜合查詢的工作流程1,確定要查詢的設備類別2,確定要查詢的部門3,配置查詢條件4,顯示結(jié)果流程圖如下:capital normal university第 14 頁 共 41 頁capital norm

41、al university第 15 頁 共 41 頁4.2.4 綜合查詢問題的解決綜合查詢問題的解決 解決方法概述解決方法概述第一,由于存放設備屬性值的 devciex 表中的字段是不同設備所具有的屬性所決定的,所以不同類型設備具有不同屬性字段,所以在進行綜合查詢時需要根據(jù)設備類型載入不同的屬性字段。而這展出的字段必須比較清晰,所以在條配置的界面中展示devproperty 表設備屬性的中文名稱。第二,綜合查詢是一個條件拼接的過程,需要進行條件的累加過程。同時,動態(tài)生成的 devicex 表中的字段名稱是 devicex 的形式,在給用戶展示的時候又是一個設備屬性名的方式,所以必

42、須將界面反映的內(nèi)容映射成 decivex 的形式,此外,還需要對綜合查詢的配置條件進行分析,使輸入的條件正確。在條件的輸入需要進行部門名稱到部門id 的轉(zhuǎn)化,特殊子屬性到父屬性的轉(zhuǎn)換問題。通過 condition 類的方式實現(xiàn)可以解決以上問題。第三,對于系統(tǒng)的安全問題,查詢結(jié)果必須只顯示用戶當前部門和當前部門下級部門的設備不能顯示其他部門的設備。也可以通過 condition 類解決,在所有的條件完成后采用“并”關系隱含限定上相應的部門條件即可。第四,查詢條件的語法檢驗問題。為減少錯誤的影響,應該盡量采取糾正錯誤,而不是指出錯誤的錯誤處理機制。第五,一次綜合查詢的結(jié)果有可能被其他幾個模塊引用,

43、就要解決結(jié)果的可重用問題,所以對查詢條件采用 httpsession 對象實現(xiàn)。在查詢中采用 httpsession 存儲,在需要時引用。 查詢界面(查詢界面(query)的設計)的設計capital normal university第 16 頁 共 41 頁.1 需要獲得的參數(shù) type 參數(shù):表示設備的類別depid 參數(shù):表示當前用戶進行操作所采用的部門querytype 參數(shù):表示查詢的類別,值為 1 表示查詢進行設備的刪除,修改,打印操作.2 表示進行設備的發(fā)放.2 query 表單包含元素及功能 1)數(shù)學關系菜單組 action=page

44、.query?type=2&depid=1&value=manth&querytype=1 代表 query 頁進行數(shù)學關系的處理動作 attribute 下拉菜單(位置為”選擇設備屬性”之后)根據(jù)設備類型(參數(shù)名為type)在 query 界面載入的時候動態(tài)的對應于 type 類型設備的隱含屬性,普通屬性,和特殊屬性的左右子屬性,將“屬性中文名屬性中文名”作為下拉菜單的選項下拉菜單的選項,將“屬性英文標識屬性英文標識# #屬性類型屬性類型 屬性中文名屬性中文名+x+x”作為菜單的選項名菜單的選項名,其中 x 為 1,2,3。1 代表隱含屬性和普通屬性,2 代表特殊屬性

45、的左子屬性,3 代表特殊屬性的右子屬性。 math 下拉菜單(位置“數(shù)學關系”之后) 靜態(tài)的將數(shù)學關系作為選項。 菜單的選項名菜單的選項名下拉菜單的選項下拉菜單的選項capital normal university第 17 頁 共 41 頁=!=!=likelike value1 文本框(位置“設備屬性值”之后)功能是用戶選擇 attribute 下拉菜單和math 下拉菜單下拉菜單之后通過鍵盤輸入對應的值2) 邏輯表單組 實現(xiàn)(,),and,or 的按鈕功能action=page.query?type=+type+&depid=+depid+&value=)&que

46、rytype=+querytype代表進行右括號操作action=page.query?type=+type+&depid=+depid+&value=(&querytype=+querytype代表進行左括號操作action=page.query?type=+type+&depid=+depid+&value=and&querytype=+querytype 代表進行與關系操作action=page.query?type=+type+&depid=+depid+&value=or&querytype=+querytype

47、 代表進行或關系操作3)content 文本區(qū)實現(xiàn)查詢條件的顯示4) result 表單實現(xiàn)綜合查詢結(jié)果的提交,query.js 文件中 check()函數(shù)負責對提交按鈕的數(shù)據(jù)檢驗工作.通過對文本區(qū) content 進行檢驗實現(xiàn)查詢條件括號的匹配檢查.5) clear 表單實現(xiàn)在 condition 條件對象查詢條件的條件清除action=page.query?type=+type+&depid=+depid+&value=clear&querytype=+querytype;capital normal university第 18 頁 共 41 頁 c

48、ondition 類的設計類的設計.1condition 的功能的功能實現(xiàn)綜合查詢中算數(shù)條件的插入功能實現(xiàn)綜合查詢中邏輯關系的插入功能實現(xiàn)綜合查詢中條件關系的出錯處理實現(xiàn)綜合查詢結(jié)果數(shù)據(jù)的安全性處理:設備的刪除,修改,打印工作時,綜合查詢的設備范圍是當前部門和其所有下級部門的設備,設備的發(fā)放時綜合查詢的設備范圍是當前部門的設備.返回頁面顯示的查詢條件字符串.2condition 的成員對象和成員函數(shù)說明的成員對象和成員函數(shù)說明 成員對象與作用string con用于綜合查詢條件在 query 界面中 content文本框中的顯示,形式為“刪除日期=-1”string

49、 searchcon用于綜合查詢條件在數(shù)據(jù)庫進行操作時的條件,形式為“device8=-1”string last最后一次輸入的字符,可以為 null,manth(,),and 和 or,用于字符串的語法邏輯檢驗成員函數(shù)與作用void clear()將綜合查詢的條件清空,即 con 和searchcon 字串的清空void setmanthrealition()對輸入的數(shù)學關系進行處理void setlogicalrealition()對輸入的邏輯關系進行處理string getfieldnamebyenglishname()進行屬性英文標示到“devicex”字串的轉(zhuǎn)換void setdep

50、()設置查詢設備為當前部門和下級部門設備的條件void setpresentdep()設置查詢設備為當前部門設備的條件string tostring()返回顯示需要的條件capital normal university第 19 頁 共 41 頁.3 綜合查詢中錯誤邏輯的處理綜合查詢中錯誤邏輯的處理考慮到查詢條件的復雜程度不是很高,同時為提高查詢條件的正確率,在實現(xiàn)機制上盡量采用糾正,而不是指出錯誤的處理方法,在條件的處理上沒有采用語法分析器,而是采用直接過濾不可能出現(xiàn)的語法結(jié)構(gòu),對可能出現(xiàn)的語法結(jié)構(gòu)進行檢驗的方式實現(xiàn)。通過記錄最后一個輸入(last)的值,決定當前輸入是否加入到

51、綜合查詢的條件中去。此種方法可以直接過濾掉幾乎所以輸入錯誤,但不能解決判斷括號是否匹配的問題,為了全面糾正錯誤,在查詢頁面(query)采用 javascript 腳本對綜合條件的顯示文本框(content)進行括號的匹配檢驗.可以直接過濾的語法如下: 最后輸入(last)當前輸入語法形式null)null )nullornull ornullandnull and()()(and( and(or( or)()(and)and )andorand orandandand andor)or )ororor oror andor andmanth(manth (manthmanthmanth ma

52、nth其中“manth manth”的形式,為了用戶輸入方便,采用后臺添加 and 的方式,使語法為”“manth and manth”的形式.此種方法可以直接過濾掉幾乎所以輸入錯誤,但不能解決判斷括號是否匹配的問題,這個問題的解決方法是在查詢頁面 query 采用 javascript 腳本對文本區(qū) content 進行括號的匹配檢驗. capital normal university第 20 頁 共 41 頁 綜合查詢結(jié)果綜合查詢結(jié)果(result)界面界面.1 result 界面需要獲得的參數(shù)說明界面需要獲得的參數(shù)說明type 參數(shù):表示設備的類別depid

53、 參數(shù):表示當前用戶進行操作所采用的部門querytype 參數(shù):表示查詢的類別,值為 1 表示查詢進行設備的刪除,修改,打印操作.2 表示進行設備的發(fā)放.2result 界面元素構(gòu)成界面元素構(gòu)成1)模板連接和用戶自定義模板連接在連接中提供模板 id(tempid)參數(shù),用戶自定義模板 id 規(guī)定為-1 在用戶定制用戶自定義模板之后顯示“用戶自定義模板” 鏈接,用戶點擊不同的鏈接確定不同的設備屬性組以備查詢結(jié)果的模板格式輸出.2)編輯自定義模板 連接至建立用戶自定義模板界面,提供用戶建立自定義模板的功能。3)綜合查詢結(jié)果集 包括表頭和表信息部分。表頭通過對模板屬性 id 組進行屬

54、性 id 到屬性的名轉(zhuǎn)換實現(xiàn)。 結(jié)果集是根據(jù)綜合查詢的 vector 類對象和模板屬性 id 組輸出對應的設備對應屬性實現(xiàn).包括領用單位的 id 到名稱轉(zhuǎn)換,出廠日期,購買日期的“年/月/日”格式顯示,特殊屬性子屬性的輸出等操作。4)修改,刪除,打印,狀態(tài)修改鏈接 根據(jù)用戶的權限顯示特定的鏈接,以備后續(xù)操作capital normal university第 21 頁 共 41 頁.3result 界面界面4.3 打印模板打印模板4.3.1 打印模板的數(shù)據(jù)庫設計打印模板的數(shù)據(jù)庫設計template 表作用:存放模板 id,模板名,模板所適用的設備類型及模板是否為默認

55、模板,為保證模板 id的唯一性采用自動增長字段定義 templateid 屬性.字段名字段類型字段長度字段說明templateidint4模板 id,字動增長templatenamenvarchar50模板名稱templatetypeint4模板適應設備類型isdefaultint4是否默認模板templateproperty 表作用:存放模板 id 與模板屬性所具有的屬性的 id 的對應關系和屬性在打印輸出的時候的順序字段名字段類型字段長度字段說明templateidint4模板 idpropertyidint4屬性 idordernumint4屬性輸出的順序號4.3.2 對數(shù)

56、據(jù)庫操作設計對數(shù)據(jù)庫操作設計對模板及模板屬性的操作通過 databaseoperation 包的 templateopearation 類實現(xiàn)。其功能包括在數(shù)據(jù)庫層實現(xiàn)模板的建立,模板的刪除,特定模板內(nèi)容的顯示,顯示某一類型capital normal university第 22 頁 共 41 頁模板組等等功能。函數(shù)與實現(xiàn)功能如下:函數(shù)名實現(xiàn)功能createtemplate建立模板addtemplateattribute添加模板屬性字段gettemplateid根據(jù)模 ban 名和模板類型,返回模板 idgetdefaulttemplateid取得 type 類型模板的默認模板 iddele

57、tetemplat刪除模板deletetemplateattribute根據(jù)模板 id 刪除對應屬性getalltempname取得對應類型的所有模板名getalltempattributeid取得對應模板 id 的屬性 id 數(shù)組gettempstate是否是默認模板4.3.2 模板的類封裝(模板的類封裝(temp)common 包中的 temp 實現(xiàn)模板操作的類封裝,作為系統(tǒng)三層模式中的中間層。其功能包括模板的建立,模板的刪除,特定模板內(nèi)容的顯示,顯示某一類型模板組等等功能。函數(shù)名實現(xiàn)功能createtemplate建立模板addtemplateattribute添加模板屬性字段gette

58、mplateid根據(jù)模 ban 名和模板類型,返回模板 idgetdefaulttemplateid取得 type 類型模板的默認模板 iddeletetemplate刪除模板deletetemplateattribute根據(jù)模板 id 刪除對應屬性getalltempname取得對應類型的所有模板名getalltempattributeid取得對應模板 id 的屬性 id 數(shù)組gettempstate是否是默認模板4.3.3 模板界面的設計模板界面的設計 具體頁面設計具體頁面設計.1 建立模板的界面設計建立模板的界面設計.1.1 建立模板需要三個步驟

59、:建立模板需要三個步驟:第一,填寫要建立的模板名稱,選擇其所包含的字段選擇模板是否是默認默板,同時隱含傳遞部門 id 和設備類型。第二,通過 temp 類對象存儲模板名稱和是否默認模板隱含傳遞所建立的模板的 id 部門capital normal university第 23 頁 共 41 頁id 和設備類型,同時實現(xiàn)所選擇的字段在打印輸出時的先后順序輸入?yún)^(qū)的顯示界面。第三,根據(jù)傳遞的模板 id,通過 temp 類對象向?qū)哪0逯刑砑訉傩院蛯傩皂樞颉A鞒虉D如下:capital normal university第 24 頁 共 41 頁.1.2 建立模板中問題的解決建立模板中問

60、題的解決第一,設備屬性包括默認屬性,普通屬性,特殊屬性和父屬性。在顯示選擇模板的屬性時候不能顯示父屬性,否則會造成模板屬性的不唯一性。第二,不同設備具有不同的屬性,所以建立的模板只能對應某一類型設備。為了方便處理模板類型與當前使用的設備類型一致。第三,默認模板是默認使用的模板,所以其必須具有唯一性。處理的時候采用了覆蓋的方式,即在當前設備類型默認模板存在的情況下在建立默認模板則刪除原默認模板采用新模板。第四,各個類型的設備屬性都是動態(tài)的,所以在判斷選擇了幾個屬性及選擇屬性的具體內(nèi)容比較難判斷。所以采用捕獲所以參數(shù)然后進行篩選的篩選法。為了正確的選擇需要內(nèi)容。必須對屬性參數(shù)的傳遞上進行特殊標記。第五,界面必須展示屬性的中文名稱以便于用戶的使用。第六,模板名稱的中文化的解決。.1.3 具體界面設計具體界面設計c

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論