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

基于UML的多視圖軟件體系結(jié)構(gòu)描述方法研究

2008-12-31 00:00:00鄭東霞
計算機(jī)應(yīng)用研究 2008年11期

(1.大連海事大學(xué)信息科學(xué)與技術(shù)學(xué)院, 遼寧 大連 116026; 2.東北大學(xué) 東軟信息學(xué)院 計算機(jī)科學(xué)與技術(shù)系, 遼寧 大連 116023)

摘要:提出一種新的基于UML(unified modeling language)的多視圖模型,即“6+1”視圖模型,從場景、概念視圖、框架視圖、過程視圖、數(shù)據(jù)視圖、構(gòu)件視圖、物理視圖七個視角完整地描述一個系統(tǒng)的體系結(jié)構(gòu),并將該視圖模型應(yīng)用到鋼材庫管理系統(tǒng)的體系結(jié)構(gòu)描述中。實(shí)踐表明,它是面向?qū)ο筌浖_發(fā)方法中高效而實(shí)用的軟件體系結(jié)構(gòu)建模方法。

關(guān)鍵詞:軟件體系結(jié)構(gòu); 多視圖; 模型; 統(tǒng)一建模語言

中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A

文章編號:1001-3695(2008)11-3367-03

Research on describing method of multi-view softwarearchitecture based on UML

LIU Ning1, ZHENG Dong-xia2

(1.School of Information Science Technology, Dalian Maritime University, Dalian Liaoning 116026, China; 2.Dept. of Computer Science Technology, Neusoft Institute of Information Technology, Dalian Liaoning 116023, China)

Abstract:This paper proposed a new UML-based multi-view model, that is “6+1” view model. The model completely described a system architecture from seven perspectives,that is the scene,conceptual view,framework view,process view,data view,component view,physical view. And the view model was applied to describe the architecture of the steel base management system. The practice indicates that the new model is an effective and applied architecture modeling method in object-oriented software development.

Key words:software architecture; multi-view; model; UML



在處理體系結(jié)構(gòu)時,通常只考慮系統(tǒng)功能方面的需求,而實(shí)際上系統(tǒng)的物理分布、過程通信和同步等問題也必須在體系結(jié)構(gòu)中加以考慮。UML提供了可視化的圖形表示方法及語義化的元模型描述規(guī)范,提供了靜態(tài)和動態(tài)兩種建模機(jī)制。利用UML的半形式化特性及嵌入的擴(kuò)充機(jī)制,可以從多個視圖描述軟件體系結(jié)構(gòu)。Kruchten在1995年提出了一個基于UML的“4+1”視圖模型,從五個不同的視角來描述軟件體系結(jié)構(gòu),五個視角結(jié)合在一起反映軟件體系結(jié)構(gòu)的全部內(nèi)容。在“4+1”視圖模型的基礎(chǔ)上,對其進(jìn)行擴(kuò)充,分別從概念、框架、過程、數(shù)據(jù)、構(gòu)件、物理、場景七個視角考慮體系結(jié)構(gòu)的構(gòu)造,提出“6+1”視圖體系結(jié)構(gòu)模型。該模型描述系統(tǒng)的核心概念是什么;系統(tǒng)是如何滿足應(yīng)用需求的;系統(tǒng)需要哪些構(gòu)件;系統(tǒng)的實(shí)現(xiàn)需要哪些物理環(huán)境給予支持以及如何構(gòu)造這些視圖等。

1“6+1”視圖的體系結(jié)構(gòu)模型

對一個軟件體系結(jié)構(gòu)的描述可以從不同的視角來描述。“4+1” 視圖模型中的五個體系結(jié)構(gòu)視圖基本上反映了系統(tǒng)構(gòu)造的主要方面,“6+1”視圖體系結(jié)構(gòu)模型能夠更全面系統(tǒng)地描述一個軟件系統(tǒng)的體系結(jié)構(gòu)。

11“4+1”視圖描述軟件體系結(jié)構(gòu)

“4+1”模型從邏輯、開發(fā)、過程、物理和場景五個不同的視角來描述軟件體系結(jié)構(gòu)的全部內(nèi)容,如圖1所示。其中,邏輯角度描述系統(tǒng)的功能需求及它們之間的相互關(guān)系;開發(fā)角度負(fù)責(zé)軟件模塊的組織和管理;過程角度側(cè)重于系統(tǒng)的運(yùn)行性;物理角度解決系統(tǒng)的拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝及通信等問題;場景則對應(yīng)于用戶需求和系統(tǒng)功能實(shí)例的抽象,設(shè)計者通過分析如何滿足每個場景所要求的約束來分析軟件的體系結(jié)構(gòu)。對比軟件體系結(jié)構(gòu)各個視角與軟件開發(fā)的各階段,邏輯視角、開發(fā)視角、過程視角和物理視角分別對應(yīng)于軟件開發(fā)的需求分析、總體設(shè)計、詳細(xì)設(shè)計和實(shí)現(xiàn)階段。

