前言:尋找寫作靈感?中文期刊網用心挑選的計算機開發中軟件工程方法的運用,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
在計算機技術日益成熟的當下,軟件開發是計算機技術中重要的工作內容之一,其開發難度受工程量以及工程方法所制約,其中又以工程方法為主要技術內容。系統性的軟件工程方法中能夠有效提升軟件工程的效率,滿足需求方對軟件的質量要求,因此對軟件工程方法的系統研究和運用很有必要。在計算機軟件開發的工程方法中,其主要目的是系統性地闡明了“如何做軟件”的流程與工作法,闡述了計算機軟件開發所應用的技術工具為、技術路線、技術方法等軟件支撐環境與操作過程,形成了軟件系統從開發到交付的系列任務框架,對開發任務的工作步驟、流程做出合理化規定,提升開發效率與成果性能,因此需要綜合設計、合理選用軟件工程方法。
1軟件工程方法
1.1結構化方法。也叫作生命周期法、結構化范型,將軟件產品的開發周期過程劃分為不同階段,在不同的開發階段應用相匹配的結構化技術。在結構化方法的計算機軟件開發方式中,需求分析是第一位、占據主導性的,具有頂層設計性質,結構化方法嚴格以頂層設計為始發點,然后才為計算機軟件建模、按應用程序對應功能需求、完成設計開發及測試評估等工作,開發過程屬于漸進型,強調自上向下按照順序走完軟件開發階段流程,在研究對象方面,又可分為面向行為與面向數據兩種方法,但兩種方法之間缺乏整合性,屬于傳統的軟件工程方法。在軟件開發過程中,存在需求結構變化、程序復雜、開發周期長、更新速度慢等方面的問題,成為計算機軟件開發的因素限制。
1.2面向對象方法。也叫OO方法,是一種主要面向數據與數據操作的軟件工程法。面向對象方法主意到軟件開發工程的需求具有多變性的,在開發過程中用戶需求呈現多次迭代趨勢,因此面向對象方法注重概念與表示方法的適應性,使軟件開發工程得以多線程操作,并且實現各階段平穩過渡。一般在大工程量的復雜交互系統中,面向對象方法更有優勢。
1.3形式化方法。形式化方法是一種將規格轉換為執行程序的技術性方法,具體的來說主要實現方式是枚舉和重寫,枚舉是將邏輯科學中的命題分析、思維推理加以比較、聯結,以梳理概念與命題之間的形式結構關系,重寫則體現一種分治思想,大致類比為數學元法,把大問題切分為小問題,把未知問題轉換為已知問題,再引入與形式結構對應的符號語言,用符號語言表達形式結構。
1.4多維法。多維法是一種結合了面向對象方法與形式化方法的軟件工程法,仍然以需求分析作為起始點,但在實際設計、編碼階段和測試、評估階段都對兩種方法進行了相互結合,其中需求分析、設計編碼、測試評估是最主要的3個階段,而工程時間和預算則隨著需求而彈性變化,作為資源投入與產出的衡量指標。如圖1所示,曲線的軌跡表示軟件開發的螺旋上升過程,曲線的終點則在“時間和預算”維上體現出工程時間與工程預算的終點,有向螺旋曲線與四個坐標軸的交點落選延伸分布,可以顯示開發過程在某個維度上的深入程度和細化標準的具體差異。
2軟件工程法應用現狀
2.1結構化方法的應用。結構化方法依靠系統需求分析,事先確定出一套完整的、一致的應用需求并采用相應的結構化語言進行程序設計,隨著用戶對計算機軟件需求的發展,計算機軟件開發工程中傳統的結構化方法逐漸難以滿足這些在開發過程中不斷嬗變、演化的需求。軟件開發過程需要的生命周期往往是計劃預定的,但以需求分析為基礎、固定的結構化語言為手段的結構化方法往往缺乏變化性和可擴展性,而計算機軟件的需求迭代速度很快,在經歷固定生命周期后,結構化方法設計的計算機軟件在功能性、兼容性以及實用性方面往往與當下需求有所偏差,這一需求目標與結合實際的差異往往代表著極高的工程代價,甚至可能出現成果問世即被市場所淘汰,這往往等同于工程開發失敗,因此采取預先定義需求策略的結構化方法已經不能適應當前互聯網日益變化的用戶需求。
2.2面向對象方法的應用。面向對象方法在當前是計算機軟件開發的熱門方法,在人工智能、操作分布系統、數據庫、物聯網領域均有廣泛應用,發展也非常迅速,普及率高,但技術要求高,經濟性相對較低,面向對象開發方法主張用人類常用思維方法認識、理解并建立系統能映射冋題,以普遍性需求覆蓋個性化需求,進一步強調系統的一致性,客觀上提高了各個開發階段的技術銜接與對應的標準化趨勢,提高了軟件開發效率與質量,將軟件開發流程與需求易變因素進行了技術隔離。面向對象方法代表著軟件工程開發方法整體技術水平的提高,屬于現代化的涵蓋需求方向、同時確保計算機軟件功能的開發方法,但實用開發技術尚不完全成熟。
2.3形式化方法的應用。形式化方法通過肯定命題、聯言命題、假言命題的符號化,并自制邏輯識別生成器以及符號化的編譯方法,進行語法分析,可以看出形式化方法基于程序設計語言編譯技術,但形式化方法趨向于一種指導軟件開發的實踐性思想,偏重于計算機軟件序和程序開發過程的規律,而非組織、管理軟件的開發過程,但形式化方法仍然能夠貫穿軟件開發過程中自需求分析直至維護的全部過程,體現傳統開發方式向現代的開發方式轉變,代表著更高的計算機軟件開發技術水平的應用。
2.4多維法的應用。在軟件技術的發展過程中,計算機軟件的開發也正在不斷進步,多維法偏重于過程性的指導方案,整體屬于定性描述,坐標軸缺乏定量刻度的具體指標,而有向螺線與階段性指標、需求的契合程度也屬于定性而非定量,結合圖1可以看出,多維法是以時間和預算為終點的監控指導體系,而時間與預算具有一定的同步性,在這種同步性下需求分析、設計編碼和測試評估三個主要工作面構成了一定的平衡性。
3軟件工程法的運用原則
3.1實用性原則。軟件工程方法的應用目的是為了提升軟件開發質量與用戶需求的適配度,并不局限于某種應用技術,而且是一種技術運用方法,只有軟件工程質量標準與用戶需求變化趨勢互相調整、隨時適應,才可視為該工程方法發遵循了實用性原則。確保軟件工程應用技術能夠積極為設計要求提供實用性支持,是軟件工程技術在開發過程中的合理性因素。
3.2科學性原則。軟件工程方法科學性原則指在軟件開發過程中,具體的軟件開發技術應用必須是明確的,有針對性的,其工程技術水平是內容與相關要求相互對應的,其實際應用效果是經得起科學評估的。在具體的軟件開發過程中,用戶需求發生變化的前提下,具體設計要求也是不斷調整的,因此軟件工程技術是與用戶需求適配來凸顯其科學性,科學性原則能夠確保軟件順利的開發過程性因素。
4軟件工程方法的運用措施
4.1分析軟件工程技術的應用局限性。任何一款計算機軟件的功能性都受到系統結構的影響,開發過程中使用的軟件工程方法應該是多元化的,而不能是唯一的,因為在傳統數據的管理、獲取、存儲、共享環節不是動態化、相互獨立的,而是以數據管理模式為基礎、以結構化語言為處理問題的手段,數據查詢過程中的技術手段是相對單一且模糊的。而傳統數據管理模式與現代數據管理模式對比,現代數據管理模式應用了多元化的軟件工程方法,更有助于處理、防范發生系統連鎖性問題,其優勢更加明顯:現代數據管理模式在數據獲取、儲存、共享方面比傳統數據管理模式具有的先進性,與傳統軟件數據管理模依賴結構化語言不同,它處理數據問題的可擴展性要求更高、要求表述過程更加清晰,因此在單一方法的軟件工程開發中,多運用多維法;在復雜方法的軟件工程開發中,多采取形式化方法和面向數據方法的綜合法。
4.2建立彈性軟件開發模型及輔助模型。計算機軟件的開發工作中,需求分析后的最主要務實性工作就是開發建模,這也是計算機軟件開發工程的實操基礎,關系到計算機軟件的整體開發效率。一個兼具實用性與科學性原則的計算機軟件開發模型,技術重點主要包括:了解與掌握與相關應用程序、確定開發工作流程、計算開發周期、擬定管理工作框架等。為了對軟件開發模型進行效率、質量方面的預估與先期評價,還要分別建立組織公共模型、項目管理模型等輔助模型,對軟件開發模型中可能出現的問題進行風險防范,當出現技術問題時,能夠通過輔助模型分析問題成因、制定處理對策等風險控制手段,保障計算機軟件開發的有序性,對軟件開發模型起到進一步的優化作用。
4.3針對性設計應用程序開發技術??蛻羰褂昧晳T、操作實際需求可作為應用程序設計的合理化依據,也是客戶需求在具體技術方面的細分需求,一定程度代表著計算機軟件的實際開發條件。而在計算機軟件開發工程中,應用程序開發的任務是明確計算機軟件自身的組織架構,除了互相優化提升軟件整體性能之外,還要賦予一定的潛力設計,使計算機軟件能夠根據自身發展潛質進行自我判斷、自我更新,計算機軟件的整體性能也能夠體現應用程序開發的技術效果。為了保證應用程序設計的合理性,在進行應用程序的開發時,專業技術人員應對其進行全面的數據信息分析,對應用程序開發的整體流程定期進行技術匯總,根據客戶需求變化情況反饋重新明確應用程序開發目的,確保功能性與具體需求時刻匹配。
5結語
在當下的軟件開發工程中,一般傾向于根據資源分配軟件工程技術的方法,更有助于結合實際需求而保證軟件開發效率,使軟件功能能夠滿足客戶在軟件開發過程中的需求變化情況。但軟件工程方法并不能簡單地斷言其具體屬于某種方法,而是根據需求變化而彈性調整的開發過程中表現出的技術性傾向,必須遵循軟件工程方法應用的基本原則,根據需求變化、工程階段調整方法的合理性,甚至可以根據用戶的實際需求變化情況,在軟件工程各個周期靈活選取工程方法,提高工程技術應用效率。
作者:覃雷 單位:第七一五研究所