Ⅰ 軟體工程的目標是什麼
軟體工程的目標是:在給定成本、進度的前提下,開發出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性並滿足用戶需求的軟體產品。
Ⅱ 軟體工程學的目的應該是最終解決軟體生產的什麼問題
這三者都有,就是為了解決60年代軟體的生產危機才出現了軟體工程,那麼這門學科的誕生也使得軟體開發變得規范化和工程化了。
Ⅲ 軟體工程的主要目標是什麼
其實在計算機剛開始的時候是沒有軟體工程這個學科的,後來隨著計算機軟體規模的擴大,慢慢的人們發現軟體越來越難易維護和開發(因為在最初軟體設計的過程中很多問題是想不到的),這就產生了軟體危機,人們為了解決軟體危機,才開始研究軟體的整個生命周期,才有了軟體工程這個學科。
我是學這個專業的,我所理解的軟體工程,就是在軟體的整個生命周期里,通過科學的、工程化的管理方法,降低軟體設計、開發、測試和維護的風險與成本,這個可以說是研究這個專業的目標,至於具體方法就有很多了,比如不用傳統的瀑布開發模式,採用較為靈活的敏捷模式、螺旋模式或極限編程;採用經典的設計模式,降低代碼耦合度;採用較新的測試方法和測試工具;完善文檔等等方法,都可以有效降低軟體開發的風險和成本。
Ⅳ 軟體工程的基本目標是什麼
軟體工程的目標是:在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟體產品。追求這些目標有助於提高軟體產品的質量和開發效率,減少維護的困難。
(1)適用性:軟體在不同的系統約束條件下,使用戶需求得到滿足的難易程度。
(2)有效性:軟體系統能最有效的利用計算機的時間和空間資源。各種軟體無不把系統的時/空開銷作為衡量軟體質量的一項重要技術指標。很多場合,在追求時間有效性和空間有效性時會發生矛盾,這時不得不犧牲時間有效性換取空間有效性或犧牲空間有效性換取時間有效性。時/空折衷是經常採用的技巧。
(3)可修改性:允許對系統進行修改而不增加原系統的復雜性。它支持軟體的調試和維護,是一個難以達到的目標。
(4)可靠性:能防止因概念、設計和結構等方面的不完善造成的軟體系統失效,具有挽回因操作不當造成軟體系統失效的能力。
(5)可理解性:系統具有清晰的結構,能直接反映問題的需求。可理解性有助於控制系統軟體復雜性,並支持軟體的維護、移植或重用。
(6)可維護性:軟體交付使用後,能夠對它進行修改,以改正潛伏的錯誤,改進性能和其它屬性,使軟體產品適應環境的變化等。軟體維護費用在軟體開發費用中佔有很大的比重。可維護性是軟體工程中一項十分重要的目標。
(7)可重用性:把概念或功能相對獨立的一個或一組相關模塊定義為一個軟部件。可組裝在系統的任何位置,降低工作量。
(8)可移植性:軟體從一個計算機系統或環境搬到另一個計算機系統或環境的難易程度。
(9)可追蹤性:根據軟體需求對軟體設計、程序進行正向追蹤,或根據軟體設計、程序對軟體需求的逆向追蹤的能力。
(10)可互操作性:多個軟體元素相互通信並協同完成任務的能力。
Ⅳ 軟體工程專業,主要學什麼就業方向
主要需要學的:
C++程序設計、java、python、高等數學、數據結構、演算法設計與分析、匯編語言程序設計、資料庫系統、軟體工程等。
就業方向:
編寫程序,做軟體開發。可以在政府機關,大型企業等做程序編寫,或者你也可以到華為等這種企業做軟體開發。如果是做編寫程序這種工作的話可能比較辛苦,要經常挨夜,不過待遇也不錯。
做軟體測試。軟體開發出來後需要通過測試是否存在漏洞,校正後才投放到市場上使用,這中間就需要做軟體測試。軟體工程畢業生也可以到軟體編寫企業去做軟體測試工作。
做數據管理。這主要做管理政府機構,學校,企業等單位的數據資料工作。這種工作相對輕鬆些,穩定些。
做多媒體製作。這主要到動畫製作公司,廣告製作公司就業。有相當一部分軟體工程畢業生會到這些單位工作。
到高校從事教學工作。到高校工作要比較高學歷,一般要求碩士以上學歷。許多高校軟體工程的教師就是軟體工程專業畢業的。
Ⅵ 軟體工程的培養目標
軟體工程簡介
培養目標:以堅持改革開放、面向需求、質量第一為辦學宗旨;以培養多層次、實用型、復合型、國際化軟體人才為目標;按照企業和領域需求確定培養方向,形成靈活的課程體系,動態的教學計劃;按照社會主義辦學方向,全面加強素質教育,重點培養學生的創新、創業精神和實踐能力;學習借鑒國際軟體人才培養經驗,努力實現教學模式創新,管理體制創新,教學內容創新,課程設置創新,教學方法創新。切實面對軟體企業的需求,按照工程化的培養方向,改革軟體人才培養模式,加大軟體人才培養力度,努力培養具有競爭能力的、復合型、實用性軟體工程高級技術人才和管理人才。
Ⅶ 軟體工程的意義和作用
軟體工程是計算機專業的一門重要的專業基礎課,它對於培養學生的軟體素質,提高學生的軟體開發能力與軟體項目管理能力具有重要的意義.
1995年,Standish Group針對系統開發成功的研究表明,所有的開發項目中有32%的項目在它們結束之前被中止.此外多於一半的軟體項目花費的成本相當於原來預算的2倍.
軟體工程
只有42%的軟體項目完成時達到了預期的范圍和功能,事實上,許多系統只完成了部分預期的需求.
因此,軟體的開發是一個很困難的活動,要求很仔細的計劃和執行.
軟體工程就是在這樣的背景下,由許多計算機科學家經過多方面的探索和總結而成形的.目前發展十分迅速 近二十年來計算機軟體已經成為現代科學研究和解決工程問題的基礎,以及管理部門,生產部門,和服務行業中的關鍵因素,滲透到了各個領域,成為當今世界不可缺少的一部分.
展望二十一世紀,軟體仍將成為驅動任何事情從基礎教育到遺傳工程取得新進展的動力.
學習研究工程化的軟體開發方法,使開發過程更加規范.
軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
Ⅷ 對所學軟體工程課程各部分內容的目的、作用、主要內容等進行總結,
1、軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等方面。
在現代社會中,軟體應用於多個方面。典型的軟體有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、資料庫、游戲等。同時,各個行業幾乎都有計算機軟體的應用,如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,也提高了工作效率和生活效率 。
2、
開發流程
▪ 需求分析
▪ 概要設計
▪ 詳細設計
▪ 編碼
▪ 測試
▪ 軟體交付
▪ 驗收
▪ 維護
3、軟體架構(software
architecture)是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。 軟體架構是一個系統的草圖。軟體架構描述的對象是直接構成系
統的抽象組件。各個組件之間的連接則明確和相對細致地描述組件之間的通訊。在實現階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在面向
對象領域中,組件之間的連接通常用介面_(計算機科學)來實現。
軟體體系結構是構建計算機軟體實踐的基礎。與建築師設定建築項目的設計原則和目標,作為繪圖員畫圖的基礎一樣,一個軟體架構師或者系統架構師陳述軟體構架以作為滿足不同客戶需求的實際系統設計方案的基礎。
軟體構架是一個容易理解的概念,多數工程師(尤其是經驗不多的工程師)會從直覺上來認識它,但要給出精確的定義很困難。特別是,很難明確地區分設計和構架:構架屬於設計的一方面,它集中於某些具體的特徵。
在「軟體構架簡介」中,David Garlan 和 Mary Shaw
認為軟體構架是有關如下問題的設計層次:「在計算的演算法和數據結構之外,設計並確定系統整體結構成為了新的問題。結構問題包括總體組織結構和全局控制結
構;通信、同步和數據訪問的協議;設計元素的功能分配;物理分布;設計元素的組成;定標與性能;備選設計的選擇。
但構架不僅是結構;IEEE Working Group
on Architecture 把其定義為「系統在其環境中的最高層概念」。構架還包括「符合」系統完整性、經濟約束條件、審美需求和樣式。它並不僅注
重對內部的考慮,而且還在系統的用戶環境和開發環境中對系統進行整體考慮,即同時注重對外部的考慮。
在Rational Unified Process 中,軟體系統的構架(在某一給定點)是指系統重要構件的組織或結構,這些重要構件通過介面與不斷減小的構件與介面所組成的構件進行交互。
從和目的、主題、材料和結構的聯繫上來說,軟體架構可以和建築物的架構相比擬。一個軟體架構師需要有廣泛的軟體理論知識和相應的經驗來事實和管
理軟體產品的高級設計。軟體架構師定義和設計軟體的模塊化,模塊之間的交互,用戶界面風格,對外介面方法,創新的設計特性,以及高層事物的對象操作、邏輯
和流程。
一般而言,軟體系統的架構(Architecture)有兩個要素:
它是一個軟體系統從整體到部分的最高層次的劃分。
一個系統通常是由元件組成的,而這些元件如何形成、相互之間如何發生作用,則是關於這個系統本身結構的重要信息。
詳細地說,就是要包括架構元件(Architecture Component)、聯結器(Connector)、任務流(Task-flow)。
所謂架構元素,也就是組成系統的核心"磚瓦",而聯結器則描述這些元件之間通訊的路徑、通訊的機制、通訊的預期結果,任務流則描述系統如何使用這些元件和
聯結器完成某一項需求。
建造一個系統所作出的最高層次的、以後難以更改的,商業的和技術的決定。
建造一個系統之前會有很多的重要決定需要事先作出,而一旦系統開始進行詳細設計甚至建造,這些決定就很難更改甚至無法更改。顯然,這樣的決定必定是有關系統設計成敗的最重要決定,必須經過非常慎重的研究和考察。
4、自己寫了