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