天天看點

軟體評測

軟體評測

這個作業屬于哪個課程 2021春軟體工程實踐 | W班 (福州大學)
這個作業要求在哪裡
這個作業的目标 分析别人寫的軟體,得到啟發
其他參考文獻 CSDN文章——BUG等級劃分建議

一、調研、評測

1、CSDN問答

體驗

  1. 介紹:CSDN是提供原創、優質、完整内容的專業IT技術開發社群,此次我們使用的是CSDN的問答社群,在這個社群裡我們可以回答網友提出來的問題,也可以自己提出IT有關的問題等待他人回答。

    使用:

    軟體評測
    軟體評測
  2. 優缺點分析:我在遇到代碼上的問題時,時常會上CSDN社群尋找相關文章或者問答,有時可以解決我的問題,有時則不行,因為網友的回答不一定正常,并且有不少灌水的文章和回答,一個問題要翻閱許許多多篇文章或問答才得以解決。是以我認為CSDN隻能從一定程度上解決使用者的問題。

    優點:

    • 作為最大的中國專業IT技術開發社群,使用者量、日浏覽量、使用量大,并發量大,社群的生态好。
    • 界面比較友好,能夠清楚的找到想要的分區,分類很齊全,涵蓋了許多熱門類型。
    • 功能也比較完善,可以關注部落客,有關注區,還有排行榜可以檢視網站資料,可以知道熱門标簽或熱門部落客。還有分區頻道,可以到指定頻道進行問答。
    缺點:
    • 因為使用者量的激增,魚龍混雜,不少人發表文章、問答存在注水現象,有不少無效問答,而且抄襲現象嚴重,一篇相同的文章、問答會在多處看到。
    • 許多操作隻有登入後才能做,有時候隻是為了複制一小段代碼測試效果,卻被提示要登入,而且還不能用賬号密碼登入,在時間緊迫時,對使用者照成了很不好的體驗。(使用者體驗的問題)
    • 登入采用微信掃碼登入,登入不便,并且登入會強行綁定使用者關注公衆号,十分不友好。(使用者體驗的問題)
    • 複制粘貼會強行複制作者資訊!!!!!!!!!
  3. 改進意見:優化登入的過程,簡化登入的步驟,可以采用賬号密碼登入,不強行使用者關注公衆号,給使用者一個良好的印象。允許不登入的情況下複制代碼,減少使用者的不便。

