第一章:概論程序員
問題:看完這章後,瞭解了一些程序員都知道的名言、推論等;像"程序=數據結構+算法」、"軟件=程序+軟件工程"這些。在1.2.3這節內容上知道軟件工程與計算機科學是息息相關的,那麼在那麼多的計算機科學領域中,咱們應該往哪一個領域走纔可以學得更快,更好,更實用呢?算法
答:我以爲吧,計算機科學領域中的理論計算機科學在咱們當今社會中是比較實用,更快,更好的!編程
第二章:我的技術和流程網絡
問題:看到這章時,首先吸引個人是這句話「你的RP是由你的程序質量決定的。」雖然我不是很理解這句話,但好像說的好有道理;那麼問題來了,一個好的單元測試有沒有惟一的標準?除了課本是介紹的,其餘的還有是什麼?數據結構
答:一個好的單元測試是沒有惟一的標準的!這要看本身的認知了!架構
第三章:軟件工程師的成長工具
問題:對於3.2軟件工程師的職業發展這一節,做爲一個學生,咱們如今所學習的知識是頗有限的,該怎麼選擇在哪一個方面追求「專和精」,在哪一個方面達到「知道就好」的水平,咱們該用什麼方式來實踐去豐富本身的經驗?單元測試
答:首先想表達的第一個觀點就是選擇比努力更重要。正確的選擇是如此重要,沒有明確選擇的行動就是咱們平時所說的瞎折騰,瞎折騰的結果就是無序致使無效。學習
第四章:兩人合做測試
問題:在4.5結對編程中,有這麼一句話——沒有「個人代碼」、「你的代碼」或「他/她的代碼」,只有「咱們的代碼」。那麼問題來了,既然是結對,那兩我的應該如何分配好工做,兩我的在一塊兒工做總會有意見分歧的時候,該聽誰的呢?要怎樣才能作到有效率的結對編程?
答:這個就要看主要負責人的作法了,按照我的的特長分配好工做才能更好的完成任務。當有意見分歧是時,要冷靜分析問題,結合實際,選擇更好的意見。結對編程爲軟件開發團 隊帶來的好處已經廣爲人知,可是要有效率的實施結對編程,不只須要團隊的成員相信結對編程的益處,更重要的是,要全身心的投入。
第五章:團隊和流程
問題:一個好的團隊可以使咱們更有效的完成任務,能學到更多的知識,更能促進隊員之間的感情。那麼在衆多的團隊模式和流程中,咱們該怎麼選擇適合本身的團隊呢?團隊在開發流程中,應該注意哪些主要的問題?
答:我想應該選擇擁有了一支具備很強向心力、凝聚力、戰鬥力、的團隊,彼此間互相鼓勵、支持、學習、合做!才能不斷前進、壯大。
團隊有一點是共同的,即須要有規章來進行自我控制。規章對於團隊的成功起着關鍵做用,它在團隊發展的最初幾個月裏便肯定下來,一旦被確立,它們就不會輕易更改或修 正。團隊規章的任何變動須要大量的時間,並且常會引發其成員的不安。團隊負責人在確立規章方面起着重要做用,團隊一般以其成員遵照規章的程度來評價他們;最遵照規章 的成員最受尊敬。
第六章:敏捷流程
問題:什麼是敏捷,而在軟件開發流程中,是否是都會選擇用敏捷的作法?該如何選擇敏捷的適用範圍,又該怎麼衡量一個開發流程是否對當前的項目或團隊有效?
答:敏捷開發以用戶的需求進化爲核心,採用迭代、按部就班的方法進行軟件開發。在敏捷開發中,軟件項目在構建初期被切分紅多個子項目,各個子項目的成果都通過測試,具有 可視、可集成和可運行使用的特徵。換言之,就是把一個大項目分爲多個相互聯繫,但也可獨立運行的小項目,並分別完成,在此過程當中軟件一直處於可以使用狀態。
在軟件開發流程中,並非都會選擇用敏捷的作法的!仍是會有選擇用其餘的方法!
衡量一個開發流程對當前的項目或團隊有效的衡量是很是重要的!要根據本身的實際狀況來衡量這些的!
第七章:MSF
問題:MSF團隊模型中每一個成員角色都是同等重要的,那麼要如何保證每一個角色發現的問題都能獲得處理?當角色的利益發生衝突時該怎麼辦?
答:這個嘛,畢竟每一個人的任務是不一樣的,而出現的問題也不是一會兒就能解決!要妥善的處理好才能完成下一個任務。當角色的利益發生衝突時要及時處理好,否則後面的任務就 很難的完成下去了!
第八章:需求分析
問題:在8.6節內容上說到需求的複雜程度和技術的複雜程度,不是很好理解書上說的,有簡單些的說法嗎?
答:若是一個程序員已經作過屢次相關的銀行項目,其實不像外人看的那麼難。
第九章 項目經理
問題:是否是全部的好功能都是由PM主導的?PM又如何找到需求呢?
答:並非全部的好功能都是由PM主導的!還有一些好的功能是有其餘主導的!
PM要找到需求得作好準備工做,肯定產品的目的,肯定用戶原型、用戶目標和用戶任務等!
第十章 典型場景和用戶
問題:怎麼樣肯定用戶類型,用戶的真實需求是什麼?
答:經過和用戶接觸溝通而後拿到數據,把一些設計的原型拿去讓用戶試用,或者給用戶相似的同類產品讓他們去用來肯定用戶類型!
要警戒初始用戶需求,其每每只是靈光一現的想法,需求的產生具備隨意性,其可靠性和穩定性每每值得懷疑。用戶的需求是會隨着產品使用的深刻而不斷被檢驗的,去僞存 真,要依靠有效的用戶反饋才能把握真實用戶需求。
第十一章 軟件設計與實現
問題:如何對付客戶不買帳行爲?
答:首先要跟客戶好好的談談,問清楚緣由,爲何不要這的開發,是有哪些地方作得不滿意嗎,要及時改進,給客戶一個滿意的答覆!
第十二章 用戶體驗
問題:好的用戶體驗固然全部人都想要的,若是它和產品的質量有衝突,怎麼辦?犧牲質量去追求用戶體驗麼,用戶能接受嗎?
答:對於這個問題,我想用一個故事來回答會比較容易理解吧!
「在1990年代, 韋爾奇注意到核磁共振機器的通道特別狹窄, 在長達幾十分鐘的檢查過程當中, 病人經常有得了幽閉恐懼症的感受。 傑克作過相似的檢查, 深有體會。
他問, 能不能把通道作得大一些? 專家說那樣會下降掃描成像的質量。他又問, 對於那些不須要太多精度的檢查, 可否犧牲一些成像質量, 換取用戶的良好體驗呢?
專家說, 他們會考慮的… 而後就沒有下文了。不久, 日本的日立公司推出了寬通道的掃描設備, 並奪取了大量的市場份額。 GE 被動迎戰, 花了兩年時間才遇上對方。」
第十三章:軟件測試
問題:軟件在超過設計負載的狀況下是否仍能返回正常結果?會不會產生嚴重的反作用或崩潰?
答:軟件在超過設計負載的狀況在仍可以返回正常結果,而沒有產生嚴重的反作用或崩潰。
第十四章:質量保障
問題:爲何一些成功的公司不用測試人員?團隊應該如何安排QA和測試工做?
答:對於一些成功的公司爲何不用測試人員:
a) 全公司人員常用本身的軟件產品!(若是你開發的軟件是航天飛行某控制模塊,你怎麼能常用呢?)
b)使用log來分析問題可能出在哪裏。(咱們的一些程序員寫程序都沒有log,那你們看什麼呢?)
c)利用用戶的反饋和實時狀態分析(比較過去一小時和上週同一時間的數據來判斷是否有bug。)
d)應用開發商給Facebook報bug。(開發商其實比較不爽,可是FB有時就是無預警地修改API,你除了趕忙報bug,還能怎麼着?)
e)不少人自願給Facebook報bug,這位貼主自稱每個月給他的前僱主報13,000個問題。(沒錯,是每個月一萬三千個!)
f)最後這位前僱員還加了一句:還有一個緣由是,Facebook大致上也不須要搞出過高水平的軟件。
當你的公司也能有a)到e)這樣的文化、流程、開發商和給力的前員工,並且你的軟件「大致上也不要過高質量」,你的確不須要什麼全職測試人員!
團隊應該如何安排QA和測試工做:
第十五章:穩定和發佈階段
問題:有哪些招數讓咱們能以比較大的共識、比較小的痛苦走完「血腥」的流程,須要什麼樣的血型團隊才能按時推出優秀軟件?
答:招數:設計變動,ZBB,最後迴歸測試,砍掉功能,修復BUG的門檻逐漸提升,逐步凍結。等等!其實任何血型的團隊均可以按時推出優秀軟件的,主要是要靠團隊中的每一個人的努力,要團結一致,互相幫助!
第十六章:IT行業的創新
問題:軟件工程的技術和實踐如何幫助創新?創新的招數有哪些?
答:幫助:固然有不少,例如:快速原型,持續重構,在每個里程碑以後作總結,等等。
招數:自選一個市場上的產品,或者某一你們熟知的公司及其產品,爲其出謀劃策,看看如何可以創新。
第十七章:人、績效和職業道德
問題:在團隊中如何避免「劣幣驅逐良幣」的現象?
答:在一個團隊進行項目的過程當中,什麼事情都是有可能發生的,固然咱們每個人都不但願這種狀況擾亂了團隊的正常運轉,因此要依靠團隊中每個成員的力量,去控制扭轉他的出現。