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

基于形式概念分析的軟件子系統(tǒng)構(gòu)建方法及應(yīng)用*

2012-11-24 02:17:58蔣海東林筑英
關(guān)鍵詞:概念功能

蔣海東,林筑英

(貴州師范大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,貴州 貴陽 550001)

隨著軟件工程的飛速發(fā)展,軟件建模提出了一系列的語言、理論、工具和方法。實踐表明,大多數(shù)的系統(tǒng)軟件開發(fā)中的錯誤是由需求和設(shè)計階段產(chǎn)生的,而且錯誤在系統(tǒng)中存在的時間越長則越難發(fā)現(xiàn),解決這些錯誤的代價也越高。為了提高軟件需求和軟件設(shè)計的質(zhì)量,軟件工程界提出了需求分析工程技術(shù)和各種軟件建模技術(shù)。

在軟件建模中,當(dāng)獲得用戶需求后,首要任務(wù)就是要劃分子系統(tǒng),子系統(tǒng)劃分得合理與否,直接影響軟件后續(xù)的開發(fā)和維護工作能否順利進行。劃分子系統(tǒng)時首先應(yīng)該要遵循“高內(nèi)聚、低耦合”的原則;其次要考慮到所有的使用角色,兼顧使用者的需求;最后也要適當(dāng)考慮整體開發(fā)的分段實現(xiàn)。

1 概述

在研制開發(fā)軟件系統(tǒng)尤其是開發(fā)一個較大企業(yè)管理系統(tǒng)時,為便于直觀方便地劃分子系統(tǒng),通常根據(jù)過程與數(shù)據(jù)類的相關(guān)性,利用功能和數(shù)據(jù)的關(guān)系確定子系統(tǒng)。由此要涉及到許多支持的相關(guān)理論和方法,如模糊聚類、神經(jīng)網(wǎng)絡(luò)等。這些方法幾乎都有一個共同點,都需要產(chǎn)生或處理C-U矩陣的問題。其中,C表示程序模塊對基本表的存入關(guān)系(即創(chuàng)建或維護基本表),U表示對基本表的使用關(guān)系。雖然C-U矩陣具有很強的分析能力,但在實際開發(fā)軟件系統(tǒng)中,C-U矩陣的構(gòu)造和處理都比較復(fù)雜,增加了軟件開發(fā)與設(shè)計的難度,從獲取用戶需求、描述能力和圖形化方面都有待于提高。

目前,統(tǒng)一建模語言(UML)形成了相對完善的建模理論并得到了廣泛的應(yīng)用,能夠快速地獲得用戶的需求,也有很好的圖形展示。但UML在劃分子系統(tǒng)時,常根據(jù)開發(fā)人員的主觀因素去進行判斷,降低了系統(tǒng)的科學(xué)性。為減少產(chǎn)生錯誤的代價和彌補應(yīng)用UML建模開發(fā)過程中的不足,本文探討了應(yīng)用FCA理論方法來解決這一問題。

2 形式概念分析

形式概念分析 FCA(Formal Concept Analysis)[1]是對概念的哲學(xué)理解的數(shù)學(xué)化表達,是以人為中心的構(gòu)造數(shù)據(jù)并分析數(shù)據(jù)的方法,是數(shù)據(jù)的內(nèi)在結(jié)構(gòu)、關(guān)聯(lián)和相互依存關(guān)系的可視化方法。FCA將概念的對象看作外延,將屬性看作內(nèi)涵對概念數(shù)學(xué)化,然后通過構(gòu)造形式背景進而生成概念格對給定的數(shù)據(jù)進行數(shù)學(xué)分析和思考。FCA作為人工世界的建模工具,與傳統(tǒng)的建模方法相比較,既具有描述能力又具有分析能力,還具有圖形化能力,這從根本上決定了其在軟件系統(tǒng)建模中無可替代的優(yōu)勢。

2.1 FCA理論

定義1 形式背景[2]被定義為一個三元組 K=(G,M,I)。其中,G、M分別是對象集合和屬性集合,G的元素稱為對象(objects),M 的元素稱為屬性(attributes),嚴(yán)格地說是形式對象和形式屬性;而I是G和M之間的二元關(guān)系,即I?G×M。為了表示一個對象g和一個屬性m在關(guān)系 I中,可以寫成 g I m或(g,m)∈I并且讀成“對象 g具有屬性m”。形式背景 K=(G,M,I)可被表示為以對象為行、以屬性為列的二值矩陣,其每一元素ajk(j為行序,k 為列序,0≤j≤||G||,0≤k≤||M||)可定義為:

