999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于可擴(kuò)展標(biāo)記語言的軟件系統(tǒng)解耦合設(shè)計(jì)方法研究

2018-11-14 11:38:12
移動(dòng)信息 2018年8期
關(guān)鍵詞:規(guī)范功能系統(tǒng)

雷 洋

?

一種基于可擴(kuò)展標(biāo)記語言的軟件系統(tǒng)解耦合設(shè)計(jì)方法研究

雷 洋

南京模擬技術(shù)研究所,江蘇 南京 210016

軟件系統(tǒng)的解耦合設(shè)計(jì)是軟件系統(tǒng)具備高可擴(kuò)展性、高維護(hù)性的基礎(chǔ)設(shè)計(jì)之一,因此如何建立軟件系統(tǒng)的解耦合結(jié)構(gòu)是軟件系統(tǒng)設(shè)計(jì)的重點(diǎn)關(guān)鍵技術(shù)之一,尤其是大型軟件系統(tǒng)。通過使用可擴(kuò)展標(biāo)記語言(Extensible Markup Language,XML),提供一種系統(tǒng)解耦合的設(shè)計(jì)方法。此方法在模塊化系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,設(shè)計(jì)了一種軟件系統(tǒng)模塊開發(fā)的接口標(biāo)準(zhǔn),建立了一套軟件系統(tǒng)解耦合的系統(tǒng)結(jié)構(gòu)。將此方法應(yīng)用于系統(tǒng)的開發(fā)過程增強(qiáng)了系統(tǒng)在應(yīng)用邏輯擴(kuò)展過程中的友好性和易用性。

系統(tǒng)解耦合;軟件系統(tǒng);系統(tǒng)設(shè)計(jì);可擴(kuò)展標(biāo)記語言

引言

解耦合設(shè)計(jì)是基于高內(nèi)聚松耦合的理念對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)的過程。內(nèi)聚是一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度;耦合是一個(gè)系統(tǒng)結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。解耦合設(shè)計(jì)過程是讓一個(gè)完整系統(tǒng)的模塊與模塊之間盡可能地獨(dú)立存在。也就是說,讓每個(gè)模塊盡可能地獨(dú)立完成某個(gè)特定子功能,而模塊與模塊之間的接口盡量少而簡單。如果某兩個(gè)模塊間的關(guān)系比較復(fù)雜,最好首先考慮進(jìn)一步的模塊劃分,這樣有利于修改和組合。軟件系統(tǒng)的解耦合設(shè)計(jì)是軟件系統(tǒng)開發(fā)必須考慮的設(shè)計(jì)理念之一,也是軟件質(zhì)量保證的基礎(chǔ)之一。

1 可擴(kuò)展標(biāo)記語言

可擴(kuò)展標(biāo)記語言(Extensible Markup Language,XML),是用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語言進(jìn)行定義的源語言。XML是標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)的子集,非常適合Web傳輸。XML提供統(tǒng)一的方法來描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。XML的核心是數(shù)據(jù),重點(diǎn)在于數(shù)據(jù)的內(nèi)容。XML的簡單使其易于在任何應(yīng)用程序中讀寫數(shù)據(jù),這使XML很快成為數(shù)據(jù)交換的唯一公共語言。XML還是一種元標(biāo)注語言,即定義了用于定義其他特定領(lǐng)域有關(guān)語義的、結(jié)構(gòu)化的標(biāo)記語言。這些標(biāo)記語言將文檔分成許多部件并對(duì)這些部件加以標(biāo)識(shí)。本文主要關(guān)注XML的數(shù)據(jù)特性,不對(duì)XML的上述特性展開分析。

2 接口標(biāo)準(zhǔn)與系統(tǒng)結(jié)構(gòu)

XML基于數(shù)據(jù)的特性使其成為跨平臺(tái)、跨應(yīng)用、跨模塊交互的一種優(yōu)質(zhì)媒介。本文定義接口標(biāo)準(zhǔn)中XML文件的格式標(biāo)準(zhǔn)就是利用該特性建立系統(tǒng)的交互橋梁。

