1. 程式人生 > 其它 >軟體工程導論筆記

軟體工程導論筆記

軟體危機

早期時代(1960中期以前)

個體化的軟體環境:編寫者和使用者往往是同一個(或同一組)人

這種個體化的軟體環境,使得軟體設計通常是在人們頭腦中進行的一個隱含的過程,除了程式清單之外,沒有其他文件資料儲存下來

第二個時期(1960-1970)

軟體作坊:廣泛使用產品軟體

基本上仍然沿用早期形成的個體化軟體開發方法,許多程式的個體化特性使得他們最終成為不可維護的

1.1.1 軟體危機的介紹

軟體危機包含下述兩方面的問題:

  1. 如何開發軟體,以滿足對軟體日益增長的需求
  2. 如何維護數量不斷膨脹的已有軟體

軟體危機主要有以下一些典型表現:

  1. 對軟體開發成本和進度的估計常常很不準確
  2. 使用者對“已完成的”軟體系統不滿意的現象經常發生
  3. 軟體產品的質量往往靠不住
  4. 軟體常常是不可維護的
  5. 軟體通常沒有適當的文件資料
  6. 軟體成本在計算機系統中成本中所佔的比例逐年上升
  7. 軟體開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢

1.1.2 產生軟體危機的原因

  • 一方面與軟體本身的特點有關
  • 一方面也和軟體開發與維護的方法不正確有關
  1. 軟體是邏輯部件而不是物理部件

  2. 軟體維護通常意味著更正或修改原來的設計,這就在客觀上使得軟體較難維護

  3. 軟體不同於一般程式,它的一個顯著特點是規模龐大,而且程式複雜性將隨著程式的規模的增加而呈指數上升

  4. 錯誤的認識和做法主要表現為忽視軟體需求分析的重要性,認為軟體開發就是寫程式並設法使之執行,輕視軟體維護


軟體生命週期

  1. 問題定義
  2. 可行性研究
  3. 需求分析
  4. 開發時期
  5. 編寫程式
  6. 測試工作

1.1.3 消除軟體危機的途徑

軟體是程式、資料及相關文件的完整集合

程式:能夠完成預定功能和效能的可執行的指令序列

資料:是使程式能夠適當地處理資訊的資料結構

文件:開發、使用和維護程式所需要的圖文資料

1983年IEEE為軟體下的定義是:計算機程式、方法、規則、相關的文件資料以及在計算機上執行程式時所必須的資料,方法和規則通常是在文件中說明並在程式中實現的