本課程通過實踐練習演示軟件工程,需求工程和測試的基礎知識和應用。
軟體工程 5天
第一天: Project Management
- 專案與生產線管理、維護和支援
- 項目定義和專案形式
- 管理 – 一般規則和專案管理
- 管理風格
- IT專案有什麼特別之處?
- 專案基本流程
- 反覆運算式、增量式、瀑布式、敏捷式、精益式專案流程
- 項目階段
- 專案角色
- 項目檔和其他人工製品
- 軟因素和人性化因素
- PRINCE 2、PMBOK、PMI、IPMA等項目標準
第 2 天:業務分析和 Requirements Engineering 基礎知識
- 定義業務目標
- Business 分析、業務流程管理、業務流程改進
- 業務分析與系統分析之間的邊界
- 系統利益相關者、系統使用者、系統上下文和系統閨房
- 為什麼需要要求?
- 什麼我們要求工程
- 需求工程和建築設計之間的界限
- 需求工程通常隱藏在哪裡?
- 反覆運算、精益和敏捷開發以及持續集成中的需求工程 – FDD、DDD、BDD、TDD
- 基本需求工程流程、角色和工件
- 標準和認證:BABOK、ISO/IEEE 29148、IREB、BCS、IIBA
第3天:架構和開發基礎知識
- 程式設計語言 – 結構和面向物件範式
- 面向對象開發——多少是歷史,多少是未來
- 架構的模組化、可移植性、可維護性和可擴充性
- 軟體架構的定義和類型
- 企業架構和系統架構
- 程式設計風格
- 程式設計環境
- 程式設計錯誤以及如何避免和預防它們
- 對體系結構和元件進行建模
- SOA、Web Services 和微服務
- 自動構建和持續集成
- 一個專案有多少架構設計?
- 極限程式設計、TDD 和重構
第4天:質量保證和測試基礎知識
- 產品品質:它是什麼?ISO 25010、FURPS等
- 產品品質、用戶體驗、卡諾模式、客戶體驗管理與整體品質
- 以使用者為中心的設計、角色和其他方式,使品質個人化
- 恰到好處的品質
- 品質保證和品質控制
- 品質控制中的風險策略
- 質量保證的組成部分:需求、過程控制、配置和變更管理、驗證、確認、測試、靜態測試和靜態分析
- 基於風險的質量保證
- 基於風險的測試
- 風險驅動型開發
- Boehm在品質保證和測試方面的曲線
- 四所考試學校——哪所適合您的需求?
第5天:流程類型、成熟度和流程改進
- IT流程的演變:從艾倫·圖靈(Alan Turing)到藍色巨人(Big Blue),再到精益創業
- 流程和面向流程的組織
- 手工藝和工業的工藝歷史
- 流程建模:UML、BPMN 等
- 流程管理、流程優化、流程再造和流程管理系統
- 創新工藝方法:Deming、Juran、TPS、Kaizen
- (過程)質量是免費的嗎?(菲力浦·克羅斯比)
- 成熟度提升的需求和歷史:CMMI、SPICE等成熟度量表
- 特殊類型的成熟度:TMM、TPI(用於測試)、需求工程成熟度(Gorschek)
- 流程成熟度與產品成熟度:有關聯嗎?有什麼因果關係嗎?
- 流程成熟度與業務成功:有關聯嗎?有什麼因果關係嗎?
- 被遺忘的教訓:自動化缺陷預防和生產力的下一次飛躍
- 嘗試:TQM、六西格瑪、敏捷回顧、流程框架
Requirements Engineering - 2 天
第 1 天:需求獲取、協商、整合和 Management
- 查找需求:內容、時間和由誰
- 利益相關者分類
- 被遺忘的利益相關者
- 定義系統上下文 – 定義需求源
- 啟發方法和技術
- 通過測試(探索性和其他方式)獲取原型、角色和需求
- 行銷和需求獲取 – MDRA(“市場驅動 Requirements Engineering”)
- 優先順序需求:MoSCoW、Karl Wiegers 和其他技術(包括敏捷 MMF)
- 細化需求 – 敏捷的“實例規範”
- 需求協商:衝突類型、衝突解決方法
- 解決某些類型需求之間的內部不一致(例如安全性與易用性)
- 需求可追溯性 – 為什麼以及如何
- 需求狀態更改
- 要求 CCM、版本控制和基線
- 需求的產品檢視和項目檢視
- 專案中的產品管理和需求管理
第 2 天:需求分析、建模、規範、驗證和確認
- 分析是你在啟發和規範之間所做的思考和重新思考
- 需求過程始終是反覆運算的,即使在連續的專案中也是如此
- 用自然語言描述需求:風險和收益
- 需求建模:收益和成本
- 使用自然語言進行需求規範的規則
- 定義和管理需求術語表
- UML,BPMN 和其他形式和半形式的需求建模符號
- 使用文件和句子範本進行需求描述
- 驗證需求 – 目標、級別和方法
- 驗證 – 包括原型設計、審查和檢查以及測試
- 需求驗證和系統驗證
測試 - 2 天
第 1 天:測試設計、測試執行和探索性測試
- 測試設計:在基於風險的測試之後,選擇最佳方式來利用可用的時間和資源
- “從無窮大到這裡”的測試設計——無法進行詳盡的測試
- 測試用例和測試場景
- 各種測試級別(從單元測試到系統測試級別)的測試設計
- 靜態和動態測試的測試設計
- Business以技術為導向的測試設計(“黑盒”和“白盒”)
- 試圖破壞系統(「負面測試」)和支援開發人員(驗收測試)
- 實現測試覆蓋率的測試設計 – 各種測試覆蓋率措施
- 基於經驗的測試設計
- 根據需求和系統模型設計測試用例
- 測試設計啟發式和探索性測試
- 何時設計測試用例?– 傳統和探索性的方法
- 描述測試用例 - 有多少細節?
- 測試執行 – 心理方面
- 測試執行 - 紀錄記錄和報告
- 為「非功能」測試設計測試
- 自動測試設計和MBT(基於模型的測試)
第2天:測試組織、Management和自動化
- 測試等級(或階段)
- 誰進行測試,何時進行?– 各種解決方案
- 測試環境:成本、管理、訪問、責任
- 模擬器、模擬器和虛擬測試環境
- 在敏捷 Scrum 中進行測試
- 測試團隊的組織和角色
- 測試流程
- 測試自動化 – 哪些可以自動化?
- 測試執行自動化 – 方法和工具
United Arab Emirates - Software Engineering, Requirements Engineering and Testing
Qatar - Software Engineering, Requirements Engineering and Testing
Egypt - Software Engineering, Requirements Engineering and Testing
Saudi Arabia - Software Engineering, Requirements Engineering and Testing
South Africa - Software Engineering, Requirements Engineering and Testing
Brasil - Software Engineering, Requirements Engineering and Testing
Canada - Software Engineering, Requirements Engineering and Testing
中国 - Software Engineering, Requirements Engineering and Testing
香港 - Software Engineering, Requirements Engineering and Testing
澳門 - Software Engineering, Requirements Engineering and Testing
台灣 - Software Engineering, Requirements Engineering and Testing
USA - Software Engineering, Requirements Engineering and Testing
Österreich - Software Engineering, Requirements Engineering and Testing
Schweiz - Software Engineering, Requirements Engineering and Testing
Deutschland - Software Engineering, Requirements Engineering and Testing
Czech Republic - Software Engineering, Requirements Engineering and Testing
Denmark - Software Engineering, Requirements Engineering and Testing
Estonia - Software Engineering, Requirements Engineering and Testing
Finland - Software Engineering, Requirements Engineering and Testing
Greece - Software Engineering, Requirements Engineering and Testing
Magyarország - Software Engineering, Requirements Engineering and Testing
Ireland - Software Engineering, Requirements Engineering and Testing
Luxembourg - Software Engineering, Requirements Engineering and Testing
Latvia - Software Engineering, Requirements Engineering and Testing
España - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Italia - Software Engineering, Requirements Engineering and Testing
Lithuania - Software Engineering, Requirements Engineering and Testing
Nederland - Software Engineering, Requirements Engineering and Testing
Norway - Software Engineering, Requirements Engineering and Testing
Portugal - Software Engineering, Requirements Engineering and Testing
România - Software Engineering, Requirements Engineering and Testing
Sverige - Software Engineering, Requirements Engineering and Testing
Türkiye - Software Engineering, Requirements Engineering and Testing
Malta - Software Engineering, Requirements Engineering and Testing
Belgique - Software Engineering, Requirements Engineering and Testing
France - Software Engineering, Requirements Engineering and Testing
日本 - Software Engineering, Requirements Engineering and Testing
Australia - Software Engineering, Requirements Engineering and Testing
Malaysia - Software Engineering, Requirements Engineering and Testing
New Zealand - Software Engineering, Requirements Engineering and Testing
Philippines - Software Engineering, Requirements Engineering and Testing
Singapore - Software Engineering, Requirements Engineering and Testing
Thailand - Software Engineering, Requirements Engineering and Testing
Vietnam - Software Engineering, Requirements Engineering and Testing
India - Software Engineering, Requirements Engineering and Testing
Argentina - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Chile - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Costa Rica - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Ecuador - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Guatemala - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Colombia - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
México - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Panama - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Peru - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Uruguay - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Venezuela - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Polska - Software Engineering, Requirements Engineering and Testing
United Kingdom - Software Engineering, Requirements Engineering and Testing
South Korea - Software Engineering, Requirements Engineering and Testing
Pakistan - Software Engineering, Requirements Engineering and Testing
Sri Lanka - Software Engineering, Requirements Engineering and Testing
Bulgaria - Software Engineering, Requirements Engineering and Testing
Bolivia - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Indonesia - Software Engineering, Requirements Engineering and Testing
Kazakhstan - Software Engineering, Requirements Engineering and Testing
Moldova - Software Engineering, Requirements Engineering and Testing
Morocco - Software Engineering, Requirements Engineering and Testing
Tunisia - Software Engineering, Requirements Engineering and Testing
Kuwait - Software Engineering, Requirements Engineering and Testing
Oman - Software Engineering, Requirements Engineering and Testing
Slovakia - Software Engineering, Requirements Engineering and Testing
Kenya - Software Engineering, Requirements Engineering and Testing
Nigeria - Software Engineering, Requirements Engineering and Testing
Botswana - Software Engineering, Requirements Engineering and Testing
Slovenia - Software Engineering, Requirements Engineering and Testing
Croatia - Software Engineering, Requirements Engineering and Testing
Serbia - Software Engineering, Requirements Engineering and Testing
Bhutan - Software Engineering, Requirements Engineering and Testing
Nepal - Software Engineering, Requirements Engineering and Testing
Uzbekistan - Software Engineering, Requirements Engineering and Testing