通過各種案例分析,評測,辯論,總結,我們就能看到軟體工程的原則在實踐中的種種體現,也幫助我們在實踐中做得更好。
產品微軟小娜-智慧型助手,ios(pc、安卓都有)
第一部分調研, 評測
在ios應用商店搜尋微軟小娜,出來cortana,是軟體的真實的名字,
介面很簡潔清晰,註冊登入之後開始愉快的調戲小娜。
按照《構建之法》13.1節描述的 bug 定義, 找出幾個功能性的比較嚴重的 bug。
*在《構建之法》13.1節描述的 bug 有如下定義:
bug:軟體的缺陷,bug可以分解為:症狀(symptom)、程式錯誤(fault)、根本原因(root cause)。
1)症狀:即從使用者的角度看,軟體出了什麼問題。例如,微軟小娜,無論讓它誰的號碼,它都無法從我的通訊錄中找到該聯絡人。
2)程式錯誤:即從**的角度看,**的什麼錯誤導致了軟體的問題。
3) 根本原因:錯誤根源,即導致**錯誤的根本原因。
*發現問題:
(1)小娜必須在手機解鎖狀態下執行。鎖屏狀態下無法開啟小娜,需要指紋密碼認證。
(2)使用微軟小娜撥打已有聯絡人**時,若聯絡人名字中存在生僻字,不能識別撥打,只是開啟撥打**介面提示輸入號碼或是開啟與生僻字讀音相近的聯絡人的撥打**界;並不會自動撥打聯絡人的**。
(3)在語言的識別上有時會出現錯誤。例如系統語言是中文,若用英文進行語音操作,微軟小娜不能對操作進行應答,只是對所說英文內容翻譯。
用專業的語言描述 (每個bug 不少於 40字),如有必要, 配圖更佳。
(1)鎖屏下不能直接直接喚醒開啟,且鎖屏狀態下的語音操作不能直接完成,需要解鎖手機。
(2)使用微軟小娜撥打聯絡人**時,只是開啟**介面提示輸入**號碼(圖1)或是聯絡人的**(圖二),但是撥打還是需要點選「呼叫」才能撥打**(圖三)。
圖1 圖2 圖3
(3)用英文進行語音操作,微軟小娜不能對操作進行應答,只是對所說英文內容翻譯(圖4)。
圖4選擇乙個朋友(使用者)進行採訪,並加以記載。
我採訪的物件是宿舍室友石同學。由於他曾經也研究過微軟小娜,所以我認為採訪乙個使用過微軟小娜的人,比採訪乙個新手更有價值。
採訪物件:宿舍室友石同學 記錄:小曾
採訪者:小曾
採訪摘要:
我:小石你好,能採訪你使用微軟小娜的一些問題嗎?
宿舍室友石同學:好,你問吧!
宿舍室友石同學:因為智慧型助理這樣的應用,「能夠通過了解使用者的喜好和習慣」,幫助我進行日程安排,進行一些問題的解答。
我:那你為什麼用微軟小娜呢?
宿舍室友石同學:覺得挺好用的,和siri比起來,更智慧型一些。
我:你都會使用微軟小娜的哪些功能呢?
宿舍室友石同學:首先,第乙個問題,小娜可以說是微軟在機器學習和人工智慧領域方面的嘗試,與小娜的智慧型互動,不是簡單地基於儲存式的問答,而是對話,沒有siri那些那麼死板。第二個問題,我覺得更多的是功能方面吧。乙個很簡單的例子就是,假如手機中記錄的日程顯示將要參加會議,那麼不需任何操作,小娜到時就會自動將手機調至會議狀態。
我:意思就是微軟小娜更人性化一些?
宿舍室友石同學:相對吧。可以說手機能夠理解我將要做什麼
我:還有最後三個問題。使用這個產品的過程,你的問題都能解決麼?
宿舍室友石同學:肯定不都能解決呀!
我:能舉個例子嗎?
我:下乙個問題,軟體在資料量、介面、功能、準確度上、使用者體驗上各有什麼優缺點?
宿舍室友石同學:這個我不太懂。
我:就說你覺得介面怎麼樣?
宿舍室友石同學:蠻簡潔的。操作起來也很順手。
我:你有需要的新功能嗎,你覺得頁面怎麼改會更好?
宿舍室友石同學:新功能?介面背景顏色如果能多一些亮色就好了 。
我:你對產品有什麼改進意見?
宿舍室友石同學:暫時沒有吧。語音庫或許能多一些選擇會更好吧。
我:好的。採訪結束了,謝謝!
第二部分 分析
(參考《構建之法》 8.6 節 對工作的估計, 和14.1 節 軟體工程的質量)
盡可能地使用軟體的所有功能 。
已完成分析這個軟體目前的優劣 (和類似軟體相比), 推理出這個軟體團隊在軟體工程方面可以提高的重要方面 (具體建議)。要求把對比的結果列出乙個**,對比每個軟體各自的優點和缺點。
[附加題]根據理解和體驗,畫出整個軟體所有功能邏輯框圖,根據重要度標識出各模組的重要度、完成度、出發點及效果;
[附加題]針對不同的維度評分,對使用者體驗方面、ui介面美觀度、核心功能,分別打分(能給出更詳細的評分更優)。
第三部分 建議和規劃
(參考《構建之法》第8章功能的定位和優先順序;第9章專案經理)
如果你是專案經理,如何提高從而在競爭中勝出?
①考慮市場,面向群眾,定製其他需要的功能。
②提高ui設計,統一介面框架風格,多設計些**。
③提高互動設計,更加方便快捷使用軟體。
目前市場上有什麼樣的產品了?
siri、google now等。
你要設計什麼樣的功能?
ui介面優化,互動更加友好。功能不必過於複雜,應以主功能語音為主不斷優化,給使用者更好的體驗。
為何要做這個功能,而不是其他功能?
ui和互動如果過於繁瑣,乙個剛接觸不熟悉軟體功能的人是不會很想去使用的,這樣反而使使用者量減少;對於語音助手,更應該從初始去提高語音的優化,才能讓更多的人去使用軟體。
為什麼使用者會用你的產品/功能?
使用者使用乙個軟體的直接原因就是軟體的功能,而主功能很完美強大的時候,良好的人機互動將會給使用者帶來更好的體驗,把軟體推薦給別人。
你的創新在**? 請使用 nabcd分析(
).
①n (need 需求)
ui介面優化,互動更加友好。功能不必過於複雜,應以主功能語音為主不斷優化,給使用者更好的體驗。
③b (benefit 好處)
④c (competitors 競爭)
為能夠競爭得到優勢,調研市場是必須的,學習別人的,同時也要創新自己特色,構建成良性發展圈,使自己的產品不斷地被使用者主動接受和選擇。
⑤d (delivery 推廣)
推廣的途徑有很多,可以設定乙個互動平台讓使用者體驗後提出好的想法,如果想法不錯可以給予一定的獎勵等。
如果你來領導這個團隊,會有什麼不一樣?
如果要我來領導這個團隊,得力的助手是不可少的。另外,不管是需求分析,還是ui設計,或是**實現,我都希望能參與。細緻的問題不需要參與,但對於一些重要決策,還是需要把關的,比如使用什麼樣的演算法作為語音識別的方法等等。這樣才能對專案的程序及功能有個清晰地認識,對才能把握住大方向。能夠更加清楚團隊每乙個角色的工作,方便日後的工作安排。還要和使用者打成一片,知道他們需要什麼,就努力做好什麼。
如果你的團隊有5個人, 4個月的時間,你作為專案經理,應該如何配置角色(開發,測試,美工等等)?
APP案例分析 摩拜單車app
本次案例分析選用的是 摩拜單車ios 版本 使用過程中發現了如下兩個問題 1.2.1 3dtouch快捷操作選擇掃一掃偶然出現閃退現象,直接上 bug現象 bug現象 使用者背景 非計算機專業本科在校生。使用機型 ios10,沒有3dtouch功能 使用者改進建議 能夠記錄每一次的行蹤,但是卻不能手...
英語學習APP的案例分析
很多同學有誤解,軟體工程課是否就是理論課?或者是幾個牛人拼命寫 其他人打醬油的課?要不然就是學習乙個程式語言,搞乙個職業培訓的課?都不對,軟體工程有理論,有實踐,更重要的是分析,思辨,總結。在課程中,自己組織團隊寫乙個軟體,然後分析,的確是學習軟體工程的乙個好方法 但我們也可以從別人的成功 失敗中學...
英語學習APP的案例分析
1 第一次上手體驗。1 詞典介面,這個介面功能還是比較齊全的,有英語美句 英語單詞 英語文章,使得學習不那麼枯燥。但是首先一排文章下來中間穿插著英語電台,覺得看著很不美觀,有種生硬的感覺,其次英語文章的 和選擇也五花八門,由系統推送,不能自由選擇,這是乙個可以改進的地方。2 翻譯介面,設計很一般,並...