劉 芳
(內(nèi)江師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院,四川內(nèi)江 641000)
目前,寬帶接入市場(chǎng)的主流方式是DSL技術(shù)中的ADSL。在用戶(hù)端,需要安裝ADSL Modem,稱(chēng)為ATUR。用戶(hù)的計(jì)算機(jī)通過(guò)ATU-R連接到普通電話(huà)線(xiàn)上。在ADSL Modem中有一個(gè)用于信號(hào)分離的芯片,從電話(huà)線(xiàn)傳來(lái)的信號(hào)通過(guò)它被分成兩路:一路用于傳送語(yǔ)音;另一路用于傳送數(shù)據(jù)。傳送數(shù)據(jù)的信號(hào)會(huì)經(jīng)過(guò)一個(gè)信道分離器(Channel Separator),分成上行和下行兩個(gè)信道。在交換局端同樣需要為每個(gè)用戶(hù)安裝一個(gè)對(duì)等的ADSL Modem的接入單元,稱(chēng)為ATU-C。在交換局的ADSL Modem中也有用于信號(hào)分離的芯片,所以從用戶(hù)端傳來(lái)的信號(hào)通過(guò)ADSL調(diào)制解調(diào)器后被分成兩路,一路是語(yǔ)音信號(hào),它被送往交換局的PSTN設(shè)備;另一路傳送數(shù)據(jù)到骨干網(wǎng)上[1]。
本文針對(duì)ADSL裝機(jī)管理的實(shí)時(shí)性、互動(dòng)性需求,采用UML規(guī)劃設(shè)計(jì)基于Web的ADSL裝機(jī)管理系統(tǒng)。并采用B/S結(jié)構(gòu)進(jìn)行架構(gòu),使用asp.net作為開(kāi)發(fā)工具,Access為后臺(tái)數(shù)據(jù)庫(kù),實(shí)現(xiàn)ADSL裝機(jī)管理系統(tǒng)的開(kāi)發(fā)。
由于一個(gè)專(zhuān)業(yè)管理系統(tǒng)往往牽涉到復(fù)雜的業(yè)務(wù)流程,對(duì)它的開(kāi)發(fā)做好建模顯得相當(dāng)重要,UML是面向?qū)ο箝_(kāi)發(fā)中一種通用、統(tǒng)一的圖形化模型語(yǔ)言,它將軟件模型中的信息用標(biāo)準(zhǔn)圖形元素直觀顯示,可以在幾個(gè)層次上顯示系統(tǒng)如何工作,非常有利于用戶(hù)和其他涉及項(xiàng)目人員之間的通信[2-3]。
UML是由信息系統(tǒng)和面向?qū)ο箢I(lǐng)域的3位方法學(xué)家Grady Booch、James Rumbaugh和 Ivar Jacobson提出的。UML是一種對(duì)軟件密集型系統(tǒng)的制品進(jìn)行可視化、構(gòu)造和文檔化的可視化建模語(yǔ)言,是OMG的標(biāo)準(zhǔn)建模語(yǔ)言。從并發(fā)系統(tǒng)到基于Web的分布式應(yīng)用,從企業(yè)信息系統(tǒng)到嚴(yán)格的實(shí)時(shí)嵌入式系統(tǒng)都適合用UML建模[4]。UML包括靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制,UML的靜態(tài)建模機(jī)制包括用例圖、類(lèi)圖、對(duì)象圖、包、構(gòu)件圖和配置圖;動(dòng)態(tài)建模機(jī)制包括狀態(tài)圖、順序圖、合作圖和活動(dòng)圖。
目前已有多種支持UML的建模工具,Microsoft的建模工具Visio就是全面支持建模思想的工具。文中的建模在Microsoft Office Visio 2007下完成。
利用UML的各種圖示和方法,獲取生成Web應(yīng)用程序所需的各種元素和參數(shù)。通過(guò)繪制Use Case Diagram、C1ass Diagram、Sequence Diagram 以及 Activity Diagram,針對(duì)不同的Web應(yīng)用程序,分析、設(shè)計(jì)出其對(duì)象模型和功能模型等相關(guān)模型。文中采用C#作為Web應(yīng)用程序的開(kāi)發(fā)語(yǔ)言,加強(qiáng)其面向?qū)ο蟮牟糠?,盡量用面向?qū)ο蟮乃枷霛M(mǎn)足Web應(yīng)用程序設(shè)計(jì)的要求,抽象出Web應(yīng)用程序中結(jié)構(gòu)相似、功能相近的可復(fù)用內(nèi)容,并對(duì)其進(jìn)行封裝,使其“類(lèi)”化[5-9]。在ADSL裝機(jī)管理系統(tǒng)中,營(yíng)業(yè)廳工作人員、設(shè)備維護(hù)人員、用戶(hù)和網(wǎng)管中心管理人員分別包含許多相似功能,如查看裝機(jī)詳細(xì)信息、用戶(hù)詳細(xì)信息等,可以利用UML進(jìn)行建模,運(yùn)用抽象出的Web“類(lèi)”進(jìn)行高效率、低成本的快速開(kāi)發(fā)。
靜態(tài)建模主要包括用例圖和類(lèi)圖,下面對(duì)ADSL裝機(jī)管理系統(tǒng)進(jìn)行靜態(tài)建模。
3.1.1 用例圖
用例圖是從用戶(hù)的角度描述系統(tǒng)功能,并指出各功能的操作者。用例描述的是系統(tǒng)外部的可見(jiàn)行為,是系統(tǒng)為某一個(gè)或幾個(gè)參與者提供的一段完整服務(wù)。用例之間抽象出包含、擴(kuò)展和泛化幾種關(guān)系。這幾種關(guān)系都是從現(xiàn)有的用例中抽取出公共信息,然后用不同的方法重用這部分公共信息,以減少模型維護(hù)的工作量[3]。使用用例圖可以更好地進(jìn)行溝通,這不僅有利于系統(tǒng)設(shè)計(jì)人員與系統(tǒng)管理人員的溝通,也有利于系統(tǒng)設(shè)計(jì)人員之間互相的溝通,充分體現(xiàn)了可視化設(shè)計(jì)的優(yōu)點(diǎn),可以提高開(kāi)發(fā)效率、節(jié)約大量時(shí)間。
根據(jù)引言中對(duì)ADSL裝機(jī)管理的業(yè)務(wù)描述和分析,對(duì)系統(tǒng)進(jìn)行功能建模,使用UML中的用例圖的表示法說(shuō)明用例和參與者的名稱(chēng)及其之間的關(guān)系。在圖中體現(xiàn)了營(yíng)業(yè)廳工作人員、設(shè)備維護(hù)人員、用戶(hù)、網(wǎng)管中心管理人員與ADSL裝機(jī)管理中用例之間的關(guān)系,同時(shí)也可以看出各用例之間的關(guān)系。ADSL裝機(jī)管理系統(tǒng)的用例圖如圖1所示。
3.1.2 類(lèi)圖
圖1 ADSL裝機(jī)管理系統(tǒng)用例圖
類(lèi)圖是展現(xiàn)一系列類(lèi)、接口、包及其關(guān)系的視圖。類(lèi)中的屬性和操作也必須描述清楚,這就為以后的編碼設(shè)計(jì)提供了依據(jù)。為工程設(shè)計(jì)的需要,把類(lèi)分為3類(lèi):邊界類(lèi)、控制類(lèi)、實(shí)體類(lèi)。邊界類(lèi)位于系統(tǒng)與邊界的交界處,包括所有窗體、報(bào)表、打印機(jī)和掃描儀等硬件的接口以及其他系統(tǒng)的接口[2-3]。從用例圖中尋找邊界類(lèi),每個(gè)執(zhí)行者與用例交互至少有一個(gè)邊界類(lèi)。邊界類(lèi)使執(zhí)行者能與系統(tǒng)交互,控制類(lèi)負(fù)責(zé)協(xié)調(diào)類(lèi)之間的通信。每個(gè)用例通常用一個(gè)控制類(lèi)來(lái)控制用例中的事件順序;控制類(lèi)本身不完成任何功能。實(shí)體類(lèi)保存要放進(jìn)永久存儲(chǔ)體的信息,如ADSL裝機(jī)管理系統(tǒng)中的用戶(hù)ADSL端口類(lèi)、用戶(hù)類(lèi)、工單類(lèi)等。對(duì)于系統(tǒng)中的類(lèi),可以從用例分析中得出。ADSL裝機(jī)管理系統(tǒng)的實(shí)體類(lèi)圖如圖2所示。
圖2 ADSL裝機(jī)管理系統(tǒng)實(shí)體類(lèi)圖
為描述系統(tǒng)的動(dòng)態(tài)行為,UML還通過(guò)活動(dòng)圖、交互圖和狀態(tài)圖來(lái)表現(xiàn)?;顒?dòng)圖強(qiáng)調(diào)的是活動(dòng)的控制流,主要觀察對(duì)象之間傳送的操作;交互圖強(qiáng)調(diào)的是從對(duì)象到對(duì)象的控制流,主要觀察傳遞消息的對(duì)象;狀態(tài)圖是對(duì)單個(gè)對(duì)象的行為建模,主要觀察單個(gè)對(duì)象在生命期中的狀態(tài)變化。下面建立ADSL裝機(jī)管理系統(tǒng)相關(guān)用例的活動(dòng)圖和交互圖,因?yàn)樵谶@部分對(duì)象的狀態(tài)很少,將不建立狀態(tài)圖。
3.2.1 活動(dòng)圖
活動(dòng)圖依據(jù)對(duì)象狀態(tài)的變化來(lái)捕獲動(dòng)作與動(dòng)作的結(jié)果?;顒?dòng)圖中一個(gè)活動(dòng)結(jié)束后將立即進(jìn)入下一個(gè)活動(dòng)?;顒?dòng)圖通過(guò)泳道來(lái)描述各個(gè)活動(dòng)由哪個(gè)類(lèi)完成。泳道用矩形框來(lái)表示,屬于某個(gè)泳道的活動(dòng)放在該矩形框內(nèi),將對(duì)象名放在矩形框的頂部,表示泳道中的活動(dòng)由該對(duì)象負(fù)責(zé)。一個(gè)泳道到另一個(gè)泳道之間可以發(fā)生轉(zhuǎn)移[4]。
ADSL裝機(jī)業(yè)務(wù)流程如圖3所示,這是帶有泳道和對(duì)象并發(fā)的活動(dòng)圖。用戶(hù)首先到電信營(yíng)業(yè)廳申請(qǐng)開(kāi)通ADSL寬帶上網(wǎng),電信網(wǎng)管中心的管理人員經(jīng)過(guò)審核批準(zhǔn)裝機(jī),并指派工作人員為用戶(hù)裝ADSL設(shè)備,然后配置網(wǎng)管參數(shù),最后實(shí)現(xiàn)用戶(hù)端口到交換局設(shè)備端口綁定,最后通知用戶(hù)寬帶上網(wǎng),完成裝機(jī)業(yè)務(wù)。
圖3 ADSL裝機(jī)業(yè)務(wù)的活動(dòng)圖
3.2.2 順序圖
交互圖(Interaction Diagram)有兩種,即順序圖和協(xié)作圖,它們表達(dá)的側(cè)重不同。順序圖顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)顯示對(duì)象間的交互;協(xié)作圖描述對(duì)象間的協(xié)作關(guān)系,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用順序圖;如果強(qiáng)調(diào)對(duì)象間的關(guān)系,則選擇協(xié)作圖。
順序圖用來(lái)反映若干個(gè)對(duì)象之間的動(dòng)態(tài)協(xié)作關(guān)系。它主要反映對(duì)象之間已發(fā)送消息的先后次序,說(shuō)明對(duì)象之間的交互過(guò)程以及系統(tǒng)執(zhí)行過(guò)程中,在某具體位置將會(huì)發(fā)生何事。圖中排列著若干對(duì)象,每個(gè)對(duì)象有個(gè)生命線(xiàn)從上到下代表著時(shí)間先后。圖4顯示了ADSL裝機(jī)的過(guò)程。
圖4 ADSL裝機(jī)管理順序圖
UML不是一種開(kāi)發(fā)工具,而是一種建模語(yǔ)言,利用UML來(lái)進(jìn)行系統(tǒng)分析、設(shè)計(jì)。當(dāng)系統(tǒng)的可視化模型建立后,還要選用合適的開(kāi)發(fā)工具進(jìn)行系統(tǒng)開(kāi)發(fā)[10-11]。依據(jù)本系統(tǒng)的特點(diǎn),采用 B/S體系結(jié)構(gòu),服務(wù)器端操作系統(tǒng)采用Windows 2000 Advanced Server,數(shù)據(jù)庫(kù)管理系統(tǒng)采用Access 2003,asp.net作為開(kāi)發(fā)工具,在 asp.net程序中嵌入 JavaScript語(yǔ)言[12-14]。
在開(kāi)發(fā)ADSL裝機(jī)管理系統(tǒng)的過(guò)程中,選擇了流行的UML進(jìn)行系統(tǒng)建模,系統(tǒng)具有安全可靠、高效可行、可推廣性和可擴(kuò)展性強(qiáng)等特點(diǎn)。根據(jù)本文的研究成果開(kāi)發(fā)出來(lái)的ADSL裝機(jī)管理系統(tǒng)已被實(shí)際使用,系統(tǒng)運(yùn)行穩(wěn)定可靠。
[1]北京西門(mén)子通信網(wǎng)絡(luò)股份有限公司.淺析IP DSLAM[J].電信網(wǎng)技術(shù),2006(11):69 -71.
[2]王璐,任滿(mǎn)杰,周汝寶.基于UML的Web應(yīng)用軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].煙臺(tái)大學(xué)學(xué)報(bào):自然科學(xué)與工程版,2004,17(3):212-217.
[3]CRAIG L.UML和模式應(yīng)用[M].方梁,譯.北京:機(jī)械工業(yè)出版社,2005.
[4]JOSEPH S.UML基礎(chǔ)、案例和應(yīng)用[M].北京:人民郵電出版社,2002.
[5]馬重明,張學(xué)旺,范時(shí)平.基于UML的軟件體系結(jié)構(gòu)開(kāi)發(fā)方法[J].計(jì)算機(jī)工程與應(yīng)用,2005,42(4):118 -121.
[6]王道韓.基于UML的電子商務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)科技信息,2006,22(8):135 -137.
[7]LI Rui,YU Tao,F(xiàn)ANG Minglun.Reliability management for information system[J].Journal of Shanghai University:English Edition,2005,9(3):268 -274.
[8]HALABI S,MCPHERSON D.Internet routing architectures[M].2 版.北京:人民郵電出版社,2000.
[9]ZHANG Xiaolin,ZHAN Bo,WANG Yuehua.Research and application of management information systems[J].Chinese Business Review,2005,4(5):74 -77.
[10]尚俊杰.網(wǎng)絡(luò)程序設(shè)計(jì)(ASP)[M].北京:清華大學(xué)出版社,2004.
[11]邵良彬.ASP.NET(C#)實(shí)踐教程[M].北京:清華大學(xué)出版社,2007.
[12]康諾利.數(shù)據(jù)庫(kù)設(shè)計(jì)教程[M].北京:機(jī)械工業(yè)出版社,2005.
[13]張躍廷,房大偉,蘇宇.ASP.NET2.0網(wǎng)絡(luò)編程自學(xué)手冊(cè)[M].北京:人民郵電出版社,2008.
[14]LIBERTY J.Programming C# [M].4th Edition.USA:O'Reilly Media,Inc,2007.