鄭彥平
(北方民族大學,寧夏銀川,750021)
系統軟件開發過程中的軟件工程技術
鄭彥平
(北方民族大學,寧夏銀川,750021)
隨著Internet的發展,應用系統也逐漸發生了改變,應用軟件和系統軟件逐漸向著智能化的方向發展。軟件開發作為軟件技術的基礎,其開發方式決定著軟件系統的結構和功能,與傳統的軟件相比,應用系統更符合現代市場需求。那么,軟件的開發又是如何運作的,在開發過程中運用到哪些技術?針對這些問題,文章將重點探討應用軟件與傳統軟件的區別,分析軟件工程中的模型設計和項目管理,從設計開發層面介紹了系統軟件開發過程中的軟件工程技術。
系統軟件;開發;軟件工程技術
隨著Internet技術的快速發展,軟件產業遍及工業、商業、銀行、教育、財政、政府等領域,甚至深入我們的日常生活之中。以應用軟件為代表的現代軟件技術進入到人們的日常生活中,為人們帶來了極大的便利。軟件是建立在計算機技術上的產業,軟件的開發和應用都和計算機分不開,以電子計算機為代表的技術是人們的生活“Wed時代”。那么,軟件是如何設計的,其開發之中又涉及到怎樣的技術,軟件工程的管理又是如何實現的,文章接下來將探討這些內容。
1.1 應用軟件與傳統軟件之區別
軟件應用系統具有開發時間短、初始需求不明確等顯著特點。其與傳統軟件系統的主要區別體現在以下幾點:部分基于軟件的系統強調的是信息的含量,是面向文檔的,包含靜態或動態網頁。基于軟件的系統關注視覺和感覺,強調感官舒服。用戶形式的多樣性。大多數基于軟件的系統必須迎合具有不同技術和能力的用戶,復雜化人機接口、用戶界面和信息遞交。大多數基于軟件的系統是內容驅動的,通常,基于軟件的系統開發還包括內容提交的開發;而傳統的軟件開發是功能驅動的或過程驅動的。軟件比通常意義上的軟件開發使藝術、技術和科學在更大范圍內結合。開發基于軟件的系統的人員在技能、知識方面比傳統的軟件開發所需要的更加廣泛,人員類型更多。
雖然軟件工程包含了程序設計和軟件開發,且采用了一些軟件工程的原理,但是,基于軟件的系統的開發與軟件開發是不同的,同樣,軟件工程也不同于軟件工程。傳統的軟件開發過程和生命周期模型在開發軟件應用方面存在不足。
1.2 傳統軟件的不足
傳統軟件開發過程的主要組成部分是其開發周期模型。軟件生存期模型是軟件工程思想的具體化,是跨越軟件生存期的系統開發、運行、維護所實施的全部活動和任務的過程框架。傳統典型的幾種生命周期模型,包括瀑布模型、增量模型、演化模型和螺旋模型等多種。在軟件應用開發過程中,每種模型都有其不足之處。其特性不符合軟件應用開發的初始需求不明晰、快速開發、特性經常變化等特點。以瀑布模型為例(如圖1),

圖1 瀑布模型結構圖
瀑布模型的優點是清楚地標識出了軟件開發的階段。它采用自頂向下逐步求精的方式把整個開發過程分成不同的階段,每個階段的工作都很明確,因此便于控制開發過程。當所有的階段都完成之后,該軟件的開發過程也隨之結束。在軟件應用開發方面,瀑布模型的缺點正是它自身的順序性所導致的。實際的軟件應用開發過程中,在需求階段很難把用戶的需求完全明確下來,因此,當需求變更時將會導致階段反復,而且都要重復需求、設計、編碼、測試等過程。
1.3 軟件應用模型更新
隨著網絡技術和Interact的迅速發展,大量系統都是基于www的。這些系統的開發、維護和管理需要新的方法,這些方法有別于傳統的軟件工程方法。傳統軟件工程方法和技術應用已經無法直接用到基于軟件的系統開發中。當企業向面向對象的軟件應用開發技術轉向時,支持軟件開發的活動也必然要有所改變,即意味要改變開發過程、資源和組織結構。面向對象的軟件應用開發需要新的、符合其特點的軟件工程過程。
如今軟件應用的設計和開發進入了需要強調流程和分工的時代,建立規范的、有效的、健壯的開發機制,運用符合軟件應用特點的開發過程模型,才能適應用戶不斷變化的需要,達到預期的計劃目標。
2.1 軟件工程過程模型組成
針對軟件工程應用的特點,以及軟件應用系統的開發和傳統軟件開發的顯著區別上,本文提出了軟件工程過程模型,作為軟件應用的開發框架,其組成如圖2所示:

