軟件工程學習路線圖 | 極客時間

軟件工程知識架構全景圖、應用解析及推薦書單

軟件工程是軟件行業知識體系的內核。無論你想走技術路線,還是轉向做管理,想要走的更快更穩,那就繞不開軟件工程。

軟件工程是一門實踐性很強的基礎學科,對技術人的整個軟件項目開發尤爲重要,我們理解了“學什麼”,現在就要解決“怎麼學”的問題。你要先知道,軟件工程的“知識樹”結構是什麼樣的,才能更好地理解每個知識點和彼此間的聯繫。

軟件工程知識架構全景圖

軟件工程的核心知識點,用一個簡單的公式來理解就是:軟件工程=過程+方法+工具。

在《軟件工程——實踐者的研究方法》這本經典軟件工程教材中,作者Roger S.Pressman畫了一張圖,高度概括了整個軟件工程的核心知識。

由圖可見,“質量焦點”在最底層,這不難理解,軟件工程是爲了應對軟件危機誕生的學科,其目標就是爲了要聚焦於質量,構建和維護高質量的軟件。可以說,聚焦於質量就是軟件工程的基石。

  • 過程

解決軟件過程中的混亂,將軟件開發過程中的溝通、計劃、建模、構建和部署等活動有效地組織起來。兩大主流的軟件過程指導框架:瀑布模型和敏捷開發。

思維導圖1

  • 過程

    • 瀑布模型
      • 瀑布模型
      • 增量模型
      • 迭代模型
      • 其他衍生模型
    • 敏捷開發
      • Scrum
      • 極限編程
      • 看板
      • 其他敏捷方法
  • 方法

如何分析用戶需求?如何對產品進行測試驗收?如何進行系統架構設計等?在軟件開發的整個過程中,你需要掌握構建系統的方法學。

思維導圖2

  • 方法

    • 項目定義和計劃
      • 可行性分析
      • 項目計劃
      • 流程規範
      • 風險管理
      • 配置管理
    • 需求分析
      • 需求分析
      • 變更管理
    • 設計
      • 架構設計
      • 技術選型
      • 重構
    • 編碼
      • 程序編碼
      • 單元測試、集成測試
      • 持續集成
    • 測試
      • 測試用例編寫
      • 功能測試、性能測試
      • 質量與安全
    • 運行維護
      • 版本發佈
      • 故障調試
      • 日誌分析
      • 線上監控
  • 工具

知道了過程,掌握了方法,那麼具體落到操作層面,就會涉及到工具的使用。你需要工具來輔助方法的執行,把一些手動的工作自動化,把流程規範化,提高編碼效率,並把一些流程規範起來。

思維導圖3

  • 工具
    • 項目管理
      • 任務跟蹤工具
      • 項目計劃工具
      • 團隊溝通工具
    • 需求分析
      • 需求跟蹤工具
      • 原型製作工具
    • 設計
      • UML建模工具
      • 圖標製作工具
    • 開發
      • 源代碼管理
      • 持續集成工具
    • 測試
      • Bug跟蹤工具
      • 測試管理平臺
      • 自動化測試工具
      • 壓力測試工具
    • 運行維護
      • 自動化部署
      • 日誌分析工具
      • 線上監控工具

戳此訂閱,獲得更多軟件工程的核心知識點

軟件工程應用解析

給了你軟件工程學的公式,也對軟件工程有了更爲全面的瞭解,看起來軟件工程學很簡單,但這些內容一下子要吃透也不容易。除了理論之外,你還需要學習國內外前沿的、典型的項目案例,這樣才能幫你真正理解軟件工程,並應用到軟件項目開發實踐中。

這些問題在專欄中都會有具體的案例幫你理解。

1、小團隊如何應用軟件工程?

  1. 小團隊的問題和瓶頸是什麼
  2. 軟件工程在哪些方面可以幫助改善
  3. 找到適合團隊的最佳實踐

2、以 VS Code 爲例,看大型開源項目是如何應用軟件工程的?

  1. 功能如何產生的
  2. Bug如何跟蹤修復
  3. 一個PR(Pull Request)的工作流程
  4. 如何測試和發佈

3、微軟、谷歌、阿里巴巴等大廠是怎樣應用軟件工程的?

  1. 微軟的MSF框架,Windows的項目管理
  2. 不差錢不缺人的谷歌是怎麼構建高質量產品的
  3. 阿里巴巴是怎樣通過軟件工程來保障像雙11這樣項目的質量的

4、從軟件工程的角度理解微服務、雲計算、人工智能。

  1. 跳出技術之外去理解新技術
  2. 新技術對軟件項目的開發和團隊構成的影響

戳此訂閱,學習更多案例

推薦書單 | 專欄之外的延伸學習

除了專欄的學習之外,我也推薦你一些書籍,你可以參考,作爲專欄內容的補充。

1.基礎理論篇

  • 《構建之法》作者:鄒欣

    • 系統性整理軟件工程知識點及技能要求
  • 《知行合一: 實現價值驅動的敏捷和精益開發》作者:叢斌

    • 深入分析敏捷開發和CMMI
  • 《軟件工程——實踐者的研究方法》作者:【美】羅傑 S.普萊斯曼(Roger S.pressman)

    • 高校軟件工程標準教材

2.經典篇

  • 《人月神話》作者:【美】弗雷德裏克·布魯克斯(Brooks,F.P.)

    • 40年暢銷不衰
  • 《人件》作者:美國 Tom DeMarco,Timothy Lister

    • 知識型企業的核心是人,而不是技術。

3.實踐篇

  • 《持續交付》作者:【英】Jez Humble , David Farley

    • 實現更快、更可靠、低成本的自動化軟件交付
  • 《走出軟件作坊》作者:阿朱

    • 國內小型IT企業如何解決軟件開發過程中的問題

更多精彩內容,訂閱後立即獲得

作者介紹

寶玉,碩士畢業於美國德保羅大學,團購鼻祖網站 Groupon 資深開發工程師,前上海衆遊技術總監,曾參加中國移動飛信項目的核心開發,微軟最有價值技術專家。

通過學習專欄,你將獲得

  • 拿來即用的軟件工程方法論
  • 日常工作的實戰場景剖析
  • 谷歌、微軟等公司的最佳實踐案例
  • 從軟件工程的視角來思考問題d

內容選自極客時間軟件工程之美專欄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章