- 相關(guān)推薦
軟件工程中的UML建模技術(shù)的論文
【摘要】在軟件工程中,UML建模技術(shù)的應(yīng)用十分廣泛,具有可視化、定義良好以及功能強(qiáng)大等優(yōu)點(diǎn)。基于此,筆者從UML建模技術(shù)的概念和優(yōu)勢入手,對軟件工程中UML建模技術(shù)的應(yīng)用模式和應(yīng)用流程進(jìn)行了分析,主要介紹了用例圖、類圖、序列圖和協(xié)作圖在軟件工程中的應(yīng)用,并將人才招聘系統(tǒng)作為研究對象,闡述了UML建模技術(shù)的實(shí)踐應(yīng)用,以期為相關(guān)研究提供參考。
【關(guān)鍵詞】軟件工程;UML建模技術(shù);需求分析
前言
在進(jìn)行軟件的開發(fā)時(shí),技術(shù)人員大都會(huì)通過面對對象描述的方法進(jìn)行建模,該方法是將軟件系統(tǒng)的對象看做是構(gòu)建模塊。在進(jìn)行建模的過程中,UML建模技術(shù)可以創(chuàng)建系統(tǒng)的靜態(tài)結(jié)構(gòu)以及動(dòng)態(tài)行為,可以有效提高建模的效率和準(zhǔn)確性。因此,對于軟件工程中的UML建模技術(shù)研究具有一定的現(xiàn)實(shí)意義與理論指導(dǎo)價(jià)值。
1.UML建模技術(shù)概述
UML是一種規(guī)范定義、文檔化或者可視化的最標(biāo)準(zhǔn)的建模語言,可以應(yīng)用于軟件工程的各個(gè)階段。UML建模語言擁有統(tǒng)一的符號(hào)以及語義,可以將所有項(xiàng)目根植與一種建模語言中,并對這些項(xiàng)目中的所有概念進(jìn)行明晰的表示與定義,在很大程度上擴(kuò)大了系統(tǒng)的應(yīng)用范圍,使UML建模技術(shù)的應(yīng)用更為靈活。在UML中,主要包括圖、事物以及關(guān)系這三個(gè)基本構(gòu)造。具體而言,UML建模技術(shù)在軟件工程中的應(yīng)用主要有如下優(yōu)勢:第一,UML建模技術(shù)可以在系統(tǒng)模型中實(shí)現(xiàn)完全獨(dú)立,雖然UML建模技術(shù)會(huì)與其余建模工具進(jìn)行配合應(yīng)用,但是并不會(huì)與系統(tǒng)的開發(fā)過程不產(chǎn)生交集;第二,UML建模技術(shù)在軟件工程中的應(yīng)用是面向?qū)ο蟮模蚱屏藗鹘y(tǒng)建模語言的差異性,可以通過統(tǒng)一的模型元素進(jìn)行方法與圖形的表述;第三,UML建模技術(shù)可以捕捉軟件系統(tǒng)中的靜態(tài)行為信息與動(dòng)態(tài)行為信息,靜態(tài)行為信息主要是指軟件系統(tǒng)中對象,動(dòng)態(tài)行為信息主要是從時(shí)間角度和狀態(tài)角度對對象通訊的定義;第四,UML建模技術(shù)的和具體的實(shí)現(xiàn)沒有關(guān)系,適用于所有語言平臺(tái)或者工具平臺(tái),還能夠應(yīng)用于具有代碼生成功能的交互式可視化建模工具,該工具可以為UML建模技術(shù)提供多種編程語言代碼和程序構(gòu)筑模型[1]。
2.軟件工程中的UML建模技術(shù)應(yīng)用模式
在軟件工程中,UML建模技術(shù)主要通過視圖的應(yīng)用進(jìn)行軟件開發(fā),UML建模技術(shù)一共可以提供八種圖,實(shí)現(xiàn)軟件系統(tǒng)開發(fā)的可視化以及模型化,以此獲取軟件系統(tǒng)的主要資料,從而明確軟件系統(tǒng)的架構(gòu)與體系。本文主要對常用的四種圖進(jìn)行分析:第一,用例圖。在UML建模技術(shù)中,用例圖是最基本的圖。在軟件工程中,需求分析階段的重點(diǎn)在于需求獲取,需求獲取的重點(diǎn)在于系統(tǒng)模型的構(gòu)建,系統(tǒng)模型構(gòu)建的最佳方法就是用例圖。用例圖可以構(gòu)建的用例模型可以為系統(tǒng)軟件的開發(fā)奠定良好的基礎(chǔ)。第二,類圖。在UML建模技術(shù)中,類圖主要用于表示不同實(shí)體(包括人、數(shù)據(jù)或者事物等)間的相關(guān)關(guān)系。在軟件工程中,類圖能夠表示軟件系統(tǒng)的靜態(tài)結(jié)構(gòu),包括邏輯類圖和實(shí)現(xiàn)類圖這兩種。其中,邏輯類圖是指業(yè)務(wù)人員所說的事物種類,如保險(xiǎn)-住房抵押-信貸-利率等;實(shí)現(xiàn)類圖是指程序員負(fù)責(zé)的實(shí)體,但是并不會(huì)通過相同的屬性進(jìn)行描述,因?yàn)閷?shí)現(xiàn)類圖會(huì)進(jìn)行HashMap或者Vec-tor等事物的引用。第三,序列圖。在UML建模技術(shù)中,序列圖能夠主要用于具體用例流程的詳細(xì)定義,主要通過自描述進(jìn)行用例流程的定義,還能夠表示用例流程中不同對象的不同調(diào)用關(guān)系。在實(shí)際的應(yīng)用過程中,序列圖的繪制過程較為簡單,在橫跨圖的上部區(qū)域,不同的框代表每個(gè)類的對象,每個(gè)框中類的對象名稱和類的名稱使用空格/冒號(hào)/空格進(jìn)行分隔,比如,MyReportGenerator:ReportGenera-tor。如果其中一個(gè)類對象向另一個(gè)類對象進(jìn)行消息的發(fā)送,需要通過帶有指向接收性質(zhì)的連線來實(shí)現(xiàn),技術(shù)人員需要將消息/方法的名稱標(biāo)注于于連線上。如果發(fā)送的消息較為重要,技術(shù)人員需要繪制帶有指向發(fā)起性質(zhì)的虛線,并將返回值標(biāo)注于虛線上。第四,協(xié)作圖。在UML1.1版本的時(shí)候,協(xié)作圖被稱作Collabo-rationDiagram,翻譯為中文是協(xié)作圖;在UML2.0版本的時(shí)候,協(xié)作圖被稱作CommunicationDiagram,翻譯為中文是通訊圖。但不論哪一種翻譯方式,協(xié)作圖都可以看做是序列圖的全新表達(dá)方式。對于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)的機(jī)構(gòu)轉(zhuǎn)變?yōu)榇a,從而實(shí)現(xiàn)需求以及系統(tǒng)的可視化。一般來說,軟件開發(fā)過程包括需求分析、方案設(shè)計(jì)、方案實(shí)現(xiàn)、測試與配置等環(huán)節(jié)。
3.1需求分析環(huán)節(jié)
在軟件工程的需求分析階段,技術(shù)人員主要應(yīng)用UML建模技術(shù)中的用例圖,了解系統(tǒng)的所有需求,并對需求進(jìn)行相應(yīng)的描述。對于用例圖而言,技術(shù)人員通過事件的應(yīng)用實(shí)現(xiàn)用戶與系統(tǒng)間的交互作用,并在用例圖中表明用戶能夠?qū)崿F(xiàn)的目標(biāo),還能夠?qū)⒐δ芊治鲆约靶枨蠓治鲋邪南到y(tǒng)模塊,根據(jù)角色平均分配到不同用戶中,提高系統(tǒng)模型的清晰度。
3.2設(shè)計(jì)環(huán)節(jié)
在軟件工程的設(shè)計(jì)階段,技術(shù)人員需要全面考慮所有軟件開發(fā)技術(shù)的局限性,對需求分析階段的系統(tǒng)模型進(jìn)行進(jìn)一步的擴(kuò)展與細(xì)化。設(shè)計(jì)階段的目標(biāo)在于將系統(tǒng)模型轉(zhuǎn)變?yōu)榇a,對需求分析階段提取的系統(tǒng)屬性與操作進(jìn)行細(xì)化,并添加更多的類處理,比如,用戶接口、設(shè)備、數(shù)據(jù)庫以及通信等。一般來說,軟件工程的設(shè)計(jì)階段包括兩個(gè)部分,其一,結(jié)構(gòu)設(shè)計(jì),又被稱作高層設(shè)計(jì),主要任務(wù)是對包(即子系統(tǒng))進(jìn)行定義,主要定義的內(nèi)容為包與包之間的依賴性以及通信機(jī)制,進(jìn)一步實(shí)現(xiàn)結(jié)構(gòu)的清晰化與簡化,盡量減少各部分的依賴性,避免雙向依賴關(guān)系的構(gòu)建;其二,詳細(xì)設(shè)計(jì),這一部分主要是對包的細(xì)化,技術(shù)人員可以通過詳細(xì)設(shè)計(jì)了解所有類的清晰全面描述。設(shè)計(jì)階段中UML建模技術(shù)的應(yīng)用包括類圖和序列圖這兩種。首先,類圖的應(yīng)用,在軟件工程中,類圖屬于靜態(tài)視圖,可以通過以下兩種方式進(jìn)行定義:通過問題域的概念進(jìn)行定義、通過該類實(shí)際表示的內(nèi)涵進(jìn)行定義,技術(shù)人員需要根據(jù)系統(tǒng)需求分析以及系統(tǒng)用例進(jìn)行類圖的構(gòu)建;然后,序列圖的應(yīng)用,在軟件工程中,序列圖屬于動(dòng)態(tài)視圖,主要用于描述系統(tǒng)中各個(gè)對象的交互以及通訊,技術(shù)人員可以根據(jù)序列圖了解對象實(shí)現(xiàn)某種功能時(shí),是如何進(jìn)行序列消息的發(fā)送與接受。
3.3實(shí)現(xiàn)環(huán)節(jié)
在軟件工程中,實(shí)現(xiàn)環(huán)節(jié)就是指構(gòu)造或者實(shí)現(xiàn)環(huán)節(jié),主要工作內(nèi)容為類的編程。一般來說,技術(shù)人員會(huì)將C#語言作為軟件系統(tǒng)的開發(fā)環(huán)境,因?yàn)镃#語言在邏輯試圖轉(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ā)的操作;第四,動(dòng)態(tài)圖,在編程過程中,動(dòng)態(tài)圖主要包括順序圖、活動(dòng)圖以及合作圖這三種,主要用于體現(xiàn)對象應(yīng)用該類對象的過程;第五,用例圖及其規(guī)格說明,能夠體現(xiàn)出軟件系統(tǒng)的需求以及結(jié)果。
3.4測試與配置環(huán)節(jié)
當(dāng)軟件工程的系統(tǒng)編碼全部完成之后,技術(shù)人員需要進(jìn)行系統(tǒng)的全面測試,保障軟件工程的質(zhì)量。具體而言,測試環(huán)節(jié)分為系統(tǒng)測試、單元測試、驗(yàn)收測試以及集成測試這幾種。對于系統(tǒng)測試來說,技術(shù)人員可以應(yīng)用UML建模技術(shù)的用例圖,測試開發(fā)的軟件系統(tǒng)是否充分滿足了用例圖描述的需求;對于單元測試來說,技術(shù)人員可以應(yīng)用UML建模技術(shù)的類圖以及類的規(guī)格,對軟件系統(tǒng)中單獨(dú)的類或者成組的類進(jìn)行測試;對于集成測試來說,技術(shù)人員可以應(yīng)用UML建模就似乎的組件圖以及合作圖,測試軟件系統(tǒng)中各個(gè)組件的合作狀況[3]。
4.軟件工程中的UML建模技術(shù)的應(yīng)用實(shí)例
本文主要將在線人才招聘系統(tǒng)的市場管理和信息管理作為實(shí)例分析對象,進(jìn)行軟件工程中UML建模技術(shù)的應(yīng)用研究。4.1人才招聘系統(tǒng)的登錄界面設(shè)計(jì)對于人才招聘系統(tǒng)軟件而言,登錄界面的設(shè)計(jì)可以提高系統(tǒng)的管理水平。在進(jìn)行登錄界面的設(shè)計(jì)時(shí),技術(shù)人員可以應(yīng)用CustomLoginUI進(jìn)行界面參數(shù)的傳遞,當(dāng)用戶輸入登錄信息并點(diǎn)擊確定按鈕之后,系統(tǒng)可以自動(dòng)進(jìn)行“sendMessage”,并應(yīng)用HTTP進(jìn)行服務(wù)器請求,在接收到CustomLoginUI的合法回復(fù)之后,即為用戶登錄成功,可以應(yīng)用人才招聘系統(tǒng)進(jìn)行相應(yīng)的操作。4.2人才招聘系統(tǒng)中用例圖的應(yīng)用分析第一,人才招聘系統(tǒng)的管理人員會(huì)通過管理功能設(shè)定系統(tǒng)的基本信息,比如,招聘的崗位、崗位的任職要求和崗位的薪酬待遇等內(nèi)容,招聘信息主要通過Web形式上傳到Internet上。第二,應(yīng)聘人員通過CustomLoginUI界面進(jìn)行人才招聘系統(tǒng)的登錄操作,當(dāng)系統(tǒng)確認(rèn)應(yīng)聘人員的身份之后,即可登錄系統(tǒng)。應(yīng)聘人員可以在招聘信息下面填寫個(gè)人信息,系統(tǒng)會(huì)將應(yīng)聘人員的個(gè)人信息上傳到在線人才管理系統(tǒng)中,個(gè)人信息也會(huì)通過Web形式上傳到Internet上。第三,招聘人員可以在系統(tǒng)中查看應(yīng)聘人員的個(gè)人信息,根據(jù)崗位的要求以及應(yīng)聘人員的履歷,決定是否邀請應(yīng)聘人員面試。需要邀請應(yīng)聘人員時(shí),招聘人員可以通過系統(tǒng)進(jìn)行E-mail的發(fā)送。與此同時(shí),管理人員需要將應(yīng)聘人員的信息添加到人事檔案庫中,以數(shù)據(jù)文本的格式進(jìn)行存儲(chǔ)。第四,當(dāng)招聘工作完成之后,管理人員需要將人才招聘系統(tǒng)關(guān)閉。在關(guān)閉的過程中,管理人員的決策可以看作是抽象角色,通過“fromUseCaseView”表示。管理人員實(shí)施的操作主要包括招聘活動(dòng)的啟動(dòng)與停止、招聘信息的管理、人事檔案與招聘信息的導(dǎo)出等。4.3人才招聘系統(tǒng)中類圖的應(yīng)用分析第一,類圖的選擇,技術(shù)人員需要根據(jù)人才資源系統(tǒng)的特點(diǎn),通過同時(shí)得到類圖的方式,應(yīng)用stereotypeobject-entity、control、boundary等方法,確保角色可以有效應(yīng)用于對象的通訊過程中,還能夠保障序列圖和協(xié)作圖間的有效轉(zhuǎn)換。第二,組件設(shè)計(jì),技術(shù)人員需要將上一個(gè)步驟得到的類圖進(jìn)行實(shí)體映射,以此得到類圖表。具體的映射方法如下:首先,將人才招聘系統(tǒng)中的實(shí)體進(jìn)行單獨(dú)的表的定義;然后,將實(shí)體表的繼承網(wǎng)絡(luò)結(jié)構(gòu)刪除,確保不同層次的實(shí)例具備一致的屬性;最后,將人才招聘系統(tǒng)中的子類文件狀態(tài)配置于相應(yīng)的表中,并在組件中建立數(shù)據(jù)庫,用于TaxDate等映射表的存儲(chǔ)。第三,組件圖的構(gòu)建,技術(shù)人員需要通過控制類組件進(jìn)行組件圖的構(gòu)建,如果技術(shù)人員采用的編程語言為C++,可以將控制類組件存儲(chǔ)為(.h文件)或者(.ccp文件)。另外,對于源代碼文件,技術(shù)人員可以應(yīng)用包進(jìn)行源代碼的分組,并通過關(guān)聯(lián)進(jìn)行序列圖的類信息顯示。當(dāng)組件圖構(gòu)建完成之后,技術(shù)人員需要將能夠執(zhí)行的主程序(即.exe文件)以及java語境鏈接庫加入到組件圖中,實(shí)現(xiàn)人才招聘系統(tǒng)的開發(fā)[4]。
5.結(jié)論
綜上所述,UML建模技術(shù)可以提高軟件開發(fā)的效率和有效性,值得推廣應(yīng)用。通過對軟件工程中的UML建模技術(shù)分析可知,開發(fā)人員需要深入了解UML建模技術(shù)的各種視圖及應(yīng)用特點(diǎn),在軟件工程的各個(gè)階段正確應(yīng)用視圖,充分發(fā)揮出UML建模技術(shù)的作用,提高軟件工程的質(zhì)量。希望本文可以為技術(shù)人員進(jìn)行軟件開發(fā)提供幫助。
參考文獻(xiàn)
[1]陳冠元.軟件工程中的UML建模技術(shù)[J].電子技術(shù)與軟件工程,2018(05):47.
[2]劉傳會(huì).基于UML2.0順序圖的高可信實(shí)時(shí)軟件建模技術(shù)研究[A].中國航空學(xué)會(huì)、中國航空研究院,2017,8.
[3]夏志龍.使用UML和Event-B構(gòu)建基于云平臺(tái)的應(yīng)用軟件模型[D].江蘇科技大學(xué),2016.
[4]于麗.基于UML的面向?qū)ο蠼<夹g(shù)研究與應(yīng)用[J].信息與電腦(理論版),2015(20):16-17.
【軟件工程中的UML建模技術(shù)的論文】相關(guān)文章:
著色Petri網(wǎng)在UML建模中的應(yīng)用04-29
UML在航天器姿態(tài)與軌道控制應(yīng)用軟件需求建模中的應(yīng)用04-27
基于擴(kuò)展的UML活動(dòng)圖的質(zhì)量工作流建模04-26
數(shù)學(xué)建模論文07-02
基于UML和HLA的裝備維修保障仿真系統(tǒng)建模04-30
數(shù)學(xué)建模論文模板07-22
數(shù)學(xué)建模論文模板01-25
多學(xué)科設(shè)計(jì)優(yōu)化中的設(shè)計(jì)過程建模及重構(gòu)技術(shù)04-29