圖2 軟件工程過程模型組成
軟件工程主要包括開發過程模型、項目管理模型及組織公共模型等組成部分。開發過程模型介紹了開發的生命周期;項目管理過程介紹了項目管理的基本流程、項目管理方法的建立,可以大大地增加組織在項目管理方面不斷成功的可能性;二者交叉部分是組織的公共過程。項目管理過程貫穿軟件開發過程的始終。
2.2 軟件開發過程
本過程模型基于迭代思想,一次迭代包括了生成一個可執行版本的開發活動,還有使用這個版本所必需的其他輔助成分,如版本描述、用戶文檔等。因此一個開發迭代在某種意義上是在所有工作流中的一次完整的經過,這些工作流至少包括:需求、分析和設計、實現、測試、發布等,其本身就像一個小型的瀑布項目。在軟件開發過程中,包括軟件工程人員、如見需求、軟件設計、軟件實現和軟件測試幾個部分。軟件工程人員則又可以分為程序開發人員、質量管理人員、項目管理人員、內容提供人員和客戶等等。在這幾個環節中,軟件工程人員是基礎,軟件需求是動力,軟件設計和軟件測試是手段,軟件實現是目的,幾個環節缺一不可。以下僅簡要介紹軟件測試的內容。
軟件測試可以分為多種,包括性能測試、功能測試、安全性測試、兼容性測試和可用性測試等等(如圖3所示)。

在軟件工程過程中,基于軟件系統的測試、確認和驗收是一項重要而富有挑戰性的工作.基于軟件的應用系統的測試與傳統的軟件測試不同,不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。因此,我們必須為測試和評估復雜的基于軟件的系統,研究新的方法和技術。
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。進行軟件項目管理有利于將開發人員的個人開發能力轉化成企業的開發能力,企業的軟件開發能力越高,表明這個企業的軟件生產越趨向于成熟,企業越能夠穩定發展。
3.1 項目管理概念
軟件項目管理(Webbased Project Management,WPM),即以軟件應用程序為主要表現方式的架構來進行的項目設計及管理,這樣的架構中包含了瀏覽器、網絡和軟件服務器等關鍵主體,主要體現在網站設計、以瀏覽器為客戶端的軟件應用程序開發等項目管理中。隨著軟件項目的規模不斷加大、參與人員的增多、對規范性的要求愈加嚴格,軟件開發已經告別了個人英雄主義的模式,工程化的軟件開發時代已經來臨。由此,項目管理開始逐步地在軟件研發各項活動中處于核心地位。軟件項目管理又可以分為項目準備過程、策劃與計劃過程、啟動過程、跟蹤管理過程和關閉過程。
3.2 項目管理過程
首先是項目準備,項目準備包括外部項目準備和內部項目準備,主要是準備項目招標的方案,分析項目的可行性。其次是項目啟動,這一階段主要是根據招標內容設計軟件工程的計劃方案。再次是項目計劃,主要是為軟件項目所需要的人才和技術設備做策劃。接著是項目跟蹤,即根據計劃內容對整個軟件工程的設計過程做評估。最后是項目結束,項目檢測通過后驗收。軟件工程過程不是建立后就一成不變的,它需要在實踐過程中持續改進。當企業在項目管理上走向成熟,并達到了一定程度的成功時,就獲得了可持續性競爭優勢.然而,企業的競爭者不會坐視這些,他們必然也在不斷進步。
隨著軟件技術的不斷發展,軟件應用也越來越復雜,軟件開發過程理論也不是一成不變的,它隨著應用在不斷發展演變。本文提出了針對面向對象軟件應用開發的特點專門設計的過程模型,基本包括了軟件應用開發的全過程,為軟件開發設計的相關研究做了準備。不斷采用先進的技術、工具,運用規范化的開發方法大力發展我國的軟件產業,開發出速度更快、效果更好的軟件應用系統,為我國的信息產業發展作出貢獻。
[1]劉超.關于“軟件工程”課程體系的基本架構及課程系列設置的探討[J].計算機教育.2009(21):104-105.
[2]韓承雙.論軟件工程課程實踐教學方法[J].科教文匯(下旬刊).2010(03):73-74.
[3]夏雪.淺談軟件開發過程中的方法問題[J].計算機光盤軟件與應用.2012(03):204-206.
[4]丁立新;牟盛勇;馬偉.軟件開發過程方法研究[J].裝備制造.2009(04):109-110.
鄭彥平,男,1973年1月出生,寧夏海原人,副教授,主要研究方向:信息工程,軟件工程
Software engineering technology system in the process of software development
Zheng Yanping
(Beifang University of Nationalities;Ningxia Yingchuan,750021,China)
With the development of the Internet,the application system also gradually changed,gradually in the direction of the intelligent application software and system software development.Software development as the basis of software technology,its development way decides the structure and function of software system,compared with traditional software application system conforms to the modern market demand.So, what is how to run software development,in the process of development which technology applied to?To solve these problems,the article will focus on discuss the difference between software applications and traditional software,the analysis model of software engineering design and project management,from the aspects of design and development system is introduced in the software development process of software engineering technology.
the system software; Development; Software engineering