軟件工程實踐2020_個人作業 —— 軟件評測


這個作業屬於哪個課程 <2020春W班 (福州大學)>
這個作業要求在哪里 <作業要求>
這個作業的目標 <評測分析騰訊即時通信IM,采訪潛在用戶,對於即時通信SDK的建議和規划>
作業正文 <作業正文>
其他參考文獻 <騰訊IM即時通訊開發文檔>

Part.01 調研,評測

評測:

軟件的bug,功能評測,黑箱測試

本次作業選用的完成方式:方式一

(PS:在一開始嘗試使用方式二進行開發,作為一個目標是成為專業后端工程師的人,我的第一思路是將這個sdk的開發文檔中的REST API整合到springboot里的,然后用一個簡單的gui進行測試,無奈這個sdk確實是提供給前端的人員開發使用的,且並沒有為java提供接口,我只能想辦法自己弄,最后截止2020-04-17晚上,在借鑒了github一個開源項目的前提下,把騰訊即時通訊IM SDK整合到springboot時出了一些問題,卡在那了,報空指針,估計還是計算usersig那里出的問題,考慮到馬上截止了,只好懸崖勒馬,換用方式一重新開始,目前本人已自閉,心情有點郁悶ing,拖大了,還是按照開發文檔按步驟來使用SDK可能可行性要大很多)


Demo測試(本次對web端、Android端、ios端與小程序端均進行了同類型測試)

下載並使用demo,對使用的不同demo,每種demo至少提供兩張使用過程中的截圖

  • web端:設備 個人PC(系統:Windows 10 專業版)

登錄界面測試
測試結果:界面顯示正常、創建用戶功能正常
個人作業

字符串類型輸入測試:文字型信息一般文字、表情
測試結果:輸入、接收正常、信息顯示正常
個人作業

文件流類型輸入測試:圖片
測試結果:輸入、接收正常、圖片顯示正常、圖片可預覽
個人作業

文件流類型輸入測試:視頻
測試結果:輸入、接收正常、視頻顯示正常、視頻可點擊在線播放
個人作業

自定義消息輸入測試
測試結果:輸入、接收正常、自定義消息不可點擊查看詳情(那自定義消息的意義何在?)
個人作業


  • Android端:設備 MI9(系統:MIUI 11.0.5穩定版)

登錄界面測試
測試結果:界面顯示正常、注冊登錄功能正常
個人作業

添加好友測試
測試結果:添加好友功能正常,驗證信息功能沒有顯示驗證信息
個人作業

字符串類型輸入測試:文字型信息一般文字、表情
測試結果:輸入、接收正常、信息顯示正常
個人作業

文件流類型輸入測試:圖片
測試結果:輸入、接收正常、圖片顯示正常、圖片可預覽
個人作業

文件流類型輸入測試:視頻
測試結果:1、直接錄制的視頻輸入、接收正常、視頻顯示正常、視頻可點擊在線播放
2、無法上傳本機的視頻,報錯(雲通訊:right),初步判斷是沒有獲取應用的讀取文件權限
3、本機的視頻可通過文件上傳,但無法下載僅顯示存儲路徑,這樣的設計很不友好
個人作業
個人作業

自定義消息輸入測試
測試結果:輸入、接收不正常、安卓這邊直接不給自定義了,直接顯示歡迎加入雲通信IM大家庭,點擊后跳轉開發文檔
個人作業


  • ios端:設備 ipad mini5(系統:13.3.1(17D50))

登錄界面測試
測試結果:界面顯示正常、注冊登錄功能正常、讓人欣慰的是和安卓那邊數據是互通的,估計應該是一個后端提供的接口,但是字體在我的設備顯示有問題,是白色的,在賬號框與密碼框,根本看不清自己輸入了什么,很差的人機交互,在后續界面也有此問題
個人作業