BUG

  1. 測試環境
    • 作業系統:win10
    • 浏覽器:Firefox 版本:88.0.1

    BUG1前置條件:在個人關注界面,取消關注某個部落客,然後重新整理界面。

    BUG2前置條件:頭像使用預設頭像。

  2. 可複現性及複現步驟

    BUG1:

    • 屬于特定條件下發生。
    • 發生條件:在取消關注後10s内重新整理。
    • 複現步驟:首先要有關注人,前往個人關注界面,随機取消關注一名幸運部落客後,重新整理界面,觀察關注清單和導覽列中個人資訊欄的關注數,發現關注數與關注清單人數不一緻。
    BUG2:
    • 發生條件:頭像使用預設頭像時,回答一個問答。
    • 複現步驟:首先使用者沒有上傳過頭像,即使用的是預設頭像,然後去回答一個問答,觀察自己的預設頭像與問答中的自己的頭像,發現兩個頭像是不一緻的。
  3. 描述

    在取消關注一名部落客後立即進行重新整理,關注清單中那個部落客已經消失,但是導覽列個人資訊中的關注數沒有發生變化。

    下圖中,關注了一名部落客,重新整理界面,讓關注清單更新,被取消關注的部落客從清單消失,但是此時觀察導航欄中的個人資訊的關注數,發現關注數沒有發生改變。

    軟體評測
    軟體評測
    軟體評測

    當我使用預設頭像時,回答了一個問答後,發現我的那個問答中的頭像與我個人資訊中的預設頭像不一緻。

    由于問答在頁面下方,導航欄跟問答無法在截圖在同一張是以分開截圖。

    軟體評測
    軟體評測
  4. BUG分析

    BUG嚴重性名額說明:“黑洞”是緻命性系統錯誤、緻命性安全漏洞、重要資料洩露和使用者體驗嚴重影響;“恒星”是嚴重系統錯誤,嚴重性安全漏洞,使用者體驗較差;“行星”是影響到系統功能或操作,功能存在嚴重缺陷,但不會影響系統穩定性;“衛星”是界面或功能存在缺陷,例如邊界條件下錯誤、無進度提示、系統未優化;“塵埃”是易用性及建議性問題。量化标準參考該文章BUG等級劃分建議

    BUG1:

    • 可能成因:導航欄的資訊展示采用了緩存機制,并且定時重新整理,重新整理的時候擷取的是緩存資料;關注清單的資訊展示沒有采用緩存機制,一旦重新整理就重新擷取資料庫資料。是以當相同的資料發生改變時,一方擷取新資料,一方擷取緩存資料,就造成了資訊的不一緻性。
    • 屬于“衛星”級BUG(二星),因為資訊的不一緻是系統内部的優化問題,資訊不一緻還會導緻使用者體驗下降。
    • 改進建議:可以把導航欄中的個人資訊的關注數、點贊數等顯示改為重新整理一次擷取一次,不要采用緩存機制。
    • tips:其實這個BUG并不算太嚴重,如果是以要加大整個網站資料互動的負擔,我覺得還不如不要修改。
    • 可能成因:當使用預設頭像時,個人資訊中的頭像與問答中的個人頭像沒有同步,也許兩個地方頭像的展示調用的是不同的接口,而使用者沒有自己設定頭像時,兩個接口傳回的預設頭像不一緻。
    • 屬于“衛星”級BUG(二星),頭像顯示的不一緻,會讓使用者覺得有些别扭。
    • 改進建議:修改當使用者未設定頭像時,不同位置預設頭像的擷取或展示要一緻。
    • tips:自己設定一個頭像就可以解決這個問題,之後就不會再遇到這個BUG。
  5. BUG回報
    軟體評測

結論

我非常推薦使用CSDN這個網站,即便它有一些缺點,但是作為目前中國最大的IT社群,它的資訊量還是極其巨大的,使用者量也極大,在良好的生态下,在上面問答可以得到較快的回報,雖然有注水的成分,但是有深度的文章、問答不占少數。

2、Stack Overflow

  1. 介紹:Stack Overflow是一個與程式相關的IT技術問答網站。使用者可以在網站免費送出問題,浏覽問題,索引相關内容。
    軟體評測
    軟體評測
    軟體評測
  2. 優缺點分析:相比于CSDN,它沒有廣告,注水的文章、問答比CSDN少了許多,上面聚集了全世界範圍的程式員,使用者基數大,不過作為國人使用起來有些許不便,是以我認為Stack Overflow可從一定程度上解決使用者的問題。
    • 作為全世界程式員聚集的IT問答網站,使用者量大,生态非常好,提問題很快能得到回報,在上面可以學習到不同國家的人對代碼的用法、看法,在上面問問題也更加能集思廣益。
    • 界面十分美觀,簡單又不失優雅。
    • 沒有廣告,也不會強制使用者關注什麼(不會綁架使用者)。
    • 如果是注水的的問題會被直接關掉(問問題的門檻比較高)。
    • 由于是外國的網站,采用全英文,對英語水準較低的人來說十分的不友好,找不到自己想去的子產品(看不懂),使用起來十分不便。
    • 在上面提問或者回答問題需要比較高的英語水準或者翻譯工具輔助,并且提問題需要一定門檻,一些比較主觀的問題是會被關閉的(比如:你覺得小程式XXX好不好),是以這類問題是無法在這上面找到答案的。
    • 網速比較慢,加載比較慢,對使用者體驗不友好。
  3. 改進意見:在中國設定個代理,部署伺服器,改善網速的問題,然後就是希望中國代理後增加個漢化功能(這個改進意見成本比較高)。

    BUG前置條件:在編輯資料時上傳頭像。
    • 屬于必定條件下發生。
    • 複現步驟:在注冊/編輯個人資料的時候,上傳圖檔作為自己的頭像。
  1. 我嘗試過在注冊的時候上傳圖檔作為頭像,提示上傳、修改成功,但是頭像是空白的,同樣,我嘗試在注冊完過了一天(此時還是空白),再次編輯資料上傳頭像,提示修改成功,但是依然顯示空白。
    軟體評測
    軟體評測
    軟體評測
    • 可能成因:伺服器沒有部署在中國,導緻中國使用者上傳本地圖檔無法儲存在Stack Overflow伺服器中,雖然顯示修改成功,圖檔路徑沒有成功存進資料庫,或者路徑存進去但是因為圖檔沒存進去導緻路徑所指向的位置是不存在的。
    • 屬于“衛星”級BUG(二星),因為無法更改個人資訊,是十分不友好的體驗,即使它隻是一個頭像。
    • 改進建議:在中國部署個伺服器。

