中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

敏捷時代的UML:為什么它仍然重要

發(fā)布于:2021-02-07 17:10:20

0

719

0

UML 敏捷 開發(fā)

開發(fā)是一個不斷發(fā)展的領(lǐng)域,作為開發(fā)人員,我們總是在尋找更快更有效的方法來解決問題。這些年來,我們處理和適應(yīng)問題的方式發(fā)生了變化。

敏捷開發(fā)過程已經(jīng)成為一種越來越流行的方法,將軟件作為一系列需要解決的迭代問題來處理。敏捷的測試、學(xué)習(xí)和調(diào)整模型產(chǎn)生了更多的邊做邊學(xué),這減少了像統(tǒng)一建模語言(UML)這樣的廣泛框架概念的使用。

UML涉及到創(chuàng)建和可視化整個系統(tǒng)的過程,以及它們?nèi)绾蜗嗷プ饔?,被認(rèn)為是過時的。但是忽視UML這樣的基本概念是有其后果的。

在本文中,我將分析UML如何在開發(fā)過程中仍然發(fā)揮重要作用,以及它如何使我們成為更好的程序員和思想家。然而,在深入研究這些之前,讓我們先看看統(tǒng)一建模語言到底是什么。

UML是什么?

UML最初創(chuàng)建于1994年,作為軟件設(shè)計中標(biāo)準(zhǔn)化不同符號系統(tǒng)的一種方法。它基本上是一種統(tǒng)一的建模語言,由一組集成的圖表組成,這些圖表被創(chuàng)建來幫助軟件和系統(tǒng)開發(fā)人員可視化、指定、記錄和構(gòu)建軟件系統(tǒng)工件、非軟件系統(tǒng)和業(yè)務(wù)建模。

統(tǒng)一建模語言是在復(fù)雜系統(tǒng)建模方面非常成功的工程最佳實(shí)踐的匯編。

UML確實(shí)是開發(fā)軟件開發(fā)過程和面向?qū)ο筌浖囊粋€組成部分。它主要利用圖形符號來表達(dá)軟件項(xiàng)目設(shè)計。使用UML可以幫助項(xiàng)目工作組進(jìn)行交流,探索潛在的設(shè)計,并驗(yàn)證軟件的體系結(jié)構(gòu)設(shè)計。

UML的用途:不同類型的應(yīng)用程序

統(tǒng)一建模語言有許多不同的應(yīng)用程序。您可以使用它來開發(fā)圖表,并為程序員提供具有表現(xiàn)力且隨時可用的建模示例,這些示例基本上描述了系統(tǒng)的結(jié)構(gòu)和行為。

一些UML工具從統(tǒng)一建模語言交付程序代碼。您可以使用UML對不依賴于平臺語言的特定系統(tǒng)進(jìn)行建模。

此外,UML吹噓的應(yīng)用程序超出了軟件開發(fā)的范圍,比如制造業(yè)中的過程流。這解決了敏捷所不能解決的問題,并允許您在整個業(yè)務(wù)的上下文中看到您的開發(fā)需求。這種預(yù)先的或“瀑布式”的過程允許您一次想到整個系統(tǒng),并使您能夠靈活地看到不同的系統(tǒng)如何相互作用。

UML的優(yōu)點(diǎn)

今天使用UML有幾個好處,找到方法將其融入到您的開發(fā)過程中可以改進(jìn)您的思維過程并導(dǎo)致更高的組織效率。

讓新的開發(fā)人員或團(tuán)隊(duì)成員快速跟上進(jìn)度

在開發(fā)人員開始編寫代碼之前,統(tǒng)一建模語言圖可以幫助每個從事項(xiàng)目的團(tuán)隊(duì)成員都進(jìn)入同一個眾所周知的頁面。由于這些圖表的簡單性,您還可以讓新的團(tuán)隊(duì)成員非??焖俚馗线M(jìn)度。

此外,通過理解他們試圖構(gòu)建的系統(tǒng),開發(fā)人員可以委派他們的工作,在實(shí)際工作開始之前找出潛在的問題,然后朝著一個共同的目標(biāo)高效地工作。

定制UML圖中的元素

使統(tǒng)一建模語言成為軟件開發(fā)所急需和非常適合的語言是它的高度靈活性。您可以自由地在統(tǒng)一建模語言圖中定制您的建模交互和元素,特別是適合您使用的技術(shù)或領(lǐng)域。

