公務(wù)員期刊網(wǎng) 論文中心 正文

軟件工程中的UML建模技術(shù)

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件工程中的UML建模技術(shù)范文,希望能給你帶來靈感和參考,敬請閱讀。

軟件工程中的UML建模技術(shù)

【摘要】在軟件工程中,UML建模技術(shù)的應(yīng)用十分廣泛,具有可視化、定義良好以及功能強大等優(yōu)點?;诖?,筆者從UML建模技術(shù)的概念和優(yōu)勢入手,對軟件工程中UML建模技術(shù)的應(yīng)用模式和應(yīng)用流程進行了分析,主要介紹了用例圖、類圖、序列圖和協(xié)作圖在軟件工程中的應(yīng)用,并將人才招聘系統(tǒng)作為研究對象,闡述了uml建模技術(shù)的實踐應(yīng)用,以期為相關(guān)研究提供參考。

【關(guān)鍵詞】軟件工程;UML建模技術(shù);需求分析

前言

在進行軟件的開發(fā)時,技術(shù)人員大都會通過面對對象描述的方法進行建模,該方法是將軟件系統(tǒng)的對象看做是構(gòu)建模塊。在進行建模的過程中,UML建模技術(shù)可以創(chuàng)建系統(tǒng)的靜態(tài)結(jié)構(gòu)以及動態(tài)行為,可以有效提高建模的效率和準(zhǔn)確性。因此,對于軟件工程中的UML建模技術(shù)研究具有一定的現(xiàn)實意義與理論指導(dǎo)價值。

1.UML建模技術(shù)概述

UML是一種規(guī)范定義、文檔化或者可視化的最標(biāo)準(zhǔn)的建模語言,可以應(yīng)用于軟件工程的各個階段。UML建模語言擁有統(tǒng)一的符號以及語義,可以將所有項目根植與一種建模語言中,并對這些項目中的所有概念進行明晰的表示與定義,在很大程度上擴大了系統(tǒng)的應(yīng)用范圍,使UML建模技術(shù)的應(yīng)用更為靈活。在UML中,主要包括圖、事物以及關(guān)系這三個基本構(gòu)造。具體而言,UML建模技術(shù)在軟件工程中的應(yīng)用主要有如下優(yōu)勢:第一,UML建模技術(shù)可以在系統(tǒng)模型中實現(xiàn)完全獨立,雖然UML建模技術(shù)會與其余建模工具進行配合應(yīng)用,但是并不會與系統(tǒng)的開發(fā)過程不產(chǎn)生交集;第二,UML建模技術(shù)在軟件工程中的應(yīng)用是面向?qū)ο蟮?,打破了傳統(tǒng)建模語言的差異性,可以通過統(tǒng)一的模型元素進行方法與圖形的表述;第三,UML建模技術(shù)可以捕捉軟件系統(tǒng)中的靜態(tài)行為信息與動態(tài)行為信息,靜態(tài)行為信息主要是指軟件系統(tǒng)中對象,動態(tài)行為信息主要是從時間角度和狀態(tài)角度對對象通訊的定義;第四,UML建模技術(shù)的和具體的實現(xiàn)沒有關(guān)系,適用于所有語言平臺或者工具平臺,還能夠應(yīng)用于具有代碼生成功能的交互式可視化建模工具,該工具可以為UML建模技術(shù)提供多種編程語言代碼和程序構(gòu)筑模型[1]。

2.軟件工程中的UML建模技術(shù)應(yīng)用模式

