從第一臺計算機研制成功以來,計算機技術就一直在突破,隨著現代科學技術的發展,現代信息化的普及,對計算機硬件、軟件的配置要求越來越高。完整的計算機系統包括了有計算機硬件、軟件、數據庫管理系統、數據庫管理員和用戶這五大部分。相對于硬件基礎配置的研發、生產而言,計算機軟件的研發需要高技術、高人才的支持。
1 計算機軟件
1.1 計算機軟件介紹
軟件和硬件都是計算機系統的重要組成部分,相對于硬件實體而言,軟件包含了程序、數據和相關文檔。當然這只是狹義的軟件的概念,廣義的軟件還包括技術、人才、制度支持。從它的概念上來講,軟件和硬件區別是很大的。軟件是抽象的集合體,不具有物理實在性 ;軟件的研發沒有明顯的制作過程,而是人才和技術的衍生品 ;軟件設計是非常復雜的,需要適應各行各業對計算機的需求,隨著社會、經濟的發展,這種需求矛盾就會不斷加大 ;軟件的開發對硬件和操作系統有嚴重的依賴性,因此它的研發也會受到一定限制 ;軟件不同一般產品的單一性功能,它既是研發的產品,同時又作為開發其他產品的載體和平臺,具有雙重角色,因此必須從軟件的研發與軟件的管理上把控,保證軟件研發的效率和質量。
1.2 軟件危機
軟件設計是異常復雜,需要人才和技術支撐,同時還要適應各行各業對計算機的需求,隨著社會、經濟的發展,這種需求矛盾就會不斷加大,就會深化軟件危機。
軟件危機具體指的是在計算機軟件前期研發和后期維護上遇到的難以徹底解決的問題 :社會、經濟發展對軟件的需求矛盾 ;不斷增長的軟件數量和難以與之配套后期維護的矛盾。
軟件危機具體有以下因素 :用戶的要求越來越高,經常對已研發產品不滿意 ;軟件開發管理不到位,進程緩慢,成本增加 ;一味追求軟件的高產量,軟件質量不過關,相應的后期維護難度加大 ;人才、技術投入成本提高??偟膩碚f社會、經濟發展對軟件的需求矛盾 ;不斷增長的軟件數量和難以與之配套后期維護的矛盾導致的日益深化的軟件危機除了軟件自身的原因之外,還與軟件開發、維護、管理的方法密切相關。
2 軟件工程
2.1 概要
計算機系統不斷發展,從最初的人工管理階段、文件系統階段、數據庫系統階段和現在的面向對象的數據庫管理階段 ;計算機網絡也從基礎網絡,到現階段的高速智能網絡,但是軟件研發和維護的兩大矛盾,即軟件危機還沒有得到有效解決,甚至在某種程度還有加深的趨勢。早在上世紀中期以后就提出了軟件危機的概念和試圖解決軟件危機的方法。1968 年,北約科技委員會就召開了大會,商議解決軟件危機的對策,并且第一次提出了“軟件工程”的概念。雖然軟件研發和維護的兩大矛盾,即軟件危機還沒有得到有效解決,甚至在某種程度還有加深的趨勢 ;但是在軟件工程提出開始,至今已經有 45年,還是取得了不錯的發展。
2.2 軟件工程的發展
工程,是用在條件不確定,資源受到約束的情況下采取結構化、系統性的方法進行需求設計。軟件設計是非常復雜的,需要適應各行各業對計算機的需求,隨著社會、經濟的發展,這種需求矛盾就會加大 ;還有開發與維護的矛盾都需要運用工程的概念去應對現有的軟件危機。軟件工程就是采用工程的概念、原理和方法對軟件進行開發、維護和管理,由此可知軟件工程主要包含了兩大方面的內容,軟件開發技術和軟件工程項目管理,其中管理就包含了后期維護。
軟件工程包含了以下基本原理 :軟件工程是結構化、可定量的工程,要分階段對軟件生命周期進行監控,嚴格管理 ;除了計劃嚴格管理之外,還有分階段進行評審,適時找到缺點并能夠改善 ;嚴格進行產品質量控制,不能一味追求產品的數量,要質、量兼顧 ;采用現代、先進的程序設計方法 ;整個軟件研發工程要組合清晰,減少軟件硬件和開發人員的依賴性 ;還要不斷改進軟件工程實踐,使工程化的方法更適應軟件的開發與管理。軟件前期研發與后期維護,以及整個項目的管理都需要關照軟件的生命周期。軟件生命周期是指從概念開始一直到最終軟件產品停止使用的整個周期,包括了有概念設計、需求分析、具體設計、軟件開發、軟件測試、安裝及使用、維護和最終停止使用的整個周期。
3 軟件生命周期的管理
3.1 項目管理
軟件項目管理包括的計劃制定和具體實施。在具體軟件項目進行之前,首先必須進行軟件設計計劃的制定,計劃是完成軟件研發的首要基礎 ;然后才是具體項目的實施與監管,要能根據具體情況,進行合理調整,使得項目取得最優化發展。
3.2 需求管理
軟件是為用戶研發的,沒有用戶的需求,就談不上軟件的開發與維護,因此必須要充分了解用戶的需求,使項目于用戶需求之間達到一個很好的平衡。
3.3 軟件具體研發管理
軟件具體研發包括軟件設計和軟件測試。軟件設計是軟件研發最重要的一部分,沒有具體的設計,就沒有產品的研發。
隨著計算機技術的發展,軟件設計方法也在不斷發展,現在主要有面向對象的程序設計和面向過程的結構化程序設計等,現有的設計方法也在不斷成熟發展,要根據具體的產品及用戶的需求選擇適合的方法。產品研發完成之后,不是馬上投入使用,還需要進行軟件測試。軟件測試可以發現軟件中的錯誤與疏漏,在軟件投入使用之前根據測試結果進行改正,那么就不會影響用戶的正常使用。
4 總結
社會、經濟發展對軟件的需求矛盾 ;不斷增長的軟件數量和難以與之配套后期維護的矛盾產生的軟件危機,在目前來說,雖然沒有得到徹底解決,但它不斷促使計算機軟件的發展與提升。
【參考文獻】
[1] 蔣明遠 . 關于軟件工程需求分析探究 [J]. 商場現代化 ,2010,\\(09\\)
[2] 劉征 . 軟件開發框架模型——現實世界的結構化分析 [J]. 電腦編程技巧與維護 ,2011, \\(04\\)
[3] 吳淑婷 . 軟件工程在國內的發展趨勢研究 [J]. 青春歲月 ,2012,\\(14\\)