技術(shù)分享 UML軟件開發(fā)的應(yīng)用
UML建模語言在軟件開發(fā)中非常實用,你對UML軟件開發(fā)的應(yīng)用是否熟悉,這里就像大家介紹一下,希望通過本文的介紹你對UML軟件開發(fā)的應(yīng)用有新的認(rèn)識。
UML軟件開發(fā)的應(yīng)用
1引言
早期的軟件開發(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é)束這種局面的正是UML,UML博采眾長,建立了一個標(biāo)準(zhǔn)的,統(tǒng)一的建語言。本文對UML及其及各種框圖進(jìn)行詳細(xì)分析,并通過一個實際的系統(tǒng)闡述其在軟件開發(fā)中的應(yīng)用。
2UML及其框圖
UML(UnifiedModelingLanguage),是一種面向?qū)ο蟮慕UZ言。它的主要作用是幫助用戶對軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒#梢悦枋鲞@個軟件開發(fā)過程從需求分析直到實現(xiàn)和測試的全過程。UML不是程序設(shè)計語言,而是建模語言;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):顯示多個外部參與者以及他們與系統(tǒng)提供的用例之間的連接。用例圖的用途是列出系統(tǒng)中的用例和參與者,并顯示它們之間的對應(yīng)關(guān)系。
2)類圖(ClassDiagram):類圖表示不同的實體(人、事物和數(shù)據(jù))如何彼此相關(guān),換句話說,它顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu)。
3)對象圖(ObjectDiagram):類圖的實例,幾乎使用與類圖完全相同的標(biāo)識。不同點是對象圖只顯示類的多個對象實例而非實際的類。對象圖有生命周期,只能在系統(tǒng)某個時間段存在。
4)狀態(tài)圖(StateDiagram):狀態(tài)圖表示某個類所處的不同狀態(tài)和該類的狀態(tài)轉(zhuǎn)換信息。狀態(tài)的變化稱之為轉(zhuǎn)換。
5)時序圖(SequenceDiagram):顯示多個對象之間的動態(tài)協(xié)作,重點是顯示對象之間發(fā)送消息的時間順序。
6)協(xié)作圖(CollaborationDiagram):使用圖表或網(wǎng)格展示對象之間的交互,著眼點在于對象之間的協(xié)作關(guān)系。
7)活動圖(ActivityDiagram):是狀態(tài)圖的一個變體,用來描述執(zhí)行算法的工作流程中涉及的活動。
8)組件圖(ComponentDiagram):組件圖提供系統(tǒng)的物理視圖。它的用途是顯示系統(tǒng)中的軟件對其他軟件組件(例如,庫函數(shù))的依賴關(guān)系。
9)配置圖(DeploymentDiagram):用于顯示系統(tǒng)中的硬件和軟件的物理結(jié)構(gòu)。
3網(wǎng)絡(luò)教學(xué)系統(tǒng)的分析與設(shè)計
3.1功能需求分析
UML軟件開發(fā)中系統(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)文件上傳信息管理。
基本業(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é)計劃、學(xué)習(xí)方法等教師發(fā)布的文章,并可以根據(jù)關(guān)鍵字查詢文章。此外,學(xué)生還可以從網(wǎng)站上下載課件。教師可以發(fā)布學(xué)習(xí)方法、課程重點等和教學(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ā)人員之間起到了橋梁作用,便于程序員理解用戶的需求。本文通過實例,闡述了UML在網(wǎng)絡(luò)教學(xué)系統(tǒng)中的應(yīng)用,從中可以體會到使用UML開發(fā)應(yīng)用系統(tǒng)的方法和過程,對開發(fā)管理系統(tǒng)有一定的指導(dǎo)作用。
【編輯推薦】