課程簡介
你需要學這門課么?
如果你是天才,你不需要學。因為課程里的規則和方法都太簡單了,太顯而易見了;
如果你是傻子,你千萬別學。因為死搬硬套規則和方法,到了實踐中不僅毫無用處,還會害人不淺。
如果你現在或將來是一位軟件開發人員,那還猶豫什么?這門課可以讓你把軟件工程當中枯燥乏味的規則和方法瞬間和你的生活關聯起來,讓你發出會心一笑:原來如此!
本課程首先帶你了解軟件工程的基本概念,重點強調大家容易忽視的兩個開發階段:需求分析和測試。然后理性分析目前流行的敏捷開發方法SCRUM和XP,提醒大家不要過分迷信。考慮到面向對象技術在軟件開發中的重要地位,在掌握了基本的面向對象技術和UML之后,我們通過一個完整案例來展示如何用UML來記錄面向對象開發過程。
本課程會進一步介紹目前軟件開發各階段的自動化方法和工具,通過視頻演示和小實驗的方式,讓大家親密接觸自動化工具,提高開發效率。最后可以協作完成持續集成和持續部署的工作。
除此之外,課程突出了過程改進,質量保證和軟件復用這三個目前備受關注的軟件工程主題。
展開
課程章節
- 第一章 軟件工程基礎
- 1.1 軟件工程的前生今世
- 1.2 萬變不離其宗
- 1.3 唯一不變的是變化
- 1.4 亡羊補牢為時不晚
- 擴展閱讀與話題討論
- 第二章 敏捷開發
- 2.1 方法論來源于恐懼
- 2.2 敏捷是什么
- 2.3 典型敏捷開發方法
- 2.4 敏捷不是萬能藥
- 專家談敏捷
- 擴展閱讀與話題討論
- 第三章 OO與UML
- 3.1 面向對象核心概念和基本特性
- 3.2 面向對象設計基本原則
- 3.3 通用職責分配模式(GRASP)
- 3.4 從重構到模式
- 3.5 使用UML設計面向對象系統
- 3.6 主要UML模型圖繪制技巧
- 擴展閱讀與話題討論
- 第四章 對象模型分析
- 4.1 案例簡介
- 4.2 對象模型之一
- 4.3 對象模型之二
- 4.4 對象模型之交互
- 擴展閱讀與話題討論
- 第五章 軟件自動化技術
- 5.1 軟件自動化概述
- 5.2 典型自動化方法和工具
- 5.3 文檔自動化
- 5.4 測試自動化
- 專家訪談
- 擴展閱讀與話題討論
- 第六章 CI/CD與DevOps
- 6.1 持續集成
- 6.2 持續交付和部署
- 6.3 DevOps
- 專家訪談
- 擴展閱讀與話題討論
- 第七章 軟件質量保證
- 7.1 質量和質量保證
- 7.2 軟件質量模型
- 7.3 SQA組織與職責
- 7.4 全面軟件質量管理
- 專家訪談
- 擴展閱讀與話題討論
- 第八章 軟件過程改進
- 8.1 軟件過程綜述
- 8.2 軟件過程改進
- 8.3 能力成熟度模型
- 8.4 過程改進標準框架
- 擴展閱讀與話題討論
- 第九章 軟件復用
- 9.1軟件復用綜述
- 9.2 軟件構件技術
- 9.3 軟件復用實施
- 9.4 微服務架構
- 擴展閱讀與話題討論
- 文檔提交處
- 文檔提交
授課教師
-
高玉金 北京理工大學 計算機學院 講師
高玉金,博士,北京理工大學計算機學院教師。多年講授本科生課程《軟件工程基礎》和碩士研究生課程《軟件工程與軟件自動化》,曾參與北京理工大學MOOC課程《大學計算機》的制作。
精華筆記
精華筆記正在評選中,去看看全部筆記
常見問題
如何計算課程成績?
課程成績計算方法為: 個人最終成績 = 練習題成績70分+實踐文檔提交30分 說明:實踐文檔請提交搭建持續集成和持續部署的環境搭建實驗報告。包含:所需工具,搭建過程,關鍵配置信息,個人總結等。
如何學好這門課?
不需要死記硬背;沒有期末考試;不用熬夜寫代碼;只需要聽一聽授課視頻,看一看提供的參考資料,寫一寫簡明扼要的分析設計文檔,做一做由自動化工具構成的小實驗,玩一玩團隊協作小游戲。此外,如果你學有余力,實現了所要求的功能,還能獲得加分哦。