日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

结构化方法与面向对象方法之比较

發布時間:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结构化方法与面向对象方法之比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

結構化方法與面向對象方法之比較

隨著計算機軟硬件各方面的飛速發展,計算機領域的觀念和方法日新月異。面向對象方法始于20世紀60年代挪威奧斯陸大學和挪威計算機中心共同研究的SMULA語言。70 年代,人們都認為結構化方法是最好的系統開發方法,直到現在仍有許多系統是用它開發的。然而,隨著計算機應用技術的不斷發展,結構化方法越來越不能適應日益復雜龐大且高速發展的信息系統的建設。80年代以來,面向對象方法正引起越來越強烈的關注和重視,并在業內掀起一股新的面向對象編程浪潮。面向對象方法是在結構化方法、信息建模方法等基礎上發展起來的,現已呈現出取代結構化方法的趨勢。本文具體分析兩者在軟件開發中的差別以及面向對象方法的優越性。

結構化方法:

結構化方法是計算學科的一種典型的系統開發方法,是對現實世界的應用問題進行分解,面向過程設計問題空間的解域,強調自頂向下、逐步求精、模塊化設計。

結構化方法的建模技術包括DFD(數據流圖)、DD(數據字典)、ERD(實體一聯系圖)和SC(結構圖)。

(1)數據流圖:數據流圖是 SA 和 SD 的核心技術, 它采用面向處理過程的思想 來描述系統,它是一種描述信息流和數據從輸入到輸出變換的應用圖 形技術。 模擬系統的一個大致邊界,并展示系統和外部的接口、數據的 輸入和輸出以及數據的存儲。

(2)數據字典:數據字典是一個包含所有系統數據元素定義的倉庫。 數據元素的 定義必須是精確的、嚴格的和明確的。 一個實體一般應包括以下幾個 部分的內容: ①名字; ②別名; ③用途; ④內容描述; ⑤備注信息。

(3)實體-聯系圖:實體-聯系模型被用來模擬系統數據部件之問的相互關系。 實體-聯系模型獨立于當前的系統狀態,并與具體的計算機程序設計語言無關。

(4)結構圖:準確的表明程序結構,它能描述出各個模塊之間的聯系和關系。與數據流圖不同,結構圖描述的是控制流的情況。結構圖的主要成分有:模塊;模塊間的調用關系,箭頭指向的是被調用模塊;模塊間的通訊,在表示調用關系的箭頭旁邊的一個小箭頭表示;輔助控制符號,當模塊A有條件的調用模塊B時候,在箭頭的起始點加上一個菱形,當模塊A反復調用模塊B的時候,在箭頭的中間加上一個環形。

結構化方法包括結構化分析(Structured Analysis,簡稱SA)、結構化設計(Structured Design,簡稱SD)和結構化程序設計(Structured Program Design,簡稱SP)三部分內容。

SA具體是面向應用,分解需求。方法步驟為:分析當前的情況,做出當前物理模型的DFD;推導出等價的邏輯模型的DFD;設計新的邏輯系統,生成數據字典和基元描述;建立人機接口,確定目標系統物理模型的DFD。

SD是細化分析結果,過渡軟件結構。方法步驟為:評審和細化DFD;確定DFD類型;把DFD映射到軟件模塊結構,設計出上層結構;基于DFD逐步分解高層模塊,設計中下層模塊;對模塊結構進行優化,得到更為合理的軟件結構;描述模塊接口。

SP是進行系統設計。

面向對象方法:

面向對象方法是使用現實世界的概念抽象地思考問題從而自然的解決問題。強調模擬現實世界中的概念而不強調過程或算法,支持重用。主要有OOA和OOD模型。其中OOA 主要屬于學 科抽象方面的內容,OOD 主要屬于學科設計方面的內容。

(1)OOA 模型:(立足應用,刻畫問題)

OOA 關心的是構建現實世界的模型問題。 如何解決現實世界的 建模問題呢?根據系統科學的思想,首先需要對復雜的系統進行分解, 最常用的分解方法就是分層。 關于OOA 模型的分層方法有不少,現采用P.Coad和E.Yourdon的分層方法。該方法將 OOA 模型劃分為5個層次,即:主題層、對象層、結構層、屬性層和服務層。OOA 的主要任務就是要在問題 域上構建具有這5個層次內容的 OOA 模型。

1)主題層:主題給出 OOA 模型中各圖的概況, 為分析員和用戶提供了一個 相互交流的機制,有助于人們理解復雜系統的模型構成。

