這個作業屬于哪個課程 | 課程位址 |
---|---|
這個作業要求在哪裡 | 作業位址 |
這個作業的目标 | 每個人發表一篇随筆,通過分析 騰訊即時通信IM ,結合閱讀《建構之法》,寫一篇随筆。 |
作業正文 | 作業正文位址 |
其他參考文獻 | 《建構之法現代軟體工程》 |
方式一:測試Demo,快速體驗
第一部分 調研、評測
微信小程式Demo使用
- 錄音功能已經顯示了正在錄音,我才開始說話,但還是錄不到前面的一部分内容,說明互動沒做好。
- 群聊的時候點開鍵盤,群聊記錄看不到,變成空白一片。
- 重新進入群,群消息空白
Web端Demo使用
- 建立群,找不到群在哪,還要自己找群名稱然後加進去
- 視訊浏覽器限制
- 重新登入,加入的群又不見了
安卓端Demo使用
- 密碼要求字母+數字,隻有字母也可以登入
- 對方ID過長會報valid錯誤
研究SDK的使用方式
IM SDK 調用 API 需要遵循以下順序,其餘輔助方法需要在登入成功後調用。
步驟 | 對應函數 | 說明 |
---|---|---|
初始化 | TIMSdkConfig | 設定 IM SDK 基本配置,例如 SDKAppID、日志等級等 |
TIMManager : init | 初始化 IM SDK | |
TIMManager : setUserConfig | 設定使用者基本配置 | |
TIMManager : addMessageListener | 設定消息監聽 | |
登入 | TIMManager : login | |
消息收發 | TIMManager : getConversation | 擷取會話 |
TIMConversation : sendMessage | 發送消息 | |
群組管理 | TIMGroupManager | |
登出 | TIMManager : logout |
功能性bug和原因探究
-
群資訊找不到
BUG描述:之前加入的群聊找不到,想要找到要重新加入群,各種情況找不到自己已經建過的群。重新登入之後,自己的群聊還是隻有自動加入的技術交流群,之前建立的群不見了,要找那個群的話就要重新加入,這時就造成了一個群同時進入兩次。
原因:可能是因為沒有存儲到資料庫吧,每次都要重新進群真的很麻煩,差評。
-
群聊消息自動消失魔術
BUG描述:安卓端測試明明看到群消息提示,但是點選進群,消息空白;在小程式上測試的時候,發現在群對話時,打開輸入法,消息就消失不見了,關閉輸入法消息又重新顯示出來。
原因:開發者沒有重新渲染資料,沒有考慮使用者打開輸入法的時候重新整理界面,這是個很大的bug,消息都沒了。
-
輸入資訊問題
BUG描述:groupid很長的時候,測試在web、微信小程式裡,三十位的groupid都能查詢正确,而在android端輸入30位的groupid報錯了。
原因:可能是android控件本身的問題。
-
莫名其妙的彈窗
BUG描述:申請加入群聊的時候會彈出莫名其妙的彈窗,這是在做功能的時候沒做好,開發一半就跑了的意思嗎。
原因:測試沒測試好,開發人員偷懶。
-
無法拉人進群
BUG描述:管理者權限沒有辦法配置設定,導緻無權限拉人。
原因:測試不夠
6. 未讀問題
BUG描述:安卓端進入聊天視窗,發現之前在小程式中的聊天資訊(進入視窗),還是顯示未讀,并沒有因為之前發過而變成已讀。
采訪
-
想開發的産品
根據該SDK想必可以開發很多關于聊天的應用,可以在很大程度上減小開發難度。
我想開發的産品是通過該SDK實作“作業輔導幫幫小組”應用。
-
主要功能
在學習上有老師配置設定,完成小組配對,在家學習成績優秀者可以對成績不好的人進行小組教學,幫助其完成學業任務,可以線上文字或者視訊交流,同時優秀學生也有對應的德育分等獎勵。
-
面向使用者
主要面向在校學生完成作業輔導,也可拓展到輔導班線上教學。
- 潛在客戶采訪
-
采訪對象的背景和需求
本次采訪了集美的莆田優秀大學生吳某煌,由于該生成績過分優異,希望有個軟體能夠記錄自己的輔助時長來換取更多的德育分,然後再次奪取電科專業桂冠。
第二個采訪對象是川外的張某某,熱愛學習,積極進取每天早上四點起床複習考研,對待學習有極大的興趣,認為可能可以用于考研1v1和男朋友互相通視訊。
第三個采訪對象是沈某軒,熱愛體育,陽光開朗,熱愛生活;認為這種輔助學習的軟體很有必要。
- 讓采訪對象使用demo
- 吳某
2. 張某
3. 沈某
-
Q:描述使用者使用這個demo的過程, 使用者的問題解決了麼?軟體在資料量/界面/功能/準确度上各有什麼優缺點?使用者體驗方面有問題麼?
A:就他是個簡單demo而言,首先界面怎麼這麼醜,加群也好麻煩,聊天的話,和平常使用的感覺有那麼一丢丢一樣,web用起來體驗感很差,還有,改照片為啥要用url,這麼麻煩,資訊傳輸還算可以吧,沒了。
-
Q:介紹你想用這個SDK開發怎樣的産品?
A:我想開發的産品是通過該SDK實作“作業輔導幫幫小組”應用。
-
Q:使用者對騰訊即時通信的功能有什麼改進意見?
A:我希望吧,他可以有一個聊天内容反對的按鈕,點贊按鈕,這樣可以回報發消息的品質,感覺挺好玩的。
-
Q:使用者對你想開發的産品有哪些意見?
A:如果是幫幫組的聊天應用,還能加德育,想法挺不錯,我正苦于自己太強想多幫班上成績不太好的女同學幫助她們走出學習苦海,那你們這個視訊有美顔功能嗎,或者自動提醒如何優雅的和女孩子聊天之類。
-
Q:給騰訊即時通信下一個評價
A:推薦,一般功能還是很完善的,需求第一的時代背景之下,能用是道,更何況他是開源免費的,
第二部分 分析
Q:
使用騰訊即時通信的所有功能,聯系第二部分的分析,估計這個SDK做到這個程度大約需要多少時間?(團隊人數大約6人左右,計算機大學畢業生)。 分析這個軟體目前的優劣(和類似軟體相比,如網易雲信),并推理出團隊在軟體工程方面可以提高的一個重要部分(具體建議)。
A:
因為這個SDK包含了個人聊天,好友功能,讨論室,視訊通話衆多功能,想必也至少要2~3個月才能完成。
和網易雲信相比,
缺點在:網易雲信可以擷取使用者,免去了登入過程,友善一些;功能比較少,網易還有白闆功能,直播功能;但從文字聊天來說,網易有遊客進入讨論群觀摩的功能;可以選擇自己想要的功能子產品産生對應SDK,而騰訊是隻有一大捆,顯得笨重。
優點在:可以搜尋群聊号碼加入群聊,也可以好友之間聊天;視訊聊天低延遲時間;
團隊可以明确分工,互相幫助,團結友愛,和平共處,遇到bug不要心煩意亂,靜下心來好好想想自己這些年來不是已知都這麼菜嗎,然後心就涼下來了了,也就鎮靜下來了。還有就是提升自我能力,也不能一直在低谷裡待着,适當的出來透透氣。勇于詢問别人,多多混技術部落格。
第三部分 建議和規劃
-
Q:目前市場上有什麼樣的類似的産品?
A:一般幫扶都是拉個小群進行學習讨論,如果想要視訊溝通,就可以使用附帶功能,比如使用QQ電話、釘釘直播等等,顯得比較大材小用,沒有針對學習幫扶,軟體都顯得太臃腫。
-
Q:對你的産品進行NABCD分析。考慮為何要做這個功能,而不是其他功能?你的創新在哪裡?為什麼使用者會用你的産品/功能?對于C:Competitors,結合同類産品分析,描述如何從競争中獲勝
A:
N(需求):“幫幫組”解決了班上資源優質配置設定問題,以前都是老師通過線下建立小組來讓好學生輔導,如果在家的話也都是不然就是私聊,不然就是建立群聊,效果不理想,使用聊天應用也會很臃腫,而且不能很好的記錄輔導時長,獎勵很平均。
A(做法):導入學生賬戶資訊,初始化輔導時長,提問時長,角色選擇輔導者、被輔導者,根據進群後的消息内容判斷時長,超過十分鐘沒有聊天則中斷計時。
B(好處):可以給使用者帶來德育上的獎勵,又能增長自己的學習知識何樂而不為,而且有計時功能,有區分度。
C(競争):市場暫時沒有此類應用吧,我反正找不到。nice,是個創新。而且我方産品可能還可以加強1v1的視訊輔導功能,可實作在家為了學習視訊面對面的友好感受。
D(推廣):在教師群向老師推廣,向教育處推廣,向學校論壇宣傳。
要想在同類産品中獲勝,肯定要正視自己和對方,知己知彼百戰不殆,要有一定針對性,和功能創新,否則人們根本沒必要花費時間和精力來遷移自己的交流平台來到你的産品下。
-
Q:如果你來上司這個團隊,會有什麼不一樣?
A:我會更加注重使用者互動性和美工前端設計部分,畢竟身邊的人對這些要求比較高,可以忍受沒用的,但是不能忍受醜的。
-
Q:如果你的團隊有5個人, 4個月的時間,你作為項目經理,應該如何配置角色(開發,測試,美工等等)?
3後端/測試
1前端
1美工UI
這麼配置設定的主要原因是,後端會複雜一些多派個人共同合作比如負責AOP,負責資料渲染等等;測試很重要,但是前期的話,測試可能輕松一些?單元測試的話,也很考驗一個人的細心的能力的,可以讓開發和測試合為一體;美工的話,參考一些網站裡的配色方案。
- Q:描述你的團隊在周期為16周,每周都要做什麼,才能保證在第16周如期釋出軟體。
周數 | 描述 |
---|---|
1 | 需求分析 |
2 | 原型設計 |
3 | 系統設計 |
4 | 資料庫設計 |
5 | 伺服器搭建 |
6-11 | 前後端設計 |
11-13 | 前後端結合,資料渲染等 |
14 | 黑白盒測試和内測 |
15-16 | 修正以及産品推廣計劃研究 |
-
Q:項目釋出後,有沒有考慮過項目該怎麼部署才能滿足需求?分析16周後你所完成的項目上線需要哪些配套裝置(伺服器、帶寬、資料庫需求數量與配置) 。
1:應用伺服器配置:4核8G
2:後端伺服器配置:8核16G2
3:網站安全性:WAF、DDOS
4:關系型資料庫:saLserver/oracle/Mysq|數量:3(讀寫分離2、備份1)
5:緩存資料庫:Redis2