軟件測試開發技術UML應用的三重境界

發表于:2009-10-29來源:作者:點擊數: 標簽:軟件測試umlUML應用境界
軟件測試開發 技術UML應用的三重境界 UML模型 關鍵字:UML 古今之成大事業、大學問者,必經過三種之境界,今之UML應用的三重境界能給你帶來什么呢?本文主要討論了兩個問題:一是為什么軟件開發過程需要建模,二是建模為什么要使用UML語言。 先從幾年前的一
軟件測試開發技術UML應用的三重境界  UML模型

關鍵字:UML

古今之成大事業、大學問者,必經過三種之境界,今之UML應用的三重境界能給你帶來什么呢?本文主要討論了兩個問題:一是為什么軟件開發過程需要建模,二是建模為什么要使用UML語言。

先從幾年前的一次爭論談起吧。2002年5月某IT雜志刊登了一篇知名學者高展先生的文章:《UML三大“硬傷”》,文章說UML“上不著天、下不著地、一盤散沙”,后即引來業界關于UML的一場大討論。

在細述這場論戰之前,且讓我們先來回答兩個問題,第一個問題是為什么軟件開發過程需要建模,第二個問題是建模為什么要使用UML語言。

想搭一個狗窩,備好木料、釘子和一些基本工具之后,就可以開始工作了,在沒有別人幫忙的情況下,幾個小時也可以完工;如果想為家庭建造一所房子,備好木料、釘子和一些基本工具之后,也能開始工作,但這將需要較長的時間,并且,除非曾經多次建造過房子,否則就需要事先制定出一些詳細的計劃,再開始動工,才能夠成功;而如果要建設高樓時,仍然是先備好木料、釘子和一些基本工具就開始工作,那將是非常愚蠢的。

那么在軟件開發中,如果我們不事先建立模型,做好計劃,就開始倉促去實現,那就好比在使用建造狗窩的工具來建造一座大廈。而建模是一項經過檢驗并被廣為接受的工程技術,模型提供了系統的藍圖。模型可以是結構性的,強調系統的組織。它也可以是行為性的,強調系統的動態方面。

通過建模,可以達到4個目的:模型有助于按照實際情況或按照所需要的樣式對系統進行可視化;模型能夠規約系統的結構或行為;模型給出了指導構造系統的模板;模型對做出的決策進行文檔化。

下面讓我們來到文章開頭提到的那場論戰。論戰的發起者高先生也許當初也沒有想到文章發表之后引來的激烈反應。綜合高先生那篇文章的主旨,可以概括為UML“上不著天,下不著地,一盤散沙”,他認為:UML上不著天,也就是說用UML建立的模型無法與用戶溝通;下不著地,采用UML設計的模型不能為程序員所用;一盤散沙,UML建立的各種模型之間關系凌亂,無法實際應用。

我的看法是,高先生此三點意見卻恰恰就是UML的三大優點,關鍵在于應用。如果使用不好,則在應用過程中是會發生這樣的錯覺,認為使用了UML反而會給項目帶來額外的負擔;但是如果能有效地根據實際項目和人員情況對UML進行裁減,制定出適合的UML應用方法,并通過項目來逐步積累和推進,那么UML這個神兵寶器則會大放異彩,體現它應有的價值。就譬如金箍棒,倘若等閑之輩得之,不過是廢鐵一塊;如若在悟空手中,則大如倚天之柱,小則化為繡花針,降妖除魔,變為至寶。

那么如何能有效利用UML呢?就如王國維所談詞作的三重境界,UML的利用也可以分為三種境界。

王國維在《人間詞話》里談到:“古今之成大事業、大學問者,必經過三種之境界:‘昨夜西風凋碧樹。獨上高樓,望盡天涯路’。此第一境也?!聨u寬終不悔,為伊消得人憔悴?!说诙骋??!娎飳にО俣?,驀然回首那人卻在,燈火闌珊處’。此第三境也?!?

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97