孫佳敏成都東軟學(xué)院
軟件工程的設(shè)計(jì)思路淺析
孫佳敏
成都東軟學(xué)院
軟件工程在近二十年中有了極大的發(fā)展,設(shè)計(jì)思路的創(chuàng)新不斷涌現(xiàn)。本文通過對軟件工程的分析,從軟件設(shè)計(jì)的幾個(gè)關(guān)鍵步驟對其進(jìn)行了探究,為軟件工程技術(shù)的創(chuàng)新提供了思路。
軟件工程;設(shè)計(jì)思路;創(chuàng)新
1.1 軟件的含義
計(jì)算機(jī)軟件的主要組成部分為程序和數(shù)據(jù),在計(jì)算機(jī)工程中,軟件的作用極大。計(jì)算機(jī)硬件和軟件需要彼此,不能單獨(dú)使用。在最低級別,可執(zhí)行代碼由特定于單個(gè)處理器(通常是中央處理單元(CPU))的機(jī)器語言指令組成。機(jī)器語言由二進(jìn)制值組成,表示將計(jì)算機(jī)的狀態(tài)從其先前狀態(tài)改變的處理器指令。例如,指令可以改變存儲在計(jì)算機(jī)中的特定存儲位置中的值,指令也可以導(dǎo)致某些東西出現(xiàn)在計(jì)算機(jī)系統(tǒng)的顯示器上。現(xiàn)在多核處理器占主導(dǎo)地位,每個(gè)內(nèi)核可以按順序運(yùn)行指令,默認(rèn)情況下,每個(gè)應(yīng)用程序軟件只能運(yùn)行在一個(gè)核心上。大多數(shù)軟件是用高級編程語言編寫的,對于程序員而言更為簡單和更有效率,意味著它更接近自然語言。使用編譯器或解釋器或兩者的組合將高級語言翻譯成機(jī)器語言。
1.2 軟件工程的發(fā)展
傳統(tǒng)的軟件工程強(qiáng)調(diào)物性的規(guī)律,現(xiàn)代軟件工程最根本的就是人跟物的關(guān)系,就是人和機(jī)器(工具、自動(dòng)化)在不同層次的不斷循環(huán)發(fā)展的關(guān)系。面向?qū)ο蟮姆治觥⒃O(shè)計(jì)方法(OOA和OOD)的出現(xiàn)使傳統(tǒng)的開發(fā)方法發(fā)生了翻天覆地的變化。基于組件的軟件工程的主要作用是將系統(tǒng)的開發(fā)作為零件(組件)的集合,作為可重用實(shí)體的部件開發(fā)以及通過定制和替換這些部件來維護(hù)和升級系統(tǒng)。這需要建立涵蓋整個(gè)組件和系統(tǒng)生命周期的方法和工具支持,包括技術(shù)、組織、營銷、法律和其他方面。軟件工程需要新的方法來支持基于組件的開發(fā)。
2.1 需求分析
軟件需求分析階段在系統(tǒng)設(shè)計(jì)完成后,即整個(gè)系統(tǒng)分解成多個(gè)子系統(tǒng)后進(jìn)行。軟件需求分析的重點(diǎn)是創(chuàng)建可以作為從分析到軟件設(shè)計(jì)的過渡車輛的模型。通過結(jié)構(gòu)化的方法,實(shí)時(shí)結(jié)構(gòu)化分析用于創(chuàng)建一個(gè)行為模型,可以作為過程抽象的過渡工具。數(shù)據(jù)流和控制流程圖模型與一組過程選擇規(guī)則相結(jié)合,以確定子系統(tǒng)的并發(fā)元素。在軟件需求分析階段使用的面向?qū)ο蠓治觯∣OA)模型與系統(tǒng)需求分析期間使用的相同。OOA的一個(gè)活動(dòng)是識別可以形成設(shè)計(jì)對象基礎(chǔ)的抽象類和對象。對象表示較大的現(xiàn)實(shí)世界實(shí)體的組件,例如飛機(jī)引擎、飛行模擬器導(dǎo)航或機(jī)器人運(yùn)動(dòng)管理器。場景的創(chuàng)建是在域分析和系統(tǒng)需求分析期間執(zhí)行的場景描述的細(xì)化。軟件的設(shè)計(jì)和實(shí)現(xiàn)取決于軟件的復(fù)雜性。例如,Microsoft Word的設(shè)計(jì)和創(chuàng)建比設(shè)計(jì)和開發(fā)Microsoft記事本花費(fèi)更多的時(shí)間,因?yàn)楹笳呔哂懈嗟幕竟δ堋MǔT诩砷_發(fā)環(huán)境(IDE)中設(shè)計(jì)和創(chuàng)建軟件,如Eclipse,IntelliJ和Microsoft Visual Studio,可以簡化流程并編譯軟件。軟件通常在現(xiàn)有軟件和底層軟件提供的應(yīng)用程序編程接口(API)之上創(chuàng)建,如GTK+,JavaBeans或Swing。API可以按其目的進(jìn)行分類。例如,Spring Framework用于實(shí)現(xiàn)企業(yè)應(yīng)用程序,Windows Forms庫用于設(shè)計(jì)諸如Microsoft Word的圖形用戶界面(GUI)應(yīng)用程序,Windows Communication Foundation用于設(shè)計(jì)Web服務(wù)。當(dāng)程序設(shè)計(jì)時(shí),它依賴于API。例如,如果用戶正在設(shè)計(jì)Microsoft Windows桌面應(yīng)用程序,他可能會使用.NET Windows Forms庫設(shè)計(jì)桌面應(yīng)用程序,并將其API(如Form1.Close())和Form1.Show()調(diào)用到關(guān)閉或打開應(yīng)用程序,并寫出自己需要的附加操作。沒有這些API,程序員需要自己編寫這些API。像Oracle和Microsoft這樣的公司提供自己的API,以便使用他們的軟件庫編寫許多應(yīng)用程序,這些軟件庫通常在其中包含許多API。
2.2 方案設(shè)計(jì)
方案設(shè)計(jì)應(yīng)當(dāng)充分利用軟件工程中越來越多的實(shí)證研究,作出決策和制定研究問題,需要構(gòu)建可用研究證據(jù)的客觀總結(jié)的能力。考慮到這樣的研究可能采用不同的實(shí)驗(yàn)形式,并且在不同的實(shí)驗(yàn)環(huán)境中進(jìn)行,采用系統(tǒng)的方法來評估和總結(jié)一組實(shí)證研究的結(jié)果在軟件工程中尤為重要。參與者應(yīng)該能夠閱讀和使用這些方案,并且獲得了對自己的系統(tǒng)評價(jià)所需的知識。將使用信息呈現(xiàn),包括軟件工程領(lǐng)域可能出現(xiàn)的一些問題的經(jīng)驗(yàn)以及交互式工作,使用提前準(zhǔn)備的審閱材料進(jìn)行方案設(shè)計(jì)。軟件工程方案設(shè)計(jì)需要研究指導(dǎo)以改進(jìn)研究和報(bào)告流程。通過提出一套初步的研究指南,旨在激勵(lì)軟件研究人員的討論。它們是基于為研究人員開發(fā)的研究指南的審查,以及我們在做軟件工程研究方面的經(jīng)驗(yàn)。該準(zhǔn)則旨在協(xié)助研究人員、評審人員和分析師設(shè)計(jì)、實(shí)施和評估實(shí)證研究。軟件編寫者希望使用團(tuán)隊(duì)的建議作為制定評審者指導(dǎo)原則的基礎(chǔ),并制定政策來處理實(shí)證研究的設(shè)計(jì),數(shù)據(jù)收集和分析報(bào)告。
2.3 編程
軟件要通過編程工具進(jìn)行編寫,編程工具是一種開發(fā)環(huán)境,是軟件開發(fā)人員用于創(chuàng)建、調(diào)試、維護(hù)(即改進(jìn)或修復(fù))或以其他方式支持的軟件。軟件以一種或多種編程語言編寫,存在許多編程語言,并且每個(gè)軟件都至少用一種語言實(shí)現(xiàn),每種語言由其自己的一組編程工具組成。這些工具可能是相對獨(dú)立的程序,如編譯器、調(diào)試器、解釋器、鏈接器和文本編輯器,可以組合在一起以完成任務(wù),或者它們可以形成集成的開發(fā)環(huán)境(IDE),它集成了這些獨(dú)立工具的大部分或所有功能。IDE可以通過調(diào)用相關(guān)的單個(gè)工具或以新的方式重新實(shí)現(xiàn)其功能來實(shí)現(xiàn)。IDE可以使特定任務(wù)變得更容易,例如在特定項(xiàng)目中搜索文件。許多編程語言實(shí)現(xiàn)提供了使用單個(gè)工具或IDE的選項(xiàng)。
2.4 測試與維護(hù)
測試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個(gè)一個(gè)的確認(rèn)每個(gè)功能。軟件測試有很多種:按照測試執(zhí)行方,可以分為內(nèi)部測試和外部測試;按照測試范圍,可以分為模塊測試和整體聯(lián)調(diào);按照測試條件,可以分為正常操作情況測試和異常情況測試;按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試。
軟件工程的發(fā)展日新月異,發(fā)展計(jì)算機(jī)軟件,尤其是軟件工程作為軟件產(chǎn)業(yè)的依托學(xué)科已經(jīng)成為信息技術(shù)的核心之一,因此需要加強(qiáng)軟件工程技術(shù)的更新?lián)Q代,才能讓其更好地為我們服務(wù)。
[1]徐輝增.關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘方法的研究[J].科學(xué)技術(shù)與工程.2012(01)
[2]曹路舟.數(shù)據(jù)挖掘技術(shù)及其應(yīng)用初探[J].科教文匯(下旬刊).2012(01)
孫佳敏(1993-),男,內(nèi)蒙古呼和浩特人,成都東軟學(xué)院,本科,研究方向:it類。