康路晨,康路晨講師,康路晨聯(lián)系方式,康路晨培訓(xùn)師-【中華講師網(wǎng)】
項(xiàng)目管理與網(wǎng)絡(luò)營(yíng)銷(xiāo)管理實(shí)戰(zhàn)專(zhuān)家
45
鮮花排名
0
鮮花數(shù)量
康路晨:用UML統(tǒng)一開(kāi)發(fā)團(tuán)隊(duì)
2016-01-20 48104

 為了提高生產(chǎn)效率并獲得成功,開(kāi)發(fā)團(tuán)隊(duì)的成員需要擁有通用過(guò)程,通用的術(shù)語(yǔ)表和相應(yīng)的支持工具。這篇文章討論了UML如何能夠幫助你達(dá)到這個(gè)目標(biāo)。
 
  在現(xiàn)代的軟件開(kāi)發(fā)中存在這一種基本上相互矛盾的論點(diǎn)。一方面組織面對(duì)著更加快速的響應(yīng)市場(chǎng)的要求;另一方面,在相同的組織中還面臨著以更低的成本交付高質(zhì)量系統(tǒng)的壓力。在這兩者之間維持一個(gè)平衡是非常難的:匆忙的將軟件系統(tǒng)推向市場(chǎng),系統(tǒng)的質(zhì)量勿庸置疑的會(huì)受到指責(zé);而僅僅考慮質(zhì)量問(wèn)題,你也可能因?yàn)榛ㄙM(fèi)了過(guò)長(zhǎng)的時(shí)間交付系統(tǒng)給用戶而導(dǎo)致失敗。
 
  隨著軟件開(kāi)發(fā)的本質(zhì)發(fā)生的改變,融合這對(duì)相互矛盾的論點(diǎn)也成為了現(xiàn)實(shí)。從歷史的觀點(diǎn)來(lái)看,許多信息系統(tǒng)從體系架構(gòu)上是非常簡(jiǎn)單的:應(yīng)用被建立在中間層的基礎(chǔ)上,中間層典型的封裝了商業(yè)規(guī)則和數(shù)據(jù)訪問(wèn),并且中間層被建立在永久存儲(chǔ)之上,通常使用關(guān)系型的數(shù)據(jù)庫(kù)系統(tǒng)。關(guān)系型數(shù)據(jù)庫(kù)(或者數(shù)據(jù)庫(kù))本質(zhì)上是系統(tǒng)的中心,它獲取系統(tǒng)問(wèn)題領(lǐng)域的詞匯表并作為系統(tǒng)狀態(tài)的存儲(chǔ)服務(wù)??蛻舳?服務(wù)器架構(gòu)的出現(xiàn)幫助了劃分3層分離的結(jié)構(gòu),對(duì)于組織來(lái)說(shuō)可以以一種可控的方式來(lái)應(yīng)對(duì)系統(tǒng)相應(yīng)的變化。尤其是,應(yīng)用要能被快速的創(chuàng)建和修改,同時(shí)還要保存系統(tǒng)的狀態(tài),新的業(yè)務(wù)規(guī)則應(yīng)該能夠被引入而不會(huì)使系統(tǒng)受到影響,并且數(shù)據(jù)應(yīng)該可以隨著時(shí)間的流逝以一種新的或未預(yù)期的方式被挖掘。已被證明的且穩(wěn)定的體系架構(gòu)指引著很多組織以相應(yīng)的方式構(gòu)建他們的團(tuán)隊(duì):分析人員與領(lǐng)域?qū)<乙黄鸸ぷ鲗⒂脩舻男枰b化成需求,數(shù)據(jù)建模人員構(gòu)建滿足這些客戶功能需求的領(lǐng)域模型,應(yīng)用開(kāi)發(fā)人員通過(guò)快速的構(gòu)建和分解來(lái)建立滿足系統(tǒng)行為需求的的新系統(tǒng)。
 
  然而,隨著Web的出現(xiàn),軟件開(kāi)發(fā)的世界發(fā)生的翻天覆地的變化。在傳統(tǒng)的客戶端/服務(wù)器形式的系統(tǒng)中,一個(gè)系統(tǒng)典型的擁有可控?cái)?shù)量的用戶,通常用戶的數(shù)量在幾百到幾千人之間;而在Web系統(tǒng)的情況下,一個(gè)系統(tǒng)也許會(huì)有幾百萬(wàn)的用戶,這些用戶中的很多都是不在軟件開(kāi)發(fā)組織的控制之下的。在傳統(tǒng)的客戶端/服務(wù)器的系統(tǒng)中,從應(yīng)用到數(shù)據(jù)的概念性的距離是非常小的;而在Web環(huán)境下,多數(shù)系統(tǒng)是由成千上萬(wàn)的移動(dòng)的部分組成,這些移動(dòng)部分通常是一些腳本的和一些編譯過(guò)的代碼,通過(guò)使用這些機(jī)制,使得應(yīng)用和關(guān)系型的存儲(chǔ)在距離上是相當(dāng)遠(yuǎn)的。在傳統(tǒng)的客戶機(jī)/服務(wù)器系統(tǒng)中,變化是不可避免的,但變化可以被適當(dāng)?shù)墓芾?,而在Web環(huán)境下,變化是連續(xù)的,并且變化發(fā)生在系統(tǒng)體系架構(gòu)和實(shí)現(xiàn)技術(shù)的每一個(gè)層面上。在傳統(tǒng)的客戶機(jī)/服務(wù)器系統(tǒng)中,成功的開(kāi)發(fā)并發(fā)布系統(tǒng)的涉眾數(shù)量相對(duì)來(lái)說(shuō)是比較少的;而在Web環(huán)境下,有很多新的涉眾參與到了系統(tǒng)的開(kāi)發(fā)當(dāng)中,從內(nèi)容的創(chuàng)建者到信息架構(gòu)到網(wǎng)絡(luò)設(shè)計(jì),所有這些人都必須與傳統(tǒng)的軟件開(kāi)發(fā)團(tuán)隊(duì)共同工作以克服軟件開(kāi)發(fā)中的矛盾。
 
  成功的處理軟件開(kāi)發(fā)中的矛盾的組織與哪些在這方面失敗的組織在組織運(yùn)作的方法上存在著本質(zhì)的不同。特別的,高生產(chǎn)效率的組織將軟件開(kāi)發(fā)看作為一項(xiàng)團(tuán)隊(duì)運(yùn)動(dòng),在這樣的組織中很多不同的對(duì)系統(tǒng)的開(kāi)發(fā)和部署作出貢獻(xiàn)的涉眾通過(guò)使用通用的過(guò)程,通用的表達(dá)語(yǔ)言并使用支持和鼓勵(lì)與過(guò)程和語(yǔ)言相關(guān)的最佳實(shí)踐的工具來(lái)實(shí)現(xiàn)統(tǒng)一。
 
  Rational統(tǒng)一過(guò)程(RUP)是一種已經(jīng)被證明對(duì)大多數(shù)面臨著軟件開(kāi)發(fā)中的矛盾的組織來(lái)說(shuō)是非常有用的。RUP是一種鼓勵(lì)以增量和迭代的方式交付系統(tǒng)的可執(zhí)行版本的過(guò)程。RUP是風(fēng)險(xiǎn)和用例驅(qū)動(dòng)的,這就意味著RUP傾向盡早的識(shí)別和處理防礙系統(tǒng)成功的風(fēng)險(xiǎn),并且它的迭代是被來(lái)自于系統(tǒng)不同涉眾透視圖的用例指導(dǎo)的。此外,RUP是一種架構(gòu)先行的過(guò)程,無(wú)論在哪里,系統(tǒng)的架構(gòu)都是在早期就被穩(wěn)定下來(lái)的,這樣便可以建立和驗(yàn)證策略性的設(shè)計(jì)決定,然后在每一個(gè)新的迭代中進(jìn)行不斷的細(xì)化。
 
  在傳統(tǒng)的情況下,許多大數(shù)據(jù)系統(tǒng)在他們的實(shí)現(xiàn)上是使用Cobol這樣的在當(dāng)時(shí)具有統(tǒng)治地位的語(yǔ)言編寫(xiě)的。但隨著Web的出現(xiàn),一切都發(fā)生了變化,甚至一些遺留系統(tǒng)也已經(jīng)被移植到了Web之上。在Web環(huán)境中,一個(gè)大數(shù)據(jù)的系統(tǒng)可以使用Cobol,C++ 或Java來(lái)編寫(xiě)服務(wù)器端的程序,使用教本語(yǔ)言(如Perl, VBScript, JavaScript),第四代編程語(yǔ)言(如:Delphi )和經(jīng)典的語(yǔ)言(如:Visual Basic 和 Java)來(lái)實(shí)現(xiàn)客戶端的程序。象XML語(yǔ)言在這里很好的扮演了這樣一個(gè)角色:XML是一種在Web上表示數(shù)據(jù)結(jié)構(gòu)的通用語(yǔ)言。除了面臨著一些編程語(yǔ)言的選擇,企業(yè)開(kāi)發(fā)團(tuán)隊(duì)也必須在各式各樣的技術(shù)中作出正確的選擇,如Microsoft WinDNA and Sun的 EJB,而這些技術(shù)呈現(xiàn)給開(kāi)發(fā)人員不同的編程模型。
 
  對(duì)于成功的組織,使企業(yè)開(kāi)發(fā)團(tuán)隊(duì)的成員使用相同的聲音進(jìn)行交流是最基本的:不同的涉眾針對(duì)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)有不同的視圖,并且如果他們不使用同一種通用的詞匯表和表達(dá)語(yǔ)言,統(tǒng)一團(tuán)隊(duì)的活動(dòng)是不可能的。
 
  這是統(tǒng)一建模語(yǔ)言(UML)的角色之一,UML是對(duì)象管理組織(OMG)的一項(xiàng)標(biāo)準(zhǔn)。UML是一種可視化的詳細(xì)的構(gòu)建并文檔化軟件系統(tǒng)工作產(chǎn)物的圖形化語(yǔ)言。
 
  對(duì)于一個(gè)建筑項(xiàng)目,你不能僅用藍(lán)圖中的單一一頁(yè)來(lái)呈現(xiàn),詳細(xì)描述,構(gòu)建和文檔化一個(gè)高大建筑。軟件也是如此:為了獲得所有的策略性的系統(tǒng)設(shè)計(jì)決策,你需要幾個(gè)不同的系統(tǒng)體系架構(gòu)的視圖,每一個(gè)視圖針對(duì)者團(tuán)隊(duì)中的不同涉眾。見(jiàn)圖1所示,對(duì)于下面描述的軟件系統(tǒng)來(lái)說(shuō),存在著五個(gè)非常重要的視圖。
 
  

 


  圖1:用例視圖
 
  系統(tǒng)的用例視圖是面向指定的最終用戶的,這個(gè)視圖獲取了系統(tǒng)需要擁有的功能。這個(gè)視圖對(duì)測(cè)試人員也是同樣重要的。對(duì)于測(cè)試人員來(lái)說(shuō)用例形成了對(duì)每一個(gè)個(gè)執(zhí)行版本回歸測(cè)試的基礎(chǔ)。
 
  系統(tǒng)的邏輯視圖是分析人員和設(shè)計(jì)人員最感興趣的,邏輯視圖與實(shí)現(xiàn)了來(lái)自于第一個(gè)視圖的用例的架構(gòu)上的重要機(jī)制一起的描述了系統(tǒng)的問(wèn)題領(lǐng)域的詞匯表。在這個(gè)視圖中,你將找到描述問(wèn)題領(lǐng)域的應(yīng)用,數(shù)據(jù)和業(yè)務(wù)模型,它邏輯視圖與類(lèi),包,子系統(tǒng)和協(xié)作一起實(shí)現(xiàn)了系統(tǒng)的用例。
 
  系統(tǒng)的過(guò)程視圖描述了系統(tǒng)對(duì)過(guò)程和任務(wù)的分解,并且描述了并發(fā)元素的通訊和同步。這個(gè)視圖對(duì)于從事整個(gè)系統(tǒng)的性能可測(cè)量性的系統(tǒng)集成人員來(lái)說(shuō)是最重要的。系統(tǒng)的實(shí)現(xiàn)視圖捕獲了被系統(tǒng)的編程人員產(chǎn)生的工作產(chǎn)物,這個(gè)視圖用于建??蓤?zhí)行組件和相應(yīng)的源文件以及形成可執(zhí)行部分的內(nèi)容。這個(gè)視圖位于項(xiàng)目配置管理實(shí)踐的中心,以及描述了那些在每一個(gè)迭代中被組裝成為可執(zhí)行版本的組件。
 
  系統(tǒng)的部署視圖是項(xiàng)目的系統(tǒng)和網(wǎng)絡(luò)工程師最關(guān)心的視圖,系統(tǒng)和網(wǎng)絡(luò)工程師負(fù)責(zé)系統(tǒng)硬件拓?fù)湟约敖桓逗桶惭b搭建系統(tǒng)。這個(gè)視圖描述了系統(tǒng)的物理網(wǎng)絡(luò)配置。
 
  所有的這些視圖都是用UML來(lái)表示的。例如,類(lèi)圖可以被用來(lái)顯示邏輯視圖的靜態(tài)部分,組件圖可以被應(yīng)用到組件視圖。每一個(gè)視圖的動(dòng)態(tài)元素可以通過(guò)使用UML的行為圖中的任何一種來(lái)獲取,象交互圖和狀態(tài)表圖。此外,通過(guò)UML的擴(kuò)展機(jī)制,對(duì)語(yǔ)言進(jìn)行相應(yīng)的調(diào)整以使它可以表達(dá)特定領(lǐng)域的需求是可能的。比如,Jim Conallen創(chuàng)建的Web應(yīng)用擴(kuò)展就是針對(duì)以Web應(yīng)用系統(tǒng)為中心的UML的擴(kuò)展應(yīng)用。通過(guò)使用這個(gè)藍(lán)圖的通用語(yǔ)言,不同的涉眾可以貢獻(xiàn)他在特定領(lǐng)域的專(zhuān)家建議,同時(shí)使用UML可以與其他的涉眾進(jìn)行良好的交流。
 
  使開(kāi)發(fā)團(tuán)隊(duì)使用同一種聲音的價(jià)值對(duì)于哪些大數(shù)據(jù)應(yīng)用來(lái)說(shuō)格外的明顯。無(wú)論在哪,數(shù)據(jù)庫(kù)的設(shè)計(jì)人員都必須與系統(tǒng)分析人員和應(yīng)用的開(kāi)發(fā)人員一起工作以構(gòu)建系統(tǒng)。傳統(tǒng)的情況下,系統(tǒng)的數(shù)據(jù)中心部分使用實(shí)體-關(guān)系(ER)技術(shù)來(lái)進(jìn)行建模。ER方法對(duì)開(kāi)發(fā)團(tuán)體的服務(wù)非常的好,但是,開(kāi)發(fā)世界已經(jīng)發(fā)生了顯著的變化,以至ER方法已經(jīng)能很難作為數(shù)據(jù)庫(kù)設(shè)計(jì)人員與其他涉眾進(jìn)行交流的工具,并且它也很難再來(lái)表達(dá)目前大數(shù)據(jù)系統(tǒng)的語(yǔ)義。正如Dorsey 和 Hudicka所說(shuō)的那樣,"有一種強(qiáng)制的需要應(yīng)用如此靈活的,有活力的并且是面向?qū)ο蟮腢ML來(lái)代替當(dāng)前業(yè)界標(biāo)準(zhǔn)的ER建模"。事實(shí)上,這也是被Rational Software開(kāi)發(fā)的UML在數(shù)據(jù)側(cè)面擴(kuò)展(data profile extension)方面的真正意圖。
 
  UML在語(yǔ)義上比傳統(tǒng)的ER技術(shù)更加具有表達(dá)力。使用UML你不但可以建模與ER方法相同的元素,你可以建模其他種類(lèi)的比如行為特征的關(guān)系(比如關(guān)聯(lián))。雖然UML的符號(hào)比傳統(tǒng)的ER符號(hào)有所不同,但是對(duì)于使用ER建模的老手來(lái)說(shuō),轉(zhuǎn)到UML上并不是非常的困難。見(jiàn)圖2。
 
  

 


  圖2:從ER符號(hào)轉(zhuǎn)換到UML符號(hào)
 
  為了詳細(xì)說(shuō)明一個(gè)數(shù)據(jù)模型,你可以簡(jiǎn)單的使用UML類(lèi)圖。為了進(jìn)一步獲取數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),你可以使用UML類(lèi)圖中的作為表的類(lèi)原型。對(duì)于每一個(gè)表,你可以對(duì)它的列(作為屬性,包括作為主鍵和索引的屬性)和觸發(fā)器(作為操作)進(jìn)行建模。為了獲取數(shù)據(jù)庫(kù)的物理元素,你可以使用UML組建圖中的數(shù)據(jù)庫(kù)原型組件。無(wú)論是在邏輯視圖還是物理視圖中,你當(dāng)然具有UML對(duì)建模關(guān)系(如,關(guān)聯(lián)和繼承)和行為(如,通過(guò)交互圖或狀態(tài)表圖)的全部的表達(dá)能力。
 
  以這種方式,你就可以將你的系統(tǒng)數(shù)據(jù)模型和需求放到完成的項(xiàng)目中,跨職能的統(tǒng)一團(tuán)隊(duì)的成員形成了一種協(xié)作的力量。通過(guò)使用象Rational Rose Data Modeler這樣的工具支持這些模型,之前數(shù)據(jù)團(tuán)隊(duì)中分離的成員現(xiàn)在可以非常容易的訪問(wèn)整個(gè)項(xiàng)目需求上下文中對(duì)數(shù)據(jù)的需求,并且可以在應(yīng)用模型和與系統(tǒng)相關(guān)的需求文本和屬性的用例模型之間對(duì)數(shù)據(jù)模型進(jìn)行跟蹤。相似的,分析人員與應(yīng)用的開(kāi)發(fā)人員可以更好的與數(shù)據(jù)小組進(jìn)行交流,因?yàn)樗麄兪褂猛环N公用的表達(dá)語(yǔ)言。因?yàn)閁ML的語(yǔ)義是非常豐富的,它可以在系統(tǒng)中被用來(lái)呈現(xiàn)和說(shuō)明集成點(diǎn)。這也使得跟蹤象模型向關(guān)系數(shù)據(jù)模型的移植變得可能。在支持?jǐn)?shù)據(jù)庫(kù)逆向工程的工具出現(xiàn)時(shí),對(duì)于用戶來(lái)說(shuō)基于數(shù)據(jù)庫(kù)結(jié)構(gòu)通過(guò)正向工程來(lái)創(chuàng)建數(shù)據(jù)模型或者基于數(shù)據(jù)模型通過(guò)逆向工程來(lái)創(chuàng)建數(shù)據(jù)庫(kù)將成為可能。所有與數(shù)據(jù)小組相關(guān)的語(yǔ)義-表,列,約束,索引,觸發(fā)器以及更多-都能通過(guò)這樣的轉(zhuǎn)換被保存。
 
  在協(xié)調(diào)軟件開(kāi)發(fā)中矛盾的方式下構(gòu)建一個(gè)企業(yè)級(jí)的軟件系統(tǒng)是非常難的,你必須在快速的開(kāi)發(fā)壓力與高質(zhì)量之間進(jìn)行權(quán)衡。使用UML對(duì)系統(tǒng)的工作產(chǎn)物進(jìn)行可視化,描述和文檔化可以使開(kāi)發(fā)組織中的工作在一個(gè)團(tuán)隊(duì)中的涉眾人員使用同一種語(yǔ)言和工具完成工作。
 
  注釋:這篇文章最初發(fā)表在 Rational Developer Network
 
  關(guān)于作者
 
  Grady Booch,Grady Booch在軟件架構(gòu),建模和軟件工程過(guò)程領(lǐng)域的創(chuàng)新性工作是被國(guó)際公認(rèn)的。他的工作已經(jīng)改經(jīng)了開(kāi)發(fā)人員世界的效力。Grady是統(tǒng)一建模語(yǔ)言的創(chuàng)始人,并且他也是一些Rational產(chǎn)品,包括Rational Rose,業(yè)界領(lǐng)先的可視化開(kāi)發(fā)工具的創(chuàng)始人。Grady是六本最熱銷(xiāo)的書(shū)籍的作者,他也發(fā)表了幾百篇關(guān)于軟件工程的技術(shù)文章,他在世界各地進(jìn)行講演和咨詢(xún)。Grady是IBM Rational的首席科學(xué)家。

