點(diǎn)擊查看:2015年軟件水平考試軟件設計師考前輔導匯總
軟件開(kāi)發(fā)方法綜述
1、結構化方法
結構化開(kāi)發(fā)方法是由E.Yourdon 和 L.L.Constantine 提出的,即所謂的SASD 方法, 也可稱(chēng)為面向功能的軟件開(kāi)發(fā)方法或面向數據流的軟件開(kāi)發(fā)方法。Yourdon方法是80年代使用最廣泛的軟件開(kāi)發(fā)方法。
它首先用結構化分析(SA)對軟件進(jìn)行需求分析,然后用結構化設計(SD)方法進(jìn)行總體設計,最后是結構化編程(SP)。它給出了兩類(lèi)典型的軟件結構(變換型和事務(wù)型)使軟件開(kāi)發(fā)的成功率大大提高。
2、面向數據結構的軟件開(kāi)發(fā)方法
Jackson方法是最典型的面向數據結構的軟件開(kāi)發(fā)方法,Jackson方法把問(wèn)題分解為可由三種基本結構形式表示的各部分的層次結構。三種基本的結構形式就是順序、選擇和重復。三種數據結構可以進(jìn)行組合,形成復雜的結構體系。這一方法從目標系統的輸入、輸出數據結構入手,導出程序框架結構,再補充其它細節,就可得到完整的程序結構圖。這一方法對輸入、輸出數據結構明確的中小型系統非凡有效,如商業(yè)應用中的文件表格處理。該方法也可與其它方法結合,用于模塊的具體設計。
3、 面向問(wèn)題的分析法
PAM(PRoblem Analysis Method)是80年代末由日立公司提出的一種軟件開(kāi)發(fā)方法。它的基本思想是考慮到輸入、輸出數據結構,指導系統的分解,在系統分析指導下逐步綜合。這一方法的具體步驟是:從輸入、輸出數據結構導出基本處理框;分析這些處理框之間的先后關(guān)系;按先后關(guān)系逐步綜合處理框,直到畫(huà)出整個(gè)系統的PAD圖。這一方法本質(zhì)上是綜合的自底向上的方法,但在逐步綜合之前已進(jìn)行了有目的的分解,這個(gè)目的就是充分考慮系統的輸入、輸出數據結構。PAM方法的另一個(gè)優(yōu)點(diǎn)是使用PAD圖。這是一種二維樹(shù)形結構圖,是到目前為止最好的具體設計表示方法之一。當然由于在輸入、輸出數據結構與整個(gè)系統之間同樣存在著(zhù)鴻溝,這一方法仍只適用于中小型問(wèn)題。
4、原型化方法
產(chǎn)生原型化方法的原因很多,主要隨著(zhù)我們系統開(kāi)發(fā)經(jīng)驗的增多,我們也發(fā)現并非所有的需求都能夠預先定義而且反復修改是不可避免的。
當然能夠采用原型化方法是因為開(kāi)發(fā)工具的快速發(fā)展,比如用VB,Delphi等工? 們可以迅速的開(kāi)發(fā)出一個(gè)可以讓用戶(hù)看的見(jiàn)、摸的著(zhù)的系統框架,這樣,對于計算機不是很熟悉的用戶(hù)就可以根據這個(gè)樣板提出自己的需求。
開(kāi)發(fā)原型化系統一般由以下幾個(gè)階段:
(1) 確定用戶(hù)需求
(2) 開(kāi)發(fā)原始模型
(3) 征求用戶(hù)對初始原型的改進(jìn)意見(jiàn)
(4) 修改原型。
原型化開(kāi)發(fā)比較適合于用戶(hù)需求不清、業(yè)務(wù)理論不確定、需求經(jīng)常變化的情況。當系統規模不是很大也不太復雜時(shí)采用該方法是比較好的。
5、面向對象的軟件開(kāi)發(fā)方法
當前計算機業(yè)界最流行的幾個(gè)單詞就是分布式、并行和面向對象這幾個(gè)術(shù)語(yǔ)。由此可以看到面向對象這個(gè)概念在當前計算機業(yè)界的地位。比如當前流行的兩大面向對象技術(shù)DCOM和CORBA就是例子。當然我們實(shí)際用到的還是面向對象的編程語(yǔ)言,比如C++。不可否認,面向對象技術(shù)是軟件技術(shù)的一次革命,在軟件開(kāi)發(fā)史上具有里程碑的意義。
隨著(zhù)OOP(面向對象編程)向OOD(面向對象設計)和OOA(面向對象分析)的發(fā)展,最終形成面向對象的軟件開(kāi)發(fā)方法OMT (Object Modeling Technique)。這是一種自底向上和自頂向下相結合的方法,而且它以對象建模為基礎,從而不僅考慮了輸入、輸出數據結構,實(shí)際上也包含了所有對象的數據結構。所以OMT徹底實(shí)現了PAM沒(méi)有完全實(shí)現的目標。不僅如此,OO技術(shù)在需求分析、可維護性和可靠性這三個(gè)軟件開(kāi)發(fā)的要害環(huán)節和質(zhì)量指標上有了實(shí)質(zhì)性的突破,基本地解決了在這些方面存在的嚴重問(wèn)題。
綜上所述,面向對象系統采用了自底向上的歸納、自頂向下的分解的方法,它通過(guò)對對象模型的建立,能夠真正建立基于用戶(hù)的需求,而且系統的可維護性大大改善。當前業(yè)界關(guān)于面向對象建模的標準是UML(Unified Modeling Language)。
這里我們需要談一下微軟的MSF(Microsoft Solutions Framework)的框架,它簡(jiǎn)單的把系統設計分成三個(gè)階段:概念設計、邏輯設計和物理設計。概念設計階段就是從用戶(hù)的角度出發(fā)可以得到多少個(gè)對象,并且以對象為主體,畫(huà)出業(yè)務(wù)框架。邏輯設計階段就是對概念設計階段的對象進(jìn)行再分析、細分、整合、刪除。并建立各個(gè)對象的方法屬性以及對象之間的關(guān)系。而物理設計實(shí)際上就是要確定我們實(shí)際需要的組件、服務(wù)和采用的框架結構、具體的編程語(yǔ)言等。MCF整個(gè)結構比較清楚是基于對象開(kāi)發(fā)的一個(gè)比較好的可操作的框架系統。
6、可視化開(kāi)發(fā)方法
其實(shí)可視化開(kāi)發(fā)并不能單獨的作為一種開(kāi)發(fā)方法,更加貼切的說(shuō)可以認為它是一種輔助工具,比如用過(guò)SYBASE的S-Design的人都知道,用這個(gè)工具可以進(jìn)行顯示的圖形化的數據庫模式的建立,并可以導入到不同的數據庫中去。當然用過(guò)S-Design的人不一定很多,但用過(guò)VB,DELPHI,C++ Builder等開(kāi)發(fā)工具的人一定不少,實(shí)際上你就是在使用可視化開(kāi)發(fā)工具。
當然,不可否認的是,你只是在編程這個(gè)環(huán)節上用了可視化,而不是在系統分析和系統設計這個(gè)高層次上用了可視化的方法。實(shí)際上,建立系統分析和系統設計的可視化工具是一個(gè)很好的賣(mài)點(diǎn),國外有很多工具都致力于這方面產(chǎn)品的設計。比如Business Object就是一個(gè)非常好的數據庫可視化分析工具。
可視化開(kāi)發(fā)使我們把注重力集中在業(yè)務(wù)邏輯和業(yè)務(wù)流程上,用戶(hù)界面可以用可視化工具方便的構成。通過(guò)操作界面元素,諸如菜單、按鈕、對話(huà)框、編輯框、單選框、復選框、 列表框和滾動(dòng)條等,由可視開(kāi)發(fā)工具自動(dòng)生成應用軟件。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |