結對第一次作業
這個作業屬於哪個課程 | 2021春軟件工程實踐 -W班 (福州大學) |
---|---|
這個作業要求在哪里 | 結對作業一 |
結對學號 | 061800217、221801133 |
這個作業的目標 | 閱讀《構建之法》第3章和第8章的內容 結對合作制作原型 |
其他參考文獻 | 簡書/博客園 |
目錄:
一、 PSP表格和效能分析
PSP表格
PSP2.1 | Personal Software Process Stages | 預估耗時(分鍾) | 實際耗時(分鍾) |
---|---|---|---|
Planning | 計划 | 20 | 20 |
Estimate | 估計任務需要時間 | 20 | 20 |
Development | 開發 | 790 | 690 |
Demand understanding | 需求理解 | 90 | 80 |
Team discussion | 結隊討論 | 120 | 100 |
Learning prototype design tools | 學習原型設計工具 | 40 | 30 |
Prototype design | 原型具體設計 | 480 | 440 |
Design review | 設計復審 | 60 | 40 |
Reporting | 報告 | 150 | 150 |
Design Repor | 設計報告 | 90 | 100 |
Size Measurement | 計算工作量 | 20 | 20 |
Postmortem & Prrocess Improvement Plan | 事后總結&提出過程改進計划 | 40 | 30 |
合計 | 960 | 860 |
效能分析
本次結隊任務耗時主要在需求理解,結隊討論以及原型具體設計上。
-
小剛的需求中有很多模糊不清的問題描述,比如,
-
用戶輸入單個論文題目,一般情況不會是准確完整的題目,那我們是否需要進行模糊匹配,即用關鍵詞等獲得文章;
-
當用戶在論文列表進行查詢時,在未找到目標論文的情況下,我們將從網上爬取目標文章,是否會造成用戶已刪減文章又重復添加;
-
-
如何設計我們的原型,能更貼合用戶的需求,使我們的產品更具有競爭力;
針對以上問題,我們進行長時間的討論,並在原型中做出相應的改動來解決問題。
二、 原型地址
三、 原型介紹
本次原型設計按照上中下三個部分安排頁面。點擊導航欄中“論文檢索”、“個人中心”、“論文分析”、“論文管理”可直接到達對應頁面,點擊“注銷”將登出賬號跳轉至游客界面。
- 游客界面:在此界面,我們介紹了平台的主要功能,吸引用戶注冊並使用該平台。點擊“馬上體驗”或“馬上注冊”按鈕將進入注冊界面

- 登錄注冊頁面


- 個人中心頁面:在此頁面,為了給用戶提供更好的體驗,增加了顯示用戶使用時長,收藏的論文篇數以及已讀的論文篇數。並提供三大會議的10篇熱文供用戶參考。

-
個人中心頁面(點擊“收藏”):展示用戶收藏的論文
-
個人中心頁面(點擊“歷史”):查看用戶曾閱讀的論文

- 論文檢索頁面:在此頁面,用戶可以選擇導入論文列表,並點擊爬取,然后由平台根據用戶的列表去爬取論文。用戶也可以選擇輸入論文關鍵字或准確題目,交由平台生產列表並爬取論文。

- 論文檢索頁面(點擊“爬取”):平台爬取論文成功后彈出的提示框

- 論文檢索頁面(點擊“爬取”):平台爬取論文失敗后彈出的提示框

- 論文管理界面:當用戶選擇“文本”顯示方式

- 論文管理界面:當用戶選擇“圖片”顯示方式

- 當用戶查找論文,在用戶的論文列表中找不到時

- 論文分析界面:在此界面提供對多年間、不同頂會的熱詞及熱詞呈現熱度走勢對比和對於已導入的論文列表的分析。分析內容以可視化圖標展示