我覺得Stack Overflow好,不錯。之是以沒有非常推薦,是因為對現階段的大學生來說,使用這款軟體還是比較困難的,不過我認為可以嘗試去使用它,去跟不同國家的程式員交流,可以開闊我們的眼界。

3、SegmentFault

  1. 介紹:SegmentFault 是技術交流平台。
    軟體評測
    軟體評測
    軟體評測
  2. 優缺點分析:跟CSDN相比起來,它的UI更清爽、鮮明,就是廣告也比較多,而且使用者量不大。
    • 界面比較清爽、看起來更鮮明,比較跟得上潮流。
    • 功能劃分較為清晰,利于使用者很快找到想找的區域。
    • markdown支援的比較好。
    • 廣告也是比較多,對使用者體驗不大好。
    • 使用者量相對比較少,生态跟前兩者無法相比,這也導緻問題無法被快速解答。
    • 點選具體标簽或者是頻道,裡面的問答預設按照時間排序,而且!根本沒辦法改排序方式,如果單獨隻想看某個區的内容,體驗感極差。隻有最上面的推薦可以按最新最熱排。
  3. 改進意見:多收集一些使用者的意見加以改進,有許多易用性問題需要改進,例如給分區的内容多幾個排序方式;多宣傳一下網站,提高使用者量。

    BUG前置條件:使用者微信掃碼注冊。
    • 複現步驟:掃碼注冊,填寫完手機,發送驗證碼之前,點選驗證拼圖時,拖動拼圖到最右邊(不用松掉滑鼠)。
  1. 隻要在拖動拼圖時,直接拉到最右側,直接判定為沒對準,算一次對準失敗(我都還沒松滑鼠就告知我對準失敗)。
    軟體評測
    • 可能成因:使用元件時,邊界條件沒有考慮完善,導緻拉到最右邊會直接進行拼圖位置校準的判定,提前進行了判定,導緻判定結果不準确。
    • 屬于“衛星”級BUG(二星),因為邊界條件下錯誤,導緻拼圖驗證會直接失敗。
    • 改進建議:檢查拼圖驗證的邊界條件設定或事件設定。
  2. 軟體評測

我不推薦SegmentFault,最大的原因就是生态相比于前兩個差别太大,使用者量的差别,就很直覺地決出勝負了。

二、分析

1、開發時間估計

CSDN: 30天

Stack Overflow:45天

SegmentFault:14天

2、同類産品對比排名

  • 首先,從使用者量和生态上比較,CSDN跟Stack Overflow是勝于SegmentFault的,使用者量大,生态好,軟體才能久經不衰。
  • 從廣告上,CSDN跟SegmentFault廣告都偏多,這點Stack Overflow做得很好,幾乎是看不到廣告的。
  • 從使用者體驗,都有需要改進之處,登入注冊來說,Stack Overflow主要問題是網速問題,而CSDN和SegmentFault登入注冊使用微信注冊,但是需要強制關注公衆号(綁架使用者,CSDN還會不隻讓你關注一個)。
  • 從解決問題的角度,CSDN跟Stack Overflow都能較好的解決程式員的疑問,不過CSDN有許多注水現象,而Stack Overflow門檻較高。SegmentFault由于使用者量比較少,無法與前兩者比較。

綜上所述,我認為這三者的排名為:

