2015年軟件設(shè)計師考前輔導(dǎo)(1)

軟件設(shè)計師 責(zé)任編輯:糯米團子 2015-08-20

添加老師微信

備考咨詢

加我微信

摘要:軟件開發(fā)方法綜述 1、結(jié)構(gòu)化方法 結(jié)構(gòu)化開發(fā)方法是由E.Yourdon和L.L.Constantine提出的,即所謂的SASD方法,也可稱為面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的軟件開發(fā)方法。Yourdon方法是80年代使用最廣泛的軟件開發(fā)方法。 它首先用結(jié)構(gòu)化分析(SA)對軟件進行需求分析,然后用結(jié)構(gòu)化設(shè)計(SD)方法進行總體設(shè)計,最后是結(jié)構(gòu)化編程(SP)。它給出了兩類典型

   點擊進入>>>>> 

     軟件開發(fā)方法綜述

1、結(jié)構(gòu)化方法

結(jié)構(gòu)化開發(fā)方法是由E.YourdonL.L.Constantine提出的,即所謂的SASD方法,也可稱為面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的軟件開發(fā)方法。Yourdon方法是80年代使用最廣泛的軟件開發(fā)方法。

它首先用結(jié)構(gòu)化分析(SA)對軟件進行需求分析,然后用結(jié)構(gòu)化設(shè)計(SD)方法進行總體設(shè)計,最后是結(jié)構(gòu)化編程(SP)。它給出了兩類典型的軟件結(jié)構(gòu)(變換型和事務(wù)型)使軟件開發(fā)的成功率大大提高。

2、面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法

Jackson方法是最典型的面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法,Jackson方法把問題分解為可由三種基本結(jié)構(gòu)形式表示的各部分的層次結(jié)構(gòu)。三種基本的結(jié)構(gòu)形式就是順序、選擇和重復(fù)。三種數(shù)據(jù)結(jié)構(gòu)可以進行組合,形成復(fù)雜的結(jié)構(gòu)體系。這一方法從目標系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補充其它細節(jié),就可得到完整的程序結(jié)構(gòu)圖。這一方法對輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)非凡有效,如商業(yè)應(yīng)用中的文件表格處理。該方法也可與其它方法結(jié)合,用于模塊的具體設(shè)計。

3、面向問題的分析法

PAM(PRoblemAnalysisMethod)80年代末由日立公司提出的一種軟件開發(fā)方法。它的基本思想是考慮到輸入、輸出數(shù)據(jù)結(jié)構(gòu),指導(dǎo)系統(tǒng)的分解,在系統(tǒng)分析指導(dǎo)下逐步綜合。這一方法的具體步驟是:從輸入、輸出數(shù)據(jù)結(jié)構(gòu)導(dǎo)出基本處理框;分析這些處理框之間的先后關(guān)系;按先后關(guān)系逐步綜合處理框,直到畫出整個系統(tǒng)的PAD圖。這一方法本質(zhì)上是綜合的自底向上的方法,但在逐步綜合之前已進行了有目的的分解,這個目的就是充分考慮系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)。PAM方法的另一個優(yōu)點是使用PAD圖。這是一種二維樹形結(jié)構(gòu)圖,是到目前為止最好的具體設(shè)計表示方法之一。當然由于在輸入、輸出數(shù)據(jù)結(jié)構(gòu)與整個系統(tǒng)之間同樣存在著鴻溝,這一方法仍只適用于中小型問題。

4、原型化方法

產(chǎn)生原型化方法的原因很多,主要隨著我們系統(tǒng)開發(fā)經(jīng)驗的增多,我們也發(fā)現(xiàn)并非所有的需求都能夠預(yù)先定義而且反復(fù)修改是不可避免的。

當然能夠采用原型化方法是因為開發(fā)工具的快速發(fā)展,比如用VBDelphi等工?們可以迅速的開發(fā)出一個可以讓用戶看的見、摸的著的系統(tǒng)框架,這樣,對于計算機不是很熟悉的用戶就可以根據(jù)這個樣板提出自己的需求。

開發(fā)原型化系統(tǒng)一般由以下幾個階段:

(1)確定用戶需求

(2)開發(fā)原始模型

(3)征求用戶對初始原型的改進意見

(4)修改原型。

