前言:尋找寫作靈感?中文期刊網用心挑選的計算機軟硬件發展的軟件工程知識體系,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:計算機硬件的性能直接決定著計算機的性能,現在的計算機經歷了電子計算機、晶體管計算機、集成電路時代以及大規模集成電路時代,計算機今后的發展則與軟件的發展有關,軟件的發展決定計算機所能發展的高度。介紹了計算機硬件發展情況,對軟件工程部分重要體系進行了描述,并對當前軟件工程學科實踐情況進行了分析,探討了軟件工程的發展方向以及未來的發展趨勢。
關鍵詞:計算機硬件;軟件工程體系;軟件工程學科;可發展方向
當今的計算機硬件系統結構還是依靠的是馮諾依曼機,硬件開發經過了很長的一段時間之后,4個重要階段分別是擁有著計算機硬件經驗的計算機:計算機晶體管,大型的集成電路,大規模和超大規模集成電路時代,而如今集成電路的發展已經接近尾聲,需要突破新的技術,而處于核心地位的軟件是計算機的靈魂,是計算機應用的關鍵,計算機的發展突破則可以從計算機軟件上進行創新,以現有的硬件設施能更好地支持軟件的開發,所以創立軟件工程知識體系對服務用戶能起到很好的作用,還能滿足軟件工程開發的各個階段要求的工作。軟件開發過程中需要滿足開發,開發之后要能夠運行,運行后要滿足有問題需要維護的3個階段。它們包括了從設計、編寫代碼,各類測試、以及用戶確認驗收和開發后的維護工作。軟件工程課程更多的是偏向于應用軟件以及設計軟件,比較注重實操,同時軟件工程實踐教學對項目的實踐是至關重要的,不僅要學習文化方面知識,更要注重實踐教學質量,這些對培養優秀的畢業生有很大的關系。
1軟件工程的發展
1.1軟件工程學科確立
20世紀60年代末,計算機程序逐漸演變為了大型大規模的應用,從而在軟件的開發上產生了高額的費用,越來越多的人都非常依賴用軟件開發后的產品。一款好的軟件產品能提高人們的工作水平,也讓人們在應用領域上的一些研究與操作變得更加的輕松便捷。雖然程序的范圍化后產生了許多成就,但是很多軟件產品在開發的過程中在時間與質量上產生了很多問題。主要原因是:軟件產品不是簡單開發就能完成的,而是有很多復雜的小項目,具有隱蔽性和變異性,對一些問題的處理變得異常苦難。自己或團隊開發的小方向的編程和過程并不是非常有效并且難以發揮在開發大型和復雜的系統。在20世紀80年代末90年代初,大規模集成電路的時代,硬件常常在電路中使用。在單主機計算模式中,占領主要位置的是瀑布模型的開發過程以及結構式過程語言編程泛型。軟件周期合理的處理以及相應的軟件開發規范,讓人們開發軟件變得更加的方便,使得軟件工程在大規模集成電路時代得到飛速增長。軟件工程開發使用瀑布模型使得軟件生命周期的各個階段得到了深入的研究和多層次的發展,奠定了軟件工程學科的基礎。2004年8月,當時數百位各個軟件行業的專家通過軟件開發實踐以及軟件工程的理論研究最終推出了軟件工程知識體系,軟件工程教育知識體的最終版本(SEEK),象征著軟件工程學科成立為一個新的學科,在本科教育的水平上,軟件工程以及各類計算機方向的工程學科都相應地迅猛發展,成為具有專業特點的獨立學科。
1.2軟件工程體系
軟件工程組成結構中最重要的是軟件需求的獲取,需求決定了后序軟件該如何設計,并且如何編寫代碼,其中結構中還有測試和維護階段等。
(1)軟件分析
軟件分析由需求分析,以及對軟件邏輯上是否行得通的可行性分析組成。軟件需求分析是要合理地理解需求方的需求,要求你用軟件去實現什么功能,并且在需求分析的時候要清除一些邏輯上的錯誤,將軟件如何用編程語言實現的一個過程。系統的可行性分析是通過需求調查確定系統是否可行且在邏輯上無誤。
(2)軟件設計
系統設計主要包括了概要設計和詳細設計。實際上,軟件設計是要將每一個功能都劃分成一個個的版塊。概要設計是對軟件的整個結構框架進行一個大概的設計,是為了設計出軟件的各功能模塊。詳細設計是針對軟件中的一些算法實現以及程序流程圖的詳細走向,其次要是要設計數據庫來對軟件進行數據的存儲,一般來說都是結構化編程。
(3)軟件構造
系統編碼是指用計算機可以接受的語言如匯編語言,再者如高級的編程語言,當下流行的Java、C++等,即用編程語言編寫的“源列表”。
(4)軟件測試
系統測試的結果是發現錯誤,而不是很多程序人員以為的去測試程序是否符合期望。測試并不是只有測試階段才會有的,從軟件開發的第一步就已經開始,如H模型一樣整個生命周期內的每一個階段都會進行測試,這樣才會使得后續的步驟中不會有過多的錯誤出現,是提高軟件高質量的一個重要工作。
(5)軟件維護
系統維護在軟件開發后用戶確認驗收以后對軟件產品中未來會出現的一些錯誤及反饋進行及時的修改。在軟件產品運行一個階段后,用戶可能會要求更多的功能或需要對產品進行稍微的改變,用來滿足新要求,對程序中出現的一些BUG進行修改,并且記錄每次的修改的情況,更新產品維護文檔從而修改軟件也使得其他程序員易懂。在實際開發過程中,軟件開發不是一蹴而就的,而是在之前完成的階段中,通常會返回到前面的開發過程進行檢查。在測試后假如有一些問題需要修改的話,用戶和程序開發者可能會在過程中經過訪談后提出一些功能更改的需求。在一般情況下,軟件開發設計和實現,是開發系統的過程中的一個鏈條,最重要的是軟件的分析和設計。軟件分析完整了,就能減少后面修改的變化;軟件設計得更完善了,軟件才會變得穩定并且擁有魯棒性。因此它們通常就決定了軟件產品的好壞以及生命質量。并且,打造一個優良的開發團隊以及制定好完善的制度是一個優秀軟件開發的必備因素。
1.3軟件工程實踐教學
在我國,有句老話:“工欲善其事,必先利其器。”軟件工程實踐教學亦是如此。想要在實踐中的教學取得好的成功,教學的安排上就要因地制宜。在現在的大學軟件工程的專業技術課堂上,已經可以改進到從之前的先理論后實踐的方法到理論與實踐結合授課,這樣學生能夠更好地接受到知識的應用。同時,講師在授課時應注意使用實際舉例來引起學生對編程的興趣,題目不宜過易,否則會讓學生覺得枯燥無味,而題目亦不宜過難,否則會讓學生感到打擊。興趣是學習的老師,一定要培養起興趣再進行教學任務。也要注重實踐的考核,評估才能突出課堂質量的好壞,才能有力地證明實踐效果。監督學生的課后實踐作業情況,要讓學生認真完成實踐任務。
2發展方向
近年來,云計算、大數據、區塊鏈等高新技術如雨后春筍般出現,軟件產業也朝著優先集中于網絡與服務的方向發展。它不僅在生活中增強了與其他行業的關聯,而且融入了社會生活的各個方面,強烈地刺激了人們對軟件技術的新消費向往?,F如今共享系列產品越來越豐富,其中的公共數據得到了很好的利用,大量的數據流促進了各個共享技術的應用,并且對信息化高速發展而言,這樣的大數據會在信息化發展中具有更深層次的價值。在智慧城市的建設中,問題的核心是能夠拿出一個開放的數據資源,目前,許多城市之中許多開放的數據將不斷融入進各個軟件產品之中,從而使得城市農村都變得更加智慧智能化。巨大的數據量將形成一個具有關聯性的平臺,進一步推動中國在軟件互聯方向的創新。互聯網+在當下是一個非常火的詞語,與各行各業都都能進行關聯,如互聯網金融、互聯網醫療、網絡汽車等。“十三五”期間,互聯網經濟大力發展,更多的人開始從事軟件相關專業,進行軟件開發,逐漸龐大的業務規模,更多的軟件產品開始合并成為新的技術或新產品。今后的軟件行業智能化是一個大話題,將會陸陸續續地走向人們的生活,并且當前的5G技術也逐步地在開展研究,高智能高產業化高服務的軟件將會應運而生,不斷取代落后的技術。
3結語
軟件工程專業在如今時代迅猛發展,隨著當前國民經濟的大力發展下,軟件工程學科不斷地轉變為應用型實踐類學科,軟件專業有著強大的生命活力并且長時間不會衰退,但同時軟件專業人才的增多,會加大就業競爭的壓力。同時社會對實踐型人才的需求量隨著發展也會逐漸加大,所以教學必須要緊跟當前互聯網態勢下的發展趨勢,找到因地制宜的對自己合理的發展方向。同時,軟件工程未來可向行業化、移動化發展,以及向人工智能方向進行研究,將軟件設計開發以及數據管理運用到人工智能中,將來的重點研究應在人工智能方面,如現在的智能機器人及無人駕駛汽車都還在不斷的實踐中,急需更多的更高素質的軟件專業人才加入到智能的研究中,這一定是個非??尚形磥碇攸c領域,同時還有云計算大數據等領域成為了市場投資重點,這些都是未來的熱門研究領域。不久的將來,軟件行業會不斷完善發展體系,對各個研究領域會有持續的細化。
參考文獻
[1]重慶郵電大學.軟件工程導論[S].重慶:重慶郵電大學,2017.
[2]于啟紅.淺析應用型本科院校軟件工程專業人才培養[J].軟件工程,2016,19(10):54-56.
[3]王志和,戴經國,王新輝.軟件工程課程教學的研究與實踐[J].電腦編程技巧與維護,2009,(20):127-128.
[4]韓中元,雷國華,李軍,等.應用型本科軟件工程人才培養模式的探索與實踐[J].計算機教育,2010,118(10):26-29.
[5]陳資燦.中國軟件產業的未來發展趨勢[J].價格月刊,2000,(10).
作者:柯采 單位:重慶郵電大學軟件工程學院