在軟件工程中,UML建模技術(shù)主要通過視圖的應(yīng)用進行軟件開發(fā),UML建模技術(shù)一共可以提供八種圖,實現(xiàn)軟件系統(tǒng)開發(fā)的可視化以及模型化,以此獲取軟件系統(tǒng)的主要資料,從而明確軟件系統(tǒng)的架構(gòu)與體系。本文主要對常用的四種圖進行分析:第一,用例圖。在UML建模技術(shù)中,用例圖是最基本的圖。在軟件工程中,需求分析階段的重點在于需求獲取,需求獲取的重點在于系統(tǒng)模型的構(gòu)建,系統(tǒng)模型構(gòu)建的最佳方法就是用例圖。用例圖可以構(gòu)建的用例模型可以為系統(tǒng)軟件的開發(fā)奠定良好的基礎(chǔ)。第二,類圖。在UML建模技術(shù)中,類圖主要用于表示不同實體(包括人、數(shù)據(jù)或者事物等)間的相關(guān)關(guān)系。在軟件工程中,類圖能夠表示軟件系統(tǒng)的靜態(tài)結(jié)構(gòu),包括邏輯類圖和實現(xiàn)類圖這兩種。其中,邏輯類圖是指業(yè)務(wù)人員所說的事物種類,如保險-住房抵押-信貸-利率等;實現(xiàn)類圖是指程序員負責(zé)的實體,但是并不會通過相同的屬性進行描述,因為實現(xiàn)類圖會進行HashMap或者Vec-tor等事物的引用。第三,序列圖。在UML建模技術(shù)中,序列圖能夠主要用于具體用例流程的詳細定義,主要通過自描述進行用例流程的定義,還能夠表示用例流程中不同對象的不同調(diào)用關(guān)系。在實際的應(yīng)用過程中,序列圖的繪制過程較為簡單,在橫跨圖的上部區(qū)域,不同的框代表每個類的對象,每個框中類的對象名稱和類的名稱使用空格/冒號/空格進行分隔,比如,MyReportGenerator:ReportGenera-tor。如果其中一個類對象向另一個類對象進行消息的發(fā)送,需要通過帶有指向接收性質(zhì)的連線來實現(xiàn),技術(shù)人員需要將消息/方法的名稱標(biāo)注于于連線上。如果發(fā)送的消息較為重要,技術(shù)人員需要繪制帶有指向發(fā)起性質(zhì)的虛線,并將返回值標(biāo)注于虛線上。第四,協(xié)作圖。在UML1.1版本的時候,協(xié)作圖被稱作Collabo-rationDiagram,翻譯為中文是協(xié)作圖;在UML2.0版本的時候,協(xié)作圖被稱作CommunicationDiagram,翻譯為中文是通訊圖。但不論哪一種翻譯方式,協(xié)作圖都可以看做是序列圖的全新表達方式。對于UML建模技術(shù)來說,序列圖注重前后順序,通過循環(huán)圖或者分支結(jié)構(gòu)來表示,而協(xié)作圖則更為注重協(xié)同關(guān)系,協(xié)作圖不能通過圖像來表示[2]。

3.軟件工程中的UML建模技術(shù)應(yīng)用流程

在軟件工程中,RationalRose能夠滿足現(xiàn)有全部建模環(huán)境的需求,在軟件開發(fā)過程中,支持開發(fā)人員、分析人員和系統(tǒng)工程師將需求以及系統(tǒng)的機構(gòu)轉(zhuǎn)變?yōu)榇a,從而實現(xiàn)需求以及系統(tǒng)的可視化。一般來說,軟件開發(fā)過程包括需求分析、方案設(shè)計、方案實現(xiàn)、測試與配置等環(huán)節(jié)。

3.1需求分析環(huán)節(jié)

在軟件工程的需求分析階段,技術(shù)人員主要應(yīng)用UML建模技術(shù)中的用例圖,了解系統(tǒng)的所有需求,并對需求進行相應(yīng)的描述。對于用例圖而言,技術(shù)人員通過事件的應(yīng)用實現(xiàn)用戶與系統(tǒng)間的交互作用,并在用例圖中表明用戶能夠?qū)崿F(xiàn)的目標(biāo),還能夠?qū)⒐δ芊治鲆约靶枨蠓治鲋邪南到y(tǒng)模塊,根據(jù)角色平均分配到不同用戶中,提高系統(tǒng)模型的清晰度。

3.2設(shè)計環(huán)節(jié)

在軟件工程的設(shè)計階段,技術(shù)人員需要全面考慮所有軟件開發(fā)技術(shù)的局限性,對需求分析階段的系統(tǒng)模型進行進一步的擴展與細化。設(shè)計階段的目標(biāo)在于將系統(tǒng)模型轉(zhuǎn)變?yōu)榇a,對需求分析階段提取的系統(tǒng)屬性與操作進行細化,并添加更多的類處理,比如,用戶接口、設(shè)備、數(shù)據(jù)庫以及通信等。一般來說,軟件工程的設(shè)計階段包括兩個部分,其一,結(jié)構(gòu)設(shè)計,又被稱作高層設(shè)計,主要任務(wù)是對包(即子系統(tǒng))進行定義,主要定義的內(nèi)容為包與包之間的依賴性以及通信機制,進一步實現(xiàn)結(jié)構(gòu)的清晰化與簡化,盡量減少各部分的依賴性,避免雙向依賴關(guān)系的構(gòu)建;其二,詳細設(shè)計,這一部分主要是對包的細化,技術(shù)人員可以通過詳細設(shè)計了解所有類的清晰全面描述。設(shè)計階段中UML建模技術(shù)的應(yīng)用包括類圖和序列圖這兩種。首先,類圖的應(yīng)用,在軟件工程中,類圖屬于靜態(tài)視圖,可以通過以下兩種方式進行定義:通過問題域的概念進行定義、通過該類實際表示的內(nèi)涵進行定義,技術(shù)人員需要根據(jù)系統(tǒng)需求分析以及系統(tǒng)用例進行類圖的構(gòu)建;然后,序列圖的應(yīng)用,在軟件工程中,序列圖屬于動態(tài)視圖,主要用于描述系統(tǒng)中各個對象的交互以及通訊,技術(shù)人員可以根據(jù)序列圖了解對象實現(xiàn)某種功能時,是如何進行序列消息的發(fā)送與接受。

