• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Agile 敏捷建模思想(下)

    發布: 2008-4-29 10:37 | 作者: 不詳 | 來源: AgileModeling.com | 查看: 95次 | 進入軟件測試論壇討論

    領測軟件測試網 考慮一個架構模型,可能一組畫在白板上的圖表就足夠了--項目的進行中再對它們更新,也許你需要用CASE 工具來生成一些圖表,也許這些圖表還需要有詳細的文檔,這依賴于環境。不同的項目有不同的需要。在每一個例子中,實際上你都是在開發、維護一個有足夠的細節的架構模型,只是這個“足夠的細節”的概念和環境有關。

    敏捷模型能提供正面價值。對項目中的任一artifact,一個基本的要求是它們能夠提供正面價值。一個架構模型給你的項目帶來的價值是不是能夠超過開發它、維護它(可選)的總成本?一個架構模型能夠堅定你們團隊為之努力的愿景,所以它當然是有價值的。但是,如果它的成本超過了這個價值,那就是說,它無法提供正面價值。投入100,000美元去開發一個詳細的、重量級的文檔化架構模型,而它的效用,只需一些畫在白板上的圖表就能夠達到,這些圖只需要花你5,000美元,看看,這是多么輕率的做法。 

    敏捷模型要盡可能的簡單。只要能夠達到目的,你應當努力讓你的模型盡可能保持簡單。模型的詳細程度會影響簡單性,而所使用的符號范圍也會影響簡單性。例如,UML的類圖就包括了無數的符號,包括對象約束語言 (Object Constraint Language OCL) ,但大多數的圖使用符號的一部分就能夠完成。所以你常常不需要使用所有的符號,你可以限制自己使用符號的一個子集,當然,這個子集是足夠讓你完成工作的。 
    因此呢,一個敏捷模型的定義就是一個實現它的目的,沒有畫蛇添足的模型;為你的預期聽眾所理解的模型;簡單的模型;足夠正確、足夠一致、足夠詳細的模型;創建和維護它的投資能夠給項目提供正面價值的模型。

    一個普遍的哲學問題是源代碼是不是一個模型,更重要的,它是不是一個敏捷模型。如果你是在我們這篇文章之外問我這個問題,我會回答說,是,源代碼是一個模型,雖然是一個高度細節化的模型,因為它是軟件的一個抽象。同時我還認為,優秀的代碼是一個敏捷模型。但在這里,我還需要把兩者區分開來,源代碼和敏捷模型還是有區別的--敏捷模型幫助你得到源代碼。


    模型何時是敏捷的?



    要想了解AM,你需要了解模型和敏捷模型之間的區別。模型是一個抽象的概念,它描述了一個的問題的一個或多個方面,或是處理這個問題可能的解決方案。傳統意義上,模型被認為是圖表加上相應的文檔。然而那不夠直觀的artifact,也可以被視為模型,例如CRC卡片集,單條或多條業務規則的文字描述,或是業務流程的一段結構化英文描述。一個敏捷模型就是一個剛剛足夠好的模型。但是你怎么知道什么時候模型才是剛剛足夠好呢?當敏捷模型顯現出如下的特性時,它就是剛剛足夠好的:

    敏捷模型實現了它們的目的。有時你為溝通而建模,或許你需要把你工作的范圍告訴高級經理;有時你為理解而建模,或許你需要確定一個設計策略,實現一組Java類。一個敏捷模型是否足夠好,要看它是不是滿足了創建它時的初衷。 

    敏捷模型是可理解的。敏捷模型要能為其預期聽眾所理解。使用用戶能夠理解的業務語言來描述需求模型,反之,技術架構模型則需要使用開發人員熟悉的技術術語。你所使用的建模符號會影響易懂性--如果你的用戶不了解UML用例圖中的符號的含義,那用例圖對用戶就沒有任何價值。這樣的話,要么使用另一種方法,要么教授用戶學習建模技術。風格問題同樣也會影響易懂性,例如避免交叉線。雜亂的圖表比清晰的圖表難懂。模型的細節程度(見下文),也會影響易懂性,因為相較一個不那么詳細的模型來說,一個過于詳細的模型要難于理解。簡單(見下文)同樣是影響易懂性的一個因素。 

    敏捷模型是足夠正確的。模型通常都不需要100%正確,只要足夠正確就行了。舉個例子,如果一張街道地圖漏畫了一條街道,或是它標示某條街道是通行的,但你發現它已經關閉維修了,那你會不會扔掉你的地圖開始在城里飆車犯罪呢?不太可能。你會考慮更新你的地圖,你可能會拿出筆來自己做修改或是去當地的商店買一張最新版的地圖(你原來的那張過期了)。也許你還是會接受那張雖不完美仍可使用的地圖,因為它對你來說已經足夠好了。你還是可以用這張地圖四處轉轉,因為它還是個正確的模型,標記出了大部分街道的位置。你在發現這張地圖不正確的時候,你沒有立刻扔掉它,原因是你根本不在乎它是否完美。類似的,當你在需求模型、數據模型中發現錯誤的時候,你也會選擇更新或是接受--雖不完美但已經足夠好了。有些項目成員能夠容忍這種不正確而有些則不能:這取決于項目的特性,每個團隊成員的特性,組織的特性。充分正確性既和模型的聽眾有關,也和你要處理的問題有關。 

    我十幾歲的時候在一家餐館打工,開始是洗盤子,到后來升為出納。在我做出納時,我要學習如何關店。關店最重要的一件事就是清點錢柜。教我的那個店長認定一定要把錢柜的每一分錢都點清楚,如果和銷售的數字有出入的話,就要重復點。因為不但要點清紙幣,還要點清硬幣,所以平均每晚都要花20分鐘的時間。幾個月后,她調到了另一家店,換了一位新店長。一天晚上我們一起關店,他看見我在一個一個的數硬幣,他非常的吃驚。他馬上演示了一下他是怎么數硬幣的,他把同類的硬幣抓在手上,看了看,猜了一個數值,只要它們的總價值在幾美元之內,他就繼續這樣點。20分鐘的時間被壓縮到5分鐘,因為他認為數字只要接近就可以了,并不需要非常的精確。他每天可以提早15分鐘回家,按照一周6個晚上,一年50周計算,他一年能夠節省75個小時,而他的職業生涯已經30年了

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Agile 建模 思想


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>