軟工實踐做業(三)


PDFhtml

結對做業(一)
隊友博客 031602334前端

原型展現地址
GitHubgit


需求分析


N -- Need,需求

基本需求:github

  • 用戶可給定論文列表
    • 經過論文列表,爬取論文的題目、摘要、關鍵詞、原文連接;
    • 可對論文列表進行增刪改操做(今年、近兩年、近三年);
  • 對爬取的信息進行結構化處理,分析top10個熱門領域或熱門研究方向;
    • 可對論文屬性(oral、spotlight、poster)進行篩選及分析;
    • 造成如關鍵詞圖譜之類直觀的查看方式;
  • 可進行論文檢索,當用戶輸入論文編號、題目、關鍵詞等基本信息,分析返回相關的paper、source code、homepage等信息;
  • 可對多年間、不一樣頂會的熱詞呈現熱度走勢對比(這裏將範疇限定在計算機視覺的三大頂會CVPR、ICCV、ECCV內)。

附加需求:web

  • 提供三大頂會的簡介;
  • 論文搜索還可按年份、出版物等進行篩選;
  • 可查看各地區、學校在用戶清單中的論文發表數和佔比;
  • 在論文詳情頁提供論文指標、評論、相關論文和關鍵詞等信息。

A -- Approach,方法

通過討論肯定,咱們的平臺主要基於web端實現,有如下幾點緣由:算法

  • web端無需額外安裝客戶端,訪問成本較低;
  • web端無平臺限制,方便用戶跨平臺訪問,也下降了開發成本;
  • 可直接在瀏覽器訪問其餘論文連接,使用更加便利;
  • 移動設備顯示面積較小,閱讀論文的體驗較差,且閱讀方面有更完善的應用支持。

具體實現操做以下:數據庫

對於論文列表的查找和更新需求,咱們的處理方式是設計爲雙欄頁面,左頁面可即時對列表進行更新操做,也可上傳Excel、Numbers、文本文件等不一樣格式的表格文件。後臺對已輸入完成的論文標題進行檢索,並將結果呈現於右頁面。
頭部提供導入、導出、統計分析、清單選擇等功能。統計分析提供根據屬性、關鍵詞、熱點和地區等不一樣側重點的統計分析結果。編程

對於論文檢索需求,咱們的處理方式是在主頁面中央和各頁面頂部都置有搜索框,能夠直接輸入搜索或者根據選項進行更精細的搜索。
後臺數據庫則主要來源於三大頂會已發表的論文。由後臺先經過會議網站、IPOL等網站進行爬蟲獲取論文列表和PDF等文本、源碼的下載連接,並保存於數據庫中,再與用戶輸入的標題、ID等進行比對,返回結果。若是在數據庫中找不到匹配項,咱們也將提供谷歌學術、百度學術等學術論文網站的檢索結果(僅在「搜索」中提供)。後端

對於熱詞走勢對比需求,咱們的處理方式是提供以關鍵詞、研究方向等不一樣側重的比較,而且提供餅圖、折線圖、詞雲等查看方式。瀏覽器


B -- Benefits,好處

  • 幫助用戶檢索、整理了論文清單,並直接呈現部分關鍵信息,方便了學習,節省了時間;
  • 基於web端運行,便於使用;
  • 對論文清單、頂會論文進行統計分析,並生成許多有參考價值的數據、圖表,幫助用戶迅速瞭解近年的研究熱點、主要方向、重要成果;
  • 可設置多個清單,即時編輯、檢索,方便用戶管理本身的學習資源;
  • 設置了相關領域、論文推薦,方便用戶迅速瞭解相關領域動向和重要成果。
  • 設置了論文指標,方便用戶迅速瞭解該論文的質量;
  • 設置了評論區,可提出疑問、解答問題,方便了用戶間的交流;
  • 好看.

C -- Compettors,競爭

咱們的競爭對手有如Papers、Mendeley、Endnote這樣的文獻管理軟件,也有如知網、百度學術、IPOL這樣的文獻檢索網站。他們一般都更專精於一個領域,要麼專作文獻管理,要麼作好文獻檢索。而咱們的網站不只能提供文獻檢索功能,還能幫助用戶管理文獻,並進行統計分析,給出熱詞趨勢、熱點研究方向等有價值的信息。咱們的軟件不只能更好地服務科研工做者,也能幫助剛剛開始進行科研的同窗迅速入門。

但咱們的網站目前僅支持計算機視覺領域三大頂會的檢索、統計,並且文獻管理功能也較爲簡單,沒法知足部分用戶更深刻的要求。


D -- Delivery, 推廣

先從本身所處的實驗室、班級開始,推薦他們試用網站並提供反饋,而後完善網站,並逐步擴展功能。

待網站足夠完善後,開始向其餘實驗室、班級推廣,爭取獲得實驗室、學院老師的推廣。

如能獲得良好的使用反饋,能夠繼續向全學校、對外推廣,並擴大團隊,進一步完善、拓展網站功能。


原型設計

首先是最初的頁面確認和部分分頁面草圖(原諒我畫的醜圖...

此處輸入圖片的描述

此處輸入圖片的描述

此處輸入圖片的描述

此處輸入圖片的描述

結構圖

此處輸入圖片的描述

而後是最後的成果截圖

主頁

此處輸入圖片的描述

高級搜索

可依據檢索詞、檢索詞位置、做者、出版物以及發表時間進行檢索,點擊搜索或搜索圖標課進入高級搜索頁面

網址標示頁返回主頁

此處輸入圖片的描述

user下拉選擇欄按鈕

用戶可選擇登陸或註冊。

網址標示頁返回主頁

此處輸入圖片的描述

高級搜索頁面

  • 點擊 1 可對搜索結果進行篩選;
  • 點擊搜索結果 2可進入論文的詳情介紹頁
  • 點擊 3 可對論文結果進行篩選;
  • 4 爲登陸註冊按鈕;
  • 5 爲論文熱度走勢圖;
  • 6 爲相關課題界面。

網址標示頁返回主頁

此處輸入圖片的描述

批量搜索頁面

  • 點擊下拉欄 1對批量查找到的論文進行篩選
  • 點擊按鈕 2顯示用戶已經生成的論文清單;
  • 點擊下拉欄 3對批量查找的論文進行統計分析
  • 點擊按鈕 4 導入論文列表,並顯示於本頁左側;
    (注:點擊頁面左側的勾叉按鈕可對論文列表中的某一條進行增刪)
  • 點擊論文條 5可展開論文的簡介;
  • 6 顯示的爲還在查找中的論文。

返回鍵返回主頁

此處輸入圖片的描述

篩選、統計

統計欄 1 2 3 4 可分別對生成的論文根據

進行分析和統計。

返回鍵返回主頁

此處輸入圖片的描述

註冊

點擊註冊進行新用戶註冊。

網址標示頁返回主頁

此處輸入圖片的描述

註冊成功

網址標示頁返回主頁

此處輸入圖片的描述

登陸

帳號登陸和短信登陸。

網址標示頁返回主頁

此處輸入圖片的描述

重置密碼

網址標示頁返回主頁

此處輸入圖片的描述

會議介紹頁面

網址標示頁返回主頁

此處輸入圖片的描述
此處輸入圖片的描述
此處輸入圖片的描述
此處輸入圖片的描述

論文的詳情介紹頁

  • 網址標示頁 1返回主頁
  • 點擊標題 2進入論文源頁面;
  • 點擊下載圖標 3可下載pdf格式的論文或論文源代碼;
  • 4 爲本論文的收藏、引用、查看與分享數;
  • 5 爲本論文的關鍵詞。

此處輸入圖片的描述

屬性

返回鍵返回批量搜索頁面
網址標示頁返回主頁

此處輸入圖片的描述

關鍵詞

返回鍵返回批量搜索頁面
網址標示頁返回主頁

此處輸入圖片的描述

熱點

返回鍵返回批量搜索頁面
網址標示頁返回主頁

此處輸入圖片的描述

地區

返回鍵返回批量搜索頁面
網址標示頁返回主頁

此處輸入圖片的描述

導入論文列表

網址標示頁返回主頁

此處輸入圖片的描述


結對過程

咱們首先閱讀了《構建之法》第3、4、八章的內容,並使用NABCD模型進行了需求分析,而後通過討論,明確了各部分功能、頁面的設計概要和細節。

肯定好需求和設計細節後,咱們學習了Axure RP的基本用法,熟悉了可能涉及到的原型設計。接着即是逐步完成各個頁面的設計,並編寫博客。

分工上,我主要是做爲「領航員」(Navigator),而隊友主要做爲駕駛員(Driver)。我負責整體設計(經兩人討論肯定)、文檔編寫、小部分原型製做和複審,而隊友則承包了絕大部分的原型製做和初審。這樣分工很大程度上保證了最終成果的質量(免遭我手_ (:△」∠) _),並且隊友也不用分心於實際製做之外的事,提升了開發效率。

如下爲結對照片:

此處輸入圖片的描述


遇到的困難

  • 如何理解用戶的需求;
    該網站面對的主要是新入科研的同窗,因此咱們在確保基本功能獲得知足的前提下,儘量使操做更加簡便,並添加了多清單、論文指標、相關推薦等功能,便於同窗管理論文、快速瞭解相關領域。
  • 初次使用原型設計工具,很是不熟練;
  • 如何設計網站;
    咱們爲完成網站的各部分設計比對了許多相關網站(如谷歌學術、百度學術和參考連接中的PLOS),欲在完成需求的前提下,使網站易於上手,且簡潔美觀。

PSP表格

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 35 32
· Estimate · 估計這個任務須要多少時間 35 32
Development 開發 1750 1885
· Analysis · 需求分析 (包括學習新技術) 180 170
· Design Spec · 生成設計文檔 30 34
· Design Review · 設計複審 20 9
· Coding Standard · 代碼規範(爲目前的開發制定合適的規範) 0 0
· Design · 具體設計 1500 1643
· Coding · 具體編碼 0 0
· Code Review · 代碼複審 0 0
· Test · 測試(自我測試,修改代碼,提交修改) 20 38
Reporting 報告 70 69
· Test Report · 測試報告 30 22
· Size Measurement · 計算工做量 10 12
· Postmortem & Process Improvement Plan · 過後總結, 並提出過程改進計劃 30 35
合計 1855 1986

技能自查

前兩個問題在做業一中已做出回答。

  • 自我感受你已經具有的專業知識、技能、能力有哪些?

大體學習經歷:初高中作了四年的算法競賽,大學後雖然沒有繼續參加,但基本的算法和數據結構知識仍有繼續學習。大一到大二學過一年的遊戲開發,主要爲U3D,也學過基礎的3D建模。大二簡單接觸了Android開發,前端和後端開發都嘗試了一下(但前端基本殘廢)。學校課程中學習過MFC和ASP.Net。目前在實驗室進行的是大數據方向的學習和研究。

目前會的語言是C、C++、C#和JAVA,C和C++是刷算法題(Pascal也是會的2333);C#是U3D開發,網頁和桌面應用也會一點(真·一點);JAVA用來作Hadoop開發,Android會個Hello World;Python在作數據庫和大數據的時候用過一點,屬於半殘廢水平,但須要的時候也能強行作一下;JavaScript在起初學U3D時學過,但後來就轉C#了,因此跟PHP同樣是能看懂的水平。

編碼外的技能和能力:競賽和自學遊戲開發及各種開源軟件培養了我閱讀代碼、文檔、和搜索資料的能力,能紮實地面向百度、谷歌、CSDN、Stack Overflow等進行編程。Git和SVN都能「不大熟練」地使用。

  • 離成爲一個合格的計算機專業本科畢業生,在專業知識、技能、能力上還差距哪些?

專業知識上,基礎理論和前沿領域我都沒有足夠深刻進行學習。計算機是一個仍在不斷完善和發展的領域,我以爲對新知識、新技術的追求跟知識自己一樣重要。技能上,雖然學過不少,但能稱爲擅長的卻沒有。而且,在實際的協做開發中,代碼相互糾纏,效率堪憂。這點也跟我協做、溝通能力較差有關。我在時間分配和處理併發事務上也有待提升。

技能調查表

Skill/技能 目前的水平 想在課程結束後達到的水平
Programming: Comprehension (程序理解)(如何理解已有的程序,經過閱讀,分析,debug) 2 4
Programming: Disign (架構設計,模塊化設計,接口設計) 2 4
Personal Software Process (我的軟件過程):估計,記錄工做量,並逐漸提升 1 3
SE: Requirement (需求分析,典型用戶,典型場景,創新) 1 3
Software Tools (IDE, performance tool, version control, work item, TFS) 2 4
Task Plan, estimation and Prioritization (計劃任務,估計時間和優先級) 2 4
Work with others (協同工做,提供反饋,說服別人) 1 3

總結和感想

軟件開發必定要弄清楚「他們想從軟件中獲得什麼」,只有肯定了需求,才能確保以後的設計開發正常進行下去。作設計和原型的過程,就是在與用戶交流和明確需求的過程。若是不明確好需求,那就可能在以後的設計、開發過程當中花費大量時間和精力更改需求、修改代碼。

在開始原型設計前,咱們進行了細緻的討論,對各部分都繪製了設計圖,因此整個原型製做過程還算順利。

個人隊友有很是好的美術功底,在原型設計上也駕輕就熟,設計出了精緻美觀的頁面。而且,她在設計中精益求精,也很願意投入時間和精力完成好此次的做業。很是感謝她的付出,也但願以後的團隊合做能順利進行。


參考連接

IPOL
CVPR
ECCV
ICCV
Semantic Scholar
PLOS

相關文章
相關標籤/搜索