深入剖析UML軟件開發(fā)的應(yīng)用
本節(jié)向大家介紹一下UML軟件開發(fā)的應(yīng)用,主要包括UML及其框圖,網(wǎng)絡(luò)教學(xué)系統(tǒng)的分析與設(shè)計(jì)等內(nèi)容,相信通過本節(jié)的介紹你對UML軟件開發(fā)的應(yīng)用一定會(huì)有所了解。
UML軟件開發(fā)的應(yīng)用
1引言
早期的軟件開發(fā)沒有系統(tǒng)的方法可以遵循,開發(fā)者只是在大腦中構(gòu)思一個(gè)大體的流程,除了源代碼外沒有任何文檔。隨著軟件規(guī)模的不斷擴(kuò)大,這種程序設(shè)計(jì)方法的弊端逐漸顯現(xiàn),出現(xiàn)了所謂的“軟件危機(jī)”。1968年,北大西洋公約組織的科學(xué)在德國召開了一次國際學(xué)術(shù)會(huì)議,提出了“軟件工程”的概念。在“軟件工程”的發(fā)展史上,面向?qū)ο蠹夹g(shù)無疑是最大的功臣。隨著面向?qū)ο蠹夹g(shù)的提出,誕生了各種各樣的建模語言,雖然不同的建模語言大多雷同,但存在著細(xì)微的差別,極大的妨礙了用戶之間的交流。結(jié)束這種局面的正是UML,UML博采眾長,建立了一個(gè)標(biāo)準(zhǔn)的,統(tǒng)一的建語言。本文對UML及其及各種框圖進(jìn)行詳細(xì)分析,并通過一個(gè)實(shí)際的系統(tǒng)闡述其在軟件開發(fā)中的應(yīng)用。
2UML及其框圖
UML(UnifiedModelingLanguage),是一種面向?qū)ο蟮慕UZ言。它的主要作用是幫助用戶對軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒?,它可以描述這個(gè)軟件開發(fā)過程從需求分析直到實(shí)現(xiàn)和測試的全過程。UML不是程序設(shè)計(jì)語言,而是建模語言;UML不是工具也不是知識庫的規(guī)格說明,而是一種語言規(guī)格說明,是一種表示的標(biāo)準(zhǔn);UML不是過程和方法,但是允許任何一種過程和方法使用它。UML的目標(biāo)是以面向?qū)ο蟮膱D的方式來描述任何類型的系統(tǒng)。其中最常用的是建立軟件系的模型。但它同樣可以用于描述非軟件領(lǐng)域的系統(tǒng),如企業(yè)機(jī)構(gòu)、業(yè)務(wù)過程、機(jī)械系統(tǒng)等。
UML軟件開發(fā)共有9種圖形,下面分別進(jìn)行介紹。
1)用例圖(UseCaseDiagram):顯示多個(gè)外部參與者以及他們與系統(tǒng)提供的用例之間的連接。用例圖的用途是列出系統(tǒng)中的用例和參與者,并顯示它們之間的對應(yīng)關(guān)系。
2)類圖(ClassDiagram):類圖表示不同的實(shí)體(人、事物和數(shù)據(jù))如何彼此相關(guān),換句話說,它顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu)。
3)對象圖(ObjectDiagram):類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識。不同點(diǎn)是對象圖只顯示類的多個(gè)對象實(shí)例而非實(shí)際的類。對象圖有生命周期,只能在系統(tǒng)某個(gè)時(shí)間段存在。
4)狀態(tài)圖(StateDiagram):狀態(tài)圖表示某個(gè)類所處的不同狀態(tài)和該類的狀態(tài)轉(zhuǎn)換信息。狀態(tài)的變化稱之為轉(zhuǎn)換。
5)時(shí)序圖(SequenceDiagram):顯示多個(gè)對象之間的動(dòng)態(tài)協(xié)作,重點(diǎn)是顯示對象之間發(fā)送消息的時(shí)間順序。
6)協(xié)作圖(CollaborationDiagram):使用圖表或網(wǎng)格展示對象之間的交互,著眼點(diǎn)在于對象之間的協(xié)作關(guān)系。
7)活動(dòng)圖(ActivityDiagram):是狀態(tài)圖的一個(gè)變體,用來描述執(zhí)行算法的工作流程中涉及的活動(dòng)。
8)組件圖(ComponentDiagram):組件圖提供系統(tǒng)的物理視圖。它的用途是顯示系統(tǒng)中的軟件對其他軟件組件(例如,庫函數(shù))的依賴關(guān)系。
9)配置圖(DeploymentDiagram):用于顯示系統(tǒng)中的硬件和軟件的物理結(jié)構(gòu)。
3網(wǎng)絡(luò)教學(xué)系統(tǒng)的分析與設(shè)計(jì)
3.1功能需求分析
UML軟件開發(fā)中系統(tǒng)的功能需求包括以下幾個(gè)方面:
1)學(xué)生可以登錄網(wǎng)站瀏覽信息、查找信息和下載文件。
2)教師可以登錄網(wǎng)站輸入課程簡介、上傳課件文件、發(fā)布消息、修改和更新消息。
3)系統(tǒng)管理員可以對頁面維護(hù)以及批準(zhǔn)用戶的注冊申請。
滿足上述需求的系統(tǒng)主要包括三個(gè)模塊:數(shù)據(jù)庫管理模塊、基本業(yè)務(wù)模塊和信息瀏覽查詢模塊。
數(shù)據(jù)庫管理模塊包括以下部分:
1)教師信息管理。
2)課程簡介信息管理。
3)文件上傳信息管理。
基本業(yè)務(wù)模塊包括以下部分:
1)文件上傳。
2)文件下載。
3)消息發(fā)布。
4)頁面維護(hù)。
信息瀏覽查詢模塊包括以下部分:
1)網(wǎng)頁信息瀏覽。
2)文件信息搜索。
3.2系統(tǒng)的用例圖
UML軟件開發(fā)中創(chuàng)建用例圖之前首先需要確定參與者。在網(wǎng)絡(luò)教學(xué)系統(tǒng)中,需要學(xué)生和教師的參與。學(xué)生可以瀏覽課程簡介、教學(xué)計(jì)劃、學(xué)習(xí)方法等教師發(fā)布的文章,并可以根據(jù)關(guān)鍵字查詢文章。此外,學(xué)生還可以從網(wǎng)站上下載課件。教師可以發(fā)布學(xué)習(xí)方法、課程重點(diǎn)等和教學(xué)相關(guān)的文件,以及和課程相關(guān)的通知等,還可以上傳課件。
3.3系統(tǒng)的類圖
通過分析可以得出系統(tǒng)的類圖及它們之間的關(guān)系見圖2。
3.4協(xié)作圖
針對一些對系統(tǒng)來說比較關(guān)鍵的用例建立協(xié)作圖,這里以“用戶登錄”為例,所建立的協(xié)作圖如圖3。
4結(jié)束結(jié)
UML融合當(dāng)前一些流行的面向?qū)ο箝_發(fā)方法的主要概念和技術(shù),成為一種面向?qū)ο蟮臉?biāo)準(zhǔn)的建模語言,采用圖形來描述系統(tǒng)的視圖易于理解,為用戶和開發(fā)人員之間起到了橋梁作用,便于程序員理解用戶的需求。本文通過實(shí)例,闡述了UML在網(wǎng)絡(luò)教學(xué)系統(tǒng)中的應(yīng)用,從中可以體會(huì)到使用UML開發(fā)應(yīng)用系統(tǒng)的方法和過程,對開發(fā)管理系統(tǒng)有一定的指導(dǎo)作用。
【編輯推薦】
- 與UML建模結(jié)合的幾種軟件開發(fā)過程模型簡介
- 軟件開發(fā)過程中如何進(jìn)行UML建模
- UML面向?qū)ο蠼榛A(chǔ)的四種常見開發(fā)模式
- UML建模過程中需要注意要點(diǎn)專家提醒
- 體驗(yàn)免費(fèi)UML建模工具