四、 困難解決
遇到的問題一:網頁該如何工作?
- 討論:從用戶的目的角度切入,用戶進入網頁,想要獲得的信息是計算機視覺領域的熱門研究方向和這個方向有關的論文;
從平台為用戶服務的的角度切入,平台主要功能是分析某些內容然后為用戶提供可視化的圖表,同時爬取用戶想要查看的論文,並提供給用戶。 - 解決:網頁的工作總體應該是獲取到一份待爬取的論文列表,然后爬取論文的某些內容並反饋,最后分析某些內容比提供給用戶參考。
遇到的問題二:待爬取的論文從哪里來?
- 討論:作業中寫到“支持用戶輸入單個論文題目,也支持批量導入論文列表;”,但是把我們放在用戶的角度,用戶在查找某個方向的論文時並不知道論文的准確題目,因此用戶輸入的論文題目可能是個關鍵詞,而非准確的指向一篇文章。因此我們更傾向於“知網”等網站的搜索模式,“輸入論文題目”意味着此時要允許模糊搜索。導入的論文列表是用戶導入的、想了解的論文列表。
- 解決:若用戶選擇導入列表,該列表即為待爬取列表;若用戶選擇檢索,通過檢索的關鍵詞\准確論文題目,使用模糊搜索生成待爬取列表
遇到的問題三:如何對已爬取的論文列表進行增刪改查?
- 討論:用戶可以隨時將已爬取的論文從自己的列表中刪除。在平台爬取到論文后使用查詢功能,如果找不到,則需去其他網站再次爬取,再將爬取的論文提供給用戶,讓用戶決定是否添加。
- 解決:刪:從論文列表中刪除論文
查:查詢論文,查詢成功,則顯示已爬取論文;若失敗,則擴展至“增”的步驟。
遇到的問題四:“對多年間、不同頂會的熱詞呈現熱度走勢對比”是針對用戶的論文列表進行的操作嗎?
- 討論:如果對用戶的論文列表進行走勢分析,在用戶的論文列表數不多的情況下,該分析並沒有意義,並且用戶想要獲得的熱門研究方向應該是針對全網。因此這個功能與用戶的論文列表無關,需要平台去爬取三大頂會的論文並進行分析,將熱詞呈現給用戶。
- 解決:無需用戶的操作,平台直接去爬取三大頂會論文的關鍵詞,並進行分析,以圖表的形式展現。
遇到的問題五:是否需要提供詳細的論文內容給用戶?
- 討論:一是論文可能有版權問題,並且有些論文時付費論文;二是用戶通過我們的平台主要是想了解熱門研究方向,可以給出論文連接給用戶,是否打開閱讀由用戶決定。
- 解決:在平台上顯示論文關鍵詞、摘要、題目和論文連接,不顯示論文內容。
遇到的問題六:當用戶對已爬取的表格進行查詢的時候,當未查詢到目標論文時,平台將去其他網站爬取,此時該爬取所以相關內容嗎?
- 討論:第一,這時候用戶想要的內容應當是相關的少量論文,如果直接爬取可能會給用戶的列表加入大量相關文章,會給用戶帶來極大糟糕的體驗;第二,若爬取的目標論文包含用戶已經刪除的論文,直接添加會使用戶的刪除操作無效。
- 解決:若查詢不到論文,則去其他網站再次爬取,並將爬取的論文顯示給用戶,此時加入勾選環節,用戶可選擇將哪些論文導入列表。
遇到的問題七:需不需要加入評論功能?
- 討論:評論的內容是否對外可見呢?每位用戶在該平台上檢索的內容不同,看到同一篇論文的可能性不大,這樣的評論並沒有很大的意義,起不到交流討論的作用。
- 解決:由於用戶與用戶閱讀同一篇論文的可能性極小,評論失去其討論交流的作用,因此不需要加入。
遇到的問題八:有沒有什么功能可以給用戶更好的體驗?
- 討論:結合知乎,微博等我們日常使用軟件的功能,加入收藏,分享,和瀏覽歷史記錄功能,且這些功能在后續的實現中也比較現實,簡單。
- 解決:給用戶的個人功能,加入收藏,分享,瀏覽歷史記錄功能。
五、 NABCD模型
N(Need)
剛性需求:
-
獲取待爬取論文列表及論文信息爬取;
- 支持用戶輸入單個論文題目,也支持批量導入論文列表;
- 通過論文列表,爬取論文的摘要、關鍵詞、原文鏈接;
-
對已爬取的論文列表進行操作;
- 可對論文列表進行增刪改操作;
- 可對論文列表進行查詢(輸入論文題目,也支持模糊查詢:輸入論文編號、關鍵詞等基本信息),若在論文列表中不存在所要檢索的論文,則根據輸入的查詢語句到網站爬取並返回論文的摘要、關鍵詞、原文鏈接;
-
分析已爬取到的論文信息,提取top10個熱門領域或熱門研究方向;
- 形成如關鍵詞圖譜之類直觀的查看方式,點擊某個關鍵詞可展現相關的論文;
-
可對多年間、不同頂會的熱詞呈現熱度走勢對比,以動圖的形式呈現(這里將范疇限定在計算機視覺的三大頂會CVPR、ICCV、ECCV內);
-
平台工作流程

- 用戶使用平台的簡易流程

