計算機軟件設計方法
計算機軟件設計方法【1】
【摘要】:隨著(zhù)信息化時(shí)代的到來(lái), 計算機已廣泛應用于社會(huì )各領(lǐng)域, 發(fā)揮著(zhù)無(wú)與倫比的作用,而計算機軟件的開(kāi)發(fā)與完善極大地提高了計算機的使用效益,又促進(jìn)了計算機硬件的更新?lián)Q代, 因此計算機軟件設計方法的發(fā)展已成為人們關(guān)注的焦點(diǎn)之一。
本文結合國內外在軟件工程方面的最新理論及成果, 以及在項目開(kāi)發(fā)中實(shí)行軟件工程化探索的經(jīng)驗,探討了計算機軟件設計的幾種常用方法,以期會(huì )給軟件開(kāi)發(fā)者提供有益的啟迪。
【關(guān)鍵詞】:軟件 設計 方法
開(kāi)發(fā)一個(gè)軟件首先要給出功能說(shuō)明,然后確定解題方案或算法,設計流程圖,最后編寫(xiě)代碼。
為此,根據系統的實(shí)際需求,分別針對具體情況選擇采用不同的軟件設計方法,可以充分發(fā)揮軟件設計各種方法的優(yōu)勢。
1.問(wèn)題的提出
隨著(zhù)計算機技術(shù)的迅速發(fā)展,軟件開(kāi)發(fā)供不應求的局面日益加速,應用滯后已達數年,軟件設計人員已成為一種貧乏資源,形成新的 軟件危機”。
(軟件危機是指在計算機軟件的開(kāi)發(fā)和維護過(guò)程中所遇到的一系列嚴重問(wèn)題。
)主要包括三個(gè)方面的問(wèn)題:一是如何開(kāi)發(fā)軟件,怎樣滿(mǎn)足對軟件增長(cháng)的需求;二是如何維護數量不斷膨脹的已有軟件;三是如何大幅度提高軟件生產(chǎn)率已成為軟件界的眾矢之的和當務(wù)之急,為此,探索計算機的軟件設計方法有助予人們更好地開(kāi)發(fā)軟件。
2.幾種典型的軟件設計方法
2.1模塊化設計法
模塊化設計的基本概念是:
(1)每個(gè)模塊完成一個(gè)單一和相對獨立的功能;
(2)每個(gè)模塊應只有一個(gè)入口和一個(gè)出口, 每個(gè)模塊應盡可能小;
(3)上層模塊只調用下層模塊;
(4)整個(gè)系統由模塊構成。
為降低軟件系統的復雜性, 模塊化沒(méi)計采用分而治之的思想, 將問(wèn)題分解為若干子問(wèn)題, 對子問(wèn)題再作進(jìn)一步分解。
直至能用模塊實(shí)現為止, 這樣自頂向下逐級分解, 形成一個(gè)層次的模塊結構。
模塊可見(jiàn)部分是它的接口, 而其內部的數據和操作細節則對外部是隱藏的。
模塊可以由多人同時(shí)編程、單獨測試和最后集成。
模塊化設計提高了程序的可讀性和可修改性。
在模塊化設計中,按什么思想準則和方法來(lái)分解系統和劃分模塊,就產(chǎn)生不同的設計方法。
2.2結構化分析與設計方法(SA/SD)
結構化分析與設計方法的基本思想是自頂向下按功能的不同劃分不同的子系統,然后對每個(gè)子系統按照逐步求精的方法求得問(wèn)題解,將軟件開(kāi)發(fā)過(guò)程看作是軟件生命周期,建立的是瀑布模型。
其基本步驟為:分析一設計一編碼一測試一運行/維護。
這種方法的主要優(yōu)點(diǎn)是應用時(shí)間長(cháng)、簡(jiǎn)單、直觀(guān)、易于接受,并且已有了一定的應用基礎并開(kāi)辟了應用市場(chǎng)。
局限性主要在于功能經(jīng)常變化,難于適應變化要求;后期發(fā)現的錯誤維護代價(jià)太高;不支持功能復用,造成大量的代碼冗余。
2.3數據流設計法
數據流沒(méi)計法在設計過(guò)程中是面向數據流信息的。
它以分析階段使用結構化分析產(chǎn)生的數據流圖(DFD)為基礎,檢查DFD中信息流的特征,確定信息流是變換型還是事物型,然后采用變換分析或事物分析來(lái)導出相應的軟件結構。
數據流設計法提出了兩個(gè)定性準則來(lái)評價(jià)軟件結構中模塊的獨立性,即內聚和藕合,發(fā)展了模塊的概念。
模塊的實(shí)現目標是高內聚和低偶合,實(shí)現了這個(gè)目標的軟件設計就是成功的設計。
2.4原型法
原型法分為兩種,漸增型和示例型。
漸增型是設計的每一步都是最終產(chǎn)品的一部分。
而示例型則是快速開(kāi)發(fā)出的運行系統只是一個(gè)示例而已。
原型法的基本思想是借助程序自動(dòng)生成環(huán)境或軟件工程支持環(huán)境,構造一個(gè)實(shí)際系統簡(jiǎn)化的模型,供開(kāi)發(fā)人員和用戶(hù)交流,使設計具有靈活性,其要點(diǎn)是,第一要快,否則便失去意義;第二原型要能運轉起來(lái),用戶(hù)可以觀(guān)察到效果,提供修改意見(jiàn)。
開(kāi)發(fā)的基本步驟是首先簡(jiǎn)化系統,其次實(shí)現原型,然后經(jīng)過(guò)反復修改,最終真正實(shí)現。
2.5面向對象的設計法
面向對象的設計法是基于對象的概念將系統進(jìn)行分解的。
面向對象的沒(méi)計法從定義問(wèn)題開(kāi)始, 用自然語(yǔ)言對問(wèn)題進(jìn)行非形式化的陳述,利用一些簡(jiǎn)單規則,可以識別和確定出我們感興趣的那些對象、對象的屬性及其上的操作,得到一個(gè)用對象表示的現實(shí)世界模型。
然后, 對這個(gè)模型進(jìn)行簡(jiǎn)單映射,即一個(gè)模塊對應于模型中的一個(gè)對象或對象類(lèi),這樣就得到了問(wèn)題的軟件設計解。
3、軟件設計方法應遵循的原則
(1)選取適宜開(kāi)發(fā)范型。
該原則與軟件設計有關(guān),在軟件設計中,軟件需求、硬件需求以及其他因素之間是相互制約、相互影響的,經(jīng)常需要權衡。
因此,必須認識需求定義的易變性,采用適宜的開(kāi)發(fā)范型予以控制,以保證軟件產(chǎn)品滿(mǎn)足用戶(hù)的要求。
(2)采用合適的軟件設計方法。
在軟件設計中,通常要考慮軟件的模塊化、抽象與信息隱蔽、局部化、一致性以及適應性等特征,合適的設計方法有助于這些特征的實(shí)現,以達到軟件工程的目標。
(3)提供高質(zhì)量的軟件設計方法支持。
“工欲善其事,必先利其器”。
在軟件設計方法中,軟件工具與環(huán)境對軟件設計過(guò)程的支持頗為重要,軟件設計方法的質(zhì)量與開(kāi)銷(xiāo)直接取決于對軟件設計所提供的支撐質(zhì)量和效用。
(4)重視軟件設計過(guò)程的管理。
軟件設計的管理,直接影響可用資源的有效利用,生產(chǎn)滿(mǎn)足目標的軟件產(chǎn)品,提高軟件組織的生產(chǎn)能力等問(wèn)題,因此,當軟件設計過(guò)程得以有效管理時(shí),才能實(shí)現有效的軟件設計方法。
4、方法是軟件設計的思路,不是一層不變的定律
(1)方法是使后人分享前人的成功,避開(kāi)前人的失敗,把注意力集中在尚未開(kāi)拓領(lǐng)域的創(chuàng )造性勞動(dòng)上,所以方法和軟件設計人員的創(chuàng )造性是沒(méi)有沖突的。
(2)沒(méi)有放之四海而皆準的方法,任何方法都有其局限性,所以軟件設計人員大不必拘泥于某種特定的方法。
5、結束語(yǔ)
軟件工程的目標是以最小的代價(jià)開(kāi)發(fā)出滿(mǎn)足用戶(hù)需求的軟件,軟件設計方法是開(kāi)發(fā)軟件所使用的技術(shù)和手段,它既推動(dòng)了計算機的廣泛應用, 又能開(kāi)發(fā)出大量功能完善、界面友好、操作便利的系統與應用軟件。
參考文獻:
[1]《軟件工程》,鄭人杰,清華大學(xué)出版社,1999。
[2]《軟件工程引論》,孫桂茹,南開(kāi)大學(xué)出版社,1995。
[3]《軟件工程發(fā)展綜述》,吳迤,科技信息,2008。
[4]《軟件開(kāi)發(fā)技術(shù)》,潘錦平,上?萍汲霭嫔,1985。
[5]《關(guān)于應用型軟件設計方法的探討》,錢(qián)旭,計算機應用研究,1996。
[6]《軟件危機現象與面向對象方法分析》,陳一明,湖北民族學(xué)院學(xué)報,2001。
計算機軟件設計與實(shí)現【2】
摘 要:計算機在現在的工作與生活中的作用越來(lái)越重要,應用在各個(gè)領(lǐng)域,計算機技術(shù)以后將會(huì )朝高速、小型、超智能化的方向發(fā)展,而計算機軟件技術(shù)的優(yōu)化發(fā)展是實(shí)現這種發(fā)展趨勢的保證。
越來(lái)越多的計算機軟件的推出為計算機技術(shù)的發(fā)展做出了重大的貢獻。
基于各種門(mén)類(lèi)的計算機軟件的不斷出現,本文主要探討計算機軟件設計的現狀、計算機軟件設計與實(shí)現所要遵循的原則和軟件設計的主要方法。
關(guān)鍵詞:計算機;軟件設計;原則
計算機作為一向高端技術(shù),從當初被研發(fā)出來(lái)之后便緊密的與人們的生活時(shí)刻聯(lián)系在一起。
特別是隨著(zhù)信息時(shí)代的到來(lái),計算機為我們提供方便的重要原因是眾多的計算機軟件的出現,計算機軟件提高了計算機的使用效率,大大滿(mǎn)足了人們的各種需求,因此,計算機軟件的設計越來(lái)越受到人們的關(guān)注。
1 計算機軟件設計的現狀
1.1 計算機軟件的分類(lèi)。
計算機軟件技術(shù)主要是對軟件進(jìn)行操作的一項技術(shù)。
主要研究?jì)热莘譃閮蓚(gè)方面:一是怎樣優(yōu)化相應支撐體系;二是對相應的方法手段進(jìn)行開(kāi)發(fā)探索。
計算機軟件系統是可運營(yíng)的一種系統,已經(jīng)形成了層次分明的模型體系,主要可以分為以下三類(lèi):應用軟件;支撐軟件;系統軟件。
1.2 計算機軟件技術(shù)的規劃。
在當代,各個(gè)國家對計算機軟件的設計都特別重視。
很多國家投入大量的人力物力,并出臺一系列軟件設計政策進(jìn)行鼓勵計算機軟件的設計開(kāi)發(fā)。
大部分國家主要將開(kāi)發(fā)重點(diǎn)放在計算機軟件開(kāi)發(fā)方法上,我國對發(fā)展軟件業(yè)給予了重視,被行業(yè)在信息產(chǎn)業(yè)綱要里放在了最重要的位置,可見(jiàn),國家對計算機軟件的設計與研發(fā)的重視。
1.3 計算機系統軟件的研發(fā)現狀。
計算機系統軟件是更具硬件特征的軟件系統,計算機系統軟件分為不同的種類(lèi),以后分別具體分析各種不同種類(lèi)的系統軟件現狀。
1.3.1 操作系統的研發(fā)現狀。
計算機靠操作系統發(fā)揮基本功能,對計算機最為重要。
操作系統不僅管理各種硬件,如顯示器、打印機等等;同時(shí),也起到對軟件的運營(yíng)進(jìn)行統籌管理的功能,對軟件的運營(yíng)系統進(jìn)行操作;可以作為支撐軟件支撐相應應用軟件,使人機界面更加的先進(jìn)。
操作系統也對用戶(hù)能夠開(kāi)發(fā)應用系統提供保障,是一種基礎設施。
近年來(lái),計算機網(wǎng)絡(luò )技術(shù)在不斷發(fā)展,未來(lái)的操作系統會(huì )朝著(zhù)更加智能化,網(wǎng)絡(luò )化等方向發(fā)展。
1.3.2 商業(yè)操作系統研開(kāi)現狀。
操作系統嵌入技術(shù)是一種新興的技術(shù)。
嵌入技術(shù)是把計算機軟件與硬件與機電設備進(jìn)行結合,作為一個(gè)新的系統,使得這個(gè)新的系統具有很多原來(lái)的設備所不具有的優(yōu)點(diǎn)。
嵌入技術(shù)在各個(gè)領(lǐng)域得到廣泛應用。
現在,嵌入系統已經(jīng)產(chǎn)生很多產(chǎn)品并且投入運用,取得了良好的成果。
以后,也會(huì )越來(lái)越引起廠(chǎng)商對這一領(lǐng)域進(jìn)行投資,促進(jìn)這個(gè)領(lǐng)域的發(fā)展。
1.3.3 數據庫操作系統研發(fā)現狀。
(1)網(wǎng)絡(luò )化。
數據庫系統的重要組成部分是可以支持網(wǎng)絡(luò )型的,是數據庫系統的支柱。
對數據庫系統研發(fā)被各數據庫公司以及學(xué)術(shù)界放在首要位置,作為發(fā)展的中心。
比如,被微軟公司作為公司某項重要計劃核心部分的就是SQL Server;(2)數據庫系統的安全及相應技術(shù)。
在現代計算機系統中計算機處于核心地位,人們把注意力越來(lái)越多的放在數據庫的安全上。
當前世界上多數國家都出臺了一些數據庫系統的安全規定。
其中,美國制定的兩個(gè)規則起到主導作用,分別是《可信計算機系統的評估標準》與《可信計算機系統的評估標準》標準;(3)嵌入式技術(shù)。
嵌入式技術(shù)已經(jīng)被國內外專(zhuān)家們當作重點(diǎn)進(jìn)行研究與開(kāi)發(fā),取得了很大的進(jìn)展。
已經(jīng)應用在各個(gè)領(lǐng)域。
這一技術(shù)涉及了很多其他的數據庫領(lǐng)域,比如移動(dòng)通信技術(shù)、分布式計算技術(shù)等領(lǐng)域;(4)軟件工程環(huán)境研發(fā)現狀。
這項技術(shù)主要側重怎樣合理安排方法、工具、技術(shù)。
這個(gè)概念從推出到現在已經(jīng)延續了40多年之久。
軟件工程環(huán)境是在一起的軟件構件,實(shí)現工作活動(dòng)的自動(dòng)化支持。
從剛開(kāi)始的整體的研發(fā)到后來(lái)的逐步分散化。
上世紀九十年代,CASE工具得到廣泛應用,發(fā)展成CASE工具集成。
2 計算機軟件設計與實(shí)現當遵循的原則
2.1 準確抓住用戶(hù)的需求。
由于用戶(hù)對軟件的要求各不相同,軟件的設計時(shí)為了滿(mǎn)足用戶(hù)的需求,因此,計算機軟件的設計要在和客戶(hù)不斷溝通交流及對行業(yè)領(lǐng)域進(jìn)行研究獲取用戶(hù)的需求,才能真正確定軟件設計的方向,更加適應于用戶(hù)和市場(chǎng)要求。
2.2 應當不斷重構。
計算機軟件設計不是一個(gè)一步到位的過(guò)程,而是循序漸進(jìn)。
設計者對計算機軟件的設計是一個(gè)不斷改進(jìn)、不斷完善的過(guò)程,不應該擔心軟件設計之初有哪些不足,而是應當不斷重構,最終使產(chǎn)品達到完美。
在真正知道客戶(hù)的需求之后,應當先進(jìn)行方案的設計,先進(jìn)行初級設計,然后在不斷完善,逐漸滿(mǎn)足客戶(hù)的所有需求。
而不是先設計出一個(gè)完美的方案,然后進(jìn)行修改,這個(gè)方案比較急于求成,設計出來(lái)的軟件優(yōu)化空間很小。
新加功能與對軟件的改善應當輪流進(jìn)行,增加新功能的時(shí)候,充分保證現有代碼的正確性,同時(shí)對代碼進(jìn)行適當的修改,從而使所有的新功能測試都能通過(guò)。
而對設計進(jìn)行改善時(shí),應當保證用現有的測試用例能驗證修改的正確性。
2.3 應當始終面向代碼。
所有的軟件設計在編寫(xiě)代碼之前都是一個(gè)想法,是沒(méi)有現實(shí)意義的空想,編寫(xiě)代碼是軟件設計最有價(jià)值的部分,也是將空想變成真實(shí)的一種手段。
很多完美的想法方案由于代碼的不完全實(shí)現導致沒(méi)能達到預期效果。
所以,在軟件設計的過(guò)程中必須將代碼的編寫(xiě)放在首要位置,將好的構思,馬上用代碼表現出來(lái),并且進(jìn)行對代碼的準確性與系統相容性進(jìn)行檢測。
3 計算機軟件設計的方法
計算機軟件是按照特定的規格進(jìn)行設計的,根據一些條件,主要有結構化程序設計、面向對象的程序設計、“由頂至下設計”法這三種軟件設計方法。
3.1 結構化程序設計。
在計算機軟件設計中,具有良好結構的程序,在編碼、檢測和維護中都比較省力。
它的主要流程是先了解用戶(hù)的需求,以此為軟件設計的切入點(diǎn),根據實(shí)際功能將系統分成一些子系統,再根據實(shí)現的功能把子系統分割成模塊,針對模塊布置各個(gè)模塊的具體要求與說(shuō)明,明確各個(gè)模塊是按怎樣的方法實(shí)現和程序中的其他部分對接。
3.2 面向對象的程序設計。
面向對象就是由實(shí)例入手,找到實(shí)際問(wèn)題系統里面存在的實(shí)體,分析試題的屬性、特征等,以此構成各對象類(lèi)間的結構層次,最后構建出完整的軟件系統。
主要有封裝性、繼承性、多態(tài)性三個(gè)特點(diǎn)。
封裝性主要針對數據并且對數據的操作實(shí)現一體化;繼承性主要針對某類(lèi)繼承它所屬代碼的屬性及操作;多態(tài)性則是類(lèi)等級中各層共享同一函數的名字。
3.3 “由頂至下設計”法。
此方法處理分層問(wèn)題最有效,將整個(gè)系統功能的最抽象表述作為最高層次,從這個(gè)層次出發(fā)設計子系統,然后依靠這些子系統實(shí)現較高層次的系統功能,再以子系統作為基礎是基礎更詳盡的子系統。
這個(gè)方法可以分清各種復雜的處理層次,并且多個(gè)要素間關(guān)系清晰。
4 結束語(yǔ)
組成計算機的硬件和軟件部分,其中以計算機軟件技術(shù)的設計研發(fā)推動(dòng)了計算機的廣泛應用。
計算機軟件目前已經(jīng)在各個(gè)領(lǐng)域中取得了優(yōu)異的成果。
計算機軟件設計在計算機的發(fā)展上有著(zhù)極為重要的意義,在計算機軟件技術(shù)的開(kāi)發(fā)中,一些操作方便,功能強大的軟件為人們的工作生活帶來(lái)了很大的方便。
參考文獻:
[1]王鴻侃.淺談?dòng)嬎銠C軟件的設計與實(shí)現策略[J].計算機與軟件,2013(13):149.
[2]車(chē)江濤,侯明.計算機軟件技術(shù)的現狀與發(fā)展趨勢[J].計算機光盤(pán)軟件與應用,2012(12):42-44.
【計算機軟件設計方法】相關(guān)文章:
軟件設計咨詢(xún)合同04-08
[精品]軟件設計大賽策劃書(shū)12-22
計算機應用中的excel教學(xué)方法探析的論文10-05
學(xué)習的方法11-30
方法的作文10-04
學(xué)習的方法06-29
計算機教案07-04
計算機教案12-10
文學(xué)鑒賞方法08-18