定義2給定對象集合G,對于對象子集A?G,定義 A={m∈M|?g∈AgIm}表示“A中全體對象所共有的屬性集”。相應(yīng)地,對于屬性子集B?M,定義表示“同時具有B 中所有屬性的對象的集合”。

定義3 形式背景 K=(G,M,I)中的一個形式概念是一個對(A,B),A?G,B?M,滿足:A′=B 且 B′=A。A、B分別稱為形式概念(A,B)的外延(Extent)和內(nèi)涵(Intent)。B(G,M,I)表示形式背景(G,M,I)所有形式概念的集合。

由以上定義可以看出,概念的內(nèi)涵是概念外延中所有對象共同屬性的集合,而概念的外延則是概念內(nèi)涵可以確定的最大對象集合,一個概念是一個完備的二元組。特別定義兩個特殊的概念,分別是:包含所有對象的概念為全概念,包含所有屬性的概念為空概念。形式概念(A,B)的外延 A和內(nèi)涵 B被關(guān)系 I緊密地聯(lián)系在一起。因為A′=B且B′=A,則外延決定內(nèi)涵,同時內(nèi)涵也決定外延,進而決定了形式概念。

2.2 FCA在軟件系統(tǒng)中的應(yīng)用

FCA被引入到信息科學(xué)技術(shù)領(lǐng)域后,即被軟件工程及軟件系統(tǒng)開發(fā)等領(lǐng)域所關(guān)注和應(yīng)用。在國外的應(yīng)用研究中,有如參考文獻[3]的基于FCA的信息系統(tǒng)模型綜合性與完整性的驗證方法。在參考文獻[4]中,F(xiàn)CA在軟件系統(tǒng)開發(fā)中的應(yīng)用被分為早期階段活動和軟件維護兩方面。早期階段主要應(yīng)用于需求分析、復(fù)用組件檢索、形式化規(guī)格說明和基于FCA的Z規(guī)格可視化等;而軟件的維護階段主要用于類層次再工程。在參考文獻[5]中指出:FCA可以很好地運用在軟件生命周期的各個階段;若將FCA用在軟件工程的各個主要部分還有可能開啟一個徹底的基于概念的軟件工程新視角等。

為此,本文結(jié)合UML建模方法與FCA的各自優(yōu)勢,設(shè)計了UML建模與FCA相結(jié)合的軟件子系統(tǒng)劃分的新方法,使得快速準(zhǔn)確地獲得用戶需求的同時又科學(xué)地劃分軟件子系統(tǒng)。并且希望通過在劃分軟件子系統(tǒng)這一應(yīng)用中,找到UML方法和FCA理論在軟件建模應(yīng)用中的其他結(jié)合點。

3 基于FCA軟件子系統(tǒng)劃分

3.1 軟件系統(tǒng)建模問題分析

基于UML的面向?qū)ο筌浖^程建模克服了傳統(tǒng)軟件都用過程或函數(shù)作為主要構(gòu)造模塊,同時還解決了數(shù)據(jù)流分析的層次復(fù)雜性,對軟件系統(tǒng)模型的映射程度進行了加強;而且UML作為面向?qū)ο蟮目梢暬瘶?biāo)準(zhǔn)建模語言,采用的是圖形符號進行表示系統(tǒng)中所有的對象和關(guān)系,應(yīng)用直觀的圖形從不同的角度描述待開發(fā)系統(tǒng),為更好地理解建模過程提供了有效的交流形式。

應(yīng)用UML建模開發(fā)一個功能多、數(shù)據(jù)較復(fù)雜的軟件系統(tǒng),在開發(fā)過程中,基本上都是采用由大劃小、各個擊破的方式。因此,對復(fù)雜軟件系統(tǒng)結(jié)構(gòu)的分析就成為軟件系統(tǒng)建模要解決的首要問題,而明確系統(tǒng)-子系統(tǒng)-功能模塊之間的層次關(guān)系以及各個層次中各要素間的相互作用就成為軟件系統(tǒng)建模的前提和基礎(chǔ)。

軟件系統(tǒng)結(jié)構(gòu)建模的難點在于如何將系統(tǒng)內(nèi)相互聯(lián)系緊密的模塊聚合在一起,使得模塊內(nèi)部的內(nèi)聚合性增強,同時使模塊間的耦合度降低。FCA的概念格理論所提供的聚類機制可以很好地解決這一難題。所以,本文在軟件的開發(fā)過程中,采用以UML進行建模、使用FCA對軟件系統(tǒng)進行子系統(tǒng)劃分方法,可以使軟件系統(tǒng)在開發(fā)過程對子系統(tǒng)的劃分更加地合理、科學(xué)。

