軟體工程複習

2021-09-29 13:50:58 字數 3533 閱讀 3716

1.1.1軟體產品的概念與分類

軟體:軟體是計算機系統中與硬體相互依存的另一部分,它是包括程式、資料及其相關文件的完整合集

軟體產品:軟體產品是乙個資訊轉換器

功能為產生、管理、獲取、修改、顯示或轉換資訊

角色:1)產品:表達了由計算機硬體體現的計算潛能

2)開發和執行產品的載體:計算機控制、資訊通訊的基礎,建立和控制其他軟體的基礎

軟體的分類

1.1.2軟體產品的特徵

1)軟體是一種邏輯實體,具有抽象性

2)軟體的生產與硬體不同

3)軟體產品不會像硬體一樣「磨損」,但故障修復較硬體更難

1.1.3軟體階段的劃分

1)20世紀40年代:「程式」一詞出現

2)20世紀50--60年代:程式設計階段

3)20世紀60--70年代:程式系統階段

4)20世紀70年代後:軟體工程階段

1.2.1概念:軟體開發和軟體維護過程中所存在的一系列問題

1.2.2軟體危機的表現

1)軟體開發沒有計畫性,對軟體開發進度和軟體成本的估計不準確,計畫的制定有很大的盲目因素

2)對於軟體需求資訊的獲取常常不充分,軟體產品不能滿足使用者的實際需求

3)缺乏良好的軟體質量評測手段,從而導致產品的質量得不到保障

4)軟體的可理解性、可維護性認識不夠;軟體的可復用性、可維護性不夠

5)軟體開發過程不夠規範,難以維護

6)軟體開發的人力成本持續上公升

7)缺乏自動化的軟體開發技術

1.2.3產生軟體危機的原因

1)客觀原因:軟體產品的「不可視」特性導致開發軟體的過程難以管理和控制

2)主觀原因:計算機發展早期軟體開發的「個體化」特性,忽視了軟體需求分析大的重要性,和軟體的可理解性,使軟體難以維護

1.2.4解決軟體危機的途徑

1)借鑑其他工程領域的成功經驗,基於軟體危機的主客觀因素,從軟體工程技術和軟體工程管理兩方面採取措施,防範軟體危機的發生

2)從管理層面上考慮:

注意推廣和使用在實踐中總結的技術和方法

探索更好的技術和方法

積累軟體開發的經驗,消除以往的錯誤概念和做法

3)從技術角度上考慮:

開發和使用更好的軟體開發工具

提高軟體開發效率和開發工作的規範化程度

2023年首次提出了「軟體工程」這一術語

軟體工程是指導軟體開發和維護的學科。

核心思想:採用工程的概念、原理、技術和方法開發和維護軟體

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

軟體工程七項基本原則:

1)用分階段的生命週期計畫嚴格管理軟體工程過程

2)堅持在軟體工程過程中進行階段評測

3)實行嚴格產品控制

4)採用現代的開發技術進行軟體的設計與開發

5)工作結果應當是能夠清楚審查的

6)開發小組人員應當「少而精」

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

軟體工程是一種層次化的技術

軟體工程必須有以組織的軟體質量保證為基礎

過程層是軟體工程的基層,軟體工程過程是將技術層集合在一起的凝聚力

方法層涵蓋了需求方分析、設計、程式設計、測試、維護等環節。它依賴於一組基本原則,這些原則控制了每乙個技術區域,涉及到建模活動和其他描述技術

工具層對過程和方法提供支援,使得工程活動、管理活動得以自動、半自動的進行

1.5.1概念:軟體工程過程是用於開發或維護軟體及其相關產品的一系列活動,包括軟體工程活動和軟體管理活動

1.5.2軟體工程包括四種基本的過程活動:

1)軟體規格說明

2)軟體開發

3)軟體確認

4)軟體演進(執行與維護)

所有的軟體開發過程都可以看做乙個迴圈解決問題的過程。

包含四個階段:狀態描述、問題定義、技術開發、方案綜述

1.6.1線形順序模型

表示了軟體工程的線性順序模型,也稱為「瀑布模型」

表示了軟體開發系統的,順序的方法

缺點:不適應需求經常變更的環境,實際中很難嚴格按照該模型給出的順序執行

1.6.2原型模型

建立乙個簡化了的樣品程式執行,引導使用者通過對樣品的運**況的觀察,進一步明確需求。這種開發模式稱為原型模型

兩個前提:

1)使用者必須積極參與原型的建造

2)必須有快速開發環境可供使用

1.6.3快速應用開發模型

線性順序模型的乙個「高速」變種,強調極端的開發周期

開發階段:

1)業務建模

2)資料建模

3)處理建模

4)應用生成

5)測試及反覆

1.6.4演化軟體過程模型

基本思想:分期完成、分步提交

主要特點:迭代

重要前提:使用者的支援、理解和全程參與是成功採用演化模型的重要前提

演化模型兼具線形順序模型和原型模型的一些特性

根據開發的策略不同,又可分為「增量」模型和「螺旋」模型

1)增量模型

增量模型融合了線性順序模型的基本成分(重複的應用這些成分)和原型模型的迭代特徵

先發布乙個實現了軟體基本需求的核心產品,再迭代地對核心產品進行修改和增加新功能,直到產品完善

2)螺旋模型

螺旋模型也屬於演化軟體過程模型

將原型模型的迭代特性與線性順序模型中控制的和系統化的方面結合起來,使得能夠快速開發軟體的增量版本

已將開發了許多過程管理工具以幫助軟體組織分析他們當前的過程,協調組織工作任務,控制和監管進度以及技術質量

重用」是提公升軟體財富價值的有效途徑

包括知識重用方法重用軟體成分重用

軟體成分重用包括分析結果重用設計結果重用**重用

軟體工程複習

軟體包括哪些基本組成要素?什麼是軟體危機?軟體危機主要表現在哪些方面?主要特徵,內容 什麼是軟體工程?軟體工程的目標 軟體工程主要包括哪幾個基本要素?組成部份 軟體開發方法的定義 好的軟體的一些主要衡量指標 重點 mccall的質量模型 各指標的含義 軟體產品質量模型中有哪些指標?各個指標的基本含義...

軟體工程複習筆記(一)

一 軟體工程的概念 軟體 和計算機硬體相輔相成的,包括程式。文件 資料集合 軟體的分類 系統軟體 應用軟體 可復用軟體 支撐軟體 軟體工程 為了指導軟體的開發和維護而產生的乙個學科 軟體生存期 軟體定義 軟體開發 軟體執行和維護 軟體工程方法概論 三要素 方法 工具 過程 方法 物件導向 結構化 傳...

軟體工程 複習資料(2)

主要內容 可行性 可行性研究的含義 可行性研究的目的 可行性研究的任務 可行性研究的步驟 可行性分析的描述手段 成本 效益分析 要求 1 識記 可行性研究的任務及步驟,資料流圖及資料字典的描述方法 2 領會 成本效益分析的方法。一 可行性研究 含義 可行性研究又稱為可行性分析,可行性分析的物件是系統...