“4+1” 視圖模型中的四個體系結(jié)構(gòu)視圖基本上反映了系統(tǒng)構(gòu)造的幾個主要方面,但在某些方面尚存在不足。經(jīng)過分析認(rèn)為具體表現(xiàn)在如下幾個方面:

a)“4+1”視圖不能體現(xiàn)體系結(jié)構(gòu)構(gòu)造的多層抽象特征,不能體現(xiàn)系統(tǒng)的體系結(jié)構(gòu)風(fēng)格;

b)數(shù)據(jù)作為系統(tǒng)開發(fā)的一個重要方面,在“4+1”視圖中沒有得到充分體現(xiàn);

c)無法反映基于構(gòu)件的軟件開發(fā)方法的一些特征,如構(gòu)件、構(gòu)件組織結(jié)構(gòu)、開發(fā)者之間的關(guān)聯(lián)等;

d)對于體系結(jié)構(gòu)模型的實(shí)現(xiàn),如何構(gòu)造這些視圖以及視圖之間的映射關(guān)系等方面缺乏更詳細(xì)的指導(dǎo)。

12“6+1”視圖的體系結(jié)構(gòu)模型

針對“4+1”視圖模型存在的不足,分別從概念、框架、過程、數(shù)據(jù)、構(gòu)件、物理六個視圖以及場景的角度考慮體系結(jié)構(gòu)的構(gòu)造,提出“6+1”視圖體系結(jié)構(gòu)模型,如圖2所示。

1)概念視圖按照應(yīng)用領(lǐng)域的概念描述體系結(jié)構(gòu)。這些概念與實(shí)現(xiàn)它們的代碼有關(guān)系,但并不總有直接映射的關(guān)系。體系結(jié)構(gòu)在該視圖中設(shè)計系統(tǒng)的功能特性。例如,概念視圖的一個普通目標(biāo)是組織體系結(jié)構(gòu)以便能夠方便地增加、刪除及修改系統(tǒng)功能。這對于系統(tǒng)演化非常重要,同時能支持體系結(jié)構(gòu)的重用。

2)框架視圖該視圖從高層抽象的角度出發(fā),體現(xiàn)體系結(jié)構(gòu)的風(fēng)格,制約并指導(dǎo)構(gòu)件視圖、過程視圖、數(shù)據(jù)視圖的構(gòu)造,是系統(tǒng)的大粒度構(gòu)成結(jié)構(gòu),是詳細(xì)解決方案的抽象。

3)過程視圖從系統(tǒng)的行為出發(fā),考察各個構(gòu)件之間的協(xié)作/交互/通信關(guān)系,反映系統(tǒng)的行為結(jié)構(gòu)。該視圖基于系統(tǒng)的需求場景,同時遵循框架視圖的制約,是系統(tǒng)核心結(jié)構(gòu)之一。

4)數(shù)據(jù)視圖從數(shù)據(jù)生產(chǎn)和消費(fèi)的角度出發(fā),關(guān)注系統(tǒng)的結(jié)構(gòu)問題,是構(gòu)件視圖的一種特化,反映體系結(jié)構(gòu)的靜態(tài)特性;是框架視圖在以數(shù)據(jù)構(gòu)件為組成結(jié)構(gòu)下的映射,同時數(shù)據(jù)視圖還貫穿于過程視圖中,是連接各個計算構(gòu)件或連接件的中間媒介。它所關(guān)心的問題是:數(shù)據(jù)是從哪里產(chǎn)生的,是如何存儲的,在哪些組件之間傳輸。

5)構(gòu)件視圖該視圖以構(gòu)件為著眼點(diǎn),是系統(tǒng)開發(fā)的核心結(jié)構(gòu)之一,是框架視圖的設(shè)計模式,是對框架視圖的細(xì)化。

6)物理視圖描述系統(tǒng)的軟件與硬件之間的映射關(guān)系并反映其分布特性,展示軟件在生命周期的不同階段中所必需的物理環(huán)境或硬件配置以及分布狀況。