原型化開發(fā)比較適合于用戶需求不清、業(yè)務(wù)理論不確定、需求經(jīng)常變化的情況。當系統(tǒng)規(guī)模不是很大也不太復(fù)雜時采用該方法是比較好的。

  5、面向?qū)ο蟮能浖_發(fā)方法

當前計算機業(yè)界最流行的幾個單詞就是分布式、并行和面向?qū)ο筮@幾個術(shù)語。由此可以看到面向?qū)ο筮@個概念在當前計算機業(yè)界的地位。比如當前流行的兩大面向?qū)ο蠹夹g(shù)DCOMCORBA就是例子。當然我們實際用到的還是面向?qū)ο蟮木幊陶Z言,比如C++。不可否認,面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開發(fā)史上具有里程碑的意義。

隨著OOP(面向?qū)ο缶幊?/span>)OOD(面向?qū)ο笤O(shè)計)OOA(面向?qū)ο蠓治?/span>)的發(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT(ObjectModelingTechnique)。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實際上也包含了所有對象的數(shù)據(jù)結(jié)構(gòu)。所以OMT徹底實現(xiàn)了PAM沒有完全實現(xiàn)的目標。不僅如此,OO技術(shù)在需求分析、可維護性和可靠性這三個軟件開發(fā)的要害環(huán)節(jié)和質(zhì)量指標上有了實質(zhì)性的突破,基本地解決了在這些方面存在的嚴重問題。

綜上所述,面向?qū)ο笙到y(tǒng)采用了自底向上的歸納、自頂向下的分解的方法,它通過對對象模型的建立,能夠真正建立基于用戶的需求,而且系統(tǒng)的可維護性大大改善。當前業(yè)界關(guān)于面向?qū)ο蠼5臉藴适?span style="font-family:Times New Roman">UML(UnifiedModelingLanguage)。

這里我們需要談一下微軟的MSF(MicrosoftSolutionsFramework)的框架,它簡單的把系統(tǒng)設(shè)計分成三個階段:概念設(shè)計、邏輯設(shè)計和物理設(shè)計。概念設(shè)計階段就是從用戶的角度出發(fā)可以得到多少個對象,并且以對象為主體,畫出業(yè)務(wù)框架。邏輯設(shè)計階段就是對概念設(shè)計階段的對象進行再分析、細分、整合、刪除。并建立各個對象的方法屬性以及對象之間的關(guān)系。而物理設(shè)計實際上就是要確定我們實際需要的組件、服務(wù)和采用的框架結(jié)構(gòu)、具體的編程語言等。MCF整個結(jié)構(gòu)比較清楚是基于對象開發(fā)的一個比較好的可操作的框架系統(tǒng)。

  6、可視化開發(fā)方法

其實可視化開發(fā)并不能單獨的作為一種開發(fā)方法,更加貼切的說可以認為它是一種輔助工具,比如用過SYBASES-Design的人都知道,用這個工具可以進行顯示的圖形化的數(shù)據(jù)庫模式的建立,并可以導(dǎo)入到不同的數(shù)據(jù)庫中去。當然用過S-Design的人不一定很多,但用過VBDELPHI,C++Builder等開發(fā)工具的人一定不少,實際上你就是在使用可視化開發(fā)工具。

當然,不可否認的是,你只是在編程這個環(huán)節(jié)上用了可視化,而不是在系統(tǒng)分析和系統(tǒng)設(shè)計這個高層次上用了可視化的方法。實際上,建立系統(tǒng)分析和系統(tǒng)設(shè)計的可視化工具是一個很好的賣點,國外有很多工具都致力于這方面產(chǎn)品的設(shè)計。比如BusinessObject就是一個非常好的數(shù)據(jù)庫可視化分析工具。

可視化開發(fā)使我們把注重力集中在業(yè)務(wù)邏輯和業(yè)務(wù)流程上,用戶界面可以用可視化工具方便的構(gòu)成。通過操作界面元素,諸如菜單、按鈕、對話框、編輯框、單選框、復(fù)選框、列表框和滾動條等,由可視開發(fā)工具自動生成應(yīng)用軟件。

    點此返回目錄:2015年軟件設(shè)計師考前輔導(dǎo)匯總

   相關(guān)推薦:

   軟件設(shè)計師考試必看如何應(yīng)考?

   2015年下半年軟件設(shè)計師考試報名指南

   軟件設(shè)計師級考試大綱(2004年新版)

   


更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準!

軟考備考資料免費領(lǐng)取

去領(lǐng)取

!
咨詢在線老師!