我的博客做業三:微軟小娜APP的案例分析html
咱們生活中不少時候要和軟件打交道,你們上課開小差時候玩的手機遊戲,買火車票的網站,互相聯繫用的微信、QQ,等等都是軟件,都很值得分析。你爲什麼成爲它們的用戶?它們的團隊作對了什麼,作錯了什麼?若是你來作,會作得更好麼?瀏覽器
經過各類案例分析,評測,辯論,總結,咱們就能看到軟件工程的原則在實踐中的種種體現,學好軟件工程,幫助咱們在實踐中作得更好。微信
產品網絡
請下載 微軟小娜-智能助手,win10,iOS或Android客戶端都有!工具
第一部分調研,評測post
(軟件的bug,功能評測,黑箱測試, 第8章 用戶調研, 12 章 軟件的用戶體驗)單元測試
1. 下載並使用,描述最簡單直觀的我的第一次上手體驗。學習
感受和蘋果手機裏的siri相似,而後故意把小娜的名字叫成siri,想看看她是什麼反應,接着又調戲她唱首歌,結果這個傢伙有感情地唱了一段《個人將來不是夢》,又測試了她一些其餘的功能,例如:幫我訂個下午五點的鬧鐘,附近有啥吃的之類的,總的來講,小娜的識別準確率很高,並且給的信息也很滿意,無聊的時候還能夠調戲她一下,真是不得不感嘆人機交互的發展之迅速。開發工具


