日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

现代软件工程 第八章 【需求分析】练习与讨论

發布時間:2024/7/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 现代软件工程 第八章 【需求分析】练习与讨论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1? 擴展閱讀
下面兩篇文章也說明了軟件估計的難度:
??? Steve McConnell 軟件估計的 10 種罪:http://www.ewh.ieee.org/r5/central_texas/austin_cs/presentations/2004.08.26.pdf
??? Quora精選: 為什么軟件開發周期總是預估的2~3倍http://jandan.net/2013/07/16/quora-software-development.html

2? 用戶調研的對象
我們說了這么多用戶調研,很多人假設評價軟件的就是購買軟件的,就是使用軟件的,但是未必。看下面的例子:
1.?你要寫一個中學生學習英語的軟件,你找誰去做用戶調研?
??? 中學生 - 最終用戶。
??? 家長 - 他們是要掏錢的人,他們不會每天都用軟件,有些人都不太會英語,但是他們也有需求。
??? 學校老師 - 他們是有巨大影響力的人,他們說不定立下一道規矩,我們班級就用某某軟件!?
2.?你要寫一個企業管理軟件, 你要找誰去做用戶調研? 請列出你認為重要的用戶類型和你認為合適的用戶調研的方式。

3? 開發速度的算術題

在一個軟件項目中,軟件團隊預計每天的進度為 30 小時(即,完成了30小時的工作量)。當項目完成了一半的總工作量的時候,大家發現實際的進度為15小時/天,問:在余下的時間中, 團隊的進度要到多少,才能在項目結束時讓整個項目的平均進度恢復到每天30小時工作量?


4. 一個目標/決心/估計的故事:某項目本來進行得很順利,大領導非要全體人員脫產開一天的動員大會,會議結束時, 領導熱情地問大家:大家對如期完成項目有信心么?? 這時,項目經理站起來說:我們本來是可以按期完成的,現在開了一天會,我們已經延期了一天。

大家覺得這樣的項目經理是好還是不好?

同學們的意見:

  果凍:首先,延期一天也叫延期嗎…其次居然把進度卡這么精確沒有緩沖時間我估計項目本來就得延期。。。

  大牛:大部分情況下項目按期完成并沒有多大價值,除非是為了給團隊一點階段性的激勵

你有什么意見?

大牛說,我接一個私活,很簡單的,就不用搞那么多的形式主義了吧,我們直接開干,用代碼說話!請分析下面例子

    http://www.cnblogs.com/yhyjy/p/4444094.html

如果你來接這個私活,應該怎么做?

專家的意見供大家參考:

??? The two causes of runaways that stand head and shoulders above all others are poor (usually optimistic) estimation and unstable requirements.

Glass, Robert L. (2002-10-28). Facts and Fallacies of Software Engineering (Kindle Locations 736-737). Pearson Education. Kindle Edition.

??? Most software estimates are made either by upper management or by marketing, not by the people who will build the software or their managers. Estimation is, therefore, done by the wrong people.

Glass, Robert L. (2002-10-28). Facts and Fallacies of Software Engineering (Kindle Locations 853-854). Pearson Education. Kindle Edition.

5. 具體項目練習:

??? http://www.cnblogs.com/xinz/p/3308608.html

6. 看看縫紉機大叔是如何解決用戶需求的

??? http://weibo.com/2694810701/BpI8Km1UW#_rnd1412244033760?

8. 用戶真正的需求和正確的解決方案

??? 面對一個比較難的問題, 有時候項目經理或者程序員會想到一個奇妙的主意,哇,就這樣做吧,搞定!? 但是一些聽上去很妙的辦法真的解決了用戶的問題? 請看這個例子,用戶發現 “原理” 之后的心情:

?????? http://www.zhihu.com/question/26806900/answer/34095090

?????? 原理:什么原理能夠在不越獄的情況下識別騷擾電話呢?

?????? 尼瑪原理就是在老子的通訊錄里面自動添加上了成千上萬個騷擾電話啊!

?????? 老子打開通訊錄發現了從haoma1 到haoma7,這7個新添加的聯系人啊!

?????? 每個聯系人里面都儲存了成千上萬去TM的誰知道有多少個號碼啊!

?????? 然后統一整了個頭像是題主配的那個圖的樣子啊!

?????? 這樣就尼瑪的算是在不越獄下幫我識別騷擾電話了么!

