作業鏈接:https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1816W/homework/2108
結對成員:031602441 張子純,031602408 何守成
隊友博客:http://www.cnblogs.com/zzc2018/p/9690585.html
原型設計工具:墨刀
原型鏈接:https://modao.cc/app/hKWBhjcpnFtb956VnwzIZq3ZlcplVxu
原型源文件:https://files.cnblogs.com/files/heshoucheng/CVsource.com.zip
博客PDF:https://files.cnblogs.com/files/heshoucheng/%E7%BB%93%E5%AF%B9%E4%BD%9C%E4%B8%9A.pdf
PSP表格
PSP2.1 | Personal Software Process Stages | 預估耗時(分鍾) | 實際耗時(分鍾) |
---|---|---|---|
Planning | 計划 | ||
Estimate | 估計這個任務需要多少時間 | 720 | |
Development | 開發 | ||
Analysis | 需求分析 (包括學習新技術) | 60 | 50 |
Design Spec | 生成設計文檔 | 120 | 200 |
Design Review | 設計復審 | 10 | 30 |
Coding Standard | 代碼規范 (為目前的開發制定合適的規范) | 0 | 0 |
Design | 具體設計 | 360 | 540 |
Coding | 具體編碼 | 0 | 0 |
Code Review | 代碼復審 | 0 | 0 |
Test | 測試(自我測試,修改代碼,提交修改) | 60 | 60 |
Reporting | 報告 | ||
Test Repor | 測試報告 | 60 | 60 |
Size Measurement | 計算工作量 | 60 | 70 |
Postmortem & Process Improvement Plan | 事后總結, 並提出過程改進計划 | 30 | 60 |
合計 | 760 | 1070 |
NABCD模型
N--need,需求
平台功能
1.用戶可給定論文列表
- 通過論文列表,爬取論文的題目、摘要、關鍵詞、原文鏈接;
- 可對論文列表進行增刪改操作(今年、近兩年、近三年);
2.對爬取的信息進行結構化處理,分析top10個熱門領域或熱門研究方向;
- 可對論文屬性(oral、spotlight、poster)進行篩選及分析;
- 形成如關鍵詞圖譜之類直觀的查看方式;
3.可進行論文檢索,當用戶輸入論文編號、題目、關鍵詞等基本信息,分析返回相關的paper、source code、homepage等信息;
4.可對多年間、不同頂會的熱詞呈現熱度走勢對比(這里將范疇限定在計算機視覺的三大頂會CVPR、ICCV、ECCV內)。
5.拓展功能1:增加賬戶功能。用戶使用產品時可以注冊賬號。
+ 用戶可以收藏自己感興趣的論文頁
+ 用戶擁有個人主頁,可接收消息,查看最近瀏覽記錄等
+ 用戶可以關注別的用戶。關注后,經對方允許可以查看對方的動態
+ 用戶可設置隱私權限和更改個人資料
6.拓展功能2:增加社區功能,用戶間可以互相討論
+ 用戶可以加入感興趣的討論組
+ 用戶可以收藏帖子
+ 用戶可以點贊帖子,在帖子下評論,回復其他用戶的評論
+ 用戶可以發布帖子
A--approach,方法
1.實現工具:web
優點:
- 方便客戶訪問
- 便於推廣
- 方便論文這種大文檔查看
2.具體分析
-
針對功能1--根據論文列表爬取論文,對論文列表進行增刪改
(其實我現在也不懂論文列表是啥,不過既然學姐說按年份和時間來發揮自己的想象,我就真的自己想象了啊。。。如果錯的話希望學姐這里不要扣分,求私聊讓我改<卒>)
我理解的論文列表:用戶輸入會議名稱或者年份,后端去官網上爬取數據顯示出來
因為需求中有對論文列表進行增刪改操作,如果是選擇框的話,無法做到對全部年份的增刪改。這里我借鑒了花瓣網的處理方法,通過用戶輸入空格把搜索元素隔開。例如要查詢2017年ICCV的論文,就輸入“2017 ICCV”。這樣如果用戶要增刪改的話會比較靈活。然后把用戶輸入的一個個搜索元素提取出來,綜合一下,去官網爬取數據。 -
針對功能2--top10和篩選
用戶可以在結果頁面對論文的top10關鍵字或屬性進行篩選。針對不同的結果進行統計top10關鍵字。對每個會議不同屬性的論文占比進行分析。
(為了讓對這個領域感興趣的普通人也能輕松查看,這里我們設定我們的平台有一定的翻譯功能,顯示是中文結果) -
針對功能3--論文檢索
這里我本來是想讓論文檢索和列表檢索使用不同的搜索按鈕,共用一個搜索框,畢竟搜索的語法完全不同按錯按鈕也不會有影響。但考慮到搜索的高效性,最后決定把他們分開。論文搜索設下拉框,可以選擇關鍵字,題目,編號,全部四個不同屬性進行檢索。檢索方式也是去官網爬取。 -
針對功能4--熱詞走勢對比
這個熱詞走勢對比,感覺對這方面感興趣的普通人應該挺關注的,所以我把它放到了首頁,和論文檢索一樣用來吸引還沒有注冊的用戶。實現就是通過預先去官網抓取關鍵字,當用戶查看時,直接調出。 -
針對功能5--拓展功能 賬戶
其實一開始沒想做那么多,就是想用戶查到了論文,可是這種學術論文只看一次肯定理解不了,所以用戶有收藏論文的需求。但是要分辨究竟是誰的收藏,所以就新加了賬戶功能。然后就想有賬戶之后肯定要有設置這種東西等等這個板塊就拓展了起來。實現還是通過后端的數據庫存儲每個用戶的信息,這個就是我們上學期的數據庫實踐的內容了。 -
針對功能6--拓展功能 社區
賬戶都出來了,那就再來個交流社區吧。可以和別人交流學習心得,提出自己的問題,再大膽點,論文的作者發布帖子推廣自己的產品啊,回答粉絲的問題啊。想想我都想要個這種平台!實現的話還是靠后端的數據庫。
B--benefits,好處
- 使用方便:寄予web的實現,人人都能訪問。
- 了解科技發展趨勢:我們總結了熱詞,讓你緊跟時代發展。
- 節約時間:節約你去一個一個官網查論文的時間。
- 交友:關注業內大牛,認識興趣相同的人。
- 提問:在讀計算機視覺頂級會議的論文中,肯定會有問題。可以在社區中提出你的疑問。
C--compettors,競爭
優勢
- 頁面美觀,搜索操作簡潔易實現。
- 有分析功能,分析熱詞走勢,最火關鍵詞等,讓用戶緊跟時代潮流。將結果通過圖表的形式顯示出來,方便用戶查看。
- 可以在社區中提出問題,與其他人討論。
- 可以將論文放到你的收藏夾中,並對他們進行分類。
- 更專注於計算機視覺領域,我們更專業(哈)
劣勢
- 功能較多,實現繁瑣,前期投入大
- 沒有用戶基礎,投入前期社區板塊難做。
D--Delivery,推廣
先從本校學生教師中推廣,把他介紹給實驗室的老師同學們。在此過程中聽取用戶意見,修改bug,完善功能。一段時間后,向其他學校實驗室推廣。
結對過程
討論過程
實現原型
隊友優點:積極認真,做事嚴謹,善於思考
缺點:
遇到的困難及解決方法
-
對隊友之前相互不了解
解決:結對第一天開了見面會,對彼此的性格有了初步了解。在原型制作的過程中也在努力的不斷的磨合。 -
對計算機視覺這個領域不了解,並且沒有看過國外的論文,對這種峰會的論文體系結構不了解
解決:有困難找學姐!!經常打擾學姐真是不好意思!!感謝學姐!!!鞠躬 -
第一次知道還有原型這種東西
解決:上網查資料,問同學,不斷實踐。墨刀這個工具還是挺簡單的。 -
一開始做的不像個網頁
解決:我們很早就做出來了個原型。但是,它一點也不像個網頁!(哭笑)因為我之前數據庫做的事客戶端,所以對網頁制作也不是很了解。然后我就去網上找相關的搜索網頁,驚奇的發現網頁的兩邊是要留白的。這個主要是因為人的眼睛移動幅度過大會很累。於是我們改了后,變得像真的網頁多了。
原型實現
功能圖如下
論文搜索,點擊高級搜索可進入列表搜索,可選搜索范圍
點擊主頁下方點擊查看最新熱詞進入熱詞分析界面
論文檢索界面
列表搜索,點擊論文搜索可回去,要使用此功能需要先登錄
登陸界面
登陸后列表搜索功能
輸入2017和空格后界面
結果界面
篩選屬性
TOP10熱詞,點擊左上角詳情,顯示與熱詞相關的論文
屬性分析,分析不同頂會三種屬性論文的數目,點擊左上角扇形查看不同屬性的占比
點擊右上角的的頭像進入個人空間
個人主頁
收藏夾
設置
我的關注
點擊上方發現按鈕進入社區
帖子頁面
寫貼
總結
通過這次原型設計的鍛煉,我體會了原型開發范型中快速建立原型這一關鍵環節的實現過程。對軟件工程的過程模型有了更深刻的理解。這是第一次結對作業,與隊友磨合好非常重要。雖然過程中遇到了很多的困難,但在我們的共同努力下,都順利解決了。原型設計真是個好東西,在於非計算機領域的客戶溝通時,方便客戶的理解,少了很多麻煩。
附加作業
在這門課開始之前大多方面都比較薄弱,希望通過不斷地努力與探索在以下各方面都能有較大的提升。
鄰域 | skills/技能 | 課前評估(0..9) | 課后預期(0..9) |
編程 | Programming:Implementation(模塊實現 逐步細化) | 1 | 6 |
編程 | Programming:UnitTest(單元測試 代碼覆蓋率) | 1 | 7 |
編程 | Programming:Design(架構設計 模塊化設計 接口設計) | 2 | 6 |
軟件工程 | SE:requirement(需求分析,典型用戶、場景、創新) | 1 | 8 |
職業技能 | Ability to Learn:自主學習能力 | 5 | 7 |
職業技能 | Work withOthers(協同工作 提供反饋 說服別人) | 5 | 8 |