7)場景它是整個體系結(jié)構(gòu)設(shè)計的依據(jù),是以上六個視圖構(gòu)造的著眼點(diǎn)。它對應(yīng)于重要的用戶需求和系統(tǒng)功能實(shí)例的抽象,設(shè)計者通過分析如何滿足每個場景所要求的約束來設(shè)計軟件的體系結(jié)構(gòu)。

綜上所述,概念視圖定義系統(tǒng)的目標(biāo);框架視圖、構(gòu)件視圖、過程視圖和數(shù)據(jù)視圖則提供詳細(xì)的解決方法。其中框架視圖是大粒度的;后三者則從靜態(tài)組成、動態(tài)行為、數(shù)據(jù)側(cè)面對其進(jìn)行細(xì)化;物理視圖解決系統(tǒng)的拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝及通信等問題;場景反映完成上述任務(wù)的組織結(jié)構(gòu)。框架視圖是高層體系結(jié)構(gòu);構(gòu)件視圖、過程視圖和數(shù)據(jù)視圖構(gòu)成體系結(jié)構(gòu)的核心,是系統(tǒng)開發(fā)的關(guān)鍵結(jié)構(gòu),為低層體系結(jié)構(gòu);而概念視圖、物理視圖則為輔助體系結(jié)構(gòu)。

2基于UML的鋼材庫管理系統(tǒng)體系結(jié)構(gòu)“6+1”視圖描述

21“6+1”視圖體系結(jié)構(gòu)的構(gòu)造

“6+1”視圖體系結(jié)構(gòu)模型的構(gòu)造涉及多種角色,并且分別完成不同的任務(wù):

a)用戶與系統(tǒng)分析師通過需求工程獲得待開發(fā)系統(tǒng)的功能和非功能需求,將其轉(zhuǎn)換為功能場景與質(zhì)量場景,即“6+1”視圖模型中的場景。 

b)體系結(jié)構(gòu)設(shè)計師完成如下任務(wù):

(a)將功能場景轉(zhuǎn)換為概念視圖,并征求用戶的確認(rèn),得到待解決問題的定義;

(b)根據(jù)已有的體系結(jié)構(gòu)知識,選擇和確定框架視圖;

(c)依據(jù)框架視圖得到構(gòu)件視圖、過程視圖和數(shù)據(jù)視圖;

(d)在得到核心體系結(jié)構(gòu)模型后,開發(fā)物理視圖。

c)構(gòu)件工程師依據(jù)構(gòu)件視圖、過程視圖、數(shù)據(jù)視圖開發(fā)相應(yīng)的構(gòu)件。

d)集成工程師依據(jù)構(gòu)件視圖集成部署構(gòu)件。

e)組織管理者按照場景分配開發(fā)任務(wù)。

對于體系結(jié)構(gòu)的構(gòu)造而言,只考慮體系結(jié)構(gòu)設(shè)計師相應(yīng)的工作,即如何得到上述六個視圖。下面具體討論各個視圖的構(gòu)造與基于UML的描述方法。

22場景描述

場景可以采用UML中的用例圖來描述。用例圖包含的主要實(shí)體有用例、參與者和系統(tǒng)邊界。用例通過系統(tǒng)與一個或多個參與者之間的一系列消息來描述系統(tǒng)中的交互作用,用于表示系統(tǒng)的一項(xiàng)外部功能需求,即從用戶角度分析所得的需求;參與者用于描述與系統(tǒng)功能有關(guān)的外部實(shí)體,可以是用戶,也可以是外部系統(tǒng);系統(tǒng)邊界用于界定系統(tǒng)功能范圍。

鋼材庫管理系統(tǒng)的軟件體系結(jié)構(gòu)圖中,共涉及九個用例,分別對應(yīng)九個基本的系統(tǒng)功能。外部角色有四個,即客戶、業(yè)務(wù)人員、供應(yīng)商和系統(tǒng)管理員。在場景描述中,分別從四個外部角色的角度對系統(tǒng)提出功能需求。鋼材庫管理系統(tǒng)體系結(jié)構(gòu)的場景描述如圖3所示。

23概念視圖描述

在概念視圖中,組件是角色和用例,連接件是角色與用例之間的關(guān)系以及多個用例之間的關(guān)系。在構(gòu)造概念視圖時,著眼點(diǎn)是功能場景,考慮系統(tǒng)的功能分解,但不考慮其實(shí)現(xiàn)。具體來說,將需求工程得到的功能場景抽取為視圖中的一個功能組件,進(jìn)而考慮這些功能組件之間的關(guān)系。 概念視圖可以采用UML用例圖來表示,從所有參與者的角度出發(fā),通過用例來描述他們對系統(tǒng)概念的不同理解。每一個用例名相當(dāng)于一個概念功能的名稱。

