單福悅 凡嵩 李智遠 劉玉泉 田國祥
(63778部隊黑龍江佳木斯 145003)
基于ASP.NET的測站信息化管理系統(tǒng)
單福悅 凡嵩 李智遠 劉玉泉 田國祥
(63778部隊黑龍江佳木斯 145003)
信息化管理平臺的建設(shè)是測站提高管理水平,更好地發(fā)揮示范輻射作用,確保測站管理質(zhì)量的重要保證。為進一步提高測站信息化管理水平,在對測站管理進行了充分了解的基礎(chǔ)上,采用ASP.NET 3.5與SQL SERVER 2005相結(jié)合,對測站信息化管理系統(tǒng)的開發(fā)進行了研究,系統(tǒng)架構(gòu)由表示層(WEB)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)三個層組成,具有易擴展、易維護、開放化、智能化和安全可靠等特點。
.NET三層結(jié)構(gòu)AJAX測站信息化管理SQL Server B/S模式
在信息技術(shù)飛速發(fā)展的今天,伴隨網(wǎng)絡(luò)通信、分布式處理和數(shù)據(jù)庫技術(shù)的發(fā)展,使得管理系統(tǒng)的信息化[1]和網(wǎng)絡(luò)化成為現(xiàn)實并已成熟應(yīng)用。同時,測站人員的增加和裝備的大量投入也給測站的管理增加了繁重的工作,面對繁重的人員和裝備的管理工作,傳統(tǒng)的管理模式弊端逐漸顯露出來,測站管理的信息化和網(wǎng)絡(luò)化也成為測站提高管理效率的關(guān)鍵步驟之一。本文基于ASP.NET+ADO.NET+AJAX技術(shù),利用三層架構(gòu)優(yōu)化系統(tǒng)結(jié)構(gòu)[2,3]設(shè)計,結(jié)合SQL SERVER 2005[4,5]開發(fā)了測站信息化管理系統(tǒng)[6]。
2.1 .NET框架
.NET Framework在一定程度上類似于JAVA虛擬機,它們的優(yōu)越性不僅僅在于使在網(wǎng)絡(luò)[7]上運行的程序更容易開發(fā),同時也在于它們可以用來開發(fā)運行于Windows桌面上的原始業(yè)務(wù)應(yīng)用軟件。它們?yōu)閯?chuàng)建、管理和開發(fā)功能強大、文件關(guān)聯(lián)繁瑣的應(yīng)用程序提供了莫大的支持,它為現(xiàn)代軟件的開發(fā)提供了一個結(jié)構(gòu)清晰,內(nèi)容豐富,并易于使用的框架。.NET Framework是一個創(chuàng)建、部署和運行各類應(yīng)用程序的多語言開發(fā)環(huán)境。值得一提的是,.NET Framework所支持的語言使用的基類庫是由.NET Framework類庫(FCL)提供的。
2.2 ASP.NET
ASP.NET是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),即Active Server Pages(動態(tài)服務(wù)器頁面)。同時,因為他是基于通用語言的編譯運行的程序,可以使它運行在WEB應(yīng)用軟件開發(fā)者的幾乎全部的平臺上。另外,通用語言的基本庫、消息機制和數(shù)據(jù)接口的處理都能無縫的整合到ASP.NET的WEB應(yīng)用中。
2.3 ADO.NET
ADO.NET[8,9]是數(shù)據(jù)庫的一種訪問方式,主要表現(xiàn)對象為Dataset內(nèi)存加載數(shù)據(jù)方式。它提供了平臺互用性和可伸縮的數(shù)據(jù)訪問,增強了對非連接編程模式的支持,ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進行交互,通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫,但它同樣也能夠是文本文件、Excel表格或者XML文件,這很大程度上保證了平臺訪問數(shù)據(jù)源的多樣性。
補充型分類是對除前兩種主流分類方式之外的,從其他視角進行分類的方式的總稱。如Lyons發(fā)現(xiàn)銷售員的工作重塑策略包括發(fā)展個人能力、明確任務(wù)功能、增進關(guān)系、維持關(guān)系和戰(zhàn)術(shù)選擇五種?;Grant等發(fā)現(xiàn)服務(wù)業(yè)從業(yè)人員會使用擴展工作角色、修正服務(wù)內(nèi)容以適應(yīng)客戶需要、避開令人不快的顧客、選擇意義較強的工作內(nèi)容四種技術(shù)來重塑他們與客戶的關(guān)系?;Leana認為除了個體工作重塑外,還有合作工作重塑?;Berg等指出在工作重塑之外還有閑暇重塑?;還有學(xué)者提出擴充型工作重塑和收縮型工作重塑、基于特長的工作重塑和基于興趣的工作重塑等分類方式。其中,個體與合作重塑、工作與閑暇重塑是補充型分類中受到關(guān)注較多的分類方式。
2.4 三層結(jié)構(gòu)
ASP.NET[10]可以使用.NET平臺來快速方便地部署三層架構(gòu)。ADO.NET的數(shù)據(jù)庫訪問基礎(chǔ)是.NET數(shù)據(jù)[11]供應(yīng)器(Data Provider)。顯示層放在顯示頁面中,數(shù)據(jù)庫操作和邏輯層用組件來實現(xiàn),這樣就能很方便地實現(xiàn)三層架構(gòu)。在ASP. NET 3.5中,典型的三層架構(gòu)[12]包括表示層(即頁面及后臺代碼)、業(yè)務(wù)邏輯層(即業(yè)務(wù)接口、業(yè)務(wù)實體、業(yè)務(wù)邏輯)和數(shù)據(jù)訪問層。
2.5 AJAX技術(shù)
AJAX指異步JavaScript及XML(Asynchronous JavaScript And XML)在基于數(shù)據(jù)的應(yīng)用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨立于實際網(wǎng)頁的服務(wù)端取得并且可以被動態(tài)地寫入網(wǎng)頁中。Ajax的核心是JavaScript對象XmlHttpRequest。它是一種支持異步請求的技術(shù)。簡而言之,XmlHttpRequest可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng)而不阻塞用戶,AJAX在瀏覽器與WEB服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP請求),這樣就可使網(wǎng)頁從服務(wù)器請求少量的信息,而不是整個頁面。通過AJAX,測站信息化管理系統(tǒng)可以變得更完善、更友好。AJAX的工作流程如圖1所示。
圖1 AJAX工作流程
信息化管理系統(tǒng)的開發(fā)過程中,系統(tǒng)分析和設(shè)計階段所做的工作是最重要的。測站信息化管理系統(tǒng)是基于Microsoft Visual Studio 2008開發(fā)的WEB應(yīng)用程序,此處針對有關(guān)目標對系統(tǒng)需求、運行環(huán)境等進行分析,通過數(shù)據(jù)庫需求分析,系統(tǒng)功能模塊設(shè)計等對測站信息化管理系統(tǒng)進行一個全方位的分析設(shè)計。
3.1 系統(tǒng)項目內(nèi)容
①實現(xiàn)對測站人員信息的數(shù)字化管理,能通過系統(tǒng)掌握人員的在位情況;
于實現(xiàn)對測站裝備信息的數(shù)字化管理(裝備管理者才擁有此權(quán)限),能通過系統(tǒng)掌握設(shè)備備品備件、使用教程、故障匯編文檔和應(yīng)急預(yù)案的情況;
③實現(xiàn)對個人工作的管理,能通過系統(tǒng)安排個人本周工作,計劃下周工作,并能對某些公共性的營產(chǎn)營具進行申請使用。
3.2 系統(tǒng)總體用例描述
用例是從用戶的觀點對系統(tǒng)行為的一個描述,由參與者發(fā)起的,能夠從用例的執(zhí)行中獲得有價值的事物。用例模型的圖形表示法很直觀。本系統(tǒng)中設(shè)有4種用戶:系統(tǒng)管理員、人員管理員、裝備管理員和普通系統(tǒng)用戶,這4種用戶都是系統(tǒng)用戶,只是在系統(tǒng)某些功能模塊的使用上有權(quán)限限制。在此,將這4種用戶統(tǒng)稱為系統(tǒng)用戶。系統(tǒng)總用例圖如圖2所示。
圖2 系統(tǒng)總用例圖
測站信息化管理系統(tǒng)的主要任務(wù)是用計算機迅速準確地對測站人員、裝備、個人工作進行無紙化管理。如增加、查詢、刪除以及存儲等。系統(tǒng)主要包括人員管理,裝備管理和個人工作管理三大模塊。其結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)組成結(jié)構(gòu)框圖
4.1 方法概要
測站信息化管理系統(tǒng)是采用面向?qū)ο蟮某绦蛟O(shè)計思想進行編制的。系統(tǒng)用戶可以通過主菜單調(diào)用系統(tǒng)的各項功能。
①面向?qū)ο蟮某绦蛟O(shè)計不再是單純的從代碼的第一行一直編到最后一行,而是考慮如何創(chuàng)建類和對象,利用類和對象來簡化程序設(shè)計,并提供代碼的封裝和可重用性,便于程序的維護和擴展;
于所謂的對象是一種抽象的名稱,用來對應(yīng)現(xiàn)實世界存在的“東西”。一個窗口,一個按鈕,一個菜單都可視為一個對象,而按鈕對象,菜單對象又會出現(xiàn)在窗口對象中,因此按鈕對象,菜單對象便是窗口對象的組件之一。對象內(nèi)部的數(shù)據(jù)是不能隨意更改的,必須由外部向其傳遞信息,再由對象按其方法加以處理。用戶無需知道其任何細節(jié),操作是封閉的,對象之間能通過方法調(diào)用相互通信;
③類可視為一個產(chǎn)品模具、一個模塊。在面向?qū)ο笤O(shè)計中,類是對象的原型,是對象的制作器。類的概念是面向?qū)ο蟪绦蛟O(shè)計最重要的特征。所謂類,是指由數(shù)據(jù)結(jié)構(gòu)及其相關(guān)操作形成的集合,描述該類任意一個對象的共同行為特征,是對一組性質(zhì)相同的對象的程序描述,概括了對象的共同性質(zhì)和數(shù)據(jù)。
4.2 系統(tǒng)流程設(shè)計
4.2.1 系統(tǒng)的邏輯體系結(jié)構(gòu)
本系統(tǒng)采用當(dāng)前流行的B/S設(shè)計模式,基于Windows. NET平臺構(gòu)建WEB應(yīng)用程序,把系統(tǒng)劃分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。
4.2.2 系統(tǒng)總體活動圖
活動圖(activity diagram,動態(tài)圖)是闡明了業(yè)務(wù)用例實現(xiàn)的工作流程。業(yè)務(wù)用例工作流程說明了業(yè)務(wù)為向所服務(wù)的業(yè)務(wù)主角提供其所需的價值而必須完成的工作。本系統(tǒng)總體活動圖如圖4所示。
圖4 系統(tǒng)總體活動圖
4.2.3 各層在系統(tǒng)中的主要工作及設(shè)計
下圖給予一個關(guān)于三層結(jié)構(gòu)的直觀印象,如圖5所示。
圖5 三層架構(gòu)關(guān)系
①表示層(UI):主要實現(xiàn)和用戶的交互,接收用戶請求或返回用戶請求的數(shù)據(jù)結(jié)果的展現(xiàn),而具體的數(shù)據(jù)處理則交給業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層去處理;
于業(yè)務(wù)邏輯層(BLL):業(yè)務(wù)邏輯層承上啟下,用于對上下交互的數(shù)據(jù)進行邏輯處理,實現(xiàn)業(yè)務(wù)目標。由于組件項目中每個類都設(shè)計有一個對后臺數(shù)據(jù)庫進行連接的連接字符串成員,為了統(tǒng)一管理,把這個連接字符串成員提取到BLL類中;
③數(shù)據(jù)訪問層(DAL):用于實現(xiàn)與數(shù)據(jù)庫的交互和訪問,從數(shù)據(jù)庫獲取數(shù)據(jù)或保存數(shù)據(jù)到數(shù)據(jù)庫的部分。數(shù)據(jù)訪問層主要是系統(tǒng)采用的數(shù)據(jù)庫管理系統(tǒng)(DBMS),其主要的對象有表、視圖、存儲過程、函數(shù)、觸發(fā)器等,數(shù)據(jù)的許多處理都應(yīng)該由數(shù)據(jù)庫本身去完成,例如將復(fù)雜的查詢或者數(shù)據(jù)寫入,都封裝為存儲過程和函數(shù),將函數(shù)寫入前后要進行的附加操作用觸發(fā)器實現(xiàn)等等。對于表的創(chuàng)建一般應(yīng)以數(shù)據(jù)庫原理的第三范式規(guī)范來創(chuàng)建,允許一定的冗余;
④業(yè)務(wù)實體(Model):用于封裝實體類數(shù)據(jù)結(jié)構(gòu),一般用于映射數(shù)據(jù)庫的數(shù)據(jù)表或視圖,用以描述業(yè)務(wù)中客觀存在的對象。Model分離出來是為了更好地解耦,為了更好地發(fā)揮分層的作用,更好地進行復(fù)用和擴展,增強靈活性。每一張表都對應(yīng)了一個實體類,故實體類層共包括人員信息類、裝備信息類、個人工作信息類等;
⑤通用類庫Common:通用的輔助工具類。它為其他各層提供公用的參數(shù),可減少代碼的編寫量,提高系統(tǒng)效率。
本系統(tǒng)是使用ASP.NET及SQL Server 2005數(shù)據(jù)庫進行設(shè)計與開發(fā)的,本文也主要介紹了系統(tǒng)開發(fā)過程,包括系統(tǒng)的需求分析,系統(tǒng)功能模塊的分析設(shè)計,數(shù)據(jù)庫設(shè)計等。整個系統(tǒng)的開發(fā)基本遵循軟件工程中系統(tǒng)開發(fā)流程,做到模塊化分析、模塊化設(shè)計。該系統(tǒng)可以有效的實現(xiàn)對測站的信息化管理,基本滿足測站管理需求。
[1]霍國東.信息系統(tǒng)應(yīng)用中的風(fēng)險分析與預(yù)防[J].無線電工程, 2011,41(4):14-16.
[2]韓朝陽.Visual C#程序開發(fā)案例教程[M].北京:北京大學(xué)出版社,2009,132-140.
[3]周興華,周新偉,張軍等.ASP+SQL Server數(shù)據(jù)庫開發(fā)與實例[M].北京:清華大學(xué)出版社,2008,82-94.
[4]趙森,蘇慶,肖蓉.中文SQL Server 2005程序設(shè)計教程[M].北京:冶金工業(yè)出版社,2006,61-73.
[5]楊富國.Visual C#.NET網(wǎng)絡(luò)編程案例解析[M].北京:清華大學(xué)出版社,北京交通大學(xué)出版社.2009,204-210.
[6]孔祥艷.企業(yè)信息系統(tǒng)的構(gòu)件化開發(fā)方法分析[J].無線電工程,2011,41(3):62-64.
[7]郭建立,劉志晗,李旭.下一代網(wǎng)絡(luò)業(yè)務(wù)沖突問題研究與解決方法[J].無線電通信技術(shù),2012,38(2):6-7,47.
[8]張揚.ADO.NET中的數(shù)據(jù)并發(fā)控制[D].成都:電子科技大學(xué),2010,19-25.
[9]宋繼紅.基于.net平臺的遠程教務(wù)管理系統(tǒng)的研究和設(shè)計[D].西安:西安理工大學(xué),2010,21-57.
[10]邵鵬鳴.ASP.NET技術(shù)應(yīng)用教程[M].北京:電子工業(yè)出版社,2005,32-46.
[11]李紅芹.基于三層架構(gòu)的.NET數(shù)據(jù)庫業(yè)務(wù)系統(tǒng)開發(fā)[J].計算機與現(xiàn)代化,2009,(10):120-125.
[12]王海燕.C#.NET下三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)[J].計算機技術(shù)與發(fā)展,2012,22(6):78-81.
Informatization Management System of TT&C Station Based on ASP.NET
SHAN Fu-yue,FAN Song,LI Zhi-yuan,LIU Yu-quan,TIAN Guo-xiang
(Unit 63778,PLA,Jiamusi Heilongjiang 145003,China)
The construction of informatization management platform is an important guarantee to improve the management level of TT&C station,better play the demonstration and radiation effect,and ensure the management quality.In order to further improve the informatization management level of TT&C station,based on full understanding on TT&C station management,this paper combines ASP.NET 3.5 with SQL SERVER 2005 to research the development of informatization management system of TT&C station.The system architecture consists of three layers:presentation layer(WEB),business logic layer(BLL)and data access layer(DAL),and has such characteristics as easy expandability,easy maintainability,openness,intelligentization,high security and reliability.
.NET;three-tier architecture;AJAX;informatization management of TT&C station;SQL Server;B/S mode
TP311.52
:A
1008-1739(2015)06-51-4
定稿日期:2015-02-26