<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    潛魚在淵

    Concentrating on Architectures.

    posts - 77, comments - 309, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    小議模型

    Posted on 2005-11-24 01:01 非魚 閱讀(1103) 評論(2)  編輯  收藏 所屬分類: 面向對象設計
        如果你現在是一個程序員,準備在軟件開發這條路上走下去,并且希望能夠在這條路上越走越順的話,你應該在模型上下更多的功夫。典型的技術人員在軟件開發職 業上的路有兩條:1. 程序員(編碼)->高級程序員(詳細設計)->系統分析員(系統分析)->架構師(架構設計);2. 程序員->高級程序員->Team Leader->Project Manager。不管你準備走哪一條路,模型都是你必不可少的、有力的工具。

        模型是什么?

        模型是系統知識的抽象表示。我們不能僅僅通過語言來描述一個系統,也不能僅僅通過記憶來記錄關于系統的知識。知識是通過某種媒介來表達的,這種媒介所表達 的內容就是模型。而知識形成媒介的過程就是建模,或者稱為模型化。通常模型可以使用多種不同的媒介來表達,比如紙質或電子文檔、縮微模型/原型、音像制品 等等。而表達模型的體現方式也是多種多樣的,常見的有圖表、公式、原型、文字描述等等。

        模型三要素

        模型是通過建模語言、表示法和文字描述來表示的。語法(syntax)、語義(semantics)和語用(pragmatics)是模型的三個要素。

        語法是使用建模語言所提供的元素的方法,以及如何組織、關聯這些元素。

        語義是指一個具體模型所表達的含義。

        語用則表示模型在特定環境下的應用,以及應用此模型的環境對模型本身的影響。

        模型的作用

        模型首先是參與構造軟件的人之間的主要溝通手段和基礎;其次,模型指導系統的實現;模型還幫助設計者做出決策;最后,模型對未來的開發很重要,也是軟件維護的基礎。

        軟件模型存在的問題

        國內的軟件開發,從來都不缺乏模型——缺乏的是模型的完整性和準確性。產生這個問題的原因有很多,其中主要的、影響較大的有:不切實際的進度要求迫使開發商極力壓 縮建模時間;分析設計人員水平不夠;分析設計人員沒有掌握建模方法或對模型的表達不科學;建模完成后缺乏維護。

        進度問題是一個非常棘手的問題,一般還是要依靠商務人員解決。分析設計人員水平問題,我是沒有辦法解決。——這些都不在本文討論范圍內。下面主要講后面兩個問題。

        建模問題及對策

        首先就是對建模語言的語法掌握不準確,甚至存在對語法的誤用。這就導致了模型表達不精確,或者使用錯誤的方式來表達正確的概念。這在小型的開發組織中是比較常見的。解決這個問題的對策如下:

    • 開展針對建模語言、建模方法的培訓。培訓才是王道??!
    • 使用盡量小的建模語言元素集合。這樣可以減小犯錯誤的機會,只是治標不治本。
    • 局部范圍內統一對建模語言元素的使用。這是Work around的方法,初始成本低,但這要求后期水平提高后批量修改原存在錯誤的模型。
        模型維護問題及對策

        相比建模問題,模型維護在問題更加嚴重和普遍。本來,模型和實際的事物之間就存在著一定的差異,這叫做語義間隙(semantic gap)。這類似于思維和客觀對象之間的關系——思維只能無限逼近客觀對象的實際原理。由于人(客戶)本身的思維不確定性及其不斷發展,用戶需求總是在不 斷改進或變化。相應的,我們開發的軟件也要不斷的修改。但是,在國內,這種變化基本從未反應到模型中。這就造成語義間隙越來越大,最后模型也就成了聾子的 耳朵——擺設。解決這個問題的對策:

    • 加強軟件配置管理和變更控制。通過嚴格的變更控制來確保模型的一致性。
    • 逆向工程在某些情況下可以發揮作用。可惜不是總能夠發揮作用,而且它不能減小語義間隙。
    • 期待MDA(Model Driven Architecture)。問題是MDA什么時候才能完善呢?保持關注吧。
        關于語用

        關于語用的研究不多。語用,即使在語言學范疇也是比較偏的領域?;旧衔覀儧]有一個可用的指導理論,只能依賴于經驗。對于越大的系統,模型越重要,也能夠 發揮其作用。對于簡單的系統,可以建設較小的模型,其發展可能會較快,這就需要更多的維護工作。簡單系統通常至少需要一個精致的核心模型,雖然用到的語法 元素不多,比較緊湊,但也不能在這方面忽視它。

        繼續閱讀下一篇:《再議模型》

    評論

    # re: 小議模型  回復  更多評論   

    2005-11-24 12:06 by fisher
    看上去像是在講Architecture Pattern
    有什么不同嗎?

    # re: 小議模型  回復  更多評論   

    2005-11-24 15:17 by 非魚
    Fisher, 我主要講的是模型, 建模的問題. 而模式(不管是設計模式還是架構模式)可以認為是通用解決方案.

    模型和建模都是針對具體問題的,模型學或者建模方法論則是建模的方法\學說.

    模式是在大量問題解決的基礎上總結出來的比較通用的解決方案.
    主站蜘蛛池模板: 在线中文高清资源免费观看| 美女在线视频观看影院免费天天看| 13一14周岁毛片免费| 亚洲国产另类久久久精品| 国产国产人免费人成成免视频| 亚洲?v女人的天堂在线观看| 羞羞漫画登录页面免费| 亚洲&#228;v永久无码精品天堂久久 | 美景之屋4在线未删减免费 | 国产性生大片免费观看性| 亚洲性日韩精品国产一区二区| 免费播放国产性色生活片| 亚洲国产成人久久精品99 | 亚洲国产精品专区| 青苹果乐园免费高清在线| 亚洲色大成网站www久久九| 国产成人免费全部网站| 一本大道一卡二大卡三卡免费| 亚洲伊人久久综合影院| 永久免费AV无码网站国产| 亚洲精品无码久久久久久久| 成年在线观看网站免费| 亚洲AV成人无码网天堂| 亚洲无码精品浪潮| 国产精品免费一区二区三区四区| 亚洲精品综合一二三区在线| 120秒男女动态视频免费| 亚洲а∨天堂久久精品9966| 免费午夜爽爽爽WWW视频十八禁| 国产免费黄色无码视频| 亚洲AV美女一区二区三区| 免费大片黄在线观看yw| 香蕉97碰碰视频免费| 日本红怡院亚洲红怡院最新 | 国产中文字幕在线免费观看| 久久精品国产亚洲AV香蕉| 四虎成人免费影院网址| 中文字幕在线免费看线人| 亚洲AV成人噜噜无码网站| 国产一区二区三区无码免费| 精品视频一区二区三区免费|