

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)論文</b></p><p> (科研訓(xùn)練、畢業(yè)設(shè)計(jì))</p><p> 題 目:基于Web的可配置信息發(fā)布收集系統(tǒng)</p><p><b> 姓 名:</b></p><p> 學(xué) 院:軟件學(xué)院</p><p>&
2、lt;b> 系:</b></p><p> 專 業(yè):軟件工程</p><p><b> 年 級(jí): </b></p><p><b> 學(xué) 號(hào): </b></p><p> 指導(dǎo)教師(校內(nèi)): 職稱:教授</p>
3、<p> 指導(dǎo)教師(校外): 職稱:</p><p><b> 年 月 日</b></p><p> 基于Web的可配置信息發(fā)布收集系統(tǒng)</p><p> [摘要] 隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,基于Browse/Server架構(gòu)的Web應(yīng)用系統(tǒng)被各行業(yè)廣泛應(yīng)用。在各種信息化平臺(tái)中,信息發(fā)布、收集乃至統(tǒng)
4、計(jì)系統(tǒng)是一個(gè)重要的組成部分,它所采取的方式及其遵循的模式直接影響了信息化平臺(tái)的運(yùn)作效率和執(zhí)行質(zhì)量。當(dāng)前,在大量數(shù)據(jù)需要進(jìn)行收集和發(fā)布的情況下,原有的系統(tǒng)模式已經(jīng)不能滿足信息發(fā)布收集多、變、快、準(zhǔn)的要求。開發(fā)新的Web下的可配置信息發(fā)布收集系統(tǒng)成為各行業(yè)信息化過程中迫切需要解決的問題。</p><p> 本文針對(duì)以上需求,提出了Web下可配置信息發(fā)布解決方案,并以高校信息化平臺(tái)為背景,設(shè)計(jì)、實(shí)現(xiàn)了一個(gè)面向高校的基
5、于B/S構(gòu)架的可配置信息發(fā)布、收集系統(tǒng)。</p><p> 文中首先分析了現(xiàn)有高校信息發(fā)布、收集方式的不足,并論述了新的解決方案,加以比較。隨后介紹了新方案中涉及的ASP.NET、XML、面向?qū)ο笳Z(yǔ)言、系統(tǒng)分層架構(gòu)等技術(shù)。本文第四章中,詳細(xì)介紹了基于Web的以XML為驅(qū)動(dòng)的信息發(fā)布、收集系統(tǒng)的實(shí)現(xiàn)。對(duì)該系統(tǒng)進(jìn)行了系統(tǒng)需求分析、流程分析、數(shù)據(jù)庫(kù)設(shè)計(jì)和用戶界面設(shè)計(jì),并實(shí)現(xiàn)了其中的主要模塊。</p>&
6、lt;p> 論文所使用的分析及設(shè)計(jì)過程,具有相當(dāng)?shù)钠毡樾?,可以?yīng)用到其他基于Web的信息發(fā)布、收集、統(tǒng)計(jì)系統(tǒng)開發(fā)中。</p><p> [關(guān)鍵詞] 可配置 動(dòng)態(tài)表格 信息收集統(tǒng)計(jì) Asp.net Xml</p><p> Online Reporting Information System</p><p> [Abstract] With t
7、he rapid development of Internet, web system based on browse/server is wildly applied in many fields. As an important part, reporting system has great influence on the web system efficiency and speed. How to build a flex
8、ible and credible dynamic reporting system by making use of the up-to-date Internet programming technique has become the hot issue in computer field.</p><p> A dynamic reporting system should have at lease
9、three functions:</p><p> designing and configuring reports on the website by IE or other browses</p><p> saving user interface information of the dynamic reports so as to reload it at anytime&
10、lt;/p><p> saving data information of reports submitted by different users</p><p> This dissertation designs a dynamic reporting system based on B/S under the background of high school informatio
11、n system. Firstly, it discusses the strongpoint of the dynamic reporting system compared with traditional reporting system. Secondly, it introduces such techniques as ASP.NET, XML, Object Orientation Programming and 3-ti
12、er architecture. The forth Chapter of the dissertation designs a dynamic reporting system by use of the combination of XML and ASP. NET techniques, completes system ana</p><p> [Key Words] Dynamic report; C
13、onfigurable; Information; Asp.net; Xml</p><p><b> 目錄</b></p><p> 第 1 章引言5</p><p> 1.1研究背景5</p><p> 1.2研究目的與內(nèi)容5</p><p> 1.3系統(tǒng)整體框架7&
14、lt;/p><p> 1.4本文組織7</p><p> 第 2 章系統(tǒng)背景8</p><p> 2.1高校信息化概述8</p><p> 2.2現(xiàn)有高校信息發(fā)布、收集解決方案9</p><p> 2.3本文提出的解決方案11</p><p> 第 3 章系統(tǒng)所涉及
15、的技術(shù)及其概述13</p><p> 3.1面向?qū)ο蟮姆治龊驮O(shè)計(jì)13</p><p> 3.2分層架構(gòu)13</p><p> 3.3XML技術(shù)14</p><p> 3.4ASP.NET技術(shù)14</p><p> 第 4 章基于Web的以XML驅(qū)動(dòng)的信息發(fā)布、收集系統(tǒng)構(gòu)建15</p
16、><p> 4.1系統(tǒng)開發(fā)與運(yùn)行環(huán)境15</p><p> 4.2系統(tǒng)需求分析15</p><p> 4.3業(yè)務(wù)流程分析16</p><p> 4.4數(shù)據(jù)庫(kù)設(shè)計(jì)17</p><p> 4.5界面設(shè)計(jì)24</p><p> 4.6模塊實(shí)現(xiàn)25</p>
17、<p> 4.7系統(tǒng)頁(yè)面功能描述33</p><p> 第 5 章結(jié)論36</p><p> 5.1系統(tǒng)存在的不足36</p><p><b> 5.2展望36</b></p><p><b> 引言</b></p><p><b&g
18、t; 研究背景</b></p><p> 隨著信息時(shí)代的到來,網(wǎng)絡(luò)正在加快滲透社會(huì)各行各業(yè)的步伐,現(xiàn)今的技術(shù)徹底改變了“時(shí)空”的概念,使信息得以充分利用。作為Intranet的一個(gè)重要組成部分,信息管理系統(tǒng)也起著很大作用,在Internet盛行之前,信息管理系統(tǒng)已廣泛地應(yīng)用于各行各業(yè)中,在各企事業(yè)單位的行政管理中,使各項(xiàng)日常事務(wù)處理走向自動(dòng)化、系列化、規(guī)范化、標(biāo)準(zhǔn)化,大大提高了工作效率,己被越來越
19、多的人門所認(rèn)識(shí)。</p><p> 在形式繁多的Web管理系統(tǒng)中,無一例外涉及到各類信息的發(fā)布、收集、反饋乃至統(tǒng)計(jì)分析。數(shù)據(jù)如何在發(fā)布者和用戶之間流暢傳遞,并能保持實(shí)時(shí)性、高準(zhǔn)確度和高度自動(dòng)化,已經(jīng)成為Web管理系統(tǒng)的一個(gè)難題。縱觀現(xiàn)有的網(wǎng)上報(bào)送資料,大多數(shù)還停留在靜態(tài)的網(wǎng)上收集數(shù)據(jù)狀態(tài)——通過網(wǎng)頁(yè)的靜態(tài)表格填報(bào),或提供下載表格,然后再通過電子郵件或以紙張的方式報(bào)送給信息發(fā)布部門。這種方式雖然減少了外勤工作,但
20、是所收集的資料還需要相關(guān)部門的人員手工再次錄入到數(shù)據(jù)庫(kù)中。這樣不僅容易出錯(cuò),還非常費(fèi)時(shí),因此為避免出錯(cuò)而增加復(fù)核引致的工作量并未減少。比如中國(guó)國(guó)家統(tǒng)計(jì)局及其全國(guó)各地的統(tǒng)計(jì)部門,無論是企業(yè)網(wǎng)上收集統(tǒng)計(jì)資料還是下級(jí)統(tǒng)計(jì)部門向上級(jí)統(tǒng)計(jì)部門報(bào)送統(tǒng)計(jì)數(shù)據(jù)均使用這種靜態(tài)方式報(bào)送[1]。這樣的工作流程造成了信息發(fā)布部門和信息提交者之間的雙重困難,失去了Web 應(yīng)用開放性、廣泛訪問性、靈活性的優(yōu)勢(shì)。</p><p><b&
21、gt; 研究目的與內(nèi)容</b></p><p> 本文作者身處高校,深切體會(huì)了高校信息化平臺(tái)帶來的各種便利。但同時(shí)也對(duì)該平臺(tái)下信息發(fā)布、收集的陳舊方式深感缺憾。因此本文以廈門大學(xué)高校信息化平臺(tái)下的信息發(fā)布、收集子系統(tǒng)為切入點(diǎn),闡述了基于Web下XML驅(qū)動(dòng)的可配置信息發(fā)布收集系統(tǒng)的提出、設(shè)計(jì)以及實(shí)現(xiàn)過程,并將其實(shí)施于作者所在的廈門大學(xué)信息化建設(shè)項(xiàng)目組的科研管理系統(tǒng)中。廈門大學(xué)科信息化建設(shè)項(xiàng)目組成立于
22、2004年5,作者有幸參加其中科研管理系統(tǒng)的開發(fā)。該開發(fā)小組由7人組成。其組織結(jié)構(gòu)如圖1.1所示。作者負(fù)責(zé)信息發(fā)布收集子系統(tǒng)的開發(fā)。</p><p> 可配置信息發(fā)布收集系統(tǒng)開發(fā)的目的是改現(xiàn)有手工、半自動(dòng)數(shù)據(jù)上報(bào)、收集、統(tǒng)計(jì)模式為統(tǒng)一的基于Web的動(dòng)態(tài)發(fā)布、自動(dòng)生成、可配置管理模式。達(dá)到數(shù)據(jù)發(fā)布收集的自動(dòng)化、系列化、規(guī)范化、標(biāo)準(zhǔn)化。</p><p> 數(shù)據(jù)錄入收集的理想狀況,是在有新的
23、數(shù)據(jù)需要收集的時(shí)候,由非技術(shù)人員通過易用的、基于Web的圖形界面來配置數(shù)據(jù)錄入頁(yè)面,然后將頁(yè)面分配給不同的用戶或用戶群體。這樣的數(shù)據(jù)錄入系統(tǒng)便可以解決靜態(tài)方式報(bào)送帶來的問題,同時(shí)具備更多的優(yōu)點(diǎn),比如:</p><p> 數(shù)據(jù)錄入頁(yè)面可以由非技術(shù)人員來配置和分配。</p><p> 非技術(shù)人員可以對(duì)數(shù)據(jù)錄入頁(yè)面進(jìn)行管理。</p><p> 用戶在登陸系統(tǒng)以后便可
24、以知道自己需要填寫哪些頁(yè)面提交信息,而不必去查詢自己需要提交哪些頁(yè)面。</p><p> 系統(tǒng)可以應(yīng)付所有的數(shù)據(jù)錄入的變化,不論是用戶界面上的變化,還是具體數(shù)據(jù)內(nèi)容的變化,系統(tǒng)都可以在運(yùn)行的時(shí)候進(jìn)行配置和修改。</p><p> 基于這樣的思路,系統(tǒng)的整體構(gòu)架和主要界面如下所述。</p><p><b> 系統(tǒng)整體框架</b></p
25、><p><b> 本文組織</b></p><p> 本文在結(jié)構(gòu)上將做如下的安排:</p><p> 第一章介紹了系統(tǒng)的研究背景、研究目的及研究?jī)?nèi)容,簡(jiǎn)要概述了系統(tǒng)整體構(gòu)架。</p><p> 第二章分析現(xiàn)有信息發(fā)布收集的不足,并提出本文的核心-Web下可配置信息發(fā)布收集解決方案,加以比較,論述其可行性。</
26、p><p> 第三章介紹新方案中涉及的ASP.NET、XML、面向?qū)ο笳Z(yǔ)言、系統(tǒng)分層架構(gòu)等技術(shù)。</p><p> 第四章詳細(xì)介紹了基于Web的以XML為驅(qū)動(dòng)的信息發(fā)布、收集系統(tǒng)的實(shí)現(xiàn)。對(duì)該系統(tǒng)進(jìn)行了系統(tǒng)需求分析、流程分析、數(shù)據(jù)庫(kù)設(shè)計(jì)和用戶界面設(shè)計(jì),并實(shí)現(xiàn)了其中的主要模塊。</p><p> 第五章全面總結(jié)本文所闡述的方案和系統(tǒng),實(shí)現(xiàn)的意義及發(fā)展趨勢(shì)。分析該解決方
27、案存在的問題,并就提出的問題給出了分析和改進(jìn)方案。</p><p><b> 系統(tǒng)背景</b></p><p><b> 高校信息化概述</b></p><p> 校園綜合信息平臺(tái)是以網(wǎng)絡(luò)為基礎(chǔ),利用先進(jìn)的信息化手段和工具,實(shí)現(xiàn)從環(huán)境(包括設(shè)備、教室等)、資源(如圖書、講義、課件、信息等)、到活動(dòng)(包括教、學(xué)、管理、
28、服務(wù)、辦公等)的全部數(shù)字化,在傳統(tǒng)校園的基礎(chǔ)上構(gòu)建一個(gè)數(shù)字空間以拓展現(xiàn)實(shí)校園的時(shí)間和空間維度,從而提升了傳統(tǒng)校園的效率,擴(kuò)展了傳統(tǒng)校園的功能,最終實(shí)現(xiàn)教育過程的全面信息化。</p><p> 校園綜合信息平臺(tái)建設(shè)是分階段、分層次的,它經(jīng)歷的是由硬到軟、由下而上、螺旋上升的建設(shè)過程。校園綜合信息平臺(tái)也是一個(gè)層次化的結(jié)構(gòu),其體系結(jié)構(gòu)可以用一系列同心圓表示,內(nèi)圓是核心,是基礎(chǔ),外圓是在內(nèi)圓的基礎(chǔ)上提供的更進(jìn)一步的服務(wù)
29、。按照功能劃分,校園綜合信息平臺(tái)可以分為六層,其結(jié)構(gòu)圖如圖2.1所示:</p><p> 其中的基礎(chǔ)信息服務(wù)是信息流動(dòng)的軟件基礎(chǔ),包括SMS校園通、電子郵件、文件傳輸、信息發(fā)布、域名服務(wù)、身份認(rèn)證、目錄服務(wù)、安全服務(wù)、計(jì)費(fèi)管理等;而本文所提出的動(dòng)態(tài)可配置信息發(fā)布收集系統(tǒng)正是處于這個(gè)層面。</p><p> 現(xiàn)有高校信息發(fā)布、收集解決方案</p><p> 現(xiàn)有
30、信息發(fā)布、收集方式</p><p> 在開發(fā)數(shù)據(jù)驅(qū)動(dòng)的Web信息系統(tǒng)的時(shí)候,常見的Web頁(yè)面會(huì)是用戶進(jìn)行數(shù)據(jù)錄入的頁(yè)面。開發(fā)特定的數(shù)據(jù)錄入頁(yè)面的時(shí)候,通常是從需求分析開始,需要知道系統(tǒng)需要向用戶收集何種信息,然后根據(jù)需求設(shè)計(jì)Web頁(yè)面,包括創(chuàng)建Web圖形界面以及所必須的數(shù)據(jù)庫(kù)操作代碼,必要的時(shí)候還要為此頁(yè)面的信息設(shè)計(jì)數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)。</p><p> 當(dāng)數(shù)據(jù)錄入頁(yè)面的需求事先已知并且
31、對(duì)系統(tǒng)所有的用戶都一致的時(shí)候,開發(fā)這樣的數(shù)據(jù)錄入頁(yè)面是十分簡(jiǎn)單的任務(wù)。然而,當(dāng)需要?jiǎng)討B(tài)的數(shù)據(jù)錄入頁(yè)面,而且從Web圖形界面到數(shù)據(jù)庫(kù)的保存都需要?jiǎng)討B(tài)可配置的時(shí)候,任務(wù)就變得艱巨起來。例如,某一時(shí)期,學(xué)校需要教師提交一系列的報(bào)表,報(bào)表的格式以及內(nèi)容是經(jīng)常變化的,并且不同的教師或不同類型的教師需要錄入的數(shù)據(jù)不一樣。</p><p> 在通常情況下有兩種方式可以解決:</p><p> 為每一
32、個(gè)數(shù)據(jù)錄入做不同的Word文檔,讓教師在網(wǎng)站上下載,下載的過程一般需要教師手動(dòng)的查找自己需要的Word文檔。教師下載并填寫好文檔以后再上傳給系統(tǒng)或者打印交給上級(jí)單位。</p><p> 由系統(tǒng)開發(fā)人員臨時(shí)制作這樣的數(shù)據(jù)錄入頁(yè)面,然后修改以前的頁(yè)面連接,把新加的頁(yè)面加入原有的系統(tǒng)。</p><p> 第一種方法雖然很直接,工作量也不大,但是給每個(gè)教師的數(shù)據(jù)錄入帶來了不方便,也影響了學(xué)校數(shù)
33、據(jù)收集的效率。第二種方法,非技術(shù)人員的工作量減少了,技術(shù)人員臨時(shí)制作靜態(tài)數(shù)據(jù)錄入頁(yè)面亦非難事,但是這造成了發(fā)布系統(tǒng)的多變性,風(fēng)格、形式難以統(tǒng)一,當(dāng)頁(yè)面數(shù)量龐大,后期維護(hù)將相當(dāng)困難。而且這樣的開發(fā)方式,如果頁(yè)面沒有進(jìn)行充分的調(diào)試和測(cè)試,很容易出現(xiàn)錯(cuò)誤乃至系統(tǒng)崩潰。</p><p> 圖2.2以當(dāng)前高校的信息發(fā)布、收集模式為例,說明了這兩種模式的工作流程及問題所在:</p><p><
34、b> 信息發(fā)布的瓶頸</b></p><p> 當(dāng)前信息發(fā)布收集的幾大突出問題:</p><p> 信息發(fā)布無法面向特定對(duì)象;檢索不易;容易延誤</p><p> 每一種信息發(fā)布都有其特定的發(fā)布對(duì)象。例如,學(xué)生不應(yīng)當(dāng)有查看教師表格的權(quán)限;院系教師不必關(guān)心教學(xué)秘書所需提交的信息。</p><p> 現(xiàn)行的信息發(fā)布,無
35、法針對(duì)特定的用戶、角色或者用戶群。換言之,要求收集的數(shù)據(jù)通過網(wǎng)頁(yè)的靜態(tài)表格或表格下載的方式發(fā)布到網(wǎng)站,任何合法用戶登陸進(jìn)網(wǎng)站時(shí)都可以瀏覽得到。這樣,特定用戶其實(shí)瀏覽到了許多與之無關(guān)的頁(yè)面、數(shù)據(jù),造成了檢索的不易甚至是誤報(bào)、錯(cuò)報(bào)、重復(fù)填報(bào)。面向某個(gè)單位、部門或者是整個(gè)高校,各類需要提交的表格、文件等不計(jì)其數(shù),而面向該單位下的某個(gè)特定用戶,很可能需要填寫、提交的表格、文件數(shù)量是有限的?,F(xiàn)行的系統(tǒng)中,往往出現(xiàn)這樣的情況:某個(gè)用戶登陸系統(tǒng)之后,
36、在表格下載區(qū)上百個(gè)表格中,尋找不到自己應(yīng)該填寫的表格。造成了信息提交的延誤。</p><p> 用戶必須填寫所有信息</p><p> 每一份需要提交的表格、文件中需填寫的字段一般非常之多。筆者進(jìn)行本文系統(tǒng)需求分析過程中,曾與某處負(fù)責(zé)數(shù)據(jù)收集的教師交談,據(jù)他反應(yīng),在他們部門,用現(xiàn)行的填表方式,一個(gè)工作人員一天之內(nèi)平均只能填寫10份表格文件。效率之低令人驚異。而這樣的情況絕非個(gè)例。筆者身
37、為學(xué)生,平常也需要提交各種表格,發(fā)覺平常眾多表格雖然字段繁多,但各表格之間的許多字段均為重復(fù)字段,例如:姓名、性別、年齡、院系、學(xué)號(hào)、籍貫等等。這些字段信息在校園信息化的中央數(shù)據(jù)庫(kù)中都有保存,現(xiàn)行的信息填報(bào)系統(tǒng)無法將數(shù)據(jù)庫(kù)中的字段信息與表格字段內(nèi)容事前關(guān)聯(lián),造成相同信息的重復(fù)填寫,降低了填報(bào)的效率,同時(shí)也增加了用戶填寫過程的出錯(cuò)風(fēng)險(xiǎn)。</p><p> 用戶填寫不規(guī)范,提交之后不合格信息多,審核困難</p
38、><p> 用戶對(duì)表格、文件設(shè)計(jì)不甚了解,當(dāng)他們面對(duì)一份空白的表格或者文件,而又沒有專門人員進(jìn)行指導(dǎo)和說明,很容易誤解表格信息,導(dǎo)致誤填。這樣,提交后的表格需經(jīng)過審核人員對(duì)填報(bào)信息逐個(gè)字段審核,一旦發(fā)現(xiàn)不合格信息,需要反饋給用戶重新填寫,再次提交。如此往復(fù),一直到合格。在本身填報(bào)效率就不是很高的填報(bào)系統(tǒng)上,用這樣的方式收集信息,讓發(fā)布者和提交者都疲憊不堪,完全體會(huì)不到辦公自動(dòng)化的優(yōu)越性。</p>&l
39、t;p><b> 本文提出的解決方案</b></p><p> 針對(duì)以上幾大問題,本文提出了一個(gè)相應(yīng)的解決方案,可以解決靜態(tài)方式報(bào)送帶來的問題,同時(shí)具備更多的優(yōu)點(diǎn)。</p><p> 建立一個(gè)基于B/S構(gòu)架下的Web信息發(fā)布、收集系統(tǒng)。使得從信息發(fā)布方到需要提交信息的用戶,乃至信息統(tǒng)計(jì)部門,都在同一個(gè)系統(tǒng)平臺(tái)上操作數(shù)據(jù)。達(dá)到數(shù)據(jù)錄入、收集、統(tǒng)計(jì)的統(tǒng)一性;同
40、時(shí)把用戶從海量的信息中解救出來,使之能方便快捷地接觸到屬于自己的信息。信息提交方式由原來的下載表格自行填寫等統(tǒng)一成登陸網(wǎng)站提交,接口統(tǒng)一,界面友好,用戶接受度高。</p><p> 本文系統(tǒng)下的信息發(fā)布頁(yè)面,摒棄了以往手動(dòng)制作靜態(tài)頁(yè)面的做法,而只需要信息發(fā)布方按紙質(zhì)表格、文件的格式,用一般的網(wǎng)頁(yè)開發(fā)工具:FrontPage、Dreamwaver等畫出空白表格格式,轉(zhuǎn)存成.XML模板即可。系統(tǒng)會(huì)自動(dòng)解析XML中存
41、儲(chǔ)的表格板式信息,呈現(xiàn)于Web頁(yè)面。無論何種排版、什么樣的文件,經(jīng)過本文系統(tǒng)解析之后,都將動(dòng)態(tài)加載到Web中,無需根據(jù)每種不同表格,開發(fā)多個(gè)頁(yè)面。</p><p> 本文系統(tǒng)提供了可視化的配置頁(yè)面。管理員在管理員界面中可以配置自己權(quán)限下的所有空白表格模板。即在Web下直接為空白表格增添字段??梢愿鶕?jù)表格需要,增加標(biāo)簽、輸入框、下拉框、復(fù)選框和單選按鈕等。配置好的表格節(jié)點(diǎn)信息存儲(chǔ)在相應(yīng)XML文件中,隨時(shí)可以再次配
42、置修改。</p><p> 用戶錄入頁(yè)面動(dòng)態(tài)加載。用戶選取應(yīng)填寫的表格,系統(tǒng)解析相應(yīng)XML文件中存儲(chǔ)的表格信息,動(dòng)態(tài)加載完整的表格提交頁(yè)面。</p><p> 表格的預(yù)填。上文提到,種類繁多的表格中,有許多信息是中央數(shù)據(jù)庫(kù)中已經(jīng)存在的,并不需要用戶多次重復(fù)填寫。對(duì)于這些字段,本文系統(tǒng)支持管理員在配置頁(yè)面時(shí)綁定數(shù)據(jù)庫(kù)中已有字段,當(dāng)用戶登陸到自己的提交頁(yè)面,這些字段將根據(jù)該用戶的具體信息對(duì)
43、表格進(jìn)行預(yù)填,這將大大減少用戶填寫的時(shí)間,也減少了不必要的填寫錯(cuò)誤。</p><p> 本文系統(tǒng)中信息發(fā)布采取了“用戶和角色”的概念。將特定的表格分配給特定角色的用戶或者用戶群。比如,院系A(chǔ)的表格只分配給院系A(chǔ)的教師,這樣,其他院系教師登陸到同樣系統(tǒng),但無需瀏覽到院系A(chǔ)的表格文件信息。</p><p> 新舊信息發(fā)布收集方案對(duì)比</p><p> 表2.1顯示
44、了3種信息發(fā)布收集方案在性能和適用性上的對(duì)比:</p><p> 表2.1 信息發(fā)布收集方案對(duì)比表</p><p> 系統(tǒng)所涉及的技術(shù)及其概述</p><p> 面向?qū)ο蟮姆治龊驮O(shè)計(jì)</p><p> 本系統(tǒng)采用C#作為開發(fā)語(yǔ)言,使用面向?qū)ο蟮姆治龊驮O(shè)計(jì)。在面向?qū)ο蠓治龅倪^程中,強(qiáng)調(diào)的是在問題領(lǐng)域內(nèi)發(fā)現(xiàn)和描述對(duì)象或概念;在面向?qū)ο笤O(shè)計(jì)
45、過程中,強(qiáng)調(diào)的是定義軟件對(duì)象和這些軟件對(duì)象如何協(xié)作來滿足需求。</p><p> 在本系統(tǒng)的分析和設(shè)計(jì)中,我們強(qiáng)調(diào)各軟件組件的職責(zé)問題,為不同的軟件對(duì)象或組件分配其應(yīng)有的職責(zé)是關(guān)鍵也是最基本的工作。其中還應(yīng)用一些成熟的模式進(jìn)行分析和設(shè)計(jì),使系統(tǒng)各模塊結(jié)構(gòu)更清晰,工作更協(xié)調(diào)。</p><p> 在開發(fā)過程中,我們使用UML語(yǔ)言進(jìn)行面向?qū)ο蟮慕?,用統(tǒng)一過程進(jìn)行迭代開發(fā)。</p>
46、;<p><b> 分層架構(gòu)</b></p><p> 分層架構(gòu)是當(dāng)前比較流行的系統(tǒng)架構(gòu)模式,本系統(tǒng)采用三層架構(gòu)的模式,分別是表示層、業(yè)務(wù)層、數(shù)據(jù)層。此模式概述了每一層的職責(zé)以及組成每一層的組件,如圖3.1</p><p> 圖3.1顯示的 Three-Layered Services Application基本上是一個(gè)松散的三層體系結(jié)構(gòu),三層的概
47、要說明如下:</p><p> 表示層:表示層提供應(yīng)用程序的用戶界面 (UI)。這通常包括 Windows 窗體(用于智能客戶端應(yīng)用程序)和 ASP.NET 技術(shù)(用于基于瀏覽器的交互)的使用。</p><p> 業(yè)務(wù)層:業(yè)務(wù)層實(shí)現(xiàn)應(yīng)用程序的業(yè)務(wù)功能。業(yè)務(wù)層通常由使用一種或多種支持 .NET 的編程語(yǔ)言實(shí)現(xiàn)的大量組件組成。</p><p> 數(shù)據(jù)層:數(shù)據(jù)層提供
48、對(duì)外部系統(tǒng)(如數(shù)據(jù)庫(kù))的訪問。該層涉及到的主要 .NET 技術(shù)是 ADO.NET。但是,在這里也經(jīng)常用到一些 .NET XML 功能。</p><p><b> XML技術(shù)</b></p><p> 可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language,XML)是由萬維網(wǎng)聯(lián)盟(World Wide Web Consortium,W3C )開發(fā)的,主
49、要目的是為了克服HTML的缺點(diǎn),XML對(duì)于HTML來說,特點(diǎn)是:沒有預(yù)定義的標(biāo)記;更嚴(yán)格的語(yǔ)法。XML的應(yīng)用主要分為文檔應(yīng)用和數(shù)據(jù)應(yīng)用。在文檔應(yīng)用上XML的主要優(yōu)點(diǎn)在于它的重點(diǎn)是文檔的結(jié)構(gòu),這使得它獨(dú)立于傳播媒介。在數(shù)據(jù)應(yīng)用方面,通過XML形成了一個(gè)完整的體系,為數(shù)據(jù)的分發(fā)帶來了一種出版模式。用XML文檔可以來表示數(shù)據(jù)庫(kù)結(jié)構(gòu),還可以表示某種文檔的結(jié)構(gòu)。</p><p> 在本系統(tǒng)中,主要應(yīng)用XML在數(shù)據(jù)應(yīng)用方面
50、的功能,一方面通過XML來存儲(chǔ)和表示數(shù)據(jù)錄入頁(yè)面的文檔結(jié)構(gòu),用來存儲(chǔ)其外觀信息,另一方面通過XML來存儲(chǔ)教師所提交的信息,達(dá)到使用同使用數(shù)據(jù)庫(kù)同樣的效果。</p><p><b> ASP.NET技術(shù)</b></p><p> ASP.NET是Microsoft .NET Framework 中一種用于生成 Web 應(yīng)用程序和 XML Web services 的
51、技術(shù)。ASP.NET 頁(yè)在服務(wù)器上執(zhí)行并生成發(fā)送到桌面或移動(dòng)瀏覽器的標(biāo)記(如 HTML、WML 或 XML)。ASP.NET頁(yè)使用一種已編譯的、由事件驅(qū)動(dòng)的編程模型,這種模型可以提高性能并支持將應(yīng)用程序邏輯同用戶界面相隔離。ASP.NET 頁(yè)和使用 ASP.NET 創(chuàng)建的 XML Web services 文件包含用 Visual Basic .NET、C# .NET 或任何 .NET 兼容語(yǔ)言編寫的服務(wù)器端(而不是客戶端)邏輯。Web
52、 應(yīng)用程序和 XML Web services 利用了公共語(yǔ)言運(yùn)行庫(kù)的功能,例如類型安全、繼承、語(yǔ)言互操作、版本控制和集成安全性等。</p><p> 本文系統(tǒng)應(yīng)用ASP.NET中可以在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建服務(wù)器控件來達(dá)到產(chǎn)生動(dòng)態(tài)數(shù)據(jù)錄入頁(yè)面的需求。</p><p> 基于Web的以XML驅(qū)動(dòng)的信息發(fā)布、收集系統(tǒng)構(gòu)建</p><p><b> 系統(tǒng)開發(fā)與運(yùn)
53、行環(huán)境</b></p><p> 表4.1 系統(tǒng)開發(fā)與運(yùn)行環(huán)境表</p><p><b> 系統(tǒng)需求分析</b></p><p><b> 功能性需求</b></p><p> 具有用戶登陸、權(quán)限控制的功能。</p><p> 具有數(shù)據(jù)輸入頁(yè)面模板上傳的
54、功能。</p><p> 具有對(duì)模板進(jìn)行配置的圖形化界面。</p><p> 具有對(duì)數(shù)據(jù)輸入頁(yè)面按用戶和角色分配的功能。</p><p> 具有查詢所收集的信息的功能。</p><p> 具有對(duì)數(shù)據(jù)輸入有按照數(shù)據(jù)庫(kù)原有信息進(jìn)行預(yù)填寫的功能。</p><p> 具有對(duì)輸入數(shù)據(jù)按照頁(yè)面格式進(jìn)行報(bào)表預(yù)覽的功能。&l
55、t;/p><p><b> 性能性需求</b></p><p> 由于系統(tǒng)的側(cè)重點(diǎn)是在完成功能性需求,對(duì)于系統(tǒng)的性能需求不做過多的考慮,主要有以下兩點(diǎn):</p><p> 系統(tǒng)吞吐量和響應(yīng)時(shí)間。現(xiàn)有的系統(tǒng)吞吐量和響應(yīng)時(shí)間主要取決于作為服務(wù)器的機(jī)器的性能和網(wǎng)絡(luò)的狀況。</p><p> 系統(tǒng)的安全性。結(jié)構(gòu)上,后臺(tái)系統(tǒng)采
56、用的是與前臺(tái)系統(tǒng)(即與用戶交流的部分)完全獨(dú)立的結(jié)構(gòu),降低了受到惡意用戶攻擊的可能性。另外,后臺(tái)應(yīng)用程序采取了使用用戶名登錄的加密措施,以保證數(shù)據(jù)庫(kù)操作的安全性。</p><p><b> 業(yè)務(wù)流程分析</b></p><p> 信息發(fā)布、收集系統(tǒng)的業(yè)務(wù)流程分析分為:頁(yè)面配置流程分析、信息分配流程分析、用戶提交修改流程分析、查詢修改流程分析。</p>
57、<p><b> 頁(yè)面配置流程分析</b></p><p> 管理員登陸之后可對(duì)空白表格進(jìn)行字段綁定、字段類型配置。具體流程如圖4.1所示:</p><p><b> 信息分配流程分析</b></p><p> 管理員可按用戶姓名和按用戶角色兩種方式把信息錄入頁(yè)面權(quán)限分配給對(duì)應(yīng)用戶或者用戶群。</
58、p><p> 用戶錄入、修改流程分析</p><p> 管理員登陸之后可對(duì)空白表格進(jìn)行字段綁定、字段類型配置。具體流程如圖4.2所示:</p><p><b> 查詢流程分析</b></p><p> 查詢模塊系統(tǒng)管理員頁(yè)面和普通頁(yè)面部分都會(huì)出現(xiàn)。在用戶查詢頁(yè)面中查詢流程和用戶錄入頁(yè)面流程大致相同。在管理員查詢頁(yè)面中
59、,有兩個(gè)查詢方式:按用戶名和按表格模板。管理員選擇查詢方式,可對(duì)查詢結(jié)果進(jìn)行預(yù)覽和審核。</p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)概述</b></p><p> 本系統(tǒng)并沒有采用一般的數(shù)據(jù)庫(kù)系統(tǒng)作為系統(tǒng)的數(shù)據(jù)驅(qū)動(dòng)核心,而是采用XML文件作為系統(tǒng)的數(shù)據(jù)驅(qū)動(dòng)核心,這樣做的原因有兩
60、點(diǎn):</p><p> 關(guān)于數(shù)據(jù)輸入頁(yè)面配置的外觀信息用XML文件來存儲(chǔ)和表示可以利用面向?qū)ο笏枷耄秧?yè)面信息中需要地html代碼直接在XML節(jié)點(diǎn)中體現(xiàn)。</p><p> 關(guān)于用戶所輸入的信息,可用一般數(shù)據(jù)庫(kù)來存儲(chǔ),但考慮到后臺(tái)數(shù)據(jù)庫(kù)可以是各種類型,比如Oracle, SQL Server等, 如果用XML文件作為中間層,將會(huì)很容易在多個(gè)數(shù)據(jù)庫(kù)之間做傳輸和同步,這樣系統(tǒng)的可移植性將會(huì)
61、增強(qiáng)。</p><p><b> XML文件概要說明</b></p><p> 表4.2 XML文件說明</p><p> 頁(yè)面外觀配置相關(guān)的信息存儲(chǔ)</p><p> 關(guān)于數(shù)據(jù)輸入頁(yè)面外觀配置信息一概存入模板文件中,該模板文件的結(jié)構(gòu)為一個(gè)Html的表格,利用Html的表格的結(jié)構(gòu)來達(dá)到頁(yè)面外觀的可配置。該xml文
62、件的節(jié)點(diǎn)結(jié)構(gòu)如圖4.4所示:</p><p> 節(jié)點(diǎn)說明如表4.3:</p><p> 表4.3 模板文件節(jié)點(diǎn)說明</p><p> 分控件類型說明各節(jié)點(diǎn):</p><p> 標(biāo)簽控件(Label):</p><p> 表4.4 Label</p><p> 文本輸入框控件(Text
63、Box):</p><p> 表4.5 TextBox</p><p> 下拉框(DropDownList):</p><p> 表4.6 DropDownList</p><p> 多選框(CheckBox):</p><p> 表4.7 CheckBox</p><p> 單選框
64、(RadioButton):</p><p> 表4.8 RadioButton</p><p> 用戶數(shù)據(jù)相關(guān)的信息存儲(chǔ)</p><p> 本文系統(tǒng)采用XML存儲(chǔ)用戶提交的數(shù)據(jù)。一般而言,這部分信息可采用Oracle、SQL Server等數(shù)據(jù)庫(kù)來存儲(chǔ)。但考慮到本系統(tǒng)需要跟不同的數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行對(duì)接,將這部分?jǐn)?shù)據(jù)的存儲(chǔ)也暫時(shí)使用XML文件進(jìn)行保存。在數(shù)據(jù)層保留
65、了與其他數(shù)據(jù)庫(kù)的接口。系統(tǒng)一旦需要與具體高校信息化平臺(tái)整合,可以方便安全地同其他種類數(shù)據(jù)庫(kù)做信息的傳輸和同步。這類的表格在本文系統(tǒng)中有一下幾種:</p><p><b> 報(bào)表信息表:</b></p><p> 用戶提交的表格信息需要存放到數(shù)據(jù)庫(kù)中。這些信息存放在表reportData.xml中。結(jié)構(gòu)如圖4.5:</p><p> 數(shù)據(jù)文
66、件節(jié)點(diǎn)說明如表4.9:</p><p> 表4.9 數(shù)據(jù)文件節(jié)點(diǎn)說明</p><p> 這樣三層的節(jié)點(diǎn),使得每次提交的信息都可以通過report id很方便地查詢得到。甚至是表中個(gè)別字段的信息,也都可以通過item id查詢,便于修改。</p><p><b> 用戶信息表</b></p><p> 用戶信息也需
67、要存儲(chǔ)在數(shù)據(jù)庫(kù)中。因?yàn)榍懊嫠v述的原因,本文系統(tǒng)將用戶信息存放在user.xml中,并且只是模擬高校信息化平臺(tái)中的若干用戶信息字段。今后在實(shí)際的高校信息化平臺(tái)中架設(shè)本文系統(tǒng)的時(shí)候,這些信息已經(jīng)存在于中央數(shù)據(jù)庫(kù)的人事數(shù)據(jù)庫(kù)中,無需另外建設(shè)新的數(shù)據(jù)庫(kù)。</p><p> user.xml表結(jié)構(gòu)如圖4.6所示:</p><p> 文件節(jié)點(diǎn)說明如表4.10:</p><p&
68、gt; 表4.10 user.xml文件節(jié)點(diǎn)說明</p><p><b> 角色分配表</b></p><p> 本文系統(tǒng)的表格、文件均以角色或用戶的方式分配給特定用戶,role.xml文件就是用來存放這些信息的。</p><p> xml文件結(jié)構(gòu)如圖4.7:</p><p> 文件節(jié)點(diǎn)說明如表4.11:<
69、;/p><p> 表4.11 role.xml文件節(jié)點(diǎn)說明</p><p><b> 模板關(guān)聯(lián)表</b></p><p> 一個(gè)模板文件對(duì)應(yīng)有一個(gè)數(shù)據(jù)存儲(chǔ)文件。repCollections.xml文件中存放了他們之間的對(duì)應(yīng)關(guān)系。Xml文件結(jié)構(gòu)如圖4.8:</p><p> 文件節(jié)點(diǎn)說明如表4.12:</p>
70、;<p> 表4.12 repCollections.xml文件節(jié)點(diǎn)說明</p><p><b> 界面設(shè)計(jì)</b></p><p><b> 系統(tǒng)界面總體設(shè)計(jì)</b></p><p> 系統(tǒng)頁(yè)面色調(diào)采用黑白藍(lán)的色系,配合一定的圖標(biāo),以簡(jiǎn)潔大方為總體風(fēng)格。系統(tǒng)頁(yè)面由三大塊組成:登陸頁(yè)面、用戶功能頁(yè)面、
71、控件設(shè)置頁(yè)面,后面將進(jìn)行分別說明。</p><p><b> 第三方組件</b></p><p> 本系統(tǒng)在界面方面用到了四個(gè)第三方組件,分別是:</p><p> obout公司的Splitter,公司主頁(yè):www.obout.com。</p><p> obout公司的Slide Menu。</p>
72、;<p> obout公司的Easy Menu。</p><p> MetaBuilder公司的DualList,公司主頁(yè):http://www.metabuilders.com。</p><p><b> 登陸頁(yè)面</b></p><p><b> 用戶功能界面</b></p><
73、;p><b> 控件定制頁(yè)面</b></p><p><b> 模塊實(shí)現(xiàn)</b></p><p> 本文系統(tǒng)按用戶角色可分為兩個(gè)模式:管理員模式和普通用戶模式。</p><p> 管理員模式下,用戶可以對(duì)所有報(bào)表進(jìn)行字段配置,角色分配,還可以對(duì)報(bào)表進(jìn)行查詢、審核甚至修改。普通用戶模式下,用戶能看到屬于自己的所
74、有報(bào)表,填寫、提交這些報(bào)表,也可以對(duì)自己已經(jīng)提交的報(bào)表進(jìn)行查詢。</p><p> 因?yàn)閮煞N模式下的某些功能有重復(fù)的地方,所以本系統(tǒng)按照功能劃分,又可分為6個(gè)模塊:登陸模塊、分配模塊、配置模塊、錄入模塊,查詢模塊和修改模塊。本文作者在這個(gè)系統(tǒng)中,負(fù)責(zé)錄入模塊,查詢模塊和修改模塊的實(shí)現(xiàn)。下面將從這個(gè)角度詳細(xì)闡述作者是如何實(shí)現(xiàn)這3個(gè)模塊。</p><p> 三個(gè)模塊涉及的類及其類圖概述&l
75、t;/p><p> BRep類(控制層)</p><p> BRep類實(shí)際起了一個(gè)映射Template類和ReportData類的作用。BRep有兩個(gè)屬性:Name和File。在本文系統(tǒng)種,一個(gè)template實(shí)例對(duì)應(yīng)一個(gè)存放表格模板頁(yè)面信息的template.xml文件。而一個(gè)reportData實(shí)例則對(duì)應(yīng)一個(gè)存放某個(gè)具體表格模板數(shù)據(jù)信息的reportData.xml文件。這兩者的關(guān)系是
76、一一對(duì)應(yīng)的。如何把他們關(guān)聯(lián)起來呢?作者新建了一個(gè)RepCollection.xml文件,專門存儲(chǔ)他們之間的一一對(duì)應(yīng)關(guān)系,并用BRep類來實(shí)現(xiàn)。BRep的File屬性代表了template.xml文件名,Name屬性中存放的則是這個(gè)template.xml文件所唯一確定的reportData.xml文件名。這兩個(gè)文件名都可以讓用戶自行設(shè)置,我們要做的僅僅是把他們關(guān)聯(lián)并確定下來。</p><p> Item簡(jiǎn)單類圖
77、(控制層)</p><p> Item類、Report類和ReportData類是本文作者實(shí)現(xiàn)錄入、查詢、修改模塊的重要的類。他們共同實(shí)現(xiàn)了用戶提交的數(shù)據(jù)如何從動(dòng)態(tài)頁(yè)面中取得,并根據(jù)不同頁(yè)面的數(shù)據(jù)個(gè)數(shù),往xml文件中動(dòng)態(tài)添加節(jié)點(diǎn),存儲(chǔ)數(shù)據(jù)。也實(shí)現(xiàn)了根據(jù)用戶要求的頁(yè)面,把節(jié)點(diǎn)數(shù)據(jù)提取出來,再關(guān)聯(lián)到動(dòng)態(tài)頁(yè)面的相應(yīng)位置。</p><p> 正是因?yàn)樗袛?shù)據(jù)和頁(yè)面控件全部必須動(dòng)態(tài)加載,所以頁(yè)面
78、無法按照普通的方式制作:即先在頁(yè)面中拖放控件,之后綁定數(shù)據(jù)庫(kù)字段。為了達(dá)到動(dòng)態(tài)加載的目的,我們把頁(yè)面中的控件信息(包括控件類型和控件位置、控件屬性、驗(yàn)證規(guī)則)存儲(chǔ)在”模板.xml”文件中。把控件對(duì)應(yīng)的數(shù)據(jù)信息(即用戶填寫到控件中的數(shù)據(jù))也存儲(chǔ)在相應(yīng)的”數(shù)據(jù).xml”文件中。Item類就是用來存儲(chǔ)單個(gè)控件的數(shù)據(jù)信息的。他有一個(gè)itemID屬性,唯一標(biāo)識(shí)了這個(gè)控件名。并且我們把控件名的形式規(guī)定為:</p><p>
79、 reportID_trN_tdM_cJ</p><p> 其中reportiID是該控件的數(shù)據(jù)信息所屬的reportID,trN代表控件位于表格的第N行,tdM表示控件位于表格的第M列,這就確定了控件在頁(yè)面表格中的具體單元格位置,cJ則是表示這個(gè)數(shù)據(jù)是屬于該單元格下第J個(gè)控件的。例如有一個(gè)itemID的屬性為:“teacher001_10_tr3_td2_c1”,它代表的是該控件的數(shù)據(jù)屬于reportID為“
80、teacher001_10”的數(shù)據(jù)節(jié)點(diǎn),該控件在頁(yè)面中處于第3行第2列的第1個(gè)控件位置。這樣,從數(shù)據(jù)和頁(yè)面位置兩個(gè)方面來標(biāo)識(shí)這個(gè)控件。</p><p> 通過這個(gè)itemID,能立刻找到這個(gè)控件數(shù)據(jù)所對(duì)應(yīng)地控件在頁(yè)面中的具體位置,就能把數(shù)據(jù)和控件之間關(guān)聯(lián)起來,方便地進(jìn)行數(shù)據(jù)存儲(chǔ)和提取。</p><p> Report簡(jiǎn)單類圖(控制層)</p><p> 同It
81、em的任務(wù)相近,report類也是用來實(shí)現(xiàn)數(shù)據(jù)保存和提取的。它保存了用戶對(duì)某個(gè)模板一次提交的所有信息。即某個(gè)用戶在某個(gè)時(shí)刻對(duì)某張表格進(jìn)行填寫和提交,這所有的信息的操作都由一個(gè)Report實(shí)例進(jìn)行。一個(gè)Report有唯一的reportID標(biāo)識(shí),它的結(jié)構(gòu)是:</p><p><b> userID_N</b></p><p> 其中userID是當(dāng)前登入系統(tǒng)的填表用戶
82、自己的userID,N代表所填表格被提交的次數(shù)。這樣的ID結(jié)構(gòu)保證了用戶每次提交都是產(chǎn)生一個(gè)不重復(fù)的reportID,同樣是為了根據(jù)reportID保存、修改和查詢?cè)摯蔚奶峤粩?shù)據(jù)。再以本文前面提到的例子,reportID為“teacher001_10”表示這個(gè)數(shù)據(jù)是用戶id為teacher001的用戶提交的。并且他那一次提交數(shù)據(jù)之前,已經(jīng)有9人/次對(duì)該表格進(jìn)行過提交。</p><p> 一個(gè)report實(shí)例中包
83、含有若干item實(shí)例,在現(xiàn)實(shí)中的意義就是:每張表格中有若干個(gè)字段。</p><p> ReportData簡(jiǎn)單類圖(控制層)</p><p> 不言而喻,reportData類用來存儲(chǔ)所有用戶對(duì)某一張表格所提交的信息。用戶提交一次該表格的數(shù)據(jù)信息,reportData就往reportData.xml數(shù)據(jù)庫(kù)中添加一個(gè)report節(jié)點(diǎn)和若干個(gè)item子節(jié)點(diǎn)用于存放信息。換言之,當(dāng)用戶提交多
84、次,reportData.xml中就產(chǎn)生了多個(gè)report節(jié)點(diǎn)。他們之間用reportID區(qū)分。</p><p> 有了以上這3個(gè)類,動(dòng)態(tài)頁(yè)面位置信息和其數(shù)據(jù)之間的關(guān)聯(lián)變成可能,動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)和提取也變得便捷起來。</p><p><b> 數(shù)據(jù)層類</b></p><p> 表4.13 數(shù)據(jù)層類與其對(duì)應(yīng)的控制層類</p>&
85、lt;p> 這些以“DL_”開頭命名的類,分別是以上幾個(gè)控制層的類所對(duì)應(yīng)的數(shù)據(jù)操作層類。他們負(fù)責(zé)與數(shù)據(jù)庫(kù)(本文系統(tǒng)中即XML文件)進(jìn)行交互。類中封裝了對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取、寫入、對(duì)XML文件創(chuàng)建、修改、刪除等操作的方法。這些類是本文系統(tǒng)程序中與數(shù)據(jù)庫(kù)交互的唯一接口。</p><p> TemplateBuilderei類</p><p> TemplateBuilder類是本文作者
86、實(shí)現(xiàn)3個(gè)模塊的另一個(gè)重要類。它的作用是解析配置好的表格頁(yè)面信息,動(dòng)態(tài)生成一個(gè)定制好的服務(wù)器控件Table,以便在UI層中加載顯示,Table中包含該表格所需要的所有其他Web控件(類型有:TextBox、Label、CheckBoxList、DropDownList、RadioButton)。TemplateBuilder類重載了4個(gè)TableBuilder方法。作用分別是:</p><p> 根據(jù)定制的頁(yè)面信
87、息生成不含控件和數(shù)據(jù)的空白表格控件。</p><p> 生成含有子控件但不含數(shù)據(jù)的表格控件。(供用戶錄入新數(shù)據(jù)用)</p><p> 生成含有數(shù)據(jù)但不含有控件的表格控件。(供頁(yè)面預(yù)覽用)</p><p> 生成含有控件同時(shí)加載數(shù)據(jù)的表格控件。(供用戶修改數(shù)據(jù)用)</p><p> Collections 集合類的實(shí)現(xiàn)與作用</p
88、><p> 在本文系統(tǒng)開發(fā)過程中,作者將常用的業(yè)務(wù)實(shí)體抽象為特定的類,如Item、Report、User等,而這些類之間會(huì)存在著相應(yīng)的關(guān)聯(lián)或依存關(guān)系,如Item和Report通過ID關(guān)聯(lián)。應(yīng)用中,產(chǎn)生了例如這樣的需求:獲得一組Item對(duì)象(即Item集合類的實(shí)例,如ItemList),指向其中一個(gè)Item對(duì)象(如Item[i]),從而訪問這個(gè)Item對(duì)象的屬性和方法。為滿足以上集合類的需求,本文作者寫了ItemLi
89、st、ReportList、RepList、UserList等這樣的集合類。這些類繼承了CollectionBase類,利用它內(nèi)置的List和它已經(jīng)實(shí)現(xiàn)的Count、Clear等接口,加上自己顯示實(shí)現(xiàn)了Add、Remove、IndexOf、Insert等接口,提供了集合類的增加、刪除、索引等功能。解決了類關(guān)聯(lián)的問題。提高程序的性能同時(shí)也簡(jiǎn)化了代碼。</p><p> 簡(jiǎn)單闡述過幾個(gè)重要的類在實(shí)現(xiàn)模塊中的作用,下
90、面將講述3個(gè)模塊的實(shí)現(xiàn)過程。</p><p><b> 錄入模塊實(shí)現(xiàn)</b></p><p><b> 主要功能</b></p><p> 本模塊實(shí)現(xiàn)了動(dòng)態(tài)生成、加載表格控件和其他子控件。用戶選擇要填寫的表格模板,系統(tǒng)將根據(jù)該模板存儲(chǔ)的頁(yè)面信息,將表格所包含的所有字段以Web控件的形式顯示在頁(yè)面上。用戶填寫并提交數(shù)據(jù)
91、。</p><p> 值得一提的是,該頁(yè)面在生成控件的同時(shí),可以根據(jù)管理員事先的配置對(duì)指定字段進(jìn)行表格預(yù)填。例如管理員配置了用戶名、用戶性別、住址等字段信息的預(yù)填。頁(yè)面在顯示給用戶的時(shí)候,這些字段已經(jīng)根據(jù)該用戶的詳細(xì)信息填寫完畢,用戶無需重復(fù)填寫。</p><p> 該模塊另一個(gè)特點(diǎn)是能根據(jù)配置要求,對(duì)相應(yīng)控件中用戶提交的信息進(jìn)行數(shù)據(jù)的校驗(yàn)。例如要求有些字段必填,則生成該控件的同時(shí),也
92、生成了一個(gè).net下自帶的RequiredFieldValidator驗(yàn)證控件于該字段綁定,提交頁(yè)面上就會(huì)對(duì)該字段填寫的信息進(jìn)行驗(yàn)證。本系統(tǒng)把驗(yàn)證控件設(shè)置成客戶端驗(yàn)證,免去了多次與服務(wù)器交互的麻煩。同樣的,本系統(tǒng)還支持正則表達(dá)式的判定。可輸入任意正則表達(dá)式,來限制字段的輸入類型,例如數(shù)字、E-mail、郵政編碼等等。下面是錄入模塊的頁(yè)面流程圖。</p><p><b> 頁(yè)面流程圖</b>
93、</p><p><b> 順序圖</b></p><p> 由順序圖可以看出,用戶以合法身份登陸頁(yè)面,選擇所要填寫的模板,這是由Submit這個(gè)UI層的類實(shí)現(xiàn)的,它創(chuàng)建一個(gè)TemplateBuilder實(shí)例,用來獲得一個(gè)動(dòng)態(tài)表格。TemplateBuilder創(chuàng)建一個(gè)Template實(shí)例,加載用戶所選擇的模板文件。TemplateBuilder根據(jù)加載的數(shù)據(jù),解
94、析,生成對(duì)應(yīng)的Table控件和其他Web子控件。如果有需要,再進(jìn)行表格數(shù)據(jù)預(yù)加載。TemplateBuilder工作完成后,將一個(gè)Table服務(wù)器控件返回給Submit UI層,顯示給用戶。用戶進(jìn)行填寫。提交前,頁(yè)面根據(jù)定制對(duì)用戶所填字段數(shù)據(jù)進(jìn)行客戶端驗(yàn)證,輸入數(shù)據(jù)不符合規(guī)范,將在頁(yè)面提示錯(cuò)誤,反饋給用戶,當(dāng)所有提交數(shù)據(jù)驗(yàn)證通過,UI層創(chuàng)建一個(gè)ReportData實(shí)例,用來提取頁(yè)面中用戶提交的信息,并將它存入數(shù)據(jù)庫(kù)。</p>
95、<p><b> 查詢模塊實(shí)現(xiàn)</b></p><p><b> 主要功能</b></p><p> 一個(gè)用戶往往需要填寫各種表格、文件,特殊情況下,同樣一份表格,需要用戶提交多次。當(dāng)用戶填寫的表格增多,一個(gè)方便快捷的查詢模塊對(duì)用戶進(jìn)行已提交信息的查看至關(guān)重要。該模塊中,用戶首先可以瀏覽到所有提交過的表格名稱。當(dāng)用戶選擇該表格
96、,則返回該表格下該用戶所提交過的信息。用table的形式,列出了各次提交的鏈接。用戶可在此基礎(chǔ)上對(duì)表格進(jìn)行瀏覽。但無法修改表格內(nèi)容。</p><p><b> 流程簡(jiǎn)述和順序圖</b></p><p> 這個(gè)模塊的功能較為簡(jiǎn)單。又有了錄入模塊動(dòng)態(tài)加載技術(shù)為基礎(chǔ),實(shí)現(xiàn)起來比較順利。查詢模塊的頁(yè)面流程基本同錄入模塊,與錄入模塊不同的是,在UI層中,創(chuàng)建了reportD
97、ata實(shí)例,用以獲得符合查詢條件的所有report,返回一個(gè)reportList。用戶選擇reportList中某個(gè)report,則UI層生成TemplateBuilder實(shí)例,動(dòng)態(tài)加載頁(yè)面樣式,并把report實(shí)例中的report數(shù)據(jù)加載到相應(yīng)頁(yè)面位置。同樣返回給UI層一個(gè)Table控件,與錄入不同的,這個(gè)控件中并沒有加載用于用戶交互的控件,而是加載了用戶提交過的數(shù)據(jù)。此時(shí)完成頁(yè)面瀏覽。</p><p> 下
98、圖是查詢模塊的順序圖:</p><p><b> 修改模塊實(shí)現(xiàn)</b></p><p> 本文系統(tǒng)支持用戶修改已提交的數(shù)據(jù)。此時(shí)系統(tǒng)不是產(chǎn)生新記錄,而是對(duì)原有記錄進(jìn)行局部更新。這使得頁(yè)面不僅而要?jiǎng)討B(tài)加載子控件,也要把原有數(shù)據(jù)相應(yīng)加載到控件上,用戶無需填寫整張空表。所以,有了上面兩個(gè)模塊的開發(fā)經(jīng)驗(yàn),很容易得出結(jié)論:修改模塊建立與錄入模塊和查詢模塊的基礎(chǔ)上,是這兩個(gè)模
99、塊的發(fā)展。其技術(shù)難點(diǎn)在上兩個(gè)模塊中已經(jīng)詳盡解釋。這里不再贅述。</p><p><b> 系統(tǒng)頁(yè)面功能描述</b></p><p><b> 登陸頁(yè)面</b></p><p> 圖4.20中顯示的系統(tǒng)的登陸頁(yè)面,圖中標(biāo)號(hào)1標(biāo)出的退出按鈕通過一個(gè)JavaScript可以關(guān)閉頁(yè)面。圖中標(biāo)號(hào)2是登陸框,用戶輸入用戶名、密碼
100、到文本框并點(diǎn)擊按鈕完成操作。如果用戶名或密碼錯(cuò)誤,按鈕下會(huì)有錯(cuò)誤提示。</p><p><b> 模板上傳頁(yè)面</b></p><p> 圖4.21顯示的是模板上傳頁(yè)面,標(biāo)簽2的部分是功能菜單,標(biāo)簽3部分管理員可以把本地的模板文件上傳到系統(tǒng),然后在下拉框中選擇系統(tǒng)中存在的模板文件,然后點(diǎn)擊預(yù)覽按鈕,在標(biāo)簽1的地方就會(huì)顯示出該模板的外觀預(yù)覽。標(biāo)簽4的地方是退出系統(tǒng)按
101、鈕。</p><p><b> 模板配置頁(yè)面</b></p><p> 圖4.22顯示的是模板配置頁(yè)面,標(biāo)簽1的部分是功能菜單,標(biāo)簽3的地方顯示的模板的外觀形狀,在不同的單元格里單擊右鍵會(huì)彈出菜單,可以向單元格中做各種配置。標(biāo)簽4是模板文件選擇的下拉框,由管理員在報(bào)表名里為配置的頁(yè)面取一個(gè)名字。</p><p><b> 查詢頁(yè)
102、面</b></p><p> 圖4.23顯示的是管理員的查詢頁(yè)面,標(biāo)簽1的部分是功能菜單,管理員可以按表名和按姓名進(jìn)行查詢。在標(biāo)簽3的地方選擇完畢并按確定以后,在標(biāo)簽2的地方會(huì)顯示數(shù)據(jù)錄入的情況列表,在每一行數(shù)據(jù)后面都有瀏覽的按鈕。</p><p><b> 教師數(shù)據(jù)錄入頁(yè)面</b></p><p> 圖4.24顯示的教師錄入
103、頁(yè)面,標(biāo)簽1是功能菜單,標(biāo)簽3的地方由教師選擇自己需要錄入的報(bào)表,確定以后標(biāo)簽2的地方會(huì)顯示出該報(bào)表頁(yè)面。標(biāo)簽4的地方除了退出按鈕,會(huì)顯示當(dāng)前登陸的老師的姓名。</p><p><b> 教師查詢頁(yè)面</b></p><p> 圖4.25顯示的教師查詢頁(yè)面,標(biāo)簽3的地方會(huì)顯示該教師所擁有的報(bào)表,選擇點(diǎn)擊確定以后標(biāo)簽2的地方便會(huì)列出該報(bào)表由該教師提交的記錄。每行記錄
104、后面都有瀏覽、修改、刪除功能。</p><p><b> 結(jié)論</b></p><p> 本文根據(jù)各行業(yè)信息化平臺(tái)對(duì)信息發(fā)布、收集、統(tǒng)計(jì)日趨動(dòng)態(tài)化、實(shí)時(shí)性、準(zhǔn)確可靠等的需求,提出了Web下可配置信息發(fā)布收集解決方案,并以高校信息化平臺(tái)為背景,設(shè)計(jì)、實(shí)現(xiàn)了一個(gè)面向高校的基于B/S構(gòu)架的可配置信息發(fā)布、收集系統(tǒng)。為解決可配置信息發(fā)布收集找到了一個(gè)研究方向。不可否認(rèn)因?yàn)?/p>
105、許多因素的制約,系統(tǒng)本身仍存在著不少缺陷,但通過本次畢業(yè)設(shè)計(jì)的探索和實(shí)驗(yàn),我們已經(jīng)基本掌握該問題的解決之道,對(duì)該系統(tǒng)的發(fā)展趨勢(shì)有了一個(gè)較為全面的了解。在日后的開發(fā)中,對(duì)它進(jìn)行進(jìn)一步完善的同時(shí),也將考慮如何將其擴(kuò)展到其他領(lǐng)域。對(duì)該系統(tǒng)的發(fā)展前景,是充滿信心的。下面簡(jiǎn)述了系統(tǒng)存在的不足和對(duì)未來的展望。</p><p><b> 系統(tǒng)存在的不足</b></p><p>
106、 本文系統(tǒng)初步實(shí)現(xiàn)了Web下可配置的信息發(fā)布、收集。但仍留下了不少遺憾。主要有以下幾個(gè)方面。</p><p> 尚未能實(shí)現(xiàn)完全的Web可視化配置,不能在網(wǎng)頁(yè)中可視化制作空白表格。雖然現(xiàn)有的javascript技術(shù)可以實(shí)現(xiàn)Web下動(dòng)態(tài)制作表格,但這樣制作的表格難以保存和復(fù)用,并且產(chǎn)生較多多余代碼,執(zhí)行效率和安全性都不高。這個(gè)方案最終被我們拋棄。</p><p> 系統(tǒng)安全性。本文系統(tǒng)涉及
107、的是在網(wǎng)絡(luò)中傳輸信息,當(dāng)中包含了個(gè)人資料、單位資料甚至是項(xiàng)目機(jī)密。這樣的傳輸面臨著種種危險(xiǎn):黑客盜取、網(wǎng)絡(luò)不穩(wěn)定、信息被篡改等等。同時(shí),用戶提交的信息是否得到雙方認(rèn)可是一個(gè)嚴(yán)肅的問題。作為提交方,會(huì)擔(dān)心他人非法盜取自己的用戶名密碼發(fā)送信息。接受方則擔(dān)心收到的是被攔截、篡改的信息,擔(dān)心Web應(yīng)用程序漏洞,擔(dān)心網(wǎng)絡(luò)不穩(wěn)定等等問題。這在本文系統(tǒng)中尚未采取有效的解決辦法。</p><p> 從性能上考慮本系統(tǒng)也存在著不
108、足,在錄入頁(yè)面的生成上,是運(yùn)行時(shí)讀取配置文件動(dòng)態(tài)加載服務(wù)器控件,這樣的處理方式明顯沒有直接讀取ASPX文件性能更好。處理的方式是在管理員配置頁(yè)面的時(shí)候動(dòng)態(tài)生成ASPX頁(yè)面和CS文件,教師在讀取錄入頁(yè)面的時(shí)候,直接讀取ASPX頁(yè)面而不需要讀取配置文件再加載服務(wù)器控件。</p><p><b> 展望</b></p><p> 針對(duì)上一節(jié)提出的系統(tǒng)不足,我們對(duì)系統(tǒng)的下
109、一步開發(fā),有了比較清晰的思路。</p><p> 在可視化建表方面,Scientific Technologies Corporation[2]公司開發(fā)了一個(gè)基于Web的動(dòng)態(tài)建表工具:Form Builder。這個(gè)工具可以幫助用戶應(yīng)用標(biāo)準(zhǔn)的公共衛(wèi)生專業(yè)詞匯創(chuàng)建收集資料所需的表格,雖然他的開發(fā)背景是以醫(yī)療和疾病防治領(lǐng)域,但是動(dòng)態(tài)表格技術(shù)卻是現(xiàn)實(shí)可行的。下一步,本文系統(tǒng)應(yīng)當(dāng)實(shí)現(xiàn)這一技術(shù),進(jìn)一步增強(qiáng)系統(tǒng)自身可配置、按
110、需動(dòng)態(tài)創(chuàng)建的優(yōu)勢(shì)。</p><p> 在系統(tǒng)安全性方面,可以參照電子商務(wù)系統(tǒng)安全解決方案[3],采取一下措施:</p><p> 信息加密。即網(wǎng)絡(luò)信息的保密性(Confidentiality)。自古以來,通信中的安全保密問題一直受到人們的廣泛關(guān)注。</p><p> 身份認(rèn)證(CA: Certificate Authorization)。在互聯(lián)網(wǎng)上,要使交易成
111、功,必須可靠的確認(rèn)雙方身份。另外還有訪問控制的問題,常指對(duì)共享資源的存取控制,即禁止未授權(quán)的用戶訪問有關(guān)資源。CA認(rèn)證在高校信息化平臺(tái)中也是至關(guān)重要的一部分。本文系統(tǒng)既然以高校信息化平臺(tái)為背景出發(fā)點(diǎn),就必然要考慮在系統(tǒng)中加入身份認(rèn)證系統(tǒng)。</p><p> 可靠性/不可否認(rèn)性。提交的信息不能因?yàn)榄h(huán)境的變化而隨意被否認(rèn)的,否則必然會(huì)損害信息傳輸中一方的利益。信息傳輸過程的各個(gè)環(huán)節(jié)都必須是不可否認(rèn)的。</p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于web的可配置信息發(fā)布收集系統(tǒng)-畢業(yè)論文
- 基于web的可配置信息發(fā)布收集系統(tǒng)-畢業(yè)論文
- web下的可配置信息發(fā)布收集系統(tǒng)-畢業(yè)論文
- 畢業(yè)論文——基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 畢業(yè)論文——基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 基于web的校園新聞發(fā)布系統(tǒng)畢業(yè)論文
- cdma網(wǎng)元配置信息管理系統(tǒng)---畢業(yè)論文
- 畢業(yè)論文——基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 畢業(yè)論文(設(shè)計(jì))-基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 畢業(yè)論文(設(shè)計(jì))基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 畢業(yè)論文(設(shè)計(jì))基于web的校園新聞發(fā)布系統(tǒng)
- 基于web新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于web的校園新聞發(fā)布系統(tǒng)畢業(yè)論文開題報(bào)告
- 計(jì)算機(jī)畢業(yè)論文---基于web的個(gè)人網(wǎng)站新聞發(fā)布系統(tǒng)
- 畢業(yè)論文---基于web技術(shù)的外匯牌價(jià)自動(dòng)發(fā)布系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于web的信息發(fā)布系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文基于web的信息檢索系統(tǒng)的研究
- 基于web的圖片信息管理系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文---基于java新聞發(fā)布系統(tǒng)
- 基于web的學(xué)校新聞發(fā)布系統(tǒng)—畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論