結對作業一
| 這個作業屬於哪個課程 | 2021春軟件工程實踐|W班 (福州大學) |
|---|---|
| 這個作業要求在哪里 | 結對作業一 |
| 結對學號 | 221801102 221801107 |
| 這個作業的目標 | 完成原型設計,NABCD模型,記錄PSP表格 |
| 其它參考文獻 | 無 |
PSP表格和效能分析
PSP表格
| PSP2.1 | Personal Software Process Stages | 預估耗時(分鍾) | 實際耗時(分鍾) |
|---|---|---|---|
| Planning | 計划 | 70 | 210 |
| Estimate | 估計這個任務需要多少時間 | 10 | 10 |
| Discuss | 討論 | 60 | 200 |
| Development | 開發 | 300 | 305 |
| Analysis | 需求分析 (學習新技術) | 90 | 85 |
| Design | 具體設計 | 180 | 200 |
| Design Review | 設計復審 | 30 | 20 |
| Reporting | 報告 | 70 | 75 |
| Blog | 博客 | 60 | 70 |
| Postmortem & Process Improvement Plan | 事后總結, 並提出過程改進計划 | 10 | 5 |
| 合計 | 440 | 590 |
效能分析
主要是討論比較花時間,也沒想到會討論很久,主要是針對作業給出的需求進行討論,把有些不明確的地方明確了,因此這一塊比較花時間。但是討論完之后感覺今后在編碼階段的效率會提升,因為考慮到了很多實際編程的問題。
例如
-
賬號具體要怎么實現,是采用傳統的登錄方式還是OAuth來實現,還是都做實現。
-
對用戶的增刪改查具體要怎么做,最后采用收藏夾的方式。
-
對動圖要怎么實現,是使用折線圖還是用條形圖,最后選擇條形圖,因為更加直觀。
因此討論比較花時間,不過我們認為是值得的。
原型地址
源:
原型介紹
設計思路
- 根據用戶輸入的論文題目或者批量通過excel導入的論文題目,設計用戶搜索網頁,類似於百度或谷歌首頁,可以進行論文題目的搜索。也就是說需要有一個界面來承接這個搜索的功能,並在搜索后跳轉到搜索詳情界面。
因此總的來說需要一個搜索界面和一個搜索詳情界面。並且在點擊搜索后進入搜索詳情界面。
- 在搜索詳情界面可以讓用戶收藏某篇文章進入收藏夾,在助教的題目描述里面,是說可以對論文進行增刪改操作,換句話來說,我們得對原網站的論文概要,題目等單獨維護一個拷貝,否則不同用戶之間會出現數據沖突,而且也需要特殊方式去判別爬取的論文和用戶修改后的論文的關聯性,因此需要有一個界面來展示用戶的收藏情況。
因此總的來說需要一個收藏界面,而且收藏界面可以對收藏的論文進行增刪改操作。
- 由於需要統計爬取的論文信息,因此需要進行相關的統計,對於可對多年間、不同頂會的熱詞呈現熱度走勢對比,以動圖的形式呈現這里的話,需要用戶去手動選擇Top10關鍵詞,並以動圖的形式進行放映給用戶,整體上來說應該用條形圖實現,由於需要形成關鍵詞圖譜,因此用詞雲實現。另外由於頁面可能較空,因此可能會追加一個餅圖設計。
因此總的來說需要一個數據統計界面,用來顯示統計情況。並且在點擊詞雲的時候可以直接進行數據的搜索。
- 對於維護用戶的登錄這塊,我們采用OAuth2.0和github建立連接。並獲取用戶的頭像和個人信息等。這一塊不需要一個單獨的界面,需要一個模態框就可以了。在原型上沒有體現。
原型圖
- 主頁(搜索界面)
圖標是一只很可愛的小老虎,以俺的網名作為網站的名字,同時在navbar上有收藏夾和數據統計的功能,會在用戶登錄后顯示,如果用戶未登錄,則只能使用搜索的功能,並且navbar部分會顯示登錄按鈕,而非用戶的用戶名和頭像。

- 搜索詳情界面
搜索詳情界面可以支持關鍵詞搜索,並以卡片的形式顯示論文的標題,概要等,提供收藏按鈕讓用戶收藏進收藏夾。還有提供分頁功能,並且可以做自適應的設計。

- 收藏夾界面
收藏夾界面展現用戶的收藏信息,也提供了關於收藏夾內容的編輯功能,取消收藏功能,並做了模態框和用戶交互設計,比如點擊確定的時候會顯示編輯成功等信息。

- 數據統計界面
左上角是關鍵詞圖譜,詞雲,展示top10的關鍵詞信息,右上角是環形圖用來更加直觀的展示top10關鍵詞的詞頻情況,最下面是條形圖,可以選擇關鍵詞查看近幾年對某個關鍵詞不同峰會的趨勢情況,以動圖的形式展現。

困難解決
- 需求說到需要對論文列表進行增刪改查
一開始的思路是對爬取的論文列表直接進行增刪改查,也就是說對所有用戶只維護一份爬取的論文列表。如下圖所示。

