《構建之法》 第一章學習筆記

2022-08-22 01:51:14 字數 1301 閱讀 1127

程式是每個學計算機的人都必須要編寫的,但是編的出程式卻不一定寫的出軟體,或者說雖然寫的出軟體但是這個軟體很難讓使用者滿意,很難持久的維護應用下去。書中通過阿超的案例讓我們看到了客戶們對程式設計師的需求從乙個簡單的程式,是怎樣擴充套件到乙個滿足各種功能的應用軟體,再擴充套件到乙個能保證維修的軟體服務。
程式=資料結構+演算法軟體=程式+軟體工程這就是由程式到軟體的核心部分。

目前我們應當處於第二階段,正在向第三階段努力著。

軟體工程是把系統的、有序的、可量化的方法應用到軟體的開發、運營和維護上的過程;人們在開發、運營、維護軟體的過程中有很多技術、做法、習慣和思想體系。軟體工程把這些相關的技術和過程統一到乙個體系中,叫「軟體開發流程」。軟體開發流程的目的是為了提高軟體開發、運營、維護的效率,並提高軟體的質量、使用者滿意度、可靠性和軟體的可維護性。

軟體是可以執行在計算機及電子裝置中的指令和資料的有序集合,軟體有各種形式:

複雜性(complexity)

軟體可以說是人類創造的最複雜的系統型別,軟體的各個模組之間有各種顯性或隱性的依賴關係,隨著系統的成長和模組的增多,這些關係的數量往往以幾何級數的速度增長

不可見性(invisibility)

工程師是「看」不到自己的源**如何具體地在使用者的機器上被執行的

易變性(changeability)

人們自然地期待軟體能在下面兩種情況下「改變」: a) 讓軟體做新的事情;b) 讓軟體適應新的硬體

服從性(conformity)

軟體不能獨立存在,它總是要執行在硬體上面,它要服從系統中其他組成部分的要求,它還要服從使用者的要求、行業系統的要求

非連續性(discontinuity)

輸入上很小的變化,會引起輸出上極大的變化

電腦科學

軟體工程

發現和研究長期的、客觀的真理

短期的實際效果(具體的軟體會過時)

理想化對各種因素的折衷

確定性、完美、通用性

對不確定性和風險的管理,足夠好,具體的應用

各個學科獨立深入研究,做出成果

關注和應用各個相關學科的知識,解決問題

理論的統一

百花齊放的實踐方法

正確性可靠性

軟體的bug多少可以直接衡量乙個軟體的開發效率、使用者滿意度、可靠性和可維護性。最重要的是做到以下三點:

能做到這三點,就是初步的學會了軟體工程,所以這也將是我初期努力的方向。

構建之法第一章

構建之法第一章 本章為概論,主要講解電腦科學的領域 軟體工程和電腦科學的關係 軟體的特性 軟體工程的定義與組成部分等內容。一 軟體 程式 資料結構 演算法 軟體 程式 軟體工程 軟體工程的核心部分 1 構建管理 2 源 管理 3 軟體設計 4 軟體測試 5 專案管理 軟體開發有玩具階段 業餘愛好階段...

《構建之法》第一章學習總結

1.1軟體開發的不同階段 玩具階段 業餘愛好階段 探索階段 成熟的產業階段 1.2程式,軟體與軟體企業 程式 資料結構 演算法 軟體 程式 軟體工程 軟體企業 軟體 商業模式 程式 演算法 資料結構 是基本功,但是在演算法和資料結構之上,軟體工程決定了軟體的質量 商業模式決定了乙個軟體企業的成敗。軟...

閱讀構建之法第一章有感

今天閱讀了構建之法第一章,感覺到自己其實玩具的階段都不到,離研究階段更是差的有段距離。了解到程式其實只是乙個藏在你電腦裡的資料結構加演算法,要想成為軟體還得經歷軟體工程這一階段,軟體工程便是把系統的。有序的,可量化的方法應用到軟體開發,運營和維護上的過程中。首先我要進行軟體需求分析,乙個成功的軟體是...