在本章中,你能夠學到:
軟體開發過程中的問題
解決軟體開發過程通常問題的六個軟體工程實踐
軟體工程過程為軟體工程實踐提供的支援
軟體開發問題的症狀:
軟體工程的六個實踐:
迭代開發
管理需求
基於元件的構架
視覺化建模
持續的質量驗證
管理變更
注釋:迭代開發
迭代開發與瀑布型的開發方法不同,它將軟體開發的過程劃分為多個迭代,每個迭代都會生成乙個反映系統某一部分的構建版本,到最後乙個迭代時,整個系統的完全被實現。
每乙個迭代都關注在某些需求集得識別、定義和分析上,並且基於這些需求的理解來設計、構建和測試軟體。
瀑布型開發的特點:
瀑布型的開發從概念上講是簡單的,因為它只產生乙個單一的交付產物,。這個開發方法的基本問題是它將風險的識別推遲到專案的後期,這樣將會使出來風險的成本非常高
風險的分析
迭代開發首先產生系統的構架,允許整合作為設計階段的「驗證活動」,並且允許在專案的更早時期發現並解決設計的缺陷。貫穿於整個專案的持續的整合代替了在專案末期的一次性的重大整合。
管理需求:
管理需求包括將軟體涉眾的要求轉換為關鍵涉眾的需求和系統特性的集合。這些集合隨後將被細化成為功能和非功能的需求說明。詳細的說明被轉化為設計、使用者文件和測試。
對軟體來說,需求是測試的關鍵輸入。
用例概念
用例是一種以關注終端使用者目標的角度定義需求的技術。他們在迭代式開發過程中被廣泛的使用。例如rup
參與者:不是系統的一部分、它代表了與系統互動的終端使用者或者外部系統的角色。
------能夠與系統交換資訊
-------能夠被動的 接收資訊
====能夠是資訊的提供者
能夠代表人、機器或者其他系統
用例: 說明了參與者與系統的對話
被乙個參與者發起,呼叫系統的某個功能
是有意義的、流程相關的事件的集合;
產生有觀察價值的結果。。
實踐三:基於元件的架構
軟體架構是乙個軟體開發的產品,它能夠在質量、時間進度和成本上提供最大限度的投資回報。
該過程在全力以赴開發之前,關注於早期的開發和健壯可執行體系結構的基線。它描述了如何設計靈活的,可容納修改的,直觀便於理解的,並且促進有效軟體重用的彈性結構。
有彈性的基於元件的架構
滿足當前和未來的需求
改進擴充套件性
增強重用
封裝系統依賴
重用或者定製元件
從商業上得到的元件選擇
增量式的進化已存在的軟體
基於元件的架構的目地:
實踐四:視覺化的建模uml
開發過程顯示了對軟體如何顯示視覺化建模,捕獲體系結構和行為。
為什麼要視覺化建模呢?
捕獲結構和行為
顯示系統元素如何結合在一起
適當的隱藏或者展示細節
為所有的軟體從業者提供一種語言
實踐五:持續的質量驗證
達到質量不僅僅是簡單的「滿足需求」或者生成滿足使用者需要和期望的產品。質量也包括確定測量方法和質量標準,也包括確保結構產品能夠達到適當的質量要求的過程實現。
軟體模型:
uml能夠被用於產生代表軟體系統不同方面和檢視的一系列的模型。幾個模型是對於完整的描述系統是非常有用的,不同的軟體活動會產生這些模型。每個模型都是被多次的增量迭代開發出來的。
實踐六:管理變更
統一變更管理(ucm)是ibmrational 軟體在軟體系統開發中(從需求到發布)管理變更的方法。
你想控制什麼??
軟體工程 第一章作業
1.什麼是軟體生命週期模型?是比較瀑布模型 快速還原模型 增量模型和螺旋模型的優缺點,說明每種模型的使用範圍。軟體生命週期模型指的是軟體開發全部過程 活動和任務的結構框架。瀑布模型 快速還原模型 增量模型 螺旋模型 優點 可強迫開發人員採用規範的方法 不帶反饋環,軟體開發 能在較短時間內向用 對可選...
軟體工程複習 第一章
第一章 1 軟體危機 在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題 原因 與軟體本身特點有關 測試 規模 可預見性 與開發與維護方法的不正確有關 忽視需求分析與軟體維護 解決 正確認識計算機軟體 技術措施 組織管理措施 2 軟體工程 軟體工程正是從管理和技術兩方面研究如何更好地開發和維護計算...
第一章 軟體工程概論
一 軟體的概念,特點和分類方法 軟體是計算機系統中與硬體相互依存的一部分,它是包括程式,資料及其相關文件的完整集合 軟體特點 是一種邏輯實體,具有抽象性 對計算機系統有著不同程度的依賴 本身是複雜的。包括實際問題的複雜性,程式邏輯問題的複雜性 軟體分類 功能劃分 系統軟體 作業系統,資料庫管理系統,...