輔助性需求:
- 用戶的注冊,登錄;
- 用戶個人中心頁面,可查看收藏及瀏覽過的論文;
- 用戶可分享論文給他人;
A(Approach)
- 實現技術
在web端實現界面,用python語言實現后端開發
-
支持功能
-
搜索
- 方式:論文題目,編號,關鍵詞等
-
數量:支持搜索單個論文或批量論文列表
- 反饋:得到論文的摘要,關鍵詞,原文連接
-
方法:精確查詢,以及模糊查詢(給關鍵詞進行查詢)
-
管理
- 對論文列表增刪操作
- 對已爬取論文進行查詢
-
分析
- 論文的熱詞統計和走向
- 爬取論文的關鍵詞直觀圖譜
B(Benefit)
- 支持批量導入待查詢論文列表,對已爬取論文列表進行管理操作;
- 對搜索論文支持模糊查詢,即用戶給關鍵詞,能爬取到相關論文;
- 有對近些年頂會熱詞統計和對比,能直觀展現學術的發展趨勢;
- 針對只對頂會感興趣的用戶提供更精確的服務,不會出現不相關,多余的信息;
- 提供多種數據可視化圖表,清晰明了展現數據分析結果。
C(Competitors)
-
優勢:
- 產品在web端實現,不需要用戶下載,使用成本低且便捷;
- 產品支持收藏功能,用戶可以收藏自己心儀的文章,之后再進行爬取研究;
- 產品支持分享功能,用戶可將已爬取論文連接分享給他人;
- 產品支持瀏覽歷史記錄功能,方便用戶查詢自己瀏覽過的文章;
- 產品提供對多年間、不同頂會的熱詞呈現熱度走勢對比,方便用戶了解近些年學術的發展趨勢;
-
產品可對論文進行更精細,准確的搜索匹配。
-
劣勢:
- 產品只針對頂會使用,搜索范圍有限;
- 面向人群受限,潛在客戶群體較小。
D(Delivery)
- 校內推廣,基於產品只針對頂會進行爬取和熱詞統計,則面向的對象主要由學生和相關領域行業的人員組成。可以先在校內通過朋友圈,學校公眾號推廣,收集用戶反饋,進行產品改進。
- 搜索引擎推廣,當用戶搜索頂會的官方網站,可在相關詞條下進行推廣,使產品面向主要用戶;
- 公眾號推廣,聯系頂會相關的公眾號,發表推文來推銷產品。
六、 原型工具的使用
我們使用墨刀作為原型工具。因為我們看中了墨刀豐富的模板和素材。
- 工作台展示

七、 結對過程
-
結對討論
在進行需求分析時,我們使用QQ語聊,通話的方式進行探討。
-
同步進度
為了方便管理作業進度,我們在github上創建共同作業空間,協同開發,方便查看修改。
-
共同作業
我們使用墨刀開發原型,通過它的協同設計功能,一起設計原型。
八、結對感受及隊友評價
結對感受
思雨:
單人作業與結對作業的區別很大。雙人的想法會更多,討論更加全面,分攤的工作量也會相對減少。我很喜歡討論的過程,在過程中發現問題,解決問題,補足我們的方案,這是一個人很難做到。但是,也會有意見相左的時候,我們都通過討論商量達成了統一,解決矛盾。總體來說,本次結對體驗很好,也得到了不錯的結果。
睿珏:
之前在《構建之法》讀到結對編程的內容時,對於雙人合作有所期待也有所擔憂,期待在與兩個人的共同合作,擔心在與兩個人性格不合等問題。好在這次的合作很順利,兩個人在完成作業的過程中積極討論。結對作業相對單人作業來說,兩個人互相推動,動力更大、想法更多、想到的內容也更周全。總而言之,這次結對作業對我來說收獲良多!
隊友評價
思雨->珏:
在UI方面,兩個人都是新手,都是摸索進行設計的。我們之間有很多討論,比如,用什么設計軟件,作業的模糊要求,附加功能,用戶體驗啊之類的,多次感謝自己擁有一個多么好的隊友,優秀(◎`・ω・´)人(´・ω・`),然后也很感謝耐心回答我各種奇奇怪怪的問題。雖然是短短幾天的結對經歷,體驗非常好,結果也不錯,我們都辛苦啦✧٩(ˊωˋ)و✧。
珏->思雨:
思雨是一位很棒的隊友!我們兩個剛組隊的時候就達成共識——要盡早完成作業。兩個人都是設計新手,所以在設計初期,在軟件選擇和需求方面遇到了一些問題,好在我們都積極溝通,善於思考,很快就找到解決方案!在設計中后期,兩個人分工合作,在自己預期的時間內完成了原型設計。是一次很好滴結對編程經歷!