​ CSDN>Stack Overflow>SegmentFault

3、軟體工程方面的建議

  • CSDN團隊可以優化一下稽核機制,加大問答、部落格的稽核力度,亦或是做個站内文章自動化相似度檢測工具,借此來減少大批文章抄襲現象(同一篇文章通常好幾處可以看到)。
  • Stack Overflow團隊可以考慮增加多語言轉換工具,至少讓站内固定資訊能進行不同語言之間的切換(文章、問答内容就不必了,不可能),增強國際化功能。
  • SegmentFault團隊還有許多不足,易用性建議建議性意見可以多聽取,多看看使用者回報進行修改。

4、BUG存在的原因分析

  1. CSDN的BUG:

    BUG1:導覽列資料更新不及時,導緻資訊不一緻。

    • 可能是有意不修複,因為修複這個問題可能導緻每次重新整理網站需要擷取更大的資料量資訊,加大網站負擔。
    BUG2:問答與個人資訊中的預設頭像不一緻。
    • 有可能是開發人員粗心大意,也可能是有意為之,至少在我看來是開發人員粗心大意,頭像不一緻是顯而易見的錯誤。
  2. Stack Overflow的BUG:

    頭像上傳不上去,顯示不出來。

    • 測試把關不嚴,沒有在特定的環境下測試(在伺服器部署不到的其他地區進行測試)。
  3. SegmentFault的BUG:

    注冊的時候拼圖驗證出現問題。

    • 具體的設計品質不高,開發人員粗心大意外加測試把關不嚴、敷衍了事,這是個很容易發現的問題(我才剛開始用這個軟體,随手注冊一下都出問題了)

三、建議和規劃

1、市場概況

無論國内外,從事IT行業的人數每年都在激增,除此之外,就讀IT行業相關專業的大學生也越來越多,另外還有少部分雖然沒有就讀IT行業相關專業的學生,但也需要寫代碼。IT問答社群對于這些人員來說都是至關重要、必不可少的,大家都需要來自網絡上其他人的幫助,那就需要IT問答社群來容納這麼多的人員,幫助他們解決問答需求。

