Ⅰ 軟體工程入門
《UML建模語言中文學習指南》《c語言程序設計與練習》清華大學出版社 譚浩強
Ⅱ 軟體工程的全部科目有哪些
軟體工程。包含兩個部分:軟體和工程。軟體是程序員做的,而工程是項目負責人管理、程序員實踐的。
軟體又包含兩部分:語法和演算法。語法,即要掌握某種編程語言。一般來講,要想工作中用的上,那麼面向過程的語言和面向對象的語言都得掌握。一般學C、C++、Java、Dephi等等。面向過程的程序比較好學,條目也很清晰。而面向對象的編程需要學兩方面的內容:語法本身和龐大的類庫。演算法,這是編程的靈魂。一般包括:數據結構和經典演算法。學無止境,一般性的工作話,掌握基本的就夠了,如果工作較復雜得多看看演算法方面的期刊。
工程。現代軟體越變越大,大型的編寫工作動不動就涉及萬人。工程的方法只是為了更好的組織、協調編寫過程。《軟體工程》本身就是一本書,很厚的。主要講軟體的生命周期,比較抽象和繁雜,但是規范的工作方式就是從這本書里來的。另外關注一些編程習慣的知識。這也是工程的一部分。
軟體只是計算機科學中的一種。所以,比如計算機基礎、計算機系統等等宏觀的知識也需要理解。特別是對於高級程序員,計算機運行的底層知識就更重要了。操作系統、80x86以及匯編語言是底層知識中的一部分。
軟體行業分工很多:網路編程、資料庫編程、應用程序編程、游戲編程以及操作系統編程等(中國似乎還沒有商業化的操作系統),研究任何一個都挺累人的。學習完上面的基礎知識後,就需要給自己選一個專業方向了。
建議一個學習流程。如果你什麼都沒有學。
1】計算機基礎知識。主要是硬體方面(大一水平)
2】同時,學習C語言,語法就夠了
3】透徹的理解C++需要用C語言去編寫一個圖形化的應用程序,但是,似乎也有一些直接上手的C++教材。學習語法,簡單的類庫。(現在就是大二的水平)
4】數據結構,C++表述的。《數據結構》的書裡面會有一些經典的演算法的。
5】操作系統、80x86與匯編(大三水平,大四幾乎沒有幾本書要念的。)
6】專業學習。一方面是專業上的知識,另一方面是類庫在專業上的使用。(我想,應該可以工作了,大學里關於這方面的知識是很淺薄的,僅僅建立一個概念而已。但是要拿來謀生的話,就需要學多點了,前面所有的積淀都是為了這個目標的)
先學著,自己有體會後,就能確定自己應該學到什麼程度。如果一切順利的話,大概兩年多一點就可以完成這個過程。
Ⅲ 大學的軟體工程……一個初學者
呵呵,我也是學軟體工程的,剛讀完大一,說說我的體會吧。軟體工程,重在研究和實踐。因為這是一門技術要求比較高的學科,如果在學習時不刻苦,只知道一點皮毛知識是不行的,而且這是公認的比較難學的專業,有歷屆學姐學長都感覺很難的幾門課目:計算機組成(大一下學的,學起來真的超級痛苦)以後還有計算機網路,操作系統的,都很難啊!!但主線是計算機語言,剛進來一般會學C++,建議先看看C++程序設計,以後可能會接觸JAVA,C#等,這個專業就業率很不錯的,就是要看自己的發展情況了,資薪上會因個人努力程度的不同而有很大差異,另外,此專業英語和數學都很重要,最好都要學好。
總結一下,可以用一個月看看C++,一定要早入門!!以後要學的數據結構是很重要的,一般是學基於C++的數據結構(反正我們是這樣的)進來後要好好研究啊,沒事多編程,只要肯鑽研,前途很光明啊!!祝你成功哈!
Ⅳ 軟體工程的幾個方向(專業)的區別急 急
java方向現在是最熱門的方向,也是工資較高,比較好就業的方向。稍微大型一點的應用軟體現在一般都採用java技術來實現,特別是現在的安卓手機應用非常火。
嵌入式開發通常是開發智能設備所需要,這個方向工作往往很穩定,職業前景很好,能做到越老越值錢,這是其他方向難有的。但入門門檻也相應較高。
.NET方向現在主要還是往C#方向走,往往能投入較少精力就能開發出較好的軟體,關鍵是很多東西都被微軟公司控制,這個方向日本來的外包項目很多,要學好日語才好就業。
Ⅳ 軟體工程入門學些什麼
這些日子,研究了下軟體工程專業的課程體系。
正巧遇到一些同學感覺迷茫,不知道該學些什麼。
那好,我就來從頭分析下,每個學期該學些什麼,看些什麼。
以下的分析主要討論實踐學習,至於理論學習和研究,留待以後分解。
第一學期
通過閱讀大量的C代碼,了解計算機程序設計方法和一般規則,為以後學習打下堅實的基礎。在計算機文化基礎部分,可以考慮學習網頁設計(最好是從HTML和JS開始,別直接用工具),C代碼可以找些開源項目的代碼片段閱讀。本學期除了課堂要求,最少要完成500行以上的代碼量,並在假期完成一個至少200行程序的小型程序。
專業課程
計算機文化基礎
課外學習
《深入理解計算機系統》
C語言
閱讀大量的C代碼
數字邏輯
第二學期
本學期是的專業課程不多,建議將大量的時間投入在數據結構和演算法上邊。C++同樣要閱讀和書寫大量的代碼。計算機組成原理是單片機和嵌入式方向的基礎,要將各功能電路部分完全看懂和活用,如果有機會做整機實驗(就是那個課程設計),一定要認真思考,另外,這個課程是考研課,考研的同學要認真了。數據結構是這個學期的重點內容,其核心是各種數據結構的特性,在演算法初步那部分,要認真對待排序和查找的內容,最好多做練習,這個也是考研課。另外,完全照搬和硬套某些演算法或者莫名其妙的使用某種數據結構來設計程序,是非常不理智和有害的,這樣做使得對問題的認識過程出現錯誤,而且將問題復雜化了。
專業課程
C++
課外學習
《C++ primer》
數據結構
《Thinking in C++》
計算機組成原理
《演算法導論》
《代碼大全》(第二版)
深入研讀《深入理解計算機系統》
第三學期
這學期的課程,可以說是軟體工程專業最為重要的了,在java部分,已經可以開始思考面向對象和設計模式的問題了。操作系統可以說是計算機科學與工程實踐之集大成者,其中大量的運用了數據結構、計算機組成原理等課程中學習的設計方法,包含了計算機工程實踐方面遇到問題時的解決方案,而且本身就是代碼閱讀的最好素材。能夠深入理解了計算機操作系統理論與實踐的人,想不牛都難。資料庫啊,這東西是以後大部分人混飯吃的看家本事了,重要性你看著辦吧,一定要多寫SQL啊。至於軟體工程這門課,就沖著你是軟體工程專業的學生也要學好啊。書本上的過程和方法不是寫著玩的,這可要想學好,不思考、不實踐可不行。
專業課程
Java
課外學習
《代碼閱讀》
操作系統
《Thinking in C++》
資料庫
《操作系統-設計與實現》
軟體工程概論
《linux 0.11內核完全解析》趙炯
《資料庫系統概念》
《統一軟體過程》
第四學期
本學期的專業課程壓力很大,計算機網路課程不是你上課聽講,寫個socket程序就能夠學好的。真正從事這方面實際工作的話,這裡面有相當多的工程問題,要慢慢的積累。當然《TCP/IP詳解》的第一卷和第三卷是不能少的,還有套《用TCP/IP實現網際互聯》也很不錯,另外思科的CCXX系列教程也是必讀的。網路的學習,不能夠光看應用層的東西,其歷史沿革、底層原理都是要看的。軟體體系結構這門課,是軟體架構設計的宏觀性的基礎課程,對於以後的軟體架構設計來說,是必不可少的。我個人建議大家在課余的時間多在網上看看(並且收集)一些著名的(或者在建設中的)軟體項目的設計文檔,對你以後的軟硬體架構設計很有好處,以後寫設計方案的時候,眼界也開闊很多。主流資料庫是上學期課程的升級版,不管課上學的什麼,大家至少要找台Oracal伺服器來配置、管理一下,最好把四大主流都試試(MS SQL Server, ORACLE, DB2, MySQL)。匯編與介面,是嵌入式的入門課程,大家要好好學習,多做實驗,具體的不多說了。軟體項目管理,使軟體工程專業最重要的管理類課程了,同樣,光研究理論是沒用滴,實踐啊!Team leader不好當啊。另外,我在寫一篇關於學生團隊項目管理方面的文章,還沒完成,這里就不多說了。
這學期在學習的同時,還要關注一些項目管理類的課外書籍,多多益善啊。畢竟大部分人都不可能做一輩子程序員的。
專業課程
計算機網路
課外學習
《TCP/IP詳解》
軟體體系結構
《Thinking in C++》
主流資料庫
《人件集》《人月神話》《最後期限》
匯編與介面技術
《程序開發心理學》
軟體項目管理
《設計模式》四人幫那本
第五學期
Dot Net這東西啊,毀譽參半啊。Dot Net這東西,你要是練成了Code Copyer那你基本就是個編程匠了,而且還很臭。人家微軟不是讓你RAD之後就不管架構了,這點一定要注意。編譯原理這課,學起來有點枯燥,但是這裡面很多方法還是很有用處的,而且像形式語言部分就是很多研究工作的基礎內容。其他的課程不多說了。
這學期,就多學習一下自己感興趣的方向吧,畢竟下學期就分方向了,然後就是實習、就業,時間不多了。
專業課程
MS Dot Net
課外學習
《敏捷軟體開發:原則、模式與實踐》
編譯原理
《解析極限編程:擁抱變化》
面向對象&UML
《計算機軟體測試》
軟體質量保證與測試
系統分析與解決方案
圖像處理
第六學期
實習就業,迫在眉睫,自己看著辦吧,畢竟我說什麼大家也不相信,一個個都很牛了。
專業課程
J2EE
課外學習
《方向課讀物》
ERP方向
移動計算方向
嵌入式方向
好咧,終於寫完了。
這個課表可能會發生變化,這是以05級的課表為參考寫成的。如有變化,自己看著調整。計算機學院的同學也可以參考。
寫了這么多,希望對大家有所幫助!
Ⅵ 軟體工程要學什麼基礎課
軟體工程專業課程設置分為六大類,依次為公共基礎課、專業基礎課、專業課、專業選修課、集中實踐課和課外實踐課。
專業基礎課主要有:面向對象程序設計、計算機電路、數據結構、工程數學、離散數學、資料庫系統概論、軟體集成開發環境、計算機組成原理與實驗、工程設計導論、匯編語言、操作系統與實驗、計算機網路、軟體工程、軟體工程專業英語、編譯原理與實驗、系統分析與設計和軟體質量保證與測試等課程。
專業課分為四個方向:動漫與數字媒體藝術方向、資料庫應用技術方向、嵌入式軟體技術方向和網路與通信軟體技術方向。
動漫與數字媒體藝術方向專業課主要有:計算機平面設計、數字媒體藝術概論、構成基礎、三維動畫-MAYA和Flash AS 程序設計等課程;
資料庫應用技術方向專業課主要有:MySQL 資料庫設計與應用、SQL Server 資料庫設計與應用、XML基礎、大型資料庫開發與應用和數據倉庫等課程;
嵌入式軟體技術方向專業課主要有:嵌入式操作系統、嵌入式微處理器結構與應用、Android應用程序開發、嵌入式Linux程序設計和WinCE應用程序開發等課程;
網路與通信軟體技術方向專業課主要有:通信原理與技術、網路規劃設計、WEB 編程技術、網路操作系統和網路信息安全等課程。
Ⅶ 學習軟體工程要有什麼學科基礎
最近很多人都在問如何學習編程。我覺得學習編程最重要的是入門,如果你入門的時候有一個好的方法和思路,打下比較扎實的基礎,對今後的編程工作是很有益處的。即使在學習新的編程語言也無所謂,因為它們有很多相通之處,可以相互借鑒。
我認為可以先學習一下pascal,這個語言比較嚴謹,適合初學者。pascal它被稱為教學語言,結構嚴謹,不像C語言那麼靈活,易於理解和學習。 然後可以繼續學習C語言,這個語言比較靈活。有了pascal的基礎,在進行C語言編程就不會因為C語言的靈活而有問題 。後面的就可以學習VC什麼的了。
C語言的書推薦譚浩強的,比較好。
我當時學習pascal和C語言的時候是將書後的習題都做了一遍,感覺效果很好。
當然了,學習什麼語言也要看你具體准備從事什麼行業。例如你要進行嵌入式開發,C就是很好的選擇,如果是Windows開發,那麼VC就不錯。還有資料庫方面的開發、網路開發等等。不同的語言適合不同的方面。要看自己的選擇的,呵呵 。
還有很多人說自己的基礎很差,甚至中學畢業什麼的。其實這個並不重要,比較說英語,在計算機語言里所用到的單詞量很少,而且都是常用詞,經常使用就記住了。當然,如果你要看原文資料或者幫助的話,專業詞彙比較多,不過在金山詞霸的幫助下,經常看,也是沒什麼大的問題的。至於數學什麼的,其實數學只是培養你一個邏輯思維能力,在初學編程的時候影響不是很大。況且,作為一個基礎編程人員來說,上面還有系統分析師、項目經理,他們會把需求分析、概要設計和詳細設計做好的,你只要按照文檔寫代碼就OK了。不過,要上更上一步的話,其他基礎知識就非常重要了,畢竟你不能寫一輩子代碼。
在你學習好C語言以後,個人建議好好學習一下數據結構和軟體工程。這兩門對你的水平提高都是很有幫助的。特別是軟體工程,它能夠使你按照科學的工程方法進行軟體開發,對今後的發展很有好處。
只是一家之言,有不到之處,還望見諒!
參考資料:http://hi..com/deathdog/blog/item/de92046eea406dde81cb4ab4.html
Ⅷ 軟體工程要學什麼課程
主幹學科:馬克思主義理論、大學外語、高等數學、大學物理、物理實驗、線性代數、概率論與數理統計、程序設計語言、數據結構、離散數學、操作系統、編譯技術、軟體工程概論、統一建模語言、軟體體系結構、軟體需求、軟體項目管理。
該專業除了學習公共基礎課外,還將系統學習離散數學、數據結構、演算法分析、面向對象程序設計、現代操作系統、資料庫原理與實現技術、編譯原理、軟體工程、軟體項目管理、計算機安全等課程,根據學生的興趣還可以選修一些其它選修課。
實踐環節:畢業實習、課程設計、計算機工程實踐、生產實習、畢業設計(論文)。
培養要求:
本專業是培養適應計算機應用學科的發展,特別是軟體產業的發展,具備計算機軟體的基礎理論、基本知識和基本技能,具有用軟體工程的思想、方法和技術來分析、設計和實現計算機軟體系統的能力。
同時,各個行業幾乎都有計算機軟體的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。
Ⅸ 軟體工程一般要學什麼
軟體工程
軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等方面。
在現代社會中,軟體應用於多個方面。典型的軟體有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、資料庫、游戲等。同時,各個行業幾乎都有計算機軟體的應用,如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,也提高了工作效率和生活效率 。
網路工程
網路工程是指按計劃進行的以工程化的思想、方式、方法,設計、研發和解決網路系統問題的工程。培養掌握網路工程的基本理論與方法以及計算機技術和網路技術等方面的知識,能運用所學知識與技能去分析和解決相關的實際問題,可在信息產業以及其他國民經濟部門從事各類網路系統和計算機通信系統研究、教學、設計、開發等工作的高級網路科技人才。
信息安全
息安全主要包括以下五方面的內容,即需保證信息的保密性、真實性、完整性、未授權拷貝和所寄生系統的安全性。信息安全本身包括的范圍很大,其中包括如何防範商業企業機密泄露、防範青少年對不良信息的瀏覽、個人信息的泄露等。網路環境下的信息安全體系是保證信息安全的關鍵,包括計算機安全操作系統、各種安全協議、安全機制(數字簽名、消息認證、數據加密等),直至安全系統,如UniNAC、DLP等,只要存在安全漏洞便可以威脅全局安全。信息安全是指信息系統(包括硬體、軟體、數據、人、物理環境及其基礎設施)受到保護,不受偶然的或者惡意的原因而遭到破壞、更改、泄露,系統連續可靠正常地運行,信息服務不中斷,最終實現業務連續性。
信息安全學科可分為狹義安全與廣義安全兩個層次,狹義的安全是建立在以密碼論為基礎的計算機安全領域,早期中國信息安全專業通常以此為基準,輔以計算機技術、通信網路技術與編程等方面的內容;廣義的信息安全是一門綜合性學科,從傳統的計算機安全到信息安全,不但是名稱的變更也是對安全發展的延伸,安全不在是單純的技術問題,而是將管理、技術、法律等問題相結合的產物。本專業培養能夠從事計算機、通信、電子商務、電子政務、電子金融等領域的信息安全高級專門人才。