<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      現代軟件工程 第十一章 【軟件設計與實現】 練習與討論

      1  如何避免在產品開發后期不斷有重大修改,導致其它模塊的連鎖反應? 

      DCR Tell mode vs. Ask mode設計變更

      在項目早期,如果大家覺得要做一個設計變更,便可以采用告知模式(Tell-mode)的形式,也就是說,修改方必須通告所有關系人:“我在這里修改了某某界面, 我在某個API 增加了一個參數。”但是修改方不必取得其他關系人(或者模塊)的事先同意,就是說可以先行設計并編碼。當然,如果其他關系人不同意,修改還是不能簽入。

      當項目進行到穩定階段,例如達到了代碼完成(CC)階段,Tell-mode 要改為請求模式(Ask-mode),這時,修改方必須先問“我是否可以在這里修改某某界面?”(當然還要有更詳盡和充分的理由),得到肯定的答復后,才能進行修改。這時的默認回答是“不”。

      2  每周進度報告——還有多少事沒做完

      小飛: 我們每天都在簽入新的代碼,每人都很忙,但是我總覺得不太對勁。感覺事情越做越多,我們離最終目標到底是更接近了,還是更遠了呢?

      阿超: 這時我們可以看看各種報表,首要推薦的是TFS 的“Remaining Work”,可以看敏捷流程的“燃盡圖”(Burn down chart)。如果你看到每個人每天花費的時間在不斷增加,但是真正需要解決的任務(Task)和缺陷(Bug)都沒有變化,甚至緩慢增加,這意味著團隊離最后目標越來越遠了。

      可以在TFS報表設置的控制板中,進一步選擇你要報告的內容,如:Iteration,選擇里程碑;Area,選擇項目的不同部分,也可以修改報告的起始和終止日期等[i]

      3  如何避免詫異的反應

      問:     每次里程碑結束后,我們向客戶匯報的時候,客戶總是會驚訝地說,某某功能不是我們當初商量的那樣啊,而PM卻也同樣一臉詫異地說,不對啊,當時咱們就是這么說好的啊,有文檔為證??蛻舨桓闪?,威脅不加/不改xx功能就如何如何,這時PM該怎么辦?

      阿超: 我們在合同里要寫明到底我們要交付的是什么,這就要看PM的分析和說明能力了。有時要對客戶說“不”。同時,我們在需求說明中也要從用戶的角度去描述問題和解決方案,這樣用戶才能了解他們最終會得到什么,另一個方面是,當你給用戶演示一些界面的時候,要說明哪些界面只是示例而已,哪些界面是大家同意的最終設計。敏捷的開發流程鼓勵用戶經常參與設計和計劃,如果有條件這么做,那當然很好。

      問:     項目開發中后期,開發人員用工具一統計,乖乖,足足xx萬行代碼,xx千個存儲過程,可是每到給客戶演示時,卻不時出現程序的各個功能相互不配合,不能自圓其說的尷尬場景,Dev leader很郁悶,想想自己可是沒少加班啊,代碼量也夠多,可是問題究竟出在什么方面呢?

      阿超: 一個原因是每個人都沉浸在“我要寫出最強大的某某類或某某模塊”中,不停地優化一些沒有人用的功能,但是真正能夠為其他模塊使用的功能卻未能實現。他們忘了他們寫的代碼是給別人用的,而且是為了解決用戶問題的。所以這個時候我們要想想“用場景驅動”的方法,保證典型的用戶場景能夠實現。如果從“場景”出發,各個模塊的互相集成就能得到充分的測試,按照場景演示起來就更有保障了。

      問:     在項目開始之前, 有很多隊員還沒有接觸過編程語言(例如C#),導致PM在分配任務時很難用時間來衡量,就拿寫一個Web Service這一模塊來說,一個熟練的程序員可能只需要兩個小時,而對于初學者來說,就得先花兩天來理解Web Service的實現機制和原理。在有限時間的催促下,導致一些緊急的任務不斷向高手集中,而初學者的任務越來越少。這時應該怎么辦?

      阿超: 對于這些隊員,可以考慮在他們自己的任務估計值之上再乘以4。另外,如果你是寫一個商業項目,請不要讓連開發語言都沒有接觸過的隊員進行開發工作。并不是非得 “寫” 程序才是對項目有貢獻,有時不寫也有很好的貢獻。如果他們有熱情,就從測試開始學習吧。請參看前面提到的“大馬哈魚洄游模型“

       

      4. 在這個時候是否碰到 “團隊成員不給力” 的問題?  請看別的同學的吐槽:

      http://www.rzrgm.cn/xinz/archive/2010/11/27/1889935.html 

       
      5. 我們是在寫代碼解決問題呢,還是在搭建宏偉的架構?
      6. 好的修改/重構是什么樣的?  請看幾個例子:
       
       

      [i]      VS2010以及之后的版本還提供了燃盡圖等功能,請參見相關同學的博客,例如

      http://www.rzrgm.cn/OMG-Team/archive/2011/09/30/2196150.html

       

      7. 不同建模工具的特點:

      我們講了好幾種建模和設計工具,它們在以下的方面有什么特點呢?

      1)容易理解,特別是對于非專業人士來說。

      2)不僅能處理非常簡單的問題 (如計算一個文件的行數),還能擴展到處理復雜的現實世界的關系,實時系統,復雜的商業邏輯,等。

      3) 能非常精確地描述問題

      4)能精確地把這個模型轉換為代碼

      5) 能很好地應對變化 (如果我們改變了設計,代碼和模型能很快地跟隨變化)

       

      8. 軟件設計的工具
      創作需要工具,有些學科只需要簡單的紙和筆,有些需要專門的工具。
      1) 請調查一下你周邊的同學在寫軟件的時候都使用什么工具 (IDE, 測試工具等)
      2) 請采訪有兩年以上工作經驗的軟件工程師在使用什么開發/測試工具
      3) 請采訪有三年以上經驗的產品經理在使用什么項目管理工具,這些工具有什么優缺點
      4) 很多和信息處理相關的應用都是 “增刪改查” 操作的組合, 那么能否抽象出這些操作, 找到規律,自動生成基本的信息應用呢? 請分析這個軟件工具:
        http://garrylachman.github.io/ElectroCRUD/   
       
      9. 不同的設計方法有各自的適用范圍,OO 也是這樣
          很多同學都上過 《面向對象的程序設計》這門課,請閱讀下列文章,談談你的看法:
          http://www.vaikan.com/object-oriented-programming-is-inherently-harmful/ 
          http://doc.cat-v.org/programming/bad_properties_of_OO 
          http://harmful.cat-v.org/software/OO_programming/why_oo_sucks
          http://harmful.cat-v.org/software/OO_programming/_pdf/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf 
       
      posted @ 2014-07-19 20:48  SoftwareTeacher  閱讀(1555)  評論(17)    收藏  舉報
      主站蜘蛛池模板: 99久久亚洲综合精品成人| 国产精品日日摸夜夜添夜夜添2021| 嫩草成人AV影院在线观看| 亚洲中文久久久精品无码| 国产福利酱国产一区二区| 老司机性色福利精品视频| 亚洲AV无码专区亚洲AV桃| 日韩熟女熟妇久久精品综合| 久久五月丁香激情综合| 国产精一品亚洲二区在线播放| 亚洲成在人线AⅤ中文字幕| 婷婷六月色| 日韩成人午夜精品久久高潮 | 国产一区二区不卡91| 亚洲 中文 欧美 日韩 在线 | 久久久精品人妻一区二区三区 | 国产一区二区三区黄色片| 亚洲熟女乱色一区二区三区| 国产大尺度一区二区视频| 自拍偷在线精品自拍偷99| 国产熟睡乱子伦视频在线播放| 青青草国产精品日韩欧美| 国产精品国三级国产av| 久久这里只精品热免费99| 伊人av超碰伊人久久久| 久久久久无码精品国产h动漫| 日韩精品无码一区二区三区视频 | 日本一区二区三区在线 |观看| 国产亚洲精品成人av在线| 无码中文字幕av免费放| 亚洲欧美牲交| 国产不卡在线一区二区| 亚洲爆乳精品无码一区二区| 精品精品国产自在97香蕉| 国产一区二区三区导航| 午夜福利片1000无码免费| 久久久久四虎精品免费入口| 午夜人成免费视频| 九九热在线视频精品免费| 亚洲色一色噜一噜噜噜| 无码人妻精品一区二区三区下载|