1. 程式人生 > >2018-2019-1 20189221 《構建之法》第一周學習總結

2018-2019-1 20189221 《構建之法》第一周學習總結

維護 軟件設計 計算 質量 博客 決定 演講 實踐 指導

2018-2019-1 20189221 《構建之法》第1周學習總結

教材學習內容總結

第 1 章 概論

  • 理論和知識點:
    計算機科學的領域,軟件工程與計算機科學的關系,軟件的特性,軟件工程的定義與組成部分

1.1 軟件 = 程序 + 軟件工程

  • 程序 = 數據結構 + 算法
  • 簡單的應用程序--->滿足各種功能的應用軟件--->保證服務質量的軟件服務
  • 軟件工程的要求質量保證、用戶體驗、國際化和本地化
  • 軟件工程的工作有源代碼管理、配置管理、軟件項目的管理、需求分析、軟件測試、程序理解、軟件維護/服務維護
  • 軟件企業 = 軟件 + 商業模式
  • 軟件開發的不同階段

    • 玩具階段
    • 業余愛好階段
    • 探索階段
  • 商業軟件vs愛好者寫的程序

1.2 軟件工程是什麽

軟件工程是把系統的, 有序的, 可量化的方法應用到軟件的開發, 運營, 和維護上的過程。

軟件工程包括下列領域: 軟件需求分析, 軟件設計, 軟件構建, 軟件測試, 和軟件維護.

軟件工程和下列的學科相關: 計算機科學, 計算機工程, 管理學, 數學, 項目管理學, 質量管理, 軟件人體工學, 系統工程, 工業設計, 和用戶界面設計.

1.2.1 軟件的特殊性

  • 復雜性
  • 不可見性
  • 易變性
  • 服從性
  • 非連續性

1.2.2 軟件工程與計算機科學的關系

計算機科學中偏理論的領域,大多與數學、離散數學、數理邏輯密切相關
計算機科學中偏實踐的領域,大多和數據以及其他學科發生關系
軟件工程和人的行為、現實社會的需求息息相關
工程師的宗旨是:我構建,故我在


軟件項目的特點:

  • Build To Learn
  • Build To Show
  • Build To Serve
  • Build To Win

1.2.2 軟件工程與計算機科學的關系
三大類基礎知識領域:計算基礎、數學基礎和工程基礎
“沒有銀彈“,霍夫斯維塔定律,Cocomo模型
\[ Person*Mounth=2.4*KLoC^{1.05} \]

1.2.4 軟件工程的目標——創造“足夠好”的軟件

  • 用戶滿意度
  • 可靠性
  • 軟件流程的質量
  • 可維護性

1.3 練習與討論

  • 自動生成四則運算的小程序
    技術分享圖片
    技術分享圖片
  • 支持分數計算的小程序
    技術分享圖片
    技術分享圖片

教材學習中的問題和解決過程

在看1.2.2 軟件工程和計算機科學的關系

時不是很能理解兩者的區別
之前查看課後的內容和討論時發現了鄒老師博客,閱讀了微軟學術搜索項目 10個版本的歷程,對軟件工程在項目中實踐有了更深的了解:
項目計劃步驟--> 項目的核心價值是什麽, 決定不做什麽 --> 決定開發周期[計劃;實現;測試並上線 ]--> 項目人員--> 聯系合作

參考資料

  • 現代軟件工程講義 1 軟件工程概論
  • 現代軟件工程 第一章 【概論】練習與討論
  • 《現代軟件工程講義 個人項目和結對項目練習 四則運算》學習指導
  • 微軟學術搜索項目 10個版本的歷程
  • 推薦:Ted演講

2018-2019-1 20189221 《構建之法》第一周學習總結