?2)對象層:對象是屬性及其專用服務的一個封裝體, 是對問題域中的人、事和物等客觀實體進行的抽象描述。 對象由類創建,類是對一個或多個 對象的一種描述,這些對象能用一組同樣的屬性和服務來刻畫。

3)結構層:在OO方法中,組裝結構和分類結構是兩種重要的結構類型,它 們分別刻畫“整體與部分”組織以及“一般與特殊”組織。組裝結構(即整體與部分)遵循了人類思維普遍采用的第2個基本法 則,即區分整體對象及其組成部分。分類結構(即一般與特殊)遵循了人類思維普遍采用的第3個法 則,在OO方法中,是類、成員和它們之間的區別。

4)屬性層:屬性是描述對象或分類結構實例的數據單元,類中的每個對象都 具有它的屬性值,屬性值就是一些狀態的信息數據。

5)服務層:一個服務就是收到一條信息后所執行的處理(操作)。服務是對模型化的現實世界的進一步抽象。

(2)OOD模型:(細化分析結果、補充現實相關)

OOA 與 OOD 不存在轉換的問題。OOD根據設計的需要, 僅對OOA在問題域方面建立的 5個抽象層次進行必要的增補和調整。方法步驟為改進和完善系統分析的結果;設計交互過程和用戶接口;設計任務管理,以及子系統以及任務之間的協調方式;設計全局資源,確定任務或子系統的資源分配;對象設計。同時,OOD還必須對人機交互、任務管理和數據管理3個部分的內容進 行抽象,最后建立完整的OOD模型。

結構化方法和面向對象方法優缺點比較:

(一)從執行效率來說。結構化方法比面向對象方法產生的可執行代 碼更直接, 更高。所以對于一些嵌入式的系統, 結構化方法產生的系統 更小, 運行效率更高。

(二)從重用性方面來說。采用結構化方法的系統難以修改和擴充。 結構化分析與設計清楚定義了系統的接口, 當系統對外界接口發生變 動時, 往往造成系統結構較大變動, 難以擴充新的功能接口。采用結構 化方法的系統可復用性較差。結構化方法將數據和操作分離, 導致一些 可重用的軟件構件在特定具體應用環境才能應用, 降低了軟件的可重 用性。面向對象方法具有很好的重用性。在遇到類似的問題, 通過應用 了抽象繼承等技術, 來重用代碼。

?(三)從程序語言編譯器來說。面向對象方法, 通過編譯器實現代碼 的面向對象性。也就是說經過編譯器后, 代碼會被翻譯為相對應的結構 化代碼。所以要熟練開發, 還要懂一定的結構化方法做為基礎。

(四)從掌握難度來說, 面向對象方法比結構化對象方法復雜,難于 理解。面象對象方法的內容廣, 概念多, 而且很多都是難于理解, 做到精 通更加不易。應用面向對象方法, 常常需要一種支持的分析, 設計方法, 如 RUP 方法, 敏捷方法等。這些知識抽象枯燥,難于掌握。面象對象方法 要經過長期的開發實踐才能很好的理解, 掌握。相比之下, 結構化方法 知識內容少, 容易上手。

(五)從應用的范圍看, 結構化方法適用于數據少而操作多的問題。 實踐證明對于像操作系統這樣的以功能為主的系統, 結構化方法比較 適應它。面向對象方法正好相反, 對于數據庫, 信息管理等以數據為主 的而操作較少的系統, 用面向對象方法描述要好于結構化方法。

總之各有利弊,具體使用什么方法還需要根據具體情境而定。

引用文檔:

百度百科結構化方法-----

http://baike.baidu.com/link?url=4lVpuDxpyAWR6fvyp94pw0ad9B1Tu1vBMKByom8NQCWJGzCJ7WHZLYYySCqSwyqVSuJVKCo0-kpEsNGfPf0ioIyBGN6KJ2xwaxA5d7a2oD0iwhnyzVgM0ODPTZdIr6KyWyr9-nmEoXer1RlvZFvwGq

百度百科------

http://baike.baidu.com/item/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E6%96%B9%E6%B3%95/216078

結構化程序設計方法與面向對象程序設計方法之比較-------喻梅

面向對象方法與結構化方法------ 賀啟寶,王軍

轉載于:https://www.cnblogs.com/cbh14061127/p/6182911.html

總結

以上是生活随笔為你收集整理的结构化方法与面向对象方法之比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。