據國内權威資料統計,未來五年,我國資訊化人才總需求量高達1500萬— 2000萬人。其中“軟體開發”等人才的缺口最為突出。以軟體開發為例,我國軟體人才需求以每年遞增20%的速度增長,每年新增需求近百萬。此段資料參考文章[IT行業的發展走向趨勢

直接使用者:從事IT行業人員、就讀IT行業相關專業的大學生

潛在使用者:即将就讀IT行業相關專業的準大學生、對IT行業感興趣的其他人員

2、市場現狀

  1. 産品舉例(下面主要分析CSDN、Stack Overflow、SegmentFault)

    就上述分析的來說,目前市場上比較知名的就是CSDN、Stack Overflow,SegmentFault相對知名度比較低,另外還有部落格園、德問、猿問、V2EX、極客等産品。(其實後面幾個知名度比較低,我也是後面查資料才知道的)。

  2. 産品定位與優劣勢

    CSDN與SegmentFault主要面向國内的程式員,而Stack Overflow面向全世界的程式員,Stack Overflow的使用者範圍更廣。

    CSDN:

    • 優勢:國内使用者量巨大,生态好,擁有專家團隊坐鎮帶領解決問題,吸引更多人使用。
    • 劣勢:注水、抄襲現象比較嚴重,一個問題會出現多篇一樣的文章,降低解決問題的效率,廣告多。
    Stack Overflow:
    • 優勢:全球範圍的程式員都在使用,生态好,擁有比較嚴格完善的稽核機制,問題水準和回答水準都比較高,沒有廣告騷擾。
    • 劣勢:全英文網站對英語不好的人比較不友好,另外因為在國内網速較慢,體驗稍微差一點。
    SegmentFault:
    • 優勢:界面設計比較清爽簡潔,跟得上潮流。
    • 劣勢:一些功能還有缺失,基本的分區裡居然不能搜尋/排序,廣告也比較多,使用者量較少,生态不如前兩者。
  3. 産品關系

    這三者雖然互為競品,但是CSDN跟Stack Overflow一個是面向國内,一個面向全球,格局不一樣,是以競争關系我覺得沒有太明顯。CSDN與SegmentFault競争比較明顯,但是CSDN優勢就擺在那,SegmentFault就像是劣化CSDN,被CSDN狠狠踩在腳下的感覺。

3、市場與産品生态

  1. 市場分析

核心使用者群:程式員(需要敲代碼的人群)

典型使用者:IT行業中的程式員、就讀IT行業相關專業的大學生。

年齡:18-35

專業:計算機、大資料、資訊安全、軟體工程、數學、物聯網等。

表面需求:想要解決遇到的BUG或問題

潛在需求:提高自己的技能水準

  1. 生态分析(包含問題2、3)

産品的使用者群體之間是有關系的,一般就職的程式員在大學生階段就已經接觸并且十分了解IT問答社群,或者說,使用者群體之間是一種過渡關系,随時間變化過渡成為另一種使用者,但是他們的使用目的是一樣的。

産品的子産品存在一定的關系,其他相關産品之間也存在一定的關系。

子産品有利用其互相作用二次構成特定使用者生态的可能性,而相關産品之間我認為有這個可能性但是可能性不大。子産品之間,如問答社群與部落格區、論壇區都是相輔相成的。相關産品之間,雖然各有優點缺點,可以取長補短,但是正因為有不同的優缺點,是以它們的使用者是有所差别的,沒必要去求大同或者二次構成,從利益角度也沒必要。

4、産品規劃

以CSDN為改進軟體。
  1. 功能拓展

    加上 内容檢測系統。

    NABCD分析:

    N:

    • 目前CSDN上抄襲的現象不占少數,同時注水現象非常嚴重。
    • 由于注水、抄襲,一是減少了原創作者、答題者的積極性,二是造成了想要解決問題的使用者效率降低(連續點開幾篇一模一樣,或者都是奇怪的回答)。
    • 如果有内容檢測系統,可以減輕稽核方面的負擔。
    A:
    • 在發表文章、問題時,先進行站内搜尋,如果發現了幾乎一樣的問題,提示作者已經有相似度極高的問題或文章,如果作者執意發表,則發給背景回報稽核。
    • 利用CSDN本身極大的使用者量,系統設計初期征求廣大程式員的建議,收集使用回報,由程式員提出建議更适合改進。
    B:
    • CSDN的抄襲、注水現象一直是CSDN被人诟病之處,如果能解決,軟體的形象會大大改觀。
    • 解決内容抄襲和注水現象,會提高使用者的體驗,提高使用者解決問題的效率,更容易留住使用者,提高使用者量。
    • 可以提升整個站内文章、問答的平均水準,影響并提高使用者的技能水準(從長遠看)
    C:
    • Stack Overflow雖然沒有内容檢測系統,但它勝在它的稽核機制十分嚴格,可以在一定程度解決注水、抄襲現象。若内容檢測系統做出來,其必然會與Stack Overflow稽核機制一較高下。
    • 國内其他IT問答社群也存在這個問題,作為國内IT問答社群的龍頭軟體,若可以解決這個問題,會直接遙遙領先其他同類軟體。
    D:
    • 利用CSDN本身巨大的使用者量,進行站内宣傳,讓使用者都這個系統的誕生或試用。
    • 在系統設計到可用階段或測試階段時,直接投放在站内試用,利用龐大的使用者量來快速得到回報,并一邊釋出改進點來吸引使用者。
  2. 角色配置

    美工:1人

    開發:3人

    測試:2人

  3. 具體安排
    周數 安排
    1 制定計劃、需求分析
    2-4 改進原資料庫、檢測子產品設計、前端原型設計
    5-9 前端實作,第一階段檢測功能實作,單元測試
    10 對第一階段檢測功能進行內建測試,改進
    11 釋出第一階段檢測功能,開通專用回報通道
    12 根據回報改進第一階段檢測功能
    13-14 完成第二階段的檢測功能
    15 釋出第二階段檢測功能,根據回報繼續改進
    16 将檢測功能作為正式功能釋出