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

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

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

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

    軟件測試面向對象軟件工程方法學實踐[1]

    發布: 2009-11-16 10:41 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 39次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試面向對象軟件工程方法學實踐[1]   軟件測試工具

    關鍵字:面向對象 分布對象

      兩位研究面向對象軟件工程的美國學者 (Stave Halladay和Michael Wiebel) 曾這樣說:“一般的面向對象編程(OOP)思路不過是一批烏合之眾,把靈機一動、隨機應變的技巧用于他們絞盡腦汁抽象出來的‘對象’而已。即使是最優秀的 OOP 程序員,他們所能對付的極限也莫過于中等規模的開發項目。倘若程序員經驗不足,系統規模又很大,那么采用 OOP 只能把你引入漫無邊際的泥沼之中!

      一方面是幾乎沒有一位軟件工程學者認為 OOP 是完美無缺的,另一方面是 OOP 勢如破竹,近乎每一種最新推出的程序開發工具或語言都采用了 OOP 思路;一方面是越來越多的“烏合之眾”在毫無章法、隨心所欲地處理著“對象”,另一方面是經過近 30 年的積累已經擁有了最大多數用戶的結構化軟件方法的日漸萎縮……面對這一現實,研究軟件工程方法學的專家們紛紛指出:“當前擺在軟件開發方法學面前的一個重要課題是:從理論上理解 OOP 具有強大生命力的天然合理性,并完善面向對象軟件工程方法學體系!

      一年來我們通過國內外一些實用系統的開發實踐,對面向對象的軟件工程方法進行了較為深入的學習和探討,特別是在北京市公路局計算機系統的一期工程實踐中,借鑒國外軟件設計經驗,較系統地采用了面向對象軟件工程方法,受益匪淺。

      一、 是“設計主導”還是“程序主導”

      在一個系統開發過程中是只采用 OOP 還是采用了OOSE(面向對象軟件工程)方法,關鍵看整個開發過程是“設計主導”還是“程序主導”。

      近年來,大量先進程序開發工具進入我國,這對提高軟件開發效率無疑具有很大的作用。然而,它們又往往使程序主導型軟件開發人員在“以程序代系統”、“以算法代設計”的誤區里越陷越深。

      一般的軟件開發人員(包括那些只見程序不見系統的程序員)主觀上都認為:軟件開發不應“系統設計主導”而應“程序算法主導”。但是用下面幾個問題考察一下,結果往往相反。

      問題1 在進行軟件設計和選擇軟件開發工具之前,是否進行開發方法學的選擇?

      所謂方法學是指組織軟件生產過程的一系列方法、技術和規范。方法學是軟件開發者長年失敗和成功經驗的理論性總結,從軟件重用的思路來說,方法學重用的價值遠非某些程序組件重用可比。

      以北京市公路局系統為例。首先,在系統調查階段我們了解到:這個系統要分期 (遞增式) 開發。由于處于機構改革時期,系統生存期內的用戶需求和系統結構變因很多。這表明目標系統應該具有較強的可維護性,即每期開發成果應在后續工程中具有較高的可重用率。其次,一期工程的工作量相當大(最后成果包括 124 個模塊、72 類報表、119個數據庫表、439 個窗口、912 個數據窗口),而開發者對公路局業務不了解,多為經驗不足的大學生,理解需求的能力較低。這表明采用的開發方法學必須能最大限度地減少重復勞動,實現開發過程中的成果共享和重用;必須能支持消除需求理解誤差的調整工序,使下游成品階段的設計變更比較容易進行。

      在開發此系統之前,我們承接了一個國外軟件的下游開發任務。由于它采用了面向對象的軟件設計,使我們深刻認識到國內外軟件開發方法學和技術上的差距,頗受啟發。

      參照我們承接的國外軟件開發工作量計算方法,即僅下游120個模塊 (含報表) 的編碼和測試為41人月,那么公路局系統從上游設計開始近200個模塊和報表、100多個數據庫表的開發工作量至少也應在120人月以上。由于采用了面向對象的軟件工程方法,盡管開發人員大多經驗不足,但是第一期工程總工時最終仍控制在 80 人月以內,降低成本1/3左右。同時在系統可維護性、重用度及其他功能和性能指標上,均超過了我們以往采用結構化方法開發的系統。

      對停留在程序主導級開發的軟件開發人員來說,他們選擇 OOP 的原因也往往是被動的。其實,在程序主導開發者的辭典中是找不到“方法學”這一詞的,或者把“方法學”與“程序算法”混為一談。至于把 OOP 看成是 OOSE 的全部就更不足為怪了。

      問題2 對象抽象的出發點是現實世界的問題描述,還是可執行的實例對象?

      在現實世界早期抽象階段,面向對象方法與其他方法區別并不大,都要從現實世界的問題描述出發,即從用戶接口、問題領域的知識和經驗出發,構筑現實世界的問題模型,也就是確定目標系統是“做什么的”。面向對象的問題分析模型從3個側面進行描述,即對象模型 (對象的靜態結構)、動態模型(對象相互作用的順序)和功能模型(數據變換及功能依存關系)。軟件工程的抽象原則、層次原則和分割原則同樣適用于面向對象方法,即對象抽象與功能抽象原則是一樣的,也是從高級到低級、從邏輯到物理,逐級細分。每一級抽象都重復對象建模 (對象識別)→動態建模(事件識別)→功能建模(操作識別)的過程,直到每一個對象實例在物理(程序編碼)上全部實現。

    延伸閱讀

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

    TAG: 面向對象 軟件測試 軟件工程 實踐


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