?有更好的辦法么?

9. 用戶的需求似乎都被滿足了,咋辦?

??? 在市場上已經有一個主流軟件滿足的大部分用戶的顯性需求的情況下,后來者如何挖掘用戶需求?

??? http://www.zhihu.com/question/22310847

??? 請為后來者想幾個辦法, 用戶的需求真的被滿足了么?

10. 團隊練習 - NABCD 寫作,視頻,并且互評

請同學們把自己項目的NABCD 都寫出來。

1) 列成詳細的條目,用具體的事實和分析說明。

2)把這些要點都組合成為一段話? --? 當你要向別人兜售你的項目的時候, 你通常只有很短的時間 (電梯演說),能否自然而有條理地把項目說清楚?? 請用你產品中實際的元素代替 <> 中的抽象概念。

? ? ?各位領導/投資人/用戶/合作伙伴: 我們的產品 <foo> 是為了解決 <目標用戶> 的痛苦, 他們需要 <Need>, 但是現有的方案并沒有很好地解決這些需求,我們有獨特的辦法 <Approach>,? 它能給用戶帶來好處 <Benefit>, 遠遠超過目前市場上的競爭對手 <Competitor>。??同時,我們有高效率的 <Delivery> 方法,能很快地讓大部分用戶知道我們的產品,并進一步傳播。 ?

3)把上面的這段話錄制為視頻,上傳到視頻網站,并把鏈接發到個人/團隊博客上。?

????? NABCD參考 (參見?http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html)

  同學們的實際作業例子:

    http://www.cnblogs.com/liangzhilin/p/5462486.html

    http://www.cnblogs.com/jjy520/p/5463552.html

    http://www.cnblogs.com/hgf520/p/5457322.html?

4) 每個團隊發布了博客/視頻之后,? 其他團隊對每一個團隊的博客進行排名 (1,2,3... ) ,排名沒有并列。??? 并且把排名的理由寫到博客上, 對每個團隊的分析不得少于 140 字 (除非這個團隊沒有寫博客或者提供足夠的材料)?.

  如何寫出140 字的分析??

    對這個項目的一句話描述

    這個項目的優點

    這個項目計劃的缺點? (需求符合實際么? 符合你的認知么?技術能滿足用戶的需求么? ...)

    如果你來領導項目,你會做什么不一樣的事情?

這個練習的目的是讓團隊運用掌握的軟工知識去評價別人做的需求分析。?? 然后助教自己也對所有團隊的 NABCD 博客排名, 這樣, 助教就能夠比較快速地收集到所有團隊 需求分析的分數。??

11. 用戶界面設計,快速設計并驗證需求

  不要等到所有代碼寫好之后再去驗證需求,請用合適的原型設計工具描述用戶界面和需求,然后找用戶驗證。請用下面工具來描述你的產品原型:

  工具 Axure ?http://www.cnblogs.com/powertoolsteam/p/4763010.html

  墨刀: https://modao.cc/?

  MockPlus:?mockplus

  Balsamiq Mockup:?https://balsamiq.com/products/??

  GUI Design Studio:?https://www.carettasoftware.com/guidesignstudio/???

12. 如何平衡各種需求, 如果只滿足其中部分需求, 會怎么樣?

顧客對于要交付的軟件和服務,都是有很多美好的需求的,例如,交付要快, 人工要便宜, 質量要高,最好軟件本身是免費的。 但是一個軟件團隊的確不能同時滿足這么多需求,如何讓顧客知道她們的“多快好省”愿望是不可能達到的呢??

在上圖中,用戶希望軟件開發的又快, 又便宜 (人工便宜),質量又好, 最好是免費的。? 那么,如果只滿足部分的需求, 我們會得到什么樣的軟件呢?

例如,上圖的 ① 說明, 如果希望軟件做得又快,又低成本(人工便宜), 不考慮其他要求, 那么,我們會得到大致什么樣的軟件呢?

例如,上圖的 ⑤ 說明, 如果希望軟件是免費的,而且要很快交付,越快越好, 那么,這樣的軟件有什么特點呢?

請把 ① 到 ⑦ 的需求組合會導致什么樣的軟件, 會出現什么樣的問題, 都列出來。

總結

以上是生活随笔為你收集整理的现代软件工程 第八章 【需求分析】练习与讨论的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。