軟體工程期末考試複習(一) 軟體危機軟體工程軟體生命周期軟體工程
- 2019 年 10 月 5 日
- 筆記
軟體工程學概述
軟體危機
1、軟體危機是指在電腦軟體的開發和維護過程中所遇到的一系列嚴重問題。
2、軟體危機的主要典型表現:
- 對軟體開發成本和進度的估計常常不準確
- 用戶對已完成的軟體系統不滿意現象經常發生
- 軟體產品的品質往往靠不住
- 軟體常常是不可維護的
- 軟體通常沒有適當的文檔資料
- 軟體成本在電腦系統中所佔的比例逐年上升
- 軟體開發生成和電腦應用更新的速度不匹配
3、產生軟體危機的原因一方面與軟體本身的特點有關,另一方面也和軟體維護的方法不正確有關即人為因素
4、軟體的生命周期:軟體開發經歷的漫長周期。
5、軟體的定義:電腦程式、方法、規則、相關的文檔資料以及在電腦上運行時所必須的數據。
軟體工程
1、軟體工程的定義:
①早期定義:軟體工程就是為了經濟地獲得可靠的且能在實際機器上有效運行的軟體,而建立和使用完善的工程原理。
②把系統的、規範的、可度量的途徑應用於軟體開發、運行和維護過程,也就是把工程應用於軟體,以及研究以上提到的途徑。
2、軟體工程的本質特性:
- 軟體工程關注於大型程式的構造
- 軟體工程的中心課題是控制複雜性
- 軟體經常變化
- 開發軟體的效率非常重要
- 和諧的合作是開發軟體的關鍵
- 軟體必須有效地支援它的用戶
3、軟體工程的基本原理:
- 用分階段的生命周期計劃嚴格管理
- 堅持進行階段評審
- 實行嚴格的產品控制
- 採用現代程式設計技術
- 結果應能清楚地審查
- 開發小組的人員應該少而精
- 承認不斷改進軟體工程實踐的必要性
4、軟體工程學方法的三要素:工具、方法和過程
5、目前使用廣泛的軟體工程學方法,分別是傳統方法學和面向對象方法學。
軟體生命周期
1、概況地說,軟體生命周期由軟體定義、軟體開發和運行維護三個時期組成
2、軟體生命周期每個階段的基本任務
- 軟體定義
1.1問題定義
1.2可行性研究
1.3需求分析
2.軟體開發
2.4總體設計
2.5詳細設計
2.6編碼和單元測試
2.7綜合測試
3.運行維護
3.8軟體維護
軟體工程
1、軟體開發設計模型:瀑布模型
- 特點:①階段間具有順序性和依賴性 ②推遲實現的特點 ③品質保證的特點
- 優點:可強迫開發人員採用規範的方法;嚴格規定了每個階段必須提交的文檔;要求每個階段交出的所有產品都必須經過品質;要求每個階段交出的所有產品都必須經過品質保證小組的仔細檢查。
- 缺點:不能應對需求的變化,由文檔驅動
2、Rational統一過程由RUP公司提出
最佳實踐:
- 迭代式開發
- 管理需求
- 使用基於構件的體系結構
- 可視化建模
- 驗證軟體品質
- 控制軟體變更