軟工實踐(三)——結對第一次做業(原型設計)

軟工實踐(三)——結對第一次做業(原型設計)

課程:軟工實踐(連接)

結對第一次—原型設計(文獻摘要熱詞統計)(連接)

結對學號:221600219 221600212

PDF附件:

連接:https://pan.baidu.com/s/12ad0ZsxRxEgGrREWUywnmw
提取碼:b6wj
複製這段內容後打開百度網盤手機App,操做更方便哦html

做業目標:

1、閱讀《構建之法》第3章和第8章的內容,並在下方做業裏體現出閱讀後的成果。特別是第8章中的NABCD模型。

2、結對合做,閱讀下方的客戶描述的現實困擾,以共同發佈一份博客隨筆的形式,設計一套方案,向客戶推銷。描述大體方案,以向客戶證實你正確理解了客戶的需求、提供給客戶可行的優化的使用建議,給出原型模型,並提供大概的解決方案預期規劃。

3、最終客戶將以評論的方式給出接納與否或修改完善的建議。python

1、問題和需求

小櫻是一名大三的學生,一直癡迷於吃雞類遊戲,某日聽聞同宿舍的小狼剛和導師去參加了CVPR會議,心裏羨慕不已,便下定決心痛改前非、努力鑽研,但願能在畢業前完成一篇站在時代前沿的優秀論文。但使人苦惱的是,他不知道近幾年頂會的熱門領域和研究方向,根據論文list去一篇一篇查找總結效率又着實過低,因而求助於「軟工實踐互助愛心組織」,但願咱們能幫助他設計一個平臺解決現階段的需求。但願此平臺至少具有如下功能:mysql

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

頂會背景:android

  • 計算機視覺領域世界三大頂級會議分別爲國際計算機視覺與模式識別會議(CVPR)、國際計算機視覺大會(ICCV)和歐洲計算機視覺國際會議(ECCV)。
  • 以CVPR 爲例,據會議官網顯示,2018年大會有超過 3300 篇論文投稿,其中錄取 979 篇。錄取的論文有三種介紹形式:oral、spotlight、poster。

特別說明:以上是本次做業的基礎要求,但願同窗們能夠在知足總的設計思路和用戶需求不變的前提下,儘可能發揮本身的想象能力,幫小櫻設計出一個比較滿意的平臺。ios

2、設計思路(NABCD)

一、需求(Need)