接口標(biāo)準(zhǔn)是一套模塊與模塊、模塊與框架、系統(tǒng)應(yīng)用與系統(tǒng)框架之間的通信與交互的約束規(guī)范,同時(shí)建立一種系統(tǒng)結(jié)構(gòu)用于該標(biāo)準(zhǔn)的具體應(yīng)用。系統(tǒng)內(nèi)部可以通過接口標(biāo)準(zhǔn)實(shí)現(xiàn)模塊封裝;系統(tǒng)框架可以通過接口標(biāo)準(zhǔn)建立模塊與模塊之間的通信與交互;系統(tǒng)應(yīng)用之間可以通過接口標(biāo)準(zhǔn)建立溝通和調(diào)用框架。

2.1 接口標(biāo)準(zhǔn)

接口標(biāo)準(zhǔn)定義了一系列系統(tǒng)用于模塊間如何進(jìn)行調(diào)用、交互和數(shù)據(jù)傳輸?shù)募s束,最終是XML文件的表現(xiàn)形式。接口標(biāo)準(zhǔn)主要由四部分組成:面向功能的接口標(biāo)準(zhǔn)、面向調(diào)用的接口標(biāo)準(zhǔn)、面向框架的接口標(biāo)準(zhǔn)及XML格式標(biāo)準(zhǔn),如圖1所示。

圖1 接口標(biāo)準(zhǔn)

2.1.1 面向功能的接口標(biāo)準(zhǔn)

面向功能的接口標(biāo)準(zhǔn)定義了一系列的模塊功能封裝約束條件,用于開發(fā)者封裝模塊功能。用戶按照接口標(biāo)準(zhǔn)封裝各個(gè)功能,并通過面向調(diào)用的接口標(biāo)準(zhǔn)中定義的邏輯方法進(jìn)行使用完成功能的調(diào)用。約束條件包括了以下方面。

(1)ID唯一性約束:模塊的ID和模塊內(nèi)功能ID的定制規(guī)范,用于系統(tǒng)標(biāo)識(shí)該基本功能;(2)描述性約束:功能描述的編寫規(guī)范;(3)輸入約束:功能輸入?yún)?shù)獲取的規(guī)范;(4)輸出約束:功能輸出參數(shù)獲取的規(guī)范;(5)執(zhí)行約束:功能的執(zhí)行規(guī)范;(6)執(zhí)行結(jié)果約束:功能的獲取執(zhí)行結(jié)果的規(guī)范。

2.1.2 面向調(diào)用的接口標(biāo)準(zhǔn)

面向調(diào)用的接口標(biāo)準(zhǔn)定義了一系列的模塊封裝約束條件,用于開發(fā)者封裝模塊。用戶按照接口標(biāo)準(zhǔn)封裝各個(gè)模塊,并通過框架接口按照面向調(diào)用的接口標(biāo)準(zhǔn)中定義的邏輯方法使用,完成各個(gè)模塊內(nèi)功能的調(diào)用。約束條件包括了以下幾個(gè)方面。

(1)模塊類型定義:模塊的類型和ID的寫入規(guī)范;(2)模塊生命周期約束:模塊對(duì)應(yīng)的封裝類實(shí)例從創(chuàng)建、使用、銷毀全過程的生命周期管理規(guī)范;(3)模塊功能生命周期約束:模塊功能對(duì)應(yīng)的封裝類實(shí)例從創(chuàng)建、使用、銷毀全過程的生命周期管理規(guī)范;(4)XML文件導(dǎo)出約束:模塊以及模塊功能XML文件導(dǎo)出規(guī)范。

2.1.3 面向框架的接口標(biāo)準(zhǔn)

面向框架的接口標(biāo)準(zhǔn)定義了一系列的模塊功能調(diào)用、模塊管理的約束條件,用于系統(tǒng)框架對(duì)各個(gè)模塊功能進(jìn)行整合。系統(tǒng)通過面向框架的接口標(biāo)準(zhǔn)管理、調(diào)用各個(gè)模塊。約束條件包括了以下方面。

(1)框架調(diào)用模塊功能約束:框架調(diào)用模塊功能的方法;(2)系統(tǒng)各個(gè)模塊管理約束:各個(gè)模塊的管理約束條件。

