㈠ 結構化分析方法是面向什麼的開發方法。。。。求高手快幫我解答!!
結構化開發方法:
早期的程序開發,如C語言,都是用結構化開發方法。
結構化開發又叫做面向過程開發,具體原理是將一個軟體分為多個過程(函數)進行開發,用結構體(struct)管理數據。這種開發方式使得代碼的可讀性變得很低,並且代碼難以移植。
現在較常用的開發方法為面向對象開發(Object-Oriented),分為分析(Analysis)、設計(Design)、編程(Programming)三部分。
面向對象開發最大的成功之處在於添加了「對象」的概念。試想一下:如果我要編寫一個游戲,在這游戲中,游戲的角色是一個對象,敵人是一個對象,這樣我們就可以通過對每個對象進行管理從而減輕開發負擔。面向對象有三個要素:屬性、事件、方法。以一個人舉例說明,一個人的身高、體重、姓名、國籍等都是他的「屬性」,一個人可以走路、可以吃飯、可以寫字,這些都是他的「方法」,一個人被熱水燙到就會大叫起來,諸如這種反射都可以稱作「事件」。面向對象還具有三個特性:封裝、繼承、多態。還是以一個人舉例,一件事只有我記著,我不說出去,只有我知道,這就是「封裝」。我父親是搞文藝的,我生來就有藝術細胞,這就是「繼承」。我有很多兄弟,當人們提到我的姓氏的時候就是在叫我們家的人,這就是「多態」。
比較兩種開發方式,面向對象開發更加接近於現實生活,可以使人的思路更加明確,而面向結構開發則更注重思維邏輯,具有一定難度。所以面向對象開發是當前最好的開發方式。
面向對象開發是基於結構化開發的,還保留著結構化開發中的「函數」、「結構體」等元素。
希望採納
㈡ 結構化方法有結構化分析、結構化設計、結構化程序設計構成,它是一種面向(對象)的開發方法。
結構化程序的概念首先是從以往編程過程中無限制地使用轉移語句而提出的。轉移語句可以使程序的控制流程強制性的轉向程序的任一處,在傳統流程圖中,就是用上節我們提到的"很隨意"的流程線來描述這種轉移功能。如果一個程序中多處出現這種轉移情況,將會導致程序流程無序可尋,程序結構雜亂無章,這樣的程序是令人難以理解和接受的,並且容易出錯。尤其是在實際軟體產品的開發中,更多的追求軟體的可讀性和可修改性,象這種結構和風格的程序是不允許出現的。比如:C,FORTRAN,PASCAL等等
結構化程序設計方法主要由以下三種邏輯結構組成:
1)順序結構:順序結構是一種線性、有序的結構,它依次執行各語句模塊。
2)循環結構:循環結構是重復執行一個或幾個模塊,直到滿足某一條件為止。
3)選擇結構:選擇結構是根據條件成立與否選擇程序執行的通路。
**採用結構化程序設計方法,程序結構清晰,易於閱讀、測試、排錯和修改。由於每個模塊執行單一功能,模塊間聯系較少,使程序編制比過去更簡單,程序更可靠,而且增加了可維護性,每個模塊可以獨立編制、測試。**
面向對象程序語言中支持的對象具有三個明顯得特徵:
封裝、繼承、多態;而Javascript在類別和副本上並沒有明顯地分界。事實上,Javascript語言中所有的變數數據類型在JS中都是對象。JS總共支持4種對象:內置對象、自定義對象、瀏覽器程序對象和ActiveX對象。 return this只是返回該對象,以便別處引用,但並不是多出一個對象。
所以,面向過程的程序設計中:程序=演算法+數據結構
數據結構和演算法相分離的,所以,系統龐大後,它的控制、移植、重用就成了問題。
而在面向對象的程序設計中:
對象=數據結構+演算法
程序=對象+對象+.....
所以克服了面向過程的設計中存在的問題。
㈢ 結構化設計是一種面向 的設計方法。
1,結構化設計是一種面向數據流的設計方法。
2,結構化設計是數據模型和過程模型的結合。在設計過程中,它從整個程序的結構出發,利用模塊結構圖表述程序模塊之間的關系。
3,結構化設計的步驟如下:
(1)評審和細化數據流圖;
(2)確定數據流圖的類型;
(3)把數據流圖映射到軟體模塊結構,設計出模塊結構的上層;
(4)基於數據流圖逐步分解高層模塊,設計中下層模塊;
(5)對模塊結構進行優化,得到更為合理的軟體結構;
(6)描述模塊介面。
㈣ 結構化分析方法和面向對象方法的區別
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) 易維護性
面向對象的抽象封裝使對象信息隱藏在局部。當對象進行修改,或對象自身產生錯誤的時候,由此帶來的影響僅僅局限在對象內部而不會波及其他對象乃至整個系統環境,這極大方便了軟體設計、構造和運行過程中的檢錯、修改。
㈤ 你覺得面向對象方法和結構化分析方法有什麼區別試分析之
結構化是對數據及演算法的一種處理方式。具體沒用過,只是了解是這個樣子。(下面的是我的一些想法,拿來想和大家交流一下,因為交流的機會很少,大家似乎很急躁。)
面向對象不是簡單的對編程對象的處理方式。它確切的說應該是這樣的樣子:首先將現實世界中,主體(即所謂對象)和主體間的關系進行想像(抽象),對應到編程中,強調程序中的各個主體(對象)和他們得關系(繼承,多態什麼的)一一對應現實世界中的主體。
所謂面向對象,就是講編程的理念,從對數據的演算法分析,轉變為對現實世界問題的剖析,進而使編程擺脫數據的束縛,使得程序就像自然世界的主體和主體間的關系那樣, 先將程序變為為一個一個的主體的組合體,然後看主體間的關系,自然而然的使得代碼非常好維護,重用性也非常強,因為你知道DOG就是現實中的狗,那麼狗這個主體有什麼功能你自然知道,狗和人是什麼關系,你也清楚,你就不必看代碼來分析這段代碼什麼意思,和那段又有什麼關系了。這是不是一種非常自然明了的編程方式呢。
很多教程上來就說這個怎麼用,那個怎麼回事,看代碼看到頭暈也不甚明了,編出的程序亂七八糟,想怎麼編就怎麼編,實際上,這樣子編程已經不是面向對象了,因為他即不剖析主體和主體間的關系,也不將程序中的主體與關系和現實一一對應主體。
其實我很想知道,寫那些編程書籍的人,本身是否是程序員,本身是否明白什麼是面向對象,知不知道面向對象是一種程序的設計方式,而不是程序的編寫方式。
以上是我對面向對象這個問題的大局觀以及一些觀點,也不知道對不對,因為根本沒有人說個這個東西。如有錯誤,請不吝賜教!直接回復即可,謝謝。
㈥ 對比傳統的結構化分析和設計方法的特點,談談面向對象方法學的主要優點。
結構化程序設計特點:
優點: 與非結構化程序相比,結構化程序在調試、可讀性和可維護性等方面都有很大的改進。
缺點:代碼重用性不高:以過程為中心設計新系統,除了一些標准函數,大部分代碼都必須重新編寫。
由於軟、硬體技術的不斷發展和用戶需求的變化,按照功能劃分設計的系統模塊容易發生變化,使得開發出來的模塊的可維護性欠佳。
面向過程模式將數據與過程分離,若對某一數據結構做了修改,所有處理數據的過程都必須重新修訂,這樣就增加了很多的編程工作量。
面向對象的優點:
而面向對象圍繞現實世界的概念來組織模塊,採用對象描述問題空間的實體,用程序代碼模擬現實世界中的對象,使程序設計過程更自然、更直觀。
面向過程是以功能為中心來描述系統,而面向對象是以數據為中心來描述系統。相對於功能而言,數據具有更強的穩定性。
面向對象模擬了對象之間的通信。就象人們之間互通信息一樣,對象之間也可以通過消息進行通信。這樣,我們不必知道一個對象是怎樣實現其行為的,只需通過對象提供的介面進行通信並使用對象所具有的行為功能。而面向過程則通過函數參數和全局變數達到各過程模塊聯系的目的。
面向對象把一個復雜的問題分解成多個能夠完成獨立功能的對象(類),然後把這些對象組合起來去完成這個復雜的問題。採用面向對象模式就象在流水線上工作,我們最終只需將多個零部件(已設計好的對象)按照一定關系組合成一個完整的系統。這樣使得軟體開發更有效率。
㈦ 需求分析有哪三種方法2,什麼是面向數據結構方法
它首先用結構化分析(SA)對軟體進行需求分析,然後用結構化設計(SD)方法進行總體設計,最後是結構化編程(SP)。它給出了兩類典型的軟體結構(變換型和事務型)使軟體開發的成功率大大提高。
三種基本的結構形式就是順序、選擇和重復。三種數據結構可以進行組合,形成復雜的結構體系。這一方法從目標系統的輸入、輸出數據結構入手,導出程序框架結構,再補充其它細節,就可得到完整的程序結構圖。這一方法對輸入、輸出數據結構明確的中小型系統特別有效,如商業應用中的文件表格處理。該方法也可與其它方法結合,用於模塊的詳細設計。
㈧ 簡述結構分析方法基本手段和基本策略
結構化分析方法的基本手段是逐層分解,而數據流圖則是描述分解的基本手段。結構化分析方法能夠長期被人們接受並採納,主要是因為它有以下的特點: 一、強調用戶自始至終的積極參與 在系統分析階段,用戶始終積極參與,使得用戶可以更多的了解新系統,並隨時從業務和用戶角度提出新的要求。另一方面也可使系統分析人員能更多的了解用戶的要求,更深入的調查和分析管理業務,使新系統更加科學、合理。 二、注重整體分析,層層落實 按系統的觀點,任何事情都是相互聯系的有機整體。在分析時應首先站在整體的角度,將各項具體的業務或組織融合成一整體加以考察,首先確保全局的正確,然後再層層分解進行解剖分析。 三、強調系統的適應性 各種事物都是運動和變化的。同理,在進行系統分析時,要充分預料到可能會發生的變化,增強系統的適應性,以應付各種各樣的變化。這些變化主要來自以下幾個方面: 1、系統外部環境的變化。如外部的組織機構發生了變化,將引起信息傳遞渠道變化;上級主管部門需要的信息發生變化,則引起輸出和處理模塊的變化。 2、系統內部處理模式的變化。如系統內部組織機構、管理方式和工藝流程的改變,必將引起數據的收集、輸入以及處理方式的變化。 3、用戶要求的變化。隨著時間的推移、問題的深入、技術的發展,用戶的要求也會隨之變化。