102.怎么学好软件工程?软件工程 = 工具 + 方法 + 过程
文章目錄
- 3.怎么學(xué)好軟件工程?
- (1)首先必須了解一下軟件工程的道、術(shù)、器
- (2)軟件工程知識(shí)全景圖
- (3)何為工具?何為方法?何為過程?
- 1?? 什么是過程?
- 2?? 什么是方法?
- 3?? 什么是工具?
- (4)軟件工程思維導(dǎo)圖
- (5)如何學(xué)習(xí)軟件工程?
- 第一重:用器
- 第二重:學(xué)術(shù)
- 第三重:悟道
- 第四重: 傳道
3.怎么學(xué)好軟件工程?
(1)首先必須了解一下軟件工程的道、術(shù)、器
- “器”就是軟件工程中的各種工具。
- “術(shù)”就是軟件工程中的各種方法。例如如何做需求分析?如何對需求變更做變更管理?
- “道”就是軟件工程知識(shí)的核心思想、本質(zhì)規(guī)律。例如為什么要有需求分析?需求變更產(chǎn)生的深層次原因是什么?項(xiàng)目中決策的依據(jù)是什么?
(2)軟件工程知識(shí)全景圖
(3)何為工具?何為方法?何為過程?
1?? 什么是過程?
要構(gòu)建高質(zhì)量軟件,則要解決軟件過程中的混亂,將軟件開發(fā)過程中的溝通、計(jì)劃、建模、構(gòu)建和部署等活動(dòng)有效地組織起來。而軟件過程,就是在軟件項(xiàng)目的生命周期內(nèi),也就是軟件從誕生到結(jié)束這期間,在開發(fā)與構(gòu)建系統(tǒng)時(shí)要遵循的步驟。
有兩種過程框架你一定經(jīng)常聽到,那就是瀑布模型和敏捷開發(fā)。這是在軟件工程多年的發(fā)展中,逐步形成的兩種主流的軟件過程指導(dǎo)框架。
2?? 什么是方法?
方法是指在整個(gè)過程中,如何構(gòu)建系統(tǒng)的方法學(xué)。比如說,如何分析用戶需求;如何對產(chǎn)品進(jìn)行測試驗(yàn)收;如何進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)等。
3?? 什么是工具?
知道了過程,掌握了方法,那么具體落到操作層面,就會(huì)涉及到工具的使用。
我們需要工具來輔助方法的執(zhí)行,提高效率。通過工具,可以把一些手動(dòng)的工作自動(dòng)化,比如自動(dòng)化測試工具,自動(dòng)構(gòu)建部署工具;通過工具,可以幫助把一些流程規(guī)范起來,比如 Bug 跟蹤、源代碼管理;還可以通過工具,幫助提高編碼效率,比如各種編輯器 IDE、各種高級語言。
如果現(xiàn)在再回頭總結(jié)一下,軟件工程的核心知識(shí)點(diǎn),就是圍繞軟件開發(fā)過程,產(chǎn)生的方法學(xué)和工具。
你可以用一個(gè)簡單的公式來理解軟件工程,那就是:軟件工程 = 工具 + 方法 + 過程。
(4)軟件工程思維導(dǎo)圖
(5)如何學(xué)習(xí)軟件工程?
學(xué)習(xí)軟件工程的四重境界
第一重:用器
“器”就是工具,工具規(guī)則簡單,上手就可以用,也很快就能看到效果。比如,原型設(shè)計(jì)工具可以幫助你確定需求,持續(xù)集成工具可以幫助你簡化測試和部署的流程。對工具的學(xué)習(xí)是最為簡單的,也是最基礎(chǔ)的。
第二重:學(xué)術(shù)
“術(shù)”就是方法,學(xué)會(huì)方法,你就能應(yīng)用方法去完成一個(gè)任務(wù),例如用需求分析的方法,你去搞清楚用戶想要什么,用 Scrum 去組織項(xiàng)目開發(fā)過程。
掌握了術(shù),甚至是可以脫離器的,例如你沒用原型設(shè)計(jì)工具,你用紙和筆,用白板,一樣可以去溝通確認(rèn)需求。
第三重:悟道
“道”就是本源,軟件工程知識(shí)的核心思想和本質(zhì)規(guī)律。就像敏捷開發(fā),本身并不是一種方法,而是一套價(jià)值觀和原則,領(lǐng)悟了這個(gè)道,就可以成為你在處理項(xiàng)目過程中各種問題決策的依據(jù)。道是可以產(chǎn)生術(shù)的,你掌握了敏捷開發(fā)的道,你就可以領(lǐng)悟出 Scrum、極限編程這樣的術(shù)。
第四重: 傳道
當(dāng)你能把復(fù)雜的知識(shí)通過淺顯易懂的方式傳授給別人,那就說明你對知識(shí)的領(lǐng)悟已經(jīng)到了更高的境界。同時(shí),教學(xué)也是最好的學(xué)習(xí)方式,通過傳授別人知識(shí),可以讓你對知識(shí)本身有更深入的理解。
- 分享你學(xué)到的知識(shí)。將你從專欄學(xué)習(xí)到的知識(shí)寫成微博或博客等,分享給大家。寫作是一種特別好的總結(jié)和學(xué)習(xí)方式,在你寫的過程中,很多不清楚的問題就想明白了。
- 做幾次內(nèi)部分享或培訓(xùn)。如果你從來沒做過公司內(nèi)部的分享或培訓(xùn),不妨邁出第一步,把你學(xué)到的知識(shí),寫成 PPT,小范圍地講給你的同事或朋友。如果你已經(jīng)做過類似的分享,那么就再做幾次軟件工程相關(guān)的。準(zhǔn)備 PPT 的過程,就是你最好的學(xué)習(xí)過程。
- 把你學(xué)習(xí)的知識(shí)應(yīng)用起來。學(xué)到的知識(shí)只有用起來才能變成你自己的經(jīng)驗(yàn),嘗試著把在專欄中學(xué)到的知識(shí)應(yīng)用到你的項(xiàng)目中去。多問多思考。有疑問就提出來;看到其他人問的問題,也可以去思考為什么,一起探討問題的答案。
參考:極客時(shí)間-軟件工程之美
總結(jié)
以上是生活随笔為你收集整理的102.怎么学好软件工程?软件工程 = 工具 + 方法 + 过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.3.5 操作系统之信号量机制实现进程
- 下一篇: 104. 软件工程的开发过程几种模型(瀑