輸入測試
測試結果:因和安卓界面UI邏輯基本差不多,輸入與接收正常的地方和上部分安卓一樣,問題也和上部分安卓一樣,字體顏色仍有問題
個人作業
個人作業


  • 小程序端:內嵌微信不展示設備(微信版本:7.0.13)

登錄界面測試
測試結果:界面顯示正常、創建用戶功能正常
個人作業

輸入測試
測試結果:1、字符串類型輸入、接收正常、信息顯示正常
2、文件流類型輸入測試:圖片輸入、接收正常、圖片顯示正常、圖片可預覽
3、文件流類型輸入測試:視頻輸入、接收正常、視頻顯示正常、視頻可點擊在線播放
4、自定義消息輸入測試輸入、接收正常、輸入、接收正常、自定義消息不可點擊查看詳情(那自定義消息的意義何在?)
PS:小程序端的問題表現與web相同,應該是直接把web作為一個frame嵌入微信的,所以在小程序端視頻上傳正常且自定義消息的問題表現相同
個人作業
個人作業
個人作業
個人作業


使用發現的BUG

1、找出至少兩個比較嚴重的功能性bug(說明:操作不夠人性化、沒考慮到用戶的xx需求等並不算嚴重的功能性bug)
2、請使用專業的語言描述(每個bug 不少於 40字),並配圖說明
3、你覺得為什么這個產品組的人沒有發現這些bug??
PS:在上一部分在對各個端進行測試時,發現了一些小的bug,已在上部分測試結果指出,在此處就不一一列舉,在本部分主要列舉嚴重的bug

  • 軟件Demo使用過程中的bug(黑箱測試發現的)

  • BUG1:ios端的ui字體與整體UI顯示問題

  • 問題描述:

ios端的ui字體與整體UI顯示問題,在登錄界面用戶名、密碼無法顯示,疑似是字體顏色的問題,然后在顯示詳細資料、我的個人消息、開發調試等界面均有按鈕的左側描述字樣無法顯示的問題(因長按按鈕會發現實際是有一個按鈕名字的,顯示為灰色,如我的個人消息界面中第一個按鈕左側顯示為好友申請,但正常狀態不顯示)

  • 開發人員沒發現這個問題原因:

我猜測有兩個可能 1、開發人員沒有正確的對按鈕等UI的背景顏色和字體的顏色進行設置,故導致字體和背景均為白色,導致顯示不正常(但考慮到鵝廠這樣的大廠的程序員不會犯這樣的低級錯誤,故本人不是很傾向於這個猜測);2、該app測試發布的ios版本與當前版本(本人使用的是最新的13)相比應該較老,然后ios系統在更新過程中可能對操作系統的字體顏色庫進行了版本更新,可能修改了對應字體顏色調用時的方法或變量名,然后該app在調用字體顏色的時候找不到對應的映射,調用失敗,異常處理將字體的顏色調用了默認的白色故導致了現在出現的問題(本人比較傾向於這個猜測,但是手上沒有其他版本的ios,且不可能順着ios的版本由新到舊逐一測試,該app在發行時,發行的人員手上應該有對應的ios版本,這個開發人員好找問題,該猜測暫時無法證實)
個人作業
個人作業
個人作業
個人作業


  • BUG2:黑名單操作時的消息顯示問題(測試時使用本人Android(登入用戶theTuring_221701412)和ios設備(登入用戶test_221701412)進行測試,Android設備將ios設備的用戶拉入黑名單,ios設備發送消息)

  • 問題描述:對這個問題按照操作流程進行描述

  • Step1:用戶theTuring_221701412將用戶test_221701412拉入黑名單

  • Step2:用戶test_221701412向用戶theTuring_221701412發送消息:我現在已被拉入黑名單

  • Step3:用戶theTuring_221701412將用戶test_221701412移除黑名單

  • Step4:用戶test_221701412向用戶theTuring_221701412發送消息:我現在被移除了黑名單

  • Result:用戶theTuring_221701412界面:僅收到消息:我現在被移除了黑名單(狀態:已讀);用戶test_221701412界面:顯示消息:;1、我現在已被拉入黑名單(狀態:已讀)2、我現在被移除了黑名單(狀態:已讀)

  • 問題所在:

用戶theTuring_221701412並沒有收到消息:我現在已被拉入黑名單,但用戶test_221701412那邊反饋卻是已讀(這樣的bug在某些場景很致命,本人目前想到的最明顯的場景就是戀人之間吵架(A與B),A拉黑B,拉黑后B說了很多道歉的話理論上應該可以挽回A,A在第二天從黑名單又拉回B,B界面顯示A已收到長篇大論的道歉(已讀),A那邊卻並沒有收到,兩人漸行漸遠(PS:個人建議:1、重要事當面講,工作上的也好,愛情友情上的也罷,聊天工具的bug難說會導致信息不對稱與遺漏,就算做不到打個電話!!2、強扭的瓜不太甜,不要當舔狗!!!))

  • 開發人員沒發現這個問題原因:

在研究了騰訊即時通訊IM的開發文檔后,由REST API 接口列表里面研究了添加黑名單、刪除黑名單、導入單聊消息的API的文檔中請求包與應答包的JSON數據包后得出了以下猜測(使用上述用戶舉例):用戶theTuring_221701412調用添加黑名單接口將用戶test_221701412拉入黑名單;然后用戶test_221701412發送了消息:我現在已被拉入黑名單此時該消息被存到了處理隊列中;用戶theTuring_221701412調用刪除黑名單接口將用戶test_221701412移除黑名單,根據文檔刪除黑名單接口,請求包僅發送解除的用戶的json數組,用戶test_221701412向用戶theTuring_221701412發送消息:我現在被移除了黑名單,用戶theTuring_221701412調用導入單聊消息接口就接收到了第二條消息,應答包就返回了一個ok給用戶test_221701412;用戶test_221701412接收到ok,則邏輯將最新以及以前的消息全部標記為已讀(問題就是出現在這里的!!因為按照常規的邏輯你讀了最新消息那之前所有沒讀的都應該讀了,但此場景因為黑名單的操作實際上第一條消息還在用戶test_221701412的請求隊列中沒有發出去,但也被標記成了已讀),我認為這個bug只需要給消息增加一個標記,且在導入單聊消息接口的應答包除了ok的屬性再增加一個標記的是哪條信息即可解決。

涉及的接口列表
個人作業
個人作業

刪除黑名單接口的請求包
個人作業

導入單聊消息接口的請求包
個人作業

實際操作出現bug截圖
個人作業
個人作業


采訪:

假如你需要用這個騰訊即時通信SDK開發屬於你的自己產品,那么開發之前你除了需要了解該SDK的基本使用之外,更重要的就是為你將開發的產品進行市場調研
第8章 用戶調研,12 章 軟件的用戶體驗

我想要利用 IM SDK 開發的產品

構思你根據該SDK想要開發的產品,包括產品主要功能、產品面向的用戶、NABCD分析等

  • 產品名:千尋

  • 產品類型:

根據用戶注冊的興趣標簽,做一個即時匹配的聊天軟件,讓你在茫茫人海中遇見那個與你意氣相投的ta,產品名取自詩句:眾里尋他千百度,那人卻在燈火闌珊處。

  • 產品功能:

    • 提供一個即時聊天的交友平台;
    • 根據算法匹配,根據用戶在注冊時一個必填的幾個信息:愛好、個人標簽、喜歡的圈子、性別,進行一個限定范圍的隨機匹配;
    • 建立即時通訊連接,用戶可以發送普通信息、圖片、視頻等,也可以選擇進行視頻聊天;
    • 對聊天的記錄進行一個持久化的記錄,可以對你中意的那個ta(前提是在線)選擇再次發起聊天;
    • 對於有違規操作的用戶進行管理,初犯禁言,慣犯封ip;
  • 面向用戶:

在社會上缺乏友情,缺乏社交的人,有社交恐懼症的人,可以先嘗試在這個平台邁向社交的第一步;在小眾圈子有特別愛好,在日常生活圈子無法遇到意氣相投的人的人,可以通過這個平台找到朋友一起合作;喜愛社交,熱愛廣交朋友的人,可以通過這個平台認識更多的人。

  • 用戶場景舉例:

    • ①自閉缺少朋友的陳同學,在日常的社交中一遇到人很多的大型聚會只想逃跑,有一定的社交恐懼症,在現實有一肚子的話卻無人也不敢與人訴說,但是有所不同的是他在網絡上又是另外一個樣子,很愛表達自己的想法,有一天他突然發現了一個叫做千尋的即時社交app,登上以后隨機匹配到了一個人,一步步的從開始的語音交流,到后面的與那人再一次發起聊天,這樣愈加接近於現實社交,漸漸的讓他在現實中敢於表現自己,最后與現實和網絡中的朋友們都其樂融融的相處起來了。
    • ②喜愛傳統武術的黃同學,熱愛傳統武術,但是自己卻是一所知名大學的軟件工程的學生,周邊的同學大多愛好都是游戲和打代碼,自己空有一聲好武藝,卻沒有人可以交流,有一天他的朋友陳同學在逛論壇的時候看到了千尋給他進行了安利,果然試了幾次匹配以后,見到了詠春的大佬-葉某,一問二人在一所城市,沒過幾天,就線下見面,在武館切磋了起來,場面極其快活,那叫一個刀光劍影!
    • ③喜愛廣交朋友的劉同學,從小到大就憑借着自己不錯的社交能力交了很多朋友,但是隨着年齡增長,身邊的人都開始忙起來了自己的事情了,有人考研、有人准備面試、有人在忙着練武,感覺自己有很多心里話想與人訴說,但是好像朋友都在忙,也漸漸疏遠了不少,在好友陳某的安利下下載了千尋,填完了自己的個人信息,愛好旅游,於是在一次匹配中遇到了同樣熱愛旅行的牙某,隨着聊天的不斷深入,二人也不斷的在聊天記錄中發起了再次聊天,最后二人約在了某知名旅游景點見面,一起去爬山,此時的二人都心生愛慕,確定了男女朋友關系,一問二人居然在一所學校(因為在匹配前其實有填了學校),從此,校園里又多了對甜甜蜜蜜的情侶。

采訪潛在用戶

從你的身邊尋找你要開發的產品的潛在用戶,記載你對這位用戶的采訪。使用下面的采訪提要:

  • 介紹采訪對象的背景和需求

采訪的對象是我的好友劉同學,劉同學有着和上述用戶場景3相似背景,愛廣交朋友,一方面享受於與人聊天的快樂,一方面也想多交朋友為自己以后的創業增加人脈基礎。劉同學渴望能有一個軟件工具能幫助自己找到意氣相投的伙伴,一起分享快樂,一起排憂解難,在未來一起在社會上闖出一片天地。

  • 采訪對象使用Demo圖片

個人作業
個人作業

  • 采訪過程(語音形式)介紹了我想用SDK制作的產品

個人作業

  • 用戶使用騰訊即時通信Demo體驗

用戶使用這個demo的過程, 用戶的問題初步解決了,可以完成日常生活的最基本的聊天;軟件在數據量/界面/功能/准確度上,總體還是可以的,但是界面更加設計的不是很好看,可以更簡潔一點,功能上web端對於分類模塊設計的讓人一頭霧水,准確度的話大致可以;用戶體驗方面,有些交互不是很友好,如界面的聊天界面顯示感覺與習慣性的左發送者右接收者相反,不是很習慣。

  • 用戶對SDK的意見

SDK 的開發文檔做得不是很友好,存在很多困擾開發者的地方。對於實現小功能的場景,這個 SDK 足夠應付。如果要提供針對性服務,需要后端的支持,但是該SDK並沒有提供java的后端接入。

  • 用戶對我開發的產品的意見