通過上述接口標(biāo)準(zhǔn)的定義,系統(tǒng)框架、模塊之間、外部程序通過接口調(diào)用而非函數(shù)調(diào)用實(shí)現(xiàn)對(duì)模塊以及模塊內(nèi)部功能的調(diào)用。需要特別指出的是,系統(tǒng)調(diào)用的接口并非傳統(tǒng)意義上的模塊接口文件,而是根據(jù)上述接口標(biāo)準(zhǔn)生成的接口文件,該接口文件采用規(guī)范約束的方法進(jìn)行定義,在系統(tǒng)規(guī)劃完成之后并不會(huì)隨著系統(tǒng)需求的改變而改變。接口文件結(jié)合XML文件的使用實(shí)現(xiàn)了當(dāng)功能模塊發(fā)生變化時(shí),系統(tǒng)各個(gè)模塊的銜接接口不會(huì)隨之變動(dòng),這一特征正是松耦合、高內(nèi)聚要求的關(guān)鍵特征。

2.2 系統(tǒng)結(jié)構(gòu)

軟件系統(tǒng)模塊化開發(fā)過程中難以避免模塊間的嵌套調(diào)用,不良的嵌套調(diào)用、復(fù)雜的嵌套關(guān)系往往是導(dǎo)致系統(tǒng)崩潰和難以維護(hù)的根源之一。需求的不斷更新也是系統(tǒng)開發(fā)過程中經(jīng)常遇到的問題。需求的變更面臨著系統(tǒng)功能和結(jié)構(gòu)的變化,反復(fù)的模塊接口變更會(huì)帶來系統(tǒng)開發(fā)的不確定性。

圖2 系統(tǒng)模塊的封裝與生成

如圖2所示,系統(tǒng)模塊開發(fā)過程中,開發(fā)者利用接口標(biāo)準(zhǔn)對(duì)系統(tǒng)模塊進(jìn)行封裝,生成系統(tǒng)模塊的封裝類和模塊功能的封裝類。封裝類的實(shí)例化過程和調(diào)用被隱藏在具體的接口實(shí)現(xiàn)類中,而模塊之間、模塊與框架之間的調(diào)用通過標(biāo)準(zhǔn)接口進(jìn)行,實(shí)現(xiàn)模塊對(duì)外接口在開發(fā)過程中的一致性需求,降低了開發(fā)過程中需求變更對(duì)系統(tǒng)各個(gè)接口變動(dòng)帶來的影響。

圖3 接口、實(shí)現(xiàn)類之間關(guān)系圖

圖3描述了接口與接口、接口和實(shí)現(xiàn)類之間的關(guān)系。頂層框架接口的實(shí)現(xiàn)類包含了模塊調(diào)用接口和模塊功能接口。實(shí)現(xiàn)類通過調(diào)用上述兩個(gè)接口完成對(duì)系統(tǒng)各個(gè)模塊和模塊功能的調(diào)用,面向系統(tǒng)的則是頂層的框架接口。模塊封裝基類包含模塊功能接口,各個(gè)模塊通過繼承該基類實(shí)現(xiàn)對(duì)模塊的封裝,各模塊的封裝類中包含了模塊內(nèi)功能封裝類。功能封裝基類實(shí)現(xiàn)對(duì)模塊各個(gè)功能的封裝,模塊內(nèi)各個(gè)功能通過集成該基類實(shí)現(xiàn)對(duì)模塊功能的封裝,模塊內(nèi)功能最終通過模塊功能接口被外部調(diào)用。

通過標(biāo)準(zhǔn)接口、封裝基類的泛化和封裝類之間的組合過程,在系統(tǒng)中建立一套模塊之間的通信和交互方法,實(shí)現(xiàn)系統(tǒng)各個(gè)模塊之間的松耦合設(shè)計(jì)。對(duì)于系統(tǒng)框架以外的應(yīng)用,開發(fā)者可通過XML文檔描述標(biāo)準(zhǔn)進(jìn)行二次封裝實(shí)現(xiàn)讀取系統(tǒng)內(nèi)部功能,為開發(fā)可視化的功能邏輯編輯提供技術(shù)實(shí)現(xiàn)的基礎(chǔ)。

2.3 軟件系統(tǒng)中的應(yīng)用

軟件系統(tǒng)通常由多個(gè)系統(tǒng)級(jí)模塊構(gòu)成,并通過系統(tǒng)邏輯將模塊串聯(lián)起來,從而實(shí)現(xiàn)系統(tǒng)功能,但是系統(tǒng)邏輯隨著用戶需求和系統(tǒng)功能的變化需要不斷地進(jìn)行修正,因此建立各個(gè)模塊之間、模塊與系統(tǒng)框架之間的松耦合交互和通信機(jī)制,解決系統(tǒng)結(jié)構(gòu)如何適應(yīng)不斷變化的系統(tǒng)需求的問題,是系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的重點(diǎn)研究內(nèi)容。

綜合考慮軟件系統(tǒng)的上述特征和模塊間松耦合設(shè)計(jì)的思路,筆者在系統(tǒng)設(shè)計(jì)開發(fā)過程中使用上述接口標(biāo)準(zhǔn)作為模塊之間的交互方法,同時(shí)結(jié)合所要構(gòu)建的軟件系統(tǒng)建立該標(biāo)準(zhǔn)的系統(tǒng)應(yīng)用框架,從而實(shí)現(xiàn)對(duì)系統(tǒng)整體框架的約束,實(shí)現(xiàn)系統(tǒng)各個(gè)模塊之間的松耦合特性。

通過引入上述接口標(biāo)準(zhǔn)和框架,其優(yōu)點(diǎn)在于以下兩個(gè)方面。

(1)建立接口規(guī)范,形成穩(wěn)定的系統(tǒng)框架。相比于一般的接口開發(fā),該設(shè)計(jì)進(jìn)行了更加深入的接口開發(fā),形成了一套統(tǒng)一的接口標(biāo)準(zhǔn),規(guī)定了每一個(gè)系統(tǒng)模塊內(nèi)部、模塊與模塊、模塊與系統(tǒng)之間的開發(fā)規(guī)范。將最終的代碼實(shí)現(xiàn)隱藏在接口標(biāo)準(zhǔn)之后,從而在一定程度上建立了穩(wěn)定的系統(tǒng)框架。一般的接口設(shè)計(jì),往往在較大的需求變更之后,接口也隨之變化,從而影響到系統(tǒng)的穩(wěn)定。

(2)為系統(tǒng)外進(jìn)行系統(tǒng)邏輯編輯提供了基礎(chǔ)。接口標(biāo)準(zhǔn)中提供的XML文件格式,結(jié)合系統(tǒng)框架接口,為外部進(jìn)行系統(tǒng)內(nèi)部邏輯調(diào)用提供了前提,基于該前提條件進(jìn)行外部邏輯編輯器的開發(fā),從而實(shí)現(xiàn)了無須變更平臺(tái)代碼即可修改系統(tǒng)運(yùn)行邏輯的關(guān)鍵技術(shù)。

圖4 軟件系統(tǒng)中的應(yīng)用示例

圖4是該系統(tǒng)解耦合設(shè)計(jì)方法在軟件系統(tǒng)中的應(yīng)用示例。由于多數(shù)軟件系統(tǒng)中系統(tǒng)邏輯的擴(kuò)展性要求較高,因此系統(tǒng)設(shè)定了系統(tǒng)邏輯編輯。系統(tǒng)邏輯編輯完成之后需要在軟件系統(tǒng)中驅(qū)動(dòng)運(yùn)行,上述接口規(guī)范提供了該項(xiàng)功能實(shí)現(xiàn)的基礎(chǔ)。同時(shí)基礎(chǔ)功能的變更,也將封裝在上述的接口規(guī)范之后,保證了軟件系統(tǒng)框架的穩(wěn)定性。

3 結(jié)論與展望

