什麼是軟體工程軟體工程的內容
軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。那麼你對軟體工程瞭解多少呢?以下是由小編整理關於什麼是軟體工程的內容,希望大家喜歡!
軟體工程的定義
軟體工程一直以來都缺乏一個統一的定義,很多學者、組織機構都分別給出了自己認可的定義:
BarryBoehm:運用現代科學技術知識來設計並構造計算機程式及為開發、執行和維護這些程式所必需的相關檔案資料。
IEEE:在軟體工程術語彙編中的定義:軟體工程是:1.將系統化的、嚴格約束的、可量化的方法應用於軟體的開發、執行和維護,即將工程化應用於軟體;2.在1中所述方法的研究
FritzBauer:在NATO會議上給出的定義:建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效執行的可靠軟體的一系列方法。
《計算機科學技術百科全書》:軟體工程是應用電腦科學、數學、邏輯學及管理科學等原理,開發軟體的工程。軟體工程借鑑傳統工程的原則、方法,以提高質量、降低成本和改進演算法。其中,電腦科學、數學用於構建模型與演算法,工程科學用於制定規範、設計範型***paradigm***、評估成本及確定權衡,管理科學用於計劃、資源、質量、成本等管理。
比較認可的一種定義認為:軟體工程是研究和應用如何以系統性的、規範化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。
ISO 9000對軟體工程過程的定義是:軟體工程過程是輸入轉化為輸出的一組彼此相關的資源和活動。
其它定義:1.執行時,能夠提供所要求功能和效能的指令或計算機程式集合。2.程式能夠滿意地處理資訊的資料結構。3.描述程式功能需求以及程式如何操作和使用所要求的文件。以開發語言作為描述語言,可以認為:軟體=程式+資料+文件。
軟體工程的內涵
一、軟體工程過程是指為獲得軟體產品,在軟體工具的支援下由軟體工程師完成的一系列軟體工程活動,包括以下四個方面:
1、P***Plan***——軟體規格說明。規定軟體的功能及其執行時的限制。
2、D***DO***——軟體開發。開發出滿足規格說明的軟體。
3、C***Check***——軟體確認。確認開發的軟體能夠滿足使用者的需求。
4、A***Action***——軟體演進。軟體在執行過程中不斷改進以滿足客戶新的需求。
二、從軟體開發的觀點看,它就是使用適當的資源***包括人員,軟硬體資源,時間等***,為開發軟體進行的一組開發活動,在活動結束時輸入***即使用者的需求***轉化為輸出***最終符合使用者需求的軟體產品***。
三個階段:定義階段:可行性研究初步專案計劃、需求分析;開發階段:概要設計、詳細設計、實現、測試;執行和維護階段:執行、維護、廢棄
原則:1、抽象;2、資訊隱蔽;3、模組化;4、區域性化;5、確定性;6,一致性;7、完備性;8、可驗證性
軟體工程的基本內容
軟體工程原理、軟體工程過程、軟體工程方法、軟體工程模型、軟體工程管理、軟體工程度量、軟體工程環境、軟體工程應用、軟體工程開發使用。著名軟體工程專家B.Boehm綜合有關專家和學者的意見並總結了多年來開發軟體的經驗,於1983年在一篇論文中提出了軟體工程的七條基本原理:
***1***用分階段的生存週期計劃進行嚴格的管理。
***2***堅持進行階段評審。
***3***實行嚴格的產品控制。
***4***採用現代程式設計技術。
***5***軟體工程結果應能清楚地審查。
***6***開發小組的人員應該少而精。
***7***承認不斷改進軟體工程實踐的必要性。
軟體工程的結構
軟體體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件、資料構件和連線構件。處理構件負責對資料進行加工,資料構件是被加工的資訊,連線構件把體系結構的不同部分組組合連線起來。這一定義注重區分處理構件、資料構件和連線構件,這一方法在其他的定義和方法中基本上得到保持。
軟體體系結構表示了一個軟體系統的高層結構,主要特點有:
1***軟體系統結構是一個高層次上的抽象,它並不涉及具體的系統結構***比如B/S還是C/S***,也不關心具體的實現。
2***軟體體系結構必須支援系統所要求的功能,在設計軟體體系結構的時候,必須考慮系統的動態行為。
3***在設計軟體體系結構的時候,必須考慮有現有系統的相容性、安全性和可靠性。同時還要考慮系統以後的擴充套件性和伸縮性。所以有時候必須在多個不同方向的目標中進行決策。
軟體體系結構貫穿於軟體研發的整個生命週期內,具有重要的影響。這主要從以下三個方面來進行考察:利益相關人員之間的交流,系統設計的前期決策,可傳遞的系統級抽象。
當前已經有一些關於規範化軟體體系結構,比如:ISO的開放系統互聯模型、X Window系統等等。
軟體工程的內容
什麼是認知策略認知策略的內容