以前讀過鄒欣老師的幾篇博客,覺得還是有些受用封恰。這次看到鄒欣老師出書麻养,就趕熱鬧買了一本,看看軟件從業(yè)者眼中的現(xiàn)代軟件工程是什么樣子诺舔。這本書我看的比較快鳖昌,也沒做筆記,今天有點(diǎn)時(shí)間低飒,就把我認(rèn)為比較有意思的一些點(diǎn)總結(jié)一下许昨,對(duì)自己算是個(gè)交代。
這本書對(duì)于軟件開發(fā)者的作用:不用讀枯燥的課本褥赊,可以學(xué)習(xí)到現(xiàn)代軟件工程的方方面面糕档,結(jié)合自己的實(shí)際工作,查缺補(bǔ)漏拌喉,為成長(zhǎng)成一位職業(yè)的速那、合格的開發(fā)者做好準(zhǔn)備。如果你已經(jīng)在軟件領(lǐng)域從業(yè)多年尿背,可以看看這些知識(shí)你是否大部分已經(jīng)掌握并實(shí)踐端仰,對(duì)于軟件開發(fā)和團(tuán)隊(duì)提升是否有幫助。
第1章 概論
提出了軟件=程序+軟件工程的概念田藐;
普及軟件開發(fā)涉及的子課題荔烧,如源代碼管理、配置管理汽久、質(zhì)量保障鹤竭、軟件測(cè)試、需求分析景醇、程序理解臀稚、軟件維護(hù)、服務(wù)運(yùn)營(yíng)啡直、軟件生命周期烁涌、軟件項(xiàng)目管理苍碟、用戶體驗(yàn)、職業(yè)道德規(guī)范等等撮执。
給出了軟件工程的定義:
軟件工程是把系統(tǒng)的微峰、有序的、可量化的方法應(yīng)用到軟件的開發(fā)抒钱、運(yùn)營(yíng)和維護(hù)上的過程蜓肆。
軟件工程包括下列領(lǐng)域:軟件需求分析、軟件設(shè)計(jì)谋币、軟件構(gòu)建仗扬、軟件測(cè)試和軟件維護(hù)。
軟件的特殊性:復(fù)雜性蕾额、不可見性早芭、易變性、服從性诅蝶、非連續(xù)性退个。
軟件工程與計(jì)算機(jī)科學(xué)的關(guān)系,其中有一副對(duì)比圖比較有用调炬。
軟件工程的知識(shí)領(lǐng)域:15個(gè)知識(shí)領(lǐng)域语盈,參見SWEBOK 3.0 -- 下載了這本書,可以瀏覽一下缰泡。
軟件工程的目標(biāo):創(chuàng)造“足夠好”的軟件刀荒。
第2章 個(gè)人技術(shù)和流程
單元測(cè)試
好的單元測(cè)試的標(biāo)準(zhǔn):在最低的功能/參數(shù)上驗(yàn)證程序的正確性、必須由最熟悉代碼的人來(lái)寫棘钞、單元測(cè)試后機(jī)器狀態(tài)不變缠借、要快、應(yīng)該產(chǎn)生可重復(fù)宜猜、一致的結(jié)果烈炭、獨(dú)立性、應(yīng)該覆蓋所有的代碼路徑宝恶、應(yīng)該繼承到自動(dòng)測(cè)試的框架中、必須和產(chǎn)品代碼一起保存維護(hù)趴捅。
效能分析工具
抽樣和代碼注入
個(gè)人開發(fā)流程
PSP以及書中沒有提到的TSP(團(tuán)隊(duì)開發(fā)流程)
第3章 軟件工程師的成長(zhǎng)
個(gè)人能力的衡量和發(fā)展
其中講了具體的衡量和發(fā)展的方法垫毙。
軟件領(lǐng)域可以分為兩個(gè)方面:一方面是技藝創(chuàng)新的大爆發(fā),另一方面是堅(jiān)持不懈的工程工作拱绑。包括軟件的改善综芥、維護(hù)和測(cè)試等,這一方面占了90-95%的比例猎拨。
軟件工程的職業(yè)發(fā)展
職業(yè)發(fā)展-考級(jí)之路膀藐,職業(yè)成長(zhǎng)-Steve McConnell版本(我個(gè)人比較喜歡的實(shí)踐方法)屠阻,職業(yè)成長(zhǎng)-大公司版本,職業(yè)成長(zhǎng)-自我評(píng)估(舉例:即使是做CRUD需要的核心技能和擴(kuò)展知識(shí)也不少额各,贊/P51)
技能的反面
那怎么提高技能呢国觉?答案很簡(jiǎn)單,通過不斷的聯(lián)系虾啦,把哪些低層次的問題都解決了麻诀,變成不經(jīng)過大腦的自動(dòng)操作,然后才有時(shí)間和腦力來(lái)解決較高層次的問題傲醉。
第4章 兩人合作
代碼規(guī)范蝇闭、代碼復(fù)審、結(jié)對(duì)編程硬毕。有參考價(jià)值呻引,后面部分涉及到軟件工程師合作的一些技巧,不僅僅是技術(shù)問題吐咳。參見P79逻悠,如何正確地給予反饋。
第5章 團(tuán)隊(duì)和流程
非團(tuán)隊(duì)和團(tuán)隊(duì)挪丢。團(tuán)隊(duì)的特點(diǎn):有一致的目標(biāo)蹂风,一起完成;有各自的分工乾蓬,互相依賴合作惠啄。
軟件團(tuán)隊(duì)的模式
一窩蜂模式(呵呵),主治醫(yī)師模式(IBM System 360)任内,明星模式(不咋樣)撵渡,社區(qū)模式(Linux,OSS)死嗦,業(yè)余劇團(tuán)模式(培訓(xùn)項(xiàng)目)趋距,秘密團(tuán)隊(duì)模式(Macintosh,比較特殊)越除,特工團(tuán)隊(duì)模式(網(wǎng)絡(luò)安全服務(wù))节腐,交響樂團(tuán)模式(大公司普遍),爵士樂模式(即興演出摘盆?)翼雀,功能團(tuán)隊(duì)模式(Feature Team,應(yīng)用廣泛)孩擂,官僚模式
開發(fā)流程
Code-and-Fix狼渊,瀑布開發(fā)(被誤解的瀑布,參見P91类垦;P94瀑布的適用范圍)狈邑,RUP城须,老板驅(qū)動(dòng)的流程,漸進(jìn)交付的流程
第6章 敏捷流程
這一章我覺得很有價(jià)值米苹,篇幅不長(zhǎng)糕伐,但是針對(duì)敏捷流程提出了一些問題,進(jìn)行了一些討論驱入,但是對(duì)一些問題赤炒,作者也沒有給出特別明確的答案。無(wú)論如何亏较,敏捷不是銀彈莺褒,在實(shí)施過程中存在的問題值得反思⊙┣椋可以再次閱讀遵岩。
第7章 MSF
略。
第8章 軟件需求
P158 NABC分析法不錯(cuò)巡通,競(jìng)爭(zhēng)性需求分析框架尘执,更適合產(chǎn)品經(jīng)理和創(chuàng)新。
第9章 項(xiàng)目經(jīng)理
P183 PM的具體任務(wù)
第10章 典型用戶和場(chǎng)景
Persona技術(shù)啊
第11章 ~ 第14章 過于基礎(chǔ)宴凉,新觀點(diǎn)不多 略
第15章 穩(wěn)定和發(fā)布階段
P295 事后諸葛亮?xí)h(鄒老師這個(gè)模板不錯(cuò)哦~) - 敏捷中的回顧 - Project中的Lesson&Learn
第16章 IT行業(yè)的創(chuàng)新
恩誊锭,創(chuàng)新是永恒的話題,不過不是軟件工程的核心話題
第17章 人弥锄,績(jī)效和職業(yè)道德
這章很重要丧靡,尤其對(duì)于管理者。需要再看一下最新版的《人件》籽暇。
--- OVER ---