在編程之前計劃好新功能

統(tǒng)一建模語言有助于在任何編程之前規(guī)劃新特性。這允許您在開發(fā)開始前識別問題或潛在的問題區(qū)域。這可以降低任何程序?qū)崿F(xiàn)期間的開銷。

此外,統(tǒng)一的建模語言模型圖很容易更改,而重新編寫某個代碼段可能會非常耗時和乏味。

更容易與技術(shù)和非技術(shù)受眾溝通

統(tǒng)一建模語言的一個最大優(yōu)點(diǎn)是,它可以方便地與技術(shù)和非技術(shù)受眾進(jìn)行交流。

例如,如果您正在考慮使用UML來解釋不同的軟件設(shè)計模型,那么可以肯定的是,大多數(shù)軟件專業(yè)人員在某種程度上都會熟悉UML圖,這樣就可以方便地進(jìn)行來回通信。

此外,您只需了解20%的統(tǒng)一建模語言就可以描述80%的建模需求。您不需要理解或知道完整的符號,就可以借助UML圖進(jìn)行有效的通信。

UML圖的類型

UML圖甚至可以合并到敏捷開發(fā)中。通過更好地理解不同類型的UML圖及其用法,您可以開始根據(jù)您的特定需求創(chuàng)建自己的UML圖。

結(jié)構(gòu)圖

這些圖顯示了建模系統(tǒng)中的事物和元素。更嚴(yán)格地說,它們顯示了一個系統(tǒng)的不同對象。

  • 類圖是幾乎所有面向?qū)ο蠓椒ǖ年P(guān)鍵,其中也包括UML。類圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。

  • 組件圖–這些圖描述了物理軟件組件組織,包括可執(zhí)行文件、運(yùn)行時代碼和源代碼。

  • 部署圖–部署圖顯示了系統(tǒng)的物理資源,包括組件,節(jié)點(diǎn)和連接。

  • 復(fù)合結(jié)構(gòu)圖–這些圖描述了類的內(nèi)部部分。

  • 對象圖–對象圖說明了系統(tǒng)在特定時間的靜態(tài)結(jié)構(gòu)。您可以使用它們來測試類圖。

行為圖

這些圖顯示了系統(tǒng)的行為以及與自身和其他實(shí)體(用戶、其他系統(tǒng))的交互。它們顯示數(shù)據(jù)如何在系統(tǒng)中移動,對象如何相互通信,時間的流逝如何影響系統(tǒng),或者什么事件導(dǎo)致系統(tǒng)改變內(nèi)部狀態(tài)。

序列圖–這些圖說明了隨著時間的推移,不同類之間在消息交換方面的交互。

這個序列圖顯示了在ATM機(jī)上與客戶的交互。它可視化了系統(tǒng)如何交互以及以何種順序交互,使您能夠更好地理解如何以最佳方式設(shè)置開發(fā)流。

活動圖–通過對從一個活動到另一個活動的控制流進(jìn)行建模來描述系統(tǒng)的動態(tài)特性?;顒颖硎灸硞€特定類上導(dǎo)致系統(tǒng)狀態(tài)更改的操作。通常,可以使用活動圖對內(nèi)部操作和業(yè)務(wù)流程或工作流進(jìn)行建模。

用例圖–這些圖使用用例和參與者來建模系統(tǒng)的功能。

用例圖幫助您更好地跟蹤和可視化參與者將如何在給定的系統(tǒng)中移動。這是一個很好的低技術(shù)的方法來識別潛在的問題和系統(tǒng)可能崩潰的地方。

我們的開發(fā)技術(shù)需要與時俱進(jìn)。盡管敏捷在處理和解決問題方面有著不可否認(rèn)的優(yōu)勢,而且可能更適合當(dāng)前的軟件需求,但重要的是我們不要忘記開發(fā)過程中的基本原理。

像UML這樣的技術(shù)可以改進(jìn)我們的過程,讓我們不僅成為更好的開發(fā)人員,而且成為更好的思考者。找到將UML之類的實(shí)踐合并到當(dāng)前開發(fā)模型中的方法可以讓您擁有一個強(qiáng)大的基礎(chǔ)框架,同時保持靈活和創(chuàng)新。