標籤:處理 blog 成功 使用 工程 規範 學習 百度搜 實現
個人部落格作業三:微軟小娜APP的案例分析
我們生活中很多時候要和軟體打交道,大家上課開小差時候玩的手機遊戲,買火車票的網站,互相聯絡用的、QQ,等等都是軟體,都很值得分析。你為何成為它們的使用者?它們的團隊做對了什麼,做錯了什嗎?如果你來做,會做得更好嗎?
通過各種案例分析,評測,辯論,總結,我們就能看到軟體工程的原則在實踐中的種種體現,學好軟體工程,協助我們在實踐中做得更好。
產品
請下載 微軟小娜-智能助手,win10,iOS或Android用戶端都有!
第一部分調研,評測
(軟體的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,Google的NOW
優點:有趣的性格,只要你所提的問題和當前話題相關,它就可以將對話保留下去,可以處理幾乎所有虛擬助手應該去處理的基本任務。
缺點:小娜並不支援免動手模式,所以你需要通過長按搜尋鍵的方式來啟用它,然後它在聽寫上也存在一些問題。
第三部分建議和規劃
(參考《構建之法》第8章功能的定位和優先順序;第9章專案經理)
1. 如果你是專案經理,如何提高從而在競爭中勝出?
迷人的UI介面
2. 目前市場上有什麼樣的產品了?
蘋果的siri,三星的Bixby,Google的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周如期發布軟體,大小裡程碑績點設定.
· 進行需求分析 |
第一周 |
· 產生設計文檔 |
第二周 |
· 設計複審 |
第三周 |
· 設定代碼規範 |
第三周 |
· 軟體具體設計 |
第四周 |
· 軟體具體編碼 |
第五到第七周 |
· 代碼複審 |
第八周 |
· 測試(單元測試、壓力測試等) |
第九周 |
報告 |
第十到第十二周 |
· 測試報告 |
第十到第十一周 |
· 計算工作量 |
第十一周 |
· 事後總結, 並提出流程改善計劃 |
第十二周 |
個人部落格作業三:微軟小娜APP的案例分析