20162320劉先潤大二《程序設計與數據結構》第二週學習總結

《構建之法》第7-9章節PPT學習總結

  • 微軟解決方案框架(Microsoft Solution Framework,MSF),是微軟公司經過吸收各部門積累的業務經驗並隨着時代更新的軟件開發方法。其主要原則有9點:推進信息共享與溝通、爲共同的遠景而工做、 充分受權和信任、各司其職,對項目共同負責(不只要完成本職工做,更要對項目負責)、重視商業價值、保持敏捷,預期變化、投資質量(投資的效率,時期並要求長期)、學習全部的經驗(要堅持總結和分享)、與顧客合做(從用戶角度出發)
  • 用戶調研(User Study),A/B測試,經過態度、行爲、定性、定量來規範調研的尺度。
  • 需求分析html

    軟件需求

    將需求進行分類、清楚軟件產品的利益相關者、獲取用戶需求(用戶調研)、競爭性需求分析的框架、功能的定位和優先級、目標估計和決心、找出估計後面的假設、最後分而治之git

    經驗公式

    工程師的經驗公式實際時間花費主要取決於兩個因素—對 某件事的估計時間X,以及他作過相似開發工做的次數N。 Y = X ± X ÷ N
  • 提案,評估和WBS程序員

    NABC model

    N--need需求、Approach--作法、Benefit--好處、Competitors--競爭、Delivery--推廣方式算法

    評估

    目標(根據實際的需求來定)、決心(它承諾在特定日期交付預約義的功能,做爲特定的質量級別)、估計(單個任務花費的人力、時間)數據結構

    WBS – Work Break Down

    分而治之,頂層(產品)→中層(功能)-用戶視角→較低級別(功能實現)-團隊透視圖(PM,test)→最低級別(模塊)-開發透視圖
  • 風險管理。第一步:確認風險、根據不一樣的來源對風險進行分類;第二步:分析和優先級劃分;第三步:計劃和管理風險
    應對風險的方法:進一步研究、接受、 規避、轉移、 下降、制定應急計劃
  • 項目經理(PM),PM負責除產品開發和測試以外的全部事情,包括正確地作產品和正確地作流程。
    PM的做用:收集需求、設計用戶界面,編寫規範、協調市場、文檔、測試、定位、帶領團隊達成決策
    注:項目經理是和你們平等工做,而且作具體工做,和其餘團員一塊兒造成決議,只管事無論人的,和領導型經理是不同的。框架

《構建之法》學習中提出的有價值的思考問題

  • 問題1:在第7章,關於作用戶調研,書中舉了一個例子,Bowman是谷歌的視覺設計主管,谷歌的一個團隊不能在兩個藍色之間作出決定,因此他們在每個藍色之間測試41個陰影,看看哪個表現更好。他最近就邊界是否應該是3, 4,或5像素寬進行了辯論,並要求證實他的狀況。我已經厭倦了辯論這種微小的設計決策,《論語》雲:「如切如磋,如琢如磨。」作事要求精益求精,在進行用戶調研的過程當中,爲何不能調研細微到毫釐,即作調研作過頭?或者說如何肯定作用戶調研的界限,究竟哪一種調研纔算是作過頭呢?好比當我作用戶調研時,我努力朝着最精確的方向去作,但我是否已經作過頭了呢?
  • 問題2:第9章中,「一個團隊成熟的標記,就是對風險的管理」,在《構建之法》中如是說,幾乎每一個優秀的團隊都會有本身獨特的一套風險應對措施。關於如何應對風險,首先就應該確立態度,書上給了三種不一樣的態度,經過查閱百度百科,我瞭解到風險態度是一個專業名詞,總共分爲三種態度,引用該知識點以下:
  風險厭惡是一我的接受一個有不肯定的收益的交易時相對於接受另一個更保險可是也可能具備更低指望收益的交易的不情願程度。
  風險中性是相對於風險偏好和風險厭惡的概念,風險中性的投資者對本身承擔的風險並不要求風險補償。咱們把每一個人都是風險中性的世界稱之爲風險中性世界(Risk-Neutral World)。
  風險偏好是指人們在實現其目標的過程當中願意接受的風險的數量。

如上三種態度是一個從保守到開放的過程,這三種態度中任何一種都有其存在的理由,是否是風險中性必定是最好的選擇呢,或者是求穩發育仍是冒險一搏呢?學習

  • 問題3:第9章關於項目經理PM,提到Project Manager 和Program Manager的一個區別是一個團隊能夠有不少Program Manager,而且是和團隊其餘成員進行決議。我提出一個疑問若是一個團隊中存在多個PM,他們針對一個項目造成了多個決議,這種窘況該如何解決呢?還有就是既然每一個團隊成員均可能當上PM,而這個職位又沒有實際權力,這對團隊的幫助做用真的大嗎?我認爲這設些帶有少量管理權力的職位例如小組長效果會比較好,由於小組長是能力佼佼者,自己又能管事和管必定範圍內的人,不就提升了小團隊效率嗎?
  • 問題4:project manager和program manager有一個區別在於前者管事也管人,後者只管事無論人,而且符合PM能力要求的程序員都有機會成爲PM。假若一個程序員能力很強,可是並不會管理和領導,像這樣領導力較弱的PM和能力不是特別強但領導力出衆的程序員相比,誰能更加勝任這一職位呢?因此PM須要有很強的領導力嗎?

上週考試錯題總結

  • 錯題1:
    ```Determine the order of the following pseudocode fragment.
    if (a > b) then
    print a
    else
    print n
    end if
解答:O(1),全部的if子句只包含一個操做。我原來寫的O(n),我覺得上限是n就直接填了O(n)。
- 錯題2:

Determine the order of the following pseudocode fragment.
j = 1
for i = 1 to n
j = j * 2
next i
for k = 1 to j
x = x + 1
next k
```
解答:O(2n) ,第一個循環的2n值被計算並存儲在j中,所以第二個循環執行2n次。說實話,這個題是題目看錯了,我把 j = j * 2 當作了j²。測試

代碼託管

本週學習《構建之法》,代碼只練習了課上的代碼。
.net

其餘(感悟、思考等,可選)

6我的1本書不夠看設計

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 188 1/1 25 算法分析
第二週 70/258 1/2 15/40 《構建之法》7-9章
第三週
  • 計劃學習時間:15小時

  • 實際學習時間:15小時

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表
)

參考資料

相關文章
相關標籤/搜索