這個想法不錯,具有較高的可行性,是一種新型的社交軟件,應該挺有意思的,但是也有很多細節需要考慮和完善。對於並發的問題的考慮與匹配算法的設計還需要多加考慮。

  • 結論

    • 非常不推薦
    • 不推薦
    • 一般
    • 推薦 √
    • 非常推薦

Part.02 分析

參考 8.6 節 對工作的估計, 和14.1 節 軟件工程的質量
使用騰訊即時通信的所有功能,聯系第二部分的分析,估計這個SDK做到這個程度大約需要多少時間?(團隊人數大約6人左右,計算機大學畢業生)。 分析這個軟件目前的優劣(和類似軟件相比,如網易雲信),並推理出團隊在軟件工程方面可以提高的一個重要部分(具體建議)

時間規划

使用騰訊即時通信的所有功能,聯系第二部分的分析,估計這個SDK做到這個程度大約需要多少時間?(團隊人數大約6人左右,計算機大學畢業生)

規划前的准備

其實現在的大多即時通訊SDK,本質應該都是基於TCP的Socket套接字編寫的一個多線程的系統,我在對騰訊即時IM SDK進行分析之前,大概花了一個下午使用java的Socket套接字完成了一個Sever - Client端可以實現僅發送文本的即時聊天程序,以此程序的完成工作量來推測騰訊即時IM SDK的開發時間,我的程序運行截圖如下:
個人作業
個人作業
下圖是我從github中獲取的一個大概的IM系統的系統架構,也為我分析的基礎參考:
個人作業

開發這個SDK需要解決的問題

  • 1、一個開源的公用SDK對於高並發的請求的處理問題
  • 2、在給每一位申請了SDK用戶分配了密鑰以后,對於每位用戶調用接口后的數據存儲的持久化及安全性問題
  • 3、對於提供接口不恰當調用,對提供服務器造成的負載問題
  • 4、接口完善后的測試階段,如何做到合理測試問題,保證能滿足基本功能使用
  • 5、接口完成后的開發文檔攥寫問題,如何能讓第三方的開發者能快速上手
  • 6、接口完成后的Demo(服務於多個平台)編寫及Demo編寫后的基礎測試

我的結論

前提條件:
團隊人數大約6人左右,計算機大學畢業生,且每人編程水平都較高前提,按照國家規定的每天 8 小時一星期工作 5 天工作制,按照有一人有相關經驗,能做系統的整體設計,六人人員能力得滿足如右(系統總體構架且有參與過即時通訊系統大型項目經驗:1人;java后端且熟悉服務器端的代理以及Socket套接字與多線程編程的人員:2人;熟悉Android:1人;熟悉web前端:1人;ios:1人;熟悉c++編程:1人;熟悉單元測試、接口測試、並有很好的文檔攥寫能力:1-2人),在6人之中能滿足之前我列舉的能力中2-3項的前提下
我認為這個SDK可能可以在1year(約260個工作日)左右被初步的開發出來,我認為大致的時間安排如下:

  • 需求提取分析:15個工作日左右
  • 系統設計:15個工作日左右
  • 分布式數據庫設計:20個工作日左右
  • SDK接口開發實現:60個工作日左右
  • 服務器代理配置及負載測試:20個工作日左右
  • 測試修改bug及攥寫文檔:80個工作日左右
  • demo編寫及測試:40個工作日左右

同類產品對比優劣

分析這個軟件目前的優劣(和類似軟件相比,如網易雲信)
在通過搜索引擎獲取信息后得到以下的競品分析圖:
個人作業
個人作業
個人作業

