張 艷
(天津海運職業(yè)學院 天津 300350)
當今軟件的主流開發(fā)方法是面向對象的程序設計和軟件開發(fā),并取得了一定的發(fā)展,逐漸成熟。而在這種開發(fā)方式發(fā)展的過程當中,也形成了不少相對比較復雜的開發(fā)方法。UML作為一種通用的用于建模的語言,把OOSE、OMT和Booch的概念結合了起來,是可以對軟件密集型的系統(tǒng)的制品來進行構造、詳述、可視化和文檔化的一種計算機圖形語言。它相對于傳統(tǒng)的計算機語言,不僅融入了最新的思想和方法,還可以讓開發(fā)出來的軟件具有更加強大的功能,供用戶使用。下面就探討一下基于UML的軟件體系結構的開發(fā)方法。
基于UML的軟件系統(tǒng)包含著幾個模型,分別是用例分析模型、靜態(tài)結構模型、動態(tài)行為模型和物理結構模型。
用例分析模型的作用是對軟件系統(tǒng)的需求進行初步的分析,分析一下軟件可以做到的方面和被期待去做的方面,以及不可以做的方面,具體的情況可以用用例來進行描述。
靜態(tài)結構模型的作用是進一步對軟件系統(tǒng)的需求進行分析,確定類和類之間的關系以及每個類的作用,把軟件系統(tǒng)的靜態(tài)結構確定下來,一般用對象圖和類圖來描述。
可以通過活動圖、協(xié)作圖、狀態(tài)圖和順序圖來對軟件系統(tǒng)的動態(tài)行為模型進行描述。主要用于描述系統(tǒng)基于時間的變化,對象之間會發(fā)生的協(xié)作行為和系統(tǒng)的交互關系。
通常使用部署圖和構件圖來描述物理結構模型,作用是清楚描述軟件系統(tǒng)的物理結構和內(nèi)部的系統(tǒng)構建。
軟件體系結構要解決的問題就是如何將以上四種模型來做一個相對平穩(wěn)的過渡。在軟件系統(tǒng)的開發(fā)當中,軟件系統(tǒng)模型起到了相當關鍵的作用,是軟件系統(tǒng)開發(fā)的基礎。
絕大部分的軟件體系結構由5部分來構成,分別是組件、連接器、配置、角色和端口,其中最基本的元素是組件、連接器和配置。
還帶有類型、接口、約束、語義、演化和非功能等屬性。如server、client、filter和GUI。
連接器相對獨立,可以不對應系統(tǒng)中的編譯元,與組件不同。如pipes和browser-server等。
組件作為軟件體系結構中一個封裝的實體,它的類可以描述為一個包含接口的集合。組件要想與外部環(huán)境進行交互,就要通過它的接口來進行,而接口則對組件和外部環(huán)境的交互和行為進行了描述。每個端口都包含了有一組端口,而每個端口都對應一個交互點。其中要注意的是:一是在組件的描述中,組件接口的類型至少要有一種;二是在接口的描述中,端口的類型至少要有一種;三是在系統(tǒng)的運行中,組件的實例至少要有一個;四是每一個組件都應該要有一個用于辨別是符合組件還是原子組件的標簽。
在軟件體系結構中,連接器作為一個主要的實體,接口也是必不可少的,而連接器的接口的組成單位則是角色,每一個在連接器中的角色都對與該連接器交互的參與者進行了定義。要注意的地方前三點和組件的描述類似,第四,組件和與組件項鏈的地段連接器來決定連接器的頂部接口;第五點和第四點有相似之處,組件和頂端連接器來決定連接器的底端接口。
一個軟件體系結構的風格由它的配置來決定,還能夠根據(jù)配置的信息來確定系統(tǒng)內(nèi)的組件和連接器是否可以正常通信等等。要注意的地方有:一是軟件體系結構的風格類型由配置來定義;二是配置與軟件體系結構的連接器和組件相關聯(lián);三是至少要有一個實例在配置的系統(tǒng)當中。
組件和連接器的實例組成了軟件體系結構,因為系統(tǒng)的高層設計問題由體系結構關注,因此軟件體系結構的用model類來進行定義。要注意的地方有:一是構成軟件體系結構的類必須要是它的模型元素;二是在組件端口中,至少要參與一個連接器的角色;三和二類似,至多由一個組件端口來實現(xiàn)每個連接器角色;四是軟件體系結構的內(nèi)部各組件不參與其它軟件體系結構的關聯(lián)。
要將基于UML的軟件體系結構的開發(fā)方法很好地應用到系統(tǒng)的建模當中,就要尋求合適的方法,來實現(xiàn)模型和模型之間的平穩(wěn)過渡。首先,開發(fā)者應該獲取用戶的需求,然后根據(jù)用戶的需求創(chuàng)建一個用例分析模型,然后以這個模型作為切入點來將其中的用例轉化成各組件和連接器之間的關系,來導出相應的軟件體系結構模型。在導出的過程中,對模型的問題進行修正,達到最好的狀態(tài)。最后,根據(jù)已有模型,再進一步精化模型,創(chuàng)建相應的靜態(tài)結構視圖,再創(chuàng)建出相應的動態(tài)行為模型,最后再根據(jù)已做的所有工作,創(chuàng)建出對應的物理結構模型。
以上通過了以UML作為軟件體系結構模型的語言,來開發(fā)一個軟件體系結構。此方法的核心就是以軟件體系結構模型作為中心,并讓用例分析模型放在它之前,其他設計模型則安排在它之后,這樣的話,用例分析模型模型就搭起了一座連通與其它模型的橋梁,這樣就可以有效改進各模型之間的平穩(wěn)過渡問題。
[1]韓幸才.基于UML的ICU信息系統(tǒng)的設計與實現(xiàn)[J].計算機技術與發(fā)展.2012.
[2]朱賢友.基于 UML的公共選修課程管理系統(tǒng)的研究與實現(xiàn)[D].湖南大學 2010.
[3]李庭磊.基于UM L描述的軟件體系結構研究[J].中國新技術新產(chǎn)品.2012.
[4]石琳.探討基于UML的軟件體系結構開發(fā)方法[J].電腦編程技巧與維護.2013.