計算機軟件設(shè)計方法的探討
軟件設(shè)計方法是開發(fā)軟件所使用的技術(shù)和手段,下面是小編搜集整理的一篇探究計算機軟件設(shè)計方法的論文范文,歡迎閱讀查看。
【摘要】:隨著信息化時代的到來, 計算機已廣泛應(yīng)用于社會各領(lǐng)域, 發(fā)揮著無與倫比的作用,而計算機軟件的開發(fā)與完善極大地提高了計算機的使用效益,又促進了計算機硬件的更新?lián)Q代, 因此計算機軟件設(shè)計方法的發(fā)展已成為人們關(guān)注的焦點之一。本文結(jié)合國內(nèi)外在軟件工程方面的最新理論及成果, 以及在項目開發(fā)中實行軟件工程化探索的經(jīng)驗,探討了計算機軟件設(shè)計的幾種常用方法,以期會給軟件開發(fā)者提供有益的啟迪。
【關(guān)鍵詞】:軟件 設(shè)計 方法
開發(fā)一個軟件首先要給出功能說明,然后確定解題方案或算法,設(shè)計流程圖,最后編寫代碼。為此,根據(jù)系統(tǒng)的實際需求,分別針對具體情況選擇采用不同的軟件設(shè)計方法,可以充分發(fā)揮軟件設(shè)計各種方法的優(yōu)勢。
1.問題的提出
隨著計算機技術(shù)的迅速發(fā)展,軟件開發(fā)供不應(yīng)求的局面日益加速,應(yīng)用滯后已達數(shù)年,軟件設(shè)計人員已成為一種貧乏資源,形成新的 軟件危機”。(軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。)主要包括三個方面的問題:一是如何開發(fā)軟件,怎樣滿足對軟件增長的需求;二是如何維護數(shù)量不斷膨脹的已有軟件;三是如何大幅度提高軟件生產(chǎn)率已成為軟件界的眾矢之的和當(dāng)務(wù)之急,為此,探索計算機的軟件設(shè)計方法有助予人們更好地開發(fā)軟件。
2.幾種典型的軟件設(shè)計方法
2.1模塊化設(shè)計法
模塊化設(shè)計的基本概念是:
(1)每個模塊完成一個單一和相對獨立的功能;
(2)每個模塊應(yīng)只有一個入口和一個出口, 每個模塊應(yīng)盡可能小;
(3)上層模塊只調(diào)用下層模塊;
(4)整個系統(tǒng)由模塊構(gòu)成。
為降低軟件系統(tǒng)的復(fù)雜性, 模塊化沒計采用分而治之的思想, 將問題分解為若干子問題, 對子問題再作進一步分解。直至能用模塊實現(xiàn)為止, 這樣自頂向下逐級分解, 形成一個層次的模塊結(jié)構(gòu)。模塊可見部分是它的接口, 而其內(nèi)部的數(shù)據(jù)和操作細節(jié)則對外部是隱藏的。模塊可以由多人同時編程、單獨測試和最后集成。模塊化設(shè)計提高了程序的可讀性和可修改性。
在模塊化設(shè)計中,按什么思想準則和方法來分解系統(tǒng)和劃分模塊,就產(chǎn)生不同的設(shè)計方法。
2.2結(jié)構(gòu)化分析與設(shè)計方法(SA/SD)
結(jié)構(gòu)化分析與設(shè)計方法的基本思想是自頂向下按功能的不同劃分不同的子系統(tǒng),然后對每個子系統(tǒng)按照逐步求精的方法求得問題解,將軟件開發(fā)過程看作是軟件生命周期,建立的是瀑布模型。
其基本步驟為:分析一設(shè)計一編碼一測試一運行/維護。
這種方法的主要優(yōu)點是應(yīng)用時間長、簡單、直觀、易于接受,并且已有了一定的應(yīng)用基礎(chǔ)并開辟了應(yīng)用市場。局限性主要在于功能經(jīng)常變化,難于適應(yīng)變化要求;后期發(fā)現(xiàn)的錯誤維護代價太高;不支持功能復(fù)用,造成大量的代碼冗余。
2.3數(shù)據(jù)流設(shè)計法
數(shù)據(jù)流沒計法在設(shè)計過程中是面向數(shù)據(jù)流信息的。它以分析階段使用結(jié)構(gòu)化分析產(chǎn)生的數(shù)據(jù)流圖(DFD)為基礎(chǔ),檢查DFD中信息流的特征,確定信息流是變換型還是事物型,然后采用變換分析或事物分析來導(dǎo)出相應(yīng)的軟件結(jié)構(gòu)。
數(shù)據(jù)流設(shè)計法提出了兩個定性準則來評價軟件結(jié)構(gòu)中模塊的獨立性,即內(nèi)聚和藕合,發(fā)展了模塊的概念。模塊的實現(xiàn)目標是高內(nèi)聚和低偶合,實現(xiàn)了這個目標的軟件設(shè)計就是成功的設(shè)計。
2.4原型法
原型法分為兩種,漸增型和示例型。漸增型是設(shè)計的每一步都是最終產(chǎn)品的一部分。而示例型則是快速開發(fā)出的運行系統(tǒng)只是一個示例而已。原型法的基本思想是借助程序自動生成環(huán)境或軟件工程支持環(huán)境,構(gòu)造一個實際系統(tǒng)簡化的模型,供開發(fā)人員和用戶交流,使設(shè)計具有靈活性,其要點是,第一要快,否則便失去意義;第二原型要能運轉(zhuǎn)起來,用戶可以觀察到效果,提供修改意見。開發(fā)的基本步驟是首先簡化系統(tǒng),其次實現(xiàn)原型,然后經(jīng)過反復(fù)修改,最終真正實現(xiàn)。
2.5面向?qū)ο蟮脑O(shè)計法
面向?qū)ο蟮脑O(shè)計法是基于對象的概念將系統(tǒng)進行分解的。面向?qū)ο蟮臎]計法從定義問題開始, 用自然語言對問題進行非形式化的陳述,利用一些簡單規(guī)則,可以識別和確定出我們感興趣的那些對象、對象的屬性及其上的操作,得到一個用對象表示的現(xiàn)實世界模型。然后, 對這個模型進行簡單映射,即一個模塊對應(yīng)于模型中的一個對象或?qū)ο箢,這樣就得到了問題的軟件設(shè)計解。
3、軟件設(shè)計方法應(yīng)遵循的原則
(1)選取適宜開發(fā)范型。該原則與軟件設(shè)計有關(guān),在軟件設(shè)計中,軟件需求、硬件需求以及其他因素之間是相互制約、相互影響的,經(jīng)常需要權(quán)衡。因此,必須認識需求定義的易變性,采用適宜的開發(fā)范型予以控制,以保證軟件產(chǎn)品滿足用戶的要求。
(2)采用合適的軟件設(shè)計方法。在軟件設(shè)計中,通常要考慮軟件的模塊化、抽象與信息隱蔽、局部化、一致性以及適應(yīng)性等特征,合適的設(shè)計方法有助于這些特征的實現(xiàn),以達到軟件工程的目標。
(3)提供高質(zhì)量的.軟件設(shè)計方法支持。“工欲善其事,必先利其器”。在軟件設(shè)計方法中,軟件工具與環(huán)境對軟件設(shè)計過程的支持頗為重要,軟件設(shè)計方法的質(zhì)量與開銷直接取決于對軟件設(shè)計所提供的支撐質(zhì)量和效用。
(4)重視軟件設(shè)計過程的管理。軟件設(shè)計的管理,直接影響可用資源的有效利用,生產(chǎn)滿足目標的軟件產(chǎn)品,提高軟件組織的生產(chǎn)能力等問題,因此,當(dāng)軟件設(shè)計過程得以有效管理時,才能實現(xiàn)有效的軟件設(shè)計方法。
4、方法是軟件設(shè)計的思路,不是一層不變的定律
(1)方法是使后人分享前人的成功,避開前人的失敗,把注意力集中在尚未開拓領(lǐng)域的創(chuàng)造性勞動上,所以方法和軟件設(shè)計人員的創(chuàng)造性是沒有沖突的。
(2)沒有放之四海而皆準的方法,任何方法都有其局限性,所以軟件設(shè)計人員大不必拘泥于某種特定的方法。
5、結(jié)束語
軟件工程的目標是以最小的代價開發(fā)出滿足用戶需求的軟件,軟件設(shè)計方法是開發(fā)軟件所使用的技術(shù)和手段,它既推動了計算機的廣泛應(yīng)用, 又能開發(fā)出大量功能完善、界面友好、操作便利的系統(tǒng)與應(yīng)用軟件。
參考文獻:
[1]《軟件工程》,鄭人杰,清華大學(xué)出版社,1999.
[2]《軟件工程引論》,孫桂茹,南開大學(xué)出版社,1995.
[3]《軟件工程發(fā)展綜述》,吳迤,科技信息,2008.
[4]《軟件開發(fā)技術(shù)》,潘錦平,上?萍汲霭嫔纾1985.
[5]《關(guān)于應(yīng)用型軟件設(shè)計方法的探討》,錢旭,計算機應(yīng)用研究,1996.
[6]《軟件危機現(xiàn)象與面向?qū)ο蠓椒ǚ治觥,陳一明,湖北民族學(xué)院學(xué)報,2001.
【計算機軟件設(shè)計方法的探討】相關(guān)文章: