本站小編為你精心準備了論軟件工程中軟件開發方法的趨勢參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
(一)結構化方法
結構化程序設計方法中的思維創新被認為是程序開發方法發展中的重要飛躍,并且其成功也在很大程度上推動了結構化設計方法以及結構化分析方法的發展,在20世紀七八十年代,結構化方法在軟件開發方法中占據了主導的地位并有效的對軟件危機蔓延起到了遏制的效果,既是在今天,結構化方法的這種作用仍舊在發揮著。從當前來看,結構化方法具有成熟的技術并且使用簡單,所以其應用也十分的廣泛,但是在一些復雜的或者大規模的軟件工程項目中,結構化方法卻不能很好的對軟件重復使用問題進行解決而難以對軟件工程需求的變化進行適應,并且結構化軟件開發方法在軟件維護方面具有著較強的復雜性。
(二)面向對象方法
面向對象方法的基本原則以及出發點是對人類思維方式的模擬,從而讓軟件開發的整個過程最大化的接近于人類對世界認識的過程,從方法論方面看,面向對象的軟件開發方法將系統看做是一個由很多對象互相作用、互相聯系而形成的整體。面向對象的軟件開發方法包括分析方法、設計方法以及程序設計,其中面向對象程序設計方法是面向對象方法的重要核心內容。在軟件工程中,軟件由文檔和程序兩部分組成,程序是由算法和數據機構共同構成,在傳統程序開發的過程中,操作以及數據被分離為獨立的內容,但是事實上,客觀世界中的實體都具有靜態和動態兩種屬相,對于軟件工程而言,數據則是靜態的屬性,而操作則是動態的屬性,二者具有密切的關系,而傳統程序開發中將二者的分離在一定程度上是軟件開發所面臨的難度進一步的增加。而面向對象方法則強調了不同元素的共同組成,數據以及操作被看為是一個整體,而這種理念優勢在于對軟件的重復使用,同時也是代碼更容易理解,但是在面向對象的方法中,軟件開發過程中的劃分相對模糊,所以在軟件分析、軟件設計以及軟件設計的過程中會產生多次迭代。
(三)形式化方法
隨著科技的發展以及人類對軟件工程需求的不斷提高,計算機軟件開始執行會引發嚴重后果甚至威脅人類生命的重要任務,如對核反應堆進行監控、飛船的發射以及對一些交通設施進行安全監控等,而這些需求下的軟件一般都具有較強的復雜性,在此背景下,在軟件本身復雜性不斷增加的基礎上保證軟件在執行任務時的精確、安全和可靠是十分重要的內容,而形式化方法就是為了滿足這樣的需求而產生。形式化軟件開發方法所依據的是計算與數學模型來對軟件系統的特性以及行為作出驗證和描述,其中這些特性與行為包括設計、需求規格以及實現等,由此可見,嚴格的數學是形式化軟件開發方法的重要基礎特征。但是形式化軟件開發方法也有其自身的缺陷,如在過程中所使用的數學模型或者數學工具并不能保證完全的安全與正確,并且是對同樣的數學規范,在不同的軟件工程背景下也會產生不同的后果,這種情況是由于不同領域在解釋和相容規范過程中的不同而產生的。
二、軟件工程中軟件開發方法的趨勢
在軟件工程發展的過程中,繁瑣復雜的開發過程、文檔維護難度的加大以及軟件開發過程中的反饋問題等逐漸的暴露出來,并且人們對軟件提出了智能化的需求,而面對這些問題和需求的出現與改變,軟件方法的研究與更新也引起了很大的重視與關注,許多新的方法出現并體現出了很大的發展潛力。
(一)敏捷軟件開發方法
敏捷軟件開發方法包括ASD、FDD、DSDM、XP等,敏捷軟件開發作為一種以人為核心、循序漸進、迭代的開發方法,它把軟件項目的整體構建劃分為許多個子項目,而這些子項目本身在測試后也驗證具有可運行以及集成的特征。敏捷軟件開發方法強調了人的作用以及對變化情況的使用,同時強調反饋有效性和簡單化,同時重視生產效率的提高,在軟件開發過程中,小項目可以分別完成并可以獨立運行,軟件可以始終處于能夠進行使用的狀態。它的12條實踐原則能夠在一定程度上體現出它自身的特性:一是獲得客戶的滿意最為優先,需要持續的、盡早的交付有使用價值的軟件;二是在軟件開發過程中的后期也可以改變對軟件的需求;三是交付可使用的軟件要具有經常性,交付的時間需要控制在最短的時間范圍之內;四是開發人員以及業務人員在項目開發中需要始終共同工作;五是需要為被激勵的個人提供必要的支持與環境,并信任他們能夠完成軟件開發工作;六是在團隊工作中,面對面交談是左右效率的信息傳遞方法;七是首要的進度標準是可以工作的軟件;八是可持續的提高開發速度;九是強調優秀設計與技能在提高敏捷能力方面的作用;十是簡單;十一是最好的需求、構架與設計來源于自組織的工作團隊;十二是在一定時間內,工作人員要針對如何提高工作有效性進行反省并對工作行為作出調整。當前敏捷軟件開發方法尚處于發展階段,所以并不如面向對象方法成熟。
(二)面向Agent的軟件開發方法
在互聯網不斷發展的背景下,規模大以及復雜性高成為了軟件開發中最明顯的趨勢,人們對計算機軟件的需求要開始重視其智能化,但是原來的軟件開發方法并不能勝任開發具有智能特性軟件的工作。Agent的概念來源于資源分布式人工智能領域,自主性、駐留性以及靈活性是其最重要的三個特征。自主性是指Agent能夠以外部環境以及內部狀態為根據來對自身的狀態進行決定,在此過程中并不需要外部進行控制和干涉。駐留性是指Agent能夠感知到外部環境產生的變化。靈活性是指Agent能夠與其他的Agent進行比較復雜的協同交互行為。憑借Agent自身的優勢,它在以后的發展中可以應用于交通管理、醫療護理、游戲娛樂、電力電訊甚至國防軍事等眾多領域,雖然Agent仍舊處于探索階段并且并不成熟,但是已經得到了廣泛的重視與關注,并且也會成為軟件工程在軟件開發方法方面的重要趨勢之一。(本文作者:樊莉麗單位:九江學院)