軟件工程專業(yè)大學排名情況(2)
軟件工程專業(yè)大學排名情況
軟件工程就業(yè)前景
競爭力看的是你自己的能力,像軟件工程這種專業(yè)性很強的專業(yè),只要你學好了軟件技術就業(yè)還是很容易的,而且工資相當高,好點的公司都有7000+,前提是學好了!!但是如果可以選擇的話并不推薦軟件工程這個專業(yè),因為做軟件并不是每個人都適合的,拿我們班的情況來說吧,46個人都非常厭惡編程,軟件學起來不僅困難而且無聊,最終選擇軟件行業(yè)的也就幾個人而已。。每天工作必須得面對電腦,一天受到10幾個小時的輻射是非常不利健康的。很容易造成精神上的疲勞,跟肉體的疲勞不一樣,身體累了休息一下就行,同時還有鍛煉身體的效果,如果精神上壓力大了就不是那么容易恢復的了,而且程序員整天坐在電腦前沒有運動非常容易患上職業(yè)病,種種條件表明程序員工作在亞健康的環(huán)境下,而且這是沒有辦法改變的環(huán)境。當然軟件工程這個行業(yè)可以說是當今社會最公平的一個行業(yè)了,沒有所謂的潛規(guī)則,它不在乎你的出生,無論什么學校畢業(yè)的只要你有能力,技術強硬就絕對能找適合你的工作,不過這是一個需要長期學習的工程,需要做好長期學習的準備。如果你不具備勤奮好學的性格的話那就最好不要選擇這個行業(yè)了,因為學習的過程是很枯燥的,看不盡的代碼,沒日沒夜的加班,進度的壓力都是程序員必須面對的。軟件行業(yè)和其他的行業(yè)一樣,有處于最底層的拿著微薄的工資,干著最累的活的程序猿,也有做著設計拿著高薪的高級工程師。如果選擇做軟件那就需要靜下心來學習好專業(yè)知識,將來在你畢業(yè)的時候大部分公司招聘都是考的你基礎知識而不是什么流行技術。在大學4年要做到精通一門語言同時也得了解其他的優(yōu)秀編程語言,如果能在大學期間擁有一些項目經驗對以后的求職是非常有幫助的。
軟件工程詳情介紹
工程定義
軟件工程一直以來都缺乏一個統(tǒng)一的定義,很多學者、組織機構都分別給出了自己的定義。
BarryBoehm:運用現代科學技術知識來設計并構造計算機程序及為開發(fā)、運行和維護這些程序所必需的相關文件資料。
IEEE:在軟件工程術語匯編中的定義:軟件工程是:1.將系統(tǒng)化的、嚴格約束的、可量化的方法應用于軟件的開發(fā)、運行和維護,即將工程化應用于軟件;2.在1中所述方法的研究
FritzBauer:在NATO會議上給出的定義:建立并使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法。
《計算機科學技術百科全書》:軟件工程是應用計算機科學、數學、邏輯學及管理科學等原理,開發(fā)軟件的工程。軟件工程借鑒傳統(tǒng)工程的原則、方法,以提高質量、降低成本和改進算法。其中,計算機科學、數學用于構建模型與算法,工程科學用于制定規(guī)范、設計范型(paradigm)、評估成本及確定權衡,管理科學用于計劃、資源、質量、成本等管理。
比較認可的一種定義認為:軟件工程是研究和應用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。
ISO 9000對軟件工程過程的定義是:軟件工程過程是輸入轉化為輸出的一組彼此相關的資源和活動。
主要內涵
一、軟件工程過程是指為獲得軟件產品,在軟件工具的支持下由軟件工程師完成的一系列軟件工程活動,包括以下四個方面:
1、P(Plan):——軟件規(guī)格說明。規(guī)定軟件的功能及其運行時的限制。
2、D(DO)——軟件開發(fā)。開發(fā)出滿足規(guī)格說明的軟件。
3、C(Check)——軟件確認。確認開發(fā)的軟件能夠滿足用戶的需求。
4、A(Action)——軟件演進。軟件在運行過程中不斷改進以滿足客戶新的需求。
二、從軟件開發(fā)的觀點看,它就是使用適當的資源(包括人員,軟硬件資源,時間等),未開發(fā)軟件進行的一組開發(fā)活動,在活動結束時輸入(即用戶的需求)轉化為輸出(最終符合用戶需求的軟件產品)。
三個階段:定義階段:可行性研究初步項目計劃、需求分析;開發(fā)階段:概要設計、詳細設計、實現、測試;運行和維護階段:運行、維護、廢棄
原則:1、抽象;2、信息隱蔽;;3、模塊化;4、局部化;5、確定性;6,一致性;7、完備性;8、可驗證性
軟件工程學科信息
1問題定義
問題定義階段必須回答的關鍵問題:“要解決的問題是什么?”如果不知道問題是什么就試圖解決這個問題,顯然是盲目的,只會白白浪費時間和金錢,最終得出的結果很可能是毫無意義的。盡管確切地定義問題的必要性是十分明顯的,但是在實踐中它卻可能是最容易被忽視的一個步驟。
通過問題定義階段的工作,系統(tǒng)分析員應該提出關于問題性質、工程目標和規(guī)模的書面報告。通過對系統(tǒng)的實際用戶和使用部門負責人的訪問調查,分析員扼要地寫出他對問題的理解,并在用戶和使用部門負責人的會議上認真討論這份書面報告,澄清含糊不精的地方,改正理解不正確的地方,最后得出一份雙方都滿意的文檔。
問題定義階段是軟件生存周期中最簡短的階段,一般只需要一天甚至更少的時間。
2可行性研究
這個階段要回答的關鍵問題:“對于上一個階段所確定的問題有行得通的解決辦法嗎?”為了回答這個問題,系統(tǒng)分析員需要進行一次大大壓縮和簡化了的系統(tǒng)分析和設計的過程,也就是在較抽象的高層次上進行的分析和設計的過程。
可行性研究應該比較簡短,這個階段的任務不是具體解決問題,而是研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法。
在問題定義階段提出的對工程目標和規(guī)模的報告通常比較含糊??尚行匝芯侩A段應該導出系統(tǒng)的高層邏輯模型(通常用數據流圖表示),并且在此基礎上更準確、更具體地確定工程規(guī)模和目標。然后分析員更準確地估計系統(tǒng)的成本和效益,對建議的系統(tǒng)進行仔細的成本/效益分析是這個階段的主要任務之一。
可行性研究的結果是使用部門負責人做出是否繼續(xù)進行這項工程的決定的重要依據,一般說來,只有投資可能取得較大效益的那些工程項目才值得繼續(xù)進行下去??尚行匝芯恳院蟮哪切╇A段將需要投入要多的人力物力。及時中止不值得投資的工程項目,可以避免更大的浪費。
3需求分析
這個階段的任務仍然不是具體地解決問題,而是準確地確定“為了解決這個問題,目標系統(tǒng)必須做什么”,主要是確定目標系統(tǒng)必須具備哪些功能。
用戶了解他們所面對的問題,知道必須做什么,但是通常不能完整準確地表達出他們的要求,更不知道怎樣利用計算機解決他們的問題;軟件開發(fā)人員知道怎樣使用軟件實現人們的要求,但是對特定用戶的具體要求并不完全清楚。因此系統(tǒng)分析員在需求分析階段必須和用戶密切配合,充分交流信息,以得出經過用戶確認的系統(tǒng)邏輯模型。通常用數據流圖、數據字典和簡要的算法描述表示系統(tǒng)的邏輯模型。
在需求分析階段確定的系統(tǒng)邏輯模型是以后設計和實現目標系統(tǒng)的基礎,因此必須準確完整地體現用戶的要求。系統(tǒng)分析員通常都是計算機軟件專家,技術專家一般都喜歡很快著手進行具體設計,然而,一旦分析員開始談論程序設計的細節(jié),就會脫離用戶,使他們不能繼續(xù)提出他們的要求和建議。較件工程使用的結構分析設計的方法為每個階段都規(guī)定了特定的結束標準,需求分析階段必須提供完整準確的系統(tǒng)邏輯模型,經過用戶確認之后才能進入下一個階段,這就可以有效地防止和克服急于著手進行具體設計的傾向。
4總體設計
這個階段必須回答的關鍵問題是:“概括地說,應該如何解決這個問題?”
首先,應該考慮幾種可能的解決方案。列如,目標系統(tǒng)的一些主要功能是用計算機自動完成還是用人工完成;如果使用計算機,那么是使用批處理方式還是人機交互方式;信息存儲使用傳統(tǒng)的文件系統(tǒng)還是數據庫。通常至少應該考慮下述幾類可能的方案
猜你喜歡: