亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        UML類圖靜態(tài)模型的形式化

        2009-04-29 00:00:00
        考試周刊 2009年24期

        摘 要: B方法主要是用抽象機(jī)來描述軟件系統(tǒng)的規(guī)范說明,且有大量工具支持。UML作為新一代面向?qū)ο蠼UZ言得到了廣泛的支持,已經(jīng)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。UML 圖形是模型元素集合的可視化表示,類圖表達(dá)了面向?qū)ο笙到y(tǒng)分析中的最基本元素——類和類之間聯(lián)系,而類之間的依賴關(guān)系是類之間聯(lián)系中的最重要、最普遍的一種聯(lián)系。本文旨之討論如何讓用B方法來描述UML類圖,從而能提高軟件開發(fā)的效率、降低成本,也能改善軟件工程的質(zhì)量。

        關(guān)鍵詞: UML類圖 B方法 靜態(tài)模型 形式化

        統(tǒng)一建模語言UML作為新一代面向?qū)ο蠼UZ言得到了廣泛的支持,已經(jīng)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。UML不僅支持面向?qū)ο蠓治雠c設(shè)計(jì),而且支持從需求分析開始的軟件開發(fā)的全過程,已大范圍地用于現(xiàn)代企業(yè)集成信息系統(tǒng)的設(shè)計(jì)和開發(fā)當(dāng)中。UML圖形是模型元素集合的可視化表示。UML定義了9種圖形,其中類圖表達(dá)了面向?qū)ο笙到y(tǒng)分析中的最基本元素——類和類之間聯(lián)系,而類之間的依賴關(guān)系是類之間聯(lián)系中的最重要、最普遍的一種聯(lián)系。

        1.UML類圖簡(jiǎn)介

        UML類圖表達(dá)的是對(duì)象模型的靜態(tài)結(jié)構(gòu)。其中一部分圖形元素是基本的,如類、關(guān)聯(lián)等,對(duì)于任何面向?qū)ο竽P投际潜夭豢缮俚摹?/p>

        類圖表達(dá)一組類和它們的聯(lián)系,在類圖中,一方面描述各個(gè)類本身的組成,即類的屬性、操作和對(duì)對(duì)象的約束,另一方面描述系統(tǒng)中類之間的靜態(tài)的聯(lián)系,其主要靜態(tài)聯(lián)系類型有關(guān)聯(lián)、聚集、泛化、依賴等。

        面向?qū)ο笙到y(tǒng)設(shè)計(jì)一般運(yùn)用都是規(guī)模較大的空間,類的數(shù)目眾多、類之間的關(guān)系錯(cuò)綜復(fù)雜,設(shè)計(jì)者很難直接從類圖中理清類與類之間的依賴關(guān)系。然而,面向?qū)ο笙到y(tǒng)基于UML語言在分析和設(shè)計(jì)過程中,已經(jīng)生成了許多類圖,如果能合理、有效地利用這些已經(jīng)生成的成果,不僅能提高軟件開發(fā)的效率、降低成本,而且能改善軟件工程的質(zhì)量。

        2.B語言

        B語言屬于基于模型的規(guī)格說明符號(hào)語言的范疇,是一種基于對(duì)象的形式化語言。它以規(guī)格說明語言Z語言的研究為背景,在引入一些面向?qū)ο髾C(jī)制等特點(diǎn)的同時(shí),保留了Z語言的優(yōu)點(diǎn)[5]。B語言使用相對(duì)簡(jiǎn)單,且人們熟悉的符號(hào)表示法(廣義代換)來表達(dá)狀態(tài)的轉(zhuǎn)換,從軟件的規(guī)格說明到編碼的形成是一致的形式描述,使程序和程序的規(guī)則說明處于統(tǒng)一的數(shù)學(xué)框架之下,以一種基于集合論的符號(hào)表示法來書寫,減少了出現(xiàn)語義錯(cuò)誤的可能性。這種數(shù)學(xué)框架是通過謂詞變換和擴(kuò)展的Dijkstra最弱前置條件提供的[1]。B語言的抽象機(jī)非常類似于Effiel中的類的概念,或者Ada語言的包。

        3.UML類圖靜態(tài)模型的形式化

        UML類圖模型由對(duì)象類的命名方框構(gòu)成,方框中列出了類的所有屬性及其操作,實(shí)體之間的關(guān)系用連線表示。一般說來,UML類圖中的類將表示為B機(jī)器,它封裝了可能的和存在的該類類型的屬性集合,以及對(duì)這些屬性的操作集合。類之間的關(guān)聯(lián)關(guān)系使用B機(jī)器的包含INCLUDES機(jī)制表示,繼承關(guān)系可以使用EXTENDS結(jié)構(gòu)化機(jī)制來表示。

        下面我們給出把UML類圖模型映射到B機(jī)器系統(tǒng)的基本方法和過程:

        (1)標(biāo)識(shí)類圖中的實(shí)體類型族,也就是實(shí)體類型集合,這些實(shí)體類型是一個(gè)給定類型T的子類型,而T本身沒有父類型。

        (2)標(biāo)識(shí)每個(gè)族內(nèi)類型的操作和屬性所需要的訪問路徑,這些訪問是針對(duì)其它族中的類型。

        (3)產(chǎn)生一個(gè)有向無環(huán)圖,圖中的節(jié)點(diǎn)就是類型族,圖中的邊是節(jié)點(diǎn)之間的包含關(guān)系USES或SEES。

        (4)按照下面給出的步驟,為每個(gè)類型族定義機(jī)器,并使用上一步標(biāo)識(shí)的關(guān)系包含其它的機(jī)器[6]。

        根據(jù)上述方法,一個(gè)類圖的轉(zhuǎn)換可以寫成如下形式:(假設(shè)類名為實(shí)體類Entity,ENTITY為一實(shí)體集合,T1——Tn都是T類型的子類型)

        MACHINE Entity

        SETS

        ENTITY

        VARIABLES

        Entities,

        Att1,att2,...,attn

        INVARIANT

        entitues?哿ENTITY att1∈entites→T1 att2∈entites→T2... attn∈entites→Tn

        ...

        END[3]

        該機(jī)器是一組Entity實(shí)例的模型,而不是一個(gè)單獨(dú)的實(shí)體。集合ENTITY代表Entity實(shí)例的所有可能同類體的集合,entities代表當(dāng)前已有的Entity實(shí)例的對(duì)象同類體集合。Entity實(shí)例的標(biāo)準(zhǔn)創(chuàng)建操作為:

        i ←create_entity(att1_val,...,attn_val)=

        PRE att1_val∈T1 ...attn_val∈Tn entities ENTITY

        THEN

        ANY j

        WHERE

        j∈ENTITY- entities

        THEN

        I:=j‖

        entities:= entities∪{j}‖

        att1(j):=att1_val‖

        ...

        attn (j):=attn_val

        END

        END[4]

        如果類模型的實(shí)體之間存在某些關(guān)系,那么T1,T2,...,Tn中的某些將涉及其它的實(shí)體,比如Entity2,Entity3,...,這時(shí),我們要查看SEE或者使用USE相關(guān)的機(jī)器:

        MACHINE Entity

        SEES Entity2,Entity3,...

        ...

        END

        如果在Entity的不變式中只需使用同類體集合ENTITY2,ENTITY3,...,那么我們可以使用SEES。如果需要更具體的并且要使用已有的實(shí)體集entity2等作為不變式中的范圍類型,那么要使用USES。

        我們還可以使用一個(gè)參數(shù)對(duì)一個(gè)將允許的給定實(shí)體的最大實(shí)例數(shù)給出限制:

        MACHINE Entity (maxEntity)

        CONSTRAINTS

        maxEntity≥1

        ...

        PROPERTIES

        Card (ENTITY)=maxEntity

        INVARIANT

        Entities?哿ENTITY ...

        END

        如果Entity2繼承Entity1,那么需要把約束entities2 ( entities1放在標(biāo)識(shí)超類的機(jī)器不變式中。

        MACHINE Entity1

        SETS

        ENTITY1

        VARIABLES

        entities1,entities2

        INVARIANT

        entities1?哿ENTITY1(

        entities2 ?哿entities1

        ...

        END[2]

        4.結(jié)語

        本文討論如何讓用B方法來描述UML類圖,從而為提高軟件開發(fā)的效率、降低成本打下了基礎(chǔ),并能大大地改善軟件工程的質(zhì)量。

        參考文獻(xiàn):

        [1]裘宗燕譯.B方法.電子工業(yè)出版社,2004,06.

        [2]Kevin Lano.The B Language and Method:A Guide to Practice Formal Development.Springer Verlag,1996.

        [3]B-Core Ltd.B-toolkit User’s Manual.Oxford(UK),1996.

        [4]Emil Sekerinski and Rafik Zurob.Translation Statecharts to B.Spinger-Verlag,McMaster University,2003.

        [5]鄒盛榮,鄭國(guó)梁.B語言和方法與Z、VDM的比較.計(jì)算機(jī)科學(xué),2002(10):136-138.

        [6]鄒盛榮,鄭國(guó)梁.形式化方法B和UML的結(jié)合研究.中國(guó)科技論文在線,2003中國(guó)計(jì)算機(jī)大會(huì).

        美女啪啪国产| 女人扒开下面无遮挡| 国产人妖视频一区二区| 日韩成人精品日本亚洲| 日躁夜躁狠狠躁2001| 东京热加勒比视频一区| 国产精品自产拍在线观看中文| 男人激烈吮乳吃奶视频免费| 久久人妻一区二区三区免费| 亚洲欧美v国产蜜芽tv| 精品人妻潮喷久久久又裸又黄| 亚洲av无码日韩av无码网站冲| 亚洲精品中文字幕乱码三区99| jjzz日本护士| 国产中文三级全黄| 国产亚洲精品一品二品| 亚洲色图视频在线播放| 日韩精品无码久久久久久 | 99精品人妻少妇一区二区| 国产精品成人一区二区不卡| 国产av一区二区三区国产福利 | 亚洲av无码一区东京热久久| 在线观看av不卡 一区二区三区| 欧美日韩激情在线一区二区| 无遮挡边吃摸边吃奶边做| 国产做国产爱免费视频| 一区二区三区日韩亚洲中文视频| 国产乱老熟视频乱老熟女1| 久久久久亚洲av成人网址| 大香伊蕉国产av| 亚洲av无码国产精品草莓在线| 国产精品人伦一区二区三| 三级黄色片一区二区三区| 亚洲中文字幕无码二区在线| 久久综合九色综合欧美狠狠 | 成人精品一区二区三区电影| 青青草在线免费观看视频| 亚洲一二三四五区中文字幕| 国产白丝在线| a级毛片免费观看视频| 国产中文字幕乱人伦在线观看|