在鋼材庫管理系統(tǒng)體系結(jié)構(gòu)的概念視圖中,給出了該體系結(jié)構(gòu)的系統(tǒng)功能需求的抽象描述,即系統(tǒng)提供給最終用戶的服務(wù)。鋼材庫管理系統(tǒng)主要完成對供應(yīng)商的開戶,對貨物的質(zhì)檢、入庫、出庫等功能。鋼材庫管理系統(tǒng)體系結(jié)構(gòu)中的概念視圖如圖4所示。

24框架視圖描述

框架視圖需要展現(xiàn)的是系統(tǒng)的類及對象,對系統(tǒng)進(jìn)行靜態(tài)和動態(tài)行為的建模。可以由UML中的類圖、對象圖和包圖來描述,側(cè)重以質(zhì)量場景為著眼點(diǎn),尋求合適的體系結(jié)構(gòu)風(fēng)格/模式,進(jìn)行系統(tǒng)大粒度的分解,分析系統(tǒng)的子系統(tǒng)組成,以及子系統(tǒng)之間關(guān)系等基本問題。每個子系統(tǒng)均由相應(yīng)的構(gòu)件或構(gòu)件簇來實(shí)現(xiàn)時,需要保持子系統(tǒng)的組成關(guān)系。

鋼材庫管理系統(tǒng)體系結(jié)構(gòu)中的部分框架視圖如圖5所示。

25過程視圖描述

過程視圖主要通過對過程動態(tài)模型建模來實(shí)現(xiàn),用UML中的活動圖來描述。過程視圖幫助設(shè)計人員更細(xì)致地分析概念視圖和場景中的用例,分析視圖和場景中用例工作流之間的交互。大型軟件系統(tǒng)非常復(fù)雜,很多過程可能是并行的,活動圖支持并行的行為。

鋼材庫管理系統(tǒng)體系結(jié)構(gòu)中的過程視圖如圖6所示,包括權(quán)限檢查、開戶、質(zhì)檢、入庫、出庫、查詢、異常處理等組件。

26數(shù)據(jù)視圖描述

數(shù)據(jù)視圖給出數(shù)據(jù)元素之間的關(guān)系以及數(shù)據(jù)間的流動。軟件體系結(jié)構(gòu)中的數(shù)據(jù)視圖不同于數(shù)據(jù)庫中的數(shù)據(jù)視圖。在體系結(jié)構(gòu)中,組件不再是計算組件,而是數(shù)據(jù)組件,組件之間的交互,即數(shù)據(jù)視圖中的連接件體現(xiàn)為數(shù)據(jù)組件之間的轉(zhuǎn)換關(guān)系。數(shù)據(jù)組件可以用UML中的類圖或?qū)ο髨D表示,連接件可以用類圖或?qū)ο髨D之間的關(guān)系描述。

在鋼材庫管理系統(tǒng)體系結(jié)構(gòu)的數(shù)據(jù)視圖中,包含業(yè)務(wù)人員類、貨位類、收貨類、入庫類、訂貨類、供應(yīng)商類、客戶類、出庫類等數(shù)據(jù)組件,如圖7所示。

27構(gòu)件視圖描述

構(gòu)件視圖用于描述軟件開發(fā)中程序模塊的靜態(tài)組織結(jié)構(gòu),由程序庫或子系統(tǒng)組成,用UML中的構(gòu)件圖來表示。它考慮軟件內(nèi)部的特性,描述軟件開發(fā)以及軟件的組織,顯示系統(tǒng)結(jié)構(gòu)的劃分。在構(gòu)件視圖中,組件就是程序模塊,程序模塊之間的關(guān)系是連接件。

在鋼材庫管理系統(tǒng)中,完成質(zhì)檢功能的質(zhì)檢組件、對入庫貨物進(jìn)行信息錄入與出單的入庫組件、負(fù)責(zé)出庫工作的出庫組件及它們所對應(yīng)的數(shù)據(jù)庫組件。這些組件及其相互關(guān)系如圖8所示。

28物理視圖描述

物理視圖描述如何將軟件映射到硬件上,它通常考慮系統(tǒng)性能、規(guī)模和可擴(kuò)展性等,主要通過UML中的配置圖加以實(shí)現(xiàn)。配置圖定義系統(tǒng)中軟硬件的邏輯或物理的拓?fù)浣Y(jié)構(gòu),它可以顯示計算節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu)和通信路徑、節(jié)點(diǎn)上運(yùn)行的軟件組件、組件包含的邏輯單元等。

