軟體工程導論 軟體工程學概述

2021-10-22 06:55:42 字數 2138 閱讀 3630

軟體工程關注於大型程式的構造

軟體工程的中心課題是控制複雜性

軟體經常變化

開發軟體的效率非常重要

和諧的合作是開發軟體的關鍵

軟體必須有效地支援它的使用者

在軟體工程領域中通常由具有一種文化背景的人替具有另一種文化背景的人創造產品

用分階段的生命週期計畫嚴格管理

堅持進行階段評審

實行嚴格的產品控制

採用現代程式設計技術

結果應能清楚地審查

開發小組的成員應該少而精

承認不斷改進軟體工程實踐的必要性

傳統方法學:也稱為生命週期方法學或結構化范型。它採用結構化技術(結構化分析、結構化設計和結構化實現)來完成軟體開發的各項任務,並使用適當的軟體工具或軟體工程環境來支援結構化技 術的運用。

特點:傳統方法學把軟體生命週期的全過程依次劃分為若干個階段,然後順序地完成每個階段的任務。 每個階段的開始和結束都有嚴格標準,對於任何兩個相鄰的階段而言,前一階段的結束標準就是後一階段的開始標準。在每乙個階段結束之前都必須進行正式嚴格的技術審查和管理複審。

物件導向方法學:與傳統方法相反,物件導向方法把資料和行為看成是同等重要的, 它是一種以資料為主線,把資料和對資料的操作緊密地結合起來的方法。

四個要點:①把物件(object)作為融合了資料及在資料上的操作行為的統一的軟體構件。②把所有物件都劃分成類。③按照父類與子類的關係,把若干個相關類組成乙個層次結構的系統。④物件彼此間僅能通過傳送訊息互相聯絡。

軟體工程三要素:方法,工具,過程

特點:①階段間具有順序性和依賴性②推遲實現的觀點③質量保證觀點

優點:①可強迫開發人員採用規範的方法②嚴格地規定了每個階段必須提交的文件③ 要求每個階段交出的所有產品都必須經過質量保證小組的仔細驗證。

缺點:由於瀑布模型幾乎完全依賴於書面的規格說明,很可能導致最終開發出的軟體產品不能真正滿足使用者的需要。如果需求規格說明與使用者需求之間有差異,就會發生這種情況。瀑布模型只適用於專案開始時需求已確定的情況。

使用範圍:①使用者的需求非常清楚全面,且在開發過程中沒有或很少變化②開發人員對軟體的應用領域很熟悉③使用者的使用環境非常穩定④開發工作對使用者參與的要求很低

概念:快速原型是快速建立起來的可以在計算機上執行的程式,它所能完成的功能往往是最終產品能完成的功能的乙個子集(實現核心功能的工作機)。

優點:軟體產品的開發基本上是線性順序進行的

缺點:準確的原型設計比較困難

使用範圍:①對所開發的領域比較熟悉而且有快速的原型開發工具②適用於進行產品移植或公升級時,或對已有產品原型進行客戶化工作時。

概念:增量模型也稱為漸增模型。使用增量模型開發軟體時, 把軟體產品作為一系列的增量構件來設計、編碼、整合和測 試。每個構件由多個相互作用的模組構成,並且能夠完成特定的功能。使用增量模型時,第乙個增量構件往往實現軟體的基本需求,提供最核心的功能。

優點:能在較短時間內向使用者提交可完成部分工作的產品;逐步增加產品功能可以使使用者有充裕的時間學習和適用新產品,從而減少乙個全新軟體可能給客戶組織帶來的衝擊。

使用範圍:進行已有產品公升級或新版本開發;對完成期限嚴格要求的產品

概念:螺旋模型的基本思想是,使用原型及其他方法來盡量降低 風險。理解這種模型的乙個簡便方法,是把它看作在每個階 段之前都增加了風險分析過程的快速原型模型。

優點:①設計上的靈活性,可以在專案的各個階段進行變更②以小的分段來構建大型系統。使成本計算變的更加簡單

缺點:過多的迭代次數會增加開發成本,延遲提交時間

使用範圍:只適合於大規模的軟體專案

​​​​​​​概念:「噴泉」這個詞體現了物件導向軟體開發過程迭代和無縫的特性。迭代是軟體開發過程中普遍存在的一種內在屬性。用物件導向方法學開發軟體時,工作重點應該放在生命週期中的分析階段。

優點:各個階段沒有明顯得界限,開發人員可以同步進行開發。提高了專案開發效率,節省開發時間

缺點:需要大量開發人員,不利於專案的管理,要求嚴格管理文件,使得審核的難度加大

使用範圍:物件導向的軟體開發過程

迭代式開發

管理需求

使用基於構件的體系結構

視覺化建模

驗證軟體質量

控制軟體變更

軟體工程學概述

第一章 軟體工程學概述 1.1軟體危機 表現 對軟體開發成本和進度估計不準確 使用者對已完成的軟體常常不滿意 軟體質量不可靠 軟體不可維護 軟體缺乏適當文件 軟體成本佔計算機系統總成本比例逐年上公升 軟體開發生產率提高的速度更不上計算機應用普及的速度 原因 軟體 軟體維護通常意味著改正或者修改原來的...

軟體工程導論 第一章 軟體工程學概述

引言 文章是按照markdown格式寫的,可直接複製到markdown上進行檢視 第一章 軟體工程學概述 1.1 軟體危機 軟體危機的介紹 軟體危機是指在計算機開發和維護過程中所遇到的一系列嚴重的問題 主要包含以下兩個問題 1.如何開發軟體,以滿足對軟體日益增長的需求 2.如何維護數量不斷膨脹的已有...

軟工 軟體工程學概述

軟體工程學主要介紹了軟體危機,然後簡單的介紹了軟體工程,下面根據上面的導圖介紹一下主要內容 1 軟體危機 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題 1 包含兩方面的問題 如何開發軟體,以滿足對軟體日益增長的需求 如何維護數量不斷膨脹的已有軟體 2 產生軟體危機的原因主要有兩方...