高賽
摘 要 目前,我國社會主義改革日益擴大市場經濟份額,這使得軟件工程在我國國民建設中的作用越發凸顯。軟件工程是一個綜合學科,其涉及知識面很廣,包括系統平臺、模式設計、程序語言、軟件開發、數據庫等等。尤其對我們生活最為常用的操作系統、電子郵件、辦公套件、游戲、人機交互界面等軟件來說,幾乎覆蓋了社會上各個行業,包括工業生產、航空、農業、政府機構、銀行等。根據軟件工程自身特點,不斷補充軟件開發系統的知識,以此,進一步提升軟件工程在科技發展中的中堅地位。
關鍵詞 軟件工程 系統開發 計算機領域
中圖分類號:TP311.5 文獻標識碼:A
經過多年的發展,軟件工程如今已經成為計算機領域中一門非常重要的學科。軟件工程對于開發計算機功能,提高計算機的應用效率有著重要的作用。進入21世紀以后,軟件工程已經全面應用于社會發展的各個行業。目前,軟件工程的研究主要集中于軟件構件技術、網絡計算智能化、可靠性工程、中間件、標準化、軟件重用等方面。時至今日,社會經濟生產、人們生活交流都已經離不開軟件工程的支持。在社會需求的刺激下,軟件工程也朝著較高的水平飛速提升。
1 軟件工程定義及發展現狀
軟件工程,就是利用工程化中的方法實現對軟件的組建、測試和維護,以此提高軟件的設計和使用效率。軟件工程興起于20世紀60年代,計算機的應用范圍擴展到更多領域,導致使用者對軟件系統功能的要求越來越高和軟件系統自身復雜程度和開發難度在不斷加大,軟件的質量滿足不了人們的需求。最后引發了“軟件危機”,促進了軟件工程的誕生。
在軟件工程出現之初,歐美國家投入了大量的資金,制定了詳細的發展規劃,并取得了突破性的發展。在科學技術的推動下,軟件工程逐漸走向了智能化、高集成化之路。軟件工程是一門綜合性極強的學科,該學科從無到有經歷的發展階段為:萌芽階段、成長階段、技術應用與研究階段。在不同的階段,軟件工程完成了不同的任務。當今,軟件工程已經成為計算機應用領域的核心技術,而且市場需求量尚在逐年攀升。
目前,國外的軟件工程技術已經十分成熟,領域內常用的主流軟件開發工具以及開發環境都是國外科學家設計研究的。而對于我國的軟件工程發展而言,因為起步較晚,與國外軟件工程技術相比,還存在著很多問題,但在利用國外技術經驗的基礎上,只用了數十年,我國科研部門已經研發出屬于自己的軟件技術,比如 XYZ 系統、B-45 系統等。
2 軟件產品與傳統產品之間的特征比較
軟件是一種特殊的產品,更確切地說軟件是一種基于源代碼創造出來的作品,人們不能真實的看到它,卻可以在實踐應用過程中體驗它的價值。
軟件和傳統的工業有著本質上的差別。傳統工業的特點是,首先,要對產品進行精心的設計;其次,開始注入資金采購生產原材料,一切準備完成后開始產品投產;最后,銷售產品獲取較大的利潤。軟件的生產不同,它的主要投資成本就是前期開發設計過程成本、軟件運行成本和后期維護成本,在生產線上進行批量生產時的投資較少。用戶在購買其他產品后就有了它的所有權和使用權,可是用戶買來的軟件只有它的使用權。工業產品會隨著時間的推移,產品會逐漸出現磨損、功能受損、運行緩慢等問題,而軟件在使用過程中不會出現這些狀況,只是會出現同一款軟件在不斷的更新,而不會影響到已購買產品的使用。
傳統產品的整個生產過程是可見的,可以實際看到材料消耗量和產品進展情況。但是軟件的開發基于運用不可見的代碼編寫程序,整個過程裝在程序員的腦袋里,其他人無法得知程序進展情況。傳統產品設計通過核定后,在生產過程中就很難做到臨時改變方案,如確實需改動,要經過層層嚴格審批方可進行。但是軟件工程具有其易變性,在開發過程中編程人員可以根據實際情況做適當調整。
3 軟件工程中的方法和技術
經過幾十年的發展,軟件工程研究取得了重大性進步,雖然“軟件危機”依然存在,但軟件工程方法對軟件行業還是起到了積極促進作用。下面從技術和管理兩方面對軟件的開發過程進行控制。
3.1技術角度
從技術角度分析,既要關注軟件開發范型又要重視軟件設計方法。前者關注軟件工程的方向,也就是說怎樣才能做到準確書寫以滿足需求的軟件;后者則關注的是軟件工程的途徑,也就是說如何用低層概念模型反映高層概念模型。在實踐中,軟件的重復使用是軟件工程理論的核心內容。根據目前工業產品的開發模式,軟件復用是把已有的成果作為基礎,利用在過去開發過程中總結的經驗,應用在新的軟件工程的開發,這樣能減少重復勞動、減少工作量、降低復雜度。軟件構件被應用于系統中可以明確辨識的部分,它是實現軟件復用的關鍵技術,它包括源代碼、需求、系統、軟件體系結構等一切有利于開發活動的信息。其主要目的是從現有的系統中提取構件并進行構件生產,研究其本質特征和構件有怎樣的聯系、怎樣描述構件、怎樣對構件進行分類。
3.2工程管理角度
3.2.1探究管理方法的積極作用
由于結合軟件工程開發和生產過程具有特殊性,因此要采取一套不同于其他項目管理的方法。新的管理方法應更具合理性、高效性、科學性等優點,確保工程化系統開發的順利進行。軟件管理方法實現了對成本、人員、質量、風險、文檔進行控制,同時進行軟件管理有利于把開發人員的個人能力轉變成企業的開發能力,提高企業競爭能力,降低投資風險性。
3.2.2軟件項目管理遵守原則
做好軟件項目管理工作,要遵守以下幾方面原則,第一,軟件項目中需要處理好需求、資源、工期、質量四者之間的相互關系;第二,為了降低管理的風險,通常要根據實際生產要求把較大規模的項目拆分開;第三,制定一套具有合理性,科學性的措施來監控項目的進度;同時還能做到一旦發現問題就能夠及時解決;第四,根據不同項目的工作需要,制訂出不同的項目管理制度;第五,重視人員的思想道德教育,培養積極的工作態度,鼓勵他們要把理論與實踐相結合。
4 我國軟件工程發展問題
就目前我國軟件工程發展的現狀而言,存在的主要問題有以下兩大方面:(1) 缺乏完善的軟件工程管理體制,導致軟件工程開發團隊的工作無法得到有效的協調,開發效率受到極大的限制。(2)對軟件開發人員以及開發進度的控制力度不足,致使人員的穩定性下降,使得很多軟件產品的生產效率低下,且產品質量降低。與此同時,部分軟件的開發進度未控制好,使得軟件產品的生產不能按時完成,項目延期現象頻發。
5 軟件工程的發展趨勢
5.1全球化趨勢發展
全球化是世界經濟發展的總體趨勢,對于軟件工程來說亦是如此。發展到今天,軟件工程開發已經不再是某個國家自身的發展。而且,僅僅依靠某個國家自身的實力難以實現軟件工程技術的全面提升。鑒于此,全球化軟件協作交互模式應運而生。隨著軟件外包市場的快速發展以及軟件工程工具的進步,越來越多的企業開始締造跨國合作的軟件工程,他們在美國完成軟件的概念設計,在歐洲完成軟件的系統構架設計,在中國進行軟件的測試,在印度為軟件用戶提供售后服務等。
5.2開放性趨勢發展
就目前軟件工程發展的現狀而言,其發展趨勢必然朝著“開放計算”的方向發展。所謂的開放計算,其包括了開放標準、開放架構、開源軟件三個方面。通過統一的開放標準,不同企業開發的不同軟件可以進行互聯使用,不同軟件開發工具可以集成使用,不同國家的技術經驗能夠實現更好的交流,用戶在軟件方面的投資能夠得到更安全的保證。目前,開放架構最典型的代表當屬“SOA”,這種開放架構的使用能夠有效的解決IT 環境中復雜度之間的矛盾,可以簡化商業模式,增加軟件工程的靈活度。
5.3模塊化趨勢發展
隨著軟件市場的競爭壓力加大,企業所面臨的 IT 環境更為復雜,為了應對來自各方面的挑戰,企業需要更多的創新能力和業務靈活性。模塊化思想的出現,恰好可以幫助企業從根本上解決上述問題。模塊化思想不僅可以通過抽象、分解、層次化、封裝等科學方法對各種軟件應用以及軟件構件進行打包,提高企業的軟件重用水平;同時,業界根據軟件模塊化思想,提出了SOA 技術,通過對現有軟件系統以及各種軟件資源進行有效的整合和重用,使得企業能夠更好應對業務的靈活性要求。
參考文獻
[1] 李輝.軟件工程開發方法的現狀與展望[J].福建廣播電視大學學報,2011(03).
[2] 吳立國.軟件工程發展綜述[J].華章,2013(10).