再通過比較核心服務價格,得出騰訊即時通訊IM SDK有以下優劣勢:

  • 優勢
    • 群組聊天支持量最大:鵝廠家大業大,騰訊雲服務器規模是在國內數一數二的,自然對於稍大一點大開銷是不在意的
    • 平台支持較為豐富
    • 群組核心功能較為豐富
    • 核心服務價格有免費版本:適合個人進行開發測試,也可付費升級服務較為親民
  • 劣勢
    • 對於實時視頻音頻的功能不支持拓展,限制了某些模塊的開發調用
    • 文件傳輸有限制,28mb偏小,不清楚在付費后有沒有升級一說
    • 服務端消息記錄存儲時間較短
    • 教學白板模塊不支持,限制了在教學領域的使用
    • 服務維護較差僅可提工單,但沒有論壇,缺少像其他競品的服務維護體系

團隊軟件工程方面建議

推理出團隊在軟件工程方面可以提高的一個重要部分(具體建議)

對於團隊在軟件工程提高方面,我現在的最大的感受還是一個團隊的整體合作的部分,如何去達到一個更好的團隊的合作效率,一般來說,在一個團隊里面成員能力是參差不齊的,擅長的領域也是不同的,誠然,就常規的任何一件事的團隊合作來說來講,各司其職,發揮所長,揚長避短這樣可能是最好的安排。但說回團隊軟件工程方面,我認為情況又有一些的不同,首先,我認為在一個團隊軟件工程的情景下,一個leader是必要的,這個領導者可以是一個人、也可以是幾個人、一群人,畢竟軟工的項目是需要一個整體的架構的,一個好的整體設計能為后續的開發減少很多在跨模塊的交互之間減少很多不必要的磨合,leader們就需要做到這個,這背后也是經驗的體現。然后談到個人,術業有專攻,漸漸的在團隊內的軟工角色會划分為前端、后端等再被按負責模塊細分,但是這不代表就只需要會自己常負責的模塊,每個個人知識的全面性的提升對與團隊整體的合作會有很大幫助。


Part.03 建議和規划

參考《構建之法》第8章 功能的定位和優先級;第9章 項目經理

