軟件開發(fā)需要學什么
長春軟件開發(fā)是需要具備哪些能力?
(1)邏輯思維能力,包括數(shù)學的邏輯思維能力,因為軟件開發(fā)是一門邏輯能力要很強的專業(yè)。
(2)良好的語言表達能力和溝通能力
這是軟件開發(fā)工程師應(yīng)該具備的一個很重要的素質(zhì),因為軟件工程師是為用戶開發(fā)軟件,經(jīng)常需要面對客戶。
(3)獨立思考能力,動手能力
學習的各個知識點和思維都需要自己去自己去練習才能鞏固,學校老師最怕的一種學生就是學習了知識及技能只停留在書本或者課堂上的理解,而不去實踐去操作,只有在動手的過程中你才會不斷發(fā)現(xiàn)問題,然后解決問題,這樣的反復。才能提高自己的編程能力,這樣你才能成為一個真正意義上程序員。
(4)過硬的心理素質(zhì)
軟件開發(fā)工程師在實際的軟件開發(fā)過程中,各種不可預料的情況隨時可能發(fā)生:需求來回修改,工期突然發(fā)生變更甚至很多個人生活的很多情緒都會參雜進來,因此軟件開發(fā)工程師可能需承受巨大心理壓力。開發(fā)軟件本身就是一項艱苦的腦力和體力勞動,軟件工程師開發(fā)成功一個軟件,要經(jīng)過反復修改,要花費大量的進間和精力,一個軟件工程師如果沒有過硬的心理素質(zhì),他就很難排除干擾、穩(wěn)定情緒的按照嚴格的規(guī)范實施一個成功的軟件項目。
軟件設(shè)計需要學什么---在學校
不論你學的是vb、java、C、C++、C#你都要學習下面的東西,這些在學校都是開有專門的課程的。
1、計算機硬件原理:了解硬件怎么工作,知道軟件是怎樣在硬件上工作的,CPU架構(gòu),指令,怎么做運算,內(nèi)存如何工作,內(nèi)容地址是怎么回事,硬盤如何存儲,數(shù)據(jù)和指令如何通過電路和元器件轉(zhuǎn)化成電流和脈沖,可能需要數(shù)據(jù)電路的原理。無論從事計算機哪方面,比如網(wǎng)絡(luò)、軟硬件,這個原理都必須精通。因為計算機技術(shù)是很抽象的,但是在現(xiàn)實和具象上是依賴硬件。
2、操作系統(tǒng)原理:在了解了硬件原理后,了解操作系統(tǒng)是怎么工作的。因為所有的軟件都是基于操作系統(tǒng)的,而操作系統(tǒng)本身也是一個軟件。這些結(jié)合硬件來理解,就更容易了。
3、編譯原理:了解軟件從源文件到目標文件,到執(zhí)行的全過程。如果有必要,其中的東西也要專門買書去研究。這樣代碼上不容易犯錯誤。了解了硬件原理和操作系統(tǒng)原理的基礎(chǔ)上,了解編譯原理也就比較簡單。當然每種語言編譯過程都不一樣,但是原理都是基本相同
4、數(shù)據(jù)結(jié)構(gòu)和算法分析:好的算法,事半功倍,此外可能還要補一些高中數(shù)學、高等數(shù)學的知識。
以上每部分,都要至少1-2個月或者150個小時以上的鉆研,要做到基本掌握。如果不掌握以上部分,不是說學不了軟件,但是如果想學精通,想比一般人強,是不可能的,因為你只知道怎么做,但是為什么這樣做不清楚,就是死記硬背了,反反復復的記憶效率也很差。
一般學校每種都會教(只是入門),精通主要看就業(yè)和自學。