孫永國
摘 要:本文針對軟件工程技術發展的現狀以及發展趨勢做了詳實的分析探討,按照事物發展的規律,對于軟件工程技術的發展歷程做了分析回顧,從軟件的本質分析了虛擬技術各個層次的基本構造,重點對軟件的工業化生產模式進行了闡述,同時以Internet的出現為背景,探索了軟件技術的發展趨勢。
關鍵詞:軟件工程;技術;軟件工業化;網絡結構
1 軟件工程技術發展歷程
軟件工程的從概念的提出到取得長足的進步一共經歷了30多年,其中較為重要的進步主要是建立于高級語言基礎上的結構化程序設計技術以及相關的開發工具、計算機輔助軟件工程(CASE)成為研究熱點,并開發了一些對軟件技術發展具有深遠影響的軟件工程環境以及面向對象的高級語言的編程思路以及編程方法的誕生。從本質上而言,軟件屬于客觀事物的范疇,也是對其他實際客觀事物的一種不斷改進,因此客觀世界的不斷變化以及快速發展決定了軟件工程的誕生以及進一步發展。軟件的發展中重要的貢獻就是解決了硬件的異構特性,比如可以采用操作系統從客戶的角度屏蔽了計算機硬件之間的差異,目前屏蔽中間件的異構性的網絡服務技術也取得了較好的發展。更為復雜的異構問題都會促使軟件技術的不斷發展,應用軟件工程的理念進行實際問題的解決主要需要建立合理的模型并采用正確的處理方式,剞劂概念模型以及現實問題之間的映射關系。
2 軟件以及軟件的基本特征
軟件是對于客觀事物工作規律以及內在機制的一種具體描述,是客觀事物在計算機技術層面的直接反映。其基本的特性是能夠反應客觀世界不斷變化的需要。軟件的本質特征是軟件的演化性以及軟件的構造性。應用軟件模型實現更為直接的表達,更符合用戶的思維習慣,正是對于軟件本質屬性的闡述。在高級語言出現之前的匯編指令主要表達的就是實現語言構造到概念的轉移,在抽象層次中屬于較低的水平,而后隨即出現的高級程序,尤其是面向對象的開發軟件則在抽象層次上具有較大的提升。
3 軟件工程的主要研究內容
軟件開發實際上在本質意義上來說就是完成了高層概念到底層概念之間的映射,實現不同層次的邏輯之間的轉換。對于大型應用軟件,其映射的結構以及映射關系較為復雜。按照目前的基本要求以及規范,軟件工程(software engineering)是以計算機科學的基本理論以及相關技術為基礎,采用工程管理的模式以及方案,對軟件產品進行定義、開發、維護以及后期的管理。
軟件工程中最為基本的目標是實現產品的正確性、可靠性以及合算性。所謂正確性也就是說所設計的軟件要能夠達到預先設定的目標,完成相應的設計功能;可用性指的是軟件的基本結構以及相關支撐資料可以滿足用戶的需求;合算性則指的是軟件的成本與性能之間的平衡。因此軟件工程的開發過程就是一個生產一個最終滿足用戶需求且達到工程目標的軟件產品所需要的步驟。一般而言主要包含了需求設計分析、功能實現、客戶確認以及支持等一系列的過程。在軟件工程的開發設計中必須遵循以下的四個原則,首先是要能夠采用合理的設計方法,設計要體現模塊化的思維,要能夠考慮到軟件的一致性以及集成組裝性等方面的問題;此次要采用合理的開發風格,以此保證軟件開發的可持續性,不斷滿足用戶提出的新要求;同時要能夠為軟件開發提供高質量的工程支持,保證按期對客戶提交符合要求的軟件產品;最后就是要能夠保證對于軟件工程的有效管理。
4 軟件工程的發展趨勢
傳統意義上的軟件開發是一個靜態的封閉的平臺,一般采用自頂向下的設計方案,在這樣的模式一般都是首先確定系統的范圍,然后進行項目分解,逐步實現的方案。在未來的軟件開發中需要的就是采用一個具有豐富的基礎軟件作為開發必須的平臺,同時要求開發平臺具有動態的開放特性以及靈活的設計框架。開發活動要能夠不斷實現“無序”到“有序”之間的不斷循環,由不斷變化的動態特性逐步實現穩定;程序的合理性以及正確性表現形式逐步多樣化,軟件體系結構中側重點從軟件實際結構的分解轉換為對于不同協同尸體的聚合。未來軟件開發將是軟件實體進一步開發,在Internet的不同節點上任何一個軟件的實體都可以在開放的環境中以適當的方式進行發布,從而實現其他軟件實體進行跨網絡的互連互通協作和聯盟,從而形成一種與當前的信息Web類似的Software Web.Software Web。
5 結論
目前軟件工程技術的發展要能實現軟件與硬件的結合,所謂軟件就是能夠與系統結合符合工程開發規律的程序,硬件也就是指微電子技術。要能夠實現面向應用,實現軟件以及硬件一體化的系統以及成熟產品,在工程理念的背景下可以將軟件開發技術的發展總體趨勢歸納為軟件開發平臺的虛擬化以及網絡化、編程設計方法的對象化以及系統的構件化。同時產品家族化、開發工程化、過程規范化、競爭國際化、生產規模化等也是目前軟件工程技術發展的最新特點。網絡構建的軟件理論以及方法實現等主要的工作側重點在于實現以下的轉變,首先是傳統軟件結構到網構軟件結構的轉變;其次是從實體單元的被動性到其主動性的轉變;同時能從系統的靜態性演化到系統的動態性、協同方式從單一性到靈活性的轉變也顯得尤其重要;最后從經驗驅動的軟件手工開發模式到知識驅動的軟件自動生成模式的轉變.建立這樣一種新型的理論、方法以及實現都是軟件工程技術中重要的技術特征。
[參考文獻]
[1]印桂生,王瑩潔.董宇網構軟件的Wright-Fisher多策略信任演化模型[J].軟件學報,2012(8).
[2]付德平,李海峰,韋延民.UI元模型建模關鍵技術研究[J].中國制造業信息化,2011(7).
[3]張元鳴,肖剛,徐恭旭,陸佳煒.軟件產品族構件演化及其復雜度評價[J].計算機應用,2011(3).