這學期的軟體工程課即將結束,下面我就對本學期的軟體工程課做一下基本的總結。
首先,這是我學期初在閱讀了相關資料後提的一些問題:http://www.cnblogs.com/bsdbch/p/4027935.html
這些問題,有的在實際的課程實踐中碰到了,因此得到了更深一步的瞭解。比如關於如何進行需求分析、產品定位,再比如如何控制程式碼的質量,如何架構整體框架從而讓子函式、子類變得更小。但是也有些問題,由於我們的產品沒有達到用那些高階方法的高度,所以沒有過多的瞭解。比如關於程式模組間的耦合。
下面說說我通過看書和實踐學會的那些東西。
關於需求:
1.採集需求
直接需求的採集(主要):需求採集需要 明確目標使用者 手段有:使用者訪談,調查問卷,可用性測試(讓少部分使用者對DEMO版提前試用),資料分析
間接需求的採集(次要):從接觸使用者的運營、技術、銷售等人員採集需求。
2. 分析需求
使用者需求!=產品需求。 不要聽他說什麼,而要知道他內心想要什麼。將使用者需求變成產品需求。
滿足需求的三種方式有:改變現狀、降低理想、轉變需求。
3. 篩選需求
需求太多,資源有限,我們要做的是選出需要實現哪些需求。篩選標準是:價效比。
4. 需求管理
將排序好的需求分類、排序,管理好以便臨時變更。
總結一下也就是,發現所有需求,找到重要需求,實現需求並不斷管理更新需求。
關於設計:
關於程式設頂層計我沒什麼可以說的,因為我沒做具體的設計工作。我只是知道頂層設計很重要,可以避免之後的很多問題。我們組就因為初期設計的不對走了很多彎路。
關於程式管理:
沒有進行太多的程式碼編寫工作,作為PM,我的主要任務是將程式碼模組分配給不同的DEV。聽起來簡單,實際有很多問題。
比如設想中DEV們幾天內把程式碼寫好,程式碼要控制在多少行之內,可實際上有的DEV開發快,超出預計時間幾天就完成了,有的DEV們可能懶可能慢一些,規定時間還沒有完成,這時候就需要在各個DEV們間協調溝通,或者換人換活兒開發,或者讓原DEV更努力,總之,儘量保證進度的順利。
再比如DEV在開發到一半會提各種設想不到的問題:伺服器崩了寫的程式碼沒了怎麼辦可以延期麼?我的方法只能寫那麼多行不會刪減啊你看怎麼辦?總之問題千奇百怪,應對措施也千千萬萬。
這時候千萬不能亂不能急,你是PM,你得掌控大局。你要保證的大前提是:程式高質高量高速的完成,你要保證的小前提是:隊內氣氛和諧、團結、向上。你的最終目標是,將這個產品設計好。而要實現這些,你要多溝通,多思考,多幹活,多承擔。在這個前提下,你排程所有的資源,總之,要有”我背鍋,你們領賞“的覺悟。
關於測試和釋出:
程式釋出一定要留緩衝時間!因為像上面我所說的,軟體開發過程中總會遇到各種奇奇怪怪的問題,千萬不要信心滿滿地覺得我們頂層設計很好,每個DEV也都是頂級的肯定沒問題,計劃趕不上變化,留3到4天的緩衝時間,絕對沒錯的。
這就是我這學期學習軟工的感想,謝謝老師給我們這個機會讓我們可以感受軟體工程的整個流程,學這學期的課,收穫很大,幫助很大。老師幫我們入了門,修行還在我們自己,今後的IT路上,我們無時無刻不在軟體工程的路上,我一定會更加努力。謝謝老師。