3.3實現(xiàn)環(huán)節(jié)

在軟件工程中,實現(xiàn)環(huán)節(jié)就是指構(gòu)造或者實現(xiàn)環(huán)節(jié),主要工作內(nèi)容為類的編程。一般來說,技術(shù)人員會將C#語言作為軟件系統(tǒng)的開發(fā)環(huán)境,因為C#語言在邏輯試圖轉(zhuǎn)變?yōu)榇a部件這一映射過程中,有顯著的優(yōu)勢。在UML建模技術(shù)中,主要有以下幾種圖用于編碼過程:第一,類的規(guī)格說明,不同類的規(guī)格說明體現(xiàn)了不同的屬性與操作;第二,類圖,能夠顯示軟件系統(tǒng)中類的靜態(tài)結(jié)構(gòu)以及類之間的關(guān)系;第三,狀態(tài)圖,能夠體現(xiàn)軟件系統(tǒng)中類的對象現(xiàn)有的狀態(tài)、需要處理的轉(zhuǎn)移和轉(zhuǎn)移需要觸發(fā)的操作;第四,動態(tài)圖,在編程過程中,動態(tài)圖主要包括順序圖、活動圖以及合作圖這三種,主要用于體現(xiàn)對象應(yīng)用該類對象的過程;第五,用例圖及其規(guī)格說明,能夠體現(xiàn)出軟件系統(tǒng)的需求以及結(jié)果。

3.4測試與配置環(huán)節(jié)

當(dāng)軟件工程的系統(tǒng)編碼全部完成之后,技術(shù)人員需要進行系統(tǒng)的全面測試,保障軟件工程的質(zhì)量。具體而言,測試環(huán)節(jié)分為系統(tǒng)測試、單元測試、驗收測試以及集成測試這幾種。對于系統(tǒng)測試來說,技術(shù)人員可以應(yīng)用UML建模技術(shù)的用例圖,測試開發(fā)的軟件系統(tǒng)是否充分滿足了用例圖描述的需求;對于單元測試來說,技術(shù)人員可以應(yīng)用UML建模技術(shù)的類圖以及類的規(guī)格,對軟件系統(tǒng)中單獨的類或者成組的類進行測試;對于集成測試來說,技術(shù)人員可以應(yīng)用UML建模就似乎的組件圖以及合作圖,測試軟件系統(tǒng)中各個組件的合作狀況[3]。

4.軟件工程中的UML建模技術(shù)的應(yīng)用實例