鋼材庫管理系統(tǒng)是一個采用C/S體系結(jié)構(gòu)風(fēng)格的系統(tǒng)。其體系結(jié)構(gòu)中的物理視圖如圖9所示。客戶端和服務(wù)器端是節(jié)點(diǎn),兩個節(jié)點(diǎn)之間通過TCP/IP協(xié)議進(jìn)行連接。在客戶端,開戶單、入庫單和出庫單填寫界面作為相應(yīng)的構(gòu)件。

3結(jié)束語

針對基于UML的“4+1”視圖體系結(jié)構(gòu)模型描述中存在的不足,本文提出了更加全面的“6+1”視圖模型,并分別闡述各視圖的定義及其基于UML的描述方法。最后將該模型應(yīng)用到鋼材庫管理系統(tǒng)的體系結(jié)構(gòu)描述中,證明了將該模型用于面向?qū)ο蟮能浖_發(fā)方法中描述軟件體系結(jié)構(gòu)的可行性及易用性。

參考文獻(xiàn):

[1]梅宏, 申峻嶸. 軟件體系結(jié)構(gòu)研究進(jìn)展[J].軟件學(xué)報,2006,17(6):1257-1275.

[2]馬重明, 張學(xué)旺, 范時平. 基于UML的軟件體系結(jié)構(gòu)開發(fā)方法[J]. 計算機(jī)工程與應(yīng)用,2006(4):118-120,148.

[3]黃正寶, 張廣泉.一種新型的軟件體系結(jié)構(gòu)描述方法研究[J].微電子學(xué)與計算機(jī),2006,23(12):82-84,88.

[4]ALBIN S T.The art of software architecture: design methods and techniques[M]. [S.l.]:Wiley, 2003.

[5]BERNARDO M, CIANCARINI P, DONATIELLO L.On the formalization of architectural types with process algebras[C]//Proc of the 8th ACM Int Symp on the Foundations of Software Engineering.[S.l.]:ACM Press,2000:14-18.

主站蜘蛛池模板: 青青青草国产| 欧美日韩国产一级| 亚洲日本韩在线观看| 一级片免费网站| 国产真实乱子伦精品视手机观看| av在线5g无码天天| 美女一级毛片无遮挡内谢| 亚洲AV电影不卡在线观看| 国产精品专区第1页| 日韩欧美中文字幕在线韩免费| 高清视频一区| 成人国产一区二区三区| 色综合成人| 成人一区专区在线观看| 国产欧美日韩专区发布| 色婷婷电影网| 99视频在线免费看| 四虎永久免费地址| 五月天综合婷婷| 国产在线观看人成激情视频| 中国一级特黄大片在线观看| 久久精品人人做人人爽97| 国产激情无码一区二区免费| 亚洲国产成人精品无码区性色| 无码'专区第一页| 54pao国产成人免费视频| 青青国产视频| 午夜视频免费试看| 高清免费毛片| 欧美性精品| 久久伊人色| h视频在线播放| www.狠狠| 自拍偷拍一区| 老司机午夜精品视频你懂的| 日本三级欧美三级| 欧美日韩免费在线视频| 粉嫩国产白浆在线观看| 亚洲国产综合自在线另类| 伊人久久福利中文字幕| 亚洲天天更新| 亚洲区欧美区| 亚洲天堂精品视频| 99er精品视频| 2020国产免费久久精品99| 久久婷婷六月| 久草网视频在线| 亚洲无码视频图片| 国产成人一区免费观看| 亚洲一区毛片| 欧美不卡视频在线| 高潮毛片免费观看| 成人综合在线观看| 国内精品自在自线视频香蕉| 中文字幕乱码二三区免费| 亚洲欧美在线综合图区| 亚洲最大在线观看| 日韩欧美色综合| 国产日韩欧美黄色片免费观看| 国产成人无码久久久久毛片| 九色91在线视频| 99热最新网址| 久久青草免费91线频观看不卡| 乱色熟女综合一区二区| 福利国产微拍广场一区视频在线| 欧洲极品无码一区二区三区| 91国内外精品自在线播放| 狠狠色香婷婷久久亚洲精品| 四虎影院国产| 久久精品国产精品青草app| 国产成人无码AV在线播放动漫| 国产成人欧美| 中文字幕在线播放不卡| 无码人中文字幕| 欧美精品在线免费| 天堂成人在线视频| 日本人真淫视频一区二区三区| 国产在线八区| 欧美国产在线看| 国产麻豆91网在线看| 亚洲VA中文字幕| 亚洲国产综合自在线另类|