時(shí)間:2023-03-16 15:27:00
序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過(guò)程,我們?yōu)槟扑]十篇計(jì)算機(jī)軟件論文范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來(lái)更深刻的閱讀感受。
一、引言
你的電腦是否曾經(jīng)提醒過(guò)你:您是盜版軟件的受害者。但是對(duì)此提醒好像大部分的人都不以為然,甚至有的人覺(jué)得不僅不是受害者還是受益者。仔細(xì)計(jì)算一下你的電腦里的操作軟件,有多少是盜版,盜版WindowsXP、盜版殺毒軟件、盜版MicrosoftOffice……因?yàn)槟阆硎芰肆畠r(jià)的盜版軟件帶來(lái)的便利??墒悄阌袥](méi)有想過(guò)自己侵犯了軟件企業(yè)的權(quán)益。
2005年9月,西寧某公司未經(jīng)北京北大方正電子有限公司許可,在其營(yíng)業(yè)場(chǎng)所內(nèi)的一臺(tái)兼容機(jī)上安裝了盜版的方正軟件系統(tǒng)。西寧某廠在其營(yíng)業(yè)場(chǎng)所的激光照排機(jī)主控制電腦上安裝了方正軟件系統(tǒng),據(jù)調(diào)查,該軟件信息窗口處有使用膠版作業(yè)的記錄。2006年2月21日,北京北大方正電子有限公司以西寧某公司、西寧某廠的上述行為嚴(yán)重侵犯該公司的著作權(quán)為由,向西寧市中級(jí)人民法院提訟,請(qǐng)求西寧某公司和某廠停止侵權(quán)、賠禮道歉并賠償經(jīng)濟(jì)損失。
QQ的軟件著作權(quán)是由騰訊控股有限公司所有,然而教師陳壽福對(duì)QQ做出的多項(xiàng)改動(dòng)得到了許多用戶的喜愛(ài)。這些改動(dòng)包括攔截正版QQ的廣告,但他卻為了自己牟利而在珊瑚蟲版上捆綁了其他網(wǎng)絡(luò)公司的一些廣告和垃圾信息。騰迅最早在2002年就曾指控陳壽福侵犯其軟件著作權(quán),并警告后者停止傳播珊瑚蟲QQ。而陳壽福也有所行動(dòng)。他設(shè)計(jì)出一種非侵入性的軟件補(bǔ)丁讓自己的程序成為獨(dú)立的軟件,并能夠在同一臺(tái)電腦上與騰迅QQ并列運(yùn)行。但到了2003年,他又開始對(duì)外提供珊瑚蟲QQ。到了2006年,面對(duì)珊瑚蟲QQ受歡迎程度呈有增無(wú)減的趨勢(shì),騰迅以侵犯其軟件著作權(quán)為由將陳壽福告上法庭,并索賠人民幣50萬(wàn)元(折合6.8萬(wàn)美元)。這場(chǎng)官司以騰迅勝訴告終,法院判陳壽福賠償騰迅10萬(wàn)元,而后者也服從判決繳納了賠款。而2007年8月初,騰迅向其總部所在的深圳警方報(bào)案,8月16日陳壽福被拘留。騰迅所稱,陳壽福侵犯了騰迅的著作權(quán)并以此非法牟利。目前,此案還未有定論。
二、計(jì)算機(jī)軟件侵權(quán)的原因分析
1、軟件登記不被重視
按照我國(guó)頒布實(shí)施的《計(jì)算機(jī)軟件保護(hù)條例》的規(guī)定,軟件著作權(quán)登記采取自愿原則,登記與否不影響其開發(fā)完成的軟件著作權(quán)產(chǎn)生和軟件著作權(quán)的商業(yè)運(yùn)作。由于登記并不影響實(shí)際權(quán)利的享有,故很多企業(yè)認(rèn)為軟件是否進(jìn)行登記并不重要。然而,登記最大的作用就是對(duì)權(quán)利的公示性。而且由于軟件著作權(quán)程序不同于傳統(tǒng)的著作權(quán),其存在方式是以虛擬數(shù)據(jù)存儲(chǔ)于計(jì)算機(jī)中,易丟失,因此,企業(yè)應(yīng)加強(qiáng)對(duì)軟件著作權(quán)的登記工作,可以減輕在侵權(quán)訴訟中的權(quán)屬舉證責(zé)任,也可以減少不必要的管理需要,降低企業(yè)的運(yùn)營(yíng)成本。
一方面,軟件登記機(jī)關(guān)在軟件著作權(quán)登記的具體工作中,按照我國(guó)保護(hù)軟件知識(shí)產(chǎn)權(quán)的法律、法規(guī),并參照有關(guān)軟件技術(shù)標(biāo)準(zhǔn),針對(duì)在軟件登記申請(qǐng)中的法律關(guān)系和技術(shù)狀態(tài)出現(xiàn)的“顯而易見”的問(wèn)題進(jìn)行必要的審查,努力做到將軟件著作權(quán)糾紛隱患消除在萌芽狀態(tài),以減少軟件著作權(quán)糾紛;另一方面,企業(yè)在遭遇軟件著作權(quán)侵權(quán)的情況下,作為軟件著作權(quán)的權(quán)利人,有舉證證明權(quán)利所有的義務(wù)。在軟件著作權(quán)沒(méi)有登記的情況下,企業(yè)需要將軟件獨(dú)立研發(fā)的原始資料全部以及研發(fā)的最初時(shí)間等呈現(xiàn)出來(lái)才能證明自己系正當(dāng)權(quán)利人。而有時(shí)由于時(shí)間問(wèn)題或企業(yè)對(duì)資料保管上存在缺漏,導(dǎo)致軟件開發(fā)的原始資料丟失,此時(shí)要主張自己是軟件著作權(quán)人,就比較困難,從而導(dǎo)致侵權(quán)訴訟的敗訴。而在已經(jīng)進(jìn)行了軟件著作權(quán)登記的情況下,由于登記的公示性,登記記載的著作權(quán)人無(wú)需對(duì)權(quán)利所屬再行舉證,舉證責(zé)任轉(zhuǎn)由對(duì)方提供相反的證據(jù),從而降低了訴訟風(fēng)險(xiǎn)。
2、合同約定不夠明確
軟件著作權(quán)使用許可合同是指軟件著作權(quán)人在軟件著作權(quán)保護(hù)期內(nèi)授權(quán)他人在合同規(guī)定的條件、范圍和時(shí)間內(nèi)使用其軟件,并通過(guò)這種授權(quán)而獲得報(bào)酬的合同。許可使用方式主要包括:獨(dú)占許可、獨(dú)家許可、普通許可。企業(yè)在簽訂軟件著作權(quán)使用許可合同中易忽略對(duì)使用方式、使用的權(quán)利范圍進(jìn)行明確約定。如企業(yè)原本意圖簽訂獨(dú)占許可合同,而未對(duì)使用方式進(jìn)行明確約定,使得軟件著作權(quán)人又將該軟件許可他人使用,導(dǎo)致企業(yè)支付了軟件使用費(fèi)后所生產(chǎn)的產(chǎn)品不具有市場(chǎng)獨(dú)立性,失去競(jìng)爭(zhēng)優(yōu)勢(shì)。另外對(duì)于約定使用的權(quán)利范圍不明確,由于現(xiàn)行法律規(guī)定,在軟件著作權(quán)使用許可中,對(duì)于合同中未作約定的權(quán)利,被許可方不得使用,故在軟件著作權(quán)許可使用合同中,應(yīng)對(duì)被許可的權(quán)利進(jìn)行列明,否則很容易在使用過(guò)程中造成權(quán)利受限或構(gòu)成侵權(quán)。
3、實(shí)質(zhì)性權(quán)利保護(hù)遭遇忽略
《計(jì)算機(jī)軟件保護(hù)條例》第十條規(guī)定:本條例對(duì)軟件著作權(quán)的保護(hù)不延及開發(fā)軟件所用的思想、處理過(guò)程、操作方法或數(shù)學(xué)概念等。因此,軟件著作權(quán)的保護(hù)并不能制止以不同方式表達(dá)同一構(gòu)思的實(shí)質(zhì)侵權(quán)。對(duì)于以不同方式表達(dá)同一構(gòu)思的實(shí)質(zhì)侵權(quán)如何保護(hù),目前企業(yè)界尚不明了。特別是在目前利用反向工程獲取軟件結(jié)構(gòu)一般不認(rèn)定為侵犯軟件著作權(quán)的情況下,為防止此類侵權(quán),企業(yè)應(yīng)將用于特定產(chǎn)品的軟件與企業(yè)硬件產(chǎn)品相結(jié)合,申請(qǐng)專利保護(hù),軟件一旦與產(chǎn)品硬件結(jié)合,在產(chǎn)品申請(qǐng)專利的情況下,對(duì)于軟件也就可以通過(guò)專利進(jìn)行保護(hù)。如此,對(duì)軟件就可以達(dá)到強(qiáng)保護(hù)的目的。
4、保密措施不夠嚴(yán)密軟件反向工程是指將他人的目標(biāo)代碼程序利用反匯編、反編譯軟件使其還原為匯編代碼的過(guò)程。雖然目前對(duì)于反向工程獲取軟件源代碼的手段是否合法、合理問(wèn)題理論界尚存在爭(zhēng)論。但在我國(guó)司法實(shí)踐中已經(jīng)明確對(duì)于通過(guò)反向工程手段獲得軟件源代碼的行為本身是不構(gòu)成侵權(quán)的。但同時(shí)規(guī)定:“當(dāng)事人以不正當(dāng)手段知悉了他人的商業(yè)秘密后,又以反向工程為由主張獲取行為合法的,不予支持。”這里實(shí)際指的是對(duì)軟件作為商業(yè)秘密保護(hù)的闡述。但很多時(shí)候,企業(yè)軟件通常作為產(chǎn)品推向市場(chǎng),市場(chǎng)的公開化導(dǎo)致獲取產(chǎn)品途徑正當(dāng)化,此時(shí),要防止他人通過(guò)反向工程獲取軟件源代碼的主要手段就只能通過(guò)技術(shù)加密行為來(lái)進(jìn)行。我市目前軟件企業(yè)產(chǎn)品推向公開化市場(chǎng)的并不多,主要是為特定企業(yè)定制軟件,另外很多企業(yè)為自身生產(chǎn)的需要,也有自行開發(fā)的軟件。對(duì)此,企業(yè)一要加強(qiáng)內(nèi)部軟件的保密度,盡量減少非正當(dāng)途徑獲取軟件的幾率,同時(shí)也不能完全依賴于對(duì)軟件的商業(yè)秘密保護(hù)。對(duì)于軟件本身,更應(yīng)當(dāng)加強(qiáng)技術(shù)加密手段,即使在他人通過(guò)不正當(dāng)途徑獲取軟件時(shí),增加其反向工程的難度,減少知識(shí)產(chǎn)權(quán)糾紛,降低企業(yè)軟件開發(fā)投資風(fēng)險(xiǎn)。
5、法律保護(hù)亟待完善
目前對(duì)計(jì)算機(jī)軟件保護(hù)模式主要包括專利保護(hù)、版權(quán)(著作權(quán))、商業(yè)秘密保護(hù)、不正當(dāng)競(jìng)爭(zhēng)保護(hù)和商標(biāo)保護(hù)。而在我國(guó),主要通過(guò)《著作權(quán)法》實(shí)施對(duì)計(jì)算機(jī)軟件的著作權(quán)保護(hù),同時(shí)我國(guó)出臺(tái)了專門的《計(jì)算機(jī)軟件保護(hù)條例》,以專門立法的形式加強(qiáng)對(duì)計(jì)算機(jī)軟件的保護(hù)。對(duì)于計(jì)算機(jī)軟件的專利保護(hù)、商標(biāo)保護(hù),在我國(guó)的計(jì)算機(jī)軟件保護(hù)體系中很少涉及。其中專利保護(hù)僅指我國(guó)專利局1993年的《專利審查指南》中的規(guī)定:涉及計(jì)算機(jī)程序本身或者數(shù)學(xué)方法本身的發(fā)明專利申請(qǐng)不能授予專利。同時(shí)又指出,如果一件含有計(jì)算機(jī)程序的發(fā)明專利申請(qǐng)的主題能夠產(chǎn)生技術(shù)效果,構(gòu)成一個(gè)完整的技術(shù)方案,就不能僅僅因?yàn)樵搶@暾?qǐng)含有計(jì)算機(jī)程序而不授予專利權(quán)。而商標(biāo)保護(hù)是指軟件產(chǎn)品商品化后通過(guò)注冊(cè)商標(biāo)防止盜版軟件的發(fā)行、出售等。
三、計(jì)算機(jī)軟件保護(hù)的對(duì)策
根據(jù)多宗計(jì)算機(jī)軟件侵權(quán)案件的判例,再結(jié)合我國(guó)目前保護(hù)計(jì)算機(jī)軟件各種法律的欠缺和不完善,在保護(hù)計(jì)算機(jī)軟件方面應(yīng)從以下方面注意。
1、重視軟件登記,加強(qiáng)識(shí)別能力
軟件使用包括企業(yè)自行研發(fā)的軟件使用,也包括企業(yè)通過(guò)購(gòu)買或被許可使用他人軟件。對(duì)于企業(yè)自行研發(fā)的軟件使用,需要注意的是,由于軟件著作權(quán)的非唯一性,其他軟件開發(fā)者通過(guò)獨(dú)立研發(fā)可以研發(fā)出與權(quán)利人一致或基本相似的軟件,兩者之間的著作權(quán)并不沖突,可以同時(shí)并存。此時(shí),企業(yè)要做好著作權(quán)備案登記工作或保存好原始開發(fā)資料,防止在使用過(guò)程中被他人指認(rèn)侵權(quán),做好軟件登記工作,減少侵權(quán)訴訟風(fēng)險(xiǎn)。
對(duì)于企業(yè)購(gòu)買他人軟件使用過(guò)程中,主要是做好防盜版工作,如上所述,企業(yè)應(yīng)通過(guò)正當(dāng)途徑購(gòu)買軟件,并保存好購(gòu)買軟件的正規(guī)發(fā)票。同時(shí)加強(qiáng)企業(yè)采購(gòu)人員對(duì)正版和盜版軟件的識(shí)別能力,降低企業(yè)經(jīng)營(yíng)風(fēng)險(xiǎn)。另外企業(yè)在簽訂軟件許可使用合同中,應(yīng)明確許可方式,簽訂保密條款,并明確被許可的權(quán)利范圍、使用地域范圍和使用期限,對(duì)于利用被許可軟件再行開發(fā)出新成果的歸屬雙方也可事先進(jìn)行約定。
2、重視自我保護(hù),加強(qiáng)軟件加密
就企業(yè)軟件管理而言,第一,加強(qiáng)對(duì)軟件產(chǎn)品的保密工作,減少不必要人員的接觸。第二,對(duì)于核心技術(shù)人員,因?qū)τ谲浖幕驹?、?gòu)思等并不受軟件著作權(quán)的保護(hù),因此,員工的流失必然存在對(duì)軟件著作權(quán)實(shí)質(zhì)侵權(quán)的威脅。因此,企業(yè)應(yīng)盡量保證技術(shù)核心人員的穩(wěn)定性。對(duì)其工作期間所開發(fā)的軟件(包括自由開發(fā)軟件)應(yīng)明確約定歸企業(yè)所有,并設(shè)立相應(yīng)的獎(jiǎng)勵(lì)制度。
對(duì)于軟件本身,第一,提高軟件加密程度,增加反向工程獲取軟件源代碼的難度;第二,對(duì)于能夠與企業(yè)硬件產(chǎn)品結(jié)合的軟件,盡量與產(chǎn)品一起申請(qǐng)專利保護(hù)。第三,對(duì)推向市場(chǎng)的軟件產(chǎn)品申請(qǐng)注冊(cè)商標(biāo),通過(guò)實(shí)施品牌戰(zhàn)略加強(qiáng)對(duì)軟件產(chǎn)品的保護(hù)。
3、重視法律維權(quán),加強(qiáng)侵權(quán)舉證
當(dāng)企業(yè)不可避免地遭遇到計(jì)算機(jī)軟件侵權(quán)糾紛時(shí),如何適當(dāng)?shù)剡M(jìn)行舉證,成為訴訟勝敗的關(guān)鍵點(diǎn)。企業(yè)遭遇侵權(quán)時(shí),首先應(yīng)當(dāng)提供作為權(quán)利人的證據(jù),軟件著作權(quán)進(jìn)行登記的重要性也就在這里體現(xiàn)了。由于登記的公示性,只要沒(méi)有相反的證據(jù),軟件著作權(quán)的登記人就是理所當(dāng)然的著作權(quán)人。對(duì)于沒(méi)有登記的軟件著作權(quán),權(quán)利人可以提供軟件源程序、軟件首次開發(fā)完成的時(shí)間等證據(jù)證明自己是著作權(quán)人。其次,需要舉證的就是侵權(quán)事實(shí)的存在。對(duì)于這一塊舉證,企業(yè)通常存在難度。因?yàn)橐话闱謾?quán)發(fā)生地都不在企業(yè)控制范圍內(nèi),企業(yè)也沒(méi)有相應(yīng)的適當(dāng)途徑能夠進(jìn)入侵權(quán)地。對(duì)于盜版軟件銷售中侵權(quán)行為的取證,可采用三種方式。
公證取證方式,由權(quán)利人與公證機(jī)關(guān)工作人員一起作為購(gòu)買者購(gòu)買盜版軟件,并就所購(gòu)軟件進(jìn)行封存以及對(duì)整個(gè)購(gòu)買過(guò)程進(jìn)行公證。這樣的公證,在民事侵權(quán)訴訟中,如果沒(méi)有相反的證據(jù),一般都能夠得到確認(rèn)。對(duì)于軟件著作權(quán)侵權(quán)行為的公證取證中,應(yīng)注意的是,由于計(jì)算機(jī)軟件不同于其他著作權(quán),通過(guò)一般的拍照、復(fù)制等公證保全方式有時(shí)并不能達(dá)到證據(jù)所應(yīng)有的證明力,因此,在計(jì)算機(jī)侵權(quán)取證中,應(yīng)盡量聘請(qǐng)專家或?qū)I(yè)鑒定機(jī)構(gòu)參與取證,增加證據(jù)的證明力;通過(guò)行政執(zhí)法手段對(duì)侵權(quán)行為進(jìn)行認(rèn)定。在公證機(jī)關(guān)工作人員無(wú)法進(jìn)入的侵權(quán)地,無(wú)法通過(guò)公證取證的方式進(jìn)行證據(jù)收集,此時(shí)可通過(guò)版權(quán)局對(duì)侵權(quán)地進(jìn)行查處,對(duì)于行政執(zhí)法機(jī)構(gòu)已經(jīng)認(rèn)定的侵權(quán)行為,在沒(méi)有相反的證據(jù)情況下,法院都予以直接認(rèn)定;申請(qǐng)法院進(jìn)行證據(jù)保全,但申請(qǐng)證據(jù)保全一般應(yīng)提供侵權(quán)存在的初步資料,否則法院一般不予采納。
軟件復(fù)用技術(shù)的提出成為消除這種危機(jī)的一種解決方案。近年來(lái),特別是20世紀(jì)90年代以后,面向?qū)ο蠓椒ê图夹g(shù)成為主流的軟件開發(fā)技術(shù),使得軟件復(fù)用被視為解決軟件危機(jī)一條現(xiàn)實(shí)可行的途徑。與此同時(shí),模型構(gòu)件技術(shù)、分布式系統(tǒng)、領(lǐng)域工程、自動(dòng)生成技術(shù)又為軟件復(fù)用注入了新的活力,本文對(duì)面向?qū)ο笙到y(tǒng)分析階段軟件復(fù)用模型進(jìn)行了研究和探討。
一、軟件復(fù)用
軟件復(fù)用的概念是在1968年NATO軟件工程會(huì)議上被第一次引入的,在其后的幾十年中,進(jìn)行了許多復(fù)用技術(shù)的研究和實(shí)踐活動(dòng),但因技術(shù)和非技術(shù)方面的種種因素,造成復(fù)用技術(shù)在整體上對(duì)軟件產(chǎn)業(yè)的影響不盡人意。面向?qū)ο蠓椒ê图夹g(shù)的出現(xiàn)及成熟,為軟件復(fù)用提供了強(qiáng)有力的技術(shù)支持,尤其是軟件構(gòu)件技術(shù)的發(fā)展為其注入了新的活力,使得軟件復(fù)用研究重新成為熱點(diǎn),被視為解決軟件危機(jī)、提高軟件生產(chǎn)效率和質(zhì)量的一個(gè)現(xiàn)實(shí)可行的途徑,同時(shí)也成為了避免軟件開發(fā)中重復(fù)勞動(dòng)的解決方案,并在一定程度上降低了軟件開發(fā)的費(fèi)用。目前,軟件復(fù)用技術(shù)主要從兩個(gè)方面來(lái)考慮:產(chǎn)品復(fù)用、過(guò)程復(fù)用。
產(chǎn)品復(fù)用:所謂產(chǎn)品復(fù)用是指復(fù)用已有的軟件產(chǎn)品。目前基于構(gòu)件的和面向服務(wù)的軟件開發(fā)模式就是建立在這種軟件復(fù)用的基礎(chǔ)上的。這兩種開發(fā)模式主要通過(guò)對(duì)現(xiàn)有的構(gòu)件和服務(wù)進(jìn)行合成或集成,從而生成所需要軟件的過(guò)程。產(chǎn)品的復(fù)用是目前軟件復(fù)用技術(shù)研究的焦點(diǎn),在這個(gè)復(fù)用的過(guò)程中涉及到的關(guān)鍵技術(shù)是構(gòu)件技術(shù)和軟件架構(gòu)技術(shù),在成熟的構(gòu)件和架構(gòu)的技術(shù)上,可以使產(chǎn)品復(fù)用達(dá)到良好的效果。
二、面向?qū)ο笙到y(tǒng)分析(OOA)階段軟件復(fù)用模型
1.OOA階段可重用性的本質(zhì)
編程階段不同類型的編程軟件和類有不同深度的可重用性:高深度、中深度、低深度。
所謂高深度重用是指在不進(jìn)行任何改變就可以直接使用重用產(chǎn)品的重用,像可視化開發(fā)工具中的所有控件,就屬于這方面的重用;目前,面向服務(wù)的軟件開發(fā)技術(shù)中對(duì)服務(wù)的重用,只要程序員獲得服務(wù)者提供的接口,就可以直接使用別人開發(fā)的產(chǎn)品,這種復(fù)用也是高深度的復(fù)用技術(shù),因此高深度的軟件復(fù)用,可重用性最好;所謂中深度的重用,程序員可以根據(jù)自己的開發(fā)經(jīng)驗(yàn),開發(fā)出一些比較通用的組件,在具體的使用中,對(duì)這些通用的組件只要稍作修改就可以應(yīng)用于具體的項(xiàng)目中去,這種復(fù)用可重用性較好。當(dāng)然,對(duì)于低深度的可重用性就于具體的項(xiàng)目相關(guān),它只能局限于該項(xiàng)目,可重用性最差。由此可見,可重用性與業(yè)務(wù)邏輯的相關(guān)性是成反比例關(guān)系的:越是與業(yè)務(wù)邏輯無(wú)關(guān)的重用,重用性越好;反之則越差。
2.OOA階段軟件復(fù)用模型研究
OOA階段的軟件復(fù)用,在一定程度上可以說(shuō)是建立在許多優(yōu)秀的系統(tǒng)分析員實(shí)踐和經(jīng)驗(yàn)基礎(chǔ)之上的復(fù)用,是一種思想上的復(fù)用。在這個(gè)階段的軟件復(fù)用更具有通用性和重用性,因此,構(gòu)造這個(gè)階段的軟件復(fù)用模型,可以使復(fù)用達(dá)到更好地效果。
3.范式抽象
所謂范式就是抽象的解決方案模板,它可在不同具體項(xiàng)目中使用。范式抽象就是在此基礎(chǔ)上提出的對(duì)范式的設(shè)計(jì)方法。針對(duì)不同的問(wèn)題域,就應(yīng)該有與之對(duì)應(yīng)的設(shè)計(jì)方法,這樣可以使范式的設(shè)計(jì)達(dá)到很高的重用性。針對(duì)OOA階段具體現(xiàn)狀,有三種范式抽象方法:
(1)關(guān)系抽象
在OOA階段,針對(duì)具體的項(xiàng)目,會(huì)分析出大量的關(guān)系模型。例如在學(xué)校排課表系統(tǒng)中,需要定義教師類,它包括教師姓名、性別、職稱等有關(guān)教師的基本信息,同時(shí),為了便于教師很快得出自己的上課表,還需要定義一個(gè)與教師對(duì)應(yīng)的教師課表類,這個(gè)類顯示了一周中教師的課程安排情況;在網(wǎng)上購(gòu)物系統(tǒng)中,需要定義一個(gè)購(gòu)物者類,包括了購(gòu)物者的相關(guān)信息,同時(shí)為了得到購(gòu)物者所購(gòu)的物品,還需定義一個(gè)購(gòu)物車類,該類描述了購(gòu)物者與所購(gòu)買的物品的對(duì)應(yīng)關(guān)系。這兩個(gè)系統(tǒng)的具體業(yè)務(wù)是不同的,但教師類與教師課表類、購(gòu)物者類與購(gòu)物車類的關(guān)系卻是基本相同的,都是一個(gè)實(shí)體對(duì)另一個(gè)實(shí)體的擁有關(guān)系,同樣,所進(jìn)行的操作也基本相同,諸如都涉及到對(duì)所擁有實(shí)體的查詢操作等。因此可將這種關(guān)系抽象出來(lái),定義為擁有關(guān)系,然后在此關(guān)系的基礎(chǔ)上定義相應(yīng)的操作。這種關(guān)系就可以以范式的形式保存起來(lái),在不同的項(xiàng)目中都可重用這種范式。同樣,還可抽象出許多其他的關(guān)系范式,如實(shí)體——內(nèi)容關(guān)系,上下級(jí)關(guān)系等。這些關(guān)系都是不依賴于具體的項(xiàng)目和業(yè)務(wù)的,可重復(fù)使用,只是在針對(duì)具體的業(yè)務(wù)時(shí),在相關(guān)屬性和方法上稍作修改就可以了。
(2)相似對(duì)象抽象
在不同項(xiàng)目的OOA階段,還會(huì)分析出大量的相似對(duì)象或類,例如用戶、用戶組、角色、權(quán)限等在所有涉及到權(quán)限管理的系統(tǒng)中都會(huì)出現(xiàn)這類對(duì)象;在一些相同領(lǐng)域的項(xiàng)目中,由于涉及的領(lǐng)域的標(biāo)準(zhǔn)化,有些對(duì)象的相似性以及相同的機(jī)率會(huì)更大。對(duì)于這些相似程度如此大的對(duì)象來(lái)說(shuō),由于其在項(xiàng)目開發(fā)中的相對(duì)獨(dú)立性,把這些對(duì)象模型以范式的形式保存起來(lái)會(huì)使分析的結(jié)果得到更大的重用。
按照上述思想進(jìn)行的范式抽象稱為相似對(duì)象抽象,這種抽象依據(jù)的是分析階段的對(duì)象模型,這種對(duì)象模型具有獨(dú)立的、高度的相似性,抽象出來(lái)的范式可稱為對(duì)象范式。這種范式與具體項(xiàng)目之間的相似可稱為表面相似性。表面相似越接近,范式的重用性就越大。
(3)領(lǐng)域抽象
所謂領(lǐng)域抽象是用于某一領(lǐng)域的抽象問(wèn)題的解決方案。在同一個(gè)領(lǐng)域的項(xiàng)目開發(fā)過(guò)程中往往能夠總結(jié)出更多的相似性,包括關(guān)系相似性和表面相似性,將二者相結(jié)合,可構(gòu)建出與行業(yè)有關(guān)的構(gòu)件。這種構(gòu)件是建立在具體領(lǐng)域上的一種抽象,稱為領(lǐng)域抽象。領(lǐng)域抽象的過(guò)程可借助領(lǐng)域工程的知識(shí)和方法。其中在OOA階段主要用到了領(lǐng)域分析的方法。所謂領(lǐng)域分析是被稱為領(lǐng)域工程更大的學(xué)科中的第一項(xiàng)技術(shù)活動(dòng)。當(dāng)業(yè)務(wù)、系統(tǒng)或產(chǎn)品域被定義為長(zhǎng)期的業(yè)務(wù)策略,則可以展開持續(xù)的創(chuàng)建強(qiáng)健的可復(fù)用庫(kù)的工作,其目標(biāo)是能夠在領(lǐng)域中以非常高的可復(fù)用構(gòu)件率來(lái)創(chuàng)建軟件。領(lǐng)域分析在領(lǐng)域抽象過(guò)程的作用是從OOA得出的對(duì)象、關(guān)系、行為模型的抽象出與領(lǐng)域相關(guān)的領(lǐng)域范式,其中包括關(guān)系范式、相似對(duì)象范式和處理過(guò)程范式等。這些范式與前面提到的范式唯一不同就是有了特定領(lǐng)域的標(biāo)識(shí),這在同一領(lǐng)域的開發(fā)中將達(dá)到高度的重用性。
三、總結(jié)
本文通過(guò)對(duì)軟件復(fù)用技術(shù)的分析,提出了一種面向?qū)ο笙到y(tǒng)分析階段軟件復(fù)用的模型,并對(duì)此模型中所涉及到范式抽象方法做了探討,并把它們應(yīng)用于具體的項(xiàng)目中去,從而很好地利用的設(shè)計(jì)思想,大大提高了項(xiàng)目的完成速度。另外,對(duì)于范式庫(kù)的研究也為建立在高層上的軟件復(fù)用庫(kù)管理提出了新的研究課題:例如對(duì)于編碼階段復(fù)用構(gòu)件庫(kù)的檢索條件也可以擴(kuò)展為以范式為索引的檢索等。這些都成為下一步的研究課題。
[參考文獻(xiàn)]
[1]RogerS•Pressman著,黃柏素、梅宏譯:《軟件工程實(shí)踐者的研究方法》,機(jī)械工業(yè)出版社1999年版。
[2]黃靖、趙海光:《軟件復(fù)用,軟件合成與軟件集成》,《計(jì)算機(jī)應(yīng)用研究》2004年。
人們運(yùn)用互聯(lián)網(wǎng)的人數(shù)越來(lái)越多,互聯(lián)網(wǎng)已經(jīng)普及,為了能夠合理的解決網(wǎng)絡(luò)平臺(tái)的不同步問(wèn)題,實(shí)現(xiàn)網(wǎng)絡(luò)平臺(tái)的互操作,中間件技術(shù)應(yīng)運(yùn)而生,其作為一種新型的軟件,能夠在網(wǎng)絡(luò)環(huán)境下,能夠?qū)⑾到y(tǒng)軟件和應(yīng)用軟件良好的結(jié)合在一起,其性質(zhì)是一種分布式軟件,能夠解決網(wǎng)絡(luò)平臺(tái)不同步的問(wèn)題,能夠使應(yīng)用系統(tǒng)實(shí)現(xiàn)轉(zhuǎn)移的效果,而且,現(xiàn)在互聯(lián)網(wǎng)技術(shù)發(fā)展迅速,中間件的使用也越來(lái)越明確,中間件能夠使計(jì)算機(jī)軟件朝著更加集中的應(yīng)用方式轉(zhuǎn)變,能夠支持系統(tǒng)軟件的運(yùn)行,而且,中間件能夠?qū)Ω呒?jí)軟件的工作起到支持的作用,中間件在系統(tǒng)軟件和應(yīng)用軟件之間起到了良好的統(tǒng)一作用,便于軟件的開發(fā)。中間件技術(shù)已經(jīng)成為用戶的主要需求,其種類也非常多,主要有數(shù)據(jù)訪問(wèn)、遠(yuǎn)程、事務(wù)處理等作用,而且其面對(duì)的對(duì)象也是非常廣泛的,其可以在系統(tǒng)軟件和應(yīng)用軟件之間形成一種互動(dòng)的機(jī)制,能夠?qū)崿F(xiàn)各類軟件的通訊,能夠高效地在不同的異構(gòu)之間傳遞信息,現(xiàn)在,我國(guó)使用的中間件主要有微軟公司的COM,其具有良好的開放性和兼容性,能夠在不同品牌的計(jì)算機(jī)上使用,在不同的異構(gòu)環(huán)境之間都可以使用。軟件的產(chǎn)業(yè)模式在更新,軟件的研發(fā)都是以客戶的需求為根本的,WWW由之前的兩個(gè)體系變成了三個(gè)體系,中間件也能夠在互聯(lián)網(wǎng)之間連接,現(xiàn)在又研發(fā)了一種新的中間件,WEBSERVICES產(chǎn)生,其能夠結(jié)合不同公司的中間件的功能,具有更好的開放性,并且具有查詢的功能,運(yùn)用編程語(yǔ)言,完善了操作系統(tǒng),實(shí)現(xiàn)了一種開放、動(dòng)態(tài)的模式。
1.2網(wǎng)絡(luò)計(jì)算
網(wǎng)絡(luò)計(jì)算與傳統(tǒng)的計(jì)算機(jī)技術(shù)相比較,其可以使不同類型的服務(wù)器統(tǒng)一起來(lái),都連接在統(tǒng)一的網(wǎng)絡(luò)上,其網(wǎng)絡(luò)結(jié)構(gòu)更加完善,能夠?yàn)樯鐣?huì)和機(jī)構(gòu)提供一體化的服務(wù),提供高性能的計(jì)算能力,能夠形成大型的數(shù)據(jù)庫(kù),具有可視化的功能。網(wǎng)絡(luò)計(jì)算將計(jì)算機(jī)硬件有機(jī)地統(tǒng)一在一起,并且實(shí)現(xiàn)了網(wǎng)頁(yè)的有機(jī)統(tǒng)一,能夠?qū)?chǔ)存的信息、軟件資源、信息和數(shù)據(jù)等聯(lián)結(jié)在一起,便于對(duì)資源的統(tǒng)一管理,用戶可以自主地選擇網(wǎng)絡(luò)上的資源進(jìn)行使用,而且信息比較透明,他們可以根據(jù)自己的需要進(jìn)行搜索,無(wú)需在多個(gè)網(wǎng)站中搜索,為用戶提供了高效、透明、系統(tǒng)、安全的資源共享系統(tǒng)。
2我國(guó)計(jì)算機(jī)軟件發(fā)展的挑戰(zhàn)
2.1國(guó)際金融危機(jī)對(duì)我國(guó)的軟件市場(chǎng)帶來(lái)了沖擊
當(dāng)前,國(guó)際上一些發(fā)達(dá)的國(guó)家也受到金融危機(jī)的影響,其經(jīng)濟(jì)在下滑,在全球范圍內(nèi),軟件市場(chǎng)的前景不是特別樂(lè)觀,造成我國(guó)的軟件市場(chǎng)也受到一定的影響,導(dǎo)致我國(guó)軟件市場(chǎng)的發(fā)展延緩。
2.2國(guó)內(nèi)軟件市場(chǎng)的競(jìng)爭(zhēng)日益嚴(yán)峻
我國(guó)很多軟件研發(fā)的跨國(guó)公司在國(guó)外的經(jīng)營(yíng)效果并不好,這使得他們?cè)跇O力地?cái)U(kuò)大國(guó)內(nèi)市場(chǎng),這就導(dǎo)致了我國(guó)的軟件市場(chǎng)壓力過(guò)大。
3我國(guó)軟件技術(shù)發(fā)展趨勢(shì)
我國(guó)的物聯(lián)網(wǎng)技術(shù)正在發(fā)展,成為了我國(guó)的一種新型的戰(zhàn)略化的產(chǎn)業(yè),物聯(lián)網(wǎng)發(fā)展能夠起到一定的示范作用,能夠促進(jìn)我國(guó)各類產(chǎn)業(yè)的發(fā)展。我國(guó)的基礎(chǔ)類軟件發(fā)展比較迅速,實(shí)現(xiàn)了網(wǎng)絡(luò)化、可信化與智能化軟件的研發(fā),我國(guó)的工業(yè)軟件和嵌入式軟件在廣泛地研發(fā),國(guó)家正在借助信息技術(shù)產(chǎn)業(yè)實(shí)現(xiàn)各類工業(yè)的發(fā)展,使信息技術(shù)能夠帶動(dòng)我國(guó)工業(yè)的發(fā)展。我國(guó)進(jìn)入了云計(jì)算時(shí)代,云計(jì)算為用戶提供了一種虛擬的網(wǎng)絡(luò)環(huán)境,提高了用戶的工作效率,云計(jì)算也將應(yīng)用于各類產(chǎn)業(yè),促進(jìn)我國(guó)工業(yè)的發(fā)展。
2用戶方面
⑴養(yǎng)成計(jì)算機(jī)軟件維護(hù)的意識(shí)。對(duì)于多用戶而言,計(jì)算機(jī)軟件的維護(hù)似乎沒(méi)有什么實(shí)際意義,只要不影響到自己的工作,沒(méi)有必要去進(jìn)行維護(hù)。⑵安裝防護(hù)能力強(qiáng)的殺毒軟件。為了保證計(jì)算機(jī)軟件的安全運(yùn)行,安裝防護(hù)能力較強(qiáng)的殺毒軟件是必要的。⑶經(jīng)常清理計(jì)算機(jī)內(nèi)存。計(jì)算機(jī)內(nèi)存過(guò)多也會(huì)影響軟件的安全性和運(yùn)行效率,因而要定期進(jìn)行計(jì)算機(jī)內(nèi)存清理。對(duì)計(jì)算機(jī)內(nèi)存進(jìn)行清理包括對(duì)無(wú)用文件的清理,也包括對(duì)非常用軟件的清理,尤其要注意的是要盡量減少C盤的儲(chǔ)存數(shù)據(jù)。⑷經(jīng)常對(duì)硬盤進(jìn)行維護(hù)。對(duì)硬盤進(jìn)行維護(hù)能減少垃圾數(shù)據(jù)對(duì)軟件的影響,維護(hù)硬盤主要在于:第一,定期對(duì)硬盤進(jìn)行掃描、清理、木馬查殺等,清理廢棄的數(shù)據(jù),減少對(duì)內(nèi)存的占用。第二,要注意對(duì)重要文件進(jìn)行備份,減少計(jì)算機(jī)風(fēng)險(xiǎn)。⑸養(yǎng)成文明上網(wǎng)的習(xí)慣。第一,不瀏覽不健康的網(wǎng)站,減少電腦接觸病毒的機(jī)會(huì)。第二,不打開來(lái)路不明的鏈接地址。第三,不進(jìn)行“翻墻”行為,減少惡意木馬的攻擊。
3計(jì)算機(jī)軟件工程維護(hù)中需注意的問(wèn)題
3.1促進(jìn)軟件開發(fā)者和用戶的合作維護(hù)并不是某一方的工作,而是軟件開發(fā)者和用戶共同的課題。作為軟件開發(fā)者,應(yīng)該不斷改進(jìn)技術(shù),在提高軟件使用性能的同時(shí)加強(qiáng)對(duì)軟件防護(hù)性技術(shù)的探索。作為用戶,應(yīng)該在計(jì)算機(jī)使用過(guò)程中養(yǎng)成良好的軟件維護(hù)意識(shí),并將工作過(guò)程中出現(xiàn)的問(wèn)題反饋給計(jì)算機(jī)軟件開發(fā)者,以便在后期開發(fā)中改進(jìn)相應(yīng)技術(shù)。
3.2加強(qiáng)對(duì)相關(guān)軟件維護(hù)知識(shí)的宣傳為了提高用戶的計(jì)算機(jī)維護(hù)技術(shù),應(yīng)該加強(qiáng)維護(hù)知識(shí)的宣傳。首先,經(jīng)營(yíng)商應(yīng)在用戶購(gòu)買電腦時(shí)給予詳細(xì)的講解,讓用戶意識(shí)到軟件維護(hù)的重要性。第二,開發(fā)者應(yīng)制訂詳細(xì)的維護(hù)說(shuō)明書,減少用戶的疑惑。第三,網(wǎng)絡(luò)管理者可以在相應(yīng)電腦界面給出維護(hù)建議,提醒用戶及時(shí)對(duì)電腦進(jìn)行維護(hù)。
我們知道,之所以進(jìn)行計(jì)算機(jī)軟件開發(fā),主要目的在于通過(guò)更加高效便捷的軟件設(shè)計(jì)方便用戶的使用,所以從這個(gè)層面上來(lái)看,軟件的應(yīng)用性是衡量其質(zhì)量的重要參考標(biāo)準(zhǔn)?;谶@一因素,計(jì)算機(jī)軟件開發(fā)首先要考慮的就是增加使用的便捷性,其次要兼具可擴(kuò)展性、安全性、可維護(hù)性以及穩(wěn)定性等特性。根據(jù)筆者的工作經(jīng)驗(yàn)來(lái)看,有些軟件在設(shè)計(jì)時(shí)就是沒(méi)有考慮到這一因素,導(dǎo)致好的設(shè)計(jì)卻缺乏廣泛的使用市場(chǎng)。其次,伴隨著計(jì)算機(jī)軟件更新?lián)Q代速度的加快,軟件在開發(fā)設(shè)計(jì)時(shí)還應(yīng)該考慮到版本兼容的問(wèn)題,同時(shí)還要擁有數(shù)據(jù)自動(dòng)恢復(fù)的功能,只有這樣,才能夠占據(jù)更高的市場(chǎng)份額,也才能夠進(jìn)一步推廣使用。
2計(jì)算機(jī)軟件開發(fā)應(yīng)用的具體表現(xiàn)形式
全球化經(jīng)濟(jì)的發(fā)展推動(dòng)了互聯(lián)網(wǎng)技術(shù)與產(chǎn)品的應(yīng)用,計(jì)算機(jī)軟件作為科技時(shí)代的產(chǎn)物能夠縮短人們之間的距離,實(shí)現(xiàn)資源共享,也為實(shí)時(shí)互動(dòng)交流提供了可能。正是基于這些功能,計(jì)算機(jī)軟件才能在保持多個(gè)用戶獨(dú)立性的前提下實(shí)現(xiàn)統(tǒng)一連接,通過(guò)更加寬廣的數(shù)據(jù)分析處理平臺(tái)的提供,使人們的使用與操作更加高效便捷,推動(dòng)了數(shù)據(jù)時(shí)代的到來(lái)。除此之外,計(jì)算機(jī)軟件開發(fā)技術(shù)通常還與信息處理設(shè)備、移動(dòng)通信設(shè)備聯(lián)合使用,真正做到便捷用戶操作的應(yīng)用性。
二計(jì)算機(jī)軟件開發(fā)技術(shù)的未來(lái)發(fā)展趨勢(shì)
1計(jì)算機(jī)軟件開發(fā)的網(wǎng)絡(luò)化與智能化趨勢(shì)
隨著信息化時(shí)代的到來(lái)與個(gè)人計(jì)算機(jī)的普及,網(wǎng)絡(luò)化也成為不可逆轉(zhuǎn)的計(jì)算機(jī)軟件的發(fā)展潮流與趨勢(shì)?;ヂ?lián)網(wǎng)的發(fā)展使得世界各國(guó)之間的距離不斷拉近,不同國(guó)家之間人們的信息交流與共享也推動(dòng)了網(wǎng)絡(luò)化的進(jìn)一步發(fā)展。只有基于網(wǎng)絡(luò)化發(fā)展方向,計(jì)算機(jī)軟件才能為世界各國(guó)的人們提供更加便捷的、優(yōu)質(zhì)的信息服務(wù)。而人工智能技術(shù)已經(jīng)被應(yīng)用于了社會(huì)生活的各個(gè)方面,也取得了新的進(jìn)展與更廣泛的應(yīng)用。隨著人們對(duì)計(jì)算機(jī)軟件需求的不斷提升,計(jì)算機(jī)軟件的智能化方向也是不可逆轉(zhuǎn)的必然趨勢(shì)。從宏觀角度來(lái)看計(jì)算機(jī)軟件開發(fā)技術(shù)的智能化進(jìn)程的推進(jìn),對(duì)于整個(gè)現(xiàn)代化計(jì)算機(jī)時(shí)代的發(fā)展具有重要的意義。
2計(jì)算機(jī)軟件開發(fā)的開放化和融合化趨勢(shì)
計(jì)算機(jī)軟件的開放化趨勢(shì)也是不可避免的,所指是用于軟件開發(fā)的軟件源代碼以及軟件產(chǎn)品的設(shè)計(jì)標(biāo)準(zhǔn)等進(jìn)一步公開化,并通過(guò)共享促進(jìn)軟件開發(fā)人員之間的交流與創(chuàng)新。軟件開發(fā)是一項(xiàng)需要?jiǎng)?chuàng)新思維的工作,行業(yè)人員之間通過(guò)互相交流與學(xué)習(xí)達(dá)到共同進(jìn)步,也有助于產(chǎn)業(yè)的發(fā)展與提升,并逐步走向成熟。計(jì)算機(jī)軟件開發(fā)的融合是指軟件開發(fā)科學(xué)與其他相關(guān)科學(xué)如電氣化、自動(dòng)化以及機(jī)械化等相融合,并融入網(wǎng)絡(luò)化、數(shù)字化以及智能化等計(jì)算機(jī)核心理念與技術(shù),實(shí)現(xiàn)計(jì)算機(jī)軟件開發(fā)產(chǎn)業(yè)整體水平與市場(chǎng)競(jìng)爭(zhēng)力的提升,從而能夠占據(jù)更高的市場(chǎng)份額,也造福于廣大計(jì)算機(jī)軟件用戶。而隨著計(jì)算機(jī)軟件更加貼近人們的日常生活,計(jì)算機(jī)軟件的開發(fā)也更加以客戶的需求為主,所展現(xiàn)與提供的優(yōu)質(zhì)服務(wù)也是智能化與融合化的必然結(jié)果。
二、影響軟件維護(hù)的要素分析
(一)設(shè)計(jì)團(tuán)隊(duì)的變化:很多軟件設(shè)計(jì)團(tuán)隊(duì),在完成了一項(xiàng)軟件設(shè)計(jì)的時(shí),會(huì)解散該團(tuán)隊(duì),很快各自都找到新的團(tuán)隊(duì),開展新的軟件設(shè)計(jì)工作。原本對(duì)該軟件設(shè)計(jì)有所了解的成員逐漸離開了團(tuán)隊(duì),隨著人員的不斷變動(dòng),到最后余下的員工很可能對(duì)該軟件最初開發(fā)的目的、方法都不是很了解,導(dǎo)致該軟件無(wú)法在后期得到修復(fù)和完善,最終導(dǎo)致報(bào)廢。這樣不僅會(huì)浪費(fèi)大量的人力、財(cái)力、物力,同時(shí)也會(huì)給新的工作團(tuán)隊(duì)平添工作量。
(二)用戶的需求:在最初簽訂軟件的開發(fā)和修改合同的時(shí)候,維護(hù)人員和客戶沒(méi)有進(jìn)行很好的溝通,沒(méi)有很好的了解顧客的需求,導(dǎo)致在后期的修改當(dāng)中,很多設(shè)計(jì)人員按照自己的意思來(lái)對(duì)軟件進(jìn)行修改,和客戶的需求根本不相符。
(三)隱性錯(cuò)誤:很多維護(hù)軟件的工作者,在對(duì)軟件進(jìn)行維護(hù)的時(shí)候,會(huì)在軟件的內(nèi)部加入一些隱性的風(fēng)險(xiǎn),降低了軟件的整體質(zhì)量。(四)團(tuán)隊(duì)素質(zhì):一個(gè)團(tuán)隊(duì)素質(zhì)的高低,同樣也對(duì)軟件維護(hù)的質(zhì)量到很大的影響。員工是否具有軟件維護(hù)的專業(yè)技能,能否解決顧客提出的各種問(wèn)題。該團(tuán)隊(duì)是否是屬于急功近利型,一味追求經(jīng)濟(jì)利益,而忽略了質(zhì)量的追求等等,都是需要考慮的因素。
三、軟件維護(hù)的策略
對(duì)軟件的維護(hù),主要分為九個(gè)主要的步驟。首先要仔細(xì)閱讀客戶對(duì)自己軟件提出的需求說(shuō)明,在了解客戶需求的基礎(chǔ)上,來(lái)針對(duì)問(wèn)題軟件繼續(xù)擰修改設(shè)計(jì),列出設(shè)計(jì)方案進(jìn)行評(píng)審,評(píng)審?fù)ㄟ^(guò)后,開始重新編碼,然后進(jìn)行單位測(cè)試、集成測(cè)試、回歸測(cè)試這三項(xiàng)測(cè)試,待測(cè)試完成之后,確認(rèn)測(cè)試,最后在一次進(jìn)行評(píng)審。對(duì)軟件的維護(hù)工作,不能大意,因此應(yīng)有一只專門團(tuán)隊(duì)來(lái)對(duì)軟件進(jìn)行維護(hù),且在團(tuán)隊(duì)內(nèi)部要明確每一個(gè)成員的工作任務(wù)和責(zé)任,避免資源的重復(fù)利用和未充分利用。在接受客戶需求時(shí),要為客戶發(fā)一張需求登記表,客戶在該表上填寫軟件出現(xiàn)的問(wèn)題,包括問(wèn)題的具體類別,希望通過(guò)修改達(dá)到的效果,軟件運(yùn)行的平臺(tái),出現(xiàn)問(wèn)題的場(chǎng)合和時(shí)間等。在對(duì)軟件進(jìn)行修改和完善的過(guò)程中,要仔細(xì)分析源編碼設(shè)計(jì)的原理、習(xí)慣,對(duì)其進(jìn)行遵守,不要輕易地更改,以保證軟件在修改前后能夠保持和諧。若是一個(gè)客戶提出了多個(gè)維護(hù)的需求,可以更具需求等級(jí)的高低,對(duì)其進(jìn)行順序的劃分。在修改該軟件之前,要對(duì)該軟件進(jìn)行備份處理,在軟件完成修改之后,要對(duì)軟件進(jìn)行及時(shí)地調(diào)試,最后開會(huì)對(duì)該軟件進(jìn)行評(píng)議,并且做出總結(jié),從本次軟件的修改當(dāng)中,能夠收獲成功的經(jīng)驗(yàn),同時(shí)也能吸取失敗的教訓(xùn)。軟件的修改人員之間要互相交流和分享彼此的經(jīng)驗(yàn)。若是軟件修改的幅度比較大,修改人員應(yīng)當(dāng)針對(duì)自己修改的情況制定一個(gè)修改的說(shuō)明書,具體說(shuō)明修改了哪些部分,被修改之后的軟件如何使用和進(jìn)行日常的維護(hù)。除了編寫說(shuō)明手冊(cè)之外,還可以編寫參考手冊(cè)。針對(duì)該軟件可能會(huì)發(fā)生的錯(cuò)誤情況進(jìn)行預(yù)測(cè),并在該手冊(cè)中寫出會(huì)出現(xiàn)的情況,具體解決辦法。注意該語(yǔ)言的運(yùn)用要通俗易懂,因?yàn)楹芏嗫蛻舨⒉痪邆浜芏嗟挠?jì)算機(jī)專業(yè)知識(shí)。在對(duì)該軟件完成維護(hù)之后,要進(jìn)行回歸測(cè)試,測(cè)試圓滿完成后,可交給客戶去使用。一個(gè)軟件,在進(jìn)行了多次修改和完善之后,其維護(hù)性就會(huì)逐漸降低,當(dāng)其降低到一個(gè)最低程度時(shí),再一次修改已無(wú)法滿足客戶提出的需求,因此應(yīng)當(dāng)放棄該軟件,重新根據(jù)客戶需求開發(fā)新的軟件。
四、軟件維護(hù)的副作用
對(duì)軟件進(jìn)行反復(fù)的修改和完善,雖然可以滿足客戶提出的不同需求,但是其自身也有一定的風(fēng)險(xiǎn)。因?yàn)閺睦碚撋蟻?lái)說(shuō),在每一次對(duì)軟件進(jìn)行修改的同時(shí),都增加了錯(cuò)誤發(fā)生的可能性。對(duì)該錯(cuò)誤的發(fā)現(xiàn),可以通過(guò)文檔的設(shè)計(jì)和最后的回歸測(cè)試來(lái)解決,但是仍然不能忽視一個(gè)問(wèn)題,就是維護(hù)軟件會(huì)產(chǎn)生的負(fù)面效果。其主要表現(xiàn)在如下的幾個(gè)方面:代碼修改:對(duì)代碼的修改一定要謹(jǐn)慎,不到逼不得已,盡量不要修改。因?yàn)橐粋€(gè)看似很簡(jiǎn)單的代碼修改工作,就可能對(duì)整個(gè)軟件產(chǎn)生很大的影響,影響可能大到整個(gè)軟件無(wú)法正常運(yùn)行。雖然副作用有大有小,但是不可否認(rèn)的是,對(duì)代碼進(jìn)行修改很可能就會(huì)產(chǎn)生一些錯(cuò)誤,而正是由于這些看似很小的錯(cuò)誤,導(dǎo)致軟件質(zhì)量的下降。因此,在代碼修改過(guò)程中,一定要貫徹一個(gè)法則,即Murphy法則。數(shù)據(jù)結(jié)構(gòu)的修改:在修改軟件過(guò)程中,會(huì)不可避免地對(duì)數(shù)據(jù)結(jié)構(gòu)也進(jìn)行一定的修改。數(shù)據(jù)結(jié)構(gòu)在整個(gè)軟件中,占據(jù)很重要的地位。因此在對(duì)其進(jìn)行維護(hù)的時(shí)候,需要對(duì)立面的部分要素進(jìn)行完善,完善過(guò)后的軟件可能無(wú)法再適應(yīng)現(xiàn)有的數(shù)據(jù),導(dǎo)致其在日后的運(yùn)行出現(xiàn)錯(cuò)誤。這就需要軟件維護(hù)者,在設(shè)計(jì)文檔的時(shí)候小心謹(jǐn)慎,降低數(shù)據(jù)修改帶來(lái)的風(fēng)險(xiǎn)。
通常來(lái)講,分層是指將屬性不同的物質(zhì)放置到不同層面,從而使物質(zhì)之間順利隔開。計(jì)算機(jī)軟件分層技術(shù)主要是指將不同設(shè)計(jì)方案通過(guò)分層的方法實(shí)現(xiàn)對(duì)計(jì)算機(jī)的不同控制,從而滿足不同的功能需求。其中,不同層級(jí)之間形成了一個(gè)完整的系統(tǒng),每一層級(jí)在級(jí)別上是平等的。計(jì)算機(jī)軟件開發(fā)分層技術(shù)主要應(yīng)用于軟件構(gòu)架設(shè)計(jì),軟件構(gòu)建最初呈單層結(jié)構(gòu)且該結(jié)構(gòu)以相關(guān)的編程技術(shù)和數(shù)據(jù)庫(kù)結(jié)構(gòu)作為基礎(chǔ)。然而,隨著信息技術(shù)的不斷發(fā)展,計(jì)算機(jī)廣泛普及到千家萬(wàn)戶,傳統(tǒng)的單層結(jié)構(gòu)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足人們的需要,因此軟件分層結(jié)構(gòu)開始在我國(guó)大力推廣。應(yīng)用計(jì)算機(jī)軟件分層技術(shù),可以有效實(shí)現(xiàn)軟件結(jié)構(gòu)分層,從而使軟件功能越來(lái)越強(qiáng)大,充分滿足用戶的需求。
1.2計(jì)算機(jī)軟件分層技術(shù)優(yōu)點(diǎn)
目前,計(jì)算機(jī)軟件分層技術(shù)在我國(guó)得到了較為廣泛的應(yīng)用,該技術(shù)開始逐步完善,使我國(guó)網(wǎng)絡(luò)技術(shù)得到了更快的發(fā)展。將計(jì)算機(jī)軟件分層技術(shù)應(yīng)用到軟件開發(fā)領(lǐng)域,不僅可以有效保障新開發(fā)軟件的安全和質(zhì)量,也可以有效縮短軟件開發(fā)周期,從而減少了軟件開發(fā)過(guò)程中的浪費(fèi),有利于軟件企業(yè)節(jié)約成本,提高經(jīng)濟(jì)效益。計(jì)算機(jī)軟件分層技術(shù)的一大優(yōu)點(diǎn)就是可以有效實(shí)現(xiàn)構(gòu)件循環(huán)利用,這樣既節(jié)省了軟件開發(fā)時(shí)間,又有利于軟件開發(fā)事業(yè)的進(jìn)一步發(fā)展。一般來(lái)說(shuō),應(yīng)用軟件分層技術(shù)可以將構(gòu)件分為低層次和高層次兩大類,低層次構(gòu)件的應(yīng)用相對(duì)較為廣泛,一般來(lái)說(shuō),在不同層次軟件構(gòu)架中都會(huì)得到應(yīng)用。相對(duì)來(lái)說(shuō),高層次構(gòu)件應(yīng)用存在一定局限性,只有在某些特定功能模塊才會(huì)得到應(yīng)用。應(yīng)用計(jì)算機(jī)軟件分層技術(shù),可以將軟件功能進(jìn)行逐一分層,不同功能層次之間共同構(gòu)成了完整的軟件系統(tǒng)。計(jì)算機(jī)軟件分層技術(shù)大大地改善了軟件的結(jié)構(gòu)和功能,使軟件在保持相對(duì)獨(dú)立性的同時(shí)具有一定的靈活性和可變性,因而這一技術(shù)值得應(yīng)用推廣。
2軟件開發(fā)中的分層技術(shù)探討
2.1雙層結(jié)構(gòu)技術(shù)
一般來(lái)說(shuō),雙層結(jié)構(gòu)指的是客戶端及服務(wù)器作為構(gòu)架形成的雙層數(shù)據(jù)庫(kù)系統(tǒng),其中,客戶端用于為用戶提供可視化界面,可以有效處理計(jì)算機(jī)之間的部分邏輯關(guān)系,服務(wù)器可以有效實(shí)現(xiàn)數(shù)據(jù)的查詢和計(jì)算,并能及時(shí)向用戶反饋相關(guān)數(shù)據(jù)的處理結(jié)果。通常來(lái)講,雙層結(jié)構(gòu)技術(shù)對(duì)于用戶較少的情況較為適用,可以有效處理不同計(jì)算機(jī)之間的相互邏輯關(guān)系。然而,對(duì)于用戶較多的情況,計(jì)算機(jī)對(duì)于數(shù)據(jù)處理就會(huì)不及時(shí),容易導(dǎo)致運(yùn)行遲緩、容易出錯(cuò)和費(fèi)用較高等一系列問(wèn)題,同時(shí)也不利于數(shù)據(jù)傳輸?shù)陌踩虼?,?yīng)用軟件分層技術(shù)對(duì)計(jì)算機(jī)軟件進(jìn)一步開發(fā)才能解決上述問(wèn)題。
2.2三層結(jié)構(gòu)技術(shù)
基于雙層結(jié)構(gòu)技術(shù)的局限性,進(jìn)一步開發(fā)了三層結(jié)構(gòu)技術(shù)。三層結(jié)構(gòu)技術(shù)主要是對(duì)雙層構(gòu)架進(jìn)行一定程度上的拓展和延伸,使構(gòu)架分層更為清晰,各分層之間相互獨(dú)立又相互聯(lián)系,共同促進(jìn)軟件系統(tǒng)功能的完善。與雙層結(jié)構(gòu)技術(shù)不同,三層結(jié)構(gòu)技術(shù)獎(jiǎng)服務(wù)器分為應(yīng)用服務(wù)器及數(shù)據(jù)服務(wù)器兩大類,應(yīng)用服務(wù)器可以有效處理各數(shù)據(jù)之間的邏輯關(guān)系,而數(shù)據(jù)服務(wù)器只需要對(duì)數(shù)據(jù)進(jìn)行相關(guān)處理即可。三層結(jié)構(gòu)技術(shù)客戶端不再處理計(jì)算機(jī)之間的部分邏輯關(guān)系,而是集中進(jìn)行可視化服務(wù),從而有效真正實(shí)現(xiàn)人機(jī)互動(dòng)。三層結(jié)構(gòu)技術(shù)一般包括界面層、數(shù)據(jù)層及業(yè)務(wù)處理層三個(gè)層面的軟件結(jié)構(gòu),各軟件結(jié)構(gòu)之間相互協(xié)調(diào),共同促進(jìn)軟件功能的優(yōu)化。界面層主要面對(duì)廣大用戶,并將用戶的需求數(shù)據(jù)送至業(yè)務(wù)處理層進(jìn)行業(yè)務(wù)處理,業(yè)務(wù)處理層能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)的有效分析及處理,并將數(shù)據(jù)處理結(jié)果輸送至數(shù)據(jù)層,數(shù)據(jù)層接收到業(yè)務(wù)處理層的相關(guān)信息之后就會(huì)對(duì)數(shù)據(jù)進(jìn)行相關(guān)的查詢和處理,并及時(shí)反饋到業(yè)務(wù)處理層,并進(jìn)一步反饋到界面層,三個(gè)不同界面層次相互獨(dú)立又相互聯(lián)系,共同促進(jìn)了數(shù)據(jù)處理工作的順利進(jìn)行,有效提高了軟件系統(tǒng)的功能。由此可見,三層結(jié)構(gòu)技術(shù)較雙層結(jié)構(gòu)技術(shù)更有其優(yōu)越性,目前我國(guó)采用三層結(jié)構(gòu)技術(shù)和雙層結(jié)構(gòu)技術(shù)配合使用的方法,可以有效控制成本。
2.3四層結(jié)構(gòu)技術(shù)
隨著用戶量的不斷增加,人們對(duì)計(jì)算機(jī)軟件性能的要求也越來(lái)越高,而軟件運(yùn)行環(huán)境越來(lái)越趨于復(fù)雜化,計(jì)算機(jī)軟件需要進(jìn)行大量數(shù)據(jù)的處理,三級(jí)結(jié)構(gòu)技術(shù)因其各模塊之間具有一定的相互影響,難以保障數(shù)據(jù)數(shù)據(jù)的更精確、更快速,因此,四層結(jié)構(gòu)技術(shù)應(yīng)運(yùn)而生。四層結(jié)構(gòu)技術(shù)可以使界面層、業(yè)務(wù)處理層及界面層各層次之間更為相互獨(dú)立,從而使數(shù)據(jù)處理工作更高效、更快捷。通常來(lái)講,四層結(jié)構(gòu)技術(shù)在三級(jí)結(jié)構(gòu)技術(shù)的基礎(chǔ)上增加了儲(chǔ)存層,可以有效實(shí)現(xiàn)對(duì)數(shù)據(jù)的分類、儲(chǔ)存及修改等功能。四層結(jié)構(gòu)技術(shù)的界面層包括兩種形式,一種主要包括JSP頁(yè)面,其結(jié)構(gòu)相對(duì)來(lái)說(shuō)較為簡(jiǎn)單,可以直接將用戶所需要的數(shù)據(jù)進(jìn)行查詢,并及時(shí)反饋,然而該種模式不利于系統(tǒng)的升級(jí)和維護(hù),因而不利于大型系統(tǒng)開發(fā)。第二種界面模式以MVC結(jié)構(gòu)為基礎(chǔ),非常有利于較為復(fù)雜軟件系統(tǒng)的開發(fā)。四層結(jié)構(gòu)技術(shù)目前來(lái)說(shuō)發(fā)展還不成熟,在我國(guó)應(yīng)用還不廣泛,但是隨著科學(xué)技術(shù)的不斷發(fā)展,四層結(jié)構(gòu)技術(shù)終將取代三層結(jié)構(gòu)技術(shù)的地位,成為我國(guó)軟件開發(fā)設(shè)計(jì)的主流。
2.4五層結(jié)構(gòu)技術(shù)
四層結(jié)構(gòu)技術(shù)可以有效實(shí)現(xiàn)對(duì)數(shù)據(jù)精確處理,然而對(duì)于某些特定功能的實(shí)現(xiàn)卻顯得無(wú)能為力,因此,五層結(jié)構(gòu)技術(shù)應(yīng)運(yùn)而生。五層結(jié)構(gòu)技術(shù)在四層結(jié)構(gòu)的基礎(chǔ)上,將數(shù)據(jù)層分解成資源層和集成層兩大模塊,集成層可以有效實(shí)現(xiàn)對(duì)用戶需求數(shù)據(jù)的處理,從而便于用戶持久性訪問(wèn),資源層可以起到數(shù)據(jù)庫(kù)的相關(guān)功能。相對(duì)于四層結(jié)構(gòu)技術(shù),五層結(jié)構(gòu)技術(shù)對(duì)于數(shù)據(jù)的處理功能更進(jìn)一步完善,然而五層結(jié)構(gòu)技術(shù)的應(yīng)用存在一定局限性,只有為實(shí)現(xiàn)特定功能才能使用,因此還不能大力推廣應(yīng)用。
邏輯最早是哲學(xué)中的詞匯,在古希臘時(shí)期,很多哲學(xué)家在辯論的過(guò)程中,為了可以說(shuō)服對(duì)方,自己的思路必須清晰,符合人們正常的思維,逐漸的形成了邏輯語(yǔ)言的概念,隨著數(shù)學(xué)理論的發(fā)展,要想解決特定的問(wèn)題,必須進(jìn)行相應(yīng)的推理和證明,而推理的過(guò)程中,就要使用邏輯語(yǔ)言,這樣推理才能夠符合人的思維。計(jì)算機(jī)的出現(xiàn),對(duì)于科技的發(fā)展來(lái)說(shuō),是革命性的,很多人將計(jì)算機(jī)作為第三次科技革命的標(biāo)志,通過(guò)計(jì)算機(jī)的使用,不但改變了人們的生活習(xí)慣,同時(shí)也在很大程度上提高了工程的效率,而計(jì)算機(jī)是在數(shù)學(xué)模型的基礎(chǔ)上,因此控制計(jì)算機(jī)工作的軟件,也必須具有一定的邏輯性。在計(jì)算機(jī)出現(xiàn)的早期,受到計(jì)算機(jī)性能等影響,程序的編寫還采用二進(jìn)制的機(jī)器語(yǔ)言進(jìn)行,這種0和1組成的二進(jìn)制語(yǔ)言,在編寫的過(guò)程中,必須具有一定的邏輯性,計(jì)算機(jī)才能夠去運(yùn)行,現(xiàn)在程序的編寫已經(jīng)采用高級(jí)語(yǔ)言,如JAVA和C語(yǔ)言等,利用這些語(yǔ)言進(jìn)行程序的編寫時(shí),邏輯關(guān)系的體現(xiàn)更加重要。
1.2邏輯語(yǔ)言的特點(diǎn)
從語(yǔ)言學(xué)上來(lái)看,語(yǔ)言主要可以分成三種,分別是自然語(yǔ)言、帶符號(hào)的數(shù)學(xué)語(yǔ)言、以及形式化的邏輯語(yǔ)言,邏輯語(yǔ)言的出現(xiàn),主要是因?yàn)檫壿媽W(xué)發(fā)展的需要,古時(shí)候受到知識(shí)水平的限制,人們?cè)谟懻搯?wèn)題時(shí),經(jīng)常會(huì)發(fā)生一些爭(zhēng)執(zhí),為了解決這種爭(zhēng)執(zhí),人們希望能夠建立像數(shù)學(xué)那樣完美,具有特定符號(hào)的語(yǔ)言,這就是邏輯語(yǔ)言。與其他的語(yǔ)言相比,邏輯語(yǔ)言具有很高的嚴(yán)謹(jǐn)性,這種語(yǔ)言將邏輯推理,轉(zhuǎn)化成為了數(shù)學(xué)語(yǔ)言,在遇到具體的問(wèn)題時(shí),就可以利用這種沒(méi)有歧義、嚴(yán)謹(jǐn)?shù)恼Z(yǔ)言,通過(guò)計(jì)算的方式,來(lái)解決這個(gè)問(wèn)題,隨著邏輯語(yǔ)言自身的發(fā)展,在解決實(shí)際問(wèn)題時(shí),人們首先會(huì)建立一個(gè)數(shù)學(xué)模型,然后采用數(shù)學(xué)的方式進(jìn)行求解,極大的提高了解決問(wèn)題的效率。由此可以看出,邏輯語(yǔ)言的特點(diǎn)是嚴(yán)謹(jǐn)性和普遍性,能夠用來(lái)描述所有的問(wèn)題,而且在這個(gè)過(guò)程中,不會(huì)出現(xiàn)任何的歧義,現(xiàn)代計(jì)算機(jī)軟件的發(fā)展,很大程度上就是建立在邏輯語(yǔ)言的基礎(chǔ)上,通過(guò)實(shí)際的分析可以知道,每個(gè)程序都是一個(gè)數(shù)學(xué)模型,而描述這個(gè)模型的就是邏輯語(yǔ)言。
1.3邏輯語(yǔ)言的發(fā)展
從語(yǔ)言的三種形式可以看出,其發(fā)展也可以分成三個(gè)階段,首先是自然語(yǔ)言,在人類文明的初期,受到科學(xué)技術(shù)上的限制,人們的思維還不是很嚴(yán)謹(jǐn),因此表達(dá)比較隨便,采用自然語(yǔ)言進(jìn)行交流,現(xiàn)在的日常生活中,依然使用這種語(yǔ)言,隨著自然科學(xué)的發(fā)展,語(yǔ)言開始分為書面語(yǔ)和口語(yǔ),在對(duì)科學(xué)進(jìn)行描述時(shí),主要采用書面語(yǔ)進(jìn)行,這種表達(dá)方式具有一定的特殊性,尤其是在數(shù)學(xué)科學(xué)中,需要加入一些常用的符號(hào),逐漸的形成了數(shù)學(xué)語(yǔ)言。邏輯語(yǔ)言的出現(xiàn),是數(shù)學(xué)語(yǔ)言發(fā)展的結(jié)果,但是在邏輯語(yǔ)言剛出現(xiàn)時(shí),主要建立在理論的基礎(chǔ)上,很難在現(xiàn)實(shí)中使用,計(jì)算機(jī)是邏輯語(yǔ)言實(shí)踐的結(jié)果,通過(guò)數(shù)學(xué)二進(jìn)制和實(shí)際電路的結(jié)合,就可以利用邏輯語(yǔ)言來(lái)解決實(shí)際問(wèn)題,計(jì)算機(jī)程序的出現(xiàn),使得邏輯語(yǔ)言發(fā)展到了一個(gè)新的高度,在程序設(shè)計(jì)中,考慮到計(jì)算機(jī)的嚴(yán)謹(jǐn)性,必須采用邏輯語(yǔ)言進(jìn)行。
2計(jì)算機(jī)軟件開發(fā)的現(xiàn)狀
2.1我國(guó)計(jì)算機(jī)軟件開發(fā)的現(xiàn)狀
通過(guò)實(shí)際的調(diào)查發(fā)現(xiàn),目前我國(guó)計(jì)算機(jī)軟件開發(fā)能力較低,現(xiàn)在使用的軟件,很多都是國(guó)外軟件公司開發(fā)的,雖然近年來(lái)隨著國(guó)家的重視,加大了對(duì)軟件公司的鼓勵(lì)和扶持,在很大程度上促進(jìn)了我國(guó)軟件技術(shù)的發(fā)展,我國(guó)軟件產(chǎn)業(yè)出現(xiàn)了一個(gè)黃金期,但是受到盜版市場(chǎng)等影響,很多軟件公司的產(chǎn)品沒(méi)有市場(chǎng),導(dǎo)致現(xiàn)在我國(guó)還沒(méi)有大型的軟件公司。印度是現(xiàn)在世界上軟件產(chǎn)業(yè)先進(jìn)的國(guó)家之一,其在發(fā)展的過(guò)程中,也遇到了和我國(guó)一樣的問(wèn)題,但是在政府強(qiáng)硬的打壓下,盜版市場(chǎng)得到了控制,為軟件公司的發(fā)展,提供了一個(gè)良好的環(huán)境,我國(guó)與印度的國(guó)情相近,為了促進(jìn)我國(guó)軟件產(chǎn)業(yè)的發(fā)展,借鑒了其成功的經(jīng)驗(yàn),近幾年政府部門出臺(tái)了很多政策法規(guī),對(duì)盜版進(jìn)行嚴(yán)格的控制,在一定程度上改善了我國(guó)軟件行業(yè)的環(huán)境。但是計(jì)算機(jī)軟件行業(yè)經(jīng)過(guò)了多年的發(fā)展,已經(jīng)形成了良好的產(chǎn)業(yè)鏈,核心的軟件技術(shù)都掌握在西方國(guó)家手中,我國(guó)要想發(fā)展自己的軟件產(chǎn)業(yè),面臨的難度較大,而受到我國(guó)教育水平的影響,軟件開發(fā)人員的整體水平較低,在很大程度上限制了我國(guó)計(jì)算機(jī)軟件開發(fā)水平的提高。
2.2影響計(jì)算機(jī)軟件開發(fā)的因素
在實(shí)際的計(jì)算機(jī)軟件開發(fā)中,首先要進(jìn)行需求分析,在計(jì)算機(jī)軟件出現(xiàn)的早期,受到計(jì)算機(jī)性能的限制,軟件都比較簡(jiǎn)單,只是進(jìn)行一些簡(jiǎn)單的數(shù)學(xué)計(jì)算,因此不需要進(jìn)行需求的分析,程序的編寫都具有一定的針對(duì)性,人們遇到實(shí)際問(wèn)題時(shí),編寫一個(gè)程序,來(lái)解決這個(gè)問(wèn)題,由于計(jì)算機(jī)沒(méi)有存儲(chǔ)設(shè)備,程序無(wú)法進(jìn)行存儲(chǔ),再遇到這個(gè)問(wèn)題時(shí),還要進(jìn)行程序的編寫。隨著軟件技術(shù)的發(fā)展,計(jì)算機(jī)語(yǔ)言得到了很大的進(jìn)步,在傳統(tǒng)的0和1二進(jìn)制語(yǔ)言中,軟件的編寫非常復(fù)雜,為了方便軟件的開發(fā),人們對(duì)計(jì)算機(jī)語(yǔ)言進(jìn)行了改進(jìn),把難理解的匯編語(yǔ)言等低級(jí)語(yǔ)言,變成了易懂的高級(jí)語(yǔ)言,同時(shí)軟件的應(yīng)用也有了很大的進(jìn)步,要想滿足不同領(lǐng)域的需求,軟件自身也變得越來(lái)越復(fù)雜。由此可以看出,影響計(jì)算機(jī)軟件開發(fā)的因素有很多,需求分析的效果、計(jì)算機(jī)語(yǔ)言等,都能夠?qū)浖拈_發(fā)造成很大的影響,尤其是計(jì)算機(jī)語(yǔ)言的使用,現(xiàn)在的軟件為了獲得一定的市場(chǎng),都會(huì)增加自身的功能,導(dǎo)致其體積越來(lái)越大,根據(jù)軟件開發(fā)的實(shí)際情況,都會(huì)分成幾個(gè)模塊,要想讓軟件具有良好的可維護(hù)性、易讀性等,必須采用嚴(yán)謹(jǐn)?shù)倪壿嬚Z(yǔ)言。
3基于邏輯語(yǔ)言的計(jì)算機(jī)軟件開發(fā)分析
3.1邏輯語(yǔ)言的表現(xiàn)形式
邏輯語(yǔ)言作為一種理論性的語(yǔ)言,如何使用這門語(yǔ)言解決實(shí)際問(wèn)題,一直都是人們研究的重點(diǎn),受到技術(shù)條件的限制,這個(gè)想法沒(méi)有實(shí)現(xiàn),隨著科學(xué)的進(jìn)步,物理學(xué)家們根據(jù)數(shù)學(xué)家的設(shè)想,制作出了現(xiàn)代電子計(jì)算機(jī),從本質(zhì)上來(lái)說(shuō),計(jì)算機(jī)自身就是一個(gè)數(shù)學(xué)模型,而這種模型就采用邏輯語(yǔ)言來(lái)描述,通過(guò)電路的通和不通兩種狀態(tài),將數(shù)學(xué)二進(jìn)制很好的聯(lián)系起來(lái)。這樣就可以利用邏輯語(yǔ)言來(lái)解決實(shí)際問(wèn)題,計(jì)算機(jī)在應(yīng)用的過(guò)程中,根據(jù)不同領(lǐng)域的實(shí)際需要,針對(duì)性的開發(fā)了應(yīng)用軟件,因此計(jì)算機(jī)的應(yīng)用就是軟件的應(yīng)用,而在軟件的開發(fā),就是將計(jì)算機(jī)語(yǔ)言,按照一定的邏輯關(guān)系進(jìn)行排列,然后計(jì)算機(jī)按照程序的指令,一步一步的去執(zhí)行。由此可以看出,軟件程序其實(shí)就是邏輯語(yǔ)言的表現(xiàn)形式,在計(jì)算機(jī)剛出現(xiàn)時(shí),程序的編寫比較簡(jiǎn)單,通常都是由幾個(gè)指令構(gòu)成,可以不考慮語(yǔ)句之間的邏輯關(guān)系,但是現(xiàn)在的程序非常復(fù)雜,很多軟件占用的空間達(dá)到了GB的級(jí)別,這樣復(fù)雜軟件的開發(fā),要考慮維護(hù)性和易讀性等,因此必須具有清晰的邏輯關(guān)系。
3.2邏輯語(yǔ)言的使用
現(xiàn)在的軟件開發(fā)中,主要采用C語(yǔ)言等高級(jí)語(yǔ)言進(jìn)行編寫,由于軟件要實(shí)現(xiàn)不同的功能,因此在實(shí)際的設(shè)計(jì)中,人們根據(jù)具體的功能,將軟件分成了相應(yīng)的模塊,每個(gè)模塊實(shí)現(xiàn)軟件的一個(gè)功能,然后設(shè)立一個(gè)主程序,通過(guò)特定的掃描機(jī)制,在需要哪個(gè)功能時(shí),就調(diào)用相應(yīng)的模塊,這樣程序可以很簡(jiǎn)單的實(shí)現(xiàn)維護(hù)等操作。計(jì)算機(jī)是以數(shù)學(xué)為基礎(chǔ),具有很高的嚴(yán)謹(jǐn)性,在程序編寫時(shí),如果一個(gè)語(yǔ)句出現(xiàn)錯(cuò)誤,就會(huì)導(dǎo)致整個(gè)軟件無(wú)法執(zhí)行,因此在實(shí)際的開發(fā)過(guò)程中,必須采用嚴(yán)謹(jǐn)?shù)倪壿嬚Z(yǔ)言進(jìn)行,只有這樣才能夠確保程序可以被執(zhí)行,通過(guò)實(shí)際的調(diào)查發(fā)現(xiàn),現(xiàn)在的編程軟件功能非常完善,在程序編寫完成之后,可以進(jìn)行相應(yīng)的編譯和運(yùn)行,如果程序存在問(wèn)題,就無(wú)法完成編譯,編程軟件會(huì)提出出錯(cuò)的位置,如果是命令的拼寫錯(cuò)誤,很好進(jìn)行修改,如果是邏輯關(guān)系出現(xiàn)了錯(cuò)誤,那么修改就比較困難,如果采用邏輯語(yǔ)言進(jìn)行編寫,就可以在很大程度上避免邏輯關(guān)系錯(cuò)誤的問(wèn)題。
計(jì)算機(jī)的保護(hù)主要有硬件和軟件的保護(hù)兩種,硬件里的系統(tǒng)保護(hù)是在操作系統(tǒng)和硬件層之間進(jìn)行的,現(xiàn)階段我國(guó)大部分的計(jì)算機(jī)普通服務(wù)器在硬件的設(shè)置中都存在著避免對(duì)軟件系統(tǒng)的非授權(quán)修改和用戶對(duì)于各類資源的使用,在這方面我國(guó)的計(jì)算機(jī)系統(tǒng)缺乏一些保護(hù)功能,存在惡意破壞計(jì)算機(jī)的狀況。軟件系統(tǒng)則是在操作系統(tǒng)和應(yīng)用系統(tǒng)中進(jìn)行的,在應(yīng)用過(guò)程中可能會(huì)出現(xiàn)程序的沖突情況,因此系統(tǒng)保護(hù)卡對(duì)于計(jì)算機(jī)的正常運(yùn)行是十分重要的。對(duì)軟件的保護(hù)主要考慮兩個(gè)方面的問(wèn)題,即防止對(duì)軟件系統(tǒng)的非授權(quán)修改和盡可能減少對(duì)各種資源使用的限制。但是目前的計(jì)算機(jī)服務(wù)器在硬件設(shè)計(jì)中沒(méi)有考慮這方面的功能,只有一些簡(jiǎn)單的保護(hù)措施,但是無(wú)法阻止故意的破壞,一定程度上限制了用戶對(duì)硬盤資源和計(jì)算機(jī)軟件的正常使用。計(jì)算機(jī)軟件系統(tǒng)大致分為應(yīng)用軟件和系統(tǒng)軟件,應(yīng)用軟件時(shí)為用戶解決某些特定問(wèn)題的而開發(fā)的程序軟件,通常涉及到相關(guān)領(lǐng)域的一些知識(shí),如財(cái)務(wù)管理軟件等。系統(tǒng)軟件屬于管理和維護(hù)的計(jì)算機(jī)資源軟件,主要包括操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、程序設(shè)計(jì)語(yǔ)言、系統(tǒng)服務(wù)程序金額網(wǎng)絡(luò)軟件等。操作系統(tǒng)屬于系統(tǒng)軟件的核心部分,關(guān)系到用戶對(duì)各種軟件和程序的應(yīng)用狀況。
二、系統(tǒng)保護(hù)卡原理以及發(fā)展缺陷
我國(guó)在計(jì)算機(jī)軟件系統(tǒng)保護(hù)方面起步較晚,在20世紀(jì)90年代初期才開發(fā)出一些基于DOS系統(tǒng)的保護(hù)卡和軟件,這些保護(hù)卡和軟件基本原理都是通過(guò)重定向DOS的寫中斷來(lái)將硬盤的寫操作轉(zhuǎn)變?yōu)榧賹?,以此?lái)對(duì)計(jì)算機(jī)軟件進(jìn)行保護(hù)。系統(tǒng)保護(hù)卡實(shí)質(zhì)上是一塊微型設(shè)備,被安裝在ISA或是PCI上,其核心部件是一塊小型芯片,這塊小型芯片的容量在1-4MB之間。系統(tǒng)保護(hù)卡根據(jù)計(jì)算機(jī)插槽類型的不同分為ISA和PCI兩種。PCI設(shè)備本身具有自動(dòng)中斷號(hào)及分配地址的功能,因此硬件沖突的情況一般不會(huì)發(fā)生,ISA類的系統(tǒng)保護(hù)卡則會(huì)發(fā)生此類沖突,一旦出現(xiàn)這種現(xiàn)象,必須通過(guò)人工操作進(jìn)行修改。為此,市面上ISA類卡基本被PCI類卡所取代。這些保護(hù)卡和軟件的早期技術(shù)不夠先進(jìn)突出,使這些產(chǎn)品都具有一些缺陷,具體表現(xiàn)在:兼容性差,僅適用于DOS系統(tǒng);容易造成系統(tǒng)運(yùn)行速度下降并且限制用戶對(duì)硬件資源的使用;這類產(chǎn)品的最大缺陷是沒(méi)有辦法防止高級(jí)工具軟件對(duì)磁盤格式化,因此安全性相對(duì)較低;沒(méi)有充分考慮到數(shù)據(jù)破壞之后的軟件恢復(fù)問(wèn)題。近年來(lái),科技水平的不斷提高,越來(lái)越多的新型系統(tǒng)保護(hù)卡被研發(fā)出來(lái),這一代的產(chǎn)品在安全性、穩(wěn)定性、兼容性等功能上有了很明顯的提高。這些產(chǎn)品除了具備基本的保護(hù)功能外,還兼具網(wǎng)絡(luò)恢復(fù)功能,因此被迅速地推廣。系統(tǒng)保護(hù)卡的功能可以分為單一功能和多功能兩種,多功能系統(tǒng)保護(hù)卡實(shí)際上是一種帶有BOOTROM芯片的網(wǎng)卡,其芯片具備網(wǎng)絡(luò)引導(dǎo)程序功能和系統(tǒng)程序保護(hù)功能。還有些芯片集成了網(wǎng)絡(luò)管理程序和克隆程序,這類系統(tǒng)保護(hù)卡已經(jīng)成為了市場(chǎng)上的主流產(chǎn)品,受到用戶的喜愛(ài)。
三、計(jì)算機(jī)軟件系統(tǒng)保護(hù)和恢復(fù)措施
1、Ghost軟件的使用
Ghost軟件是一款功能強(qiáng)大,使用范圍較廣的軟件,可以實(shí)現(xiàn)硬盤與硬盤間的對(duì)拷、兩個(gè)硬盤的對(duì)拷、兩個(gè)硬盤分區(qū)的對(duì)拷和電腦與電腦間的對(duì)拷,并且可以壓縮信息成一個(gè)影像文件。對(duì)Ghost軟件進(jìn)行使用時(shí),要先進(jìn)行系統(tǒng)分區(qū),通過(guò)C盤生成影像文件,只要運(yùn)行程序時(shí)把保存在非系統(tǒng)區(qū)的文件恢復(fù)到吩咐就可以了。在安裝的過(guò)程中如果要把一臺(tái)計(jì)算機(jī)的系統(tǒng)和軟件安裝好,然后利用Ghost軟件對(duì)系統(tǒng)或者硬盤進(jìn)行備份,再把備份恢復(fù)到其他計(jì)算機(jī)上以達(dá)到良好的效果,避免重復(fù)勞動(dòng),提高工作效率。
2、使用保護(hù)卡和恢復(fù)系統(tǒng)數(shù)據(jù)的辦法
我國(guó)目前最比較流行的硬件數(shù)據(jù)保護(hù)和局域網(wǎng)數(shù)據(jù)恢復(fù)硬件是海光藍(lán),這種硬件具有很強(qiáng)的獨(dú)特性和新穎性。如果幾臺(tái)計(jì)算機(jī)同時(shí)發(fā)生故障,用這種方式只需要恢復(fù)一臺(tái)計(jì)算機(jī)的系統(tǒng)管理,再將其他計(jì)算機(jī)系統(tǒng)進(jìn)行還原即可。海光藍(lán)具有針對(duì)性的自動(dòng)連接、網(wǎng)絡(luò)喚醒、數(shù)據(jù)同步傳輸和網(wǎng)絡(luò)拷貝功能。它能夠脫離對(duì)計(jì)算機(jī)系統(tǒng)的依賴,能夠應(yīng)付更加惡劣的計(jì)算機(jī)問(wèn)題。能夠就有效地防止病毒感染或者操作不當(dāng)造導(dǎo)致系統(tǒng)崩潰問(wèn)題的出現(xiàn)。在海光藍(lán)對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行保護(hù)時(shí),需要對(duì)每一個(gè)計(jì)算機(jī)系統(tǒng)都設(shè)置密碼以防多人使用中出現(xiàn)電腦數(shù)據(jù)丟失的情況而造成信息泄漏。
3、使用單機(jī)和多機(jī)系統(tǒng)的備份和恢復(fù)方法
通常情況下,如果計(jì)算機(jī)的某些程序無(wú)法正常運(yùn)行時(shí),只需要將映像文件恢復(fù)到C盤,但是對(duì)于文件較大,一般的軟盤無(wú)法融入的程序來(lái)說(shuō),就要在計(jì)算機(jī)的本體上安裝硬盤保護(hù)卡以保護(hù)計(jì)算機(jī)系統(tǒng)安全,有效的避免病毒的騷擾和進(jìn)入。對(duì)于配置一樣的機(jī)房多臺(tái)計(jì)算機(jī)來(lái)說(shuō),如果他們都受到損壞,就要在一臺(tái)計(jì)算機(jī)上安裝系統(tǒng)軟件再通過(guò)Ghost軟件克隆島其他計(jì)算機(jī)中以提高工作效率。另外還要增加對(duì)計(jì)算機(jī)保護(hù)功能的支持,使用相關(guān)的殺毒軟件來(lái)防止病毒的入侵,提高計(jì)算機(jī)的安全性能,保證計(jì)算機(jī)能夠正常使用。
2淺談軟件工程的發(fā)展
根據(jù)相關(guān)文獻(xiàn)以及研究學(xué)者的研究報(bào)告信息資料等得知,軟件工程的發(fā)展大致經(jīng)歷過(guò)以下三個(gè)時(shí)代,分別為程序設(shè)計(jì)時(shí)代、軟件時(shí)代、軟件工程時(shí)代。另外,軟件工程生產(chǎn)如同建筑工程生產(chǎn)活動(dòng)一樣也會(huì)經(jīng)歷以下階段,即定義階段、開發(fā)階段、維護(hù)階段等。此外,軟件工程相較于其他工程學(xué)科而言存在著以下不同點(diǎn),例如:建筑工程活動(dòng)中,當(dāng)設(shè)計(jì)圖紙出現(xiàn)后,幾乎不存在回溯的問(wèn)題,而在軟件工程活動(dòng)中,每一階段將會(huì)面臨多次修改,并且還會(huì)產(chǎn)生多次回溯問(wèn)題,除此之外,軟件生產(chǎn)開發(fā)之后,其還會(huì)面臨著運(yùn)行維護(hù)問(wèn)題,如果用戶要求發(fā)生變更,則相應(yīng)的對(duì)軟件應(yīng)用進(jìn)行開發(fā)與修改。
3探討計(jì)算機(jī)軟件開發(fā)的相關(guān)方法
由于計(jì)算機(jī)軟件開發(fā)活動(dòng)具有一定的復(fù)雜性與繁瑣性,其開發(fā)質(zhì)量均與其每一步驟相關(guān),因此,為了保障應(yīng)用軟件系統(tǒng)的開發(fā)質(zhì)量,則需要嚴(yán)格按照相關(guān)步驟要求來(lái)進(jìn)行,首先擁有清晰的思路,并且遵照相關(guān)原則來(lái)進(jìn)行開發(fā)、生產(chǎn),與此同時(shí),還需要采用相應(yīng)的軟件開發(fā)方法、圖示等進(jìn)行,另外,在對(duì)軟件工程進(jìn)行開發(fā)活動(dòng)的時(shí)候,相關(guān)軟件開發(fā)工程師以及工作人員需要保持高度統(tǒng)一、協(xié)調(diào),從而為應(yīng)用開發(fā)軟件提供有力保障。通過(guò)經(jīng)驗(yàn)的積累結(jié)果得知,當(dāng)前應(yīng)用軟件的開發(fā)方法有以下三種,例如:原型化方法、軟件生命周期法、自動(dòng)形式的系統(tǒng)開發(fā)方法等,該文以下將應(yīng)用軟件開發(fā)的相關(guān)方法逐一介紹與分析:1)關(guān)于軟件開發(fā)的原型化方法分析當(dāng)軟件開發(fā)工程師以及工作人員對(duì)相關(guān)定義以及處理算法沒(méi)有進(jìn)行確定,并且不了解該軟件操作系統(tǒng)的適用性以及人機(jī)界面形態(tài)等情況下,則需要通過(guò)原型化方法來(lái)對(duì)軟件進(jìn)行開發(fā)與生產(chǎn)。2)關(guān)于軟件開發(fā)的生命周期法分析首先,相關(guān)軟件開發(fā)工程師以及工作人員需要從時(shí)間的角度對(duì)軟件定義、開發(fā)以及維護(hù)等一系列問(wèn)題進(jìn)行分析與研究,并且將其步驟分成若干個(gè)部分,然后需要嚴(yán)格的對(duì)每一部分進(jìn)行設(shè)立相應(yīng)標(biāo)準(zhǔn),當(dāng)前面部分內(nèi)容完成后,則可以開始下一個(gè)部分內(nèi)容。3)關(guān)于軟件開發(fā)的自動(dòng)形式系統(tǒng)開發(fā)方法分析這種開發(fā)方法相較于其他方法較簡(jiǎn)單,其主要通過(guò)第四代技術(shù)來(lái)設(shè)定要求、自動(dòng)設(shè)計(jì)、自動(dòng)編碼而實(shí)現(xiàn)開發(fā)軟件的目的,這是由于第四代技術(shù)中含有大量的軟件開發(fā)工具,只需要相關(guān)軟件開發(fā)工程師給予軟件設(shè)計(jì)內(nèi)容,則第四代技術(shù)即可按照其要求進(jìn)行規(guī)范處理、分析,從而實(shí)現(xiàn)軟件開發(fā)的目。
4探討數(shù)據(jù)庫(kù)的安全設(shè)計(jì)
4.1計(jì)算機(jī)用戶管理工作流程一般情況下,用戶管理者需要通過(guò)對(duì)每一系統(tǒng)操作工作人員進(jìn)行建立相關(guān)權(quán)限設(shè)置,并且對(duì)每一系統(tǒng)操作人員的可操作范圍進(jìn)行了限定,由此可以看出,對(duì)用戶登錄模塊的實(shí)現(xiàn)主要包括兩個(gè)數(shù)據(jù)庫(kù),即工作權(quán)限數(shù)據(jù)庫(kù)、工作人員數(shù)據(jù)庫(kù)等,從而有效維護(hù)了計(jì)算機(jī)用戶數(shù)據(jù)庫(kù)的安全性,大大降低了安全風(fēng)險(xiǎn)系數(shù)。
4.2預(yù)留部分冗余字段對(duì)計(jì)算機(jī)用戶的IP地址以及訪問(wèn)時(shí)間等進(jìn)行預(yù)留部分冗余字段,從而有利于后期應(yīng)用軟件的維護(hù)工作,從而大大提高應(yīng)用軟件維護(hù)效率以及節(jié)省大量時(shí)間,無(wú)論對(duì)于軟件后期維護(hù)工作而言,還是對(duì)計(jì)算機(jī)用戶而言均具有著十分重要的意義。