本文主要將在線人才招聘系統(tǒng)的市場管理和信息管理作為實例分析對象,進行軟件工程中UML建模技術(shù)的應(yīng)用研究。4.1人才招聘系統(tǒng)的登錄界面設(shè)計對于人才招聘系統(tǒng)軟件而言,登錄界面的設(shè)計可以提高系統(tǒng)的管理水平。在進行登錄界面的設(shè)計時,技術(shù)人員可以應(yīng)用CustomLoginUI進行界面參數(shù)的傳遞,當(dāng)用戶輸入登錄信息并點擊確定按鈕之后,系統(tǒng)可以自動進行“sendMessage”,并應(yīng)用HTTP進行服務(wù)器請求,在接收到CustomLoginUI的合法回復(fù)之后,即為用戶登錄成功,可以應(yīng)用人才招聘系統(tǒng)進行相應(yīng)的操作。4.2人才招聘系統(tǒng)中用例圖的應(yīng)用分析第一,人才招聘系統(tǒng)的管理人員會通過管理功能設(shè)定系統(tǒng)的基本信息,比如,招聘的崗位、崗位的任職要求和崗位的薪酬待遇等內(nèi)容,招聘信息主要通過Web形式上傳到Internet上。第二,應(yīng)聘人員通過CustomLoginUI界面進行人才招聘系統(tǒng)的登錄操作,當(dāng)系統(tǒng)確認應(yīng)聘人員的身份之后,即可登錄系統(tǒng)。應(yīng)聘人員可以在招聘信息下面填寫個人信息,系統(tǒng)會將應(yīng)聘人員的個人信息上傳到在線人才管理系統(tǒng)中,個人信息也會通過Web形式上傳到Internet上。第三,招聘人員可以在系統(tǒng)中查看應(yīng)聘人員的個人信息,根據(jù)崗位的要求以及應(yīng)聘人員的履歷,決定是否邀請應(yīng)聘人員面試。需要邀請應(yīng)聘人員時,招聘人員可以通過系統(tǒng)進行E-mail的發(fā)送。與此同時,管理人員需要將應(yīng)聘人員的信息添加到人事檔案庫中,以數(shù)據(jù)文本的格式進行存儲。第四,當(dāng)招聘工作完成之后,管理人員需要將人才招聘系統(tǒng)關(guān)閉。在關(guān)閉的過程中,管理人員的決策可以看作是抽象角色,通過“fromUseCaseView”表示。管理人員實施的操作主要包括招聘活動的啟動與停止、招聘信息的管理、人事檔案與招聘信息的導(dǎo)出等。4.3人才招聘系統(tǒng)中類圖的應(yīng)用分析第一,類圖的選擇,技術(shù)人員需要根據(jù)人才資源系統(tǒng)的特點,通過同時得到類圖的方式,應(yīng)用stereotypeobject-entity、control、boundary等方法,確保角色可以有效應(yīng)用于對象的通訊過程中,還能夠保障序列圖和協(xié)作圖間的有效轉(zhuǎn)換。第二,組件設(shè)計,技術(shù)人員需要將上一個步驟得到的類圖進行實體映射,以此得到類圖表。具體的映射方法如下:首先,將人才招聘系統(tǒng)中的實體進行單獨的表的定義;然后,將實體表的繼承網(wǎng)絡(luò)結(jié)構(gòu)刪除,確保不同層次的實例具備一致的屬性;最后,將人才招聘系統(tǒng)中的子類文件狀態(tài)配置于相應(yīng)的表中,并在組件中建立數(shù)據(jù)庫,用于TaxDate等映射表的存儲。第三,組件圖的構(gòu)建,技術(shù)人員需要通過控制類組件進行組件圖的構(gòu)建,如果技術(shù)人員采用的編程語言為C++,可以將控制類組件存儲為(.h文件)或者(.ccp文件)。另外,對于源代碼文件,技術(shù)人員可以應(yīng)用包進行源代碼的分組,并通過關(guān)聯(lián)進行序列圖的類信息顯示。當(dāng)組件圖構(gòu)建完成之后,技術(shù)人員需要將能夠執(zhí)行的主程序(即.exe文件)以及java語境鏈接庫加入到組件圖中,實現(xiàn)人才招聘系統(tǒng)的開發(fā)[4]。

5.結(jié)論

綜上所述,UML建模技術(shù)可以提高軟件開發(fā)的效率和有效性,值得推廣應(yīng)用。通過對軟件工程中的UML建模技術(shù)分析可知,開發(fā)人員需要深入了解UML建模技術(shù)的各種視圖及應(yīng)用特點,在軟件工程的各個階段正確應(yīng)用視圖,充分發(fā)揮出UML建模技術(shù)的作用,提高軟件工程的質(zhì)量。希望本文可以為技術(shù)人員進行軟件開發(fā)提供幫助。

參考文獻

[1]陳冠元.軟件工程中的UML建模技術(shù)[J].電子技術(shù)與軟件工程,2018(05):47.

[2]劉傳會.基于UML2.0順序圖的高可信實時軟件建模技術(shù)研究[A].中國航空學(xué)會、中國航空研究院,2017,8.

[3]夏志龍.使用UML和Event-B構(gòu)建基于云平臺的應(yīng)用軟件模型[D].江蘇科技大學(xué),2016.

[4]于麗.基于UML的面向?qū)ο蠼<夹g(shù)研究與應(yīng)用[J].信息與電腦(理論版),2015(20):16-17.

作者:王蕊 單位:云南工程職業(yè)學(xué)院 

相關(guān)熱門標(biāo)簽