大娃html
:後端開發人員,主要工做爲後端開發,文檔撰寫。前端
大娃的我的博客git
二娃github
PM,主要工做爲項目進度把控,例會博客撰寫。chrome
二娃的我的博客數據庫
三娃*編程
PM,主要工做爲項目進度把控,用戶需求分析,組織平日例會,各種博客的撰寫和項目推廣。後端
三娃的我的博客瀏覽器
四娃佈局
前端開發人員,主要工做爲網頁各項功能的實現,文檔撰寫。
四娃的我的博客
五娃
前端開發人員,主要工做爲頁面開發,文檔撰寫。
五娃的我的博客
WF
測試,主要工做爲測試先後端代碼,發現bug交付給開發組。
WF的我的博客
七弟
前端開發人員,主要工做爲頁面開發,文檔撰寫。
七弟的我的博客
此外,團隊博客中也有一篇關於團隊成員的詳細介紹(附成員美照),連接以下:團隊成員介紹
需求分析
現在deep learning大火,不少計算機人甚至其餘專業的人都會向deep learning中跳,但從0到入門這一過程當中着實面臨着一些困難:
可見現有的學習途徑對初學者並非很友好。因此咱們想搭建一個在線平臺, 提供給用戶可拖拽的編程方法,經過圖形鏈接自動生成程序。用這種方式能夠幫助沒有接觸過deep learning的人更快、更直觀地理解基本原理,並作一些前期的簡單練習,可以快速入門。
同時,咱們還會爲用戶提供論壇形式的討論平臺,幫助用戶在學習過程當中遇到困難有求助渠道,提升用戶之間的互動性及用戶體驗。
典型用戶
咱們設想的典型用戶爲有必定計算機基礎、想要學習deep learning的人,且經過教材、博客的學習感受有些生澀難懂、吃力。
預期功能及用戶數量
預期功能有:
用戶數量:
經歷了Alpha、Beta和Gamma三個版本的迭代,從最開始的只支持搭建模型生成代碼,到現在支持用戶登陸/註冊、保存模型、下載代碼且優化了前端給用戶更溫馨的體驗。目前網站支持的功能主要爲搭建模型——設置參數——生成代碼 or 搭建模型——設置參數——保存模型——調用模型——修改模型並保存 or 調用樣例模型——設置參數——生成代碼,具體頁面以下:
搭建模型
設置參數
生成代碼
下載代碼
登陸/註冊
保存模型
調用模型
修改模型並保存
調用樣例模型
快速入門教程
咱們的第一代Alpha版本於2019.4.18部署上線,截止到Alpha階段結束,已經有了840的訪問量和247的生成模型數量,因爲還未開放註冊/登錄功能,所以還未統計註冊用戶量。目前的數據量以下:
因此,Alpha、Beta和Gamma階段加起來的網頁訪問量爲170九、生成模型數量爲49一、註冊用戶量爲142,達到了預期目標!
咱們在16級和17級計算機學院羣和18級士諤書院羣進行了推廣,此外還在天津大學、北京理工大學進行了推廣,在咱們推廣以後,咱們也收到了一些用戶反饋,這爲咱們項目的改進明確了方向,具體反饋內容以下:
分工協做
因爲咱們團隊自己人數較多,爲7我的,高於平均水平,又由於以前咱們沒有過作完整工程的經驗,所以咱們選擇在標配的基礎上,增長一個PM,以便於更好地總體規劃和把控項目進度。在經歷了Alpha階段的探索後,咱們發現由大娃一人能夠完成後端的開發工做,因而咱們從原來的「兩人前端,兩人後端」,調整爲了「三人前端,一人後端」,由人員流動來的同窗負責進行測試的任務。平時PM會發布任務,開發組根據平常進度推動開發,若是有突發狀況,則團隊成員人儘可兵、以儘快解決問題爲第一要義。
經驗教訓
經歷了Alpha、Beta和Gamma階段,主要經驗教訓就是一個項目的推動,須要團隊總體的積極狀態,而不是一個兩我的的Carry。大佬可能可以帶領團隊快速前進一段時間,但務必讓團隊成員跟上進度,可以幾乎平均承擔任務,而不是直接摸魚。不然,可能到了開發後期,就會出現大佬本身身心俱疲、Carry不動,團隊其餘成員不懂該如何繼續推動,愛莫能助的狀況,而一旦出現這種狀況,要麼壓榨大佬,要麼就要停下進度,從頭開始學習,這樣就會將以前的時間double,這兩種局面都是對項目而言十分不利的。
咱們團隊選用github來進行項目管理,項目連接爲:VisualPytorch
PM和測試人員會在github上把相應的工做發佈issue,並將其歸在負責人的名下,當開發人員完成了任務之後能夠在issue下留言,天天晚上PM會檢查issue,並關閉已經被完成的issue。項目的issue的連接爲:VisualPytorch_issue
在時間上,雖然以前據說可以天天早上一塊兒去圖書館,坐在一塊兒面對面開發是效率比較高、效果比較好的開發模式。但因爲大三你們都比較忙,也都有本身的安排,有些同窗要準備出國、考研等,時間上也不統一,所以咱們並未對成員的具體工做時間做要求,只要在DDL以前可以保證質量地完成任務便可。
咱們的項目是一個自選項目,仍是和深度學習有關,而組內同窗並非全部人都對Pytorch熟悉,所以前期的學習成本比較高,學習週期較長,開發時間相對緊張一些。所以,在Alpha版本中,咱們講精力放在了核心功能的實現上;在Beta版本中,咱們進一步豐富了咱們的組件,並提供了下載代碼的功能,且容許用戶可以登陸/註冊本身的帳號,並將模型保存在本身的帳號下屢次編輯;Gamma版本中,咱們優化了前端頁面的佈局,使用戶能有更好的使用體驗,並添加了詳細的使用文檔和快速入門教程,使得不管用戶對deep learning瞭解多少,都可以體驗全部功能。
測試矩陣 | 功能測試 | 頁面測試 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
測試瀏覽器 | 測試環境(瀏覽器版本) | 組件拖拽 | 組件刪除 | 組件連線 | 參數輸入 | 點擊事件(組件、按鈕、連接)下拉框選擇 | 報錯狀況 | 註冊登陸 | 保存模型 | 查看模型 | 刪除模型 | 生成代碼 | 代碼下載 | 主頁面 | 聯繫咱們頁面 | 幫助頁面 | 代碼生成頁面 | 頁面切換 |
chrome | 74.0.3729.131 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
火狐 | 67.0(64位) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
ie | 11.765.17134.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
edge | 42.17134.1.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
10.4.3505.400 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
UC | 6.2.4098.3 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Opera | 60.0.3255.95 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
搜狗 | 8.5.10.30358 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
獵豹 | 6.5.115.18552 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
能夠看到,咱們的網站在不一樣的瀏覽器上的表現仍是比較穩定的。此外,爲了驗證生成的代碼是否正確,咱們課下的測試方法爲生成不一樣的模型而後覆蓋工程中的模型代碼,而後去驗證是否正確。但爲了展現方便,咱們找到了一個用咱們的組件能夠拼接出的github上的模型,而後用它的模型部分代碼和咱們所生成的代碼進行比對,截圖以下:
咱們找到的github的模型連接爲:https://github.com/MorvanZhou/PyTorch-Tutorial/blob/master/tutorial-contents/401_CNN.py
代碼規範和全部的文檔都保存在github上,在github-doc分支中,文檔連接爲:VisualPytorch_doc
咱們的目標用戶有如下幾類:
屬性 | 描述 |
---|---|
姓名 | 張XX |
身份 | IT行業相關從事者、deep learning初學者 |
年齡 | 21歲 |
所佔比例 | 60% ~ 65% |
重要性 | 十分重要,是本網站的核心用戶,幫助他們快速入門、練習是本網站的核心功能 |
知識層次 | 有必定的計算機專業知識,系統學習過計算機相關課程 |
動機/目的 | 利用網站更直觀地搭建模型,快速入門deep learning |
用戶偏好 | 除了可進行模型搭建外,可能還但願有相應的教程、論壇等 |
…… | …… |
屬性 | 描述 |
---|---|
姓名 | 馬XX |
身份 | IT行業精英、資深deep learning從事者 |
年齡 | 40歲 |
所佔比例 | 20 ~ 30% |
重要性 | 較爲重要,能夠在論壇中回答初學者的疑問,也會給網站的改進提供意見 |
知識層次 | 熟悉計算機專業知識,具備極強的編程能力,精通所從事的領域 |
動機/目的 | 出於興趣逛到網站,爲初學者解答疑惑 |
用戶偏好 | 但願可以更方便地與人交流 |
…… | …… |
屬性 | 描述 |
---|---|
姓名 | 蔣XX |
身份 | 計算機本科學生 || 路人 |
年齡 | 18歲 |
所佔比例 | 10 ~ 15% |
重要性 | 通常重要,能夠經過網站引發其對deep learning的興趣,從而轉化爲核心用戶 |
知識層次 | 學習過計算機相關課程 || 用過計算機 |
動機/目的 | 閒逛論壇/知乎時看到就點了進來看看 |
用戶偏好 | 須要簡單明瞭的操做指南,美觀的UI,有趣的體驗等 |
…… | …… |
其中最爲重要的仍是deep learning的初學者,而這一批人主要是計算機相關專業在讀學生或相關從業人員,考慮到咱們身邊接觸的學生較多,咱們以問卷的形式展開用戶調查,主要調查用戶是否喜歡這種模式的網站,以及對網站的功能還有哪些需求,問卷調查結果以下:
能夠看到,這種網站的需求仍是比較大的,並且也容易被用戶所接受,具體的文件調查結果在咱們的github-doc分支中,連接以下:用戶需求調查
在項目發佈後,咱們分別在北航16級、17級和18級的計算機學院中進行了推廣,並在天津大學和北京理工大學進行了推廣。
VisualPytorch的詳細介紹請見產品發佈說明,連接以下:VisualPytorch發佈說明
咱們產品的IP地址爲http://114.115.151.39,同時咱們也申請了域名www.visualpytorch.xyz,但因爲綁定須要進行備案,須要公司實體等,所以未可以綁定。
名字 | 分工 | 團隊貢獻分 | 具體貢獻 |
---|---|---|---|
tdc | 後端開發 | 50 | (1)加入代碼註釋 (2)完善生成的代碼,使其基本可運行 |
ywt | PM | 52 | (1)十次scrum meeting博客記錄 (2)項目展現答辯 (3)Gamma階段發佈說明的撰寫 |
zzw | PM | 55 | (1)組織召開scrum meeting (2)Gamma階段項目展現博客的撰寫 (3)整合博客目錄 (4)1次技術博客發佈 (5)項目推廣 |
mhx | 前端開發 | 54 | (1)優化前端參數設置框的實現方法 (2)修復前端bug (3)技術博客的撰寫 |
wgh | 前端開發 | 46 | 完善幫助文檔 |
wf | 測試 | 48 | (1)後端代碼單元測試、接口測試、迴歸測試、壓力測試等 (2)撰寫測試報告 |
bwj | 前端開發 | 45 | 優化header |
咱們的網站旨在讓入門deep learning變得簡單、直觀、有趣。由於deep learning是一個有趣而又玄學的東西,但若是讓初學者由於高門檻、枯燥等因素而被勸退,着實十分惋惜。咱們的網站就可讓初學者們很直觀地進行模型的搭建,就好像搭積木同樣,並返回代碼,覆蓋他已有的模型文件便可進行訓練。
認識到了PM的難度,如何協調、控制好團隊進度絕非易事,而若是PM失控,團隊進度很容易崩潰
一切開發都是基於設計的,設計先行
任何一個成果都須要團隊共同的努力,而不只僅是一我的的強大
與Alpha階段結束時個人認識相同,軟件工程這門課程確實有很深的學問,它不只僅是寫好代碼就能夠順利完成項目,還很考驗團隊協做能力,而團隊協做能力是由多種因素所決定的,因此這門課程是對咱們綜合能力的提高。課程過程當中,老師和助教們盡力爲咱們營造出一種真實的公司開發的氛圍,是咱們對軟件工程的體會加深。但結合咱們大三的現狀,絕大多數同窗面臨着出國、考研、保研等須要精力來準備的事情,而敏捷開發自己是一個十分須要全身心投入的東西,而軟件工程對於咱們來講,確實只是一門課程,咱們沒辦法作到把所有精力都投入到一門課程中去。綜上,竊覺得課程設置的各個環節有些複雜,也太過耗費精力,若是能夠簡化一下課程流程,下降課程工做量,與AI、嵌入式的工做量稍微平衡一下,會有更好的體驗和口碑。也但願老師可以,把軟件工程課程整個流程設計的有意義而不是複雜、勞累,並給同窗引導而不只僅是監督進度,這樣也許能讓同窗們真正看到意義所在,而不只僅是體會到勞累、感到不滿。