全部評(píng)論 (0)
熱門(mén)領(lǐng)域講師
互聯(lián)網(wǎng)營(yíng)銷(xiāo) 互聯(lián)網(wǎng) 新媒體運(yùn)營(yíng) 短視頻 電子商務(wù) 社群營(yíng)銷(xiāo) 抖音快手 新零售 網(wǎng)絡(luò)推廣 領(lǐng)導(dǎo)力 管理技能 中高層管理 中層管理 團(tuán)隊(duì)建設(shè) 團(tuán)隊(duì)管理 高績(jī)效團(tuán)隊(duì) 創(chuàng)新管理 溝通技巧 執(zhí)行力 阿米巴 MTP 銷(xiāo)售技巧 品牌營(yíng)銷(xiāo) 銷(xiāo)售 大客戶營(yíng)銷(xiāo) 經(jīng)銷(xiāo)商管理 銷(xiāo)講 門(mén)店管理 商務(wù)談判 經(jīng)濟(jì)形勢(shì) 宏觀經(jīng)濟(jì) 商業(yè)模式 私董會(huì) 轉(zhuǎn)型升級(jí) 股權(quán)激勵(lì) 納稅籌劃 非財(cái)管理 培訓(xùn)師培訓(xùn) TTT 公眾演說(shuō) 招聘面試 人力資源 非人管理 服裝行業(yè) 績(jī)效管理 商務(wù)禮儀 形象禮儀 職業(yè)素養(yǎng) 新員工培訓(xùn) 班組長(zhǎng)管理 生產(chǎn)管理 精益生產(chǎn) 采購(gòu)管理 易經(jīng)風(fēng)水 供應(yīng)鏈管理 國(guó)學(xué) 國(guó)學(xué)文化 國(guó)學(xué)管理 國(guó)學(xué)經(jīng)典 易經(jīng) 易經(jīng)與管理 易經(jīng)智慧 家居風(fēng)水 國(guó)際貿(mào)易
鮮花榜
頭像
+300朵
頭像
+297朵
頭像
+198朵
頭像
+99朵
頭像
+61朵
頭像
+19朵
頭像
+5朵
頭像
+5朵
頭像
+5朵

Copyright©2008-2025 版權(quán)所有 浙ICP備06026258號(hào)-1 浙公網(wǎng)安備 33010802003509號(hào) 杭州講師網(wǎng)絡(luò)科技有限公司
講師網(wǎng) kasajewelry.com 直接對(duì)接10000多名優(yōu)秀講師-省時(shí)省力省錢(qián)
講師網(wǎng)常年法律顧問(wèn):浙江麥迪律師事務(wù)所 梁俊景律師 李小平律師