2.按照《構建之法》13.1節描述的 bug 定義, 找出幾個功能性的比較嚴重的 bug,至少2個。測試
(1)有時小娜給的答案會不太準確(答非所問)
(2)有時會彈出Bling瀏覽器(相似於百度搜索)
3. 用專業的語言描述 (每一個bug 很多於 40字),若有必要, 能夠配圖。
當小娜讀不懂用戶的需求是什麼的時候,她會作一件熟悉的事情——打開瀏覽器,而後在Bing上搜索,即使是一些在你看來很是簡單的請求,都有多是經過Bling搜索找到的結果。或許,小娜還須要一些時間來進行深度學習,以便更好地瞭解人們的意識和需求。
4. 相信每一個同窗的朋友中必定有人須要用這樣的軟件, 選擇一個朋友(用戶)進行採訪,並加以記載。
5. 提示: 採訪提要
5.1. 介紹採訪對象的背景和需求(他們爲什麼要使用該軟件)
好奇心,想知道微軟如今的人機交互技術進展如何。
5.2. 讓採訪對象使用10 – 30 分鐘該APP的功能(請上傳照片證實用戶的確正在使用,遠程採訪的同窗請讓別人幫忙照相)
5.3. 描述用戶使用這個產品的過程,用戶的問題解決了麼?軟件在數據量/界面/功能/準確度上各有什麼優缺點?用戶體驗方面有問題麼?
小娜可以瞭解用戶的喜愛和習慣,幫助用戶進行日程安排、問題回答等,經過微軟小娜能夠進行查詢搜索、預訂機票、打開應用等,爲用戶帶來更多方便。小娜還擁有不少長詞的功能實現,好比在提醒功能中,能夠說「當XX打電話時,提醒我作XXX」,或是直接經過小娜語音寫便籤等等。 另外值得一提的是,微軟小娜還有不少有趣的小彩蛋,無聊的時候能夠調戲小娜解悶。好比你可讓小娜唱歌、背詩、說繞口令、說方言等等,小娜甚至能夠模仿明星說話,詩詞接龍等等,若是你實在無聊的話,還可讓小娜啓動自毀程序,倒數5秒鐘以後會有驚喜!
5.4. 用戶對產品有什麼改進意見?
聲音能夠有多種選項。
5.5. 結論:通過這麼多工做,你必定有充分的理由給這個軟件下一個評價:
• 很是不推薦
• 不推薦
• 通常
• 好,不錯
• 很是推薦 --------- 1
第二部分分析
(參考《構建之法》 8.6 節 對工做的估計, 和14.1 節 軟件工程的質量)
1. 使用此軟件的全部功能,估計這個項目作到這個程度大約須要多少時間 (團隊人數6 人左右, 計算機大學畢業生, 並有專業UI 支持)。
要想完成一個項目, 首先要制定項目計劃,而後進行需求開發階段,怎麼樣寫好需求很關鍵,若是有項目成員,能夠一塊兒作需求,最能可以寫出一份《需求規格說明書》,接着就要進行系統設計階段;經過結合用戶對系統環境、開發語言以及運行的網絡硬件等要求,肯定開發工具,用圖的方式表達出用戶和項目系統功能的關係。而後是代碼開發和單元測試階段,也就是實打實地打代碼,打完代碼以後固然就是要進行測試工做,測試是項目的很重要的環節,這個階段花費的時間要稍微多一些,最後一步就是進行過系統的後續維護工做。在我看來,要完成以上這些工做,至少須要一年的時間,由於這是一個不斷修復BUG的過程,在用戶使用的過程當中,多多少少會有體驗不佳的地方,這時就須要系統人員進行維護。
2. 分析這個軟件目前的優劣 (和相似軟件相比,至少對比2款軟件),推理出這個軟件團隊在軟件工程方面能夠提升的重要方面 (具體建議)。要求把對比的結果列出一個表格,對比每一個軟件各自的優勢和缺點。
蘋果的siri,三星的Bixby,谷歌的NOW
優勢:有趣的性格,只要你所提的問題和當前話題相關,它就能夠將對話保持下去,能夠處理幾乎全部虛擬助手應該去處理的基本任務。
缺點:小娜並不支持免動手模式,因此你須要經過長按搜索鍵的方式來激活它,而後它在語音聽寫上也存在一些問題。
第三部分建議和規劃
(參考《構建之法》第8章功能的定位和優先級;第9章項目經理)
1. 若是你是項目經理,如何提升從而在競爭中勝出?
吸引人的UI界面
2. 目前市場上有什麼樣的產品了?
蘋果的siri,三星的Bixby,谷歌的NOW
3. 你要設計什麼樣的功能?
我會讓界面再也不那麼枯燥,增長多種聲音選擇,而且讓小娜的回答再也不那麼死板,會變得圓潤一些,讓用戶以爲本身在和一個真正的人在對話而不是機器。
4. 爲什麼要作這個功能,而不是其餘功能?
由於用戶的第一次體驗很重要,若是第一次就使用戶對小娜產生興趣,那麼這個功能就是成功的。
5. 爲何用戶會用你的產品/功能?
由於她有實實在在的便利之處,以及放鬆用戶心情的做用。
6. 你的創新在哪裏? 請使用 NABCD 分析
( http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html ).
7. 若是你來領導這個團隊,會有什麼不同?
我會讓個人團隊調整一下狀態,不該該天天都是繃着弦,我以爲一個愉快的心情多是一個好的軟件的良好開端。
8. 若是你的團隊有5我的, 4個月的時間,你做爲項目經理,應該如何配置角色(開發,測試,美工等等)?
開發人員:3人;測試人員:1人;美工:1人;
9. 描述你的團隊在12 週期間每週都要作什麼,才能在第12周如期發佈軟件,大小里程碑績點設定.
· 進行需求分析 |
第一週 |
· 生成設計文檔 |
第二週 |
· 設計複審 |
第三週 |
· 設定代碼規範 |
第三週 |
· 軟件具體設計 |
第四周 |
· 軟件具體編碼 |
第五到第七週 |
· 代碼複審 |
第八週 |
· 測試(單元測試、壓力測試等) |
第九周 |
報告 |
第十到第十二週 |
· 測試報告 |
第十到第十一週 |
· 計算工做量 |
第十一週 |
· 過後總結, 並提出過程改進計劃 |
第十二週 |