• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            傳統方法學與面向對象區別

            更新時間:2023-06-02 11:27:47 閱讀: 評論:0

            小議傳統方法學與面向對象的區別
               
            姓名 :戴育兵
            學號 :G1030510
            年級 :大二 
            班級 : (2)
                                        摘要
              傳統的軟件工程方法學曾經給軟件產業帶來巨大進步,部分地緩解了軟件危機,使用這種方法學開發的許多中、小規模軟件項目都獲得了成功。但是,人們也注意到當把這種方法學應用于大型軟件產品的開發時,似乎很少取得成功。
                20世紀60年代后期出現的面向對象編程語言Simdla_67中首次引入了類和對象的概念,自20世紀80年代中期起,人們開始注重面向對象分析和設計的研究,逐步形成了面向對象方
            法學。到了20世紀90年代,面向對象方法學已經成為人們在開發軟件時首選的范型。面向對象技術已成為當前最好的軟件開發技術
                                        軟件工程傳統方法學
            1. 傳統方法學概述
            隨著計算機應用領域的不斷拓廣,各種各樣的問題也不斷涌現,當問題嚴重到開發人 員無法控制的時候便產生了軟件危機。軟件危機的出現,促使了軟件工程學的形成和發展。 隨之整合整套技術的軟件工程方法學廣泛應用,主流之一就是傳統方法學。傳統方法學在 軟件開發過程中占據相當大的比重,因為其悠久的歷史而為很多軟件工程師青睞。如果說 自然語言和編程語言之間有一道難以跨越的鴻溝,傳統方法學就是跨越這道鴻溝的橋梁。
            傳統方法學又稱生命周期方法學或結構化范型。一個軟件從開始計劃起,到廢棄不用 止,稱為軟件的生命周期。在傳統的軟件工程方法中,軟件的生存周期分為需求分析、總 體設計、詳細設計、編程和測試幾個階段。
            傳統方法學使用的是結構化分析技術來完成需求分析階段的工作。軟件工程學中的需 求分
            析具有兩方面的意義。在認識事物方面,它具有一整套分析、認識問題域的方法、原 則和策略。這些方法、原則和策略使開發人員對問題域的理解比不遵循軟件工程方法更為 全面、深刻和有效。在描述事物方面,它具有一套表示體系和文檔規范。但是,傳統的軟 件工程方法學中的需求分析在上述兩方面都存在不足.它在全局范圍內以功能、數據或數 據流為中心來進行分析。這些方法的分析結果不能直接地映射問題域,而是經過了不同程 度的轉化和重新組合。因此,傳統的分析方法容易隱蔽一些對問題域的理解偏差,與后續 開發階段的銜接也比較困難。
            在總體設計階段,以需求分析的結果作為出發點構造出一個具體的系統設計方案,主 要是決定系統的模塊結構,以及模塊的劃分,模塊間的數據傳送及調用關系。詳細設計是 在總體設計的基礎上考慮每個模塊的內部結構及算法,最終將產生每個模塊的程序流程圖。 但是傳統的軟件工程方法中設計文檔很難與分析文檔對應,原因是二者的表示體系不一致, 所謂從分析到設計的轉換,實際上并不存在可靠的轉換規則,而是帶有人為的隨意性,從 而很容易因理解上的錯誤而留下隱患。
            編程階段是利用一種編程語言產生一個能夠被機器理解和執行的系統,測試是發現和 排除
            程序中的錯誤,最終產生一個正確的系統。但是由于分析方法的缺陷很容易產生對問 題的錯誤理解,而分析與設計的差距很容易造成設計人員對分析結果的錯誤轉換,以致在 編程時程序員往往需要對分析員和設計人員已經認識過的事物重新進行認識,并產生不同 的理解。因此為了使兩個階段之間能夠更好的銜接,測試就變得尤為重要。
            軟件維護階段的工作,一是對使用中發生的錯誤進行修改,二是因需求發生了變化而 進行修改。前一種情況需要從程序逆向追溯到發生錯誤的開發階段。由于程序不能映射問 題以及各個階段的文檔不能對應,每一步追溯都存在許多理解障礙。第二種情況是一個從
            需求到程序的順向過程,它也存在初次開發時的那些困難,并且又增加了理解每個階段原 有文檔的困難.
            2. 傳統方法學的優點
              程序在調試、可讀性和可維護性等方面都有很大的改進。
            傳統軟件工程方法面向的是過程,它按照數據變換的過程尋找問題的結點,對問題進 行分解。由于不同人對過程的理解不同,故面向過程的功能分割出的模塊會因人而異。對 于問
            題世界的抽象結論,結構化方法可以用數據流圖,系統結構圖,數據字典,狀態轉移 圖,實體關系圖來進行系統邏輯模型的描述,生產一個最終能滿足需求且達到工程目標的 軟件產品所需要的步驟。
            傳統軟件工程方法學強調以模塊為中心,采用模塊化,自頂向下,逐步求精設計過程, 系統是實現模塊功能的函數和過程的集合,結構清晰,可讀性好,是提高軟件開發質量的 一種有效手段。結構化設計從系統的功能入手,按照工程標準,嚴格規范地將系統分解為 若干功能模塊,因為系統是實現模塊功能的函數和過程的集合。然而,由于用戶的需要和 軟硬件技術的不斷發展變化,作為系統基本組成部分的功能模塊很容易受到影響,局部修 改甚至會引起系統的根本性變化。開發過程前期入手快而后期頻繁改動的現象比較常見。
            3. 傳統工程方法學的缺點
            傳統的軟件工程方法學也存在很多的缺點,主要表現在生產效率非常底,從而 導致不能滿足用戶的需要,復用程度低,軟件很難維護等。
            結構化開發方法,注重的是系統功能,自頂向下,從大到小的功能分解,從DFD->MSD,
            往往系統需求變化最大就是功能,一段較長的時間內,商業的流程可能已經發生了很大的變化,這樣基于功能和過程的方法顯然難以維護的,代碼重用率。
            代碼重用性不高:以過程為中心設計新系統,除了一些標準函數,大部分代碼都必須重新編寫。由于軟、硬件技術的不斷發展和用戶需求的變化,按照功能劃分設計的系統模塊容易發生變化,使得開發出來的模塊的可維護性欠佳。
            開發周期長,系統難以適應環境的變化,開發過程發雜繁瑣。
            適用于相對穩定。,業務處理過程規范的,需求明確且在一定時間內不會發生大變化的復雜系統的開發。
            軟件重用性差

              重用性是指同一事物不經修改或稍加修改就可多次重復使用的性質。軟件重用性是軟件工程追求的目標之一。
            軟件可維護性差

               軟件工程強調軟件的可維護性,強調文檔資料的重要性,規定最終的軟件產品應該由完整、一致的配置成分組成。在軟件開發過程中,始終強調軟件的可讀性、可 修改性和可測試性是軟件的重要的質量指標。實踐證明,用傳統方法開發出來的軟件,維護時其費用和成本仍然很高,其原因是可修改性差,維護困難,導致可維護 性差。
            開發出的軟件不能滿足用戶需要

              用傳統的結構化方法開發大型軟件系統涉及各種不同領域的知識,在開發需求模糊或需求動態變化的系統時,所開發出的軟件系統往往不能真正滿足用戶的需要。
               用結構化方法開發的軟件,其穩定性、可修改性和可重用性都比較差,這是因為結構化方法的本質是功能分解,從代表目標系統整體功能的單個處理著手,自頂向 下不斷把復雜的處理分解為子處理,這樣一層一層的分解下去,直到僅剩下若干個容易實現的子處理功能為止,然后用相應的工具來描述各個最低層的處理。因此, 結構化方法是圍繞實現處理功能的“過程”來構造系統的。然而,用戶需求的變化大部分是針對功能的,因此,這種變化對于基于過程的設計來說是災難性的。用這 種方法設計出來的系統結構常常是不穩定的,
            用戶需求的變化往往造成系統結構的較大變化,從而需要花費很大代價才能實現這種變化。
            面向對象方法學
            1.象的基本概念
            (1)對象
              對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。
              (2)對象的狀態和行為。
              對象具有狀態,一個對象用數據值來描述它的狀態。
              對象還有操作,用于改變對象的狀態,對象及其操作就是對象的行為。
              對象實現了數據和操作的結合,使數據和操作封裝于對象的統一體中
              (3)類。
              具有相同或相似性質的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。
              類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。
              類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。
              (4)類的結構。
              在客觀世界中有若干類,這些類之間有一定的結構關系。通常有兩種主要的結構關系,即一般--具體結構關系,整體--部分結構關系。
              一般——具體結構稱為分類結構,也可以說是“或”關系,或者是“is a”關系。
              整體——部分結構稱為組裝結構,它們之間的關系是一種“與”關系,或者是“has a”關系。
              (5)消息和方法。
               對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接 受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變量名,或者是所有對象都知道 的全局變量名。
              類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體。
            (1)對象唯一性。
              每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。
              (2)抽象性。
              分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。
              (3)繼承性。
              繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,并加入若干新的內容。
              繼承性是面向對象程序設計語言不同于其它語言的最重要的特點,是其他語言所沒有的。
              在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。
              在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承。
              在軟件開發中,類的繼承性使所建立的軟件具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重性。
              采用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟件的重用性。
              (4)多態性(多形性)
              多態性是指相同的操作或函數、過程可作用于多種類型的對象上并獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性。
              多態性允許每個對象以適合自身的方式去響應共同的消息。
              多態性增強了軟件的靈活性和重用性。
            面向對象方法學的優點
            1. 與人類習慣的思維方法一致
                傳統的程序設計技術是面向過程的設計方法,這種方法以算法為核心,把數據和過程作為相互獨立的部分,數據代表問題空間中的客體,程序代碼則用于處理這些數據。
                把數據和代碼作為分離的實體,反映了計算機的觀點,因為在計算機內部數據和程序是分開存放的。但是,這樣做的時候總存在使用錯誤的數據調用正確的程序模塊,或使用正
            確的數據調用錯誤的程序模塊的危險。使數據和操作保持一致,是程序員的一個沉重負擔,在多人分工合作開發一個大型軟件系統的過程中,如果負責設計數據結構的人中途改變了某個數據的結構而又沒有及時通知所有人員,則會發生許多不該發生的錯誤。
                傳統的程序設計技術忽略了數據和操作之間的內在聯系,用這種方法所設計出來的軟件系統其解空間與問題空間并不一致,令人感到難于理解。實際上,用計算機解決的問題都是現實世界中的問題,這些問題無非由一些相互間存在一定聯系的事物所組成。每個具體的事物都具有行為和屬性兩方面的特征。因此,把描述事物靜態屬性的數據結構和表示事物動態行為的操作放在一起構成一個整體,才能完整、自然地表示客觀世界中的實體。
                面向對象的軟件技術以對象(object)為核心,用這種技術開發出的軟件系統由對象組成。對象是對現實世界實體的正確抽象,它是由描述內部狀態表示靜態屬性的數據,以及可以對這些數據施加的操作(表示對象的動態行為),封裝在一起所構成的統一體。對象之間通過傳遞消息互相聯系,以模擬現實世界中不同事物彼此之間的聯系。
                面向對象的設計方法與傳統的面向過程的方法有本質不同,這種方法的基本原理是,使用現實世界的概念抽象地思考問題從而自然地解決問題。它強調模擬現實世界中的概念而
            強調算法,它鼓勵開發者在軟件開發的絕大部分過程中都用應用領域的概念去思考。在面向對象的設計方法中,計算機的觀點是不重要的,現實世界的模型才是最重要的。面向對象的軟件開發過程從始至終都圍繞著建立問題領域的對象模型來進行:對問題領域進行自然的分解,確定需要使用的對象和類,建立適當的類等級,在對象之間傳遞消息實現必要的聯系,從而按照人們習慣的思維方式建立起問題領域的模型,模擬客觀世界。

            本文發布于:2023-06-02 11:27:46,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1685676467187753.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:傳統方法學與面向對象區別.doc

            本文 PDF 下載地址:傳統方法學與面向對象區別.pdf

            下一篇:返回列表
            標簽:對象   方法   軟件
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 粉嫩虎白女p虎白女在线| 老熟女熟妇一区二区三区| 国产成人久久精品激情| 国语对白爽死我了| 欧美中文一区| 国产精品美女久久久久av爽| 欧美成人h精品网站| 午夜国产小视频| 美女胸18下看禁止免费视频| 国产成人精品a视频| 日韩女同一区二区三区久久| 国产精品一二三入口播放| 宝贝腿开大点我添添公口述视频 | 亚洲一区二区日韩综合久久 | 做暖暖视频在线看片免费 | 国产精品成人久久电影| 精品久久蜜桃| 狠狠干| 97精品人妻系列无码人妻| 东京热大乱系列无码| 蜜臀精品一区二区三区四区 | 精品国产精品午夜福利| 中文字幕无线码中文字幕| 亚洲精国产一区二区三区| 91福利视频一区二区| 国产在线高清视频无码| 亚洲区1区3区4区中文字幕码| 国产在线线精品宅男网址| 久久婷婷五月综合97色直播| 在线中文字幕精品第5页| 久久99精品久久久久久清纯| 精品国产粉嫩内射白浆内射双马尾 | 日韩一卡二卡三卡四卡五卡| 久久99热只有频精品8| 免费人成再在线观看网站| 国产精品美人久久久久久AV| 高潮迭起av乳颜射后入| 一个本道久久综合久久88| 天天爽夜夜爽人人爽曰| 国产免费毛不卡片| 国产亚洲999精品AA片在线爽|