面向对象的软件工程应用浅研
【摘要】隨著面向對象研究的不斷深入,面向對象技術的應用越來越廣泛,面向對象的思想被應用到許多不同的領域。在介紹軟件工程方法的基礎上分析了面向對象的軟件工程方法的分析技術、設計及軟件開發方法,從而說明了面向對象技術貫穿于軟件開發的全過程。
【關鍵詞】軟件工程;面向對象;軟件開發 1.軟件工程的定義 軟件工程是指導計算機軟件開發和維護的工程學科 采用工程的概念、原理、技術、方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方面結合起來.經濟地開發出高質量的 軟件并有效地維護它.這就是軟件工程軟件工程運用計算機科學、數學及管理科學等原理.借鑒傳統工程的原則、方法,創建軟件以達到提高質量、降低成本的目的 其中,計算機科學、數學用于構造模型與算法,工程科學用于制造規范、評估成本及確定權衡,管理科學用于計劃、資源質量、成本等管理。 2.軟件工程方法的流程 2.1軟件計劃
在設計任務確立前.首先要進行調研和可行性研究.理解工作范圍和所花費的代價.然后做出軟件計劃。
2.2軟件需求分析
對用戶要求進行具體分析.確定用戶要求軟件系統做什么.并用軟件需求規格說明書表達出來.作為用戶和軟件人員之間共同的約定。
2.3軟件設計
根據需求說明建立軟件系統的結構.包括數據結構和模塊結構。這部分又分為總體設計和詳細設計兩個階段。
2.4軟件編碼
按軟件設計的要求為每個模塊編寫程序。
2.5軟件測試
發現和排除程序中留存的錯誤.經過測試排錯.得到可交付運行的軟件。軟件測試又分為單元測試和綜合測試兩個階段。
2.6軟件維護
經過測試的軟件仍然可能有錯.另外 用戶的需求和系統的操作環境也可能發生變化,因此,交付運行的軟件仍然需要繼續排錯、修改和擴充.這就是軟件的維護。 3.面向對象的軟件工程方法 3.1面向對象的軟件工程方法的定義
面向對象技術(OO)是一個非常實用而強有力的開發方法。它是為了提高軟件系統的穩定性、可修改性和可重用性創造出來的一種軟件工具,具有方法的唯一 性、高度連續性等特性,并把面向對象分析、面向對象設計和面向對象編程集成到軟件生存周期的相應階段面向對象的軟件工程(OOSE)自上至下、自始至終地 貫徹面向對象思路,可以用于系統分析、系統設計、程序設計.也可以用于其他環境的開發.如數據結構設計、數據庫設計等。
3.2面向對象的軟件工程方法的特征和要點
面向對象軟件工程方法的出發點和基本原則.是盡可能模擬人類習慣的思維方式.使開發軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程.也 就是使描述問題的問題空間(也稱為問題域)與實現解法的空間(也稱為求解域)在結構上盡可能一致,因此,面向對象方法有以下的基本特征:
(1)封裝性:對象是數據和有關操作的封裝體。
(2)繼承性和類比性:在對象繼承結構上.下層對象繼承上層對象的特征屬性和操作。不同的對象具有某些相同的屬性時.常常把它們歸并成一類。
(3)動態連接性:對象和對象之間所具有的一種統一、方便、動態地連接和傳遞消息的能力與機制 動態連接性便于在概念上體現并行和分布式結構。
(4)易維護性:任何一個對象都是把如何實現對本對象功能的細節隱藏在該對象的內部。這就增強了對象和整個系統的易維護性。
概括地說.面向對象方法具有下述四個要點:
(1)把對象作為融合了數據及在數據上的操作行為的統一的軟件構件。面向對象程序是由對象組成的.程序中任何元素都是對象.復雜對象由比較簡單的對象組合而成。
(2)把所有對象都劃分成類。每個類都定義了一組數據和一組操作,類是對具有相同數據和相同操作的一組相似對象的定義。數據用于表示對象的靜態屬性.是對象的狀態信息 而施加于數據上的操作用于實現對象的動態行為。
(3)按照父類(或稱基類)與子類(或稱派生類)的關系,把若干個相關類組成一個層次結構的系統(也稱類等級)。在類等級中.下層派生類自動擁有上層基類中定義的數據和操作.這種現象稱為繼承。
(4)對象彼此之間僅能通過發送消息互相聯系。對象與傳統數據有本質的區別,它不是被動地等待外界對它施加操作,相反,它是進行處理的主體.必須向它發消息.請求它執行它的某個操作以處理它的數據.而不是從外界直接對它的數據進行處理。
3.3面向對象建模
為了更好地理解問題.人們常常采用建立問題模型的方法 通常.模型由一組圖示符號和組織這些符號的規則組成.利用它們來定義和描述問題域中的術語和概念。更進一步講.模型是一種思考工具.利用這種工具可以把知識規范地表示出來。
用面向對象方法開發軟件.通常需要建立三種形式的模型.它們分別是描述系統數據結構的對象模型.描述系統控制結構的動態模型和描述系統功能的功能模 型、這三種模型都涉及數據.控制和操作等共同的概念.只不過每種模型描述的側重點不同。這三種模型從三個不同但又密切相關的角度模擬目標系統.它們各自從 不同側面反映了系統的實質性內容.綜合起來則全面地反映了對目標系統的需求3.4面向對象軟件開發方法的幾個階段實際上.用面向對象方法開發軟件時,階段 的劃分是十分模糊的.通常在分析、設計、實現等階段問多次迭代。
(1)面向對象分析。面向對象分析(通常縮寫為OOA).就是抽取和整理用戶需求并建立問題域精確模型的過程。面向對象分析的關鍵,是識別出問題域內 的對象,并分析它們相互間的關系,最終建立起問題域的簡潔、精確、可理解的正確模型。在面向對象分析中,主要由對象模型、動態模型和功能模型組成。在用面 向對象觀點建立起的三種模型中.對象模型是最基本、最重要、最內核的。
(2)面向對象設計 從面向對象分析到面向對象設計(通常縮寫為OOD)是一個逐漸擴充的過程 或者說.面向對象設計就是用面向對象觀點建立求解域模型的過程 面向對象設計可再細分為系統設計和對象設計。系統設計確定實現系統的策略和目標系統的高層結構。對象設計確定解空間中的類、關聯、接口形式及實現服務的算 法。
(3)面向對象實現。面向對象實現主要包括兩項工作:
第一項工作是把面向對象設計結果.翻譯成用某種程序設計語言書寫的面向對象程序(通常此階段縮寫為OOP);
第二項工作是測試并調試面向對象的程序。面向對象程序的質量基本上由面向對象設計的質量決定.
但是.所采用的程序設計語言的特點和程序設計風格也將對程序的可靠性、可重用性和可維護性產生深遠的影響。
綜上所述.面向對象軟件工程方法可概括為如下的過程:分析用戶需求.從問題中抽取對象模型:將模型細化,設計類。包括類的屬性和類間相互關系.同時考 察是否有可以直接引用的已有類或部件.選定一種面向對象的編程語言.具體編碼實現上一階段的設計.并在開發過程中引入測試,完善整個解決方案。
總結
以上是生活随笔為你收集整理的面向对象的软件工程应用浅研的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向对象分析与设计小结
- 下一篇: 实用性强,性价比高的车子有哪些?