同學們在看到軟件的時候,可能會想到WPS等辦公軟件,但是軟件還有更廣的應用。例如建造高樓大廈時,它內部的鋼筋配置已經不再需要工程師們辛苦的計算,取而代之的是由軟件工程師們設計的精妙程序,只需要設計者輸入建筑的參數,鋼筋的配置就由電腦完成了。在我們看來十分復雜的東西,通過電腦、軟件,輕輕松松就搞定了!“把繁雜、重復的事情交給計算機,使人得到更大的解放”,這是軟件工程師的能力。所以,今天小編準備“學習學習”這樣的能力,讓自己得到解放。快跟零點高三一起走近“軟件工程”專業吧!
一、專業概述
對于軟件工程的定義,尚沒有共識,不同學者與機構都有自己的定義,比較通用的是:軟件工程是研究和應用如何以系統性的、規范化的、可定量的過程化方法去開發和維護軟件,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。
而要細說軟件工程,就應從軟件的歷史說起。在軟件開發歷史上曾經歷了三個階段:圍繞硬件進行開發,規模很小的程序設計階段;硬件環境相對穩定,出現了“軟件作坊”的開發組織形式的軟件設計階段;軟件危機的產生,迫使人們不得不研究、改變軟件開發的技術手段和管理方法而到達的軟件工程階段。
軟件工程涉及程序設計語言、數據庫、軟件開發工具、系統平臺、標準、設計模式等方面。在現代社會中,軟件應用于多個方面。典型的軟件有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、數據庫、游戲等。同時,各個行業幾乎都要用到計算機軟件,如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,也提高了工作和生活效率。
二、師兄師姐學習經驗及建議
1. 學習本專業的體會
軟件工程,顧名思義就是一個和軟件開發相關的工科類專業,和傳統的計算機科學專業相比,軟件工程專業較偏向于工程及實踐,注重培養學生做工程及實踐的能力,不像計算機科學偏向于理論。但是并不意味著軟件工程不重視理論,相反,理論是一切工程的基礎,只有熟練掌握基礎的理論,才能將其付諸實踐。
軟件工程在專業課程設置上與計算機科學較為相似,基礎課程包括程序設計、數據結構和算法、離散數學、線性代數、數據庫、計算機組成原理、計算機網絡、操作系統等與計算機理論相關的課程。除此之外,還包括一些軟件工程特色課程,如軟件測試、系統分析與設計等培養系統工程化思維的課程。
既然和計算機相關,那么平時除了學習一些如高等數學等的公共必修課外,極大部分時間都會用在學習相關的專業課程上(如上)。而這些專業課程的一個共同點就是少不了一定量的編程。可以說,在課后的學習時間中,如果想把這個專業學好的話,需要投入80%的時間,因為除了學習課上的一些知識外,還要學習課上老師沒講但是在實際IT界非常流行的技術。
畢竟這是個日新月異的學科,知識的更新速度是很快的,在這里不妨提一下在大學十分重要的學習方法,就是需要自己不斷地學習課堂上沒講的知識。因為課堂上不會教給你具體的技術,知識教授了最重要的思想和方法(當然包括一些基礎,如編程知識),實際更多的技術還是要自己學習。
關于編程,對我而言,這是個充滿樂趣同時又充滿挑戰的事情。當你看到自己編寫的程序可以在計算機中計算微積分從而幫你做作業,當你看到自己搭建的個人博客成功上線,當你看到程序可以將圖片中的人臉識別出來的時候,心中會有無限的成就感和動力。但是,編程同時也要求有一定的邏輯思維和數學能力,畢竟計算機理論都是需要邏輯的,因此培養自己的邏輯思維能力也很重要。
關于專業相關的活動,其實有很多。如果你對算法感興趣,可以參加程序設計大賽,厲害的可以到世界各地與各國選手一決高下;如果你對軟件設計感興趣,可以參加一些軟件開發大賽,例如Google安卓手機軟件開發大賽等。
2. 大學四年的學習生活
先說說大一吧,那時剛學習編程,課程的作業和壓力很小,基本上除了完成作業外,還是有很多時間學習其他知識和參加其他活動的。有興趣的可以加入一些相關的計算機社團,和一些志同道合的同學一起研究技術,挖掘有意思的東西。
到了大二,逐漸地對這個專業有了更深的了解,同時相關的編程技術也有了一定的提升,這時也會萌生一些新的想法,想付諸實踐。這時就會和小伙伴參加一些小比賽,開發一些小的軟件,體會其中的樂趣,同時在這個過程中自己也得到很大的提升。而同時,專業課程也會相應地提高難度,需要花更多的時間和精力投入其中。
而且這一年也會逐漸接觸一些稱之為“Project”(項目)的東西,也就是老師布置的課程大作業。一般都需要將這門課學的知識融會貫通,然后開發一個軟件或者實現某個想法。在完成這些Project的過程中,會開始遇到困難,但是同時也漸漸學習了怎么運用Google等來進行搜索。還會對課上以及其他專業課上的知識有了更高的一層的理解。
大三,幾乎都是專業課了,而專業課難度更高,Project當然少不了,而且會接踵而至,通常一個星期有幾個Project要交。而這時,你會覺得學到的東西越來越有趣,想法也會越來越多,在Project上學到的也更多了。
在大三下學期,大多數都會參加騰訊等企業的實習,你需要開始對三年所學的知識做總結和回顧,對一些細微的知識點謹慎揣摩,開始投遞簡歷,筆試,面試,最后進入到實習中。大三除了面臨課程外,也要開始考慮畢業后的方向,有的出國,有的保研,有的直接工作。這就要求能對自己做好規劃,既不耽誤當前學習,也明確以后的方向。
3. 學習本專業后的能力提升
正如前面所說,本專業要求具有一定的數學能力和邏輯思維能力,還要有一定的動手解決問題的能力。但是對個人在這些方面的能力提升也有很大幫助,而這些能力,無論是對于以后的繼續深造還是就業都是一筆巨大的財富。
三、專家提醒
當今社會信息技術高速發展,計算機應用已經滲透到經濟與社會生活的方方面面。軟件產業的發展水平,從某種程度上來說,決定著一個國家的信息產業發展水平及其在國際市場上的綜合競爭力。因而,目前國內外對高素質軟件工程人才的需求均十分旺盛,并有需求逐年擴大之趨勢。