本文摘要:【摘 要】軟件架構(gòu)設(shè)計(jì)是降低成本、改進(jìn)質(zhì)量、按時(shí)和按需交付產(chǎn)品的關(guān)鍵因素;良好的軟件架構(gòu)能夠服務(wù)于整個(gè)開(kāi)發(fā)過(guò)程,有效地降低項(xiàng)目風(fēng)險(xiǎn),確保項(xiàng)目能夠朝著健康的方向發(fā)展。 【關(guān)鍵詞】軟件架構(gòu) 統(tǒng)計(jì)報(bào)表 優(yōu)化設(shè)計(jì) 期刊論文征稿 溫州市統(tǒng)計(jì)局原來(lái)是依賴手工將
【摘 要】軟件架構(gòu)設(shè)計(jì)是降低成本、改進(jìn)質(zhì)量、按時(shí)和按需交付產(chǎn)品的關(guān)鍵因素;良好的軟件架構(gòu)能夠服務(wù)于整個(gè)開(kāi)發(fā)過(guò)程,有效地降低項(xiàng)目風(fēng)險(xiǎn),確保項(xiàng)目能夠朝著健康的方向發(fā)展。
【關(guān)鍵詞】軟件架構(gòu) 統(tǒng)計(jì)報(bào)表 優(yōu)化設(shè)計(jì) 期刊論文征稿
溫州市統(tǒng)計(jì)局原來(lái)是依賴手工將報(bào)表數(shù)據(jù)層層上報(bào),隨著我國(guó)國(guó)民經(jīng)濟(jì)的快速發(fā)展和計(jì)算機(jī)技術(shù)的提高,傳統(tǒng)的手工報(bào)表方式和管理方法已不能滿足快速、高效地掌握資訊的要求。對(duì)一套方便、可靠、安全的數(shù)據(jù)調(diào)查與報(bào)表管理系統(tǒng)的需求迫在眉睫。溫州市統(tǒng)計(jì)報(bào)表網(wǎng)上直報(bào)系統(tǒng)總體架構(gòu)規(guī)劃由網(wǎng)絡(luò)系統(tǒng)、應(yīng)用系統(tǒng)和運(yùn)行維護(hù)系統(tǒng)三部分組成。
網(wǎng)絡(luò)系統(tǒng)主要由硬件網(wǎng)絡(luò)平臺(tái)組成,是應(yīng)用系統(tǒng)和運(yùn)行維護(hù)系統(tǒng)運(yùn)行的基礎(chǔ)平臺(tái),其主要作用是提供系統(tǒng)運(yùn)行的物理環(huán)境,包括運(yùn)行網(wǎng)絡(luò)、數(shù)據(jù)安全、通訊保障等環(huán)境。
應(yīng)用系統(tǒng)主要由在線報(bào)表管理系統(tǒng)軟件組成,其主要作用是提供數(shù)據(jù)采集、處理和利用的應(yīng)用服務(wù),包括報(bào)表數(shù)據(jù)的錄入上報(bào)、審核、接收、查詢、統(tǒng)計(jì)、匯總等功能。
運(yùn)行維護(hù)系統(tǒng)主要提供報(bào)表管理系統(tǒng)基礎(chǔ)數(shù)據(jù)的維護(hù)和系統(tǒng)運(yùn)行的日常維護(hù)功能。
功能性需求包括:用戶角色權(quán)限管理,報(bào)表設(shè)計(jì)維護(hù)管理,報(bào)表錄入及上報(bào)管理,報(bào)表查詢匯總管理,數(shù)據(jù)導(dǎo)入導(dǎo)出管理。按用戶劃分,分為系統(tǒng)管理員、統(tǒng)計(jì)部門(mén)管理員和企業(yè)用戶三類。
非功能性需求主要考慮了以下因素。
(1)可擴(kuò)充性、可維護(hù)性?蓴U(kuò)充性包括了兩個(gè)方面:一方面指軟件模塊的可擴(kuò)充,能夠很方便地?cái)U(kuò)充新的軟件功能,比如企業(yè)臺(tái)帳系統(tǒng),如果有必要,要求能夠很方便地作出擴(kuò)展;另一方面指系統(tǒng)本身的可擴(kuò)充性,能夠支持企業(yè)用戶大規(guī)模、高并發(fā)的訪問(wèn),支持集群等?删S護(hù)性則要求能夠根據(jù)統(tǒng)計(jì)部門(mén)需求變化進(jìn)行快速地升級(jí)和改進(jìn)。
(2)訪問(wèn)方式。通過(guò)網(wǎng)絡(luò)遠(yuǎn)程訪問(wèn),訪問(wèn)時(shí)能夠跨廣域網(wǎng),因?yàn)橹眻?bào)系統(tǒng)報(bào)表填報(bào)的對(duì)象是廣大的企業(yè)用戶,必須支持Internet訪問(wèn)。
(3)組件復(fù)用。主要指的是服務(wù)器端的組件復(fù)用。服務(wù)器端組件能夠支持遠(yuǎn)程客戶端訪問(wèn)。為此,需要采用中間件技術(shù)來(lái)達(dá)到組件復(fù)用的目標(biāo)。
(4)安全性。支持良好的用戶、權(quán)限管理,以及支持常見(jiàn)認(rèn)證體系(如PKI)、SSL加密傳輸?shù)取?/p>
(5)用戶界面及數(shù)據(jù)接口;跒g覽器的瘦客戶端,能夠支持不同方式采集的不同格式的數(shù)據(jù),支持不同風(fēng)格的用戶界面。
基于上述考慮,選擇了多層組合架構(gòu),層與層之間松散耦合,各層分工明確,從上到下各層依次為表現(xiàn)層、業(yè)務(wù)邏輯層、持久化層和數(shù)據(jù)庫(kù)層。采用Spring來(lái)搭建整個(gè)框架的基礎(chǔ),使用了持久化工具Hibernate來(lái)完成持久化操作,表現(xiàn)層通過(guò)Struts框架來(lái)實(shí)現(xiàn)的。
Spring的基礎(chǔ)是一個(gè)輕量級(jí)的容器,即實(shí)現(xiàn)了依賴注入(DI)和控制反轉(zhuǎn)模式(IoC),在這個(gè)輕量級(jí)的容器中已經(jīng)架設(shè)了與典型應(yīng)用相關(guān)的大部分基礎(chǔ)框架結(jié)構(gòu),我們的統(tǒng)計(jì)報(bào)表網(wǎng)上直報(bào)系統(tǒng)就是在這個(gè)基礎(chǔ)上,根據(jù)系統(tǒng)的需要組裝相關(guān)的應(yīng)用到此框架上,從而完成應(yīng)用程序的開(kāi)發(fā),實(shí)現(xiàn)一站式框架整合方案。Spring的核心是Bean工廠,在Bean工廠的基礎(chǔ)上,Spring實(shí)現(xiàn)了面向方面編程(AOP,Aspect-Oriented Programming),提供了非管理環(huán)境下申明事務(wù)、安全等服務(wù);從而保障了框架整體協(xié)調(diào)工作和框架的安全性。
在設(shè)計(jì)的架構(gòu)中由Spring構(gòu)建的業(yè)務(wù)層實(shí)現(xiàn)軟件系統(tǒng)需要完成的所有業(yè)務(wù)功能。如:管理事務(wù);業(yè)務(wù)服務(wù)管理;處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)驗(yàn)證;預(yù)留和其他層交互的接口;管理業(yè)務(wù)層對(duì)象之間的依賴;增加在表示層和持久層之間的靈活性,使它們互不直接通訊;從表示層中得到上下文并將其提供給業(yè)務(wù)層,使業(yè)務(wù)層獲得業(yè)務(wù)服務(wù);管理從業(yè)務(wù)邏輯到持久層的實(shí)現(xiàn)等等。這些是系統(tǒng)的核心功能。
Spring通過(guò)服務(wù)裝載器來(lái)與Struts協(xié)同工作,由Struts構(gòu)建的表示層在其MVC的體系結(jié)構(gòu)下主要完成以下功能:為用戶管理請(qǐng)求和響應(yīng);提供一個(gè)控制器代理調(diào)用業(yè)務(wù)邏輯和其他層處理;為顯示提供一個(gè)模型;執(zhí)行用戶接口驗(yàn)證等等。系統(tǒng)的頁(yè)面展示功能主要由這一層來(lái)實(shí)現(xiàn)。
Spring通過(guò)數(shù)據(jù)訪問(wèn)對(duì)象(DAO,Data Access Object)來(lái)與Hibernate協(xié)同工作,Hibernate框架提供了“對(duì)象-關(guān)系持久化”機(jī)制和查詢服務(wù)。Hibernate提供了建立數(shù)據(jù)源或數(shù)據(jù)連接池的功能,數(shù)據(jù)查詢語(yǔ)言HQL和其他Hibernate服務(wù)。Hibernate“對(duì)象-關(guān)系映射”框架提供對(duì)大多數(shù)主流SQL數(shù)據(jù)庫(kù)的支持,它們支持“父/子”關(guān)系、事務(wù)處理、繼承和多態(tài)。
在表示層、業(yè)務(wù)層和持久層之間,使用領(lǐng)域模型層來(lái)傳遞各層之間協(xié)作需要的數(shù)據(jù)對(duì)象。領(lǐng)域?qū)ο髮佑赡切┐憩F(xiàn)實(shí)世界中的業(yè)務(wù)對(duì)象的對(duì)象組成,如:專業(yè)(specialty)、報(bào)表(Report)等。這個(gè)層讓我們從繁瑣的建立和維護(hù)匹配領(lǐng)域?qū)ο蟮臄?shù)據(jù)傳輸對(duì)象工作中解脫出來(lái)。例如,Hibernate允許把報(bào)表制度的信息從數(shù)據(jù)庫(kù)讀進(jìn)報(bào)表(Report)的對(duì)象,這樣可以在連接斷開(kāi)的情況下把制度顯示到界面,供企業(yè)完成填報(bào)。在企業(yè)報(bào)表數(shù)據(jù)填報(bào)發(fā)送后,報(bào)表對(duì)象在連接恢復(fù)后被更新送回到持久層,并在數(shù)據(jù)庫(kù)里更新。這個(gè)模型使Java開(kāi)發(fā)者以一種面向?qū)ο蟮娘L(fēng)格和對(duì)象打交道,而不必考慮復(fù)雜的對(duì)象模型及關(guān)系模型之間的轉(zhuǎn)換問(wèn)題。
通過(guò)Struts+Spring+Hibemat這個(gè)成熟的開(kāi)源框架來(lái)實(shí)現(xiàn)統(tǒng)計(jì)報(bào)表網(wǎng)上直報(bào)系統(tǒng),有效地縮短了開(kāi)發(fā)周期,簡(jiǎn)化了程序代碼,提高了開(kāi)發(fā)質(zhì)量,使系統(tǒng)具有良好的交互性、較好的可擴(kuò)展性和良好的可維護(hù)性。
在系統(tǒng)平臺(tái)配置上,服務(wù)器選用HP ML350,操作系統(tǒng)選用Red Hat Linux AS 4.0,數(shù)據(jù)庫(kù)選用Oarcle10g,web應(yīng)用中間件選用Tomcats.5.5.2。其中WEB和應(yīng)用服務(wù)器均放在防火墻內(nèi)部,其中WEB應(yīng)用服務(wù)器通過(guò)防火墻NAT技術(shù)與外部用戶進(jìn)行交互,而數(shù)據(jù)庫(kù)服務(wù)器則與外部隔離;基層企業(yè)用戶通過(guò)互聯(lián)網(wǎng)訪問(wèn)系統(tǒng)。
目前,溫州市的統(tǒng)計(jì)報(bào)表網(wǎng)上直報(bào)系統(tǒng)已經(jīng)成功部署運(yùn)行了。它的應(yīng)用,減少了專業(yè)人員投入專業(yè)報(bào)表數(shù)據(jù)收集和整理的大量繁瑣、復(fù)雜的手工任務(wù),極大地提高統(tǒng)計(jì)業(yè)務(wù)工作的效率,并實(shí)現(xiàn)統(tǒng)計(jì)資料的科學(xué)運(yùn)用和管理。它改變了以往統(tǒng)計(jì)報(bào)表都是以物理表格形式的陳規(guī)。系統(tǒng)以定制的方式生成一張張電子表格,上報(bào)的表格數(shù)據(jù)經(jīng)公式審核通過(guò)后,自動(dòng)進(jìn)入后臺(tái)數(shù)據(jù)庫(kù)存管,解決了以前統(tǒng)計(jì)數(shù)據(jù)信息集成能力不夠強(qiáng)、分類管理方法不夠科學(xué)的難題。獲取的統(tǒng)計(jì)數(shù)據(jù)資源可以利用相關(guān)的挖掘和分析工具進(jìn)行再次開(kāi)發(fā),形成更有價(jià)值的信息,為政府決策和公眾咨詢提供了更可靠的理論依據(jù)。這種面向廣大基層單位和公眾的數(shù)據(jù)采集平臺(tái),還為統(tǒng)計(jì)分析方法與制度的改革提供了新的思路。從發(fā)展的眼光看,本系統(tǒng)還有待進(jìn)一步提高和完善,比如拓展企業(yè)臺(tái)帳系統(tǒng),對(duì)統(tǒng)計(jì)數(shù)據(jù)進(jìn)行主題性的開(kāi)發(fā)利用等等。
轉(zhuǎn)載請(qǐng)注明來(lái)自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/3301.html