軟體開發方法綜述

2021-04-20 12:56:58 字數 2576 閱讀 4685

國外大的軟體公司和機構一直在研究軟體開發方法這個概念性的東西,而且也提出了很多實際的開發方法,比如:生命週期法、原型化方法、物件導向方法等等。下面介紹幾種流行的開發方法:

1、結構化方法

結構化開發方法是由e.yourdon 和 l.l.constantine 提出的,即所謂的sasd 方 法, 也可稱為面向功能的軟體開發方法或面向資料流的軟體開發方法。yourdon方法是80年代 使用最廣泛的軟體開發方法。它首先用結構化分析(sa)對軟體進行需求分析,然後用結構化設計(sd)方法進行總體設計,最後是結構化程式設計(sp)。它給出了兩類典型的軟體結構(變換型和事務型)使軟體開發的成功率大大提高。

2、面向資料結構的軟體開發方法

jackson方法是最典型的面向資料結構的軟體開發方法,jackson方法把問題分解為可由三種基本結構形式表示的各部分的層次結構。三種基本的結構形式就是順序、選擇和重複。三種資料結構可以進行組合,形成複雜的結構體系。這一方法從目標系統的輸入、輸出資料結構入手,匯出程式框架結構,再補充其它細節,就可得到完整的程式結構圖。這一方法對輸入、輸出資料結構明確的中小型系統特別有效,如商業應用中的檔案**處理。該方法也可與其它方法結合,用於模組的詳細設計。

3、 面向問題的分析法

pam(problem analysis method)是80年代末由日立公司提出的一種軟體開發方法。 它的基本思想是考慮到輸入、輸出資料結構,指導系統的分解,在系統分析指導下逐步綜 合。這一方法的具體步驟是:從輸入、輸出資料結構匯出基本處理框;分析這些處理框之間的先後關係;按先後關係逐步綜合處理框,直到畫出整個系統的pad圖。這一方法本質上是綜合的自底向上的方法,但在逐步綜合之前已進行了有目的的分解,這個目的就是充分考慮系統的輸入、輸出資料結構。pam方法的另乙個優點是使用pad圖。這是一種二維樹形結構圖,是到目前為止最好的詳細設計表示方法之一。當然由於在輸入、輸出資料結構與整個系統之間同樣存在著鴻溝,這一方法仍只適用於中小型問題。

4、原型化方法

產生原型化方法的原因很多,主要隨著我們系統開發經驗的增多,我們也發現並非所有的需求都能夠預先定義而且反覆修改是不可避免的。當然能夠採用原型化方法是因為開發工具的快速發展,比如用vb,delphi等工具我們可以迅速的開發出乙個可以讓使用者看的見、摸的著的系統框架,這樣,對於計算機不是很熟悉的使用者就可以根據這個樣板提出自己的需求。

開發原型化系統一般由以下幾個階段:

(1) 確定使用者需求

(2) 開發原始模型

(3) 徵求使用者對初始原型的改進意見

(4) 修改原型。

原型化開發比較適合於使用者需求不清、業務理論不確定、需求經常變化的情況。當系統規模不是很大也不太複雜時採用該方法是比較好的。

5、物件導向的軟體開發方法

當前計算機業界最流行的幾個單詞就是分布式、並行和物件導向這幾個術語。由此可以看到物件導向這個概念在當前計算機業界的地位。比如當前流行的兩大物件導向技術dcom和corba就是例子。當然我們實際用到的還是物件導向的程式語言,比如c++。不可否認,物件導向技術是軟體技術的一次革命,在軟體開發史上具有里程碑的意義。

隨著oop(物件導向程式設計)向ood(物件導向設計)和ooa(物件導向分析)的發展,最終形成物件導向的軟體開發方法omt (object modeling technique)。這是一種自底向上和自頂向下相結合的方法,而且它以物件建模為基礎,從而不僅考慮了輸入、輸出資料結構,實際上也包含了所有物件的資料結構。所以omt徹底實現了pam沒有完全實現的目標。不僅如此,oo技術在需求分析、可維護性和可靠性這三個軟體開發的關鍵環節和質量指標上有了實質性的突破,基本地解決了在這些方面存在的嚴重問題。

綜上所述,物件導向系統採用了自底向上的歸納、自頂向下的分解的方法,它通過對物件模型的建立,能夠真正建立基於使用者的需求,而且系統的可維護性大大改善。當前業界關於物件導向建模的標準是uml(unified modeling language)。

這裡我們需要談一下微軟的msf(microsoft solutions framework)的框架,它簡單的把系統設計分成三個階段:概念設計、邏輯設計和物理設計。概念設計階段就是從使用者的角度出發可以得到多少個物件,並且以物件為主體,畫出業務框架。邏輯設計階段就是對概念設計階段的物件進行再分析、細分、整合、刪除。並建立各個物件的方法屬性以及物件之間的關係。而物理設計實際上就是要確定我們實際需要的元件、服務和採用的框架結構、具體的程式語言等。mcf整個結構比較清楚是基於物件開發的乙個比較好的可操作的框架系統。

6、視覺化開發方法

其實視覺化開發並不能單獨的作為一種開發方法,更加貼切的說可以認為它是一種輔助工具,比如用過sybase的s-design的人都知道,用這個工具可以進行顯示的圖形化的資料庫模式的建立,並可以匯入到不同的資料庫中去。當然用過s-design的人不一定很多,但用過vb,delphi,c++ builder等開發工具的人一定不少,實際上你就是在使用視覺化開發工具。

當然,不可否認的是,你只是在程式設計這個環節上用了視覺化,而不是在系統分析和系統設計這個高層次上用了視覺化的方法。實際上,建立系統分析和系統設計的視覺化工具是乙個很好的賣點,國外有很多任務具都致力於這方面產品的設計。比如business object就是乙個非常好的資料庫視覺化分析工具。

視覺化開發使我們把注意力集中在業務邏輯和業務流程上,使用者介面可以用視覺化工具方便的構成。通過操作介面元素,諸如選單、按鈕、對話方塊、編輯框、單選框、核取方塊、 列表框和滾動條等,由可視開發工具自動生成應用軟體。

軟體開發方法綜述

國外大的軟體公司和機構一直在研究軟體開發方法這個概念性的東西,而且也提出了很多實際的開發方法,比如 生命週期法 原型化方法 物件導向方法等等。下面介紹幾種流行的開發方法 1 結構化方法 結構化開發方法是由e.yourdon 和 l.l.constantine 提出的,即所謂的sasd 方 法,也可稱...

軟體開發方法

軟體開發方法 1 結構化方法 結構化分析,結構化設計,結構化程式設計組成,面向資料流的開發方法 依據分解與抽象原則,按照資料處理流程,利用資料流圖建立系統功能模型,從而完成需求分析工作。適合資料處理領域問題,不適合大規模,特別複雜的專案,且難以適應需求變化。2 jackson方法 面向資料結構的開發...

軟體開發方法

常見的軟體開發方法有結構化方法 jackson方法 維也納開發方法 vdm 和物件導向的開發方法。1.結構化方法 指導思想 自頂向下,逐步求精 基本原則 功能的分析與抽象。優點 1 適用於資料處理領域的問題 2 支援工具較多,發展成熟。缺點 1 不適應規模大的專案 2 不適應特別複雜的專案 3 難於...