假如你需要用這個騰訊即時通信SDK開發屬於你的自己產品:

  • 如果你是項目經理,如何提高從而在競爭中勝出?

    • 1、在項目啟動階段,做好充分的市場調研,從統計數據中提取出最切合用戶實際的需求
    • 2、做好成本分析,盡量對項目成本預算做到最佳的管控,在預算內讓成本發揮最大效益
    • 3、使用合理的團隊管理模式,做好團隊分工,提高團隊的效率
    • 4、運用項目管理知識體系(PMBOK),合理運用10大管理與自己的專業素養科學管理項目
  • 目前市場上有什么樣的產品了?

    • 1、soul:即時匹配通訊社交軟件,基於心靈的智能社交APP。功能是尋找最適合自己的靈魂伴侶。 微信微博上發不出的話,默默記錄在案,而恰巧有陌生人在意。
    • 2、陌陌:MOMO是陌陌(NASDAQ:MOMO)於2011年8月推出的一款基於地理位置的開放式移動視頻社交應用,是中國的開放式社交平台。在MOMO,可以通過視頻、文字、語音、圖片來展示自己,基於地理位置發現附近的人,建立真實、有效、健康的社交關系。陌陌的願景是希望人們通過移動互聯網,發現身邊的美好與新奇,讓人們連接原本該連接的人。
    • 3、探探:探探是一個基於大數據智能推薦、全新互動模式的社交App。探探根據用戶的個人資料、位置、興趣愛好等信息,計算並推送身邊與你匹配的人,幫助用戶結識互有好感的新朋友。
  • 你要設計什么樣的功能?

    • 1、提供一個即時聊天的交友平台;
    • 2、根據算法匹配,根據用戶在注冊時一個必填的幾個信息:愛好、個人標簽、喜歡的圈子、性別,進行一個限定范圍的隨機匹配;
    • 3、建立即時通訊連接,用戶可以發送普通信息、圖片、視頻等,也可以選擇進行視頻聊天;
    • 4、對聊天的記錄進行一個持久化的記錄,可以對你中意的那個ta(前提是在線)選擇再次發起聊天;
    • 5、對於有違規操作的用戶進行管理,初犯禁言,慣犯封ip;
  • 為何要做這個功能,而不是其他功能?

    • 這個功能是自己對於現今三種比較有代表性社交心理分析得出的需求而設想出的功能,在社會上缺乏友情,缺乏社交的人,有社交恐懼症的人,可以先嘗試在這個平台邁向社交的第一步;在小眾圈子有特別愛好,在日常生活圈子無法遇到意氣相投的人的人,可以通過這個平台找到朋友一起合作;喜愛社交,熱愛廣交朋友的人,可以通過這個平台認識更多的人。
  • 為什么用戶會用你的產品/功能?

    • 我認為社交對於人類這種社會性動物來說是日常生活種非常重要的一環,人不能脫離這個賴以生存的社會,而在社會立足則離不開社交,這個產品設計了一種新型的社交模式,根據對於三種有一定代表性的用戶場景進行分析,我認為還是較為契合當今人們的社交心理的,是切合用戶需求而設計出的產品。
  • 你的創新在哪里?可以用 NABCD 分析。

    • N:用戶需求分析

      • 1、缺乏社交的人,需要一個邁向社交的第一步的機會;
      • 2、小眾圈子有特別愛好的人,需要一個與志同道合朋友社交的機會;
      • 3、熱愛社交的人,需要一個平台去認識更多的朋友;
      • 4、所有人都需要社交,而一種新型的社交模式可以為人們提供一種new style的社交模式。
    • A: 我們的獨特招數

      • 在功能方面:我們
        • 1、提供一個即時聊天的交友平台;
        • 2、根據算法匹配,根據用戶在注冊時一個必填的幾個信息:愛好、個人標簽、喜歡的圈子、性別,進行一個限定范圍的隨機匹配;
        • 3、建立即時通訊連接,用戶可以發送普通信息、圖片、視頻等,也可以選擇進行視頻聊天;
        • 4、對聊天的記錄進行一個持久化的記錄,可以對你中意的那個ta(前提是在線)選擇再次發起聊天;
        • 5、對於有違規操作的用戶進行管理,初犯禁言,慣犯封ip;
      • 在需求方面:我們認為
        • 社交對於人類這種社會性動物來說是日常生活種非常重要的一環,人不能脫離這個賴以生存的社會,而在社會立足則離不開社交,這個產品設計了一種新型的社交模式,根據對於三種有一定代表性的用戶場景進行分析,我認為還是較為契合當今人們的社交心理的,是切合用戶需求而設計出的產品。
    • B: 我們帶來的好處

      • 1、更便捷,一種根據你的自我標簽隨機匹配的社交方式;
      • 2、更專業,通過騰訊即時通訊IM保證了傳輸的穩定與安全;
      • 3、更切合用戶需求,專注於即時社交模塊,可根據用戶需求做出更多的私人化定制。
    • C: 我們的競爭對手

      • 參考前面SDK分析部分的競品分析以及建議和規划部分對於產品競品的分析(Soul、陌陌、探探)。
    • D: 我們如何推廣

      • 1、推出產品,上線應用商店
      • 2、通過短信隨機發送邀請,邀請用於參與內測,參與有獎
      • 3、通過一些自媒體與現在的新媒體平台通過現在的一些新的推廣方式推廣,包括但不限於廣告,vlog等方式。
  • 如果你來領導這個團隊,會有什么不一樣?

    • 1、我會加強與隊員的交流,做好這個系統的整體構架與設計
    • 2、做好分工與溝通的設計,增加團隊效率
    • 3、定期進行匯報會議,定期對整體項目計划進行討論與修正
    • 4、做好必要的文檔攥寫工作,保證后續開發不會偏移初衷
    • 5、在發行前做好測試工作,減少發行后的程序錯率
    • 6、做好后續的版本更新迭代,不斷的減少bug,更加的貼近用戶需求
  • 如果你的團隊有5個人, 4個月的時間,你作為項目經理,應該如何配置角色(開發,測試,美工等等)?

    • 如果我的團隊有5個人, 4個月的時間,我作為項目經理,角色我配置為:測試1人、美工設計1人、后端邏輯部分編寫人員1人、數據庫設計及服務器管理人員1人、前端界面設計人員1人。
  • 描述你的團隊在周期為16周,每周都要做什么,才能保證在第16周如期發布軟件。

    • 第 1 周:需求分析(團隊會議,所有成員參與)
    • 第 2 周:原型設計(美工設計,開發人員參與建議)
    • 第 3 周:工具評測(團隊參與進行)
    • 第 4、5 周:系統設計(由項目經理主導,開發人員參與)
    • 第 6 周:數據庫設計(數據庫設計及服務器管理人員負責,后端邏輯部分編寫人員參與建議)
    • 第 7 周:設計階段結束,用一周時間重新回顧之前的各部分重新思考,修改回顧不合理部分(團隊參與進行)
    • 第 8 周:項目整體架構(項目經理主導進行)
    • 第 9、10、11、12 周:編碼開發階段(項目經理+開發人員+測試人員可以開始對完成模塊進行單元測試)
    • 第 13 周:前后台交互,服務器部署(項目經理+開發人員)
    • 第 14、15 周:測試階段(測試人員大規模測試、開發人員修改bug)
    • 第 16 周:發行階段,交付項目,做好后續迭代的准備
  • 項目發布后,有沒有考慮過項目該怎么部署才能滿足需求?依據下圖(某校教務處系統的部署)作為參考,分析16周后你所完成的項目上線需要哪些配套設備(服務器、帶寬、數據庫需求數量與配置)

  • 該項目初步分析應該並發較高,考慮選用騰訊雲頂配的雲服務器,后續具體升降還得考慮具體的項目架構

  • 應用服務器集群:專業配置 四核8GB 2.4GHz *2 公網帶寬 200Mbps

  • 關系型數據庫:MYSQL數量:3(讀寫分離2,備份1)

  • 緩沖數據庫:Redis(主1、備1)

  • 安全性:ARP(保證通訊數據安全)、DDOS(分布式拒絕服務攻擊)


