計算機軟體設計方法的探討

才智咖 人氣:2.7W

軟體設計方法是開發軟體所使用的技術和手段,下面是小編蒐集整理的一篇探究計算機軟體設計方法的論文範文,歡迎閱讀檢視。

計算機軟體設計方法的探討

【摘要】:隨著資訊化時代的到來, 計算機已廣泛應用於社會各領域, 發揮著無與倫比的作用,而計算機軟體的開發與完善極大地提高了計算機的使用效益,又促進了計算機硬體的更新換代, 因此計算機軟體設計方法的發展已成為人們關注的焦點之一。本文結合國內外在軟體工程方面的最新理論及成果, 以及在專案開發中實行軟體工程化探索的經驗,探討了計算機軟體設計的幾種常用方法,以期會給軟體開發者提供有益的啟迪。

【關鍵詞】:軟體 設計 方法

開發一個軟體首先要給出功能說明,然後確定解題方案或演算法,設計流程圖,最後編寫程式碼。為此,根據系統的實際需求,分別針對具體情況選擇採用不同的軟體設計方法,可以充分發揮軟體設計各種方法的優勢。

1.問題的提出

隨著計算機技術的迅速發展,軟體開發供不應求的局面日益加速,應用滯後已達數年,軟體設計人員已成為一種貧乏資源,形成新的 軟體危機”。(軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。)主要包括三個方面的問題:一是如何開發軟體,怎樣滿足對軟體增長的需求;二是如何維護數量不斷膨脹的已有軟體;三是如何大幅度提高軟體生產率已成為軟體界的眾矢之的和當務之急,為此,探索計算機的軟體設計方法有助予人們更好地開發軟體。

2.幾種典型的軟體設計方法

2.1模組化設計法

模組化設計的基本概念是:

(1)每個模組完成一個單一和相對獨立的功能;

(2)每個模組應只有一個入口和一個出口, 每個模組應儘可能小;

(3)上層模組只調用下層模組;

(4)整個系統由模組構成。

為降低軟體系統的複雜性, 模組化沒計採用分而治之的思想, 將問題分解為若干子問題, 對子問題再作進一步分解。直至能用模組實現為止, 這樣自頂向下逐級分解, 形成一個層次的模組結構。模組可見部分是它的介面, 而其內部的資料和操作細節則對外部是隱藏的。模組可以由多人同時程式設計、單獨測試和最後整合。模組化設計提高了程式的可讀性和可修改性。

在模組化設計中,按什麼思想準則和方法來分解系統和劃分模組,就產生不同的設計方法。

2.2結構化分析與設計方法(SA/SD)

結構化分析與設計方法的基本思想是自頂向下按功能的不同劃分不同的子系統,然後對每個子系統按照逐步求精的方法求得問題解,將軟體開發過程看作是軟體生命週期,建立的是瀑布模型。

其基本步驟為:分析一設計一編碼一測試一執行/維護。

這種方法的主要優點是應用時間長、簡單、直觀、易於接受,並且已有了一定的應用基礎並開闢了應用市場。侷限性主要在於功能經常變化,難於適應變化要求;後期發現的錯誤維護代價太高;不支援功能複用,造成大量的程式碼冗餘。

2.3資料流設計法

資料流沒計法在設計過程中是面向資料流資訊的。它以分析階段使用結構化分析產生的資料流圖(DFD)為基礎,檢查DFD中資訊流的特徵,確定資訊流是變換型還是事物型,然後採用變換分析或事物分析來匯出相應的軟體結構。

資料流設計法提出了兩個定性準則來評價軟體結構中模組的獨立性,即內聚和藕合,發展了模組的概念。模組的實現目標是高內聚和低偶合,實現了這個目標的軟體設計就是成功的設計。

2.4原型法

原型法分為兩種,漸增型和示例型。漸增型是設計的每一步都是最終產品的一部分。而示例型則是快速開發出的執行系統只是一個示例而已。原型法的基本思想是藉助程式自動生成環境或軟體工程支援環境,構造一個實際系統簡化的模型,供開發人員和使用者交流,使設計具有靈活性,其要點是,第一要快,否則便失去意義;第二原型要能運轉起來,使用者可以觀察到效果,提供修改意見。開發的基本步驟是首先簡化系統,其次實現原型,然後經過反覆修改,最終真正實現。

2.5物件導向的設計法

物件導向的設計法是基於物件的概念將系統進行分解的。物件導向的沒計法從定義問題開始, 用自然語言對問題進行非形式化的陳述,利用一些簡單規則,可以識別和確定出我們感興趣的那些物件、物件的屬性及其上的操作,得到一個用物件表示的現實世界模型。然後, 對這個模型進行簡單對映,即一個模組對應於模型中的一個物件或物件類,這樣就得到了問題的軟體設計解。

3、軟體設計方法應遵循的原則

(1)選取適宜開發範型。該原則與軟體設計有關,在軟體設計中,軟體需求、硬體需求以及其他因素之間是相互制約、相互影響的,經常需要權衡。因此,必須認識需求定義的易變性,採用適宜的開發範型予以控制,以保證軟體產品滿足使用者的要求。

(2)採用合適的軟體設計方法。在軟體設計中,通常要考慮軟體的模組化、抽象與資訊隱蔽、區域性化、一致性以及適應性等特徵,合適的設計方法有助於這些特徵的實現,以達到軟體工程的目標。

(3)提供高質量的.軟體設計方法支援。“工欲善其事,必先利其器”。在軟體設計方法中,軟體工具與環境對軟體設計過程的支援頗為重要,軟體設計方法的質量與開銷直接取決於對軟體設計所提供的支撐質量和效用。

(4)重視軟體設計過程的管理。軟體設計的管理,直接影響可用資源的有效利用,生產滿足目標的軟體產品,提高軟體組織的生產能力等問題,因此,當軟體設計過程得以有效管理時,才能實現有效的軟體設計方法。

4、方法是軟體設計的思路,不是一層不變的定律

(1)方法是使後人分享前人的成功,避開前人的失敗,把注意力集中在尚未開拓領域的創造性勞動上,所以方法和軟體設計人員的創造性是沒有衝突的。

(2)沒有放之四海而皆準的方法,任何方法都有其侷限性,所以軟體設計人員大不必拘泥於某種特定的方法。

5、結束語

軟體工程的目標是以最小的代價開發出滿足使用者需求的軟體,軟體設計方法是開發軟體所使用的技術和手段,它既推動了計算機的廣泛應用, 又能開發出大量功能完善、介面友好、操作便利的系統與應用軟體。

參考文獻:

[1]《軟體工程》,鄭人傑,清華大學出版社,1999.

[2]《軟體工程引論》,孫桂茹,南開大學出版社,1995.

[3]《軟體工程發展綜述》,吳迤,科技資訊,2008.

[4]《軟體開發技術》,潘錦平,上海科技出版社,1985.

[5]《關於應用型軟體設計方法的探討》,錢旭,計算機應用研究,1996.

[6]《軟體危機現象與物件導向方法分析》,陳一明,湖北民族學院學報,2001.