• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    利用權(quán)重優(yōu)化類圖的主題

    2021-05-04 11:11:18張森森
    智能計算機(jī)與應(yīng)用 2021年11期
    關(guān)鍵詞:類圖柜員關(guān)聯(lián)

    張森森

    (桂林航天工業(yè)學(xué)院 計算機(jī)科學(xué)與工程學(xué)院,廣西 桂林 541000)

    0 引 言

    隨著軟件工程技術(shù)的成熟與發(fā)展,采用工程化的方法進(jìn)行軟件開發(fā)已成必然。在進(jìn)行面向?qū)ο蠓椒▽W(xué)開發(fā)時,軟件設(shè)計起到了至關(guān)重要的作用,只有好的設(shè)計才能保證編碼階段不會產(chǎn)生錯誤。因此,對大型的軟件進(jìn)行開發(fā),必須按照不同的主題來進(jìn)行對象模型的設(shè)計。這樣即可以降低設(shè)計階段錯誤的引入,也能減少后期編碼階段的難度[1]。目前,常規(guī)的主題劃分方法,一般先由高級的軟件開發(fā)人員根據(jù)前期得到的類圖來進(jìn)行劃分,然后由具體的項目負(fù)責(zé)人員對項目逐步進(jìn)行深入了解后,再進(jìn)行進(jìn)一步的修改。所采用的技術(shù)大都是按著問題域來進(jìn)行主題的確認(rèn),而此方法未將功能或者是對象之間的耦合性作為參考的標(biāo)準(zhǔn)。

    一般在研究問題時得到的原始類圖中,類之間的相互連接因為有數(shù)據(jù)的傳送,僅僅按著問題域進(jìn)行劃分并不是很好的選擇。由于前期設(shè)計階段得到的結(jié)果對后期的實現(xiàn)會產(chǎn)生深遠(yuǎn)的影響。因此,在進(jìn)行類圖主題劃分時,也應(yīng)該將得到的類之間的數(shù)據(jù)傳送考慮進(jìn)去。如果類圖中存在兩個類之間有密集的數(shù)據(jù)交流,但并不在同一個問題域中,也應(yīng)該在實際的設(shè)計階段將其放到同一個主題中。那么依據(jù)什么來進(jìn)行這些類的移動,如何將這些放到一個合適的主題中,是一個優(yōu)秀設(shè)計的關(guān)鍵。

    1 相關(guān)技術(shù)

    1.1 軟件重構(gòu)技術(shù)

    軟件重構(gòu)應(yīng)用于軟件開發(fā)的各個階段,主要目的是為了優(yōu)化軟件的結(jié)構(gòu),提高軟件的可讀性。在軟件開發(fā)過程中占據(jù)的地位也是越來越大,例如軟件開發(fā)的預(yù)防性維護(hù)階段,主要采用的軟件重構(gòu)技術(shù)來進(jìn)行。軟件重構(gòu)最主要的意義在于軟件重構(gòu)前后軟件的功能不會發(fā)生改變,僅僅改變軟件的內(nèi)部結(jié)構(gòu)。在類圖主題劃分階段應(yīng)用過程中,必須保證軟件重構(gòu)前后類圖的整體設(shè)計不會發(fā)生改變,即系統(tǒng)對外顯示的功能不會發(fā)生改變[2-3]。

    1.2 軟件重構(gòu)權(quán)重計算法簡述

    權(quán)重計算法是為了解決上述問題,優(yōu)化類圖主題而提出的。權(quán)重計算的原理是根據(jù)類圖中類的相互依賴關(guān)系,確定一個數(shù)值,定量得到某個類與對應(yīng)主題以及相關(guān)主題之間的依賴關(guān)系[4]。如圖1所示:類A按問題域劃分到a主題中,類B按問題域劃分到b主題中,A與B之間有數(shù)據(jù)交流給其定值為1。假設(shè)b主題中還有C、D兩個類,C、D都與類A有數(shù)據(jù)交流。但是主題a中的其它類與類A并沒有據(jù)交流,可以粗略的認(rèn)為主題a與類A的權(quán)重值為1,主題b與類A的權(quán)重值為3,在不影響軟件整體功能的前提下,可以認(rèn)為將類A移動到主題b中能夠減少主題之間的依賴性,提高軟件的質(zhì)量,以及優(yōu)化軟件的結(jié)構(gòu)。

    圖1 權(quán)重圖形化Fig.1 Weight graphing

    2 實例運(yùn)用

    研究對象自動取款機(jī)(ATM)系統(tǒng),銀行擬開發(fā)一個對應(yīng)的ATM系統(tǒng)。按照對應(yīng)的軟件工程開發(fā)步驟先得到所需的類,建立相應(yīng)的關(guān)聯(lián),然后按照主題劃分為3個常見的主題,即總行、分行、ATM,如圖2所示。總行主要包含總行類與ATM類;分行主要包含分行類、分行計算機(jī)類、柜員終端類等等;ATM主要包含ATM類、遠(yuǎn)程事務(wù)類以及銀行卡類以及儲戶相關(guān)類等。

    圖2 ATM系統(tǒng)常見的主題圖Fig.2 Common themes of ATM systems

    根據(jù)原始類圖此類相關(guān)的信息,將里面的類進(jìn)行抽象化得到圖3。圖3具體記錄了ATM系統(tǒng)中各個類之間的關(guān)聯(lián)。此類連接主要分為二種情況,一是每個主題內(nèi)部自身類之間的連接。如:在主題分行中,分行類用來保管賬戶,所以分行類與賬戶類之間具有具體的連接,分行類與柜員類、分行類與分行計算機(jī)類、柜員類與柜員事務(wù)類等都屬于這類的關(guān)系。通過相應(yīng)的分析,也可以得到主題總行以及主題ATM的內(nèi)部各個類之間相應(yīng)的連接情況。另一種連接方式則是各個不同主題之間類的連接。如:在圖3中,主題ATM中的現(xiàn)金兌換卡能夠訪問主題分行中的賬戶,則需要在代表現(xiàn)金兌換卡類與代表儲戶類的抽象化的類之間建立相應(yīng)的連接。同樣在圖3中也可以找到很多類似此類的連接,如主題分行計算機(jī)類與主題總行中的中央計算機(jī)類等等。為了能夠利用軟件重構(gòu)的權(quán)重計算法來進(jìn)行研究,本文粗略的將各個有關(guān)聯(lián)類之間的關(guān)聯(lián)數(shù)據(jù)定量為1。在進(jìn)行研究時,研究的對象應(yīng)該是那些與其他主題具有直接關(guān)聯(lián)的類,也就是能夠滿足第二種條件的類。

    圖3 ATM權(quán)重圖Fig.3 ATM weight diagram

    3 結(jié)果分析

    在研究的ATM系統(tǒng)中,中央計算機(jī)類、賬戶類、分行類、遠(yuǎn)程事務(wù)類、現(xiàn)金卡類、儲戶類都是滿足第二種條件的類。因此,這些類作為全部的觀察對象,因為需要得到原先主題以及可能需要移動主題之間的關(guān)系,因此還需要得到這些類第一種方法的值,具體的數(shù)據(jù)分析見表1。表1中記錄的信息主要包括需要研究的這些類與相應(yīng)主題之間的權(quán)重數(shù)據(jù)。對表1分析可見,中央計算機(jī)類、分行類、儲戶類與其它主題類的交流權(quán)重值等于與其對應(yīng)主題的交流權(quán)重值,遠(yuǎn)程事務(wù)、現(xiàn)金卡類與其它主題類的交流權(quán)重值小于與其對應(yīng)主題的交流權(quán)重值。因此,這些類在原主體中應(yīng)保持不變。分析賬戶類明顯看出,此類在分行主題中的權(quán)重值要小于ATM主題中的權(quán)重值,因此可以進(jìn)行移動。

    表1 各類在不同主題分布表Tab.1 The categories are distributed in different topics

    4 分析延伸

    通過利用權(quán)重計算法能夠定量的分析出主題間需要移動的類,保證了主題結(jié)構(gòu)的清晰度,減少了主題之間的耦合性,確保在后期代碼編寫過程中軟件的穩(wěn)定性,減少了代碼書寫量,縮短了開發(fā)的時間,優(yōu)化了軟件的結(jié)構(gòu)。在實際開發(fā)大型軟件過程中已有很多的可視化工具能夠幫助人們迅速找到類,以及各個類之間的關(guān)聯(lián)值。而開發(fā)者需要做的,就是利用這些關(guān)聯(lián)去得到需要進(jìn)行比較的類,然后根據(jù)權(quán)重值來判斷類是否需要移動。對軟件重構(gòu)來說,還有一點至關(guān)重要,就是主題之間類移動前后必須要保證軟件對外的功能沒有發(fā)生變化。由于本例中要移動的賬戶類設(shè)計較小,可以通過簡單的結(jié)構(gòu)分析得到結(jié)論,保證軟件重構(gòu)。但在大型的軟件開發(fā)時,特別對于那些結(jié)構(gòu)復(fù)雜的軟件,在利用權(quán)重進(jìn)行分析時必須要進(jìn)行軟件重構(gòu)分析,必要時需要進(jìn)行相應(yīng)的測試,來保證軟件重構(gòu)前后軟件的功能不會發(fā)生變化。在實際的運(yùn)用過程中,沒有必要去統(tǒng)計原有主題或者目標(biāo)主題中的權(quán)重值,可以引進(jìn)一個新的變量Q。Q代表的是某個類在主題之間移動之后權(quán)重值的差值,引進(jìn)這個變量就可以直接通過其的正負(fù)值來得到需要移動的類。通過上訴分析可知,Q值為正時需要進(jìn)行此類的移動,這在進(jìn)行一些大型的軟件開發(fā)過程中能夠節(jié)省時間減少操作步驟。

    5 總結(jié)與展望

    本文雖然應(yīng)用于一個小型的ATM系統(tǒng)開發(fā),但軟件開發(fā)的步驟以及原則結(jié)構(gòu)都非常的詳盡,將此技術(shù)應(yīng)用于主題間類的移動,能夠明顯的改善原始類圖中主題的結(jié)構(gòu)幫助,對整個軟件開發(fā)過程都具有深遠(yuǎn)的影響。但是此項技術(shù)應(yīng)用范圍比較局限,沒有得到更多的驗證,僅僅本文中的例子是遠(yuǎn)遠(yuǎn)不夠的,希望今后能夠在更多的軟件開發(fā)過程中得到運(yùn)用。

    猜你喜歡
    類圖柜員關(guān)聯(lián)
    卡里沒錢
    理財周刊(2023年11期)2023-11-08 00:37:19
    基于語義和結(jié)構(gòu)的UML類圖的檢索
    笑一個吧(2則)(1)
    “一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
    社保綜合柜員制的深化與創(chuàng)新——基于上海市的實踐
    奇趣搭配
    智趣
    讀者(2017年5期)2017-02-15 18:04:18
    UML類圖元模型基于描述邏輯的表示及驗證
    柜員失誤可容忍 管理漏洞不可縱
    金融周刊(2015年8期)2015-08-24 03:20:28
    UML類圖的一種表示方法
    腾冲县| 白玉县| 新泰市| 金堂县| 乌审旗| 武安市| 宝山区| 舒兰市| 台州市| 来宾市| 兴国县| 二手房| 温宿县| 织金县| 楚雄市| 胶南市| 沐川县| 绥阳县| 加查县| 祥云县| 边坝县| 陇南市| 建平县| 盐山县| 大同县| 萨迦县| 星子县| 迁西县| 澄江县| 葫芦岛市| 陇南市| 南安市| 东乌| 桐柏县| 邢台市| 澄迈县| 和龙市| 安龙县| 佳木斯市| 马边| 三门峡市|