用戶的需求點sql

  • 核心需求:

    (1)目前基本只有國外網站能夠獲取頂會論文,用戶但願能夠擁有一箇中文平臺,解決閱讀障礙;(ICCV: http://www.informatik.uni-trier.de/~ley/db/conf/iccv/index.html

    (2)用戶但願該平臺不管是在手機端或者電腦端,均可以較方便的使用;

    (3)能夠進行論文檢索,而且增長更多人性化的搜索方式,例如按年份或者按主題搜索以及組合搜索(如:年份+頂會名稱+論文主題);

    (4)用戶給定論文列表,軟件自動爬取論文的題目、摘要、關鍵詞、原文連接;

    (5)用戶能夠對論文列表進行增刪改查等操做;

    (6)經過論文屬性(oral、spotlight、poster)進行篩選及熱點分析,造成關鍵詞圖譜;

    (7)可對多年間、不一樣頂會的熱詞呈現熱度走勢對比;

    (8)可進行數據統計,例如每一個國家錄用文章的分析、每一個學校錄用文章的分析、哪一個學校哪方面的研究方向比較強等;數據庫

  • 擴展需求:

    (9)在頂會期間,實時推送會議的熱點新聞;

    (10)用戶但願能夠擁有帳號功能,在登陸帳號的前提下,能夠享受對已下載的論文進行雲備份,查看本身的瀏覽記錄,收藏喜歡的論文,關注其餘感興趣的用戶等實用操做;

    (11)用戶但願平臺能夠提供與某論文的其餘讀者進行交流的功能,以及信息交流,資源共享;小程序

二、作法(Approach)

  • 針對需求(1)與需求(2):

    經過使用最新的uni-app技術,輕鬆實現編寫一套代碼,可編譯到iOS、Android、H五、小程序等多個平臺。後端

  • 針對需求(3),需求(4),需求(5)與需求(9):

    針對付費論文,咱們尊重做者的版權,僅提供論文連接與查看論文的屬性,不支持下載功能;針對免費的論文,咱們在提供原文連接外,經過使用python爬蟲框架scapy和代理IP池,用戶將論文列表按照規定的格式列好並存儲成文件上傳至平臺,咱們對用戶所需的論文主流論文網站進行了爬取,爬取成功的論文信息和連接集中保存在數據庫中。並在後端實現對論文列表的增刪改查功能,支持批量處理,多種查找方式更好保證用戶準確查找到須要的論文,避免對搜索結果進行額外的篩選。爬取會天天在已設置好的時刻自動開始,保證用戶不錯過每一條新的熱點資訊。微信

  • 針對需求(6),需求(7)與需求(8):

    爬蟲得到的數據存儲在mysql數據庫後,搭建hadoop與spark這兩個數據處理平臺,使用sqoop等工具將sql數據庫中的數據轉入HBase,再經過使用主流的英語分詞器爬到的數據進行分詞和過濾常見的無用的詞以及符號,對分好的詞使用LDA模型進行文檔主題的生成,以後使用SparkStreaming進行主題詞頻統計,最後可使用matplotlib+python畫出可視化交互式圖表展現信息。

  • 針對需求(10)與需求(11):

    後端使用數據庫技術以用戶帳號爲主鍵存儲用戶信息,同時使用雲技術實現同步功能。爲論文開設一個評論或者筆記功能,方便論文讀者的交流。也能夠開發一個相似社區的板塊,用於用戶進行信息交流,資源共享。

三、好處(Benefit)

(1)用戶沒必要經過一個個網站去翻論文,咱們的應用自動把全部的論文進行了集中爬取,用戶能夠直接檢索;

(2)用戶沒必要擔憂難以把握熱點,經過天然語言分析和大數據技術處理,咱們把每一年的熱點都進行了概括和整理,同時提供了走勢圖和關鍵詞圖譜;

(3)用戶沒必要擔憂閱讀英文論文會有困難,咱們集成了英文翻譯功能,提供中英對照,逐句翻譯以及單詞查詢;

(4)經過使用uni-app技術,能夠實現iOS、Android、H五、小程序等多個平臺流暢使用,同時更新和維護都會更快更同步;

(5)雲存儲功能,收藏夾功能方便了用戶在不一樣機器上的使用體驗,評論與社區功能也能夠爲用戶提升額外的交流方式;

四、競爭者(Competitors)

  • 競爭者的優點:
    • 競爭者若是經過使用android或ios技術開發產品,相比咱們使用uni-app技術,有着更好的原生支持;
    • 競爭着可能有着更好地創意,值得咱們去學習。
  • 咱們和競爭者都實現的功能:
    • 較爲完整的基本功能
    • 經過爬蟲蒐集論文信息;
    • 能夠進行檢索;
    • 能夠生成圖表,描述當下熱點和趨勢;
  • 咱們的優點:
    • 咱們使用uni-app技術,支持多種客戶端,方便用戶在不一樣的設備上使用;
    • 經過集成翻譯功能,咱們能夠翻譯論文,用戶用的更加舒心;
    • 經過使用代理IP池技術,咱們實現了更加快速和高效的爬取;
    • 交互式圖表讓用戶更直觀的獲取信息。
    • 雲儲存技術方便用戶的使用

五、推廣(Delivered)

考慮到咱們的產品主要面向的是研究計算機前沿技術的部分人羣,所以在宣傳上咱們但願減小沒必要要的宣傳,儘量將產品精準的推廣到目標用戶羣。

(1)前期先在班級內試用,根據同窗的反饋完善產品的不足,經過參與比賽,提升產品的知名度。

(2)在產品質量較穩定後,能夠經過同窗們口頭推薦,數計學院QQ羣,學院媒體的微信公衆號,在數計學子活動較頻繁的地區進行海報宣傳,將用戶擴大至整個學院。

(3)根據更多用戶的反饋,不斷完善優化本身的產品後,最後能夠經過與相鄰高校合做,將產品推廣到校外,同時藉助網絡渠道,在全國各大高校板塊以及計算機討論板塊宣傳本身的產品,歡迎你們的使用與建議。

3、原型模型

 


 

詳細功能介紹

 

  • 主頁
  • 主頁會推送最新的頂會資訊和論文,在頁面的頂部點擊搜索,進入搜索頁面,在頁面的右下角點擊懸浮的圖標能夠進入收藏夾中。

  • Top 10
  • 在導航欄欄右側點擊彈出下拉列表,能夠選擇指定的收藏夾進行10大熱點論文分析

  • 熱詞
  • 在導航欄欄右側點擊彈出下拉列表,能夠選擇指定的收藏夾進行熱詞分析,統計出一段時間裏出現次數較多的主題

  • 趨勢
  • 在導航欄欄右側點擊彈出下拉列表,能夠選擇指定的收藏夾進行熱點趨勢分析,以折線圖形勢直觀地展現給用戶

  • 個人
  • 在該界面你能夠進行帳戶管理,進入本身的收藏夾,瀏覽歷史以及系統設置。

<

  • 搜索
  • 您能夠再搜索框裏輸入本身想要的內容,得到想要的結果。

  • 收藏夾
  • 收藏夾裏保存着你收藏的論文,對其進行增刪改查以及統計等功能。

  • 添加論文
  • 在該界面您能夠輸入論文編號,論文標題和論文連接添加本身想要的論文。1

  • 論文詳情
  • 該界面用於展現一篇論文的具體內容,你能夠在這裏看到論文做者,發表日期,摘要,DOI,原文以及現場圖片等信息。

  • 自動中英對照
  • 該功能主要用於解決閱讀障礙,支持單詞翻譯以及全文翻譯等功能。

4、困難和解決

  • 困難:

    一、 因爲使用墨刀的次數很少,致使上手時操做不熟練,像是沒找到怎麼修改圓角,下降了效率。還有發現狀態欄和圖片之間老是有一條白線影響觀感,可是沒找到解決方法。

    二、 在討論NABCD模型的時候,耗費了較多的時間在上面,這主要是以往較少從用戶角度進行基於NABCD的模型的分析。

    三、 時間上的緊張,在有限的時間內出了完成這項做業外,還要複習考研,私事。所以想要較好的完成做業難度較大。

  • 解決

    一、 經過兩人的不段摸索,在完成任務的同時也慢慢的熟悉了墨刀的基本操做。

    二、 儘管以往經驗較少,可是在和隊友的討論當中仍是迸發出了許多有趣的點子。

    三、 時間老是有限的,能作的就是儘量充分利用時間。隊友間的相互理解與承擔也讓這項做業有條不紊的進行着。

5、效能分析和PSP

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 30 20
 • Estimate  • 估計這個任務須要多少時間 30 20
Development 開發 300 370
 • Analysis  • 需求分析 (包括學習新技術) 90 90
 • Design Spec  • 生成設計文檔 60 30
 • Design Review  • 設計複審 30 10
 • Coding Standard  • 代碼規範 (爲目前的開發制定合適的規範) 0 0
 • Design  • 具體設計 120 240
 • Coding  • 具體編碼 0 0
 • Code Review  • 代碼複審 0 0
 • Test  • 測試(自我測試,修改代碼,提交修改) 0 0
Reporting 報告 50 40
 • Test Repor  • 測試報告 0 0
 • Size Measurement  • 計算工做量 20 10
 • Postmortem &
 Process Improvement Plan
 • 過後總結, 並提出過程改進計劃 30 30
All 合計 380 430

6、總結

關於此次做業,結對兩人受益頗多:

(1)清晰地認識到,在開發過程當中,代碼毫不是最重要的一個環節。開發過程前期的NABCD需求分析也是及其重要的。全面的分析可讓後面的設計更有目的性和效率。

(2)大三後各類事情讓時間變得緊張起來,但正是在這種環境鍛鍊;了咱們的適應能力,去努力利用時間,合理分配精力在不一樣的事情上。

(3)一個團隊裏,優秀的隊友是極其重要的。不只僅是在能力上能夠解決開發中遇到的難題,更多的是在搭檔的過程當中,互相激勵對方,一塊兒完成任務。

相關文章
相關標籤/搜索