這樣的話,不同用戶之間的增刪改查可能會沖突,而且當用戶直接修改了論文標題等信息的時候,可能會導致下次爬蟲的時候錯誤的再次把相同的文認為是不同的文章爬取下來。因此考慮用收藏夾對每個用戶單獨的再維護一份論文列表。如下圖所示。

這樣解決了對論文列表進行增刪改查的一系列,以及上述問題,而且給后續開發減少冗余帶來好處。
- 需求說到可對多年間、不同頂會的熱詞呈現熱度走勢對比
一開始的想法是對多年的不同頂會的全部熱詞進行呈現熱度走勢的對比,后來發現這樣的方式在動圖上可能需要三維才可以做到,難度較大。
后來考慮一份動圖只對應一個熱詞進行展示,避免了三維圖形的繪制。
NABCD模型
-
N(Need,需求)
小剛不知道近幾年計算機視覺領域的熱門研究方向,而論文網站非常眾多,根據論文列表去一篇一篇查找總結效率又着實太低,希望有一個網站可以全面的搜索論文並提供近幾年的計算機視覺領域的熱門研究方向。
-
A(Approach,做法)
我們可以通過爬蟲,直接爬取各個論文網站上的文章,這樣的話,用戶就不必去各個論文網站搜索,而只要在本網站上搜索。通過爬取的論文,可以更加系統全面的分析近幾年的計算機視覺領域的熱門研究方向,而不是僅限於某個論文網站。
-
B(Benefit,好處)
這個產品給用戶帶來的好處是,不必為了搜索論文去各個網站上搜索,而且相對於百度或者
google等搜索引擎來說更加的有針對性,可以保證只是收到論文。最主要的也是解決了用戶需求。而且提供收藏夾的功能,可以對論文進行增刪改查。 -
C(Competitors,競爭)
與我們競爭的相關產品有知網,萬方數據庫等,這些也是很好的涵蓋了部分內容,但是對於知網來說,收費相對較高。而我們的軟件是不收費的,完全開源。萬方數據庫的內容沒有明確的針對性,我們僅僅是針對三個頂尖峰會進行查詢。另外我們還支持論文標題批量導入的功能。
-
D(Delivery,推廣)
可以先明確我們的用戶對象,我們的優勢是界面總體比較簡單,使用起來也比較簡單,而且是給相關計算機的研究者使用的,因此可以找計算機領域的有影響力的人進行嘗試,如果他們覺得不錯,可以請求他們幫忙推廣這個產品。
原型開發工具
-
Axure Rp 9
-
使用 Axure antd 組件庫 https://library.ant.design/
結對過程,隊友評價
非擺拍結對照片,由於疫情原因,還在家中,因此討論采用騰訊會議屏幕共享以及QQ聊天的方式,一起進行原型設計。
-
原型設計前准備的照片
這是我們正在准備學習 Axure 的用法,使用共享文檔等討論的圖片。

-
使用原型模型工具的照片
下面是我們正在使用 Axure 進行原型設計的截圖,圖中我們正在進行收藏夾界面的原型設計,並設置交互。

第一次結對的感受
- 221801102(nosae)的感受
結對編程在於通過雙方互動,開啟相互的思路,這讓我想起了“小黃鴨調試法”
是在程序的調試或測試過程中,操作人耐心地向小黃鴨解釋每一行程序的作用,以此來激發靈感與發現矛盾。
溝通和表達不僅在編程,而且在很多方面都是很有用的,比如這次的第一次結對編程雖然沒有真正開始編程,但是已經感受到了只要雙方說得來,肯於開放自己的思路大膽表達,交換思想,就能達到相對高的工作效率,而且還能在工作的過程就及時指出對方的不足,效率大大提高
- 221801107(huro)的感受
兩個人在交流的過程中可以很好的發現隊友身上的問題,這次和隊友比較熟,所以兩個人之間可以很隨意的對有爭論的問題進行交流,所以感覺還不錯。
對隊友的評價
- 221801107(huro) 對 221801102(noase) 的評價
我覺得隊友很靠譜,第一天的時候就在找資料了,包括原型設計的工具,原型設計工具的激活碼,在線合作的markdown文檔,如何進行原型工具的協作等。而且進度也很快,現在是第三天,我們基本是已經快要做完的狀態了。和強哥一起合作,很舒服。不會出現以前有時候團隊合作的時候可能出現對方不積極啊,然后我要告訴他說去哪里哪里學啊,基本都是我在帶然后很累的情況,這次感覺有點相輔相成,很自然也比較輕松就完成了任務。
- 221801102(noase) 對 221801107(huro) 的評價
我覺得隊友很細節,因為隊友對Ant Design比較了解,所以我制作原型的過程基本不用想,因為Axure不能同一個界面同時協作,所以關於原型的各種細節都是他在指導,我來拖動控件進行操作。在我糾結於各種無關緊要的細節時,他總是能指出應該先關注大局內容,整個人給人的感覺可以說是粗中有細,做事干脆。所以我們只用了短短的三天,就已經做了百分之七八十了,進度飛快。很舒服。
