軟體工程(速成) 第一章 軟體與軟體工程

2021-10-09 00:14:55 字數 2921 閱讀 4182

一、軟體危機

1.software=program+data+document

2.軟體的特點:

(1)無形

(2)副本製作簡單

(3)無磨損

3.軟體危機:是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。

4.軟體危機的典型表現:

(1)對軟體開發成本和進度的估計常常很不準確;

(2)使用者對「已完成的」軟體系統不滿意的現象經常發生;

(3)軟體產品的質量往往靠不住;

(4)軟體常常是不可維護的;

(5)軟體通常沒有適合的文件資料;

(6)軟體成本在計算機系統總成本中所佔的比例逐年上公升;

(7)軟體開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。

5.產生軟體危機的原因:

一方面與軟體本身的特點有關,另一方面也和軟體開發與維護的方法不正確有關。

二、軟體工程

1.中心思想:

把軟體當作一種工業產品,要求採用工程化的原理與方法對軟體進行計畫、開發和維護。

2.目的:

實現按預期的進度和經費完成軟體生產計畫,提高軟體的生產率和可靠性。

3.基本流程:

(1)首先進行系統調查和系統分析;

(2)再進行邏輯設計、物理設計;

(3)最後才編制實施;

(4)反覆測試;

(5)試執行後,再投入長期執行;

(6)在執行中不斷維護、完善。

三、軟體生命週期

四、軟體工程模型

1.瀑布模型:

(1)階段具有順序性和依賴性

(2)推遲實現的觀點

(3)質量保證的觀點

瀑布模型基本上是一種文件驅動的模型

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

缺點: 使用者只能通過文件了解產品,很可能導致最終開發出的軟體產品不能真正滿足使用者的需要。

2.快速原型模型:

快速原型的本質是「快速」,快速原型模型是不帶反饋環的

優點: 有助於保證使用者的真實需要的得到滿足;軟體產品的開發基本上是線性順序進行的。

缺點: 系統結構通常較差;使用者可能混淆原型系統和最終系統。

3.增量模型:

增量模型也稱為漸增模型。使用增量模型開發軟體時,把軟體產品作為一系列的增量構件來設計、編碼、整合和測試。使用增量模型時,第乙個增量構件往往實現軟體的基本需求,提供最核心的功能。

優點: 能在較短時間內向使用者提交可完成部分工作的產品;逐步增加產品功能可以使使用者有較充裕的時間學習和適應新產品。

難點: 軟體體系結構必須是開放的;不同的構件可能無法整合到一體。

4.螺旋模型:

螺旋模型的基本思想是:使用原型及其他方法來盡量降低風險。

理解這種模型的乙個簡便方法,是把它看作在每個階段之前都增加了風險分析過程的快速原型模型。適用於內部開發的大規模軟體專案。

優點: (風險驅動)對可選方案和約束條件的強調有利於已有軟體的重用,也有助於把軟體質量作為軟體開發的乙個重要目標;減少了過多測試和測試不足所帶來的風險;維護和開發之間並沒有本質區別。

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

5.噴泉模型:

「噴泉」這個詞體現了物件導向軟體開發過程迭代和無縫的特性。

噴泉模型適用於物件導向的軟體開發

優點: 各個階段沒有明確的界限,開發人員可以同步開發;降低錯誤的可能性。

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

五、rational統一過程(略)

練習題:

1.軟體是一種( )。

a、程式

b、資料

c、邏輯產品

d、物理產品

2.軟體生存週期中花費最多的階段是( )。

a、詳細設計

b、軟體編碼

c、軟體測試

d、軟體維護

3.軟體開發方法是( )。

a、指導軟體開發的一系列規則和約定

b、軟體開發的步驟

c、軟體開發的技術

d、軟體開發的思想

4.瀑布模型本質上是一種( )模型。

a、線性順序

b、順序迭代

c、線性迭代

d、能及早見到產品的

5.在軟體開發模型中,提出最早、應用最廣泛的模型是( )。

a、瀑布模型

b、噴泉模型

c、快速原型模型

d、螺旋模型

6.瀑布模型不適合用於( )的軟體開發。

a、需求模糊不清

b、使用者不能參與開發

c、使用者對計算機不了解

d、開發人員對業務知識不熟悉

7.軟體工程的出現是由於( )。

a、軟體危機的出現

b、計算機硬體技術的發展

c、軟體社會化的需要

d、計算機軟體技術的發展

8.軟體在執行和使用中也存在退化問題。()

9.軟體危機的產生主要是因為程式設計人員使用了不適當的程式語言。()

10.軟體同其他事物一樣,有孕育、誕生、成長、成熟和衰亡的生存過程。()

11.原型是軟體的乙個早期可執行的版本,它反映最終系統的部分重要特性。()

12.軟體開發過程中,乙個錯誤發現得越晚,為改正它所付出的代價就越大。()

選擇題答案:cdaaaaa

判斷題答案:對錯對對對

第一章軟體危機與軟體工程

第一章軟體危機與軟體工程 1.1 軟體的定義是什麼 計算機軟體是與計算機系統操作有關的程式 規程 規則及任何與之有關的文件和資料。軟體的含義 軟體是程式 資料以及文件的完整組合 研製了軟體設計和生產的方法與工具,從而為 文件加程式 文件是軟體質的部分 程式是文件 化的表現形式 軟體的正確含義 1.執...

軟體工程 第一章作業

1.什麼是軟體生命週期模型?是比較瀑布模型 快速還原模型 增量模型和螺旋模型的優缺點,說明每種模型的使用範圍。軟體生命週期模型指的是軟體開發全部過程 活動和任務的結構框架。瀑布模型 快速還原模型 增量模型 螺旋模型 優點 可強迫開發人員採用規範的方法 不帶反饋環,軟體開發 能在較短時間內向用 對可選...

軟體工程複習 第一章

第一章 1 軟體危機 在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題 原因 與軟體本身特點有關 測試 規模 可預見性 與開發與維護方法的不正確有關 忽視需求分析與軟體維護 解決 正確認識計算機軟體 技術措施 組織管理措施 2 軟體工程 軟體工程正是從管理和技術兩方面研究如何更好地開發和維護計算...