項目 | 内容 |
---|---|
這個作業屬于哪個課程 | 2020春季計算機學院軟體工程(羅傑 任健) (北京航空航天大學 - 計算機學院) |
這個作業的要求在哪裡 | 個人部落格作業-軟體案例分析 |
部落格園班級部落格分析
第一部分 調研,評測(軟體的bug,功能評測,黑箱測試,第8章使用者調研,12章軟體的使用者體驗)
測試
本次作業中,大概花了1~2個小時,分别以老師、助教和學生的身份,對部落格園的班級部落格功能進行了比較詳細的測試。由于平時作為學生使用者,已經有了比較多的使用經曆,故本次測試将偏重測試教師/助教端的功能,具體測試過程将以圖文并茂的方法進行展示:
首先使用自己平時登陸部落格園的賬号進行教師身份驗證。說是教師身份驗證,其實也就發了個帶驗證碼的電子郵件,流程上與很多網站基于電子郵件驗證的注冊方式無異,硬要說差別的話就是要求必須是edu郵箱,但很多學校的學生也注冊了edu郵箱呀。
接着在這裡注冊了一個測試班級,同樣也沒做任何的驗證,建立成功。
注冊成功之後,在這裡添加助教和學生。在注冊了兩個賬号後,一個作為助教,一個作為學生添加到了班級中。之後又嘗試添加真實存在的同學加入班級,同樣非常順利。添加成員時隻需要園子昵稱這個在部落格園中公開的資訊,剩下的字段随便填寫即可。
之後嘗試作為老師布置作業。吐槽一下:為啥作業布置界面的markdown就能邊寫邊預覽,在自己寫部落格的時候就不行呢?
作業釋出。釋出後的作業并沒有嚴格遵循markdown的标記格式,也算是一個bug了。
班級管理界面。在這裡設定了非常誇張的未交作業預設分數并且儲存成功了。順帶一提,這個設定頁面隻能在班級首頁中“推薦部落格”旁邊的“管理”按鈕中進入。
以助教身份進入這個界面,包括解散班級在内,可以進行的操作和教師完全相同,另外之前儲存的預設分數這次卻顯示數值有誤,是以剛才是把一個“有誤”的數值儲存進去了。
這裡測試了一下部落格園的查重功能。我用測試的學生賬号複制了一份自己原來的部落格(改了幾個字)然後作為作業送出,在教師端進行查重。查重的結果還是比較準确的,不過嘗試點選查到的部落格時,部落格園報了錯誤500。
這裡還測試了一下班級中的投票功能。老師、學生和助教都可以發表自己的投票,投票中還能插入圖檔,還能将結果以Excel形式導出。
學生打分界面。剛才設定的那個誇張的預設分數還是成功打上去了。
在這個界面也可以為學生的作業打分。這裡的打分設定就有了限制,不過這個地方也有bug,後面會詳細介紹。
bug描述
其實閱讀了剛才測試的過程,想必就會有槽點滿滿的感覺吧?現在概括性地梳理一下部落格園的班級部落格中存在的各種bug:
1. 幾乎沒有身份認證
從教師身份注冊,到班級的建立,再到添加助教和學生,整個過程中,幾乎沒有進行哪怕一次有效的身份認證(如果不算那個沒什麼用的edu郵箱要求,甚至可以把“幾乎”去掉)。不僅如此,部落格園的班級部落格還有一個及其容易被利用的設定:教師添加學生後,學生可以無需經過人工稽核,自動獲得開通部落格的權利,也就是可以繞開下面這個申請:
這個設定的初衷是友善班級學生快速建立自己的部落格并送出作業,但顯然是給了想在部落格園釋出廣告等無關資訊的人可乘之機。其他的地方也缺少必要的認證,比如我建立的班級在上海音樂學院-計算機科學與技術系,但事實上,我并不在上海音樂學院,經過核實這個學院也沒有計算機科學與技術系。
2. 設定與顯示上的混亂
首先是提到的markdown格式的問題,想到之前因為沒仔細檢查結果送出的部落格排版出現混亂,經助教提醒才發現的事情,可能這個問題對使用體驗的影響還是比較大的。
其次就是這個謎一樣的給分機制。由于時間關系,我沒有去檢視控制分數輸入的源碼,但很明顯,在班級管理中“設定預設分數”的部分,與作業界面中打分的分數範圍設定就不統一,而且各自都存在不同的bug。前者的bug已經在之前的界面展示過了,後者的bug是出現在數字格式的設定上。部落格園最終顯示的成績最多是允許顯示一位小數的,但可能是處理正規表達式出了問題,當我嘗試小數點以外的符号時,并沒有提示我輸入錯誤,而是截取了非法符号前的數字作為成績。這樣,如果老師想打"9.5"這樣的分數卻手滑打成了"9,5",系統就會給學生打9分,在批量輸入成績時,老師如果沒仔細檢查的話,這名可憐的學生可就白白少了0.5分。
從這個bug中揭示出來的是部落格園的一個更大的問題:不統一。這裡是相同内容在規格上的不統一(如果使用同一段輸入驗證代碼至少兩邊是同樣的bug),在其他地方,比如賬戶的個人設定界面,還有風格上的不統一。不過這已經不是本次評測的内容了。
(感興趣的可以把6個頁籤挨個點一下,有驚喜)
使用者體驗
雖然說部落格園的班級部落格有這樣那樣的bug也好,不安全也好,它還是抓住了最重要的使用者,并為他們提供了最最需要在自己的平台上解決的功能。對于老師和助教,這個功能就是友善地管理學生和他們的每一次作業;對于學生,這個功能則是交出一份高品質、排版精良的技術性作業。實際上後一個功能是建立在部落格園已有的部落格撰寫、對諸如markdown的輕量标記文本的支援、自主調整html和CSS格式等功能之上的,真正的殺手級功能,也是CSDN和其他技術性或非技術性部落格所不具備的功能,是它友善的班級管理系統。雖然以今天的眼光來看,它的功能也僅限于班級的組織+作業布置與評分,但畢竟它做了,而和他有直接競争關系的其他軟體沒有,是以這個功能的存在本身,就為有相關需求的使用者提供了其他軟體替代不了的體驗。另外一個加分項是,部落格園的廣告相對CSDN少了很多,如果隻使用班級部落格相關功能的話,幾乎可以忽略不計。
但在滿足了使用者的基本需求之後,是否能夠更上一層樓,提供更好的使用者體驗呢?部落格園沒有這麼做。如果讓我猜測的話,可能是軟體的設計者覺得沒有必要這樣做吧。畢竟,部落格園說到底也隻是個部落格,班級部落格說到底也隻是一個以班級為組織形式的,以部落格為作業形式的,友善交作業的平台,就連班級中的投票功能,如果不是因為這次測試,可能我自己都注意不到它的存在,對這樣一個系統進行優化的投入産出比是很低的。話又說回來,現在使用者量比較大的軟體,很多都在嘗試做各種功能細節上的增補與優化,這些改進不僅滿足了使用者的需要,從某種程度上甚至能開發出新的需求(比如某個被玩壞的+1),是以從軟體開發的角度來看,投入一些精力對軟體進行改進總是有價值的,哪怕稍微調整一下現在的班級頁面單調的配色,也何嘗不能提升使用者體驗呢。
結論(定量測評)
評分标準上與鄒欣老師保持一緻:滿分 10 分, 良好 6 分, 及格 4 分,聊勝于無 1 分, 很差 -3 分
功能部分 | 描述 | 評分 |
---|---|---|
核心功能 | 核心功能:班級的建立、作業管理,硬要算三個的話可以把作業釋出于送出算成兩個功能。在這些核心功能上,部落格園做的很不錯,更何況沒有競争。 | 10 |
細節 | 細節上,部落格園應該說還有挺多有待改進的地方。讓我印象最深刻的就是去年OO部落格園第一次作業時,好多人寫了作業卻忘了在班級的作業界面上送出。雖然這個虧不會有人吃兩次,但為了改善使用者體驗,設計一些機制避免此類問題是很有必要的。 | 6 |
在廣告這一點上毫無争議地給滿分,在其他方面上,除了剛才提到的交作業的問題以外,部落格園實作得都不錯,适應了以後體驗非常好。 | 9 | |
輔助功能 | 整個班級部落格界面的色調過于單調,如果是我的話一定會考慮在這個方向上做一些優化,何況難度并不大。 | 4 |
差異化功能 | 班級部落格實際上沒什麼直接的競品。但考慮它本身的功能與實作都比較簡單,如果有人想取而代之,可能也并不是什麼難事? | 8 |
體驗 | ||
---|---|---|
軟體的适應性 | 由于采用了響應式布局,班級部落格在不同裝置、不同視窗大小下閱讀起來都很便利,按鈕的大小在手機上也足夠大。 | |
成長性 | 雖然談不上”越用越友善“,但适應了基本操作以後,還是覺得很好用,類似于"git add --all"到"git push"的一串傻瓜操作,提升空間也不是很大。 | |
使用者有控制權 | 就學生端來說,作業上交以後能很明顯地在清單裡面找到自己的作業。不過老師端的話,打錯分數的回報可就不夠了。 | 7 |
自選評分項目 | ||
---|---|---|
安全性 | 班級部落格缺少身份認證系統,其安全性基本上建立在老師和助教操作的正确性上,并且這個機制本身能夠作為繞開部落格注冊那道關卡的漏洞。 | -3 |
軟體給使用者的信心 | 使用久了以後,就會感覺包括班級部落格在内,部落格園還是缺了些進取心。很多可以做的優化都沒做,身份認證也令人堪憂,讓使用者感覺就是”湊合着用的軟體“。 | 3 |
最後的總分是64/100,大概是剛剛及格的水準。雖然各項之間的分數相差有點多,不過這個總分還是挺符合内心期望的。如果不分小項地直接給整個班級部落格打分,滿分10分的話,估計也是六七分的樣子。
手機端的測試
目前部落格園的官方APP并不支援班級功能,我使用手機浏覽器,對班級部落格進行了網頁上的浏覽。篇幅關系這裡就不放圖檔了。
就結論來說,手機端的班級部落格不過是對PC端的内容進行了重新排版(應該是使用了響應式布局),在UI的設計上應該說不好不壞,至少在閱讀舒适度和按鈕可操作性上沒有問題,但由于裝置尺寸與操作方式本身的限制,整體體驗還是沒法和PC端相提并論。不過我想應該很少有人會經常在手機上使用這個功能,畢竟手機上寫博,内容還是計算機相關,這樣的人還是很少吧。
第二部分 分析(參考8.6節對工作的估計,和14.1節軟體工程的品質)
使用此服務的所有功能,估計這個軟體/網站/服務做到這個程度大約需要多少時間(團隊人數6人左右,計算機大學畢業生,并有專業UI支援)。(必答)
現在的話,部落格的很多子產品,包括前端模闆、markdown支援等等都可以在開源管道獲得,如果隻考慮班級部落格這一個部分的話,如果和部落格園一樣不考慮身份認證等安全性細節,以及界面上的優化處理,隻是勉勉強強把核心功能實作的話,我覺得加上測試的花費,最多也就10周吧。
分析這個軟體目前的優劣(和類似軟體相比),這個産品的品質在同類産品中估計名列第幾?(必答)
這個軟體的優勢在于:實作了别人沒實作的功能。劣勢在于:沒有更進一步實作一些拓展功能,而且基礎功能的實作也有提升空間。
由于缺少類似的競品,估計這個産品的品質在同類産品中應該可以排第一。從間接對手來講,班級部落格可能面對諸如MOOC、線上課堂等的沖擊,但他們都沒取代部落格作為分享平台的價值(其實MOOC的作業也是可以公開和分享的,但那一類作業往往不像部落格這樣硬核)。
從各方面的問題,推理出這個軟體團隊在軟體工程方面可以提高的一個重要方面(具體建議)。
從之前分數bug推理,這個團隊的聯系可能不夠緊密,在某些設定上未能采取同樣的标準。從這方面來講,建議就是加強團隊之間的溝通,特别是在規格上保持一緻。
另外一點就是,要盡可能讓使用者對這個産品充滿信心,要能讓使用者感覺到開發團隊是确實在努力地提升産品的價值,讓使用者體驗變得更好,而不是做完以後就放在一邊不管。
你在第一部分發現的bug,為何軟體團隊不能在釋出前修複?他們是不知道,還是有意不修複?你覺得是什麼原因?
對于身份認證的bug(實際上作為一個bug看待的話,這個bug也未免太嚴重了),我想是軟體團隊有意不修複的。雖然沒有身份認證很不安全也很不專業,但免去這個步驟以後,一方面可以提高使用者使用的友善性,另一方面也能為部落格園賺取一些流量(雖然不是廣告推廣,就是”測試班級“)。
對于成績錄入的bug,想必就是軟體團隊沒有充分測試的結果。不過長時間不修複的話,可能還是覺得沒有太大修複的必要吧。但這種bug存在本身,就足夠讓使用者對軟體的可靠性存在懷疑。
第三部分 建議和規劃(參考《建構之法》第8章功能的定位和優先級;第9章項目經理)
這個軟體/網站/服務有很多可以提高的部分,如果你是新上任的項目經理,如何提高進而在競争中勝出?
首先,市場有多大?潛在的使用者有多少?
最主要的市場還是高校計算機相關專業(包括但不限于CS、SE、網安等等),但其他專業與計算機或電子資訊的聯系也日益緊密了,許多理工專業都至少開設了一門程式設計課,如果這些課都使用部落格園進行班級與作業管理,使用者數字即使隻去想象,估計也是很大的數量。
目前市場上有什麼樣的産品了,它們的優勢劣勢在哪裡?和它直接競争的産品在那裡?
市場上已有的部落格産品,最主要也是最相似的對手就是CSDN,但它沒有班級系統;班級、作業管理可以通過MOOC或者線上課堂、課程中心來實作,但它們不具備部落格的分享性質。是以,和它直接競争的産品大概還沒有,但不保證以後不會有後起之秀取而代之。比如某一天,某個MOOC平台的使用者量也發展到可以與部落格平台相匹敵的程度,那麼這個平台整合一下資源,推出類似于部落格的作業系統,由于MOOC的設計初衷所決定的天然優勢,部落格園的班級部落格可能會被搶走一半以上的使用者。
作為新的項目經理,這個産品的核心使用者群是什麼樣的人,典型使用者長什麼樣?學曆,年齡,專業,愛好,收入,表面需求,潛在需求都是什麼?
核心使用者:
- 教師——精通計算機,但由于年齡限制,适應新軟體的能力可能不如年輕人;
- 助教——以大學高年級大學生和研究所學生為主,計算機相關專業居多;
- 學生——以大學大學生為主,計算機相關專業學生為其中最主要的使用者;
教師和助教的表面需求就是管理班級(添加學生),收發作業;而學生的表面需求是按時上交作業,潛在需求則是希望能在作業中學到知識。這些知識恰好可以在部落格園中獲得,是以可以使用推薦算法來為學生推薦相關博文,滿足學生的求知欲。
如果你有錢可以招聘6個人,有4個月的時間,你作為項目經理,應該如何配置角色(開發,測試,美工等等)?描述你的團隊在16周期間每周都要做什麼,才能在第16周如期釋出軟體的改進版本,并取得預想中的成績。
本項目的開發難度不高,但可以适當進行後端優化來提高性能,避免意外事件(比如DDL前過多學生送出作業導緻伺服器崩潰);
測試方面,在主要功能的實作上,應進行仔細測試,確定不出現嚴重的功能性bug。其他非主要功能的bug影響不大,不用投入太多精力測試。
美工方面,雖然從地位上講比較重要,但考慮軟體性質,不需要過度花裡胡哨的頁面,也就不需要遊戲原畫那種級别的美工,隻要在人員配置設定上足夠重視即可。
綜上所述,人員可以考慮平均配置設定,同時可以考慮采取結對方法,統一規範,避免不一緻。在16周的開發期間(可能用不上16周),可以考慮采用靈活開發流程,每周或每兩周一疊代,前期以後端為主,後期以前端為主,在疊代3~4個版本之後,還可以考慮邀請部落格園現有使用者進行測試,降低測試成本,同時收集更多改進意見,為最後的公開版本做好鋪墊。
後續
本部分不屬于作業規定内容,記錄本次部落格園班級功能測試後發生的各種相關情況,持續更新。
(包括但不限于被官方查水表,被同學親切問候)