什麼叫軟件和軟件工程?
什麼叫軟件工程?
軟件工程一直以來都缺乏一個統一的定義,很多學者、組織機構都分別給出了自己的定義:
Boehm:運用現代科學技術知識來設計並構造計算機程序及為開發、運行和維護這些程序所必需的相關文件資料。
IEEE:軟件工程是開發、運行、維護和修復軟件的系統方法。
Fritz Bauer:建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法。
軟件工程學的內容
軟件工程學的主要內容是軟件開發技術和軟件工程管理.
軟件開發技術包含軟件工程方法學、軟件工具和軟件開發環境;軟件工程管理學包含軟件工程經濟學和軟件管理學。
軟件工程基本原理
著名軟件工程專家B.Boehm綜合有關專家和學者的意見並總結了多年來開發軟件的經驗,於1983年在一篇論文中提出了軟件工程的七條基本原理。
(1)用分階段的生存週期計劃進行嚴格的管理。
(2)堅持進行階段評審。
(3)實行嚴格的產品控制。
(4)採用現代程序設計技術。
(5)軟件工程結果應能清楚地審查。
(6)開發小組的人員應該少而精。
(7)承認不斷改進軟件工程實踐的必要性。
B.Boehm指出,遵循前六條基本原理,能夠實現軟件的工程化生產;按照第七條原理,不僅要積極主動地採納新的軟件技術,而且要注意不斷總結經驗。
軟件工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。可用性指軟件基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟件開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發過程中必須遵循的原則。
軟件工程必須遵循什麼原則
圍繞工程設計、工程支持以及工程管理已提出了以下四條基本原則:
(1)選取適宜的開發模型
該原則與系統設計有關。在系統設計中,軟件需求、硬件需求以及其它因素間是相互制約和影響的,經常需要權衡。因此,必需認識需求定義的易變性,採用適當的開發模型,保證軟件產品滿足用戶的要求。
(2)採用合適的設計方法
在軟件設計中,通常需要考慮軟件的模塊化、抽象與信息隱蔽、局部化、一致性以及適應性等特徵。合適的設計方法有助於這些特徵的實現,以達到軟件工程的目標。
(3)提供高質量的工程支撐
工欲善其事,必先利其器。在軟件工程中,軟件工具與環境對軟件過程的支持頗為重要。軟件工程項目的質量與開銷直接取決於對軟件工程所提供的支撐質量和效用。
(4)重視軟件......
什麼是軟件工程
它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,
標準
,設計模式等方面。 軟件工程的框架可概括為:目標、過程和原則。
(1)軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。可用性指軟件基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟件開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統結構
,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發過程中必須遵循的原則。
軟件工程是指導計算機軟件開發和維護的一門工程學科。採用工程的概念、原理、技術和方法來開發和維護計算機軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術和方法結合起來,以經濟地開發出高質量的軟件並有效地維護它。
什麼是軟件工程?包括哪些內容?
(1)軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。可用性指軟件基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟件開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。(2)軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。(3)軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發過程中必須遵循的原則。
軟件工程專業是什麼意思
簡介
軟件工程專業是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,標準,設計模式等方面。在現代社會中,軟件應用於多個方面。典型的軟件比如有電子郵件,嵌入式系統,人機界面,辦公套件,操作系統,編譯器,數據庫,遊戲等。同時,各個行業幾乎都有計算機軟件的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。
學科地位
軟件工程學科是計算學科的分支,計算學科中理論、抽象、設計等三個學科形態,綁定、大問題的複雜性、概念和形式模型、一致性和完備性、效率、演化、抽象層次、按空間排序、按時間排序、重用、安全性、折衷與決策等十二個基本概念,數學方法、系統科學方法在軟件工程學科中佔有重要地位。此外,軟件工程還十分重視管理過程,以提高軟件產品的質量、降低開發成本、保證工程按時完成。系統性、規範性、可度量性也是軟件工程非常關注的。
軟件工程學科的理論基礎是數學、計算機科學。軟件工程的研究和實踐涉及人力、技術、資金、進度的綜合管理,是開展最優化生產活動的過程;軟件工程必須劃分系統的邊界,給出系統的解決方案。因此,軟件工程的相關學科有計算機科學與技術、數學、計算機工程、管理學、系統工程和人類工程學等。
就業崗位
Java方向:JAVA初級程序員、JAVA計算程序員 、 JAVA工程師 、J2EE系統工程師等。
.Net方向: .Net程序員網站開發工程師 .Net工程師等。
其它方向: 簡單的管理信息系統開發和維護人員 、網頁製作和客戶端腳本程序編寫人員 、初級數據庫管理和維護人員 、數據庫開發工程師 、系統分析設計工程 、軟件項目配置管理員 、文檔編寫工程師
軟件工程是學什麼的,包括什麼?
樓上的真麻煩,又從哪兒抄的貼子!你以為你上軟工導論課呢?我來簡單的介紹一下吧。
其實,開發軟件並不簡單只是編編程序(如果是那樣,初、高中駭就能完成了,要我們這些大學生幹嘛),就象做生意(比如開商店),你總不會認為開商店就是站那兒賣貨吧,你得先進行市場調研,再選店址,然後上貨,賣貨,當然還有售後服務),這是一個複雜的,系統的工程,一般包括以下幾項:客戶需求調查或市場調查、軟件的框架設計、各框架的進一步細分,編寫程序(內容很多,比如用什麼語言,面向什麼,設計模式等等),黑白盒測試,發佈測試版,軟件的交付以及售後服務,還有各階段的文檔總結(包括軟件的幫助文件,註釋等等),總之,就是一個軟件從調研到最後發佈的各中間過程,軟件工程就是對這各種階段的說明以及如何去實施各階段,學好了它,對你今後的軟件工程師之路是非常有用的,也是必需的。
計算機科學與技術和軟件工程有什麼區別?
簡單點說,計算機科學與技術包含了硬件、軟件技術,畢業了可以從事研究與應用計算機的基本訓練,具有研究和開發計算機系統的基本能力;軟件工程主要是指軟件技術方面的,如編程,通過代碼實現的功能,本科院校的計算機科學與技術一般包含了軟件工程中的軟件技術專業;
軟件技術和軟件工程有什麼不一樣的?
軟件技術是一個發展變化非常快的行業,軟件人才要按照企業和領域需求來確定培養的方向,而針對高職學生,必須堅持以就業為導向的指導思想,強調其技能培養,注重課程安排的合理性。因此,我們一方面定期修訂教學計劃,保證課程設置與軟件技術的發展基本同步,另一方面利用轉、合、撤、拆的原則,降低專業課程中理論教學的比例,加強針對性和實用性,優化課程結構,形成合理的、科學的課程體系。依據培養目標的要求,軟件技術專業的課程包括公共課程、專業基礎理論課程、專業課程、素質能力提高課程四個部分。軟件技術專業的基礎理論課程旨在訓練學生的邏輯思維、推理能力,掌握與軟件技術關係密切的數學知識,掌握基本的計算機應用技能,以及編寫程序的基本方法。為了加強軟件技術中涉及的數學知識,從 04級開始將原來兩學期的高等數學改為一學期高等數學、一學期計算機數學。目前所開設的基礎理論課程包括:計算機數學、計算機導論、操作系統、數據結構。專業課程由以下三部分組成:1)編程語言課程(包括Microsoft公司Windows平臺開發技術和SUN公司的Java開發技術)2)支撐課程(如數據庫技術、網絡技術、XML等)3)專業技能提高和擴展課程(如軟件工程、UML、測試技術等)對於三年制班與二年制班,由於教學時間及生源上的差別,在課程設計及教學內容上都有所不同。1、三年制班級(普高生)主幹專業課程均配有相應的課程設計,並且實踐教學的課時比例超過了 50%。在課程設置上,對於專業課程進行優化組合,將橫向聯繫密切的課程安排在同一學期,並開設配套的綜合性實訓課程,以培養學生綜合運用知識的能力,學期之間則形成課程鏈路,以逐步完成職業技能的學習。如第三學期所開設的J2EE、SQL SERVER,以及與之相對應的綜合性實訓課程(開發SQL SERVER為後臺數據庫的J2EE應用系統)。2、二年制班級根據二年制教學需要,制定了二年制教學計劃,為保證減少教學時間的同時,完成專業教學任務,採取以NIIT的核心課程體系(消化吸收遷移其課程模式,自主知識產權的教材/講義開發)中的技術路線為主線,在通識課程、技術基礎課程、畢業設計等環節進行教學計劃上整合。一方面,改革目前公共文化課程的設置方法,採用靈活的教學機制,公共課與專業課在整個學制內交錯,以便專業課可以前移;另一方面,以一條技術路線(.NET技術)貫穿整個教學計劃,以循序漸進的階段形式遞進,主要分為四個階段:非可視化編程階段、可視化編程階段、WEB應用開發及技能提高階段以及綜合實踐訓練階段。課程設計上,整合計算機導論、數據結構等技術基礎課程,以整合、化整為零為主要辦法,一些專業課程則採用了專題形式安排課程,如統一建模語言則涵蓋了軟件工程、UML使用、UML應用等專題。軟件工程 (Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,標準,設計模式等方面。在現代社會中,軟件應用於多個方面。典型的軟件比如有電子郵件,嵌入式系統,人機界面,辦公套件,操作系統,編譯器,數據庫,遊戲等。同時,各個行業幾乎都有計算機軟件的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。軟件工程的主要課程:外語、高等數學、線性代數、高等代數、電子技術基礎、離散數學、計算機引論(C語言)、數據結構、C++程序設計、彙編語言程序設計、算法設計與分析、計算機......
軟件技術專業和軟件工程專業的區別
軟件技術從理論上應該有兩種:軟件開發技術和軟件應用技術。
1.軟件開發技術就是利用計算機特有語言進行軟件開發與編制。
2.軟件應用技術是指利用已經編寫好的軟件為工作或生活服務。
軟件工程是研究和應用如何以系統性的、規範化的、可定量的過程化方法去開發和維護軟件,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術駭法結合起來的學科。它涉及到程序設計語言、數據庫、軟件開發工具、系統平臺、標準、設計模式等方面。
軟件工程是做什麼的
軟件工程俗稱“程序員”,就是用代碼實現一些功能的。這個專業更偏向於動手能力和邏輯能力,很好就業,而且薪水普遍比較高。
希望你採納。