UML在軟件工程中的應(yīng)用-論文_第1頁
UML在軟件工程中的應(yīng)用-論文_第2頁
UML在軟件工程中的應(yīng)用-論文_第3頁
UML在軟件工程中的應(yīng)用-論文_第4頁
UML在軟件工程中的應(yīng)用-論文_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

FILENAME學(xué)年論文模版……..學(xué)年論文PAGE7-UML在軟件工程中的應(yīng)用作者姓名:…….作者單位:……….郵編:……….E-mail:………@摘要:統(tǒng)一建模語言(UnifiedModelingLanguage)是業(yè)務(wù)、應(yīng)用和系統(tǒng)架構(gòu)的標(biāo)準(zhǔn)可視化建模語言。文章以UML的9種圖為重點(diǎn),簡要介紹了UML的基本概念、歷史及其內(nèi)容。通過對網(wǎng)絡(luò)教學(xué)系統(tǒng)的分析與設(shè)計闡述UML在軟件工程中的應(yīng)用和地位,建立一種當(dāng)前的軟件工程開發(fā)方法與UML的映射關(guān)系。關(guān)鍵詞:UML網(wǎng)絡(luò)教學(xué)系統(tǒng)分析與設(shè)計面向?qū)ο筌浖こ?.引言早期的軟件開發(fā)沒有系統(tǒng)的方法可以遵循.開發(fā)者只是存大腦中構(gòu)思一個大體的流程,除了源代碼外沒有任何文檔隨著軟件規(guī)模的不斷擴(kuò)大,這種程序設(shè)計方法的弊端逐漸顯現(xiàn),出現(xiàn)了所謂的“軟件危機(jī)”。1968年,北大西洋公約組織的科學(xué)在德國召開了一次學(xué)術(shù)會議.提出“軟件工程”的概念。在“軟件工程”的發(fā)展史上,面向?qū)ο蠹夹g(shù)無疑是最大的功臣。隨著面向?qū)ο蠹夹g(shù)的提出.誕生了各種各樣的建模語言,雖然不同的建模語言大多雷同,但存在著細(xì)微的差別,極大的妨礙了用戶之問的交流。結(jié)束這種局面的正是UMI。UML融合了多種優(yōu)秀的面向?qū)ο蠼7椒ǎ约岸喾N得到認(rèn)可的軟件工程方法,建立了一個標(biāo)準(zhǔn)的,統(tǒng)一的建語言,成為當(dāng)今軟件系統(tǒng)設(shè)計中建模的主要工具。軟件工程進(jìn)入了UML時代。本文對UML及其及各種框圖進(jìn)行詳細(xì)分析。并通過一個實(shí)際的系統(tǒng)闡述其在軟件開發(fā)中的應(yīng)用。2.UML(UnifiedModelingLanguage)的簡介眾所周知,面向?qū)ο蟮姆治龊驮O(shè)計是面向?qū)ο筌浖こ谭椒ǖ闹匾A(chǔ),OOA與OOD采用一致的表示法是面向?qū)ο蟮姆治雠c設(shè)計優(yōu)于傳統(tǒng)的軟件工程方法的重要因素之一。統(tǒng)一建模語言UML是一種定義良好、易于表達(dá)、功能強(qiáng)大、適用面廣的第三代面向?qū)ο蟮慕UZ言。它結(jié)合了著名的GradyBooch、JamesRumbaugh以及IvarJacobson各自方法的優(yōu)點(diǎn)和各自擅長的領(lǐng)域,同時摒棄了各自使用較少而用法非常復(fù)雜、易于出錯的部分。它不僅支持面向?qū)ο蟮姆治雠c設(shè)計,而且支持從需求分析與設(shè)計以及實(shí)現(xiàn)的軟件開發(fā)的全過程。UML獲得了工業(yè)界、科技界和應(yīng)用界的廣泛支持,已成為可視化建模語言事實(shí)上的工業(yè)標(biāo)準(zhǔn)。UML代表了面向?qū)ο蠓椒ǖ能浖_發(fā)技術(shù)的發(fā)展方向,具有巨大的市場前景,也有重大的經(jīng)濟(jì)價值和國防價值。2.1UML的特點(diǎn)2.1.1統(tǒng)一標(biāo)準(zhǔn)UML融合了當(dāng)前一些流行的面向?qū)ο箝_發(fā)方法的主要概念和技術(shù),成為一種面對象的標(biāo)準(zhǔn)化的統(tǒng)一建模語言敏捷書了以往各種方法的建模語言的不一致和差別。UML已經(jīng)成為對象管理組織(OMG)工業(yè)化標(biāo)準(zhǔn)組織的正式標(biāo)準(zhǔn)。2.1.2面向?qū)ο骍ML支持面向?qū)ο蠹夹g(shù)的主要概念。UML提供了一批基本的模型元素的表示圖形和辦法,能簡潔明了地表達(dá)面向?qū)ο蟮母鞣N概念和模型元素。2.1.3可視化、表示能力強(qiáng)大UML是一種圖形化語言,系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型都能用UML模型圖形清晰表示。UML不只是一堆圖形符號,在每一個UML的圖形表示符號背后,都有良好定義的語義。UML還可以處理與軟件的說明和文檔有關(guān)的問題,包括需求說明、體系結(jié)構(gòu)、設(shè)計、源代碼、項(xiàng)目計劃、測試、原型、發(fā)布等。UML提供了語言的擴(kuò)展機(jī)制,用戶可以根據(jù)需要增加定義自己的構(gòu)造型、標(biāo)記值和約束等。2.1.4獨(dú)立于過程UML是系統(tǒng)建模語言,獨(dú)立于開發(fā)過程。雖然UML與Rational與統(tǒng)一過程配合使用,將發(fā)揮強(qiáng)大效用,但UML也可以在其他面向?qū)ο蟮拈_發(fā)過程中使用,甚至在常規(guī)的軟件生命周期方法中使用。2.1.5容易掌握使用UML的概念明確,建模表示法簡潔明了,圖形結(jié)構(gòu)清晰,容易掌握使用。2.2UML的基本內(nèi)容UML的最大用途是用圖形來描述真實(shí)世界各個對象。UML定義了一系列圖形工具,以對現(xiàn)實(shí)世界進(jìn)行面向?qū)ο蠼!?.2.1用案視圖(UseCaseView)用案視圖關(guān)注的是系統(tǒng)功能高層次的形狀,而不關(guān)注系統(tǒng)的具體實(shí)現(xiàn)方法。它著重從用戶的角度描述系統(tǒng)功能,適用于系統(tǒng)的需求分析階段,是系統(tǒng)的核心,驅(qū)動著其他模型的開發(fā).一個用案(UseCase)就是用戶由于某種外部事件而與計算機(jī)之間進(jìn)行的一次交互作用。在用案視圖下可以建立用案圖、活動圖等。(1)用案圖在建立系統(tǒng)需求模型時,可以用用案圖來描述系統(tǒng)的功能.用案分兩種類型,一種是從用戶目標(biāo)來分析,另一種是從系統(tǒng)交互功能來分析.用案圖又分為業(yè)務(wù)用案和系統(tǒng)用案,兩者的側(cè)重點(diǎn)有所不同,系統(tǒng)用案是與軟件的交互,側(cè)重于系統(tǒng)內(nèi)部,是針對于“計算機(jī)應(yīng)用系統(tǒng)”而言的用案;而業(yè)務(wù)用案討論的是一種業(yè)務(wù)如何響應(yīng)客戶或事件,是針對需開發(fā)、使用系統(tǒng)的機(jī)構(gòu).用案之間存在三種關(guān)系:角色(Actors)與用案之間的連接,用案之間的使用(Uses)和擴(kuò)展(Extends)關(guān)系。(2)活動圖活動圖是用于描述工作流程和包含并行處理的行為模型,用于實(shí)現(xiàn)對用案功能的分析,用來描述一個用例的處理流程或是某種交互流程。它直觀地表示了對象及用案中的活動序列,列出了客觀世界中最基本、符合客觀規(guī)律的順序,而根本不考慮在機(jī)器世界中如何實(shí)現(xiàn)的問題.這也是活動圖與程序流程圖關(guān)鍵的區(qū)別。在軟件設(shè)計的初始階段,常常用用案圖設(shè)計系統(tǒng)的功能模型,用活動圖來分析用案,并對每個用案進(jìn)行需求說明,以便更詳細(xì)地描述該用案與角色的交互。用案視圖映射于軟件工程的系統(tǒng)需求模型的建立,以可視化的方式描述系統(tǒng)需求,避免了文字描述的模糊性,為建立正確的系統(tǒng)提供了保證。2.2.2邏輯視圖(LogicalView)在系統(tǒng)分析設(shè)計階段,主要通過邏輯視圖進(jìn)行建模,包括對象結(jié)構(gòu)模型和動態(tài)模型,其中對象結(jié)構(gòu)模型通過類圖或?qū)ο髨D來表達(dá),體現(xiàn)了系統(tǒng)中對象間的靜態(tài)關(guān)系(一般化、聚集和關(guān)聯(lián)),而對象的動態(tài)模型則通過順序圖、協(xié)作圖、狀態(tài)圖和活動圖來表達(dá)。(1)類圖、對象圖類圖分為三個層次:概念層、說明層和實(shí)現(xiàn)層。類圖主要關(guān)注的是系統(tǒng)的層次和結(jié)構(gòu),包括對象、接口、屬性和關(guān)系,顯示系統(tǒng)中類與類之間的交互關(guān)系,屬于系統(tǒng)的靜態(tài)模型結(jié)構(gòu).對象圖是類圖的一種變形,是對類圖的一種實(shí)例化.類圖技術(shù)是面向?qū)ο蟮暮诵募夹g(shù),通過類圖或?qū)ο髨D將用例的實(shí)現(xiàn)具體到每個類中,完成設(shè)計細(xì)化的過程。(2)狀態(tài)圖狀態(tài)圖是對類圖的一種補(bǔ)充描述,客觀地展現(xiàn)此類對象所有可能的狀態(tài),以及某些時間發(fā)生時其狀態(tài)的轉(zhuǎn)移情況。(3)順序圖、協(xié)作圖由順序圖和協(xié)作圖組成的交互圖,用于描述對象之間的動態(tài)合作關(guān)系以及合作過程中的行為次序。其中,順序圖著重體現(xiàn)對象間消息傳遞的時間順序,而協(xié)作圖著重于哪些對象間有消息傳遞,表達(dá)了對象之間的靜態(tài)連接關(guān)系。應(yīng)該提到的是包結(jié)構(gòu)。包是一種分組機(jī)制,可以用來組織任何模型元素,可以利用包將大系統(tǒng)分解成若干子系統(tǒng),也可以用包將許多類組織起來,集合到一個更高層次的“包”單元中。在UML中,包圖是用來顯示類的包以及這些包之間的依賴關(guān)系。2.2.3構(gòu)件視圖(ComponentView)在Rose中,構(gòu)件視圖下可以建立構(gòu)件圖(ComponentDiagram)。建立了對象的靜態(tài)模型和動態(tài)模型后,對于系統(tǒng)的具體實(shí)現(xiàn),可以用構(gòu)件來表示其模型.構(gòu)件是系統(tǒng)中一個物理的、可替換的、并提供一組接口實(shí)現(xiàn)的部分。一個構(gòu)件代表一個系統(tǒng)中的一塊物理實(shí)現(xiàn),包括軟件代碼(源代碼、二進(jìn)制代碼或可執(zhí)行代碼)或腳本(Script)、命令文件等。在構(gòu)件視圖中設(shè)計構(gòu)件,將類圖中的類分配到相應(yīng)的構(gòu)件中,說明軟件的物理組成模塊、進(jìn)程、動態(tài)連接庫、執(zhí)行代碼等是由哪些類構(gòu)成的,并建立構(gòu)件圖,確定構(gòu)件之間的關(guān)系。構(gòu)件圖顯示的是組件之間的依賴關(guān)系和組織結(jié)構(gòu)。2.2.4部署視圖(DeploymentView)部署視圖下的部署圖(DeploymentDiagram)雖然是在詳細(xì)設(shè)計的最后進(jìn)行,但實(shí)際開發(fā)中,系統(tǒng)的硬件拓?fù)浣Y(jié)構(gòu)以及與軟件的關(guān)系,在系統(tǒng)設(shè)計開始時是就應(yīng)該建立。部署圖的作用是進(jìn)一步說明處理器與構(gòu)件圖中定義的進(jìn)程的關(guān)系,它顯示的是組件和類的實(shí)例在各個計算結(jié)點(diǎn)上的分布。總之,Rose中的前七種框圖主要用于軟件建模的分析與設(shè)計,而構(gòu)件圖和部署圖是在對系統(tǒng)軟硬件的配置關(guān)系和依賴關(guān)系宏觀的、物理的描述,在系統(tǒng)分析完成時,也就隨之形成了。3.網(wǎng)絡(luò)教學(xué)系統(tǒng)的分析與設(shè)計3.1功能需求分析系統(tǒng)的功能需求包括以下幾個方面:(1)學(xué)生可以登錄網(wǎng)站瀏覽信息、查找信息和下載文件。(2)教師可以登錄網(wǎng)站輸入課程簡介、上傳課件文件、發(fā)布消息、修改和更新消息。(3)系統(tǒng)管理員可以對頁面維護(hù)以及批準(zhǔn)用戶的注冊申請。滿足上述需求的系統(tǒng)主要包括三個模塊:數(shù)據(jù)庫管理模塊、基本業(yè)務(wù)模塊和信息瀏覽詢模塊。數(shù)據(jù)庫管理模塊包括以下部分:(1)教師信息管理。(2)課程簡介信息管理。(3)文件上傳信息管理?;緲I(yè)務(wù)模塊包括以下部分:(1)文件上傳。(2)文件下載。(3)消息發(fā)布。(4)頁面維護(hù)。信息瀏覽查詢模塊包括以下部分:(1)網(wǎng)頁信息瀏覽。(2)文件信息搜索。3.2系統(tǒng)的用例圖創(chuàng)建用例圖之前首先需要確定參與者。在網(wǎng)絡(luò)教學(xué)系統(tǒng)中,需要學(xué)生和教師的參與。學(xué)生可以瀏覽課程簡介、教學(xué)計劃、學(xué)習(xí)方法等教師發(fā)布的文章.并可以根據(jù)關(guān)鍵字查詢文章。此外,學(xué)生還可以從網(wǎng)站上下載課件。教師可以發(fā)布學(xué)習(xí)方法、課程重點(diǎn)等和教學(xué)相關(guān)的文件.以及和課程相關(guān)的通知等,還可以上傳課件。本系統(tǒng)用例如見圖l。3.3系統(tǒng)的類圖通過分析可以得出系統(tǒng)的類圖及它們之間的關(guān)系見圖2。3.4協(xié)作圖針對一些對系統(tǒng)來說比較關(guān)鍵的用例建立協(xié)作圖,這里以“用戶登錄”為例,所建立的協(xié)作圖如圖3。4.UML在現(xiàn)代軟件工程中的重要作用使用UML進(jìn)行建模過程是:首先從功能需求出發(fā)建立用案模型,得到系統(tǒng)的功能;其次對用案模型和功能需求進(jìn)行分析得到系統(tǒng)的整個結(jié)構(gòu),即建立靜態(tài)模型;然后將整個系統(tǒng)要完成的功能在類之間進(jìn)行分配,得到各個對象的責(zé)任,即類的操作;再建立系統(tǒng)的動態(tài)模型,描述各個對象是如何完成這些功能的;最后是檢查模型之間的一致性.實(shí)際上,UML作用域不只限于支持面向?qū)ο蟮姆治雠c設(shè)計,還支持從需求分析開始的軟件開發(fā)的全過程,從需求分析到系統(tǒng)完成之后的測試,都可以有相應(yīng)的具體方案與之對應(yīng)。由于UML建模過程具有正向功能和反向功能的特性,可以實(shí)現(xiàn)模型與代碼之間的相互轉(zhuǎn)化;當(dāng)完成一次原型系統(tǒng)的開發(fā)后,如果對原型系統(tǒng)不滿意,可以通過程序代碼返回分析設(shè)計階段,進(jìn)行修改和調(diào)整,快速實(shí)現(xiàn)模型的再應(yīng)用,有利于軟件的復(fù)用與逆向工程。歸納地說,UML的建模過程為:初始階段→細(xì)化階段→構(gòu)造階段→移交階段,它與軟件工程的生存期可以有如圖4的映射關(guān)系。圖4軟件生存期與UML的映射關(guān)系5.UML的應(yīng)用領(lǐng)域及支持環(huán)境UML的一個目標(biāo)是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng),具有很寬的應(yīng)用領(lǐng)域,可以對任何具有靜態(tài)結(jié)構(gòu)和動態(tài)行為的統(tǒng)進(jìn)行建模。其中最常用的是對各類軟件系統(tǒng)的建模,從應(yīng)用系統(tǒng)到計算機(jī)系統(tǒng)支持軟件,從一般的企業(yè)信息管理系統(tǒng)到基于Web的分布式用系統(tǒng),甚至實(shí)時系統(tǒng),但它還可以用于描述不帶任何軟件的機(jī)械系統(tǒng)、一個企業(yè)的機(jī)構(gòu)或企業(yè)過程等。UML適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述到系統(tǒng)完成后的測試。UML的另一個目標(biāo)是對高層的開發(fā)概念。比如通過協(xié)作、框架、模式構(gòu)件提供支持,并能通過抽象將好的設(shè)計思想集成UML中使得系統(tǒng)開發(fā)更加高效。UML技術(shù)代表了面向?qū)ο蠓椒ǖ能浖_發(fā)技術(shù)的發(fā)展方向。目前已有多種支持UML的建模工具,美國Rational公司的RationalRose就是全面支持UML建模思想的工具之一。RationalRose支持面向?qū)ο蟮南到y(tǒng)分析與設(shè)計模型,它提供的創(chuàng)建模型圖的功能可以創(chuàng)建UML的9種圖形;RationalRose能夠把模型與實(shí)際應(yīng)用緊密結(jié)合起來;它支持雙向工程,即通過模型與代碼之間的映射,一方面直接為不同的軟件開發(fā)環(huán)境生成代碼框架,另一方面確保代碼改進(jìn)時模型隨之更新。RationalRose可與多種開發(fā)環(huán)境無縫集成,目前支持的開發(fā)語言包括VisualBasic、Java、PowerBuilder、C++、Ada等。它還支持關(guān)系型數(shù)據(jù)庫模型的生成,其生成的分析和設(shè)計結(jié)果用于數(shù)據(jù)庫建模工具生成邏輯模型和概念模型。6.結(jié)束語UML是一種優(yōu)秀的建模語言,它適用于大型的、復(fù)雜而需求不明確的應(yīng)用系統(tǒng),借助UML開發(fā)工具,根據(jù)軟件工程設(shè)計原則,對系統(tǒng)進(jìn)行快速準(zhǔn)確的分析和設(shè)計,并擴(kuò)展到測試與維護(hù)階段,解決了長久以來困擾軟件工程師進(jìn)行系統(tǒng)性地開發(fā)軟件的問題。UML融合當(dāng)前一些流行的面向?qū)ο箝_發(fā)方法的主要概念和技術(shù),成為一種面向?qū)ο蟮臉?biāo)準(zhǔn)的建模語言.采用圖形來描述系統(tǒng)的視圖易于理解,為用戶和開發(fā)人員之間起到了橋梁作用,便于程序員理解用戶的需求。本文通過實(shí)例,闡述了UML在網(wǎng)絡(luò)教學(xué)系統(tǒng)中的應(yīng)用,從中可以體會到使用UML開發(fā)應(yīng)用系統(tǒng)的方法和過程,對開發(fā)管理系統(tǒng)有一定的指導(dǎo)作用。但是,由于UML在形成規(guī)范的過程中不得不照顧多種方法流派的觀點(diǎn)和多家公司的利益,因而在語言體系結(jié)構(gòu)、語義等方面仍存在理論缺陷,并且由于它過于龐大和復(fù)雜,用戶很難全面、熟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論