將本文描述的方法應(yīng)用于軟件系統(tǒng)的設(shè)計(jì),在系統(tǒng)開發(fā)過程中雖然在一定程度上增加了模塊的開發(fā)工作量,但是對(duì)于整個(gè)系統(tǒng)的結(jié)構(gòu)而言可以忽略不計(jì)。該方法描述的接口標(biāo)準(zhǔn),基于接口標(biāo)準(zhǔn)建立的系統(tǒng)結(jié)構(gòu)較好地滿足了系統(tǒng)設(shè)計(jì)要求。將本方法應(yīng)用于對(duì)擴(kuò)展性要求較高,系統(tǒng)內(nèi)部各個(gè)模塊之間的邏輯變化需要適時(shí)進(jìn)行調(diào)整的系統(tǒng)中時(shí),該方法具有較好的推廣應(yīng)用價(jià)值。

Research on Decoupling Design Method of Software System Based on Extensible Markup Language

Lei Yang

Nanjing Institute of Simulation Technology, Jiangsu Nanjing 210016

The decoupling design of software system is one of the basic design of software system with high scalability and high maintenance. Therefore, how to establish the decoupling structure of software system is one of the key technologies of software system design, especially large software system. A design approach to system decoupling is provided through the use of Extensible Markup Language (Extensible Markup Language, XML). Based on the design of modular system, this method designs an interface standard for software system module development, and establishes a set of software system decoupling system structure. Applying this method to system development process makes system friendly and easy to use in the expansion process of application logic.

system decoupling; software system; system design; extensible markup language

TP301.6

A

猜你喜歡
規(guī)范功能系統(tǒng)
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統(tǒng)
來稿規(guī)范
來稿規(guī)范
PDCA法在除顫儀規(guī)范操作中的應(yīng)用
來稿規(guī)范
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)于非首都功能疏解的幾點(diǎn)思考
主站蜘蛛池模板: 综合久久五月天| 夜夜拍夜夜爽| 亚洲男人的天堂在线| 欧美一区二区丝袜高跟鞋| 国产大全韩国亚洲一区二区三区| 114级毛片免费观看| 国产午夜无码专区喷水| 亚洲国产看片基地久久1024| 亚洲综合色吧| www.日韩三级| 国产三级国产精品国产普男人 | 免费国产不卡午夜福在线观看| 女人一级毛片| 欧美性天天| 亚洲男人在线| 国产亚洲精品自在久久不卡 | 亚洲一道AV无码午夜福利| 日韩在线2020专区| 色一情一乱一伦一区二区三区小说| 动漫精品中文字幕无码| 人妻精品久久无码区| 亚洲综合婷婷激情| 国产三级a| 欧美区国产区| 国内精自线i品一区202| 91成人免费观看| 国产精品部在线观看| 欧美一级99在线观看国产| 丰满人妻久久中文字幕| 无码日韩视频| 亚洲欧美成人| 亚洲精品在线91| 日韩美毛片| 午夜成人在线视频| 国产精品视频公开费视频| 区国产精品搜索视频| 亚洲成肉网| 亚洲色成人www在线观看| 国产第八页| 色悠久久久久久久综合网伊人| 欧美精品成人一区二区视频一| 97国产精品视频自在拍| 大学生久久香蕉国产线观看| 亚洲性网站| 午夜老司机永久免费看片| 99在线视频免费观看| 午夜日本永久乱码免费播放片| 日韩第九页| 久久成人国产精品免费软件| 国产性猛交XXXX免费看| 亚洲综合18p| 欧美在线三级| 精品亚洲欧美中文字幕在线看| 日韩国产精品无码一区二区三区| 国产噜噜噜视频在线观看| 国产黄色片在线看| 国产成人区在线观看视频| 波多野结衣一区二区三区四区视频 | 国产又粗又猛又爽视频| 亚洲,国产,日韩,综合一区| 久久天天躁狠狠躁夜夜躁| 777国产精品永久免费观看| 国产精品女主播| 亚洲国产精品无码AV| 91视频首页| 久久精品无码一区二区日韩免费| 在线精品视频成人网| 在线精品自拍| 亚洲精品成人片在线观看| 日韩毛片免费| 激情综合网址| 国产女人在线| 国产日韩精品一区在线不卡 | 成人福利免费在线观看| 久久亚洲高清国产| 伊人五月丁香综合AⅤ| 爱色欧美亚洲综合图区| 国产成人夜色91| 国产欧美日韩精品第二区| 国产午夜无码片在线观看网站| 欧美在线国产| 97影院午夜在线观看视频|