3.2 基于FCA建模的實例分析應(yīng)用

下面以學(xué)生選課管理系統(tǒng)為例,說明利用FCA結(jié)合UML對系統(tǒng)結(jié)構(gòu)建模的基本原理。

(1)窮舉軟件系統(tǒng)所要實現(xiàn)的所有功能模塊

UML分析系統(tǒng)功能需求較為快速有效的方法就是構(gòu)建用例模型,并以用例圖加以描述。這一部分可以采用按角色找到系統(tǒng)的用例(即系統(tǒng)的功能)。學(xué)生選課管理系統(tǒng)的參與角色主要有學(xué)生、教師、教學(xué)秘書這三類。按照這三個角色可以得到的系統(tǒng)用例圖如圖1所示。

圖1 學(xué)生選課管理系統(tǒng)用例圖

(2)找到各功能所對應(yīng)數(shù)據(jù)類并生成形式背景

根據(jù)定義1中所述,形式背景由概念的內(nèi)涵和外延組成,外延為對象集,在本方法中將功能集合作為對象集(即形式背景中的外延),以數(shù)據(jù)集合作為屬性集(即形式背景的內(nèi)涵),建立起兩者的“功能-數(shù)據(jù)”二元關(guān)系。在這里,功能-數(shù)據(jù)的二元關(guān)系既包括功能產(chǎn)生對應(yīng)數(shù)據(jù)這一關(guān)系,也包括該功能使用對應(yīng)數(shù)據(jù)這一關(guān)系。結(jié)合實例,生成學(xué)生選課管理系統(tǒng)“功能-數(shù)據(jù)”形式背景如表1所示。

表1 學(xué)生選課管理系統(tǒng)“功能-數(shù)據(jù)”形式背景

需要說明的是,本文構(gòu)造的形式背景與定義2中敘述的有所不同,定義2中為多值形式背景,在構(gòu)造概念格時需將其單值化。而因為本文中的功能數(shù)據(jù)關(guān)系較為清晰,故直接將形式背景構(gòu)造成單值形式背景。

(3)將形式背景轉(zhuǎn)換成相應(yīng)的概念格

本實例中,概念格的節(jié)點均代表一個特定的模塊,節(jié)點與節(jié)點間的關(guān)系代表模塊間的關(guān)系,節(jié)點的屬性表示該模塊使用或產(chǎn)生的數(shù)據(jù),節(jié)點的對象表示模塊所實現(xiàn)的功能。依據(jù)(2)子系統(tǒng)形式背景轉(zhuǎn)換的概念格如圖2所示。

圖2 學(xué)生選課管理系統(tǒng)“功能-數(shù)據(jù)”對應(yīng)概念格

(4)根據(jù)概念格的聚類功能

使用或產(chǎn)生相同數(shù)據(jù)并實現(xiàn)相近功能的節(jié)點在概念格的Hasse圖上必能聚集在一起,根據(jù)這一規(guī)律在系統(tǒng)分析員的幫助下,利用Hasse圖就可以輕易地分析找出“功能-數(shù)據(jù)”密切相關(guān)的一些模塊,將之歸納入一個子系統(tǒng)中并命名。將“功能-數(shù)據(jù)”聯(lián)系緊密的模塊聚集在一起,如圖2中的區(qū)域所示,每個區(qū)域代表一個子系統(tǒng),區(qū)域1代表選課管理子系統(tǒng),區(qū)域2代表成績管理子系統(tǒng),區(qū)域3代表新課程增加子系統(tǒng)。

(5)判別子系統(tǒng)或模塊實現(xiàn)的先后次序

利用概念格節(jié)點的聯(lián)系可以很容易判斷出子系統(tǒng)之間的關(guān)系,也可得出子系統(tǒng)產(chǎn)生的數(shù)據(jù)有多少被其他子系統(tǒng)所共享,在充分考慮共享數(shù)據(jù)的重要性及關(guān)聯(lián)的緊密程度的前提下,可根據(jù)各子系統(tǒng)間的技術(shù)約束來判別實現(xiàn)的先后順序。如圖2所示,區(qū)域2中成績管理子系統(tǒng)要使用區(qū)域1中的課程信息數(shù)據(jù),因此選課管理子系統(tǒng)要先于成績管理子系統(tǒng)實現(xiàn)。在同一子系統(tǒng)中,節(jié)點(即模塊)的層次越高,其使用和產(chǎn)生的數(shù)據(jù)被下級節(jié)點所共享的程度就越大。因此,可以根據(jù)區(qū)域中節(jié)點的層次關(guān)系,也即是屬性(即模塊使用和產(chǎn)生的數(shù)據(jù))的層次關(guān)系來確立子系統(tǒng)中模塊開發(fā)的先后次序。

