組長博客連接java
做業連接mysql
評測:android
應注意採用微服務構架以及提升運維要求兩方面。ios
衆所周知,福大助手是由福大本校學生組成的西二在線所開發,隨着學生不斷的畢業以及新技術的不斷嘗試,團隊自己的人員組成以及項目使用的技術會以至關高的頻率迭代。一樣,做爲福大本地化軟件,福大助手無疑會在未來不斷地進行優化。c++
對於這類快速更新迭代的團隊,隨着時間及項目規模的擴大,傳統的單體架構有着「複雜性逐漸變高」、「技術債務逐漸上升」、「部署速度逐漸變慢」、「阻礙技術創新」及「沒法按需伸縮」的問題。
在此咱們先引入微服務這一理念。git
微服務,以單一職責、服務自治、輕量級通訊及接口明確爲設計原則的一種架構風格;而針對福大助手這一app,咱們認爲最應該注意的是項目應該採用微服務構架。
爲何這樣說呢?咱們看看微服務和傳統單體構架的區別:web
單體架構全部的模塊全都耦合在一塊,代碼量大,維護困難;微服務每一個模塊就至關於一個單獨的項目,代碼量明顯減小,遇到問題也相對來講比較好解決。redis
單體架構全部的模塊都共用一個數據庫,存儲方式比較單一,微服務每一個模塊均可以使用不一樣的存儲方式(好比有的用redis,有的用mysql等),數據庫也是單個模塊對應本身的數據庫。算法
單體架構全部的模塊開發所使用的技術同樣,微服務每一個模塊均可以使用不一樣的開發技術,開發模式更靈活。
很明顯 ,微服務架構其本質即是在結構上實現各個服務模塊的鬆耦合。
就福大助手來講,微服務能爲團隊帶來主要好處以下:
然而,在微服務帶來種種好處的同時,它也有一些須要注意的不足:
採訪一
- 介紹採訪對象的背景和需求
使用過易班、福大教務通、超級課程表等相關軟件。除了現有功能沒有什麼其餘需求。- 讓採訪對象使用福大助手(請上傳照片證實用戶的確正在使用,遠程採訪的同窗請讓別人幫忙照相)
- 描述用戶使用這個產品的過程, 用戶的問題解決了麼?軟件在數據量/界面/功能/準確度上各有什麼優缺點?用戶體驗方面有問題麼?
這個軟件功能很強大,能夠解決想要解決的問題。在數據方面,數據量大,能夠查不少東西。界面很友好。準確度沒有什麼問題。用戶體驗上,它的功能很複雜,在只想看課表的時候更傾向於教務通,由於它功能單一,看起來比較清晰簡單。福大助手平時反而不會用。- 用戶對產品有什麼改進意見?
這款軟件很強大,沒有意見。- 結論
很是推薦
採訪二:
- 介紹採訪對象的背景和需求
使用過易班、福大教務通、超級課程表等相關軟件。但願經過軟件方便本身學習和生活。- 讓採訪對象使用福大助手(請上傳照片證實用戶的確正在使用,遠程採訪的同窗請讓別人幫忙照相)
- 描述用戶使用這個產品的過程, 用戶的問題解決了麼?軟件在數據量/界面/功能/準確度上各有什麼優缺點?用戶體驗方面有問題麼?
這個軟件功能很強大,能夠解決想要解決的問題。裏面東西不少,被安利了。界面有更換主題功能,很是適合本身。功能上,還但願能增長交水電費和校園卡充值功能。準確度上和其餘相似軟件沒有區別。- 用戶對產品有什麼改進意見?
增長交水電費和校園卡充值功能。- 結論
推薦
採訪三:
- 介紹採訪對象的背景和需求
使用過易班、福大教務通、超級課程表等相關軟件。但願只用一款app包括全部內容的軟件,不想本身的qpp太多。- 讓採訪對象使用福大助手(請上傳照片證實用戶的確正在使用,遠程採訪的同窗請讓別人幫忙照相)
- 描述用戶使用這個產品的過程, 用戶的問題解決了麼?軟件在數據量/界面/功能/準確度上各有什麼優缺點?用戶體驗方面有問題麼?
這個軟件功能很強大,能夠解決想要解決的問題。數據量方面,裏面包括了教務通和易班的大部份內容,界面方面,很是不友好,感受很差看,iOS手機界面和android手機不一樣,課程表界面和側邊欄界面很差看。準確度方面,和另外兩款沒差。用戶體驗上,第一感受界面不友好。- 用戶對產品有什麼改進意見?
將ios的界面設計得更友好。- 結論
通常
三個半月。
主要分爲萌芽,磨合,規範,創造四個階段。
人員分工爲項目負責人一人,前端兩人,後端兩人,算法一人,並有專業UI支持。
4、創新階段花費半個月。
(1)app可小範圍的進行發佈使用,投入線下運營。
(2)及時獲得用戶反饋,進行項目改進優化,最終得出一個簡潔實用的app。
重要度爲藍色框,完成度爲橘色框
參考《構建之法》第8章 功能的定位和優先級;第9章 項目經理
這個軟件有不少能夠提升的部分。
優化部分:
創新部分:
教師信息查詢
提供教師的我的資料,授課狀況,掛科率高分率、學生評價。
學業分析、教師信息查詢、在線點名簽到、校歷查看
學業分析,福大助手不具有的福大教務處的功能兩個功能之一,比起無關緊要的培養計劃,學業分析有必定用戶需求。
教師信息查詢,受西二在線公衆號這個功能的啓發,學生在選課時面對不熟悉的老師能從這裏找到一點信息幫助選課,用戶需求較大。
在線點名簽到,受到小小簽到啓發,大學生須要簽到簽退的場合不少,用戶需求大。比起手動簽名,電子簽到的形式更有效率且適合集成到福大助手這個平臺。
校歷查看,提供可視化的學校時間安排,實現成本低,需求大。
總結:福大助手側邊欄支持自定義,理論上只要是有用的功能都能加上去,且不影響用戶使用。考慮到實現成本與收益的問題咱們爲福大助手增長了以上優化和新增功能點。
在爲何要作這個功能,而不是其餘功能?這個問題裏已經有體現。
咱們對福大助手app改進的主要創新點在同窗幫這個模塊。
一個產品從想法的萌芽到最後的交付給用戶使用,甚至上架銷售,私覺得包括了五個部分:需求分析,衝刺安排,衝刺,測試和迭代,上架宣傳。《構建之法》的第185頁談到:「PM作開發和測試以外的全部事情」,因此一個優秀的PM是不會參與或者儘量少的參與軟件的開發的。因此來講,若是我來領導團隊,中間的三部分是不會發生變化的,因此我這裏主要說明對於需求分析和上架宣傳的見解。對於需求分析部分,《構建之法》的第八章,功能的定位和優先級中進行了詳細的說明。咱們能夠經過《構建之法》提出的使用四個象限來描述「福大助手」的功能分析:
殺手功能這一列是穩定的加分項,這裏咱們按下不表。來看外圍功能這一列功能,該列描述了一些殺手功能之外的或關鍵或不關鍵的功能。在好久以前,我就聽到同窗們說過「福大助手」的「一鍵評議」功能蘋果能夠用,安卓不能夠用,這致使我很晚才下載它,甚至在前兩天還有同窗和我說「福大助手對蘋果十分友好,但在安卓端感受無關緊要」,我+1。
除了這個方法,《構建之法》上還提出的另外一種方法,將軟件的功能分爲驚喜,核心功能和基本功能或屬性。「福大助手」的驚喜包括了:一鍵評議,課程表導出到日曆,提醒成績正在更新,主題設置和自定義側邊欄等等的功能,核心功能是課程表和成績查詢,基本功能能夠不談。這樣看來「福大助手」仍是不錯的。
再來看「福大助手」的宣傳方面,這款APP我是在第一學期期末要當作績時從舍友口中聽到的,單單從這一點就能體現出不少問題:1.「福大助手」是經過同窗之間好的評價來進行宣傳的,2.這個學期前面的時間我沒用過福大助手,以前一直使用教務通,3.當我聽到他很方便時,安卓端卻不能使用「一鍵評議」(大一時,如今能夠用了)。這三點體現出了,宣傳渠道匱乏,前期流失了大量的用戶,即便能100%地保留下ios端的用戶,安卓用戶少之又少也是個問題,畢竟你不能忽略安卓系統龐大的使用羣體。
總結一下,「福大助手」優秀的地方很優秀,可是不少功能安卓端的不適用和後期宣傳力度不大給了它致命一擊。若是我來作PM,我會注意這兩個方面,在研發的安排階段將核心功能的各個移動端適用這一重要的地方強調一下,而且在後期宣傳時加大力度,這一點抽屜就作得很好,能夠向他學習一下。
最後偷偷說一句,我比較喜歡不少人一塊兒吃飯,若是我作了PM,估計會常常和團隊一塊兒出來吃飯,交流感情。
在需求分析和軟件開發準備階段你們要一塊兒參與進來,儘快完成本身的任務,提早研發開始的時間。
研發階段,1我的負責Android前端,1我的負責Android後端,1我的負責ios前端,1我的負責ios後端,1我的負責美工。
後期測試階段,Android端能夠和ios端互換軟件進行測試工做。
宣傳階段你們也是要一塊兒參與,我認爲這部分工做你們都是同樣的因此你們要一塊兒來作。
假設個人團隊都具備必定的開發基礎和開發經驗,那麼我會這麼安排個人團隊:
基本的服務器框架都是C/S結構的,請求和相應流程是這樣的:
現經過增設如下設備以達到優化功能:
中間層DLA:
DLA採用緩衝隊列和鏈接池設計。 客戶端大併發請求到來時,DAL設計緩衝隊列,存儲等待的請求,而且DAL中設計數據庫鏈接池,當數據庫鏈接池中有空閒鏈接,那麼從緩衝隊列中取出一個請求處理,以此類推。這種作法有效的下降了服務器的壓力,保證請求被緩存。
緩存數據庫:
將經常使用的數據加載入緩存,
有請求到來時,應用服務器先從緩存中獲取數據,若是緩存中有數據,那麼不須要訪問數據庫,若是緩存中沒有,在訪問數據庫取出數據,並更新緩存。如此一來處理效率不受限於數據庫的併發數。增設的備份redis數據庫則可以實現數據的備份和持久化。
在單獨應用服務器上部署緩存服務器:
將緩存
部署在單獨服務器上,經過訪問該緩存服務器,方便各個應用服務器訪問彼此緩存。
將關係型數據庫實現讀寫分離和負載均衡:
當有大量複雜的寫操做數據庫時,讀寫分離能夠保證讀數據庫操做不被阻塞;因爲數據庫讀操做會比寫操做多,那麼能夠對數據庫執行負載均衡。主流數據庫都有replication機制,採用replication機制能夠實現負載均衡。中間層的寫數據庫操做投遞到主數據庫中,讀操做從讀數據庫中讀取,當主數據庫中數據被修改後,數據庫採用replication機制將數據同步給備份服務器。
任務服務器:
單獨設計一個任務服務器,讓應用服務器主動去請求任務服務器,主動獲取任務處理,若是應用服務器處於忙碌狀態就不須要請求新的任務,空閒的應用服務器會去請求任務服務器中的任務,這是最合理的負載均衡。若是全部應用服務器都處於忙碌狀態,
那麼任務服務器將任務緩存至本身的任務隊列,當應用服務器空閒時會來取任務。這樣便對應用服務器實現了負載均衡
備用任務服務器:
設置多臺任務服務器,而且實現failover機制,多臺任務服務器之間實現心跳,若是檢測不到對方心跳,則使本身成爲主任務服務器,以此任務服務器出現故障。
優化後框架圖以下:
最終設備以下:
帶寬計算方法是這樣的:
每秒鐘下載文件的字節數×8/0.7 = 寬帶的速率
流量和帶寬的換算是,帶寬:流量=1:150
假設2400人同時在線,2400人併發同時操做,每一個人的要恢復30KB的備忘錄數據,那麼合算成帶寬就是:2400/(30KB*8)=10Mb
由於預計在線人數較多以及雲備份的使用頻率頻繁,因此選擇4核8G服務器。
既然你對產品有這麼多的意見和建議,請就你認爲產品的可提高功能、新增需求點作出增量開發設計,要求:
優化部分:
創新部分:
教師信息查詢
提供教師的我的資料,授課狀況,掛科率高分率、學生評價。
導出到日曆提示
不少人點擊課程導出到日曆功能每每只是爲了測試這個功能的實現效果如何,可是導出到日曆這個功能實際效果並非很好(如圖,不只不能使課程所有清晰地展現在日曆上並且會影響日曆的觀感,甚至可能致使一些重要事件被蓋住)。並且撤銷這個操做的行爲按鍵過於隱,用戶不易找到。
但不能否認確實有部分用戶會使用課程導出到日曆這個功能,所以咱們作出的優化手段是在後出現彈窗顯示:在設置-清除數據裏可撤銷導出操做。
姓名 | 比例 |
---|---|
家偉 | 11% |
卉卉 | 10% |
宇恆 | 10% |
政演 | 9.5% |
丹丹 | 9% |
鴻傑 | 8% |
一好 | 7% |
愷琳 | 6.5% |
青元 | 9% |
家燦 | 9.5% |
緒佩 | 10.5% |
第一組
Q1:演講缺少對專業測評工具的介紹,能夠介紹一下大家所使用的應用在線測評工具嗎?
答:感謝提問!咱們使用的測評工具是Testin雲測試。Testin雲測試是一個真機自動化雲測試服務平臺,可實現自定義終端進行批量自動化兼容適配測試以及功能、性能、穩定性測試。咱們在平臺上傳了福大助手的apk文件得到了測試報告數據。
Q2:項目測評是否有發佈問卷調查,對應用進行一個大基數的調查?
答:感謝提問!咱們沒有采起發佈問卷調查的形式。咱們認爲問卷調查的形式對咱們的評測幫助並不大,一是沒想到什麼有針對性的問題,二是對一個軟件的評測和分析是須要對軟件細緻地測試得出的,大多數同窗不會經過平常的操做找到什麼咱們測試人員沒有發現的bug,三是咱們經過線下了解,同窗們的需求比較單一,對福大助手現有的功能都比較滿意,提出的如校園卡充值等需求對非技術性的要求較高,不在咱們考慮的增量開發範圍內。固然,以上僅表明咱們組的觀點。貴組的問卷調查分析結果是一個亮點,說明貴組的問卷問題和結果分析作的很好,咱們會多多學習。
Q3:項目的增量開發難度如何,以小組實力須要多久的開發時間?
答:感謝提問!增量開發的主要功能同窗幫涉及到實時交互的功能,難度較高,以小組實力初步估計要兩個月左右的時間。
第二組
Q1:是否也有使用問卷調查的形式呢?
答:感謝提問!咱們組此次的測試報告中沒有考慮到使用問卷調查的形式,由於感受你們都是輕使用這款App只會使用一些基礎的功能,因此沒必要採用問卷調查的形式。固然,若是測試報告的形式更有利於咱們進行測試的話,咱們以後會考慮採用這種方式來進行測試工做。
Q2:假如由貴小組來開發該軟件,以爲須要多久呢?
答:感謝提問!由咱們組來進行開發的話,因爲你們都是在校大學生,且經驗不甚豐富,因此我認爲助教學姐給出的四個月是個不錯的建議。
Q3:具體的評測方法是什麼?
答:感謝提問!咱們組的測試同窗使用的是名爲「testin」的網站,該網站只用上傳APK文件,就會給出關於該軟件的測試報告,如有興趣,歡迎討論!
第三組
Q1:在測試的過程當中並未說起對應的軟件產品的版本號,這就使得bug沒有針對性,有些或許並非全部用戶目前所使用的版本都潛在的問題,存在指向不明的狀況
答:感謝提問!咱們確實沒有填,下次注意。但bug是隻要一個設備存在,就須要去修改。
Q2:雖然有着詳細的測試數據,但並無給出必定的解釋性說明,這形成雖然堆有大量數據但大衆很難去理解其所表明的含義,能夠掛出大家對於數據的解讀嗎?
答:感謝提問!其實數據解讀咱們在測試文檔裏面有給出來,若是大家仍是以爲不是很能理解,能夠看咱們的詳細excel文檔。
3:指出的分析大都和數據的安全性相關,可否就大家所目前所指出的安全性給福大助手app提出具體的一攬子解決方案呢?
答:感謝提問!咱們也很想提供一攬子解決方案,但確實作不到。
第四組
Q1:測試報告及ppt中均有錯別字,爲何沒有認真審覈呢?
答:感謝提問!對於PPT數字「5」和「五」不統一的問題深感抱歉,因爲疏忽影響觀看美感。咱們下次會注意的。對於測試報告中存在錯別字咱們團隊沒有發現,但願能夠更明確的指出錯誤之處方便咱們作出修改。
Q2:測試報告沒有上傳pdf文件,下次可否考慮上傳pdf文件呢?畢竟pdf文件不會由於打開軟件的不一樣呈現不一樣。
答:感謝提問!對於咱們沒有上傳pdf文件給大家帶來的不便表示抱歉,咱們下次會盡可能考慮到你們閱讀的友好型作出改進。可是此次做業中也沒有明確要求爲pdf文件,因此還請諒解。
3:用戶採訪僅放了三張圖,是否不夠有說服力呢?畢竟圖中部分同窗神似團隊成員呢?
答:感謝提問!咱們的採訪是線下面對面採訪,雖只放置三張圖片但並不是表明只採訪了三個對象。這在PPT演示過程當中已有陳述是抽取三個表明性對象進行展現。而相較於您方放置的一個線下采訪短視頻是否咱們就能夠等價的認爲您方說服力也不夠強呢?對於「圖中神似團隊成員」的問題,咱們團隊中就有一半的成員在以前爲使用過福大助手。首先,對象已是屬於咱們的採訪對象範圍;其次,咱們圖中確實存在一位團隊成員,但她即是咱們挑選出來的表明性對象,咱們認爲這並無什麼不妥。最後,若是您方認爲說服力不夠,咱們很樂意看到您方所謂比較有說服力的採訪數據和證據。
第五組
Q1:測評能夠加入問卷調查的,瞭解下你們對這個軟件的認識,由於我發現其實仍是不少人不知道的。
答:感謝提問!這是一個很棒的建議!以後咱們會多考慮問卷的。
Q2:其實我以爲福大助手在響應時間方面並非很好,不少東西都半天出不來,也不知道是否是手機問題。
答:感謝提問!其實咱們團隊也有相似的感受,不過彷佛易班及福大教務通等一衆教務類軟件都具備這些毛病,或許和服務器也有必定關係。
Q3:PPT一共有四頁給福大助手來了一腳,雖然這APP確實不少地方有問題,但仍是別踢了,都腫了。(滑稽)
答:感謝提問!柯大魔王要求如此,一人一腳也是無奈之舉。(莫非柯老闆是西二在線幕後股東?)
第七組
1:大家的測試看起來很是有料,能夠具體分享一下是怎麼測試的嘛?
答:感謝提問!測試的過程雖然是咱們組的核心機密,可是看在咱們小組之間的關係很是不錯。咱們作的測試主要是黑盒測試,除此以外咱們還使用了testin,上傳apk文件,他們提供了不少款機型作測試,同時也給出測試的方式,性能測試、安全測試和兼容性測試等。不過一個帳戶只能無償使用一次軟件測試。
Q2:大家的增量開發中有「同窗幫」,能夠具體的介紹一下同窗幫是幹什麼的嘛?能夠實現什麼?
答:感謝提問!同窗幫的功能:實名制的同窗互動平臺。分紅學習、生活兩部分。學習部分主要用來發布一些面向用戶的我的學習信息。用戶能夠在這個板塊發佈找研友、有償考研信息分享交流、有償期末答疑解惑等消息。生活部分主要用來發布一些生活上的便利互助信息,如打車拼單、閒置物品轉讓出售等。咱們以爲這個功能可以提供一個很好的校內交流氛圍。
Q3:大家認爲增量開發難度如何?
答:感謝提問!增量開發的難度視內容而定吧,要是您們指的是「同窗幫」功能的話,開發上我以爲是有必定的難度,畢竟功能比較繁雜,不過物品轉讓在ios上已經有作嘗試;對於學習部分,開發難度上相似於一個在線聊天系統,難度應該也不大。
第八組
Q1:對於增量設計中的在線點名功能認爲是否有必要加這個?是否是加重代簽之類的狀況?
答:感謝提問!本組以爲在線點名功能是能夠擴展的功能,至因而否會加重代簽之類的狀況,本組以爲教務處帳號涉及我的隱私太多,大部分同窗可能都不肯意爲了簽到借給他人。
Q2:能夠抽取一部分的思惟導圖或者邏輯框圖展現在ppt中,ppt中好像沒有體現。
答:感謝提問!本組認爲把思惟導圖或者邏輯框圖放在ppt中沒有很大的意義,由於這些圖若是放在ppt中很難讓同窗們看清。
Q3:產品分析感受這部份內容有點少了。
答:感謝提問!下次會在這方面有所改進。
組號 | 其餘組對本組的評分 | 本組對其餘組的評分 |
---|---|---|
1 | 78 | 80 |
2 | 81 | 76 |
3 | 77 | 71 |
4 | 76 | 69 |
5 | 86 | 78 |
6 | 85 | 85 |
7 | 82 | 71 |
8 | 84 | 80 |
平均 | 81 | — |
PSP2.1 | header 2 | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 50 | 30 |
· Estimate | ·估計這個任務須要多少時間 | 20 | 30 |
Development | 開發 | 150 | 120 |
· Analysis | 需求分析(包括學習新技術) | 60 | 60 |
· Design Spec | · 生成設計文檔 | 0 | 0 |
· Design Review | · 設計複審 | 0 | 0 |
· Coding Standard | · 代碼規範 (爲目前的開發制定合適的規範) | 0 | 0 |
· Design | · 具體設計 | 80 | 50 |
· Coding | · 具體編碼 | 10 | 20 |
· Code Review | · 代碼複審 | 0 | 0 |
· Test | ·測試(自我測試,修改代碼,提交修改) | 0 | 0 |
Reporting | 報告 | 10 | 10 |
· Test Repor | · 測試報告 | 0 | 0 |
· Size Measurement | · 計算工做量 | 0 | 0 |
· Postmortem & Process Improvement Plan | · 過後總結, 並提出過程改進計劃 | 20 | 20 |
合計 | 300 | 350 |
第N周 | 新增代碼(行) | 累計代碼(行) | 本週學習耗時(小時) | 累計學習耗時(小時) | 重要成長 |
---|---|---|---|---|---|
1 | 666 | 666 | 15 | 15 | 複習c++,學習單元測試和代碼覆蓋率,學習git |
2 | 97 | 763 | 4 | 19 | 沒什麼成長,就是在優化代碼 |
3 | 0 | 0 | 10 | 29 | 閱讀《構建之法》第三章和第八章,學習使用Axure RP8,瞭解原型設計的方法 |
4 | 197 | 960 | 20 | 49 | 進一步學習爬蟲(瞭解beautifulsoup使用、學會使用正則),學習使用git進行團隊協做,學習使用NodeXL,瞭解flask |
... | |||||
9 | 410 | 1370 | 24 | 73 | 學習JavaWeb、Android、sqlite,對後端工做有了更深的認識 |
10 | 40 | 1410 | 6 | 79 | 更深刻學習Androidstudio的使用,學習接口 |
11 | 315 | 1725 | 15 | 94 | 簡單地作了一個網站,對javaweb數據傳遞展現處理理解加深 |
12 | 70 | 1790 | 6 | 100 | 學了一點web,部署服務器 |
13 | 0 | 1790 | 10 | 110 | 對androidapp的理解加深了 |
14 | 30 | 1820 | 6 | 106 | 瞭解如何評測一個項目 |