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