<p id="nxp5x"><big id="nxp5x"><noframes id="nxp5x">

    <var id="nxp5x"><video id="nxp5x"></video></var>

          <em id="nxp5x"></em>

              首 頁 本刊概況 出 版 人 發行統計 在線訂閱 歡迎投稿 市場分析 1 組織交流 1 關于我們
             
            1
               通信短波
            1
               新品之窗
            1
               優秀論文
            1
               通信趨勢
            1
               特別企劃
            1
               運營商動態
            1
               技術前沿
            1
               市場聚焦
            1
               通信視點
            1
               信息化論壇
            1
            當前位置:首頁 > 信息化論壇
            面向對象與結構化軟件設計方法的實踐對比
            作者:中油油氣勘探軟件國家工程研究中心有限公司  王雪梅
            來源:不詳
            更新時間:2009/9/20 19:39:00
            正文:






            一、引言
            結構化方法是在軟件行業得到廣泛接受和使用,并一度成為早期占主導地位的軟件構造與開發方法。而面向對象方法提出后,當代軟件工程的發展面臨著從傳統的結構化范型到面向對象范型的轉變,對象技術作為新范型的核心技術正在得到新的語言、新的系統和新的方法學的支持,這體現在已出現的面向對象的語言、數據庫、操作系統及開發環境上。
            本文以《機動設備管理系統》為實例,在開發實踐中對結構化設計與面向對象設計進行了對比和摸索,并根據具體情況對如何合理的綜合使用這兩種設計方法進行了探討。

            二、面向對象方法與結構化方法比較
            結構化方法首先關心的是功能,強調以模塊(即過程)為中心,采用模塊化、自頂向下、逐步求精設計過程,系統是實現模塊功能的函數和過程的集合,結構清晰、可讀性好,的確是提高軟件開發質量的一種有效手段。
            結構化設計從系統的功能入手,按照工程標準和嚴格規范將系統分解為若干功能模塊。然而,由于用戶的需求和軟、硬件技術的不斷發展變化,作為系統基本成分的功能模塊很容易受到影響,局部修改甚至會引起系統的根本性變化。開發過程前期入手快而后期頻繁改動的現象比較常見。
            面向對象方法則從所處理的數據入手,以數據為中心來描述系統,數據相對于功能而言,具有更強的穩定性,這樣設計出的系統模型往往能較好地映射問題域模型。對象、類,、繼承性、多態性、動態定連概念和設施的引入使用,顯然令面向對象的設計方法具有一定的優勢,能為生產可重用的軟件構件和解決軟件的復雜性問題提供一條有效的途徑。
            面向對象的設計過程就是指通過建立一些類以及它們之間的關系來解決實際問題,這就需要對問題域中的對象作整體分析,類和類間關系的設計要求較高,否則設計出的并不是真正意義上的面向對象的軟件系統,而只是一些類的堆砌而已,不能體現出面向對象設計方法的優勢之處。
             同時,系統的分析設計是一個注重實踐的領域,不僅僅依賴于一整套核心的概念與原理,要想設計出一個成功的系統來,還需要相應的語言、工具和技術的有力支持。在這方面,經過多年的實踐和發展,適應結構化方法的技術和開發環境已經相當成熟穩定。而對面向對象方法而言,雖然近時期涌現了大量的新工具和新技術,但仍有待于不斷的完善和改進,特別是面向對象的數據庫技術。
              
            三、實例分析
            下面以某單位的《機動設備管理系統》為例,對如何根據軟件統需求和設計的具體要求綜合采用面向對象與結構化方法進行分析,探討這樣構建軟件系統的效果。
            該系統是基于網絡的局、處兩級系統。局級機動處對全局所有機動設備進行統一管理,處級各單位只分管本單位的設備,局、處兩級共同完成設備的各項管理工作及進行相應的信息傳遞通訊。
            1、首先,在系統調查階段我們了解到:這個系統要分期開發。由于處于機構改革時期,系統生存期內的用戶需求和系統結構變因很多。這表明目標系統應該具有較強的可維護性、可修改性和可擴展性,即每期開發成果應在后續工程中具有較高的可重用率。其次,該系統的數據結構復雜,但數據的加工變換相對較單純。在這種情況下,以功能和過程主導分析設計,一旦后期系統有變更就將會給程序開發帶來很大的混亂和麻煩。而如果采用強調對象模型的面向對象方法,則可能將因功能變化帶來的影響大幅降低,非常有利于后期的維護和升級。
            因此,該系統最后采用了面向對象的三段式架構的體系結構,分為三個彼此相對獨立的層次:管理信息錄入與顯示的界面層、處理各種業務的應用層、存儲信息的數據管理層。這樣,三個層次既可獨立開發又互相密切配合,通過信息驅動機制實現各層的聯系調度,完成各項設備管理工作的處理。這種模型使系統系統結構清楚、分工明確。下圖即為三層結構的系統架構簡圖:

            2、另一方面,由于該系統屬于數據庫管理應用軟件,其數據庫分析設計直接關系到整個系統的開發成敗。目前,雖然面向對象數據庫已經存在和發展了較長時間,但由于缺乏好的數據模型和演算理論,依然未能達到真正成熟實用的階段。而關系型數據庫則在數據庫領域內處于主流地位,用戶與關系數據庫編程之間的接口是靈活與友好的,數據庫設計和規范化過程也簡單易行和便于理解;谶@樣的考慮,該系統選擇使用了關系型數據庫。
            關系型數據庫的本質是符合結構化設計原理的,比如Oracle、Sybase、SQL Server等著名商業數據庫系統,還是以關系型數據庫系統為主,OO數據庫系統還沒有得到實質性的應用,所以即使是在當前以C++、Java、C#等經典OO編程語言為主流開發工具,Delphi、PB、VB等傳統結構性編程語言也都轉向對象式開發模式的情況下,我們仍然不能說面向對象的開發方式就可以取代結構化軟件開發方法。我們應該注意到,在大量的使用上述數據庫系統的軟件系統中,其數據模型和底層數據交換接口的設計,仍然是基于結構化來進行設計的。
            在該系統的數據庫設計中,結構化方法得到了較好的實際應用,數據庫外部模式、邏輯模式、內部模式的逐步分析和映射過程比較自然通暢。其數據庫關系模型如下圖所示:


            四、結束語—理解和體會
            1. 軟件工程的目標是以最小的代價開發出滿足用戶需求的軟件。為此,根據系統的實際需求,分別針對具體情況選擇采用不同的設計方法,可以充分發揮面向對象與結構化方法各自的優勢。目前在大多數軟件系統的分析設計過程中,這兩者方法都兼而有之。
            事實上,在上述《機動設備管理系統》的開發過程中,除了使用對象模型、動態模型等面向對象的一些建模技術外,結構化的一些技術也被采用了,比如為了清晰描述系統的運行流程,依然使用了系統流程圖,這些技術的綜合使用起到了非常良好的作用。
            2. 理解是修改維護任何一個軟件系統的基礎,對面向對象的軟件而言,理解該軟件就需要了解軟件系統中主要對象的整個運行機制。但對象間的并行、繼承、傳遞、激活等特性,可能會對后期維護人員快速理解系統原設計思想帶來一定的障礙。目前,支持面向對象方法的軟件開發環境中能幫助理解軟件設計思路的工具并不多,在這方面結構化方法占有相對優勢。所以,使用面向對象方法設計的軟件系統要切實注意避免此類理解錯誤對開發帶來的不良影響。
            3. 不論哪一種設計方法,正確清晰的需求界定都是開發一個成功的軟件系統必不可少的前提條件,否則再好的設計方法也無濟于事。


             
             
               
            《通信市場》 中國·北京·復興路49號通信市場(100036) 點擊查看具體位置
            電話:86-10-6820 7724, 6820 7726
            京ICP備05037146號-8
            建議使用 Microsoft IE4.0 以上版本 800*600瀏覽 如果您有什么建議和意見請與管理員聯系
            欧美成人观看免费全部欧美老妇0