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