子系統(tǒng)劃分是軟件系統(tǒng)建模中的一個基礎(chǔ)性工作,子系統(tǒng)劃分是否合理,將會直接影響到軟件系統(tǒng)后續(xù)的開發(fā)和維護。本文提出的劃分子系統(tǒng)方法,首先運用UML建模方法找到系統(tǒng)中的角色,然后根據(jù)每個角色窮盡其所有的用例(即找到功能),最后使用形式概念分析方法構(gòu)造出形式背景,進而構(gòu)造出概念格,完成子系統(tǒng)的劃分。有效地避免了單純用UML建模中的主觀意識,使得子系統(tǒng)劃分工作更科學(xué)、更合理。

[1]WORMUTH B,BECKER P.Introduction to formal concept analysis[C].Proceedings of the 2nd International Conference of Formal Concept Analysis, Sydney, Australia, 2004:1-4.

[2]謝志鵬,劉宗田.基于概念格的關(guān)聯(lián)規(guī)則發(fā)現(xiàn)[J].小型微型計算機系統(tǒng),2000,21(10):1028-1031.

[3]LAUKAITIS A,VASILECAS O.Formal concept analysis and information systems modeling[C].Proceedings of the International Conference on Computer Systems andTechnologies,Bulgaria.New York,NY,USA:ACM,2007.

[4]TILLEY T, COLE R, BECKER P, et al.A survey of formalconceptanalysissupportforsoftware engineering activities[C].Berlin/Heidelberg: Springer, 2005: 107-118.

[5]HESSE W,TILLEY T.Formal concept analysis used for softwareanalysis and modelling[A].Berlin /Heidelberg:Springer, 2005: 288-303.

猜你喜歡
概念功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Birdie Cup Coffee豐盛里概念店
幾樣概念店
學(xué)習(xí)集合概念『四步走』
聚焦集合的概念及應(yīng)用
關(guān)于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
論間接正犯概念之消解
概念的限制
主站蜘蛛池模板: a毛片基地免费大全| 一级全黄毛片| 五月婷婷丁香综合| 日韩精品高清自在线| 亚洲精品麻豆| 亚洲人成网线在线播放va| 日韩无码真实干出血视频| 亚洲日韩第九十九页| 国模视频一区二区| 国产精品亚洲精品爽爽| 69av免费视频| 在线精品视频成人网| 少妇人妻无码首页| 亚洲永久色| 国产爽爽视频| 日韩中文字幕亚洲无线码| 在线观看av永久| AV不卡在线永久免费观看| 国产精品性| 性做久久久久久久免费看| 强乱中文字幕在线播放不卡| 亚洲人成网站18禁动漫无码| 91久久精品国产| 亚洲欧美一区在线| 亚洲无码熟妇人妻AV在线| 精品国产91爱| 国产亚洲欧美日本一二三本道| 人妻精品全国免费视频| 欧美人人干| 国产一区三区二区中文在线| 丁香婷婷久久| 亚洲一区黄色| 午夜限制老子影院888| 国产情侣一区二区三区| 久久久精品久久久久三级| 青青草国产一区二区三区| 亚洲欧美综合精品久久成人网| 国产女人在线观看| V一区无码内射国产| 色网在线视频| 国产爽爽视频| 老色鬼久久亚洲AV综合| 欧美狠狠干| 欧美色丁香| 国产精品女人呻吟在线观看| 亚洲激情区| 香蕉久人久人青草青草| 99这里只有精品在线| 欧美中文字幕在线视频| 在线观看欧美精品二区| 亚洲国产理论片在线播放| 国产免费黄| 亚洲精品视频免费看| 视频二区中文无码| 国产一级毛片在线| 亚洲人在线| 色视频国产| 日韩高清成人| 精品无码一区二区三区在线视频| 亚洲永久免费网站| 亚洲精品无码专区在线观看| 亚洲精品另类| 波多野结衣一区二区三视频| 奇米影视狠狠精品7777| 国产高清不卡视频| 久久国产精品麻豆系列| 99热这里只有精品国产99| 国产69精品久久久久孕妇大杂乱| 成人午夜视频在线| 尤物精品国产福利网站| 亚洲日韩精品伊甸| 最新亚洲人成网站在线观看| 日本成人不卡视频| 亚洲人网站| 天天爽免费视频| 日韩在线播放中文字幕| 国产精品无码作爱| 夜夜操天天摸| 91麻豆国产视频| 亚洲福利片无码最新在线播放| 亚洲一级毛片在线观| 午夜欧美在线|