目 錄
摘 要 I
Abstract II
1緒論 1
1.1課題背景及意義 1
1.2課題國內外應用及研究現狀 1
1.2.1國外研究現狀 1
1.2.2國內研究現狀 2
1.3論文完成的主要工作 2
1.4論文基本組織結構 3
1.5本章小結 4
2相關技術 5
2.1系統開發結構 5
2.1.1C/S 結構 5
2.1.2B/S 結構 5
2.1.3系統結構選擇 7
2.2系統開發工具 8
2.2.1ASP.NET MVC 框架 8
2.2.2Android Studio 8
2.2.3Xcode 9
2.3編程語言 11
2.3.1Java 11
2.3.2Objective-C 12
2.3.3C#.net 13
2.4 數據庫 14
2.4.1 SQL Server 數據庫 14
2.4.2數據庫選擇 15
2.5本章小結 16
3系統需求分析 17
3.1功能需求分析 17
3.1.1桌面辦公系統需求 17
3.1.2手機移動辦公系統 18
3.2非功能需求分析 19
3.3可行性分析 20
3.4本章小結 20
4黃河生態區管委會綜合信息管理系統設計 22
4.1系統辦公基礎網絡設計 22
4.1.1管委會辦公基礎網絡拓撲圖 22
4.1.2管委會辦公網絡光纖連接示意圖 23
4.1.3黃河生態區管委會網絡光纖入辦公室 25
4.2系統功能模塊劃分 26
4.3數據庫設計 28
4.3.1數據庫的概念設計 28
4.3.2數據庫邏輯設計 34
4.4本章小結 46
5黃河生態區管委會綜合信息管理系統詳細實現 47
5.1桌面辦公系統功能實現 47
5.1.1個人事務 47
5.1.2流程管理 51
5.1.3信息發布 63
5.2手機移動辦公功能實現 67
5.2.1管委發文 67
5.2.2發起流程 71
5.2.3我的待辦 73
5.3本章小結 75
6系統的運行與測試 76
6.1桌面辦公系統運行 76
6.1.1個人事務運行 76
6.1.2流程管理運行 78
6.1.3表單類別運行 79
6.1.4信息發布功能實現 79
6.2手機移動辦公運行 80
6.2.1手機端管委發文 80
6.2.2手機端發起流程 81
6.2.3手機端我的待辦運行 81
6.3系統測試 82
6.3.1系統性能測試 82
6.3.2系統功能測試 84
6.4本章小結 84
7結束語 85
致 謝 86
參考文獻 87
1緒論
1.1課題背景及意義
鄭州黃河風景名勝區是國家級風景區、國家4A級旅游區、國家地質公園,炎黃塑 像落成7年來,已接待海內外游客560余萬人次,是河南文化旅游業璀璨的名片。黃河 生態旅游風景區辦公網是景區辦公應用的基礎支撐平臺,為黃河生態旅游風景區辦公信 息化提供數據通訊及傳輸服務⑴。
目前黃河生態旅游風景區管委會尚未建立光纖級別的網絡傳輸基礎網絡環境和信 息化辦公支撐平臺,辦公室仍采用ADSL接入互聯網,使得辦公人員擴展業務極不方 便,無法對景區的信息化管理,造成景區日常工作處理極為不便、耗時嚴重。管理業務 的自動化基礎薄弱,導致領導看不全業務的整體面貌,看不清工作安排的當前進展和反 饋,看不到及時的業務報表和績效評估;工作人員不能隨時隨地查看工作事項安排、匯 報工作進展、反饋工作進度,還是“靠嘴說、靠腿跑、憑記憶”狀態,員工辦事繁,領導 決策難,直接影響著辦公效率和管理水平囚。
亟需建立一個可以提供數據、語音、視頻傳輸的統一的綜合信息管理系統,全面滿 足辦公需要,同時可以實現各局委辦之間公文信息傳遞、交換、處理的網上互動;建立 覆蓋各局委辦的公共信息平臺,實現在網上進行方便、快捷的電子政務服務⑵。
同時黃河生態旅游風景區管委會作為鄭州市旅游產業對外展示名片,是鄭州市旅游 公共服務及經濟活動領域的重要組成部分,其新建辦公網絡環境需考慮支持IPv6建設, 滿足未來兩年將與鄭州市電子政務外網的IPv6對接[叫兼顧鄭州市智慧旅游發展對IPv6 的支持,風景區未來無線網絡覆蓋對公眾用戶IPv6接入需求⑷。
基于上面的陳述,管委會的信息化建設工作非常有必要,開發黃河生態區管委會綜 合信息管理系統勢在必行。
1.2課題國內外應用及研究現狀
1.2.1國外研究現狀
在50年代,辦公自動化最早自美國和日本興起,當時也只是有電子數據處理的簿 記功能⑸。綜合信息管理系統的相關術語是在美國20世紀60年代初提出的,當時是英 文術語Office Automation,可以譯為辦公室自動化,當時辦公業務的量急劇增多,較大地 影響了企業生產率,為了解決這一問題而發展起來的一項綜合性技術⑴;后來它被管理 信息系統(MIS)取代,70年代中期美國出現了 Office Information System,可以譯為辦公室 信息系統,把辦公信息處理應用在辦公業務中;70年代后期形成了涉及多種技術的學科
一辦公自動化(0A); 80年代,很多著名的計算機公司紛紛躋身于這一市場,國外辦公 自動化在此時期得到了飛速發展;自90年代以來,辦公自動化在世界上主要的發達國 家得到了蓬勃發展向。
1.2.2國內研究現狀
辦公自動化是在70年代末80年代初進入我國。1985年我國國務院協調的辦公自動 化專業領導小組成立。我國的辦公自動化起步較晚但發展很迅速。近30年以來,我國 國民經濟和社會發展快速進步,辦公自動化系統也跟其他應用軟件一樣,發展基本上保 持與國際先進水平一致,目前己達到以知識管理為核心的第三代辦公自動化系統⑸。它 具有明顯的特征:強大的數據處理功能;知識管理原則;辦公自動化是不斷發展的科學 體系。
同時,隨著移動互聯網的高速發展,越來越多的應用都可以運用在移動智能終端中, 人們現在越來越習慣于在智能終端上工作,更多的企業需要一套隨時隨地隨手可以辦公 的智能軟件系統,使工作人員無論置身何地,都可以協同辦公〔71。所以計算機端智能辦 公系統做好的同時,手機移動端軟件的出現和應用更是必然產物岡。
辦公自動化經過近幾十年的發展,現在國內的大中型企事業及政府部門基本實現了 不同程度的信息化運作,同時隨著應用與需求不斷增長和變化,有的單位和部門對其信 息化系統不斷進行著完善和升級[9〕。黃河生態區管委會的景區面積大、辦公地點分散、 部門較多、業務范圍廣,需要的辦公自動化系統要更準確、更快速、更便捷,故對于辦 公自動化系統提出了更高的要求【①。
1.3論文完成的主要工作
通過調研切實以了解管委會對綜合信息系統的實際現狀,從黃河生態管委會綜合信 息系統建設的實際需求出發,針對景區特點,進而確定整個系統及各功能模塊的需求, 設計實現了黃河生態區管委會綜合信息管理系統。
論文完成的主要工作:
1) 分析了綜合信息管理系統的國內外發展現狀,以黃河生態區管委會綜合信息管 理系統建設為工程應用背景,結合黃河生態區管委會辦公管理的特點,闡述了系統設計 的原則和目標意義;
2) 分析比較了包括B/S開發模式、開發工具、Asp.net MVC模式、開發語言、SQL Server數據庫技術等系統設計實現所涉及到的相關技術和相關基礎理論。
3) 從實際需求出發梳理了辦公管理的工作流程,明確了相關的工作節點,完成了 黃河生態區管委會綜合信息管理系統需求分析和可行性分析。
4) 選擇了開發系統要采用的模式、系統設計框架、編程開發語言,數據庫技術, 完成了系統整體框架結構和數據庫設計,規劃了系統的各主要功能模塊。
5)采用 B/S 模式、MVC 框架,Java、Objective-C、.net C#以及 SQL Server 數據庫,完成 了黃河生態區管委會綜合信息管理系統實現,詳細闡述了系統計算機客戶端的個人事 務、流程管理、流程監控、信息發布的功能模塊以及手機客戶端的管委發文、發起流程、 我的待辦的功能模塊的實現過程;實現了黃河生態區管委會綜合信息系統的高效管理。
最后通過系統的功能測試,檢驗了黃河生態區管委會綜合信息管理系統,達到了系 統設計的預期要求和目標,系統滿足了政府職能部門以及管委會辦公信息化的實際應用 需求,使各部門之間的協同工作和信息共享資源能力得到了提高。
1.4論文基本組織結構
論文共分為七個部分,主要如下:
第一章:緒論。主要結合黃河生態區管委會辦公管理的特點,描述了課題背景及意 義,國內外應用及研究現狀,論文完成的主要任務及章節基本組織結構。
第二章:相關技術。主要對黃河生態區管委會綜合信息管理系統開發的埜發模式、 編程語言、開發工具、數據庫技術,具體包括B/S開發模式、開發工具、AspmetMVC 模式、開發語言、SQLServer數據庫技術等系統設計技術進行了詳細的分析介紹。
第三章:系統需求分析。梳理了管委會辦公管理的工作流程,明確了相關的工作節 點,介紹了管委會原有網拓撲圖,然后從功能需求和非功能需求兩個方面對系統的需求 進行分析,并且從技術可行性、經濟可行性和操作可行性三方面對系統進行分析。
第四章:黃河生態區管委會綜合信息管理系統框架。主要完成對系統辦公基礎網絡 拓撲結構、系統功能模塊進行設計和研究,確認開發系統要采用的模式、系統設計框架、 編程開發語言并對數據庫進行詳細的設計。
第五章:黃河生態區管委會綜合信息管理系統詳細設計。采用B/S模式、MVC框架, Java、Objective-C、.netC#以及SQL Server數據庫,完成了黃河生態區管委會綜合信息管理 系統,完成了系統計算機客戶端的個人事務、流程管理、流程監控、信息發布的功能模 塊以及手機客戶端的管委發文、發起流程、我的待辦的功能模塊的詳細的設計與實現。
第六章:系統的運行展示與測試。對設計實現的黃河生態區管委會綜合信息管理系 統進行測試,同時展示了系統部分的運行效果,檢驗了黃河生態區管委會綜合信息管理 系統,達到了系統設計的預期要求和目標。
第七章:總結。對整個黃河生態區管委會綜合信息管理系統開發過程進行總結,并 展望了黃河生態區管委會綜合信息管理系統未來的進一步拓展。
1.5本章小結
本章節主要介紹了黃河生態區管委會綜合信息管理系統開發背景及意義,分析闡述 了國內外系統和技術發展的現狀,介紹了論文完成的主要任務和各章節的組織結構。
2相關技術
本章節主要詳細介紹該系統實現所涉及的相關技術,通過對該系統的開發所需的 MVC模式,編程開發語言,SQL Server數據庫、Android開發技術、B/S模式的分析和 確立,輔助完成該系統的開發、設計工作。
2.1系統開發結構
2.1.1C/S 結構
Client/Server (C/S結構)即客戶機/服務器結構,這種機構開發出的系統需要使用安 裝包。C/S結構需要將應用程序分別裝在兩臺計算機上,一臺計算機(客戶機)安裝 應用軟件,另一臺計算機安裝服務器,服務器的安裝包括單獨裝服務器和應用程序加 服務器安裝兩種形式[⑴。服務器主要負責完成交易處理,數據訪問、修正,數據文件 及其軟件系統的管理;客戶機主要負責全部應用功能,采集數據,管理界面向服務器發 送請求到應用程序最后完成應用處理。
傳統的C/S體系結構雖然采用的是開放模式,但在特定的應用中無論是Client端 還是Server端都還需要特定的軟件支持,沒能提供用戶真正期望的開放環境,C/S結 構是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配 到Client端和Server端來實現,降低了系統的通訊開銷。目前大多數應用軟件系統都 是C/S形式的兩層結構,由于現在的軟件應用系統正在向分布式的Web應用發展, Web和C/S應用都可以進行同樣的業務處理,應用不同的模塊共享邏輯組件。
C/S結構比較適合于在小規模、用戶數較少(<100)>單一數據庫且有安全性和快 速性保障的局域網環境下運行,所以得到了廣泛的應用。但隨著應用系統的大型化, 以及用戶對系統性能要求的不斷提高,兩層模式的Client/Server結構越來越滿足不了 用戶需求。這主要體現在程序開發量大、系統維護困難、客戶機負擔過重、成本增加 及系統的安全性難以保障等方面。
因此,內部的和外部的用戶都可以訪問新的和現有的應用系統,通過現有應用系 統中的邏輯可以擴展出新的應用系統。這也就是目前應用系統的發展方向。
2.1.2B/S 結構
B/S結構(Browser/Server,瀏覽器/服務器模式),是WEB興起后的一種網絡結 構模式,WEB瀏覽器是客戶端最主要的應用軟件。在B/S結構下,這種模式統一了 客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使 用。客戶機上只要安裝一個瀏覽器,如Internet Explorer,服務器安裝SQL Server、
Oracle. MYSQL等數據庫。瀏覽器通過Web Server同數據庫進行數據交互。通過因 特網實現瀏覽器與服務器端的交互。web服務器可以支持并發訪問,無需安裝客戶端, 簡單易用[】2]。如圖2.1所示。
瀏覽
器2
圖2.1 B/S結構圖
B/S結構是伴隨著因特網的興起,對Client/Server結構的一種改進。從本質上說. Browser/Server結構也是一種Client/Server結構,它可看作是一種由傳統的二層模式 Client/Server結構發展而來的三層模式Client/Server結構在Web上應用的特例。
B/S結構利用了不斷成熟的Web瀏覽器技術:結合瀏覽器的多種腳本語言和 ActiveX技術,用通用瀏覽器實現原來需要復雜專用軟件才能實現的強大功能,同時 節約了開發成本。其最大的優點就是可以在任何地方進行操作而不用安裝任何專門的 軟件,只要有一臺能上網的電腦就能使用,客戶端零安裝、零維護。系統的擴展非常 容易。B/S結構的使用越來越多,特別是由需求推動了 AJAX技術的發展,它的程序 也能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增加了交互 性,能進行局部實時刷新。
綜合分析,B/S結構的優勢具體表現在以下三個方面:
(1) B/S最大的優點就是不用安裝任何專門的軟件,隨時隨地只要有-•臺能上網的 計算機,只要求服務器和PC是可連的就可以實現訪問.就能進行操作,系統的擴展非 常容易,客戶端零安裝、零維護。
(2) 系統管理員的版本更新都是在后臺完成的,系統的維護和升級比較簡單,只 需要對服務器進行更新處理,維護成本較低。
(3) 更加注重訪問速度,共享性強【⑸。
2.1.3系統結構選擇
Client/Server結構轉變成Browser/Server結構后,客戶機的壓力大大減輕,負荷被 均衡地分配給了服務器。由于這種結構不再需要專用的客戶端軟件,因此也使技術維 護人員從繁重的安裝、配置和升級等維護工作中解脫了出來,可以把主要精力放在服 務器程序的更新工作上。同時,使用Web瀏覽器作為客戶端軟件,界面友好,新開發 的系統也不需要用戶每次都從頭學習。
三層模式的Browser/Server結構從根本上彌補了傳統的二層模式的Client/Server 結構的缺陷,是應用系統體系結構中一次深刻的變革,三層模式中層與層之間相互獨 立,任何一層的改變都不影響其他層原有的功能,所以可用不同廠家的產品組成性能 更佳的系統。
B/S采用的是三層架構具體工作時只要有瀏覽器就能打開,客戶端通過瀏覽器向服 務器發送http請求(HTTP請求由三部分組成,分別是:請求行、消息報頭、請求正文); 接著web服務器接收信息后,從請求信息中獲取客戶端要訪問的資源、數據等;然后web 服務器通過訪問數據庫服務器獲取到所需要的數據記錄,經過web服務組合彗、html、 css、js等資源,形成html頁面,返回給客戶端;最后客戶端瀏覽器接收到htm;后進行加 載、渲染、呈現給用戶。
系統的工作原理和過程如下圖2.2
WEB 瀏覽器
終上所述,系統模式的選擇主要結合系統的功能需求來進行,分析黃河生態區管 委會綜合信息管理系統業務特點,通過比較C/S模式和B/S模式發現,B/S模式可以
縮短開發周期,同時部署、維護和升級等都更為方便,最終決策黃河生態區管委會綜 合信息管理系統基于B/S模式進行構建,系統用戶在計算機客戶端通過瀏覽器登錄系 統使用。手機客戶端使用手機APP軟件來登錄系統使用。
2.2系統開發工具
2.2.1ASP.NET MVC 框架
ASP.NET MVC是Microsoft提供的Windows系統下面的Web研發框架,是UI端 分層的三層模式,跟三層架構有著本質區別,是在改進WebFoim框架的基礎上革新的 一個輕量級Frameworko不同于WebForm事件驅動模式,ASP.Net MVC以恢復原本web 開發本質為基礎,徹底更新了與Web本質漸行漸遠的事件驅動模式,也改良了 WebForm 同時Microsoft在框架革新的基礎上進一步開源,成為了跨平臺首選Web開發框架。
MVC徹底的分離了前后端,以及抽象層結構的依賴注入,橫切編程模式。具體由 用于模型架構的ModelMedata,用于模型驗證的ValidateProvider,用于數據提供的 ValueProvider,用于數據綁定的ModeBinder,用于視圖綁定的ViewEngine引擎等。構成 了 Asp.Net MVC架構的模式。
MVC模式用Model (模型)、View (視圖)、Controller (控制器)來設計創建的Web 應用程序〔⑷。其中,Model (模型)用于處理應用程序數據邏輯,通常負責在數據庫中 存取數據;View (視圖)一般依據模型數據創建,用于顯示數據(比如數據庫記錄); Controller (控制器)負責從View (視圖)讀取數據,控制用戶輸入,然后向模型發送 數據,最后處理輸入也就是寫入數據庫記錄。MVC分層有助于管理復雜的應用程序, 同時也簡化了分組開發〔⑸。
ASP.NET MVC框架提供了一個可以代替ASPNETWebForm的基于MVC設計模式 的應用,Asp.net MVC優點包括:
(1) 在團隊開發模式下表現更出眾。
(2) 通過把項目分成Modek View和Controller,使得復雜項目更加容易維護,盡 量減少或避免項目之間的耦合,致使項目雖復雜也容易維護。
(3) 使用ViewState和服務器表單控件,較為便捷地控制應用程序。
(4) 分離任務(輸入邏輯,業務邏輯和顯示邏輯),易于測試和默認支持測試驅動 開發。所有MVC用到的組件都是基于接口進行測試,使得測試更加快速和簡捷使Web 程序對單元測試的支持更加出色[均。
2.2.2Android Studio
Android Studio是Android的集成開發工具,是谷歌2013年5月21日推出的新的 一個 Android 集成開發工具,基于 IntelliJ IDEA.類似 Eclipse ADT, Android Studio 提 8
供了集成的Android開發工具用于開發和調試。跟Android相比增了幾個新功能:控 制臺進行了改進,增加了應用翻譯、優化、跟蹤等五個新的功能,包括優化小貼士、應 用翻譯服務、推薦跟蹤、營收曲線圖、用版測試和階段性展示,解決了多語言版本問題, 支持翻譯、提供收入記錄功能,同時開發者可以在編寫程序的同時看到自己的應用在不 同尺寸屏幕中的樣子還能很方便的應用在各種分辨率的設備上【⑴。
Android Studio是基于Gradle構建、Android專屬重構,支持ProGuard和應用簽名 生成的常用的Android應用設計和組件陰。AndroidStudio支持C++編輯和查錯功能。 Android Studio開發碼代碼變得更加容易,速度提升,而且其也能支持C++編輯和查錯 功能,Android Studio提供高性能的自動構建、穩健的依賴項管理以及可自定義的構建 配置功能如圖2.3所示。
An droid Studio
S»»*t • Androtd Studic
Oper Stud*O project
•Chrck 05 p*cjrct kow V.ec* •
•lw»p^ri profvet iGr»die AC'T etz-i
C Imporr ” 4ndro»d c&de uimpie
圖 2.3 Android Studio 運行界面
目前Android Studio被很多開發者應用到智能手機中,成為各類Android設備開發 應用的最快速的工具。Android Studio利用單個項目開發針對多種機型的應用,從而可 以輕松地在應用的不同版本之間共享代碼。Android Studio提供了統一的環境,用于開 發適用于Android手機、平板電腦、Android Wear^ Android TV以及Android Auto的應 用,利用世界一流的代碼編輯、調試、性能工具、一套靈活的構建系統以及一套即時構 建/部署系統,您可以專注于構建獨特的高品質應用。
智能手機更新換代是越來越快,由此看來,基于Android Studio技術開發的手機客 戶端價值巨大。
2.2.3Xcode
Xcode的前身是NEXT的Project Builder,是運行在操作系統Mac OS X上的集成開 發工具(IDE),由Apple Inc開發。Xcode是開發mac OS和iOS應用程序的最快捷的方 式。
Xcode具有統一的用戶界面設計,編碼、測試、調試都在一個簡單的窗口內完成。 最初Xcode的主要版本是Xcode 5,并支持iOS7, 一直到2015年9月16日,蘋果官網發 布Xcode7正式版,同時將Swift語言升級到2.0版本。
無論在Apple Script里編寫腳本,還是用C、C++、Objective-C或Java編寫程序, 或者從另一個奇妙的工具中轉移編碼,都會發現Xcode編譯速度極快又輕松[2°】。的虛 擬模型和設計功能可以更輕松的開發和維護應用程序。只需選擇應用程序中想要編寫的 部分,然后模型和設計系統將自動創建分類圖表,不僅可以顯示編碼,還可以進行瀏覽。 Mac OS X Core Data API幫你的應用程序創建數據結構。更棒的是,它還自動提供撤消、 重做和保存功能,無需編寫任何編碼。
Xcode 包含有 GNU Compiler Collection 自由軟件,并支持 C 語言、C++、Fortran> Objective-Cn O®ective-C++、Java、AppleScript> Python 以及 Ruby,還提供 CocoaCarbon 以及Java等編程模式。Xcode套件使用GDB作為其后臺調試工具。Xcode的操作很便 捷、快速和輕松,它有著統一的用戶界面設計,編碼、測試、調試都可以在一個簡單的 窗口內完成【切。Xcode7正式版的版本與支持信息【'I】如表2.1所示:
表 2.1 Xcode 7.0 - 7.x
Version history
Version minOS
run Xto OS X SDK(s) iOS SDK(s) included other SDK(s) in eluded downloadable iOS Simulators
7.0 10.10.4 OS X vl0.il iOS
9(13A340) watch OS2 iOS &4 + iOS 8.3 + iOS 8.2 + iOS 8.1
7」beta 2 iOS 9」beta watchOS2;tvO
(13B5U9e) Sbeta
Version minOS
run Xto OS X SDK(s) iOS SDK(s) included other SDK(s) included downloadable iOS Simulators
Xcode允許你開發基于iOS的iPad、iPhone、iPod Touch設備應用程序,只要有 Mac OS X Snow Leopard 10.6.2以上版本Mac OS操作系統,便可安裝ios sdk,如果有 iOS設備,便可讓Xcode把應用程序部署到你的iOS設備上,還可以使用iPhone仿真器 進行調試。Xcode提供了友好而方便的應用程序開發環境,可以開發出好的iOS應用程 序。
23編程語言
23.1Java
Java是于1995年推出的面向對象程序設計語言。不僅吸收了 C++語言的各種優點, 還摒棄了 C卄里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單 易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理 論,允許程序員以優雅的思維方式進行復雜的編程。
Javal990年代初最早開發出來名為Oak,是任職SUN系統的詹姆斯•高斯林等人開 發的,主要應用在家用電器(電視機、電話、鬧鐘)等小型系統的程序及語言控制上a】。 后來因為市場需求不大,該計劃被放棄。
Oak后來被SUN系統公司改造,1995年5月以Java命名正式發布,當時在IT界 引起了有力的廣泛關注,可謂是開辟了新紀元。許多計算機企業認為計算機程序設計語 言Java很優秀,他們支持并大力開發了基于Java語言的產品。半年多后,Java 1.0版與 1996年正式發布。1997年,太陽計算機系統公司提出的Java標準獲得國際蓼準化組織 正式通過,Java語言進一步發展成熟。 "
互聯網迅猛發展,Java逐漸成為重要的網絡編程語言,2006年11月13 H, Java 技術的發明者Sun公司宣布,將Java技術作為免費軟件對外發布。Sun公司正式發布的 有關Java平臺標準版的第一批源代碼,以及Java迷你版的可執行源代碼。從2007年3 月起,全世界所有的開發人員均可對Java源代碼進行修改Java具有簡單性、湎向對象、 分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點,萼va可以編 寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 '
基于Java實現的HotJava瀏覽器實現了跨平臺、動態的Web^ Internet計算,支持 所有常用的瀏覽器。目前Java擁有全球最大開發者專業社群,廣泛應用于PC、游戲控 制臺、移動電話、數據中心[23][241o
Java語言的特點有:
(1)簡單性
去掉了 C和C++語言中難以理解的、容易弄錯的使用功能,如指針等,利用垃圾回 收機制實現內存管理,類庫變得更加豐富,從而統一在不同操作系統中的各種數據類型 可以占用的內存空間卩叫
(2)面向對象
它是一種面向對象的編程語言,基于對象的編程更加符合人的思維模式,使人們更 容易解決復雜的問題〔型。
(3)多線程
Java內置對多線程的支持。多線程技術主要用于處理復雜和并行事務,允許同時完 成多個任務,從而提高程序的運行效率及程序的實時控制性能。
(4)安全
Java的存儲分配模型是它防御惡意代碼的主要方法之一。Java語言在執行前和執行 過程中都會進行反復的安全測試,保證了運行的安全性。Java語言不允許Java Applet 程序訪問當前瀏覽器上下文環境以外的其他部分,杜絕對內存的非法操作Pl。
(5)平臺移植性
Java實現了 Java編譯器,ANSI C實現了 Java的運行環境。Java語言的設計目標就 是一次編寫,多平臺運行。利用Java解釋器和虛擬機,Java應用程序可以運行在任意 操作系統之上,這為Java應用程序的可移植性奠定了堅實的基礎a】。
(6)分布性
Java支持各種層次網絡連接同時支持流(stream)網絡連接,用戶可以產生分布式 的服務器和客戶機。
(7)高性能
Java是一種先編譯后解釋的語言。Java有“及時”編譯程序,可以實現全編譯,也就 是運行時把Java字節碼可以翻譯成特定CPU的機器代碼a】。
2009年,甲骨文公司宣布收購Sun公司。2010年Java編程語言的共同創始人之一詹姆斯•高 斯林從Oracle公司辭職。2011年,甲骨文公司舉行了全球性的活動,以慶祝Java7的推出,隨 后Java7正式發布。2014年,甲骨文公司發布了 Java8正式版
2.3.2 Objective-C
Objective-C最初是在1980年代初由布萊德•考克斯(Brad Cox)在他的公司發明的。它 是擴充C的面向對象編程語言,非常實用,完全兼容標準C語言,主要用于Mac OS X 和GNUstep,通常被寫作ObjC或0C。
Objective-C是非常實用的語言。它是一個用C寫成很小的運行庫,令應用程序的 尺寸增加很小,和大部分00系統使用極大的VM執行時間會取代了整個系統的運作相 反。Objective-C寫成的程序通常不會比其原始碼大很多。而其函式庫(通常沒附在軟件 發行本)亦和Smalltalk系統要使用極大的內存來開啟一個窗口的情況相反。
因此,Objective-C它完全兼容標準C語言(C++對C語言的兼容僅在于大部分語法 上,而在ABI (Application Binary Interface)上,還需要使用extern "C"S種顯式聲明來 與C函數進行兼容),而在此基礎上增加了面向對象編程語言的特性以及Smalltalk消息 機制。
Objective-C是iOS操作系統、iOS應用程序、Mac OS X操作系統、Mac OSX上的 應用程序的編寫利器[27],它完全兼容標準C語言(C++對C語言的兼容僅在于大部分語 法上,而在ABI(Application Binary Interface)_t,還需要使用extern "C"這種顯式聲明來 與C函數進行兼容),而在此基礎上增加了面向對象編程語言的特性以及Smalltalk消息 機制。
Objective-C和C++不同不支持運算子重載(它不支持ad-hoc多型)。亦與C++不同, 但和Java、Smalltalk 一樣,Objective-C不支持多重繼承0bjective-C只容許對象繼承一 個類別(不設多重繼承)。Categories和protocols不但可以提供很多多重繼承的好處,而 且沒有很多缺點。
Objective-C 是動態定型(dynamicaly typed),它的類庫比 C++容易操作。Objective-C 在運行時可以允許根據字符串名字來訪問方法和類,還可以動態連接和添加類。C++和 Objective-C的差別,與其說是技術上的,不如說是思維方式上的決定于否想更安全而舍 棄靈活性,當然Objective-C的熱度完全是由基于Objective-C編寫的熱門iOS應用決定 的。Objective-C流行的主要原因可能是它是唯一一種可以為iPhone和iPad編程的語言。 但單從編程語言的角度來看,Objective-C學習具體一定的難度
2.3.3C#.net
C#.net是指基于在.net平臺上支持用C#語言開發程序。C#是一個語言,2net是一個 平臺,上面支持用C#或者VB .Net寫代碼。另外,C#不但可以開發基于.net的應用程序, 也可以開發基于WinForm的程序。
.NET是Microsoft的XMLWeb服務平臺。不論操作系統或編程語言有何差別, XML Web服務能使應用程序在Internet上傳輸和共享數據oMicrosoft正在五個方面倉0 建.NET平臺,具體包括工具、服務器、XML Web服務、客戶端和.NET蠻驗的創建, 包含廣泛的產品系列,提供從開發、管理、使用到體驗XMLWeb服務的4個方面。 XMLWeb服務在所有的操作系統或者編程語言,都能實現應用程序在Internet上的傳 輸和共享(291。.NET當做一個工作平臺一般,它是一個開發環境的基底,提供了解其運 作的相關機制那是有助于你利用它來開發,C#和.NET主要是應用在網際網路。
它的特性有[絢:
(1)泛型
泛型通過將數據類型參數化實現了代碼更為靈活的復用。它是C#2.0最重大的改進, 它使得C#能使用同一段代碼進行多種數據類型操作。它的出現提升了 C#代碼類型安全、 效率、約束。
(2)迭代器
迭代器簡化了部分接口,改進了 1.0中可用foreach語句類型的編寫限制。迭代器允 許我們更加方便的編寫用于foreach語句的類型卩叭
(3)局部類型
允許將一個類的代碼分別寫在不同的cs文件中。最典型的應用就是使用VS2005創 建Form文件時,VS會自動將系統生成的代碼與用戶代碼分開。局部類型通過partial 關鍵字來聲明
(4)空屬類型
空屬類型是一種像int, —樣可以為空的變量類型,本質上是一種泛型的應用,是 一種類型實例化。
C#提供了很多控件用于開發應用程序。根據其應用環境分為兩類:
Windows Form控件:主要用于Windows應用程序的開發。所有的Windows控件都 是從Control類中派生來的,該類包含了所有用戶界面的Windows Form組件,其中也包 括Form類。Control類中包括了很多位所有控件所共享的屬性、事件和方法。它包含復 選框、文本框、按鈕、標簽、圖像列表等。
Web窗體控件:主要用于Web應用程序的開發。它是專門針對Asp .NET Web窗體 設計的服務器控件。Web窗體控件包含在命名空間System.Web.UI.WebControls中,當 用戶使用Visual Studio創建Web窗體頁面時,會自動在后臺代碼文件中添加引用該命名 空間的Using語句。
.NET Compact Framework提供了可以滿足大多數設備項目需要的Windows Form 控件。若要使用這些控件沒有的功能,可以從公共控件派生您自己的自定義控件。可以 通過定義從Control類或從程序集中的現有UserControl繼承的公共類型創建自定義 控件,通過添加引用來導入自定義控件。支持這些自定義的.NET的控件有: ComponentOne Studio, Spread, ActiveReports、MultiRow 等。
2.4數據庫
2.4.1SQL Server 數據庫
SQL是英文Structured Query Language的縮寫,意思為結構化查詢語言。SQL語言 的主要功能就是同各種數據庫建立聯系,進行溝通。按照ANSI(美國國家標準協會)的規 定,SQL被作為關系型數據庫管理系統的標準語言。SQLServer是由Microsoft開發和 推廣的關系數據庫管理系統,最初由Microsoft、Sybase和Ashton-Tate三家公司共同開 發,于1988年推出了第一個OS/2版本創。
Microsoft近年來不斷開發推廣、更新版本,1996年推出了 SQL Server 6.5版本, 1998年,推出了 SQL Server 7.0版本。2000年推出SQL Server 2000,目前最新版本是 2017 年推出的 SQL SERVER 2017[32]。
特點如下:
(1)體系結構屬于真正的客戶機/服務器,形化用戶界面,使系統管理和數據庫管 理更加直觀、簡單
(2)程序設計有著豐富的編程接口工具,可選擇余地大,SLServer與WindowsNT 完全集成,利用了 NT的許多功能,如發送和接受消息,管理登錄安全性等也可以很好 地與Microsoft BackOffice產品集成。
(3)SQL Server可以與Microsoft BackOffice產品集成,也可以利用NT的許多功能, 與 Windows NT產品集成。
(4)技術支持將數據庫中的數據很容易地發布到Web頁面【列。
(5)具有很好的伸縮性,可跨越從運,可實現跨越從小型計算機到大型、多處理 器計算機等平臺運行使用⑴】。
從結構的角度看,SQL Server而言,即使在運行SQL Server的同一臺機器上運行 應用程序,仍然還是客戶機/服務器模型。服務器運行一個單獨的多線程進程,為來自客 戶機的請求提供服務,不管客戶機的位置,客戶機程序代碼本身是單獨的運行在客戶機 應用程序內部的DLL與SQL Server的實際接口是在客戶機和服務器之間對話的“表格 數據流”(TDS)協議。
Microsoft SQL Server是一個全面的數據庫平臺,使用集成的商業智能(BI)工具提 供了企業級的數據管理。Microsoft SQL Server數據庫引擎為關系型數據和為化數據提 供了更安全可靠的存儲功能,使您可以構建和管理用于業務的高可用和高性能的數據應 用程序。
2.4.2數據庫選擇
目前有許多數據庫產品,如 Oracle、Sybase、Infdrmix、Microsoft SQL Server> Microsoft Access. Visual FoxPro等產品各以自己特有的功能,在數據庫市場上占有一席之地。SQL Server 一般用于Web上存儲數據,提供了眾多功能,如對XML和Internet標準的豐富支 持,通過Web對數據輕松安全的訪問,具有靈活的、安全的、和基于Web的應用程序 管理等,其容易操作的操作界面,受到廣大用戶的喜愛。
綜合考慮性能、費用、易用性和安全性方面,黃河生態區管委會綜合信息管理系統 的數據庫設計選用SQL Server2012數據庫,實現系統數據庫表格,存儲產生的數據、表 格和信息完成數據的管理。SQL Server 2012是Microsoft公司推出的應用最廣泛關系型 數據庫管理系統之一,全面支持云技術與平臺,并且能夠快速構建相應的解決方案實現 私有云與公有云之間數據的擴展與應用的遷移。
SQL Server 2012包含企業版(Enterprise),標準版(Standard),另外新增了商業智能版 (Business Intelligence),增加Power View數據查找工具和數據質量服務,企業版本則提 高安全性可用性,以及從大數據到Streaminsight復雜事件處理,再到新的可視化數據和 分析工具等SQL Server 2012發布時還將包括Web版、開發者版本以及精簡版。
2.5本章小結
本章主要對軟件開發所需要的開發模式、開發工具、開發語言、數據庫進行了詳細 的介紹,使用這些技術將為后續黃河生態區管委會綜合信息管理系統的開發打下基礎。
3系統需求分析
本章根據對管委會辦公管理的工作流程以及現狀進行實際調研,明確了相關的工作 節點,從功能需求和非功能的需求兩方面對系統的需求進行分析,并且從技術可行性、 經濟可行性和操作可行性三方面對系統進行分析。
3.1功能需求分析
鄭州黃河風景名勝區是國家級風景區、國家4A級旅游區、國家地質公園,炎黃塑 像落成7年來,已接待海內外游客560余萬人次,是河南文化旅游業璀璨的名片。
黃河生態旅游風景區辦公網是景區辦公應用的基礎支撐平臺,為黃河生態旅游風景 區辦公信息化提供數據通訊及傳輸服務。目前黃河生態旅游風景區尚未建立光纖級別的 網絡傳輸基礎網絡環境和信息化辦公支撐平臺,辦公室仍采用ADSL接入互聯網,管 理業務的自動化基礎薄弱,日常工作信息處理極為不便、耗時嚴重。
部門領導或職能管理部分難以根據辦公的需要隨時知悉工作安排以及任務執行的 進展和信息反饋,更無法及時查收業務報表和完成部門的工作績效評估,為使黃河生態 旅游風景區辦公信息可以隨時隨地進行審閱、部門管理可及時批轉工作、工作人員可按 需要隨時隨地查看接收工作事項安排、進行工作進展匯報和反饋,迫切需要建設完成一 套黃河生態區管委會綜合信息管理系統針對性解決以上問題,實現電子網絡化辦公、實 現隨時隨地移動化辦公,有效的提升黃河生態旅游風景區辦公效率和信息化,其應用價 值和意義顯著。
在經濟快速發展、互聯網蓬勃發展的今天,
3.1.1桌面辦公系統需求
經過與管委會管理部門領導及具體辦公人員進行實際系統需求溝通,黃河生態區管 委會綜合信息管理桌面辦公系統功能需求將具體完成包括系統個人事務、流程管理、信 息發布、規章制度、行政管理、人力資源、系統管理等功能模塊設計。
(1)系統個人事務
包括工作日記、我的日程、通訊錄、我的工資、工作任務、管委會發文、我的文檔、 我的會議資料幾個子功能模塊,實現管委會每個工作人員具體通過登錄自己的賬號和密 碼后,可以方便的完成查看相關工作信息、查收相關工作任務,并同時可自主完成個人 密碼的管理。
(2)流程管理
主要實現系統辦公流程的創建、流程的設計和系統中流程類別的管理。每系統用戶
個人都可以發起工作流程,工作流程在運轉過程中涉及到的管理人員可以完成查收、審 閱到正在運轉程序的流程,每個流程將可以按照設計環節運轉直至工作流程達到結束、 審批完成或審批不完成等結果信息反饋到發起工作流程人員。
(3)系統信息發布
系統管理員通過信息發布模塊,能夠實現管委文件的編輯和發布、各類會議資料的 下發,會議的發起,職能管理部門通知的上傳及文件下達的功能。
(4)規章制度模塊
通過系統實現單位行政規章制度分類完成上傳,各級注冊登錄用戶可以進行及時的 查詢、比對及規章制度文檔的下載功能。
(5)行政管理
該功能模塊要實現包括發起申請流程完成相關部門辦公派車、辦公用品申請領用、 相關領導簽字審批等功能,避免以往各個部門申請和辦理的現場處理,實現線上速度處 理完成。
(6)人力資源模塊
通過系統人力資源模塊實現黃河生態區管委會對單位的人事檔案資源的信息化管 理功能。
(7)系統管理
模塊要全面實現對系統運行日志、組織機構及系統用戶認證等管理操作功能。
通過實現以上的功能模塊設計,將使黃河生態區管委會綜合信息管理桌面辦公系統 普通用戶和系統管理員感受到信息化辦公的便捷,使以往事務工作的相關流程處理方面 簡單化,讓系統管理員或部門領導可隨時查閱相關工作事務的處理進度及問題,實時有 效的推進工作在時間和空間上的進展。
3.1.2手機移動辦公系統
手機移動辦公系統功能需求主要是通過移動APP,實現包括密碼登錄功能、管委發 文、通訊錄、規章制度、日記、我的待辦、已辦流程、發起流程、任務、會議資料發布 等辦公模塊的功能的移動端的實現,具體保證不同的手機及移動設備的適應度,可以分 別選擇目前的主流方式下載黃河生態區管委會綜合信息管理系統的移動APPo
通過手機移動端完成用戶實名登錄認證以及根據個人在黃河生態區管委會綜合信 息管理系統中的權限進入對應移動頁面,并依據用戶權限在線獲得系統信息,結合移動 端優勢實現包括管委發文功能模塊既實現用手機隨時可以查收并查看管委會發的文件; 通訊錄分類頁,可以按科室分類選擇查看通訊錄信息;規章制度分類頁,可以按科室、 按制度類別查找規章制度,找到后可以下載附件進行查看;日記列表頁,可以查看日記 內容;點擊我的待辦,可以及時看到需要當前用戶處理的流程數據;點擊已辦流程,可 以看到由當前用戶發起或者當前用戶參與審批過的所有流程;點擊發起流程,進入發起 流程界面,通過分類選擇想要發起的流程表格進行填寫提交后就可以等待審批結果;點 擊會議資料,可以在會議資料列表頁面看到所有當前用戶接收到的會議資料數據等功 能。
3.2非功能需求分析
黃河生態區管委會綜合信息管理系統實現的非功能性需求指的是開發的系統中保 證、易用可靠性、可擴展性、安全性、先進性等的系統性能功能使設計的系統在保證功 能需求的前提下,同時需要考慮系統相應的先進性、易用性和安全性等非功能特性。這 樣開發出的系統才能夠具有更好的系統響應,做到快速、健壯、有條不紊。
(1)系統性能。
對系統數據處理精確度、數據的安全性與正確性、數據處理速度、程序響應速度等 達到要求,并在一定的登錄人數范圍壓力下能夠實現較大數據量的傳輸,并設計有系統 警告閾值叫
(2)技術先進性。
具體包括設計技術先進和系統的結構先進,通過在黃河生態區管委會綜合信息管理 系統在設計的過程中應采用目前主流開發技術,穩定先進的結構進行系統開發實現系統 先進性特性,以更好地適應管委會的信息化辦公的需要1殉。
(3)易用性和可靠性。
管委會職工存在年齡、學歷差異,為了使所有職工都能方便使用這茶統,設計實 現的系統界面應簡單、簡潔美觀并且易學易用;系統登錄界面統一,系統鬼據使用者的 權限,會自動顯示所有功能,用戶登錄后即可使用,所有用戶進入操作界面后,要能夠 很容易地找到所需的功能,方便、快捷地完成操作,無需切換不同系統功能來尋找待辦 工作,做到系統容易理解和使用。當系統出現異常時,自動會彈出提示信息,幫助登錄 用戶排查異常原因或執行相應操作。
(4)安全性。
系統操作過程中要確保數據和信息交換的安全性,具體的安全性需求主要有:管理 用戶、管理員用戶、普通登錄用戶的登錄身份認證;操作權限、訪問范圍及其控制;防 止被惡意篡改、被竊取信息;安全級別控制、加密技術設置;完善的數據備份及恢復手 段等〔37】。必須有強有力的措施切實保證數據及信息交換的安全,保證管委會的工作正常 運轉,保證相關資料不流失和竊取【州。
(5)適應性和可擴展性要求。
黃河生態區管委會綜合信息管理系統應具備足夠的適應能力,特別是客戶端應適應 不同的運行環境。此外,考慮到系統未來的發展需求,保證以后能方便地對服務器和數
據庫進行升級,從操作方法簡便、投資適合、系統方便擴展和維護的角度充分考慮,要 既能適應系統變化的要求,降低人力資源的費用,同時又具有很好的可擴充性,計劃實 現可滿足景區未來數年內信息化建設支撐。網絡及安全設備必須同時支持IPV4、IPV6 雙協議棧,為未來接入下一代互聯網應用做鏈路協議的支撐,同時要提供良好的冗余性 以防止業務長時間中斷,滿足管委會業務未來數年內的拓展需求。
3.3可行性分析
(1) 技術可行性分析。
黃河生態區管委會綜合信息管理系統桌面辦公端開發設計采用的Asp.net MVC模 式、開發語言、B/S開發模式、Java開發工具等、移動端的Android Studio> Xcode^ Objective-C等技術以及Microsoft SQL Server 2012數據庫,根據第二章的闡述,上述的 編程語言和技術手段選用方法目標明確,大都技術先進且發展成熟,目前己經成功地在 很多相類似的系統開發中得以實際應用,因此使用它們開發黃河生態區管委會綜合信息 管理系統,從技術層面進行分析是完全可行的。
(2) 經濟可行性分析。
經濟是否可行,要看該系統設計所要投入的資金來源是否有保障,是否符合預算標 準。由于開發黃河生態區管委會綜合信息管理系統所需的硬件環境(計算機及相關硬件) 和軟件環境(Windows操作系統、Android開發環境等),比較容易從市場上購買或從互 聯網上下載,故前期成本較低。由于黃河生態區管委會綜合信息管理系統,開發周期較 短,人力成本不大,所以開發成本較低。
開發使用后會節約大量的人力和物力,管理方便,減少不必要的開銷,可實現降低 成本、節約開支、提高效率,最終提高系統應用的經濟效益。同時本系統具有可擴展性、 易升級性和開放性,以后產生的效益將遠遠大于黃河生態區管委會綜合信息管理系統的 開發成本。因此,從經濟方面分析,該系統的開發是可行的。
(3) 操作可行性分析。
黃河生態區管委會綜合信息管理系統采用的是B/S模式,只要安裝的有web瀏覽 器就行,目前管委會安裝的都是windows系統,通過web的統一界面進行操作,對于客 戶來說操作比較簡單。基于手機平臺的系統上線后,無論管委會工作人員身在何地,只 要有智能手機并能夠接入互聯網就可以安裝并運行黃河生態區管委會綜合信息管理系 統,系統在操作上簡單、方便,易于使用,因此從操作方面開發黃河生態區管委會綜合 信息管理系統是可行的。
3.4本章小結
本章從黃河生態區管委會綜合信息管理系統功能需求和非功能需求兩個方面對系 20
統的需求進行分析,并且從經濟、技術、操作三個方面對系統開發的可行性進行研究分 析,通過對黃河生態區管委會綜合信息管理系統需求分析確定了應該設計完成的系統功 能,為后續的系統設計工作明確了目標。
4黃河生態區管委會綜合信息管理系統設計
4.1系統辦公基礎網絡設計
4.1.1管委會辦公基礎網絡拓撲圖
鄭州市電子誼務外網
(R運營育刪(砸、両?
--
-
圖4.1管委會辦公基礎網絡拓撲圖
基于管委會辦公區域分布以及辦公地點數統計分析后,設計了圖4.1管委會網絡改 造后的網絡拓撲結構,三層網絡拓撲架構體系架構具有穩定性、高效性、安全性和可擴 展性。
設計的網絡架構體系優勢:
(1) 采用二層&三層網絡架構[刑
針對管委會辦公網絡分散的復雜性,采用智能核心交換、智能匯聚交換和智能接入 交換三層架構組網,組網方式靈活性強、安全性強、可擴展性強、性能高效且性價比較 高,可以很好保護景區投資。
(2) 鏈路冗余設計
在出口處設計通過負載設備對出口的運營商鏈路進行鏈路負載冗余,保障出口上連 鏈路的穩定性,降低由于某一加運營商的鏈路因修路等原因被切斷而造成網絡長期中斷 的風險。在網絡結構的骨干線路上采用雙鏈路連接,保障業務不會因為某一骨干設備的 某一連接接口出現故障而連接失敗〔創。
(3)組網安全性
針對陳舊的網絡環境存在的安全隱患,辦公網建設在安全上增加邊界防火墻為網絡 進行安全防護。出口鏈路接入到鄭州市電子政務網絡以后,上連的鏈路安全級別也將大 幅提升。
(4)接入端口冗余設計
針對分散的辦公點,智能交換設備接入端口充足,可以根據每一辦公點的辦公需求 以及人員擴充需求。每個辦公區域按當前需求放置一或多臺上連千兆,下連24 口 10M/100M/1000M自適應接入交換機,這樣不僅可以滿足目前管委會網絡終端接入需 求,即使未來有新增辦公點,也不用再掛接非智能8 口小交換設備,冗余端口完全可以 滿足。
(5)組網業務承載能力
如圖4.1所示,設計的網絡在網絡管理區域、接入核心區域等主干區域,均采用千 兆光纖鏈路,接入到整個辦公區域采用10M/100M/1000M自適應的網絡接目,實現光纖 入辦公室,既可以滿足當前網絡辦公需求,又可以為未來終端設備升級改遙提供鏈路支 撐。
(6)自動化辦公系統本地化
管委會辦公業務系統涉及到與管委會票務系統的對接,出于票務系統信息的敏感 性,不適合完全部署在政務網上,所以需要在景區本地部署一臺服務器來姜撐管委會的 自動化辦公系統應用。同時,辦公自動化系統本地部署,可以改變工作方幫,提升管委 會的管理強度和部門間協同辦公的工作效率。 ”
(7)IPv4/IPv6 互通
通過旁掛于核心交換設備的IPv4/IPv6互通設備實現雙棧網絡搭建,滿足部分不支 持IPv6的陳舊的辦公終端也可以正常接入IPv6網絡,同時兼顧未來接入到鄭州市電子 政務IPv4/IPv6外網,通過鄭州市電子政務外網訪問鄭州市IPv6電子政務信息系統、IPv6 行政審批系統、IPv6電子政務門戶網站以及IPv4/IPv6雙棧智慧旅游應用,乃至于管委 會網絡向智慧旅游應用及政府旅游網站提供IPv4/IPv6數據資源接口。
4.1.2管委會辦公網絡光纖連接示意圖
根據黃河生態區管委會實際地理情況設計,負載均衡、防火墻以及核心交換機均部 署在管委會辦公樓的機房中,匯聚交換機部署在游客服務中心,與核心交換機一起分擔 各個節點的網絡接入。其他辦公區域部署接入交換機,搭配使用不同芯數的單模光纖實 現鏈路互聯到核心/匯聚,光纜鋪設采取穿井、直埋等多種方式配合施工,在條件較為復 雜的區域還需使用跨山、繞山等難度較大的方式進行鋪設⑷】。
各辦公區域根據辦公的人員數量以及帶寬要求情況的不同,接入光纜分不同芯數光 纜連接,接入交換機配置數量也不相同,從而達到經濟與性能的最佳平衡。核心交換機到 匯聚交換機及各個接入交換機均采用千兆光纖互聯,實現光纖到接入,千兆鏈路到桌面。 如圖4.2所示管委會辦公網絡的網絡及安全設備包括:負載均衡、防火墻、核心交換機、 匯聚交換機和接入交換機均采用光纖鏈路直連。
圖4.2管委會辦公網絡光纖連接示意圖
(1)黃河生態區管委會
分別拉兩根40芯的單模光纜,一根光纜到黃河供水旅游公司,一根光纜到地質博 物館,做互聯使用;.在管委會大樓內部拉6根8芯的單模光纜到機房用于滿足管委會辦 公計算機接入核心;;
(2)黃河供水旅游公司
接收來自管委會的一根48芯單模光纜,并熔接成端做互聯使用;同時在大樓內拉6 根8芯的單模光纜用于滿足公司內辦公計算機接入;
(3)地質博物館
接收來自管委會的一根48芯單模光纜,并熔接成端做互聯使用;拉岀兩根光纜—— 一根48芯的單模光纜到游客服務中心做互聯使用,另一根24芯的單模光纜到炎黃管理
所-月門做互聯使用;
(4) 炎黃管理所
接收來自地質博物館的一根24芯單模光纜,并熔接成端做互聯使用;
(5) 游客服務中心
接收來自地質博物館的一根48芯單模光纜,并熔接成端做互聯使用;拉出三根光 纜——一根48芯的單模光纜到執法大隊做互聯使用;一根24芯的單模光纜到炎黃管理 所半山辦公室,做互聯使用;一根24芯的單模光纜到廣場東票房,做互聯使用;
(6) 炎黃管理所半山辦公室
接收來自游客服務中心的24芯單模光纜,并熔接成端做互聯使用;
(7》廣場東票房
接收來自游客服務中心的24芯單模光纜,并熔接成端做互聯使用;
(8) 執法大隊
接收來自游客服務中心的48芯單模光纜,并熔接成端做互聯使用;拉出兩根光纜 一根24芯單模光纜到園林管理所;一根24芯單模光纜到大門票房,互聯使用瞎
(9) 園林管理所 '
接收來自執法大隊的24芯單模光纜,并熔接成端做互聯使用;
(10) 大門票房
接收來自執法大隊的24芯單模光纜,并熔接成端做互聯使用; .
綜上所述,整體的設計思路是采用48芯的單模光纜做主干光纖鏈路,分別串聯著 黃河供水旅游公司、黃河生態區管委會、地址博物館、游客服務中心、執法大陵這5個 辦公區域,剩余的辦公區域分散在主干鏈路旁邊,包含炎黃管理所、炎黃管理辦公室、 廣場東票房、園林管理所和大門票房這5個辦公區域,分別用24芯的單模光纜做互聯 鏈路,在滿足當前使用的情況下,也為未來管委會的信息化建設做支撐準備。
4.1.3黃河生態區管委會網絡光纖入辦公室
黃河生態區管委會辦公網絡建設從核心設備到接入設備均采用千兆光纖互聯,每個 點位根據接入用戶數量的不同和業務要求帶寬的不同,部署相應數量的接入交換機和帶 寬配比【嗚。
為進行節約型建設,設計上一個辦公區域的鄰近的多個辦公室公采用一臺接入交換 設備,通過劃分邏輯VLAN實現對不同部門的接入管理,這樣對問題排查和解決也提供 了便利。如圖4.3所示:多個辦公室公用一臺接入交換設備,室內的信息點使用高速雙 絞線網線,采用明裝布線方式與接入交換機連接,根據各個辦公室大小及辦公終端的多 少計劃布置信息點數量,以滿足屋內信息點冗余及未來擴展辦公人員的需求。
圖4.3光纖接入辦公室示意圖
4.2系統功能模塊劃分
基于黃河生態區管委會綜合信息管理系統的實際需求分析,系統功能包括桌面辦公 系統功能和手機移動辦公系統兩部分。其中桌面辦公系統功能按包括個人事務、流程管 理、信息發布、規章制度、行政管理、人力資源、系統管理進行設計。手機移動辦公系 統包括了管委發文、通訊錄、規章制度、日記、我的待辦、已辦流程、發起流程、任務、 會議資料幾部分,圖4.4所示為系統功能模塊圖。
I會議資料
1—1發起流程
附件.卜載-
查看
已完成任務
當前任包 査看進度- 申請—I
p-l 駁回 —I不同意-
我的待辦
rlnwwN
1—1 査
fel加- 查看 - pH下載一 規章制度一「
查看
通訊錄
I系統菅理
規章制度
組織機構管理-
系統日
工資詳書 人事檔案」
■j信息劇
工工作任務-
-■ ~ .^1 ~ 管委發文- 會議資料-
丄我的日程- 丄工作
圖4.4系統功能模塊劃分匸
43數據庫設計
數據庫是需要設計的,數據庫設計反映在兩方面:數據庫邏輯設計和數據庫物理設 計,設計數據庫的邏輯結構,與具體的DBMS無關,主要反映業務邏輯;設計數據庫 的物理結構,根據數據庫的邏輯結構來選定DBMS(如SQL Server或Oracle或MySql), 并設計和實施數據庫的存儲結構、存取方式等。
數據庫設計按以下五個主要步驟:
1、 需求分析:根據用戶的數據需求、處理需求,完全性及完整性要求進行分析。
2、 概念設計:設計系統概念模型一一E-R圖。
3、 結構設計:設計系統的模式和外模式,設計數據的存儲結構和存取方法。
4、 系統實施:數據入庫,編制應用程序并試運行。
5、 運行維護:系統投入運行,后期維護。
黃河生態區管委會綜合信息管理系統的數據庫設計,主要包括數據邏輯結構設計、 數據字典以及運行環境、安全設計等。
采用面向對象的設計方法,首先進行對象的實體設計,最后將對象持久化到數據庫 中,所有表和表之間的關系都采用標準的DPI具進行設計,.這樣能夠將整個系統的設 計和數據庫設計有機的結合起來
4.3.1數據庫的概念設計
數據庫的概念設計的目標是為了得到一個反映企業組織信息需求的數據庫概念模 式,這個模式獨立于數據庫的邏輯結構和物理結構醐。進行數據庫概念設計,首先要 設計滿足功能模塊實現的各項實體,其次要描述實體之間的關系,最后通過實體-聯系 圖完成數據庫的概念設計,為下一步邏輯設計做鋪墊。
E-R圖是實體-聯系圖的簡稱,它是描述概念結構模型的有效方法。E-R圖的繪制 的基本原則是先局部后全局,每個局部的E-R,首先抽象出所有實體,然后分析出每 個實體的屬性,最后考慮實體之間的聯系。黃河生態區管委會綜合信息管理系統的總 體數據庫E-R圖如圖4.5所示,系統的工作流模塊E-R圖如圖4.6所示,系統的車輛管 理,用戶管理模塊E-R圖如圖4.7所示,系統的公共基礎數據模塊E-R圖如圖4.8所示, 系統的個人事務模塊E-R圖如圖4.9所示:
WF.ScwmtCtr
WF.PrxtnTranrt
fen.Depa-nn
WF.DekijaeRijteS
.BaseJJxt
y*h.VehoeSra,
圖4.5黃河生態區管委會綜合信息管理系統的總體E?R圖
WF_Schemelnfo
WF SchemeContent
ScnefT:fCooe
'»VFScne>neinf±
khereVers:or
S^rTrConter::
Tc-UserNaw
Scnefr^eVe«iOf)
CreatrDaie
Beg^ate
knetneCanUse?
Createbiend
t"dDa:t
FrmTyse
Cr?3UvierNarf
CrfateJJerid
AuthorEfTyof
CreateJserName
SodCrde
Zr?ateDa;e
WF Processlnstance
Drirapx-
CreateLate
CreateCserld
CfsatebsefNaTe
Moc'iiytete
yoc^sHd
Moc瞅if址惦
FromUserid
rromUjerNarrt
T^KrNan*
WFjrocessTransitionHistory
C^ateDate
D?c:es5Code
rrojrNcdei:
fromNodelype
troniNodeName
ioNzdeld
loNcdehse
toNcdeKsme
Tr3n$k;onSatf
isrr'S-
加
C*r«Us??id
C-ea^Uw^arr.e
WF_DelegateRecord
ScnefT:fCooe
Scnefr^eVe«iOf)
knetneCanUse?
FrmTyse
AuthorEfTyof
SodCrde
WF_Schemelnfo
ScnemeNsHt
CfsatebsefNaTe
WF_DelegateRecord
Moc'iiytete
Drirapx-
CreateLate
CreateCserld
^FDelegateRuleSchemelnfo
Sdierr-iinfoid
圖4.6系統工作流模塊E-R圖
圖中包含:工作流信息實體、工作流實體、工作流操作記錄實體、工作流表單實體、 工作流傳遞實體、表單內容實體、工作流代理規則實體、工作流代理記錄實體等。
工作流實體和工作流操作記錄實體是一對多的關系(1-n);
工作流實體和工作流信息實體是一對一的關系(1-1);
工作流實體和工作流傳遞實體是一對多的關系(l-n);
工作流表單實體和工作流信息實體是一對多的關系(l_n);
工作流代理規則實體和工作流代理記錄實體是一對多的關系(l-n)。
圖4.7系統的車輛管理,用戶管理模塊E-R圖
圖中包含:車輛使用申請實體、車輛使用記錄實體、車輛信息實體、車輛類型實體、 車輛所屬部門實體、用戶信息實體、部門實體、單位實體、角色實體等。
車輛使用申請實體和車輛使用記錄實體是一對多的關系(1-n);
車輛信息實體和車輛使用記錄實體是一對多的關系(l-n);
車輛類型實體和車輛信息實體是一對多的關系(1-";
車輛信息實體和車輛所屬部門實體是一對一的關系(1-1);
部門實體和用戶信息實體是一對多的關系(l-n);
單位實體和部門實體是一對多的關系(l-n);
角色實體和用戶信息實體是一對多的關系(l-n)。
BaseNews
? Newsid
Typeld
Parentid Category FullHead FullHeadColor BriefHead AuthcrName CompueName Tag Word Keyword SourceName SourceAddre*;s NeivsConte nt PV
ReieaseTime SortCode DeleteMark EnsbledMark Description CreateDate CreateUserld CresteUserName ModifyDate ModifyUserld ModifyUserName
BaseDataltem
? Itemld
Parentid
ItemCode
ItemName
IsTree
IsNav
SortCode
DeleteMark
EnabledMark
Description
CreateDate
CreateUserld CreateUserName Modi^Oate ModityUserld ModifyUse-rName
BaseAuthorizeData
? AuthorizeDataid AuthorizeType Category Objectld ItemJd ItemName Resourceld
SsRead
AurficrizeConstraint SortCode
CreateDate CreateUse4d
.”......Create.UserName,
Ba seDataltem Detail
:? ItemDetailld
Itemld
Parentid
IttmCode
ItemNarrie
itemValue
QuickQuery SimpleSpelling IsDefauh
r=C'~~—OQ
SortCode
DeieteMark EnabledMark Description CreateDate
Createliserid CreateUs&r\ame Modi 如 ate MocifyUserld ModiryUserName
WFFrmMain
Y FrmMainld FrmCode FrmName FrmType FmiDbld FrmTable isSystemT able FrmTablelc FnnConten: SortCcde DeieteMark EnabledMark Description CreateDate Createliserid CreateUserName ModiiyDate ModityUserld ModifyUserName
圖4.8系統公共基礎數據模塊E-R圖
圖中包含:新聞信息實體、數據字典實體、數據字典詳細實體、 限實體、表單實體等。
數據字典實體和新聞信息實體是一對多的關系(1-n); 數據字典實體和數據字典詳細實體是一對多的關系(l-n); 數據字典實體和權限數據實體是一對多的關系(l-n); 數據字典實體和權限實體是一對多的關系(l-n)o
和椒曲d
ModiryUsefNire
EubjJK'aT:
圖4.9系統的個人事務模塊E-R圖
圖中包含:區域信息實體、app輪播圖實體、個人日志實體、個人工作實體、個人 檔案實體、個人實體實體、個人日程實體、個人同學錄實體。
用戶信息實體和個人日志實體、個人工作實體、個人檔案實體、個人實體實體、個 人日程實體、個人同學錄實體都是一對多的關系(l-n)o
4.3.2數據庫邏輯設計
數據庫邏輯設計就是把概念結構設計階段設計好的基本實體-關系圖轉換為與選用 的數據庫管理系統產品所支持的數據模型相符合的邏輯結構,主要是進行數據的邏輯模 型的轉化,在各種數據庫還輯模型中,數據關系模型在當前使用得最為廣泛。
數據庫的邏輯結構是獨立于任何一種數據模型的,在實際應用中,一般所用的數據 庫環境已經給定。由于目前使用的數據庫基本上都是關系數據庫,因此首先需要將實體 -關系圖轉換為關系模型,然后根據具體數據庫管理系統的特點和限制轉換為指定數據 庫管理系統支持下數據模型,數據關系模型的邏輯結構進行分析,最后進行數據的邏輯 結構優化。
同時需要具體明確所需數據的類型、來源和處理,數據是否從其他數據源中導入、 數據是否需要清理或驗證、用戶是否需要輸入數據、用戶是否需要編輯這些數據、是否 有驗證規則和相關的查找,以便完成字段之間是的相互關聯。
根據數據庫需求分析及數據庫概念設計[⑷。黃河生態區管委會綜合信息管理系統一 共設計有17張表。
(1)系統類表8個
包括Base Authorize系統權限表如表4.1所示,Base_DataItem系統字典表如表 4.2所示,Base_Log系統日志表如表4.3所示,Base_Department系統部門表如表4.4 所示,Base_Module系統功能表如表4.5所示,Base Organize組織表如表4.6所示, Base_ModuleButton功能按鈕表如表4.7所示,WF_SchemeInfbAuthorize流程權限表 如表4.8所示。
表4.1 Base Authorize系統權限表
字段名 類型 是否為空 說明
Authorizeld varchar(50) 木 主鍵
Category int 是 類別
Objectld varchar(50) 是 實體1D
ItemType int 是 功能類別
Itemld varchar(50) 是 功能ID
SortCode int 是 排序碼
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(SO) 是 創建人名稱
表4.2 Base DataItem系統字典表
字段名 類型 是否為空 說明
Itemld varchar(50) 否 主鍵
Parentld varchar(50) 是 父ID
ItemCode varchar(50) 曰 疋 字典編碼
ItemName varchar(50) 曰 疋 字典名稱
IsTree int 是 是否樹形
IsNav int 是 是否導航
SortCode int 是 排序碼
Delete Mark int 是 刪除標記
EnabledMark int 是 是否可用標記
Description varchar(200) 曰 疋 描述
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 曰 疋 創建人ID
CreateUserName varchar(50) 曰 疋 創建人名稱
ModifyDate datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
表4.3系統日志表是為了記錄系統操作相關的日志信息,日志信息有不同的類別所 以在表中加入了 CategorylD字段和字典表中的類別進行關聯,所以選琢int類型。
是否刪除和是否可用字段主要是實現數據的軟刪除,進行歷史數據的有效保存, 采用int型進行標記。
表4.3 Base Log系統日志表
字段名 類型 是否為空 說明
Logld varchar(50) 否 主鍵
Categoryld int 曰 疋 類別ID
SourceObjectld varchar(50) 曰 疋 源實體1D
SourceContentJson text 是 源內容JSON
OperateTime datetime 是 操作時間
OperateUserld varchar(50) 是 操作人1D
OperateAccount varchar(50) 是 操作賬號
OperateTypeld varchar(50) 是 操作類型1D
OperateTvpe varchar(50) 是 操作類型
Moduleld varchar(50) 13 疋 模塊1D
Module varchar(SO) 是 模塊名稱
IPAddress varchar(50) 是 IP地址
IPAddressNaine varchar(200) 曰 疋 IP地址名稱
字段名 類型 是否為空 說明
Host varchar(200) 是 主機
Browser varchar(50) 是 瀏覽器信息
ExecuteResult int 是 執行結果
ExecuteResultJ son text 是 執行結果JSON
Description varchar(200) 是 描述
DeleteMark int 是 刪除標記
EnabledMark int 是 可用標記
表4.4 Base Department 系統部門表
字段名 類型 是否為空 說明
Departmentld varchar(50) 否 主鍵
Organize Id varchar(50) 是 組織ID
Parentld varchar(50) 是 上級部門ID
EnCode varchar(50) 是 英文Code
FullName varchar(50) 是 全名
ShortName varchar(50) 是 簡稱
Nature varchar(50) 是 標識
Managerld varchar(50) 是 管理人1D
Manager varchar(50) 是 管理人
OuterPhone varchar(50) 是 外部電話
In nerPhone varchar(50) 是 內部電話
Email varchar(50) 是 郵箱
Fax varchar(50) 是 傳值
Layer int 是 層級
SortCode int 是 排序碼
DeleteMark int 是 刪除標記
EnabledMark int 是 是否可用標記
Description varchar(200) 是 描述
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
ModifyDate datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
DepartGZ varchar(150) 是 單位公章
表4.5功能模塊表,包括模塊ID字段,應為系統功能是分層組織的所以需要ParentID 父功能ID字段,還需要進行功能各個狀態的存儲,所以需要IsMenu> AllowExpand、
IsPublic、SortCode等字段作為標記字段。
表4.5 Base Module系統功能表
字段名 類型 是否為空 說明
Moduleld varchar(50) 否 主鍵
Parentld varchar(50) 是 上級ID
EnCode varchar(50) 是 英文Code
FullName varchar(50) 是 全名
Icon varchar(50) 是 圖標
UrlAddress varchar(200) 是 URL地址
Target varchar(20) 是 目標類型
IsMenu int 是 是否菜單
AllowExpand int 是 是否展開
IsPublic int 是 是否公開
AllowEdit int 是 是否編輯
AllowDelete int 是 是否刪除
SortCode int 是 排序碼
DeleteMark int 是 刪除標記
EnabledMark int 是 是否可用標記
Descriptio n varchar(200) 是 描述
Create Date datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
ModifyDate datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人1D
ModifyUserName varchar(50) 是 修改人名稱
農 4.6 Base Organize 組織表
字段名 類型 是否為空 說明
Organizeld varchar(50) 否 主鍵
Category int 是 組織類型
Parentld varchar(50) 是 上級ID
EnCode varchar(50) 是 英文Code
ShortName varchar(SO) 是 簡稱
FullName varchar(50) 是 全名
Nature varchar(50) 是 標識
OuterPhone varchar(50) 是 外部電話
InnerPhone varchar(50) 是 內部電話
Fax varchar(50) 是 傳值
Postalcode varchar(50) 是 郵編
字段名 類型 是否為空 說明
Email varchar(50) 'u 郵件
Managerld varchar(50) 是 負責人ID
Manager varchar(50) 是 負責人
Provinceld varchar(50) 是 省份
Cityld varchar(50) 是 城市
Countyld varchar(50) 是 街道
Address varchar(50) 是 地址
WebAddress varchar(200) 是 網站
FoundedTime datetime 是 創建時間
BusinessScope varchar(200) S 疋 信用代碼
Layer int 是 層級
SortCode int 曰 疋 排序碼
DeleteMark int 是 刪除標記
EnabledMark int 曰 疋 是否可用標記
Descriptio n varchar(200) 是 描述
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人JD
CreateUserName varchar(50) 曰 疋 創建人名稱
ModifyDate datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人1D
ModifyUserName varchar(50) 是 修改人名稱
表4.7功能按鈕表示功能模塊表的子表,存儲模塊的功能按鈕信息,首先需要和功 能模塊表有對應關系,所以有ModulelD字段,每個按鈕還需要定義名稱和按鈕使用的 圖標所以定義了 Icon和FullName字段,每個按鈕點擊后要有對應的頁面地址要打開, 所以定義了 ActionAddress字段記錄操作地址。
表 4.7 Base ModuleButton 功能按鈕表
字段名 類型 是否為空 說明
ModuleButtonld varchar(50) 否 主鍵
Moduleld varchar(50) 是 功能ID
Parentld varchar(50) 是 上級ID
Icon varchar(50) 是 圖標
EnCode varchar(50) 是 英文Code
FullName varchar(50) 是 全名
ActionAddress varchar(200) 是 操作地址
SortCode int 是 排序碼
表 4.8 WF SchemeInfoAuthorize 流程權限表
字段名 類型 是否為空 說明
Roleld varchar(50) 主鍵
Organizeld varchar(50) 是 組織ID
Category int 是 類別
EnCode varchar(50) 是 英文Code
FullName varchar(50) 是 全名
IsPublic int 是 是否公開
OverdueTime datetime 是 辦理時間
SortCode int 是 排序碼
DeleteMark int 是 刪除標記
EnabledMark int 是 是否可用標記
Description varchar(200) 是 描述
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreatcU scrN am e varchar(50) 是 創總人名稱
ModifyDate datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
(2)數據類表有9個
包括WF Schemeinfo表單基礎信息表如表4.9所示,WF Processinstance流程實
— — *
例記錄表如表4」0所示,Base_Schedule日程表如表4.11所示,Base_User用戶信息表 如表4.12所示,BGS_FW_Record發文記錄詳細表如表4.13所示,Veh^VehicleKind車 輛類別表如表4.14所示,Base_meetinfo會議資料表如表4.15所示,Person_Files個人 檔案信息表如表4.16所示,Personal_Salary工資表如表4.17所示。
表4.9 WF SchemeInfo表單基礎信息表
字段名 類型 是否為空 說明
Id varchar(50) 否 主鍵
SchemeCode varchar(50) 是 表單編號
SchemeName varchar(200) 曰 疋 表單名稱
SchemeType varchar(50) 曰 疋 類別
SchemeVersion varchar(50) 曰 疋 版本
SchemeCanUser varchar(MAX) 是 可用人員
FrmType int 是 數據庫類別
AuthorizeType int 是 權限類別
SortCode int 是 排序碼
DeleteMark int 是 刪除標識
EnabledMark int 是 是否可用
Description varchar(200) 是 描述
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
Modify Date datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
表4.10 WF Processlnstance流程實例記錄表
字段名 類型 是否為空 說明
Id varchar(50) 主鍵
Code varchar(200) 曰 疋 編碼
CustomName varchar(200) 是 流程名稱
Activityld varchar(50) 曰 疋 當前節點ID
Activity Type int 是 當前節點類型
ActivityName varchar(200) 是 當前節點名稱
Previousld varchar(50) 是 上一節點1D
ProcessSchemeld varchar(50) 是 表單ID
SchemeType varchar(50) 是 內容類別
FrmType int 是 表單類別
EnabledMark int 是 是否可用
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人JD
CreateUserName varchar(SO) 是 創建人名稱
wfLevel int 是 流程級別
Descriptio n varchar(200) 是 描述
isFinish int 是 是否完成
MakerList varchar( 1000) 曰 疋 處理人員列表
表4.11個人事務日程表,實現個人日程信息的存儲,所以需要相應的名稱 (ScheduleName)、內容(ScheduleContent)、開始時間(StartDate)、結束時間(EndDate) 等字段。同時為了實現日程提醒功能還需要定義對應的提醒次數(AlertNum)和提前提 醒時間單位(EarlyUnit)等字段。
表 4.11 Base Schedule 日程表
字段名 類型 是否為空 說明
Scheduleld varchar(50) 否 主鍵
ScheduleName varchar(50) 是 日程名稱
ScheduleConte nt varchar(200) 是 日程內容
Category varchar(50) 是 類別
StartDate datetime 是 開始日期
Start Time varchar(50) 是 開始時間
EndDate datetime 是 結束日期
EndTime varchar(50) 是 結束時間
Early int 是 提醒時間
IsMailAlert int 是 是否郵件通知
IsMobileAlert int 是 是電話件通知
IsWeChatAlert int 是 是微信件通知
ScheduIeState int 是 百程狀態
SortCode int 是 排序碼
DeleteMark int 是 刪除標記
EnabledMark int 是 是否可用標記
Descriptio n varchar(200) 是 -描述
Create Date datetime 曰 疋 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
ModifyDate datetime 曰 疋 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
EarlyUnit varchar(lO) 是 提前通知時間單位
AlertNum int 是 提醒次數
DoAlertNum int 是 是否提醒
表 4.12 Base User 用戶信.1!.
字段名 類型 是否為空 說明
Userid varchar(50) 否 主鍵
EnCode varchar(50) 是 英文Code
Account varchar(50) 是 賬號名稱
Password varchar(50) 是 密碼
Secretkey varchar(50) 是 加密key
RealName varchar(50) 是 真實姓名
字段名 類型 是否為空 說明
NickName varchar(50) 是 簡稱
Headlc on varchar(200) 是 頭像
QuickQuery varchar(200) 是 查詢
SimpleSpelling varchar(200) 是 簡拼
Gender int 是 學歷
Birthday datetime 是 生日
Mobile varchar(50) 曰 疋 電話
Telephone varchar(50) 是 座機電話
Email varchar(50) 是 郵件
OICQ varchar(50) 是 QQ
WeChat varchar(50) 是 微信
MSN varchar(50) 是 MSN
Managerld varchar(50) 曰 疋 上級領導JD
Manager varchar(50) 是 上級領導名稱
Organizeld varchar(50) 是 組織1D
Departmentld varchar(50) 是 部門ID
Roleld varchar(50) 是 角色ID
Dutyld varchar(50) 是 崗位ID
Duty Name varchar(50) 是 崗位名稱
Postld varchar(50) 是 職位1D
PostName varchar(50) 是 職位名稱
WorkGro 叩 Id varchar(50) 是 工作組
SecurityLevel int 是 保密層級
UserOnLine int 是 是否在線
Openld int 是 OpenlD
Question varchar(50) 是 保密問題
AnswerQuestion varchar(50) 是 保密問題答案
CheckOnLine int 是 檢查在線
AllowStartTime datetime 是 允許開始時間
AllowEndTime datetime 是 允許結束吋間
LockStartDate datetime 是 鎖定開始時間
LockEndDate datetime 是 鎖定結束時間
First Visit datetime 是 第一次訪問時間
Previous Visit datetime 是 上次訪問時間
LastVisit datetime 是 最后訪問時間
LogOnCount int 疋 日志數量
SortCode int 是 排序碼
DeleteMark int 是 刪除標記
字段名 類型 是否為空 說明
EnabledMark int 是 是否可用標記
Description varchar(200) 是 描述
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
Modify Date datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
SingName varchar(150) 是 簽名
表4.13 BGS FW Record發文記錄詳細表
字段名 類型 是否為空 說明
recordid varchar(50) 否 主鍵
jsrid varchar(50) 是 接收人ID
jsmame varchar(50) 是 接收人名稱
sfjs int 是 是否接收
jstime datetime 是 接收時間
fwid varchar(50) 是 發文ID
jsbm varchar(50) 是 接收部門
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(SO) 是 創建人名稱
Modify Date datetime 曰 疋 修改時間
ModifyUserld varchar(50) 是 修改人1D
ModifyUserName varchar(50) S 疋 修改人名稱
衣4.14 Veh VehicleKind乍輛類別袞
字段名 類型 是否為空 說明
Kindld varchar(50) 否 主鍵
KindName varchar(SO) 曰 疋 類別名稱
Subsidy decimal(l & 2) 是 子ID
Description varchar(200) 是 描述
SortCode int 是 排序碼
EnabledMark int 曰 疋 是否可用標記
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
Modify Date datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
表4.15會議資料表保存系統中所發布的會議資料信息數據,需要字段為數據主鍵 (meetid),會議標題(title),會議資料需要有接收人,所以接收人字段使用字符型字段 (poplename)標記,會議資料一般都會有附件信息,所以需要一個附件信息字段(Files)
表4.15 Base meetinfo會議資料表
字段名 類型 是否為空 說明
meetid varchar(50) 否 主鍵
title varchar(3000) 是 標題
poplename varchar(50) 是 主持人
zktime datetime 是 召開時間
[content] varchar(5000) 是 內容
Files varchar(8000) 是 附近信息
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
ModifyDate datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人1D
ModifyUserName varchar(50) 曰 疋 修改人名稱
SendPople varchar(8000) 是 發送人名稱
msgCo ntcnt varchar(6000) 是 短信內容
表4.16 Person Files 個人檔案信息表
字段名 類型 是否為空 說明
personlD varchar(50) 否 主鍵
name varchar( 100) 是 姓名
photo varchar(255) 是 照片
english_name varchar(255) 是 英文名
sex varchar( 10) 是 性別
IdCard varchar(255) 是 身份證
birthday datetime 是 生日
age int 是 年齡
marraylnfo varchar(20) 是 婚姻情況
nativeplace varchar(255) 是 籍貫地
nation varchar(lO) 曰 疋 籍貫
health varchar(50) 曰 疋 健康情況
politicsStatus varchar(20) 是 政治面貌
JoinPartyTime datetime 曰 疋 入黨時間
HouseholdType varchar(255) 曰 疋 住房類型
HouseholdAddress varchar(255) 是 住房地址
Post varchar(255) 是 郵編
JobTitle varchar(255) 是 工作名稱
JoinJobTime datetime 是 參加工作時間
JobStatus varchar(255) 是 工作狀態
MobilePhone varchar(255) 是 手機號碼
EMail varchar(255) 是 電子郵件
LinkPhone varchar(255) 是 聯系電話
QQ varchar(255) 是 QQ
WeChat varchar(255) 是 微信
HomeAddress varchar(255) 是 家庭住址
OtherLinkPhone varchar(255) 是 其他聯系方式
Educatio n varchar(255) 是 教育程度
EducationDegree varchar(255) E3 疋 學歷
GraduateTime datetime 是 畢業時間
GraduateSchool varchar(255) 是 畢業學校
Major varchar(255) 是 "磚業
ComputerLevel varchar(255) 是 計算機水平
Foreign Language varchar(255) 是 外語類型
ForeignLevel varchar(255) 是 外語級別
StrongPoint varchar(255) 是 點擊
fi varchar(lOOO) 是 附近
Create Date datetime 是 處建時間
CreateUserld varchar(50) 是 創'建人1D
CreateUserName varchar(255) 是 創建人名稱
Modify Date datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人1D
ModifyUserName varchar(255) 是 修改人名稱
UserID varchar(50) 是 用戶系統1D
表 4.17 Personal Salary 工資表
字段名 類型 是否為空 說明
psalaryid varchar(50) 否 主鍵
name varchar(50) 是 名稱
zwgz varchar(lO) 曰 疋 職務工資
xjgz varchar(lO) 是 薪級工資
blfb varchar(18) 是 保留福補
gwjt varchar(18) 是 崗位津貼
yfgz varchar( 18) 是 應發工資
yibxj varchar(18) 曰 疋 養老保險金
zynj varchar( 18) 是 職業年金
yyibxj varchar( 18) 是 醫療保險金
sybxj varchar(18) 是 失業保險金
zf&jj varchar(18) 是 住房公積金
kfgz varchar(18) 是 扣發工資
sds varchar(18) 是 所得稅
sfe varchar(18) 是 實發額
DeleteMark int 是 刪除標記
CreateDate datetime 是 創建時間
CreateUserld varchar(50) 是 創建人ID
CreateUserName varchar(50) 是 創建人名稱
ModifyDate datetime 是 修改時間
ModifyUserld varchar(50) 是 修改人ID
ModifyUserName varchar(50) 是 修改人名稱
sfccode varchar(200) 是 身份證
yhkcode varchar(lOO) 曰 疋 銀行卡號
szdw varchar(lOO) 是 所在單位
szbm varchar(50) 曰 疋 所在部門
L nfyf varchar(50) 是 工資月份
4.4本章小結
本章主要完成了黃河生態區管委會綜合信息管理系統網絡拓撲結構框架的設計,對 系統辦公基礎系統功能模塊進行設計,完成了對數據庫的詳細的設計。
5黃河生態區管委會綜合信息管理系統詳細實現
本章將重點完成黃河生態區管委會綜合信息管理系統功能的詳細實現,具體闡述桌 面辦公系統和手機移動辦公系統的功能模塊的詳細設計及實現工作。
5.1桌面辦公系統功能實現
根據第四章確定設計的黃河生態區管委會綜合信息管理桌面辦公系統的功能,需要 具體設計完成個人事務、流程管理、信息發布、規章制度、行政管理、人力資源、系統 管理幾個功能模塊,下面重點介紹前三個模塊的功能設計。
5.1.1個人事務
個人事務功能是用于提供給系統用戶在辦公領域的服務、信息查詢等內容。為了完 成以上功能,需要設置工作日記、我的日程、通訊錄、我的工資、工作住務、管委發文、 我的文檔、我的會議資料八個模塊。 '
其中工作日記設置四個按鈕,分別為刷新、新增、編輯、刪除功能,然后工作日記 的信息就會顯示到界面當中,根據工作日志的顯示能夠找到其所在的位置,可以查看到 所有的工作日記。
在我的日程功能的設置分為日程查詢、日程管理。日程查詢使用--個文本框、按鈕 和表作為界面的主要控件,通過點擊新增,輸入日程內容、開始時間、:轟束時間、添加 時間,然后我的日程的信息就會顯示到界面當中。日程管理使用一個文本框、表作為界 面的主要控件,點擊日視圖、周視圖、月視圖可以進行查看。通訊錄使用一個文本框、 按鈕、表作為界面的主要控件,需要安置刷新、新增、編輯、刪除四個按鈕,通訊錄信 息就會顯示到界面當中,可以查看通訊錄的詳細信息。我的工資用一個文本框、表,安 置刷新、查看2個按鈕,可以看到自己的工資的詳細信息。
工作任務一欄設置分為布置任務、我的任務、任務管理。布置任務用一個文本框、 表為界面的主要控件,可能填寫詳細的任務信息并將其布置下去;在我的任務一欄仍采 用一個文本框、表為界面的主要控件,可以查看任務并及時匯報;在任務管理一欄設置 一個文本框、表的主要控件,個人所有的任務情況都可以看到并可以選擇刪除。管委發 文的界面上設置的文本框、表的主要控件,安置有查看和簽收2個按鈕,個人可以在界 面中看到每條管委發文的內容信息。
我的文檔功能采用的是一個文本框、按鈕、表作為界面的主要控件,安置共享、上 傳、下載、刪除、新建5個按鈕,這樣就可以將我的文檔的信息顯示到界面當中。我的 會議資料采用的是一個文本框、按鈕、表作為界面的主要控件,用戶可以形成的界面上
按照條件輸入或選擇關鍵字查詢查看所有的會議資料。
系統桌面辦公端個人事務功能的界面設計如圖5.1所示。
圖5.1個人事務功能的界面設計
限于篇幅未將所有的截圖一一展示出來,僅以通訊錄和管委發文為例來介紹一下設 計界面,具體通訊錄信息的界面設計如圖5.2所示,管委發文信息的界面設計如圖5.3 所示。
圖5.2通訊錄信息的界面設計
設計上述兩個界面時,設置使用的控件主要有文本框、復選框、按鈕、數據列表, 設計的界面比較簡單,容易進行操作和控制。
個人事務功能設計運行的部分代碼如下:
#region獲取數據
/// <summ^y>
///獲取列表
III </summary>
/// <param name="pagination">^^</param>
/// <param name="queryJsonM> 查詢參數 </parani>
/// <retums> 返 回 分頁列 表 v/returns>
public IEnumerable<Base_workphoneEntity> GetPageList(Pagination pagination, string queryJson)
{
var expression = LinqExtensions.True<Base_workphoneEntity>();
var queryParam = queryJson.ToJObject();
〃查詢條件
if (iqueryParamrcondition”].lsEmpty() && !queryParam「keyword”].IsEmptyO)
{
string condition = queryParam[ncondition"].ToString();
string keyword = queryParam["keyword"].ToString();
switch (condition)
{
case "name": 〃姓名
expression = expression.And(t => Lname.Contains(keyword));
break;
default:
break;
}
}
return this.BaseRepository().FindList(expression,pagination).OrderBy(t=>t.bumenname);
}
/// <summary>
///獲取列表
/// </summary>
/// <param name=MqueryJson">查詢參數</param>
/// <retums>iS 回列表 </retums>
public IEnumerable<Base_workphoneEntity> GetList(string queryJson)
{
if (queryJson ="")
{
return this.BaseRepository().IQueryable().ToList();
}
var expression = LinqExtensions.True<Base_workphoneEntity>();
var queryParam = queryJson.ToJObject();
〃查詢條件
if (IqueryParam「conditioiT'].IsEmptyO && !queryParain["keyword,,].IsEmpty()) string condition = queryParamrconditionn].ToString();
string keyword = queryParam[Mkeyword,*].ToString();
switch (condition)
{
case "name": 〃姓名
expression = expression. And(t => t.name.Contains(keyword)); break;
default:
break;
}
}
return this.BaseRepository().IQueryable(expression).ToList().OrderBy(t => t.bumenname);
〃個人通訊錄
^region獲取數據
/// <summary>
///獲取列表
/// </summary>
/// <param name="queryJson"> 查詢參數 </param>
/// <)&111115>返 回列表</retums>
public IEnumerable<User_AddressEntity> GetList(string queryJson)
{
return this.BaseRepositoryO-IQueryable().ToList();
}
/// <summary>
///返回指定用戶的通訊錄
/// </summary>
/// <retums></retums>
public IEnumerable<User_AddressEntity> GetListByUserID(string userid)
{
var expression = LinqExtensions.True<User_AddressEntity>(); expression = expression.And(t => t.CreateUserld = userid); return this.BaseRepository().IQueryable(expression).ToList();
}
/// <summary>
///返回共享通訊錄
/// </summary>
/// <retumsx/retums>
public IEnumerable<User_AddressEntity> GetShareListQ
{
var expression = LinqExtensions.True<User_AddressEntity>();
expression = expression.And(t => Lisshare = 1);
return this.BaseRepository().IQueryable(expression).ToListO;
}
/// <summary>
///獲取實體
/// </summary>
III <param name="keyValuen>主鍵值Vparam>
/// <retums></retums>
public User_AddressEntity GetEntity(string keyValue)
{
return this.BaseRepository().FindEntity(keyValue);
}
#endregion
#region提交數據
/// <summary>
///刪除數據
/// </summary>
/// <param name="keyValueM> 主鍵值 </param>
/// <retumsx/retums>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult RemoveForm(string keyValue)
{
user_addressbll.RemoveForm(key Value);
return Success("刪除成功。”);
}
/// <summary>
///保存表單(新增、修改)
/// </summary>
III <param name="keyValueM>主鍵值</param>
/// <param name="entity"> 實體對象 </param>
/// <retums></retums>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, User_AddressEntity entity)
{
user_addressbll.SaveForm(keyValue, entity);
return Success("操作成功。”);
}
# endregion
5.1.2流程管理
根據系統桌面辦公系統的流程管理功能設計要求,實現的單位的各項審批制度要能 夠快速有效的進行申請、推進和辦結,因此需要設置流程管理功能,具體包括三個模塊, 分別是流程管理、流程監控、表單應用,用于將管委會中各個單位的審批制度進行分類 上傳,方便工作運轉時點擊進入相應界面就可以編寫流程,然后發起流程運轉。
5.1.2.1流程設置
根據設計按照各個單位的審批制度設置了不同的流程表格模板,可按需要設置發起 流程、草稿流程、流程類別、流程設計四個模塊。設計使用文本框、復選框、數據表格、 查詢按鈕、日歷控件等來完成,設計過程是首先布局完成全部控件,然后點擊統計功能 相關事件,最后編寫對應的代碼。
具體對應的流程類別模塊主要是將管委會涉及到的相關部門的審批制度進行分類, 設計單一多個文本框,設計時考慮放入相對應的審批內容形成文本框模板;流程設計模 塊主要用于定義該表單信息流轉的路徑,左側由對應的設計按鈕點擊對應大按鈕,在空 白處添加即可。每一個流程設計有一個開始節點和結束節點,中間是普通節點。設計普 通節點定義他的節點名和對應的審核人。把各個節點用步驟連線進行連接即可。設計完 成后點擊下一步完成創建,創建安置了預覽,停用、啟用、編輯、刪除功能按鈕,以列 表的形式展示。
發起流程功能模塊和草稿流程模塊。設計的形成以列表和菜單方式來完成,用戶可 通過點擊模板預覽進行流程表單和流程過程信息的查看。設計安置權限按鈕,可以按所 有成員和指定成員選擇,然后點擊新建按鈕,打開新建流程窗口,根據每一個流程對應 的表單不同,填寫的不同的內容,設計內容主要有流程的編號、流程名稱、流程分類、 表單類型等,填寫完畢后可以點擊保存草稿或者點擊完成提交;草稿流程模塊主要用于 填寫內容有部分未確定,但仍想保存現有填寫內容時的需求。設置保存草稿按鍵,可以 保存草稿,用戶再次點擊時可以繼續編輯或修改,修改完善后可以發起流程。
圖5.4流程管理功能設計界面部分相關截圖
在實際設計界面的時候具體使用了包括文本框、復選框、按鈕、數據列表等,在任 務統計界面中,用戶可以選擇左邊的標題欄,任何一個功能按鈕被點擊后,都能夠展示 給用戶相對應的界面,設計界面簡單,用戶可以快速掌握使用方法,進行操作及控制。 系統流程管理功能部分設計界面如圖54所示是以發起快速新建(6行政印章使用審批) 為例,用戶選擇、填寫主要內容及用途等相關信息后提交即可進入流程運轉的界面。 相應設計的部分代碼如下。
#region獲取數據
/// <summary>
///獲取表單列表分頁數據
/// </summary>
III <param name=npagination'1>分頁參數v/param>
/// <param name=,,queryJson">查詢條件</param>
/// <retums></retums>
public DataTable GetPageList(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append(@,'SELECT
w.FrmMainld,
w.FrmCode,
w.FrmName,
w.FrmType,
t2.ItemName AS FrmTypeName,
w.FrmDbld,
tl.DBName,
w.FnnTable,
w.FrmTableld,
w.isSystemTable,
w.FrmContent,
w. SortCode,
w.DeleteMark,
w.EnabledMark,
„ w.Description,
w.CreateDate,
w.CreateUserld,
w.CreateUserName,
w.ModifyDate,
w.ModifyUserld,
w.ModifyUserName
FROM
WF_FrmMain w
LEFT JOIN
Base_DatabaseLinktl ON tl.DatabaseLinkld = w.FrmDbld
LEFT JOIN
Base DataltemDetail t2 ON t2.ItemDetailId = w.FrmType WHERE w.DeleteMark = 0 ”);
var parameter = new List<DbParameter>();
var queryParam = queryJson.ToJObject();
//數據庫Id查詢
if (IqueryParam rFrmType”]?IsEmpty())
strSql.Append(" AND w.FrmType = @FrmType H);
parameter. Add(DbParameters.CreateDbParameter(” @FrmType”, queryParam["FrmType,'].ToString()));
}
else if (!queryParamrKeyword”].IsEmpty())〃關鍵字查詢
string keyord = queryParam["Keyword',].ToString(); strSql.Append(@" AND ( w.FrmCode LIKE @keyword
or w.FrmName LIKE @keyword
or w.Description LIKE @keyword
)");
);
}
return this.BaseRepository().FindTable(strSql.ToString(), parameter.ToArray(),
pagination);
}
catch (Exception)
throw;
}
}
/// <summary>
///獲取表單數據ALL(用于下拉框)
/// </summary>
/// <retums></retums>
public DataTable GetAllList()
try
var strSql = new StringBuilder();
strSql.Append(@nSELECT
w.FrmMainld,
w.FrmName,
w.FrmType,
t2.ItemName AS FrmTypeName FROM
WF_FrmMain w
LEFT JOIN
Base_DataItemDetail t2 ON t2.ItemDetailId = w.FrmType WHERE w.DeleteMark = 0 and w.EnabledMark = 1 order by w.FrmType”);
var parameter = new List<DbParameter>();
return this.BaseRepository().FindTable(strSql.ToString());
}
catch (Exception)
{
throw;
}
}
/// <summary>
///獲取流程實例分頁數據
/// </summary>
/// <param name=,,pagination,1> 分頁參數 Vparam>
/// <param name="queryJson',> 查詢條件 </parani>
/// <param name="type">3 草稿 </param>
/// <retums></retums>
public DataTable GetPageList(Pagination pagination, string queryJson,string type)
{
try
{
var strSql = new StringBuilder();
strSql.Append(@nSELECT
w.Id,
w.Code,
w.CustomName, w.wfLevel, w.Activityld, w.ActivityName, w.ActivityType, w.ProcessSchemeld, w.SchemeType, t2.ItemName AS SchemeTypeName, w.EnabledMark, w.CreateDate, w.CreateUserld, w.CreateUserName, w.Description,
w.isFinish
FROM
WF_ProcessInstance w
LEFT JOIN
Base_DataItemDetail t2 ON t2.1temDetailId = w.SchemeType");//3 表示草稿
if(type = n3n)
{
strSql.Append(@" WHERE w.EnabledMark = 3 AND w.isFinish != 2 ”); } else
{
strSql.Append(@" WHERE w.EnabledMark != 3 AND w.isFinish != 2 ”); } if (!OperatorProvider.Provider.Current().IsSysteni)
{
strSql.Append(string.Format(" AND w.CreateUserld = '{0}'",
OperatorProvider.Provider.CurrentQ.Userld ));
}
var parameter = new List<DbParameter>();
var queryParam = queryJson.ToJObject();
if (! queryParam rSchemeType"].IsEmpty()) 戲
{
strSqtAppendC*' AND w.SchemeType 二 @SchemeType '*);
parameter.Add(DbParameters.CreateDbParameter("@SchemeType", queryParam[',SchemeType,,].ToString()));
}
5.1.2.2流程監控 "
流程監控主要完成的是可以查看管委會某個單位發起流程后該流程信息的現有辦 理節點、辦理進度等,為了更好地監控流程的進度及反饋問題。設計實現了流程監控、 待辦流程、己辦流程。
流程監控:用于查看由自己發起的但未辦結的流程現在的進度及存在問題,因為它 要用于查看,所以需要設計數據表格、文本框、接收ID、當前節點類型等,能夠自動 接收流程發起后運行的流程信息,在設計過程中考慮數據交換,用查詢按鍵以列表框的 方式展現。
待辦流程:用于查看需要當前用戶處理的流程數據,包括流程的基本信息展示,所 以需要設計數據表格、文本框、接收ID等以列表方式展示來完成。設計用查看/審核按 鈕打開流程詳細信息,點擊即可對流程進行審核操作。
已辦流程:用于當前用戶隨時查看由自己發起的或自己曾經處理過的流程信息記 錄,基于這一功能需求,所以在設計過程中,考慮從數據庫提取數據,要設置日歷控件、 數據表格、復選框,包括編碼、流程名稱、創建時間、內容、當前節點類型等來完成, 設計查詢按鍵可以查看這個流程的基本信息及其現在的審核審批情況,同時可以打印該 流程信息。
控件主要使用文本框、按鈕、復選框、數據列表,采用先布局全部控件,而后點擊
統計功能相關事件,最后編寫對應的代碼。進入任務統計界面,用戶選擇左邊的流程標 題欄模板,點擊其中任何一個功能按鈕,就可以看到相對應的界面。設計的界面雖分項 多但直觀、簡單,容易操作控制,流程監控模塊的界面設計如圖5.5所示。
圖5.5流程監控功能設計界面部分相關截圖
以流程監控中領打印紙流程為例,代碼如下:
#region流程處理AP]
III <sumniaiy>
///創建一個實例
III </suminary>
/// <param name="processld"> 進程 GUID</param>
/// <param name="schemeinfold">模板信息ID</param>
/// <param name="wfLevel"></param>
/// <param name=,,codeH>進程編號</param>
/// <param name=,,customName"> 自定義名稱 </param>
/// <param name="description',>J&i4</param>
/// <param name=,'frmData,,> 表單數據信息 </param>
/// <retums></retums>
public bool CreateInstance(Guid processid, string schemelnfbld, WFProcessInstanceEntity wfProcessInstanceEntity, string frmData = null)
{
try
{
WFSchemelnfoEntity wfSchemelnfoEntity = wfSchemelnfoService.GetEntity(schemelnfbld);
WFSchemeContentEntity wfSchemeContentEntity = wfSchemeContentService.GetEntityCschemelnfbld, wfSchemelnfoEntity.SchemeVersion);
WF_RuntimelnitModel wfRuntimelnitModel = new WF_RuntimelnitModel()
{
schemeContent = wfSchemeContentEntity.SchemeContent,
currentNodeld =
fhnData = frmData,
processld = processId.ToStringO
};
IWF_Runtime wfruntime = null;
if (wfSchemelnfoEntity.FrmType = 0)
{
if (frmData = null)
{
throw new Exception("自定義表單需要提交表單數據”);
}
else
{
wfruntime = new WF_Runtime(wfRuntimelnitModel);
}
}
else
wfruntime = new WF_Runtime(wfRuntimeInitModel, GetFrmData);
#region委托記錄
List<WFDelegateRecordEntity> delegateRecordEntitylist =
GetDelegateRecordList(schemeInfbId5 wfProcessInstanceEntity.Code, wffrocessInstanceEntity.CustomName, wfProcessInstanceEntity.MakerList);
wfProcessInstanceEntity.MakerList += delegateUserList;
#endregion wfProcessInstaiiceService.SaveProcess(wfruntime.runtimeModel, wfProcessInstanceEntity, wfProcessSchemeEntity, processOperationHistoryEntity, processTransitionHistoryEntity, delegateRecordEntitylist);
SendPhoneMsg(wfProcessInstanceEntity.MakerList);
〃取消自動審核功能,有社會事業局提出的
//if
(wfProcessInstanceEntity.MakerList.Contains(OperatorProvider.Provider.Current().UserId))
//{
// NodeVerification(wfProcessInstanceEntity.Id; true5 "自動審核",frmData);
//}
//else
//{
// SendPhoneMsg(wfProcessInstanceEntity.MakerList);
//}
return true;
}
catch
{
throw;
}
}
5.1.2.3表單應用
為了對系統中所使用的表單信息進行管理和維護,設計了表單應用功能具體包括表 單類別和表單設計,采用文本框、復選框、查詢按鈕、數據表格等來進行實現。
表單類別:設計系統使用列表的方式展示系統所有表單類別的信息。安置了查詢、 刷新、新增、編輯、刪除等操作功能按鈕。
查詢功能選擇條件,輸入想要查詢的值,點擊查詢,系統會查找到所有相關數據進 行列表展示。刷新功能點擊該按鈕,系統對列表中的表單類別數據進行重新加載。新增 功能設計提供流程類別新增功能,點擊新增按鈕彈出表單類別中新增輸入對話框。輸入 對應的類別名稱、類別值、備注等信息,點擊確認按鈕進行數據的保存。保存成功后列 表數據進行重新加載,添加的內容顯示列表頁。編輯功能:設計提供表單類別編輯功能, 在列表中選中需要修改的數據,然后點擊編輯按鈕彈出表單類別編輯輸入對話框,修改 對應的類別名稱、類別值、備注等信息,點擊確認按鈕進行數據的保存。保存成功后數 據列表進行重新加載,編輯后的內容顯示到列表頁。刪除功能設計先在數據列表中選中 要刪除的信息數據,點擊刪除按鈕,進行刪除操作。
表單設計:設計表單包括基本配置、表單設計兩個步驟。基本配置設置有表單編號、 名稱、分類和是否建表(通常選擇否)按鈕。表單設計實現可視化的設計模式,左邊是 表單設計中常用的基本組件,設置文本框、單選、下拉、附件上傳等控件,點擊對應的 控件拖到設計區域即可添加上。每一個控件對不同的設計屬性,根據需要進行屬性的選 擇和填寫。表單應用功能設計界面如圖5.6所示,
圖5.6表單應用功能設計界面部分相關截圖
設計過程需要使用的控件主要是文本框、按鈕、復選框、日歷控件、數據列表。采 用先全部布局控件,然后點擊統計功能相關事件,編寫對應的代碼。設計的界面比較簡 單,用戶可以快速掌握進行操作,新增表單功能的部分代碼如下:
#region獲取數據
/// <summary>
III獲取對象
III </summary>
III <param name="wfSchemeInfoId"> 工作流模板信息表主鍵 </param>
III <param name="schemeVersion">模板版本號</param>
III <retums></retums>
public WFSchemeContentEntity GetEntity(string wfSchemelnfoId, string scheme Version)
{
try
var expression = LinqExtensions.True<WFSchemeContentEntity>();
expression = expression.And(t => t.WFSchemelnfbld = wfSchemeInfoId).And(t => t.SchemeVersion = schemeVersion);
return this.BaseRepositoryO.FindEntity<WFSchemeContentEntity>(expression);
}
catch {
throw;
}
}
/// <summary>
///獲取對象列表
/// </summary>
/// <param name="wfSchemeInfbId,'> 工作流模板信息表 Id</param>
/// <retums></retums>
public IEnumerable<WFSchemeContentEntity> GetEntityList(string wfSchemelnfbld) {
var expression = LinqExtensions.True<WFSchemeContentEntity>(); expression = expression.And(t => tWFSchemelnfdld = wfSchemelnfbld); return this.BaseRepository().FindList<WFScheineContentEntitv>(expression);
}
/// <summary>
#region提交數據
/// <summary>
///保存對象
/// </summary>
/// <param name="entityH>^</param>
/// <param name=,,keyValue">主鍵</param>
/// <retums></retums>
public int SaveEntity(WFSchemeContentEntity entity, string keyValue)
{
tiy
{
if (string.IsNullOrEmpty(keyV alue))
{
entity.CreateQ;
return this.BaseRepository().Insert<WFSchemeContentEntity>(entity);
}
else
{
entity.Modify (keyValue);
return this.BaseRepository().Update<WFSchemeContentEntity>(entity);
}
}
catch {
throw;
}
}
# endregion
5.1.3信息發布
為了實現系統無紙化辦公模式下進行會議及發文的上傳下達工作,系統設計了信息 發布功能,包括會議資料和管委發文,設計完成了將有效節約人力、財力,減少無紙化 辦公,減少跑腿或電話傳達,更好地做到有效上傳下達和及時接收反饋。
5.13.1會議資料
會議資料的設計的應用界面采用文本框、復選框、日歷控件、數據表格、查詢按鈕 等來完成的,設計的步驟是首先將控件全部布局完成,接著點擊統計功能按鈕的相關事 件,進行編寫對應的代碼。
設計該功能來實現會議資料的管理和下發(包括短信通知功能)。設計安置了查詢、 刷新、新增、刪除等操作功能按鈕。查詢功能按鈕選擇會議標題,輸入礬可以輸入全部 或部分名稱,點擊查詢按鈕,系統會根據輸入的名稱進行查詢。查詢結童顯示在下面的 列表中。刷新功能按鈕系統對列表中的任務數據進行重新加載。新增功能按鈕提供會議 資料的新增功能,保存成功后列表數據進行重新加載,添加的內容顯示列表頁。
短信內容設計權限分類,選擇性地向相關人員發送短信提醒,此處是填寫的短信內 容。發送范圍發送人員按9個框分類設置,分別有管委領導、局辦正職、局辦副職、直 屬單位正職、直屬單位副職、機要員、中心班子、中心組長、中心辦公室。可以指定性 勾選人員,勾選后相關人員就會接收短信提醒及管委文件,填寫完確認,'系統就會自動將 會議相關內容短信提醒通知至相關人員,相關人員即可進行查看、簽收、轉發等。會議 資料信息界面設計如圖5.7所示。添加會議文件界面設計如圖5.8所示。
• ' O •• « x T a—• C2 ■ • *•-' f -.-I.i-OT T S3-”** Qv*土: Qv • S3 • • ”s: 顯 nx* If r • = ••匸 OffK
O 'rr-w** 劇從鵲蹩 Ka 乂g才HIM
圖5.7會議資料信息設計界面
圖5.8添加會議文件設計界面
5.1.3.2管委發文
管委發文主要是用于針對管委會設計幾個部分來實現管委發文數據的管理功能,用 于系統管理員進行管委發文的編輯、維護、查看、下發。設計首先需要有發文部分相對 應的環境,編輯環境需要有發文標題、文件字號、主辦部門、文件歸類、登記人、簽批 人、發送人員、接收人員、附件、接收時間、短信發送等內容.
設計采用設置新增按鈕,發文人員填寫表格上的發文的基本內容后,選擇哪些人員 是否發送短信提醒,勾選后相關人員都會接收短信提醒及管委文件。設計簽收按鈕、查 詢按鈕,接收人員是否簽收。管委發文信息界面設計如圖5.9所示。添加發文界面設計 如圖5.10所示。
Zfca^eBD 哲■05T導 程力正ff? HBQ副滬 H.3L»C1IEI= QS*竝副職 0久機龔壬 Q心班子 o心85£ 護心力公空
圖5.10添加發文界面設計
在設計上面的界面采用的控件主要是文本框、數據列表、按鈕、復選框。在任務界 面中,用戶可以選擇左邊的標題欄,對任何一個功能按鈕點擊后就能將相對應的界面展 示給用戶。設計的界面相對比較簡單,登錄用戶可以快速掌握其使用的方法,容易進行 操作及控制。管委發文功能的部分代碼如下:
#region獲取數據
III <summary>
III獲取列表 *
/// </summary>
/// <param name=nqueryJsonn>查詢參數</param>
/// <retums> 返回列表 </retums>
public IEnumerable<BGS_FWEntity> GetList(string queryJson)
{
var expression = LinqExtensions.True<BGS_FWEntity>();
var queryParam = queryJson.ToJObject();
〃查詢條件
if (!queryParam[,,condition,'].IsEmpty() && ! query Parain rkeyword”].IsEmpty())
{
string condition = queryParamf^ondition'^.ToStringO;
string keyword = queryParam「keyword"].ToString();
switch (condition)
{
case “wjzh”: 〃文件字號
expression = expression.And(t => t.wjzh.Contains(keyword));
break;
default:
break;
}
return this.BaseRepositoiy().IQueryable(expression).OrderByDescending<BGS_FWEntity? System.DateTime?>(t => t.CreateDate).ToList();
}
public IEnumerable<BGS_FWEntity> GetListForMy(string queryJson,
EEnumerable<BGS_FW_RecordEntity> list)
{
var expression = LinqExtensions.True<BGS_FWEntity>();
var queryParam = queryJson.ToJObject();
〃查詢條件
if (!queryParam["conditionn].IsEmpty() && !queryParamrkeyword“].IsEmpty()) {
string condition = queryParam["condition"].ToString();
string keyword = queiyParam[Hkeyword"].ToString();
switch (condition)
{
case "wjzh": 〃文件字號
expression = expression.And(t => t.wjzh.Contains(ke^ord)); break;
default:
break;
}
}
IList<BGS_FWEntity> result = this.BaseRepository().IQueryable(expression).OrderByDescending<BGS_FWEntity, System.DateTime?>(t => t.CreateDate).ToList();
IList<BGS_FWEntity> retumData = new List<BGS_FWEntity>();
foreach(BGS_FW_RecordEntity item in list)
{
string fwid = item.fwid;
for (intk = 0;k< result.Count; k++)
{
if (result[k].FWID = fwid)
{
retumData.Add(result[k]);
}
}
}
return retumData;
}
/// <sumiTiary>
///保存表單(新增、修改)
III </summary>
/// <param name=nkeyValuen> 主鍵值 </param>
/// <param name=Mentityn>實體對象</param>
/// <retums></retums>
public void SaveForm(string key Value, BGS_FWEntity entity)
{
if (!string.IsNullOrEmpty(keyV alue))
{
entity.Modify(key Value);
this.BaseRepositoryO.Update(entity);
}
else
{
entity.Create();
this.BaseRepositoiy().Insert(entity);
}
}
#endregion
5.2手機移動辦公功能實現 $
5.2.1管委發文
實現在手機上可以隨時隨地、及時查看管委發文信息,通過手機及時查閱文件、上 傳下達。手機移動端設計上按照時間順序進行顯示,包括發文標題、時間、登記人、是 否簽收等信息。點擊對應的發文信息進入到信息的詳情頁面。如果發文信息還沒有簽收, 系統將給出簽收操作按鈕,并且發文附件不能查看和下載。簽收操作后,會顯示發文的 附件信息,這時可以點擊附件,然后文件系統自動下載該附件并且使用系統默認程序打
開該文件。
" 0.6K/C 10:25 •5 & 38%「JOB
< 發文簽收 K 0.6K/S 1022
文件字號 測試 222 < 菅委奴
文件歸類 22
登記人 22
簽批人 22
主辦部門 22 規人:22
登記曰期 2018-04-13 10:06:37 - &皿13 W'06-^7
2
圖5.11管委發文信息界面設計
手機移動辦公功能設計的布局相對比較簡單,借助控件包和開發語言進行按鈕、文 本框等簡單控件的設計工作,黃河生態區管委會綜合信息管理手機移動端發文信息界面 設計如圖5.11所示。
對應的部分設計代碼如下:
<head>
<meta charset="UTF-8">
<title></title>
<meta name=,'viewport"
content="width=device-width,initial-scale=l,minimum-scale=l ,maximum-scale=l ,user-scalable=no" t>
<link href=,,../css/muiimin.css,' rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav">
<a class="mui-action?back mui-icon mui-icon-left-nav mui-pull-left,'x/a>
<hl class=nmui-title" id="title">管委發文</hl>
</header>
<div class="mui-content,,>
<ul class="mui-table-view" id="FW_listH style="margin-top: 0;">
</ul>
</div>
<script src='1../js/mui.min.js"></script>
<script src="../js/myfunction.jsn></script>
<script type^'^ext/javascript'^
mui.init({
beforeback:function(){
var i = plus.webview.getWebviewById(!,main");
if(i){
〃觸發首頁上面的未讀消息事件
i.evalJSC'GetNoReadMsgO1');
}
return true;
}
});
mui.ready(fimction() {
GetFwData();
});
function GetFwData(){
var rooturl=localStorage.getItem(nrooturr');
var user=localStorage.getItem(nuserinfo");
console.log(rooturl+nGetMyFWInfosH);
mui.get(rooturR"GetMyFWInfbs'1, {
userid:JSON.parse(user).UserId
function(data){ 〃獲得服務器響應 if(data.Status=n 1 ”) { var news=data.Data; var html=""; console,log(JSON.stringify(news)); fbr(var i=O;i<news.length;i++){ //console.log(news.length); //console.log(JSON.stringify(news[i])); var djrq='n,; if(news[i].djrq!=null){ djrq=dateToStr(news[i].djrq);
}
var jstime='"';
if(news[i].jstime!=null){ jstime=dateToStr(news[i].jstime);
}
//console.log(news[i].s5s); html+-<li class="mui-table-view-cell" onclick="openDetail(\"+news[i].fwid+V)">,
4-'<h4>'+news[i].fwtitle+'</h4>, +'<p> 發文文號:,+news[i].wjzh+,</p>, +'<p> 登記人:*+news[i].djr-i-,</p>' +'<p> 文件歸類:,+news[i].\\jgl+'</p>1 +*<p> 登記時間:'+djrq+y/p» +'<p> 是否簽收:'+news[i].s5s+*</p>' 簽收時間:'+jstime+'</p>*
} document.getElementById("FW_listn).innerHTML=html; }else{
mui.toast(M沒有數據! ”);
} l/json1);
}
function openDetail(newsid){ mui.openWindow({ urk'TWDetaillnfo.htmr', id:',FWDetailInfb,\ extras: {
FWid:newsid
} });
}
</script>
</body>
<html>
〃獲得服務器響應
if(data.Status=" 1"){
var data=data.Data[O];
console.log(JSON.stringify(data)); document.getElementById(uFWTitle").innerHTML=data.fwtitle; document.getElementById("wjzhn).innerHTML=data.wjzh; document.getElementById(,,wjgr').innerHTML=data.'wjgl; document.getElementById(',djr").innerHTML=data.djr; document.getElementById(',jpr").innerHTML=data.jpr; document.getElen)entById("zbbm").innerHTML=data.zbbm; document.getElementById(Hdj i>q”).inneTHTML=dateToStr(data.djrq); var filehtml="n;
var files=eval(data.files);
fbr(var i=O;i<files」ength;i++){
filehtHil+=,<span style="color:blue" onclick=,,download(\"+files[i].originalName+'\'5\n+files[i].path+'\'),,>,+files[n-originalName+,</span><br/>, }
document.getElementById("files,,).innerHTML=filehtml; if(data.sfjs=O){
$("#btn_yqsM).css("display,',"none,');
$(n#fj").css("display'7'nonen);
}
if(data.sfjs=l){
$("#btn_qs").css("display"5',none,');
}
recordid=data.recordid;
}else{
mui.toast(n沒有數據! ”);
}
var rooturMocalStorage.getltemC'rooturr*); console.log(rooturl+"UpdateFWRecord?recordid=',+recordid); mui,post(rooturl+"UpdateFWRecordn,{
recordid:recordid
},
function(data){
console.log(JSON.stringify(data));
〃獲得服務器響應
if(data.Status=" 1"){
$(H#btn__yqs,').removeAttr(,'stylen);
$(”#第)?removeAttrCstyle");
$C#btn_qs”).css("display”,”none”);
}else{
mui.toast("簽收失敗,請重試!");
}
},'json');
}
</script>
</body>
</htnil>
5.2.2發起流程
為了隨時隨地實現辦公在手機端也設計實現了發起流程功能,可隨時發起某項辦公 程序申請,等待審批,查看審批結果。設計采用列表的方式,將所有要用的流程分成條 目,設置成標題欄,這樣用戶就可以根據實際需求,采用點擊確認的方法按流程類別進行 選擇,點擊后方能進入發起流程信息錄入頁面,然后將流程表單信息按照顯示的內容進 行數據的填寫。
流程數據需要填寫標題、流程等級等信息,填寫完成后點擊發起流裡,流程即進入 審批環節,該流程的下一個節點人員就可以看到該流程信息,進行審批操作。設計使用 android studio開發工具、Xcode開發工具,數據生成后通過http請求和系統進行數據通 信。發起流程信息界面設計如圖5.12所示
備注
圖5.12手機端發起流程信息界面設計
部分設計代碼如下:
<html>
<head>
<meta charset=HUTF-8n>
<title></title>
<meta name="viewport"
content="width=device-width5initial-scale=lJminimum-scale=l;maximum-scale=i)user-scalable:=non /> <link hreU”../css/mui.miii.css” rel=nstylesheetn />
<link rel="stylesheetn type='*text/cssn href=H../css/mui.picker.min.css" />
</head>
<body>
<header class="mui-bar mui-bar-navn>
<a class=nmui-action-back mui-icon mui-icon-left-nav mui-pull-leftn></a>
<hl class-'mui-title" id="titleM>發起流程</hl>
<7header>
<div class=nmui-content">
<div class=Hmui-cardn style=nmargin: 3px;”>
<!--頁眉,放置標題-->
<div class="mui-card-header"> 流程表單 </div>
<!__內容區-_>
<div class="mui-card-content,' id=nlc_ibrrnn>
</div>
<div class="mui-card" style="margin: 3px;”>
<!--頁眉,放置標題-->
<div class="mui-card-header"> 流程數據 </div>
<!--內容區-->
<div class="mui-card-contentn id="lc_data">
<div class^'^ui-input-row" style=nmargin-top:3px;n>
<label >流程實例編號</label>
<input type="text" id="code" class="mui-input" style="border: lpx solid
#929292;“〉
</div>
<div class="mui-input-rowH style=nmargin-top:3px;n>
<label>自定義標題</label>
<input type="text" id=”CustomName” class="mui-input" style=Hborder: lpx solid #929292;” >
</div>
<div class=nmui-input-row" style=,'margin-top:3px;n>
<label> 重要等級 </label>
<input type="text" id=,,wfleveln onclick:="showLevel(this);n
class=nmui-inputn style=nborder: lpx solid #929292;” readonly="readonly” value="一般"〉
</div>
<div class=,,mui-input?row" style=nmargin?top:3px;” >
<label> 備注 </label>
<textarea id="remark" rows=,,5n style="border: lpx solid
#929292;M></textarea>
</div>
圖5.13我的待辦信息界面設計
我的待辦信息以“派車申請"使用對應部分代碼如下:
<html>
<head>
<meta charset=”UTF?8”A
<meta name="viewportM
content=nwidth=device-width,i nitiaLscaleHl'minimum-scaleul'maximum-scalerl'User-scalabbhno" />
<link href=,,../css/mui.min.cssn reI=Mstylesheetn />
<link rel=”stylesheet” type=,,text/cssM href=”../css/mui.picke「.min.css” !>
</head>
<body>
<header class=:ninui-bar mui-bar-navn>
<a class=Hmui-action-back mui-icon mui-icon-left-nav mui-pull-leftM></a>
<hl class=nmui4itleH id=MtitleH>待辦流程詳細</hl>
</header>
<div class=Mmui-content">
<div class-'mui-card" style=nmargin: 3px;">
<!--頁眉,放置標題“>
<div class="mui-card-header"> 流程表單 </div>
<!--內容區-->
<div class=''mui-card?coiitent'' id=”lc_ft)rnf‘>
</div>
<!--頁腳,放置補充信息或支持的操作-->
</div>
<div class="mui-card" style="margin: 3px;M>
V--頁眉,放置標題-->
<div class="mui-card-header"> 流程審核 </div>
<!--內容區-->
<div class=”mui-card-content” id="lc_data”>
<div class=Mmui-mput-row" style=Hmargitop:3px;">
<label> 申請人員 </label>
<input type=Mtext" id=Hsq_pople" class=,,mui-input" style=Hborder: lpx solid #929292;” disabled=ndisabledn>
</div>
<div class=nmui-input?row" style=,'margin-top:3px;',>
<label> 申請備注 </label>
<input type="text" id-'sq_remark" class="mui-input,' style=nborder: lpx solid #929292;” disabled^'disabled" >
</div>
<div class=nmui-input-row" style="margin-top:3px;">
<label >審核人員 </label>
<input type=ntextH id-^hjople" class-'mui-input" style=nborder: lpx solid #929292;" >
</div>
<div class="mui-input-rown style-'margin-top^pxj'^
' :<label>審核結果</label>
<input type="textn id=Hwflever' onclick=,'showResult(this);"
class="mui-inpuf' style=',border: lpx solid #929292;" readonly="readonly" value=”同意”〉
</div>
<div class="mui-input-row" style=nmargin-top:3px;n>
<label> 備注 </label>
<textarea id="remark" rows="5M style=nborder: lpx solid
#929292;nx/textarea>
</div>
<button id="btn_verf' type="button" class="mui-btn mui-btn-primary mui-btn-block" onclick=”Verf^flow()”> 審& nbsp; 核 v/button>
</div>
5.3本章小結
本章主要完成了黃河生態區管委會綜合信息管理系統的詳細設計工作,針對桌面辦 公系統和手機移動辦公系統的功能模塊進行了詳細的設計與實現。。
6系統的運行與測試
6.1桌面辦公系統運行
6.1.1個人事務運行
所有用戶憑用戶名和密碼登錄后,都可以看到個人事務功能模塊,點擊會看到工作 日記、我的日程、通訊錄、我的工資、工作任務、管委發文、我的文檔、我的會議資料。 點擊工作日記可看到日志標題、創建信息;點擊我的日程可看到日程查詢、日程管理, 點擊日程查詢可看到開始日期、結束日期、日程內容、添加時間;
圖6.1是通訊錄信息運行圖,可以按姓名、按關鍵字進行查詢,可以進行新增、編 輯、刪除操作。
t :」沱2 fr-ci . 總-FS -■* 八“.• f "S-^- ' S- Q-.-sct &空號-E3*'« - y O'- :•
圖6.1通訊錄信息界面圖
點擊日程管理看到它是以月例表表格形式展示,有日視圖、周視圖、月視圖;點擊 通訊錄可以看到部門名稱、姓名、電話號碼;點擊我的工資可以看到姓名、年月、身份 證號、銀行卡號、所在單位、所在部門、職務工資、薪級工資、保留福補、崗位津貼、 應發工資、養老保險金、職業年金、醫療保險金、失業保險金、住房公積金、扣發工資、 所得稅、實發額等信息。布置任務有任務類型、任務名稱、布置人、執行人、配合人、 開始時間、結束時間、任務內容、完成標準、上傳文件,輸入以上內容后點擊保存;我 的任務里可以查看任務信息并及時匯報;任務管理一欄中顯示個人所有的任務情況并可 以選擇刪除。
圖6.2是工作任務運行圖,可以布置詳細任務、查詢自己的任務并及時匯報、對所 有任務進行整理。
圖6.2工作任務運行組圖
圖6.3是管委發文運行圖,在選擇欄中選擇文號或者在查詢欄輸入關鍵字,可以快 速篩選出文件進行查看。
6.1.2流程管理運行
所有用戶登錄后,左側可看到流程管理項,點擊可看到發起流程、草稿流程、流程 類別、流程設計。流程數據將會根據設計好的流轉路徑,流轉到下一個需要處理的人員 那里,草稿流程是用戶在發起流程界面填寫流程時或后保存的草稿流程,可以繼續編輯 或修改,然后發起。如圖6.4所示快速新建[行政印章使用審批]運行。
圖6.4快速新建行政印章使用審批流程
流程監控運行可完成查詢、展示、審核系統中已經發起的流程信息,具體界面以列 表的形式展示了需要當前用戶處理的流程數據,包括流程的基本信息展示,點擊查看狀 態可以查看該流程的基本信息和審核審批情況,并且可以打印該流程信息。
圖6.5所示為流程監控中領打印紙流程運行,從圖中可以看到狀態是正在處理中(綠 色代表已處理,藍色代表正在處理,紅色代表不通過,黃色代表駁回,灰色代表未處理)。
圖6.5領打印紙流程界面圖
6.1.3表單類別運行 肅
表單類別可以對表單信息進行管理,可以查詢、新增、編輯、刪除,如圖6.6所示 以表單設計界面中的新增表單為例運行界面。
圖6.6新增表單運行界面圖
6.1.4信息發布功能實現
運行信息發布功能可看到會議資料和管委發文兩項,打開會議資料,可以實現了會 議資料的管理和下發。每一個有查看權限的人員在“個人事務---會議資料"界面中可以進 行信息的查看;相關權限人員除了可以查看之外,可以下發會議資料。管委發文功能實 現了管委發文數據的管理。
管委發文信息界面圖如圖6.7所示。
圖6.7管委發文信息界面圖
6.2手機移動辦公運行
6.2.1手機端管委發文
在登錄頁面中輸入系統已經分配好的用戶名和密碼信息,登錄成功后將跳轉到APP 功能主頁。點擊功能主頁中的“管委發文”圖標,即可進入操作查看。
圖6.8手機端管委發文功能界面圖
在功能主頁中,有紅點的圖標,標識這項信息里面有最新的數據。可以查看發文信 息,點擊對應的發文信息進入到信息的詳情頁面。如果發文信息還沒有簽收,系統給出 簽收操作按鈕,簽收操作后,可下載附件文件。管委發文功能界面圖如圖6.8所示。
6.2.2手機端發起流程
打開手機在系統登錄頁面中輸入系統已經分配好的用戶名和密碼信息,登錄成功后 將跳轉到APP功能主頁。點擊功能主頁中的“發起流程”圖標,即可進入操作查看。在功 能主頁中,有紅點的圖標,標識這項信息里面有最新的數據。手機端發起流程的實際運 行圖6.9所示。
發區流程
.;
圖6.9手機端發起流程運行界面
點擊圖標,先看到一個流程類別的界面,按部門分類進行選擇,然后選擇相對應的 流程表,錄入流程信息,本節以發起“行政印章使用審批”流程為例,根據表格依次填寫 日期、份數、主要內容及用途、使用部門負責人、批準領導、經辦人、是否外借、編號、 重要等級等內容填寫,然后點擊發起流程,流程即進入審批環節,該流程的下一個節點 人員就可以看到該流程信息,進行下一步審批操作。
6.2.3手機端我的待辦運行
從手機端進入我的待辦功能頁可以看到當前用戶需要處理的流程數據,點擊某條數 據信息,將是該流程的詳細頁面,就可以填寫內容進行審批操作了,以處理“派車申請” 流程為例展示的我的待辦的手機端界面運行如圖6.10所示。
6.3系統測試
作為軟件應用系統開發的最后階段,黃河生態區管委會綜合信息管理系統的系統測 試的任務和意義重大,系統測試對于軟件開發起到了至關重要的作用,通過將硬件、軟 件、操作人員看作一個整體在實際運行環境下對系統進行嚴格有效地測試,發現系統潛 在的問題,檢驗是否有不符合系統應用的地方,通過多角度測試分析,找出程序中是否 有錯誤及不足,然后找出其中錯誤的地方加以改進,最終得到一個高效、可靠的系統。
系統測試目標:
1、 確保系統測試的活動是按計劃進行的;
2、 驗證軟件產品是否與系統需求用例不相符合或與之矛盾;
3、 建立完善的系統測試缺陷記錄跟蹤庫;
4、 確保軟件系統測試活動及其結果及時通知相關小組和個人。
黃河生態區管委會綜合信息管理系統的系統測試具體的環境:
(1) 服務器端其中內存M32G(4x8G),硬盤為 7*3.5" 2000G/7200RPM SATA, Windows操作系統,安裝SQL Server數據庫,以太網卡端口。
(2) 桌面端設備,商務計算機,安裝Win7、IE瀏覽器、搜狗瀏覽器。
(3) 手機客戶端,智能手機。
6.3.1系統性能測試
桌面辦公系統端性能測試需要進行以下環節〔佝:
(1)相關性檢查。試用刪除或增加其中的一項看是否會影響到其他項。
(2)安全性檢查。用不同的賬號登錄進行測試,查看是否有登錄不上的、登錄到 別人帳號串號等問題。
(3)穩定性檢查。系統提示功能是否及時、準確,使用查詢等功能是否會岀現超 時,若超時的話,是否會出現找不到確定項,出現的問題系統是否會給予不同的提示。
(4)必填項檢查。必須要填的空格項如果沒有填寫,系統是否會有提示信息。(5) 輸入信息位置。在光標現在停留的地方輸入相關信息,光標或所輸入的信息是否會出現 跳到別的地方的現象[⑸。系統性能的測試結果如表6.1所示。
表6.1計算機客戶端性能測試
操作 預期的結果 是否正常
相關性檢查 試用刪除、增加的功能按鈕進行測試某一項,不會對其 他項有所影響。 正常.異常口
安全性檢查 用不同的賬號登錄進行測試正常登錄、不會串號。 正常?異常口
穩定性檢查 使用查詢等功能,如果超時,系統會及時給予提示。 正常?異常口
必填項檢查 必須要填寫的項在沒有填寫時系統及時給予提示信息。 空正常?異常口
輸入信息位置 在光標停留的地方輸入相關信息,光標或所輸入的信息 不會出現跳到別的地方的現象。 正常?異常口
手機移動端功能的性能測試需要進行以下環節⑷】:
(1)手機端相關性檢測,通過對手機中各圖標點擊后找開的相關表格或列表事項 進行查看、審批、下載、發起等操作,會不會相互產生影響;
(2)安全性測試,用不同的賬號登錄手機客戶端,登錄是否正常總是否出現錯誤;
(3)穩定性測試,測試是否超時以及會否給予提示;
(4)必填項檢查。必須要填寫的項未填寫時系統是否都會及時處理,同時及時顯 示提示信息;
(5)運行性能測試,測試運行軟件后手機的CPU及內存消耗情況[切。手機客戶端 性能測試結果如表6.2所示。
表6.2手機客戶端性能測試用例
操作 預期的結果 是否正常
手機端相關性檢查 對所涉及的發起、刪除、審批、 下載的功能進行測試,不會對其 他方面有所影響。 正常?異常口
安全性檢查 用不同賬號登錄測試不會串號。 正常?異常口
穩定性檢查 點擊按鈕功能超時后及時給予 提示。 正常?異常口
必填項檢查 必須填寫的項在未填寫時系統 會及時給予提示。 正常.異常口
運行性能測試 查看手機的CPU運行情況和內 存消耗情況。 正常.異常口
6.3.2系統功能測試
通過系統各個功能模塊單獨測試,在進行接口測試并查看其各模塊接口是否匹配、 合理,然后進行系統的總體測試,檢查系統能否達到該系統功能要求。
舉例:對一般工作人員登錄系統后可以查看或完成的部分相關操作進行測試
1、 登錄自己的用戶名和密碼,是否可以正常、快速登錄。
2、 點擊通訊錄,是否可以查看各部門及其相關人員的電話。
3、 點擊我的任務,是否可以查收需要待辦的相關任務。
4、 點擊會議資料,是否可以查收并下載查看需要本人參會的相關會議資料。
5、 點擊流程管理,進入發起流程界面,逐個對“一般職工請假流程”、“行政印章使 用審批流程”、“出差審批流程”、“檔案室借閱審批流程”等22個流程進行“快速新建”操 作是否正常完成。
6、 點擊流程監控,進入待辦流程界面,是否可以查看及進行下一步處理。
6.4本章小結
本章展示黃河生態區管委會綜合信息管理系統運行,較為順利的完成了預期系統測 試的目標,測試結果表明系統運行穩定,實現了系統設計效果。
7結束語
本論文具體完成了黃河生態區管委會綜合信息管理系統的設計與實現工作,具體通 過對黃河生態區管委會進行的實際調研工作,梳理了管委會信息管理的實際工作流程, 明確了相關的信息管理工作節點,分析了系統用戶職責,并以此為工程背景完成了黃河 生態區管委會綜合信息管理系統的設計實現,具體工作總結如下:
1) 根據黃河生態區管委會綜合信息管理系統調研結果及用戶的具體應用特點和要 求,分析了綜合信息管理系統的國內外發展現狀,明確了系統設計目標,闡述了系統設 計的原則和目標意義
2) 分析比較了系統設計實現的關鍵技術和方案,闡述了相關基礎理論,具體包括 B/S開發模式、開發工具、Asp.net MVC模式、開發語言、SQLServer數據庫等設計技 術。
3) 按黃河生態區管委會信息化建設原則,從實際需求出發梳理了辦公管理的工作 流程,明確了相關的工作節點,完成了黃河生態區管委會綜合信息管理系統需求分析和 可行性分析。
4) 釆用MVC三層架構設計,按照面向對象的設計方法完成了黃河生態區管委會綜 合信息管理系統整體框架設計、功能模塊的規劃以及數據庫設計
5) 利用 B/S 模式、MVC 框架,Java、Objective-C、.netC#以及 SQLServer 數據庫,完成 了黃河生態區管委會綜合信息管理系統實現,詳細闡述了系統計算機客戶端的個人事 務、流程管理、流程監控、信息發布的功能模塊以及手機客戶端的管委發文、發起流程、 我的待辦的功能模塊的實現過程。
6) 完成了黃河生態區管委會綜合信息系統的運行和測試,檢驗了系統設計工作, 系統設計滿足實際應用需求,運行穩定達到了黃河生態區管委會實現辦公信息化管理要 求。
總體來說,系統使各部門之間的協同工作和信息共享資源能力得到了提高。
當然,黃河生態區管委會綜合信息管理系統,后期仍然會隨著具體的運行及未來的 新的需求進行相應補充和拓展完善,更好的高效的為管委會服務。
致 謝
三年的學校學習,自己收獲了很多。首先感謝我的兩個導師——宋斌老師和趙新和 老師。這兩個老師從工作態度、學術功底、科研精神和生活作風無不影響著我,使我這 三年學到了很多知識的同時,個人綜合素質也有了較大的進步。老師平時工作繁忙,但 在我撰寫論文期間,從前期收集整理資料,到中期檢查,后期進行詳細設計,然后項目 實施、測試等等整個過程,老師一直耐心指導,提出意見,糾正我的錯誤。兩個老師是 我學習的榜樣,在此再次向老師致以我深深的謝意。
此外,我要感謝學校里的所有老師,這些老師在這三年中教會我許多計算機專業的 知識,打下了計算機的基礎;感謝我的同學們和家人,學習中同學們熱情的交流互動, 生活中家庭成員的默默付出讓我能夠全身心的投入到課題的研究中去。研究生生活轉瞬 即逝,在今后的工作和生活中,我會銘記師長們的教誨,繼續不懈努力和追求,來報答 所有支持和幫助過我的人!
參考文獻
[1]張淋江.河南云露山智慧景區建設研究[D].廣西:廣西師范大學,2016.
[2]呂娜.政府OA辦公系統的設計與實現[D].西安:西安電子科技大學,2015.
⑶ Mehdi Nikkhah. Maintaining the Progress of IPv6 Adoption[J]. Computer Networks,2016, 38(3):158-161.
[4]王立超,唐學文,曹志通.推動IPv4/IPv6過渡策略分析[J].計算機技術與發展,2010,20 (08):124-127.
[5]Feng Lin,Gang Wang. High-performance IPv6 Address Lookup in GPU-accelerated Software Routers[J]. Journal of Network and Computer Applications,2016,10 (09) :36-39.
[6]范磊.基于微信公眾平臺的教務管理系統研究和設計[D].鄭州:鄭州大學,2016.
[7]劉利華,胡翠紅.淺析OA系統在大數據時代的功能[J].科技情報開發與經濟,2014,
1(2):67-72.
[8]吳晨.網絡視角下目的地城市旅游流空間結構與空間自相關效應研究[D].南京:南京 大學,2017.
[9]成為為.QD超市管理系統的設計與實現[D]•沈陽:東北大學,2015.
[10]譚林.辦公自動化(OA)系統開發的項目管理方法分析[D].上海:上海交通大 學,2012.
[11]w_ou.CS 架構[DB/OL], https://baike.baidu.com/item/CS%E6%9E%B6%E6%9E%84, 2017-09-06.
[12]戚小軍.基于BS結構的學生信息管理系統的設計與實現[D].北京:北京工業大 學,2012.
[13]牟丹娜.基于B/S架構的稅務監察管理系統的設計與實現[D].沈陽:東北大學,2015.
[14]tangyanzh訂ll.asp.net mvc 框架[DB/OL] , https://baike.baidu.com/item/asp.net%20 mvc/7497280,2018-01-04.
[15]張紀生.ASP.NET新架構的探索與實踐[J].《經營管理者》2012,5(3):15-19.
[16]楊茁.基于.NET的標簽打印系統設計與實現[D].上海:華東師范大學,2010.
[17]劉德華.Android Studio 工具[DB/OL], https://baike.baidu.com/item/Android%20Studio, 2016-05-07.
[18]尹孟征.基于Android的APP開發平臺綜述卩].《通信電源技術》2016,2(4):21-25.
[19]墨塵谷雨.xcode[DB/OL] , https://baike.baidu.com/item/Xcode, 2015-09-07.
[20]Frank Zammetti. Pro iOS and Android Apps for Business[M].Apress,2013.
[21]周稚楠.Windows Phone7 Programming for Android and Ios Developers [MJ. Createspace, 2014.
[22]Yeong Jun Kim, Seong Jin Cho5 Kil Jae Kim etc. Benchmarking Java Application Using JNI and Native C Applicaton on Android [C]. ICC on Control,Automation and System, 2012:116.
[23]百科用戶.java [DB/OL] , https://baike.sogou.com/v20980.htm?fromTitle=java., 2015-09-27.
[24]居民空間消息快播.java 語言大學城欄目,http://www.worlduc.com/blog2012.aspx7b id-48101152, 2015-12-0&
[25]惠宇鑫•測試用例信息管理系統的設計與實現[D]?大連:大連理工大學,2013.
[26]張闖•基石網絡固定資產信息管理系統的設計與實現[D]•沈陽:東北大學,2015.
[27]高帥康.Objective-C[DB/OL] 5https://baike.baidu.com/item/Objective-CJ 2016-01-28.
[28]Charles Petzold. Programming Windows: Writing Windows 8 Apps With C# and XAML• Microsoft Press, 2013.
[29]葉蕾.OA系統在公文管理中的應用與設計[J].計算機光盤軟件與應用,2014,3(5): 77-79.
[30]Adam Nathan? Universal Windows Apps with XAML and C# Unleashed[J] • Sams Publishing, 2015,1(2):27-32.
[31]Fuliang Lijiahai Yang5Xingwei Wang?Tian Pan5Changqing An,Jianping Wu. Characteristics analysis at prefix granularity: A case study in an IPv6 network [J]. Journal ofNetwork and Computer Applications,2016,15(3): 107-112.
[32]正男人.SQLServer 數據庫[DB/OL] , https://baike.so.coni/doc/2233903-2363692.htmL2 012-10-19
[33]王健,武士翔.強化計算機辦公網絡組建及配置研究[J]?數字技術與應 用,2015,1(1):65-67.
[34]盧成城.SQL語言與數據庫應用技術卩]?重慶文理學院學報,2010,1(30) : 10-11
[35]劉曉敏.淺談辦公網絡系統的設計[J].現代電視技術,2009,2(07):90-93?
[36]Tan, B.C.C ?,Pan. The Strategic Implications of Web Technologies: A Process Model of How Web Technologies Enhance Organizational Performance [J] . Engineering Management, 2010, (2): 181- 197.
[37]Simon Geiregat. Digital exhaustion of copyright after CJEU judgment in Ranks and Vasilevics[J]? Computer Law & Security Review: The International Journal of Technology Law and Practice,2017533(4): 132-136.
[38]Monali Mavani,Krishna Asawa. Modeling and analyses of IP spoofing attack in
6L0WPAN network[J]. Computers & Security,2017,23(2): 99-105.
[39]周苗,楊家海,劉洪波,吳建平.Internet網絡拓撲建模[J].軟件學報,2009,20 (01):109-123.
[40]張亮.Internet網絡拓撲研究[D].濟南:山東科技大學,2005.
[41]單淋琳.光纖網絡在通訊工程技術中的應用[J].電子技術與軟件工程,2017,1(07): 38-39.
[42]李廣潤.解析辦公網絡組建與配置[J].長春理工大學學報,2013,8(02):235-236.
[43]李偉然•基于ASP_Net的廣西藝術學院學生就業管理系統的設計與實現[D].廈門: 廈門大學,2014.
[44]查偉忠,楊季文.OA系統流程模型分析與元模型設計[J].計算機工程,2007, 2(05):23-25.
[45]田利原.基于Web的視頻點播系統設計與實現[D].棗莊:棗莊學院,2010.