结构化方法、面向对象方法的区别
結構化方法、面向對象方法的區別
1.結構化方法遵循的基本原則
結構化方法的基本思想就是將待解決的問題看作一個系統從而用系統科學的思想方法來分析和解決問題結構化方法遵循以下基本原則
(1)抽象原則
抽象原則是一切系統科學方法都必須遵循的基本原則它注重把握系統的本質內容而忽略與系統當前目標無關的內容它是一種基本的認知過程和思維方式
(2)分解原則
分解原則是結構化方法中最基本的原則它是一種先總體后局部的思想原則在構造信息系統模型時它采用自頂向下分層解決的方法
(3)模塊化原則
模塊化是結構化方法最基本的分解原則的具體應用它主要出現在結構化設計階段中其目標是將系統分解成具有特定功能的若干模塊從而完成系統指定的各項功能
2.面向對象模型遵循的基本原則
面向對象模型遵循的基本原則有:抽象、封裝、模塊化以及層次原則等
(1)抽象
抽象是處理現實世界復雜性的最基本方式在OO方法中它強調一個對象和其他對象相區別的本質特性對于一個給定的域確定合理的抽象集是面向對象建模的關鍵問題之一
(2)封裝
封裝是對抽象元素的劃分過程抽象由結構和行為組成封裝用來分離抽象的原始接口和它的執行
封裝也稱為信息隱藏Information Hiding它將一個對象的外部特征和內部的執行細節分割開來并將后者對其他對象隱藏起來
(3)模塊化
模塊化是已經被分為一系列聚集的和耦合的模塊的系統特性對于一個給定的問題確定正確的模塊集幾乎與確定正確的抽象集一樣困難通常每個模塊應該足夠簡單以便能夠被完整地理解
(4)層次
抽象集通常形成一個層次,層次是對抽象的歸類和排序。在復雜的現實世界中有兩種非常重要的層次一個是類型層次另一個是結構性層次?。確定抽象的層次是基于對象的繼承,它有助于在對象的繼承中發現抽象間的關系,搞清問題的所在理解問題的本質
3.結構化方法的核心問題
模型問題是結構化方法的核心問題建立模型簡稱建模是為了更好地理解我們要模擬的現實世界建模通常是從系統的需求分析開始在結構化方法中就是使用SA方法構建系統的環境模型然后使用SD方法確定系統的行為和功能模型最后使用SP方法進行系統的設計并確定用戶的現實模型
4..面向對象方法的核心問題
面向對象方法與結構化方法一樣其核心問題也是模型問題面向對象模型主要由OOA模型OOD模型組成其中OOA主要屬于學科抽象形態方面的內容OOD主要屬于學科設計形態方面的內容
5.結構化系統分析方法的特點
(1)面向用戶,用戶自始至終參與系統的分析工作;
(2)強調調查工作的重要性;
(3)對管理業務中的各種數據進行分解;
(4)采用了層次分解的系統思想;
(5)用圖形工具來分析和構建新方案。
¨結構化分析的圖表工具主要由數據流程圖、數據字典和數據處理說明組成。
6.面向對象系統分析方法的特點
(1)??????強調系統開發的整體性和全局性
(2)??????側重于數據轉換的過程而不是數據本身
(3)??????系統的開發周期長
(4)??????封裝性?
對象的概念突破了傳統數據與操作分離的模式。對象作為獨立存在的實體,將自由數據和操作封閉在一起,使自身的狀態、行為局部化。
(5)?????繼承性?
繼承是面向對象特有的,亦是最有力的機制。通過類繼承可以彌補由封裝對象而帶來的諸如數據或操作冗余的問題,通過繼承支持重用,實現軟件資源共享、演化以及增強擴充。
(6)?????多態性?
同一消息發送至不同類或對象可引起不同的操作,使軟件開發設計更便利,編碼更靈活。
(7)?????易維護性
面向對象的抽象封裝使對象信息隱藏在局部。當對象進行修改,或對象自身產生錯誤的時候,由此帶來的影響僅僅局限在對象內部而不會波及其他對象乃至整個系統環境,這極大方便了軟件設計、構造和運行過程中的檢錯、修改。
------------------------------------------------------------------------------
程序設計是一門技術,它需要相應的理論、技術、方法和工具來支持。就程序設計方法和技術的發展而言,主要經過了結構化程序設計和面向對象的程序設計階段,但它們的所采用的方法和針對的對象卻是不一樣的。?
????結構化方法是最早最傳統的軟件開發方法,也是迄今為止信息系統中應用最普遍、最成熟的一種,它引入了工程思想和結構化思想,使大型軟件的開發和編程都得到了極大的改善。結構化方法的基本思想可概括為:自頂向下、逐步求精、模塊化技術。?
????自頂向下逐層分解,是指在程序設計時,先考慮問題大的方面,在確定了主要方向后,再由表及里深入到問題具體的細節,由易到難,逐層解決問 題。這是一個由模糊到清晰,由概括到具體的過程。而逐步求精是在遇到復雜問題的時候,先設計一些子目標作為過渡,來逐步細化。比如在對學生編寫資料時,應 先將學生分為專科生、本科生、研究生。在對本科生填寫資料時,又可對其的專業、班級、學號、姓名、籍貫等進行進一步的劃分,依次類推,逐步把資料填寫完 全。?
????結構化方法強調功能抽象和模塊化。由于它采取了分塊處理問題的方法,可以把一個比較復雜的問題分解為若干個容易處理解決的部分,從而降低 了問題處理的難度。由于結構化方法思路清晰,條理清楚,又有效地分解了繁復的問題,使得編寫程序時清晰明了,簡化了編程人員繁雜的工作;而在閱讀時也能夠 一氣呵成,給人以明朗的感覺。?
面向對象方法是目前已經發展成為主流的軟件方法,它經過了30多年的研究和發展,已經越來越成熟和完善,應用也越來越深入和廣泛。如著名的 Smalltalk,C++,Java,Eiffel等都屬于面向對象語言。面向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步 驟,而是為了描敘某個事物在整個解決而面向對象的設計則是從另外的思路來解決問題。面向對象方法的本質是主張從客觀世界固有的事物出發來構造系統,提倡用 人類在現實生活中常用的思維方法來認識和理解、描述客觀事物,強調最終建立的系統能映射的問題域。使得系統中的對象,以及對象之間的關系能夠如實地反映問 題域中固有的事物及其關系。?
面向對象方法它有著自己的優點。首先,它與人類習慣的思維方法一致,使得使用者和維護人員都容易理解,在用戶使用時不會出現理解困難,在軟件維護 中可維護性也較高,并且易于測試和調試。比如黑白雙方在設計五子棋時,可分為行為是相同的黑白雙方,負責繪制畫面的棋盤系統,負責判定犯規、輸贏等的規則 系統。第一類對象(玩家對象)負責接受用戶輸入,并告知第二類對象(棋盤對象)棋子布局的變化,棋盤對象接收到了棋子的變化就要負責在屏幕上面顯示出這種 變化,同時利用第三類對象(規則系統)來對棋局進行判定問題的步驟中的行為。可以明顯地看出,面向對象是以功能來劃分問題,而不是步驟。?
其次,它的穩定性好,對軟件的局部進行修改時,不會引起整體的變化,而且對局部修改容易實現。面向對象方法的可重用好,并且由于它是把大的問題分解成相互獨立的小問題處理,降低了開發的技術難度,開發工作的管理也變的容易了,開發大型軟件邊的容易,成本也降低了。?
面向對象方法直接由問題入手,來進行系統的建模,降低了使用成本,讓用戶在使用一個新的軟件時,能夠在最短的時間里了解使用方法,能正確,清楚地使用軟件。?
在編寫程序方面,結構化方法有著比較強的優勢,它思路清晰,條理嚴謹,步驟整潔,便于閱讀理解;而在注重功能的用戶使用方法,面向對象方法則更容易理解,它操作簡單,界面清楚,使得軟件使用變得簡單。
總結
以上是生活随笔為你收集整理的结构化方法、面向对象方法的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信接收的视频打不开?改个后缀名就能打开
- 下一篇: Html监听Fbx文件加载,FBX格式m