Part.04 Q&A部分

本部分對本次答辯老師以及助教的提問進行回答

  • 汪老師

  • Q1:視頻在線播放流暢嗎?

    • A1:視頻在線播放流暢,不過測試使用的視頻為10s左右的短視頻,對再大一點的視頻是否解析會出現卡頓等情況,還需進一步測試。
  • Q2:在瀏覽器端和手機端有差別嗎?

    • A2:就目前的測試結果來看,瀏覽器端與小程序端基本展現的界面邏輯與問題完全相同,考慮應該小程序端直接內嵌web端的,瀏覽器端和手機端有一定差別,主要體現在視頻的上傳方面(調用本地視頻報錯)、自定義消息方面(web端可定義,手機直接跳轉開發文檔)等方面。
  • Q3:黑名單那個問題是否是有意不發送移入黑名單信息呢?

    • A3:黑名單有意不發送移入黑名單信息我認為這樣的設計是合理的,但是不應該在另一方標記為已讀,這樣的處理會造成雙方的消息不對稱,我認為是一個bug應該修改。
  • 傅老師

  • TIPS:微信和QQ的黑名單一般是靜默的。

  • 林助教

  • Q1:它是如何防止DDOS攻擊呢,如果發起大量TCP半連接,並且偽裝ip,那封禁ip是解決不了的。

    • A1::對於DDOS攻擊,可以通過CDN節點中轉加速服務隱藏服務器真實IP,關閉不必要的服務或端口,增加服務器的帶寬增加承壓能力,增加網站請求IP過濾,然后本身騰訊的雲服務器就有安全服務可以考慮購買,如果發起大量TCP半連接,並且偽裝ip這個暫時沒有想到怎么解決,以為之前考慮的封ip是針對一般的違規用戶,其也不具備網絡攻擊的能力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM