試析基于軟件歷史信息的軟件工程
論文摘要:降低開發(fā)成本 盡量減少軟件演化過程中的問題一直是軟件工程實(shí)踐者在軟件工程實(shí)踐中的追求,提高軟件質(zhì)量和自動(dòng)化的軟件維護(hù)過程也是當(dāng)前軟件工程研究的熱點(diǎn)問題。即使是通過各種方式,但是軟件缺陷修復(fù)和軟件維護(hù)的成本無法明顯降低,軟件的可靠性仍然無法保障。仍然無法達(dá)到客戶萋求,這樣的惡性循環(huán)會(huì)使生產(chǎn)者和使用者喪失信心。本文以軟件演化歷史為背景,關(guān)于軟件質(zhì)量度量和預(yù)測(cè)以及改善軟件維護(hù)的框架做出了探討
論文關(guān)鍵詞:軟件歷史;軟件演化;軟件維護(hù)
軟件的開發(fā)和維護(hù)是一個(gè)時(shí)間、勞動(dòng)力和資源密集的過程。同時(shí),軟件缺陷的修復(fù)成本也非常高 對(duì)于軟件的修復(fù)和維護(hù)。這也是一項(xiàng)艱巨的任務(wù)。不僅占據(jù)了軟件項(xiàng)目的大量資源。而且,對(duì)于研究人員來說。仍需要在軟件維護(hù)方面做大量的研究,這些研究主要包括:(1)設(shè)計(jì)良好的編程語(yǔ)言和可適應(yīng)的集成開發(fā)環(huán)境以提高編程的效率。構(gòu)建自動(dòng)編譯工具。(3)實(shí)施更加嚴(yán)格的軟件安全策略。但是在這些研究丁作中沒有涉及到。當(dāng)然。在研究開發(fā)領(lǐng)域目前已經(jīng)有了很大的進(jìn)步。但是成本問題仍然無法解決 基于目前的狀況。以下內(nèi)容應(yīng)該得到重點(diǎn)研究:1)編程語(yǔ)言對(duì)軟件開發(fā)效率以及軟件質(zhì)量的影響。2)軟件缺陷修復(fù)的分派機(jī)制 3)設(shè)計(jì)基于網(wǎng)的模型來預(yù)測(cè)軟件維護(hù)的成本。
設(shè)計(jì)一個(gè)自動(dòng)化的框架來集成各種各樣的軟件產(chǎn)品資源庫(kù)以幫助軟件開發(fā)人員和研究人員進(jìn)行相關(guān)的數(shù)據(jù)挖掘活動(dòng)。
1.編程語(yǔ)言對(duì)開發(fā)和維護(hù)的影響
編程語(yǔ)言對(duì)軟件開發(fā)和維護(hù)影響的定量評(píng)估一直都是一個(gè)難以解決的問題。當(dāng)前。新應(yīng)用不斷涌現(xiàn)。同時(shí)編輯的語(yǔ)言也隨著具有較大的變化。而且選擇具有多樣性。在Web2.0 現(xiàn)的背景下。數(shù)據(jù)表明編程人員越來越喜歡用動(dòng)態(tài)的高級(jí)語(yǔ)言。這些語(yǔ)言具有高抽象的特點(diǎn)。
這能促進(jìn)軟件質(zhì)量的進(jìn)步 但是當(dāng)前不足的是沒有靜態(tài)檢驗(yàn)T具。缺乏成熟的分析和驗(yàn)證丁具。所以程序員在編寫程序時(shí)極易m錯(cuò)。這會(huì)導(dǎo)致后期軟件維護(hù)的難度加大 關(guān)于編程語(yǔ)言對(duì)軟件開發(fā)和維護(hù)的影響。有程序員專門研究過。但是沒有考慮到編程語(yǔ)言和具體的應(yīng)用,也沒有將研究是否合適納入考慮范圍 有的研究者將開發(fā)人員分成幾個(gè)小組針對(duì)某些項(xiàng)目進(jìn)行研究。但是開發(fā)者的水平因素并沒有被考慮到。而這些項(xiàng)目具有比較小、不被經(jīng)常使用而且生命周期比較短的特點(diǎn)。并且。這些方法得到的結(jié)果無法推及到較大的應(yīng)用項(xiàng)目。
2.軟件缺陷的分派機(jī)制
一般流行的開源軟件項(xiàng)目通常每天都會(huì)收到上百份缺陷報(bào)告。在理想的狀況下。開發(fā)人員將會(huì)在最短時(shí)間內(nèi)收到這些缺陷報(bào)告。對(duì)于程序員收到缺陷的過程會(huì)受到幾個(gè)因素的同時(shí)影響 如果通過手動(dòng)方式處理缺陷。大量的時(shí)間和勞動(dòng)力將會(huì)被消耗。準(zhǔn)確性也無法保障。而且。對(duì)于每一個(gè)項(xiàng)目。跟蹤每個(gè)活動(dòng)的開發(fā)者和他們的經(jīng)驗(yàn)也是一件非常網(wǎng)難的事情。即使是用機(jī)器代替手工.其效率和準(zhǔn)確性也無法得到保障。
3.基于圖的方法
在軟件維護(hù)的研究中使用基于同的度量最早應(yīng)用在軟件缺陷預(yù)測(cè)領(lǐng)域 Zimmermann等人通過雨數(shù)調(diào)用關(guān)系圖來達(dá)到一個(gè)文件發(fā)生故障的概率的預(yù)測(cè)目標(biāo) 而Pinzger等人。則通過構(gòu)建了一個(gè)開發(fā)者網(wǎng)絡(luò)來達(dá)到預(yù)測(cè)軟件故障的目標(biāo) 但是。這些均沒有考慮到軟件成本問題。以及基于圖的度量的識(shí)別軟件代碼中的關(guān)鍵點(diǎn)的問題 分析軟件的結(jié)構(gòu)。以基于罔的軟件模型為基礎(chǔ)。計(jì)算軟件中各種元素之間的關(guān)系來實(shí)現(xiàn)提高質(zhì)量降低成本的目的。
4.集成軟件產(chǎn)品的框架
開源軟件項(xiàng)目在開發(fā)過程中使用不同的資源庫(kù)來存儲(chǔ)項(xiàng)目和演化的信息。像源代碼,缺陷和補(bǔ)丁這樣,通過整合不同的資源庫(kù),采用先進(jìn)的查詢技術(shù)來達(dá)到不同的資源庫(kù)之間進(jìn)行查詢和瀏覽的目的。會(huì)大大的幫助解決開發(fā)和研究過程中 現(xiàn)的問題 例如。為什么代碼要按照這種方式來實(shí)施?這是編員必須面對(duì)的普遍問題,開發(fā)者進(jìn)行了很多的探索。但是開發(fā)者探索是需要用到軟件缺陷資源庫(kù)和代碼資源 庫(kù)中的信息,由于兩個(gè)資源庫(kù)是獨(dú)立的。所以無法高效的完成任務(wù) 刈于手工集成的這些信息。有繁瑣、耗時(shí)、也比較容易出錯(cuò)的缺點(diǎn),朋到大型項(xiàng)目上更是如此 而在過去主要是通過限制用戶查詢和瀏覽的方式來解決問題 如。查詢只能按照規(guī)定的查詢模版來進(jìn)行。另外,通過建立一個(gè)框架來支持各種查詢語(yǔ)育。允許軟件的開發(fā)人員和研究人員在更加廣泛和深層的空間中去尋找問題的答案或線索。這樣的方法才能有效的幫助開發(fā)人員和研究人員完成相關(guān)的開發(fā)和經(jīng)驗(yàn)分析任務(wù)。
5.軟件工程方法和技術(shù)
正確的編寫滿足需求的軟件是軟件開發(fā)范型關(guān)注的方向 軟件設(shè)計(jì)方法關(guān)注軟件T程的“途徑”.即研究怎樣完成從高層概念模型到低層概念模型的映射 軟件T程理論在實(shí)踐中應(yīng)用時(shí)重點(diǎn)應(yīng)該放在軟件復(fù)用上 以目前成熟的T業(yè)產(chǎn)品的開發(fā)模式為參考。軟件復(fù)用可以在軟件開發(fā)中避免重復(fù)勞動(dòng)。在已有的成果之上,充分考慮開發(fā)應(yīng)用系統(tǒng)中積累的知識(shí)和經(jīng)驗(yàn)。集中進(jìn)行新應(yīng)用的特有構(gòu)成成分上的開發(fā) 采用軟件復(fù)用技術(shù)有下面好處。第一,可以充分利用已有的開發(fā)成果。第二,消除軟件生命周期中的許多重復(fù)勞動(dòng),第i,提高軟件開發(fā)的效率。同時(shí)。復(fù)用高質(zhì)量的已有成果?梢员苊庵匦麻_發(fā)時(shí)引入的錯(cuò)誤。從而提高軟件質(zhì)量。
軟件構(gòu)件是指應(yīng)用系統(tǒng)中可以明確辨識(shí)的構(gòu)成成分,可復(fù)用構(gòu)件是指具有相對(duì)獨(dú)立功能和可復(fù)用價(jià)值的構(gòu)件。當(dāng)前。一般構(gòu)件包括:源代碼。
需求、需求規(guī)約、系統(tǒng)和軟件的體系結(jié)構(gòu)、文檔、測(cè)試計(jì)劃、測(cè)試用例和數(shù)據(jù)以及其他對(duì)開發(fā)活動(dòng)有用的信息。這些信息都可以稱為可復(fù)用軟件構(gòu)件。軟件復(fù)用的核心技術(shù)主要有:(1)如何有目的的進(jìn)行構(gòu)件生產(chǎn)和從已有系統(tǒng)中挖掘提取構(gòu)件;(2)構(gòu)件的本質(zhì)特征及構(gòu)件間的關(guān)系是什么樣的;(3)如何描述構(gòu)件;(4)如何對(duì)構(gòu)件進(jìn)行分類、組織及檢索等。有研究表明。南于某個(gè)特定領(lǐng)域需要的軟件具有相似的需求,因此軟件復(fù)用在特定領(lǐng)域內(nèi)更容易獲得成功。領(lǐng)域lT程也在這種背景下產(chǎn)生。領(lǐng)域一程是為一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過程,它包括建立可復(fù)用軟件構(gòu)件的所有活動(dòng)。一些領(lǐng)域分析方法被美圈卡內(nèi)基。梅隆大學(xué)軟件1.程研究所(CMU/SEI)~EIAI的許多研究機(jī)構(gòu)提在建筑領(lǐng)域。通常人們采用體系結(jié)構(gòu)表達(dá)建筑的整體結(jié)構(gòu)。將其應(yīng)用到軟件之中。則是軟件系統(tǒng)的結(jié)構(gòu) 主要有:構(gòu)件、構(gòu)件之間的交互莢系、限制、構(gòu)件和連接件構(gòu)成的拓?fù)浣Y(jié)構(gòu)、設(shè)計(jì)原則與指導(dǎo)方針。
6.結(jié)語(yǔ)
提高軟件維護(hù)質(zhì)量是本文討論的重點(diǎn)。相信一個(gè)軟件資源庫(kù)的集成框架將會(huì)促進(jìn)軟件產(chǎn)品的開發(fā)和分析活動(dòng)。
參考文獻(xiàn)
『1]丁沂;谲浖䴕v史信息的軟件]二程實(shí)踐『J】。數(shù)字技術(shù)與應(yīng)用,2012,(4):
『2]鐘林輝,鄭鑫,鄭賴等。演化信息驅(qū)動(dòng)的軟件體系結(jié)構(gòu)蕈=構(gòu)技術(shù)研究[J】l計(jì)算機(jī)程與應(yīng)用。2009.45(14):
『3]汪巧紅。c kiR.f軟件在撰寫歷史專業(yè)本科畢業(yè)論文中的應(yīng)用『JI_電腦知識(shí)與技術(shù)。201 1,07(26):
鐘林輝。姚昕凡。徐靜等;跀U(kuò)展的構(gòu)件依賴關(guān)系圖聚類的體系結(jié)構(gòu)囊構(gòu)策略研究『J1.計(jì)算機(jī)應(yīng)用研究,2010,27(8):
薛靜鋒,范志安‘李建勝等;跉v史信息預(yù)測(cè)轉(zhuǎn)發(fā)概率的DTN路由算法北京理T大學(xué)學(xué)報(bào),2011.31f1):
【試析基于軟件歷史信息的軟件工程】相關(guān)文章:
試析案例驅(qū)動(dòng)的軟件工程教學(xué)改革與實(shí)踐11-18
關(guān)于軟件工程的歷史與發(fā)展趨勢(shì)12-16
試析軟件工程系統(tǒng)項(xiàng)目開發(fā)的質(zhì)量控制12-10
試析案例驅(qū)動(dòng)的軟件工程教學(xué)改革與實(shí)踐論文11-23
基于模擬軟件企業(yè)的導(dǎo)學(xué)制在軟件工程實(shí)驗(yàn)教學(xué)中的實(shí)施應(yīng)用11-22
試析基于農(nóng)村文化信息化的農(nóng)業(yè)信息資源整合研究12-05
基于軟件工程的計(jì)算機(jī)專業(yè)學(xué)生的畢業(yè)設(shè)計(jì)11-19
軟件工程 開題報(bào)告11-14
- 相關(guān)推薦