【摘要】計(jì)算機(jī)在現(xiàn)代生活中發(fā)揮著越來越重要的作用,而計(jì)算機(jī)軟件的開發(fā)設(shè)計(jì)則促進(jìn)了計(jì)算機(jī)的發(fā)展。本文著重探討了計(jì)算機(jī)軟件設(shè)計(jì)和實(shí)現(xiàn)過程中應(yīng)當(dāng)遵循的原則,并闡述了軟件設(shè)計(jì)的幾種主要方法。
【關(guān)鍵詞】計(jì)算機(jī)軟件原則設(shè)計(jì)
隨著信息時(shí)代的逐漸到來,計(jì)算機(jī)已經(jīng)在社會(huì)的眾多領(lǐng)域發(fā)揮著不可替代的作用。計(jì)算機(jī)軟件的完善和開發(fā)一方面促進(jìn)了計(jì)算機(jī)硬件的更新?lián)Q代,另一方面又極大提高了計(jì)算機(jī)的使用效益,因而計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)日益成為了人們關(guān)注的焦點(diǎn)問題。
一、計(jì)算機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)過程應(yīng)當(dāng)遵循的原則
1.1科學(xué)的軟件設(shè)計(jì)必須能夠準(zhǔn)確抓住用戶的需求
由于不同用戶對(duì)軟件的設(shè)計(jì)有著不同的要求,沒有一個(gè)通用的模板可以使用,這就需要軟件設(shè)計(jì)者與客戶不斷的溝通以及對(duì)行業(yè)領(lǐng)域的充分研究來獲得用戶真實(shí)的需求,這是一件較為困難的事情。
1.2軟件的設(shè)計(jì)與實(shí)現(xiàn)應(yīng)當(dāng)是一個(gè)不斷重構(gòu)的過程
軟件的設(shè)計(jì)應(yīng)當(dāng)是一個(gè)循序漸進(jìn)的過程,而不是一蹴而就、一步到位的過程。因而設(shè)計(jì)者在設(shè)計(jì)之初不必?fù)?dān)心設(shè)計(jì)出的軟件如何丑陋,關(guān)鍵在于后期不斷的改進(jìn)和完善,最終設(shè)計(jì)出的產(chǎn)品可能與一開始有著巨大的差別。好的軟件設(shè)計(jì)首先應(yīng)當(dāng)根據(jù)用戶的需求,制定出一個(gè)較為“粗糙”的方案,然后對(duì)方案慢慢改進(jìn)完善,逐漸形成一個(gè)“完美”的方案。而不是先根據(jù)設(shè)計(jì)者的經(jīng)驗(yàn)設(shè)計(jì)出一個(gè)較為“完美”的構(gòu)思,然后再對(duì)其作些許修改,以達(dá)到追求的效果。前一種方式注重循序漸進(jìn)的過程,具有一定的靈活性;而后一種方式則是急于求成,可進(jìn)一步優(yōu)化的空間較小。增加新的功能與改善現(xiàn)有設(shè)計(jì)應(yīng)當(dāng)輪流進(jìn)行。在增加新功能時(shí),應(yīng)當(dāng)充分信任已有代碼的準(zhǔn)確性,關(guān)注于新功能測(cè)試用例以確保測(cè)試用例的正確性,同時(shí)對(duì)代碼進(jìn)行適當(dāng)?shù)膭h改,進(jìn)而使所有的測(cè)算用例通過。在改善現(xiàn)有設(shè)計(jì)時(shí),用現(xiàn)有的測(cè)試用例便能快速準(zhǔn)確的驗(yàn)證這種修改的正確性。
1.3軟件的設(shè)計(jì)與實(shí)現(xiàn)須始終面向代碼
編碼是軟件設(shè)計(jì)中最真實(shí)和最有價(jià)值的部分。在編碼之前,所有的設(shè)計(jì)都只是沒有現(xiàn)實(shí)意義和不被認(rèn)可的空想。很多構(gòu)思“完美”的預(yù)設(shè)計(jì)由于輕視了代碼的實(shí)現(xiàn)過程,造成“化神奇為腐朽”的后果。因此在進(jìn)行軟件設(shè)計(jì)過程中應(yīng)當(dāng)始終把編碼放在一個(gè)十分重要的位置,一旦有什么好的構(gòu)思,就應(yīng)當(dāng)立馬用代碼將其表達(dá)出來,并驗(yàn)證該代碼的準(zhǔn)確性與系統(tǒng)相容性。
二、計(jì)算機(jī)軟件設(shè)計(jì)的方法
計(jì)算機(jī)軟件是根據(jù)一定的規(guī)格和說明設(shè)計(jì)的,通過設(shè)計(jì)確定測(cè)試點(diǎn)、程序結(jié)構(gòu)和限制等。下面主要介紹幾種較為常見的軟件設(shè)計(jì)方法。(1)結(jié)構(gòu)化程序設(shè)計(jì)。軟件的結(jié)構(gòu)對(duì)軟件的設(shè)計(jì)有著十分重要的意義。擁有良好結(jié)構(gòu)的程序易于編寫、檢查和維護(hù)。該方法在程序的設(shè)計(jì)時(shí)根據(jù)用戶的需求從系統(tǒng)功能入手,首先按功能將應(yīng)用系統(tǒng)劃分為不同的子系統(tǒng),接著再按功能將子系統(tǒng)劃分為許多相對(duì)獨(dú)立的模塊,并分別提出各自的說明和要求,同時(shí)還要注明它們?nèi)绾闻c程序中的其余部分接口。對(duì)結(jié)構(gòu)化程序設(shè)計(jì)是一種“由上而下、由大到小”的設(shè)計(jì)方法,采用的是“獨(dú)立功能,單出、入口”的模塊結(jié)構(gòu)。(2)面向?qū)ο蟮某绦蛟O(shè)計(jì)。面向?qū)ο蠹夹g(shù)是在解決具體的問題時(shí)從具體的實(shí)例著手,尋求問題系統(tǒng)中的實(shí)體,然后研究每一個(gè)實(shí)體的屬性、功能和特征,進(jìn)而形成對(duì)象類之間的結(jié)構(gòu)層次,最終形成一個(gè)完整的軟件系統(tǒng)。面向?qū)ο蟪绦蛟O(shè)計(jì)有三個(gè)重要的特征,即封裝性、繼承性和多態(tài)性。封裝性是指數(shù)據(jù)及對(duì)其操作的一體化,繼承性是指一個(gè)類繼承其基類的屬性與操作,多態(tài)性是指類等級(jí)的各層中共同享用一個(gè)函數(shù)的名字。面向?qū)ο笤O(shè)計(jì)方法適合于開發(fā)以Windows為平臺(tái)的應(yīng)用程序,隨著Windows的廣泛應(yīng)用與DOS退出微機(jī)操作系統(tǒng),它必將逐漸取代結(jié)構(gòu)化程序設(shè)計(jì)而占據(jù)主導(dǎo)地位。(3)“自頂向下設(shè)計(jì)”法。該方法是處理分層問題最為有效的技術(shù)方法。它以系統(tǒng)功能的最抽象描述作為最高層次,并由此出發(fā)設(shè)計(jì)出一系列詳細(xì)的子系統(tǒng)。由這一系列子系統(tǒng)去完成較高層次的功能,再以子系統(tǒng)為基礎(chǔ)設(shè)計(jì)出一系列更為詳細(xì)的子系統(tǒng)。自頂向下設(shè)計(jì)方法的價(jià)值在于它能夠指出復(fù)雜程度不同的處理層次,并且各種設(shè)計(jì)要素之間具有較為清楚的關(guān)系。
三、結(jié)束語(yǔ)
計(jì)算機(jī)包括硬件和軟件兩部分。計(jì)算機(jī)軟件開發(fā)技術(shù)的發(fā)展推動(dòng)了計(jì)算機(jī)的普及應(yīng)用,同時(shí)也開發(fā)出了大量界面友好、操作便利、功能完善的系統(tǒng)和應(yīng)用軟件。本文闡述了軟件設(shè)計(jì)和實(shí)現(xiàn)過程中應(yīng)當(dāng)遵循的一些原則以及軟件設(shè)計(jì)的三種方法,希望能夠給軟件的開發(fā)者提供一些有益的啟迪和參考。
參考文獻(xiàn)
[1]熊吉春,鄔長(zhǎng)安.計(jì)算機(jī)軟件設(shè)計(jì)方法的探討.信陽(yáng)師范學(xué)院學(xué)報(bào),1999,第3期
[2]黃會(huì)雄,陳開文.軟件可靠性設(shè)計(jì)研究與應(yīng)用.山西電子技術(shù),2004,第4期