軟體工程師評職稱論文

  軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。下面是由小編整理的,謝謝你的閱讀。

  篇一

  淺析軟體工程

  摘要:軟體工程專業是計算機領域發展最快的學科分支之一,軟體工程***Software Engineering,簡稱為SE***是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。這一學科包括許多的內容,具體來講有程式設計語言,資料庫,軟體開發工具,系統平臺,標準,設計模式等。當今社會,網路化迅速發展,軟體的應用領域越來越廣。現在比較普遍的軟體有***,人機介面,辦公套件,作業系統,遊戲等。目前,基本上每個行業都會某種程度的運用到計算機軟體。這些應用對於推動經濟和社會的發展起到了舉足輕重的作用,提高了工作效率,改善了人們的生活質量。

  關鍵詞:軟體工程 計算機領域 程式設計 開發工具 設計模式 生命週期、軟體開發

  1 概述

  軟體工程是研究和應用如何以系統性的、規範化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。這一學科包括許多的內容,具體來講有程式設計語言,資料庫,軟體開發工具,系統平臺,標準,設計模式等。當今社會,網路化迅速發展,軟體的應用領域越來越廣。現在比較普遍的軟體有***,人機介面,辦公套件,作業系統,遊戲等。目前,基本上每個行業都會某種程度的運用到計算機軟體。這些應用對於推動經濟和社會的發展起到了舉足輕重的作用,提高了工作效率,改善了人們的生活質量。

  我們究竟是將軟體的開發看成一門科學,還是將其看成是一門工程,關於這個問題已經討論了很長時間了。事實上,軟體的開發具備這兩者的特徵。但是我們不能將二者混淆了。大多數人認為軟體工程基於電腦科學和資訊科學就像是傳統意義上的工程學之於物理和化學。在世界各個國家,尤其是美國大約有40%的軟體工程師都有電腦科學的學位。他們可能不經常運用到電腦科學上的知識,但是會經常運用到軟體工程上的知識。許多應用都需要軟體工程,在軟體開發的許多程式中也需要軟體工程。軟體工程的主要作用就是指導軟體專案的方方面面。在軟體工程中,軟體開發與各種市場活動緊密相連。軟體工程的方法學認為程式設計師在開發軟體的時候是處在一個團隊中的,而且在編寫程式時要符合軟體的需求,設計,以及客戶的利益。

  伴隨著開發技術的不斷進步,軟體開發過程也在不斷的改進。從早期的瀑布式***Waterfall***的開發模型直到最近開始興起的敏捷開發方法***Agile***,表現出來的是隨著時代的變化,軟體產業對於開發過程的認識也在不斷的變化,對於各種型別專案的理解方法也在發生著變化。在美國曾經有權威機構對軟體組織的績效做過評估,所得到結論是:軟體工程的專業分工不足,是造成品質低落、時程延誤、預算超支的最關鍵因素。2003年,The Standish Group年度報告指出,在他們調查的13522個專案中,有66%的軟體專案失敗、82%超出時程、48%推出時缺乏必需的功能,總計約550億美元浪費在不良的計劃、預算或軟體估算上。

  2 軟體工程的需求分析

  有一種觀點認為軟體工程是學習怎麼做軟體的,對吧?我認為,這種觀點算對,但不是全對。得到一個軟體產品,自然是軟體工程的目的所在,但是軟體工程所包含的卻不僅僅是這些。就拿軟體業界比較常見的例子來給大家講一下,這個例子就是蓋房子,我們蓋房子,是不是就買塊地,然後準備好建材,就哐當哐當地開始建房子了呢?大家明白不是這樣,要建好一座房子,先要對土地進行測量勘察,確定可以在上面建房屋,之後還得先規劃出整個房子的藍圖來,接下來才是對根據藍圖開始建房子。建好房子後,還得經過一些檢測,比如甲醛有沒有超標啊,包工頭有沒有偷工減料啊,這些都合格之後才能交付使用。於是有人入住了,住久了,發現浴室漏水,那就得修補一下。再住久了,住了幾十年,房子舊得不成樣子了,這時候它的壽命也到了終點了。

  軟體工程之所以叫軟體工程,就是因為它使用了工程學方法來幫助軟體開發,建築也是一門工程學,所以它們之間是會有些共通之處的,不信?請看:首先,我們在對土地進行測量勘察的時候,是在確定它是否適宜建房子,在軟體工程上來講,這個術語叫“可行性分析”,可行性分析的任務就是確定開發這個軟體是否在技術上可以做到,在資金上有充足支援,在市場上能夠受歡迎,如果答案是肯定的,那麼就可以繼續下一步的開發步驟。規劃出房子的藍圖,在軟體工程上被分為兩個過程:“需求分析”、“設計”。需求分析就是得到軟體需要做什麼,需要實現什麼功能。而設計就是告訴開發人員怎麼實現這些功能。也就是規劃出軟體的一個藍圖,在“編碼”階段再對其進行實現,這就對應著建房的關鍵階段,就是按照藍圖蓋好房子啦。房子在入住前需要檢測是否合格,軟體在交付給使用者使用的時候自然也需要檢測是否合格,這個階段叫做“測試”。檢測合格了,那就可以交付給使用者使用,在市場上銷售。軟體不可能完美無缺,所以在使用過程中,一定會出現某些問題,這時候就要將問題提交給軟體開發人員,修復問題,這個階段就是軟體過程中的“維護”階段。過了一段時間,這段時間可能很長,也可能很短,這軟體已經不適應生產力的發展了,那麼就可以正式宣告這軟體壽終正寢了,至此,軟體的生命週期才正式結束。

  我們還要注意,軟體生命週期包括制定計劃、需求分析和定義、軟體設計、程式編碼、軟體測試、執行維護這六個階段,是指一個計算機軟體從功能確定、設計直到不再使用該軟體的全過程。

  軟體工程,正是貫穿在一個軟體的整個生命週期中的。從開發某個軟體的計劃被提起或者立項,軟體工程就開始發揮著作用,用自己的一套方法體系,來指導軟體開發的整個過程。因此軟體工程不等於程式設計,程式設計只是軟體工程整個過程中的一個重要環節而已。據統計,在整個開發週期中,平均編碼這個過程只佔了整個週期的大約30%的時間。

  3 軟體工程原則

  軟體工程學主要是用來對軟體開發和維護進行指導,是為了經濟地獲得能夠在實際機器上有效執行的可靠軟體而建立和使用的一系列完整的工程化原則。它充分的運用電腦科學、數學及管理科學等方面的知識,並借鑑傳統工程的原則、方法來完成開發軟體的任務,這樣就能夠最大限度的開發高質量的軟體,並且能夠減少成本。

點選下頁還有更多>>>