<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            面向對象技術與軟件工程探討

            時間:2024-08-20 05:07:25 碩士論文 我要投稿

            關于面向對象技術與軟件工程探討

              [摘要]隨著計算機技術的發展和人們對軟件本質和內在規律認識的提高,傳統的軟件工程方法已經不適應現代軟件系統的要求了。面向對象方法是一種新的軟件工程方法。本文介紹了現代軟件工程的特點以及面向對象軟件開發方法的基本思想和原理。

              [關鍵詞]面向對象軟件工程

              1.軟件工程概念及傳統軟件工程模式

              由于軟件危機的產生,使人們認識到用傳統方法再也無法駕馭如此復雜的軟件生產,是到了必須徹底解決軟件危機,才能拯救這一最有希望的新興產業的時候了。1986 年北大西洋公約組織的計算機科學家在聯邦德國召開國際會議,討論軟件危機問題。在這次會議上正是隨著計算機技術的發展及人們對軟件本質和內在規律認識的提高,對軟件工程的定論也在變化。著名的軟件工程專家B.W.Boehm 對軟件工程的定義是:“運用現代科學技術知識來設計并構造計算機程序及為開發、運行和維護這些程序所必須的相關文件資料”。

              軟件工程采用的方法是把軟件生存周期劃分成若干個階段,每個階段的任務相對獨立,而且比較簡單,便于不同人員分工協作,從而降低整個軟件開發工程的困難程度。在實現每個階段的任務時,采用的是系統化的技術方法———結構化分析和結構化設計技術。這是傳統的軟件工程模式。它的缺點是強調了分階段實施模塊化、結構化程序設計技術和方法,而忽視了人在軟件開發過程中的地位和作用。

              2.面向對象技術

              在計算機領域,很多新方法和新技術都從編程階段首先開始,進而發展到軟件生命期階段,早在60 年代未E.W.Dijkstra 就提出了結構化程序設計的概念,為程序設計方法學奠定了基礎。70 年代美國的E.

              Youdon 教授提出了結構化分析方法,指出了分析和設計比編碼更為重要,這一技術當時曾被軟件界看成是治愈“軟件危機”的靈丹妙藥,其實由不然。面對大型軟件系統,用結構化方法,系統的重要性、穩定性、擴充性都無法實現。80 年代面向對象方法應運而生,為軟件工程增添了活力。面向對象分析和面向對象設計是當今面向對象的關鍵技術。

              2.1 面向對象的概念面向對象簡稱為“00”。這是目前計算機業界使用的高頻詞。“00”代表著一種新的思維方式,代表著一種新的程序設計方法的潮流。

              傳統的程序設計方法,不論是需求分析,還是系統設計,都是針對數學模型的,出發點是“怎樣做”,即用計算機求解這個實際問題應該“怎樣做”。面向對象方法的出發點是:“是什么”,即要求解的實際問題,它到底“是什么”。Youtdon 給出了面向對象的一個定義:“面向對象= 對象+ 類+ 繼承+ 通信”。

              2.1.1 對象對象是面向對象開發模式的基本成分。每個對象可用其一組屬性和它可以執行的一組操作來定義。屬性一般只能通過執行對象的操作來改變。操作又成為方法或服務,在C++ 中稱為成員函數,它描述了對象執行的功能。若通過消息傳遞,還可以為其他對象使用。而消息是一個對象與另一個對象之間通信的手段,是要求另一個對象執行類中定義的某個操作的規格說明。發送給一個對象的消息定義了一個操作名和一個參數表(可能是空的),并制定某一個對象。當一個對象接收到發給自己的消息時,則調用消息中制定的操作,并將形式參數與參數表中的相應的值結合起來。接收對象對消息處理可能會改變對象的狀態,即改變接收對象的屬性,并發送一個消息給自己或另一個對象。可以認為,這種消息的傳遞大致等價于傳統過程性方法中的函數調用。

              為了把說明與實現分離,需對對象的數據結構和相關操作的實現進行封裝,因此,“對象”有兩個視圖,分別表現在設計和實現方面。從設計方面來看,對象是一些概念的實例。它們把有關的實體模型化。從實現方面來看,一個對象是表達在應用的可執行代碼中的實體而使用的實際數據結構。這些對象是數據結構與操作的單一混合體,它們是數據抽象的實例化。

              2.1.2 類類是一組具有相同數據結構和相同操作的對象的集合。類的定義包括一組數據屬性和在數據上的一組合法操作。類定義可視為一個具有類似特性與共同行為的對象的模板,可用來產生對象。在一個類中,每個對象都是類的實例,它們都可使用類中提供的函數。一個對象的狀態則包含在它的實例變量中。

              類,就其是一個數據值的聚合的意義上來看,與Pascal 中記錄或C中的結構類似,但又有差別。類擴展了通常的記錄語義,可提供各種級別的可訪問性。出就是說,記錄的某些成分可能是不可訪問的,而這些成分對于該記錄型來說具有可訪問性。類不同于記錄,因為它們包括了操作的定義,這些操作與類中聲明的數據值有相同的地位。

              2.1.3 繼承繼承是使用已存在的(現存)定義作為基礎建立新定義的技術。新類的定義可以在現存類所聲明的數據、定義與新類所增加的聲明的組合。新類復用現存類的定義,而不要求修改現存類。因為這種類的一部分已經實現和測試,故開發費用較少。現存類可當作父類(范化類、基類或超類)來引用,則新類相應地可當作子類(特化類、子女類或派生類)來引用。

              使用繼承設計一個新類,可以視為描述一個新的對象集合,它是現存類所描述對象集合的子集合。這個新子集合可以認為是現存類的一個特化。新類的界面還可以看作是現存類界面的擴充界面。

              2.1.4 消息消息是對象之間相互請求或相互協作的途徑,是要求某個對象執行其中某個功能操作的規格的說明。發送消息的對象成為發送者,接收消息的對象稱為接收者。對象間的聯系,只能通過傳遞來進行。對象也只能在收到消息時,才被激活。被激活后的對象代碼將按消息中的命令去操作它的私有數據,完成要求的功能。

              (1)消息的定義將操作送到目標對象的一種機制稱為消息。它包括操作名的選擇和傳遞、操作信息變量有三個部分:接收消息的對象、消息選擇符、變元。

              (2)消息的性質同一個對象可接受不同形式的多少消息,產生不同的響應,即:

              1 個對象M個消息M個動作相同形式的消息可以送給不同的對象,所做出的響應可以是截然不同的:即:

              M個對象1 個消息M個動作消息的發送可以不考慮具體的接收者,對象可以響應消息,也可以對消息不予理會,對消息的響應并不是必須的。

              在某個對象的一批消息中,由外界對象直接向它發送的消息,稱為公有消息。在某個對象的一批消息中,不對外發放,由對象自己向本身發送的消息,稱為私有消息。

              2.2 面向對象軟件開發方法面向對象的軟件開發方法是以數據為中心而不是以過程為中心。

              面向對象軟件本身的內部結構已發生了質的轉變。由此帶來良好的可構造性、可擴充性和可復用性。對象作為唯一標識的實體,封裝了一組屬性及其相關操作,提供了一種結構化系統設計的抽象手段。基于對象構造的系統,其開發的各個階段(分析、設計和實現)都是統一按照相互作用的對象來組織的,因此各個階段的過程比較平滑,不會象“瀑布型”的結構化方法,從分析到設計(數據流圖到結構流程圖)有很大的跳躍。

              2.3 面向對象的分析與設計

              完整的面向對象方法包含了面向對象分析、設計、實現、測試和維護等多個方面,其中面向對象的分析和設計用于描述一個系統,使整個面向對象方法中最重要的組成部分———最能體現面向對象方法好處的部分。面向對象的分析與面向對象的設計是在面向對象的程序設計語言基礎上發展起來的,試圖用面向對象軟件開發方法取代傳統的結構化軟件開發方法。

              2.3.1 面向對象的基本思想方法

              面向對象方法給出兩個問題和兩個空間的概念:客觀世界中的自然領域問題和計算機世界中的軟件產品問題;客觀世界中的自然領域問題空間對應于計算機世界中的解空間。從分析設計到編程,每一階段都是按問題域本身的樣子組織的。這種范型不僅帶來穩定性,而且還具有擴充性。面向對象方法的基本特點:模塊性、抽象性、繼承性、動態聯接的靈活性、易維護性和易擴充性。

              2.3.2 面向對象的設計在設計階段中繼續采用五個層次,用于建立系統的四個組成部分。

              這四個組成部分是問題論域、用戶界面、任務管理和數據管理。圖2 給出了這四個部分及其相互間的關系。

              問題論域部分包括與所面對的應用問題直接有關的所有類和對象。由于識別和定義這些類和對象的工作在00A 中已經開始,設計部分只是對它們做進一步的細化。在其他的三個部分中,識別和定義新的類和對象。這些類和對象形成問題論域部分與用戶、與外部系統和專用設備以及與磁盤文件和數據庫系統的界面。這三部分的作用主要是保證系統基本功能的相對獨立,以加強軟件的可復用性。

              3.小結

              用面向對象思想方法進行軟件構造、軟件過程研究和建立軟件體系結構都標志著面向對象理論趨于成熟。隨著計算機的廣泛應用,大型和超大型軟件系統的開發是必不可少的。從面向對象的思想出發,用面向對象的分析和設計方法去實現它,必將事半功倍。

              參考文獻

              [1]鄭人杰.殷人昆,陶永雷.實用軟件工程.北京:清華大學出版社

              [2]周之英.現代軟件工程.北京:科學出版社

              [3]朱海濱.面向對象技術———原理與設計.長沙:國防科技大學出版社

              [4]魏遠旺.基于面向對象的軟件復用技術的研究和應用[D].南昌大學,2005 年

              [5]段小君,高金環.軟件復用與面向對象技術[J].西安郵電學院學報,2004 年02 期

            【面向對象技術與軟件工程探討】相關文章:

            數據庫系統設計中面向對象技術的應用03-30

            軟件工程課程改革探討的論文03-19

            面向實踐的“運營管理課程”教學模式探討12-12

            面向能力培養的高等教育教學模式探討11-24

            數據庫開發中面向對象編程思想論文02-27

            簡談哲學與面向對象的關系及軟件開發的發展方向03-29

            面向大批量定制的客戶需求分析技術論文12-05

            通信技術的發展應用探討論文03-16

            對建筑電氣施工技術的探討與研究11-22

            多媒體技術在籃球教學中的應用探討11-24

            • 相關推薦

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院