1. 軟體工程是什麼
軟體工程學的主要內容是軟體開發技術和軟體工程管理。
軟體開發技術包含軟體工程方法學、軟體工具和軟體開發環境;軟體工程管理學包含軟體工程經濟學和軟體管理學。
專業簡介是計算機領域發展最快的學科分支之一,國家非常重視軟體行業的發展,對軟體人才的培養給予了非常優惠的政策。本專業培養掌握計算機軟體基本理論知識,熟悉軟體開發和管理技術、能夠在計算機軟體領域中從事軟體設計、開發和管理的高級人才。
主修課程該專業除了學習公共基礎課外,還將系統學習離散數學、數據結構、演算法分析、面向對象程序設計、現代操作系統、資料庫原理與實現技術、編譯原理、軟體工程、軟體項目管理、計算機安全等課程,根據學生的興趣還可以選修一些其它選修課。
畢業去向除考取國內外名牌大學研究生外,主要畢業去向是計算機軟體專業公司﹑信息咨詢公司﹑以及金融等其它獨資、合資企業。
培養目標本專業培養適應社會發展需求,德、智、體、美全面發展,具有扎實的計算機應用理論和知識基礎,掌握軟體工程領域的前沿技術和軟體開發方法,具有較強的實踐能力和創新精神,具備較強的軟體項目的系統分析、設計、開發和測試能力,能夠按照工程化的原則和方法從事軟體項目開發和管理的應用型人才。
就業方向本專業學生畢業後可以從事各級各類企事單位的業辦公自動化處理、計算機安裝與維護、網頁製作、計算機網路和專業伺服器的維護管理和開發工作、動態商務網站開發與管理、軟體測試與開發及計算機相關設備的商品貿易等方面的有關工作。
就業前景分析
目前我國的軟體行業規模不是很大,有些軟體企業在軟體製作上,也只是採用了一些軟體工程的思想,距離大規模的工業化大生產比較還是有一定的差距;原因有管理體制的問題,市場問題,政策問題,也有軟體工程理論不全面和不完善的問題。所以軟體工程的研究和應用,以及我國軟體行業的進一步發展,都需要一定的既有軟體工程的理論基礎和研究能力,又有一定的實踐經驗的軟體工程科學技術人員來推動。軟體工程的前途是光明的。第一年一般都會學習數學、英語這些公共課。數學和英語對你今後來說是非常重要的!英語別指望課能學到東西,要看你專業的東西。
除了都要學的高數,今後還要學習其他數學,例如線代,離散,概率。如果你不學好數學,你當然也可以寫軟體,但是當你想更深入的時候就需要這些數學功底了。相對於數學來說,英語是必須的,因為今後基本上所有優秀的教材和技術文章都是英文的。翻譯過來的東西,一是陳舊,而是往往翻譯的質量差強人意。所以英語是基本功,一定要強,主要是閱讀能力。比如當你學C++的時候,你可以去閱讀英文原版經典教材 Thinking in C++,這也是我們當年的教材。
2. 用軟體工程的方法來保證軟體開發過程的順利進行有哪些好處
採用軟體工程方法論開發軟體的時候,從對任務的抽象邏輯分析開始,一個階段一個階段地進行開發,前一個階段任務的完成是開始進行後一個階段工作的前提和基礎,而後一個階段任務的完成通常是使前一個階段提出的解法更進一步具體化 ,加進了更多的物理細節。
每一個階段的開始和結束都有嚴格標准,對於任何兩個相鄰的階段而言,前一階段的結束標准就是後一階段的開始標准,在每一個階段結束之前都必須進行正式嚴格的技術審查和管理復審,從技術和管理兩方面對這個階段的開發成果進行檢查,通過之後這個階段才算結束。
(2)構建之法軟體工程擴展閱讀:
注意事項:
軟體標准化應用技術可劃分為軟體標准、軟體環節標准,屬於軟體構建和軟體重用技術制定、發展的重要前提,能夠有效促進軟體工程產業的可持續發展。
軟體工程一系列指標可符合相應的標准與否,軟體工程成熟與否,均受軟體標准化應用技術很大程度影響。ISO、INCOSE等相關國際組織對軟體工程標准框架予以了明確規定,再加上美國國防部提出了針對軟體標准方面內容,一並轉變為現代社會軟體工程重要的兩方面標准結構。
3. 軟體工程三要素是什麼
三要素是方法、工具、過程。
方法是完成軟體開發的各項任務的技術方法,為軟體開發提供「如何做」的技術。工具為運用方法而提供的自動的或半自動的軟體工程的支撐環境。
過程是為了獲得高質量的軟體所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟,如何將軟體工程方法與軟體工具相結合,合理、及時地進行軟體開發。
(3)構建之法軟體工程擴展閱讀:
軟體工程的目標:
1、可修改性:允許對系統進行修改而不增加原系統的復雜性。它支持軟體的調試和維護,是一個難以達到的目標。
2、可靠性:能防止因概念、設計和結構等方面的不完善造成的軟體系統失效,具有挽回因操作不當造成軟體系統失效的能力。
3、可理解性:系統具有清晰的結構,能直接反映問題的需求。可理解性有助於控制系統軟體復雜性,並支持軟體的維護、移植或重用。
4、可維護性:軟體交付使用後,能夠對它進行修改,以改正潛伏的錯誤,改進性能和其它屬性,使軟體產品適應環境的變化等。軟體維護費用在軟體開發費用中佔有很大的比重。可維護性是軟體工程中一項十分重要的目標。
5、可重用性:把概念或功能相對獨立的一個或一組相關模塊定義為一個軟部件。可組裝在系統的任何位置,降低工作量。
6、可移植性:軟體從一個計算機系統或環境搬到另一個計算機系統或環境的難易程度。
7、可追蹤性:根據軟體需求對軟體設計、程序進行正向追蹤,或根據軟體設計、程序對軟體需求的逆向追蹤的能力。
4. 軟體工程的三大要素
軟體工程包括三個要素:方法、工具和過程。
軟體工程方法為軟體開發提供了「如何做」的技術。它包括了多方面的任務,如項目計劃與估算、軟體系統需求分析、數據結構、系統總體結構的設計、演算法過程的設計、編碼、測試以及維護等。
軟體工具為軟體工程方法提供了自動的或半自動的軟體支撐環境。目前,已經推出了許多軟體工具,這些軟體工具集成起來,建立起稱之為計算機輔助軟體工程(CASE)的軟體開發支撐系統。CASE將各種軟體工具、開發機器和一個存放開發過程信息的工程資料庫組合起來形成一個軟體工程環境。
軟體工程的過程則是將軟體工程的方法和工具綜合起來以達到合理、及時地進行計算機軟體開發的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟體開發各個階段完成的里程碑。
軟體工程是一種層次化的技術。任何工程方法(包括軟體工程)必須以有組織的質量保證為基礎。全面的質量管理和類似的理念刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟體工程方法的不斷出現。支持軟體工程的根基就在於對質量的關注。 ...
5. 軟體工程的定義
軟體工程一直以來都缺乏一個統一的定義,很多學者、組織機構都分別給出了自己的定義:
(1)。Barry Boehm:運用現代科學技術知識來設計並構造計算機程序及為開發、運行和維護這些程序所必需的相關文件資料。
(2)。IEEE在軟體工程術語匯編中的定義:軟體工程是:1.將系統化的、嚴格約束的、可量化的方法應用於軟體的開發、運行和維護,即將工程化應用於軟體;2.在1中所述方法的研究
(3)。Fritz Bauer在NATO會議上給出的定義:建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟體的一系列方法。
目前比較認可的一種定義認為:軟體工程是研究和應用如何以系統性的、規范化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。
(4)。《計算機科學技術網路全書》中的定義:軟體工程是應用計算機科學、數學及管理科學等原理,開發軟體的工程。軟體工程借鑒傳統工程的原則、方法,以提高質量、降低成本。其中,計算機科學、數學用於構建模型與演算法,工程科學用於制定規范、設計范型(paradigm)、評估成本及確定權衡,管理科學用於計劃、資源、質量、成本等管理。
6. 到底什麼是軟體工程給個詳細的答案
軟體工程(Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及到程序設計語言,資料庫,軟體開發工具,系統平台,標准,設計模式等方面。
在現代社會中,軟體應用於多個方面。典型的軟體比如有電子郵件,嵌入式系統,人機界面,辦公套件,操作系統,編譯器,資料庫,游戲等。同時,各個行業幾乎都有計算機軟體的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。
軟體工程師是對應用軟體創造軟體的人們的統稱,軟體工程師按照所處的領域不同可以分為系統分析員,軟體設計師,系統架構師,程序員,測試員等等。人們也常常用程序員來泛指各種軟體工程師。
軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
http://www.itise.com/phrase/200602281725525.html
7. 軟體工程是學什麼的,包括什麼
樓上的真麻煩,又從哪兒抄的貼子!你以為你上軟工導論課呢?我來簡單的介紹一下吧。
其實,開發軟體並不簡單只是編編程序(如果是那樣,初、高中生就能完成了,要我們這些大學生幹嘛),就象做生意(比如開商店),你總不會認為開商店就是站那兒賣貨吧,你得先進行市場調研,再選店址,然後上貨,賣貨,當然還有售後服務),這是一個復雜的,系統的工程,一般包括以下幾項:客戶需求調查或市場調查、軟體的框架設計、各框架的進一步細分,編寫程序(內容很多,比如用什麼語言,面向什麼,設計模式等等),黑白盒測試,發布測試版,軟體的交付以及售後服務,還有各階段的文檔總結(包括軟體的幫助文件,注釋等等),總之,就是一個軟體從調研到最後發布的各中間過程,軟體工程就是對這各種階段的說明以及如何去實施各階段,學好了它,對你今後的軟體工程師之路是非常有用的,也是必需的。
8. 什麼是軟體工程
計算機工程從電子工程學科中分離出來,旨在研究計算機硬體的相關工程問題,而軟體工程從計算機科學中的一個學科方向發展成為與之並重的一門獨立學科,重點研究如何以系統的、可控的、高效的方式開發和維護高質量軟體的問題。 1.軟體工程的定義軟體工程學科誕生後,人們為軟體工程給出了不同的定義,例如最早的定義是由F.L. Bauer給出的,即「軟體工程是為了經濟地獲得能夠在實際機器上高效運行的、可靠的軟體而建立和應用一系列堅實的軟體工程原則」。而美國梅隆卡耐基大學軟體工程研究所(SEI)給出的定義則是軟體工程是以工程的形式應用計算機科學和數學原理,從而經濟有效地解決軟體問題。但目前普遍使用的軟體工程定義是由IEEE給出的,即軟體工程是將系統性的、規范化的、可定量的方法應用於軟體的開發、運行和維護。軟體工程概念實際存在兩層含義,從狹義概念看,軟體工程著重體現在軟體過程中所採用的工程方法和管理體系,例如,引入成本核算、質量管理和項目管理等,即將軟體產品開發看作是一項工程項目所需要的系統工程學和管理學。從廣義概念看,軟體工程涵蓋了軟體生命周期中所有的工程方法、技術和工具,包括需求工程、設計、編程、測試和維護的全部內容,即完成一個軟體產品所必備的思想、理論、方法、技術和工具。 2.軟體工程的內涵軟體工程學科包含為完成軟體需求、設計、構建、測試和維護所需的知識、方法和工具。軟體工程不局限在理論之上,更重要在實踐上,能夠幫助軟體組織協調團隊、運用有限的資源,遵守已定義的軟體工程規范,通過一系列可復用的、有效的方法,在規定的時間內達到預先設定的目標。針對軟體工程的實施,無論是採用什麼樣的方法和工具,先進的軟體工程思想始終是最重要的。只有在正確的工程思想指導下,才能制定正確的技術路線,才能正確地運用方法和工具達到軟體工程或項目管理的既定目標。 3.軟體工程是一門交叉性學科軟體工程是一門交叉性的工程學科,它是將計算機科學、數學、工程學和管理學等基本原理應用於軟體的開發與維護中,其重點在於大型軟體的分析與評價、規格說明、設計和演化,同時涉及管理、質量、創新、標准、個人技能、團隊協作和專業實踐等。從這個意義上看,軟體工程可以看作由下列3部分組成。計算機科學和數學用於構造軟體的模型與演算法;工程科學用於制定規范、設計范型、評估成本以及確定權衡等;管理科學用於計劃、資源、質量、成本等管理。例如,計算機輔助軟體工程(Computer Aided Software Engineering,CASE)是一組工具和方法的集合,可以輔助軟體生命周期各階段進行的軟體開發活動。CASE吸收了CAD(計算機輔助設計)、軟體工程、操作系統、資料庫、網路和許多其他計算機領域的原理和技術。這個例子也體現了這一點——軟體工程是學科交叉的、集成和綜合的領域。 4.軟體工程學科範圍如果從知識領域看,軟體工程學科是以軟體方法和技術為核心,涉及計算機的硬體體系、系統基礎平台等相關領域,同時還要涉及一些應用領域和通用的管理學科、組織行為學科。例如,通過應用領域的知識幫助我們理解用戶的需求,從而可以根據需求來設計軟體的功能。在軟體工程中必然要涉及組織中應用系統的部署和配置所面臨的實際問題,同時又必須不斷促進知識的更新和理論的創新。為了真正解決實際問題,需要在理論和應用上獲得最佳平衡。 先進、成熟的軟體工程思想有哪些? 代碼評審的最佳實踐