1. 軟體工程專業要學習什麼知識
培養目標:軟體工程專業培養面向國民經濟信息化建設和發展的需要,培養具有扎實的計算機應用理論和知識基礎,掌握軟體工程領域的前沿技術和軟體開發方法,具備較強的軟體項目的系統分析、設計、開發和測試能力,能夠按工程化的原則和方法從事軟體項目開發和管理的高級工程技術人才。 主要課程:離散數學、面向對象程序設計、數據結構、資料庫原理、操作系統、計算機網路、軟體工程、軟體過程與管理、軟體測試技術、軟體質量管理、軟體項目管理等。 畢業去向:軟體工程專業畢業生主要在信息產業和國民經濟部門從事信息系統研究、分析、設計、開發和測試以及軟體工程項目的組織和管理工作,也可考取計算機科學與技術專業的碩士研究生。 軟體工程專業是今後的熱門,就業前景非常好!目前軟體工程9個專業的內容和就業情況如下: 1 可視化編程 掌握程序設計方法及可視化技術,精通一種可視化平台及其軟體開發技術。獲取Delphi程序員系列、Java初級或VB開發能手認證。 就業方向:企業、政府、社區、各類學校等可視化編程程序員。 2 WEB應用程序設計 具有美工基礎和網頁動畫設計能力,掌握互動式網頁程序的設計技術,能進行網站建設和維護。獲取Macromedia多媒體互動設計師或Delphi初級程序員或Delphi快速網路開發工程師認證。 就業方向:企業、政府、社區、各類學校等WEB應用程序員。 3 軟體測試掌握軟體測試的基本原理、方法和組織管理,精通軟體測試工具。獲取ATA軟體測試工程師或Delphi初級程序員或Java初級程序員認證。 就業方向:企業、政府、社區、各類學校等軟體測試員。 4 資料庫管理 能應用關系範式進行資料庫設計,精通SQL語言,勝任資料庫伺服器管理與應用工作。獲取Oracle資料庫管理或SQL Server資料庫應用或Windows XP應用認證。 就業方向:企業、政府、社區、各類學校等部門的中、大型資料庫管理員。 5 圖形圖像製作 精通國際上流行的圖形/圖像製作工具(如CorelDraw、Photoshop、Pagemaker等)。獲取平面設計師相關的認證。 就業方向:廣告製作公司、建築設計公司、包裝裝璜設計公司、居室裝修公司、出版印刷公司。 6 網路構建技術 熟悉網路結構和組網方式,掌握建網方法,能利用工具分析和排除常見網路故障。獲取Cisco路由配置或華為網路工程或AMP應用工程師認證。 就業方向:企業、政府、社區、各類學校等網路構建工程師。 7 網路系統管理 掌握網路系統管理的基本知識與應用技能,能進行網路系統的安全設置。獲取Window2000 Server或TurboLinux TLCE或Cisco路由配置專家認證。 就業方向:企業、政府、社區、各類學校等網路系統管理員。 8 多媒體製作 具有多媒體程序設計與多媒體製作策劃的能力。基本掌握面向對象程序設計與建模、造型設計、場景設計、分鏡頭原理等技能。獲取多媒體設計師相關的認證。 就業方向:多媒體設計與製作公司、動畫美術製作出版公司、廣告製作公司。 9 計算機辦公應用 精通辦公自動化應用與管理,熟悉伺服器的安裝、管理和維護,基於應用伺服器的相關服務和軟體系統,具備對伺服器的網路安全設置、郵件、網頁發布、FTP、OA、BBS等系統的應用和維護能力。就業方向:企業、政府、社區、各類學校等系統管理
2. 軟體工程學什麼的
先學C,再學C++,然後學VB, 現在流行的是Java,然後還有asp,jsp,php等學編程從基礎做起!現在流行JAVA,可以直接學請一位好一點的老師,或找個學習班 ,我目前已經工作,平常主要是看蛙課網上的教程提升技能。
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
那程序到底是什麼呢?
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。
這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
(1)解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
(2)編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
這個問題其實很簡單。前面我們講到,程序是人與計算機進行溝通的唯一方式,因此我們要讓計算機為我們服務,就必須有程序,而程序從哪裡來?當然是由我們編寫出來了。或許你又會問到另一個問題:現在要什麼程序有什麼程序,我幹嘛還要編程呢?這你就錯了,現在的程序雖然很多,需要什麼樣的程序直接到網上不需要很長時間就可以找到類似的,而且有可能就是你所需要的。但是,就好比去買衣服,雖然賣衣服的到處都是,但是哪一件是為你「量身定做」的呢!
程序還能夠做很多事情不同的程序可以完成不同的事情。從大的方面到管理國家的財務,小的方面管理家庭的帳務。
又如,如果你想要你的計算機能播放動畫,那麼你的計算機中也要有相應的動畫播放程序,下面所示的就是一個F1ssh動畫播放器。我們將會在後面的章節具體講述這個程序的編制過程。
隨著計算機的飛速發展,總會有那麼一天將不會編程的人列為「文盲」。你不希望吧?那麼就好好的學習一種程序設計語言吧。
編程會過時嗎
編程會過時嗎?這個問題,讓我先問你一個問題:計算機會消失嗎?這兩者答案是一樣的。知道了計算機會不會消失,就知道了編程會不會過時。
編程工具會過時,而編程卻不會過時
計算機系統由可以看見的硬倒:系統和看不見的軟體系統組成。要使計算機能夠正常的工作,僅僅有硬體系統是不行的,沒有軟倒系統(即沒有程序)的計算機可以說只是—堆廢鐵,什麼事情都幹不了。例如當你撰寫—篇文章的時候,你需要在操作系統中用文字編輯軟體來實現文字的輸入,但如果沒有這些文字輸入軟體的話,你是否想過如何向計算機中輸入文章呢?很難想像出如何在一個沒有任何軟體的計算機(我們稱之為裸機)上進行文字的輸入。而這些軟體其實就是通常我們所說的程序。
編程會過時嗎?我們從另一個角度來考慮這個問題,計算機有——天會消失嗎?如果有一天當世界上所有的事情處理都用不到計算機了,那麼計算機將會很快的消失,那時編程不僅過時了,而且也會隨之消失了。但是計算機會消失嗎?當然不會,如今計算機應用到每一領域,為人類的發展做出了不可估量的貢獻。試想一下如果有一天全世界的計算機突然消失了,那麼這個世界將變成什麼樣子,或許和全世界都停電了一樣恐怖,甚至還會有更大的損失。計算機的存在必須要有軟體系統來維持。因此編程永遠不會、也不可能會過時。
計算機程序設計語言發展到今天,已經從最原始的機器語言發展到如今可視化的集成開發環境,甚至集多種語言在同一開發平台上,像微軟的NET平台。回頭看看程序設計語言的發展史,不難看出對於編程來說,只會出現編程工具的過時,不會出現編程本身的過時。
不斷變化的技術需要不斷變化的程序員
從二十世紀60年代以後,計算機得到了突飛猛進的發展。似乎歷史上沒有任何一門科學的發展速度超過了計算機的發展,無論硬體、軟體、還是網路都以驚人的速度向前發展。計算機的硬體發展速度遵循「摩爾定律」每十八個月速度翻一倍(實際現在已超過了這個速度)。軟體的發展速度和硬體一樣,二十世紀九十年代中國的軟體業還不是很成熟,而現在大大小小的軟體企業四處聳立,共享軟體網上隨處可見。不斷發展的技術需要不斷變化的程序員,例如,如今Visual Basic可以快速構Windows下的應用程序,程序設計方面的技術不斷發展著,不斷引進新的概念、新的方法,如從結構化的C開始,當面向對象的思想被提出後,出現了C++,微軟在C++的基礎上為使用戶構建win32應用程序更加方便,推出了Visual C++。這也就需要程序員也要不斷的更新自己的技術。
計算機科學與別的學科很不一樣,不像語言學、歷史學那樣,幾乎是永久不變的東西。計算機科學要求不斷的更新自己的知識,否則很快就會被淘汰,即便是編程亦是如此。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇 Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
三、我可以編程嗎
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
四、我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇 Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
一、計算機語言的發展過程
到目前為止,世界上公布的程序設計語言有上千種之多,常用的也有三十來種,為了有21於正確選擇和使用它們,下面我們做一個簡單介紹。
(1)匯編語言:
它是依賴於具體計算機的語言,用它編寫出的程序,執行效率高,但是只在一些特殊要求或特殊的場合才使用它。
(2)高級語言:
大家可能都聽過使用高級語言進行程序設計,但由於對其並不了解,所以總認為這些是很高深的東西。其實並非如此,學習了後面的章節,相信同學會產生編程原來不過如此。
但計算機是不懂得自然語言的(可以理解為高級語言),而高級語言設計出來的程序如何讓計算機去執行呢?其實很簡單,看了下圖後相信大家會明白許多。
現在我們就向大家介紹幾種常見的高級語言:
Fortran語言是科學和工程計算中使用的主要編程語言。目前國內使用版本多數是Fortran 66和Fortran77兩種。Fortran語言的主要缺點是不能直接支持結構化編程。
Cob0l語言是商業數據處理中廣泛使用的語言。由於它本身結構上的特點,使得它能有效的支持與商業處理有關的、范圍廣泛的過程技術。它的缺點是不簡潔。
Algol語言是所有結構化語言的先驅,具有豐富的過程和數據結構。但是,這種語言並沒有被廣泛採用,主要是由於它本身的歷史原因所造成的。
Basic語言是一種解釋執行的會話語言。由於它簡單易學的特點,它被廣泛應用在微型計算機系統中。
PL//1語言是一個用途廣泛的語言。能支持通常的科學工程和商業應用,能描述復雜的數據結構、多重任務處理、復雜的輸入輸出和表格處理等。
Pascal語言是70年代初期發展起來的結構化程序設計語言,具有特別豐富的數據結構類型。它自問世後,得到了眾人的贊賞,也得到了軟體開發者的廣泛支持。Pascal語言已用於科學、工程和系統程序設計中。我們教育部計算機專業教育會議曾把Pascal語言定為計算機專業程序設計語言。
C語言是作為UNIX操作系統的主要使用語言。由於UNIX操作系統的成功,現在C語言也得到了廣泛的使用。C語言是有經驗的軟體工程師設計的,它具有很強的功能,以及高度的靈活性。它和其他的結構化語言一樣,能提供豐富的數據類型、廣泛使用的指針以及—組很豐富的計算和數據處理使用的運算符。
C++語言是C語言的擴充。在1980年,貝爾實驗室的Bjarne Strotstrup博士及其同事開始對C語言進行改進和擴充,最初被稱為「帶類的C」,1983年才取名為C++。以及不斷完善和發展,成為目前的C+ +語言。一方面,它將C語言作為它的子集,使它能夠與C語言兼容。使許多C語言代碼不經修改就可以為C++語言所用以及用C語言編寫的眾多庫函數和和實用軟體可以直接用於C++語言中;另一方面。C++語言支持面向對象的程序設計這是它對C語言最重要的改進。
3. 軟體工程專業學什麼
軟體工程專業是計算機領域發展最快的學科分支之一,國家非常重視軟體行業的發展,對軟體人才的培養給予了非常優惠的政策。本專業培養掌握計算機軟體基本理論知識,熟悉軟體開發和管理技術、能夠在計算機軟體領域中從事軟體設計、開發和管理的高級人才。
軟體工程專業需要學:馬克思主義理論、大學外語、高等數學、大學物理、物理實驗、線性代數、概率論與數理統計、程序設計語言、數據結構、離散數學、操作系統、編譯技術、軟體工程概論等。
該專業除了學習公共基礎課外,還將系統學習離散數學、數據結構、演算法分析、面向對象程序設計、現代操作系統、資料庫原理與實現技術、編譯原理、軟體工程、軟體項目管理、計算機安全等課程,根據學生的興趣還可以選修一些其它選修課。
更多軟體工程的信息,可以到達內詳細了解。達內培訓集團將一直秉承誠信、創新、開放、合作的理念,主動承擔培養國家和社會需要的高質量應用型人才的責任,充分發揮研發實力、教學資源、資源整合等方面的優勢,促進學校虛擬模擬人才培養與職業教育的深度銜接,培養更多高素質技術人才,能工巧匠,助力國家與地方經濟的全面發展。 >>試聽軟體工程課程
4. 軟體工程學什麼
軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等方面。
在現代社會中,軟體應用於多個方面。典型的軟體有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、資料庫、游戲等。同時,各個行業幾乎都有計算機軟體的應用,如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,也提高了工作效率和生活效率 。
5. 軟體工程專業,主要學什麼就業方向
主要需要學的:
C++程序設計、java、python、高等數學、數據結構、演算法設計與分析、匯編語言程序設計、資料庫系統、軟體工程等。
就業方向:
編寫程序,做軟體開發。可以在政府機關,大型企業等做程序編寫,或者你也可以到華為等這種企業做軟體開發。如果是做編寫程序這種工作的話可能比較辛苦,要經常挨夜,不過待遇也不錯。
做軟體測試。軟體開發出來後需要通過測試是否存在漏洞,校正後才投放到市場上使用,這中間就需要做軟體測試。軟體工程畢業生也可以到軟體編寫企業去做軟體測試工作。
做數據管理。這主要做管理政府機構,學校,企業等單位的數據資料工作。這種工作相對輕鬆些,穩定些。
做多媒體製作。這主要到動畫製作公司,廣告製作公司就業。有相當一部分軟體工程畢業生會到這些單位工作。
到高校從事教學工作。到高校工作要比較高學歷,一般要求碩士以上學歷。許多高校軟體工程的教師就是軟體工程專業畢業的。
6. 軟體工程是學什麼的
軟體工程專業的主要內容是:軟體開發技術和軟體工程管理。
1、軟體開發技術包含軟體工程方法學、軟體工具和軟體開發環境;
2、軟體工程管理學包含軟體工程經濟學和軟體管理學。
7. 軟體工程專業都要學什麼
主幹學科:
馬克思主義理論、大學外語、高等數學、大學物理、物理實驗、線性代數、概率論與數理統計、程序設計語言、數據結構、離散數學、操作系統、編譯技術、軟體工程概論、統一建模語言、軟體體系結構、軟體需求、軟體項目管理。
該專業除了學習公共基礎課外,還將系統學習離散數學、數據結構、演算法分析、面向對象程序設計、現代操作系統、資料庫原理與實現技術、編譯原理、軟體工程、軟體項目管理、計算機安全等課程,根據學生的興趣還可以選修一些其它選修課。
實踐環節:畢業實習、課程設計、計算機工程實踐、生產實習、畢業設計(論文)。
軟體工程的目標是:
在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟體產品。追求這些目標有助於提高軟體產品的質量和開發效率,減少維護的困難。
(1)適用性:軟體在不同的系統約束條件下,使用戶需求得到滿足的難易程度。
(2)有效性:軟體系統能最有效的利用計算機的時間和空間資源。各種軟體無不把系統的時/空開銷作為衡量軟體質量的一項重要技術指標。很多場合,在追求時間有效性和空間有效性時會發生矛盾,這時不得不犧牲時間有效性換取空間有效性或犧牲空間有效性換取時間有效性。時/空折衷是經常採用的技巧。
(3)可修改性:允許對系統進行修改而不增加原系統的復雜性。它支持軟體的調試和維護,是一個難以達到的目標。
(4)可靠性:能防止因概念、設計和結構等方面的不完善造成的軟體系統失效,具有挽回因操作不當造成軟體系統失效的能力。
(5)可理解性:系統具有清晰的結構,能直接反映問題的需求。可理解性有助於控制系統軟體復雜性,並支持軟體的維護、移植或重用。
(6)可維護性:軟體交付使用後,能夠對它進行修改,以改正潛伏的錯誤,改進性能和其它屬性,使軟體產品適應環境的變化等。軟體維護費用在軟體開發費用中佔有很大的比重。可維護性是軟體工程中一項十分重要的目標。
(7)可重用性:把概念或功能相對獨立的一個或一組相關模塊定義為一個軟部件。可組裝在系統的任何位置,降低工作量。
(8)可移植性:軟體從一個計算機系統或環境搬到另一個計算機系統或環境的難易程度。
(9)可追蹤性:根據軟體需求對軟體設計、程序進行正向追蹤,或根據軟體設計、程序對軟體需求的逆向追蹤的能力。
(10)可互操作性:多個軟體元素相互通信並協同完成任務的能力。
以上內容參考:網路-軟體工程;網路-軟體工程專業