軟件工程實踐結對作業一


這個作業屬於哪個課程 軟件工程2021春軟件工程W班(FZU)
結對學號 221801424 221801435
作業要求 作業鏈接
參考文獻 Axure中文網 Axhub Charts

PSP表格與效能分析

PSP表格

PSP2.1 Personal Software Process Stages 預估耗時(h) 實際耗時(h)
Planning 計划 0.5 0.5
Estimate 估計這個任務需要多少時間 0.5 1
Development 開發 8 10
Analysis 需求分析 (包括學習新技術) 2 2
Design Spec 生成設計文檔 0.5 0.5
Design Review 設計復審 2 1
Coding Standard 代碼規范 (為目前的開發制定合適的規范)
Design 具體設計 2 2
Coding 具體編碼
Code Review 代碼復審
Test 測試(自我測試,修改代碼,提交修改)
Reporting 報告
Test Repor 測試報告
Size Measurement 計算工作量
Postmortem & Process Improvement Plan 事后總結, 並提出過程改進計划 1 1
合計 16.5 18

效能分析

效能分析: 因為這次結對的兩個人都沒有原型設計的經驗,所以花了比較多的時間在學習如何制作原型上面(主要是Axure的用法);大致掌握制作方法之后,小組成員之間又花費時間進行了多次探討,理解了項目需求,對於項目方向有了一個基本一致的理解。當掌握了原型的制作方法以及對於項目需求達成共識之后,便可以很快地開發出我們想要的網頁原型。

原型地址

https://96zgi0.axshare.com

原型介紹

設計思路

對於項目的基本需求,我們可以大致分為三個方向

  1. 需要由用戶上傳論文列表或者輸入單個論文題目,再爬取論文的關鍵字、摘要等信息,並將所有的論文信息組織成一張列表。
  2. 用戶可以對論文信息列表進行增刪改查。
  3. 需要從論文信息列表提取出top10個熱門領域或熱門研究方向。
    對於以上需求,我們可以划分為三個基本模塊,分別是論文搜索、論文管理以及趨勢分析,此外,因為每個用戶上傳的論文列表各不相同,例如用戶A主要關注目標檢測的論文,而用戶B主要關注圖像分割的論文,所以,我們還需要增加一個用戶模塊(比如收藏論文、修改個人信息等),並提供賬號的注冊和登錄功能,其中用戶模塊只有當用戶登錄時才能使用。
    功能模塊的組織如下圖所示,其中黃色箭頭代表需要用戶登錄之后才能使用該功能:
    功能模塊組織形式

論文搜索模塊(搜索主頁)

  1. 該模塊提供了一個輸入框讓用戶可以輸入想要搜索的論文的題目、關鍵字等,考慮到用戶輸入的信息並不是很精確,輸入完成后點擊檢索即可跳轉到查詢結果頁面,該查詢頁面是對輸入進行模糊匹配的結果,用戶可以將查詢結果添加至論文列表。
  2. 用戶也能夠利用“直接導入列表文件”按鈕上傳論文列表文件,系統將通過文件內容將查詢結果載入論文列表。
  3. 該主頁實現了歷史記錄功能,該功能在未登錄狀態下無法使用。
  4. 該主頁實現了每日推薦功能。
  5. 該主頁底部用旭日圖來展現3大頂會的熱門研究方向。

主頁頁面:
搜索主頁
主頁旭日圖:
主頁旭日圖
搜索結果頁面:
搜索結果
未登錄時的主頁
未登錄時的主頁

論文管理模塊

  1. 該模塊負責對用戶上傳或者搜索添加的論文列表進行增刪改查操作,主要由兩個頁面構成。
  2. 論文頁表頁面可以對論文列表進行增刪改查,在該頁的最上方有輸入框和全選按鈕便於用戶選擇,每一列表項都有收藏、更新、刪除的按鈕使得用戶可以對其進行操作。
  3. 論文導入可以讓用戶上傳自己的論文,上傳的論文也可以用於收藏、分析。

論文列表頁面
論文列表
論文導入頁面
論文導入

趨勢分析模塊

  1. 該模塊由兩個頁面組成:走勢圖頁面和最熱研究方向Top10頁面
  2. 走勢圖頁面利用折線圖比較了三大頂會最近幾年的論文數量,利用柱狀圖分析最近幾年Top3研究領域論文數量的變化過程,利用沙漏圖和餅狀圖來展現今年計算機視覺領域研究方向的占比情況。
  3. 最熱研究方向Top10頁面用柱狀階梯圖直觀地展現了計算機視覺方面最熱門的十個研究方向。

走勢圖頁面(1)
走勢圖頁面1
走勢圖頁面(2)
走勢圖頁面2
Top10研究方向
Top10研究方向

用戶模塊

  1. 該模塊由兩個頁面組成:用戶收藏頁面和用戶信息管理頁面。
  2. 用戶收藏頁面為用戶提供了一個收藏夾,用戶可以將對自己比較有價值的論文收藏在其中,方便查閱,並且可以隨時對里面的論文進行刪除和修改。
  3. 用戶信息管理,用於管理和設置用戶的個人信息。

用戶收藏頁面
用戶收藏
用戶信息管理頁面
用戶信息

登錄注冊模塊

  1. 該模塊負責發送用戶登錄和注冊請求
  2. 登錄和注冊的頁面如下所示:

登錄頁面
登錄
注冊頁面
注冊

請求駁回頁面

  1. 當用戶尚未登錄且訪問用戶模塊時,出現此頁面,提示用戶進行登錄。

請求駁回頁面
駁回

遇到的困難以及解決方法

困難一:如何划分網頁的功能模塊?

最開始接觸題目的時候,我們會感到迷茫,不知道從何下手。雖然學會了Axure的基本操作,但是對於如何設計這樣的一個網站,原型組件之間要如何組織,我們一開始是沒有頭緒的。隨后我和我的隊友瀏覽了Axure中文網,借鑒了一些UI設計師設計的界面,這個問題才解決。
給我們的啟示:設計頁面前最好先參考下UI設計師的作品,這樣可以使得頁面更加的美觀自然。

困難二:如何解決團隊合作的問題?

對於我們團隊來說,我們是一人負責一個頁面,兩人同時對原型進行修改,那么,如果兩個人都修改了同一頁面,修改沖突了該怎么辦呢?最開始,我們是想要借助Axure的共享功能來解決這個問題,但是Axure並不支持對於同一頁面的並行修改(會造成修改丟失和覆蓋)。最后我們發現,可以利用Axure的頁面分支功能,這有點類似於github上的分支,我們每一個人都擁有一個“主頁”,並且同時對“主頁”進行修改,最后經過商討后再將兩個“主頁”合並。
給我們的啟示:有效地利用工具可以提升團隊開發效率。

困難三:如何顯示圖表?

在需求當中,有一個要求是要我們用圖表顯示最近幾年計算機視覺幾大方向論文數量的變化趨勢。一開始我們想的是直接用Axure自帶的組件畫圖,但是這種組件“拼湊”出來的圖不是很美觀,而且無法有效地展示和修改數據。經過我們的調查,我們發現了Axhub組件庫,這個組件庫自帶折線圖、漏斗圖、餅狀圖,可以有效方便地滿足我們對於畫圖的需求。
給我們的啟示:當有現成的庫可以調用時,不要自己造輪子。

困難四:如何將外部js引入原型?

我們希望用旭日圖來表現進幾年三大頂會論文的關鍵詞出現的頻率,但是Axhub並沒有旭日圖,所以需要我們去尋找新的庫。經過調查,我們發現XEcharts可以滿足我們的需求,但是有一個問題,就是XECharts的組件庫是用html,javascript,和css配合實現的,那么怎么樣才能將其運用到我們的博客當中呢?我們一開始的想法是設置一個交互,當主頁載入時鏈接到組件的url地址,但是這樣會導致整個主頁被覆蓋,而我們想要的是將組件放置在主頁里面。經過一系列的調查,我們在這篇博客找到了答案,我們可以直接將js代碼寫入Axure的文本框,然后在載入時調用js函數,最后渲染成我們想要的圖像。
給我們的啟示:遇到問題時,可以找找別人的博客有沒有對應的解決方法,因為大多數時候你的踩的都是別人踩過的坑。

NABCD模型

N(Need)

從問題根源為客戶設計一個論文分析平台;
功能拆解為以下幾個功能:

  1. 獲取待爬取論文列表及論文信息爬取;支持用戶輸入單個論文題目,也支持批量導入論文列表;通過論文列表,爬取論文的摘要、關鍵詞、原文鏈接;
  2. 對已爬取的論文列表進行操作;可對論文列表進行增刪改操作;可對論文列表進行查詢(輸入論文題目,也支持模糊查詢:輸入論文編號、關鍵詞等基本信息),若在論文列表中不存在所要檢索的論文,則根據輸入的查詢語句到網站爬取並返回論文的摘要、關鍵詞、原文鏈接;
  3. 分析已爬取到的論文信息,提取top10個熱門領域或熱門研究方向;形成如關鍵詞圖譜之類直觀的查看方式,點擊某個關鍵詞可展現相關的論文;可對多年間、不同頂會的熱詞呈現熱度走勢對比,以動圖的形式呈現(這里將范疇限定在計算機視覺的三大頂會CVPR、ICCV、ECCV內);
  4. 用戶登陸注冊等基本功能。

A(Approch)

  1. 前端考慮應用框架vue等或GUI界面來實現平台;
  2. 后台考慮使用python或java來實現接口搭建和爬蟲功能等。

B(Benefit)

  1. 快速無障礙的通過平台查詢相關論文進行分析,也能獲得全面的分析圖表,同時可以批量查詢,無需一一進行獲取;
  2. 可以對已收藏的論文列表分析獲得統計數據,並進行增刪改等操作;
  3. 可以獲取到計算機視覺領域的三大頂會的相關熱詞,獲取大眾對於該領域的關鍵詞熱度,查看如今互聯網的熱點;
  4. 后續開發設計類似社區論壇,讓你能與其他人一起分享知識和樂趣。

C(Competitors)

  1. 從與市場角度相比,我們產品相比較於其他著名的網站更加的簡陋,並且論文儲備量不及他們,但我們對於互聯網行業的新人而言會更加的有利,例如能夠免費獲取一些圖表分析,我們需要在前期階段擴大自己的閃光點,並不斷完善自己的缺點。
  2. 與該份作業其他完成者來作比較,我們需要去更加注重ui設計,讓界面更加美觀,且功能符合邏輯,適應於用戶得需求,提高用戶的交互性。

D(Delivery)

  1. 在前期階段,我們可以通過在小群體之間發布測試版本,並做宣傳讓用戶去體驗我們的平台,如在計算機領域的學生。后續通過客戶提出的問題我們做出修復和完善,並不斷擴展功能。在有經濟能力的條件下,發布上市版。
  2. 在互聯網上進行宣傳,如自媒體的方式等,並不斷的去擴展用戶功能等,去追趕上一些大平台的腳步,並在做出自己的特色和創新,滿足用戶的要求。

原型開發工具

工具上我們一開始打算使用墨刀,后面在查看了墨刀和Axure的區別后進行對比,我們最后選擇了Axure Rp來作為我們的開發工具。

結對交流過程及評價

交流過程

過程截圖1
過程截圖2
過程截圖3

評價

221801424 對 第一次結對的評價:

在閱讀了結對的博客后,自己也第一次有經驗的進行了結對合作,在以往有過兩人合作的經歷,但當時對於溝通方面存在偏差,導致繞了很多彎路,這次的結對合作讓我體會到了兩人合作共贏的感受,在討論和完成階段,我們都在互相幫助彼此能夠更加快的完成任務並且能夠做出思考一起去做出問題的解決,通過漢堡包理論我也在溝通方面不在那么的"粗魯"。我們不僅可以增加彼此的友誼,更能互相學習對方的優點和彌補自己所存在的不足,並且一同學習陌生的技術,總的來說,結對合作能讓我們1+1>2。

221801435 對 第一次結對的評價:

這是我第一次進行結對合作,以前不是單打獨斗就是3人以上的團隊,然后由隊長分配任務。相比於單打獨斗,結對合作可以使工作推進地更有效率,溝通和分工也變得更為細致;相比於多人團隊,結對合作的溝通成本也不會那么大,而且不會出現一人干活,多人摸魚的情況。所以對我來說,兩個人的團隊粒度剛剛好。

221801424 對 221801435 的評價:

fino隊友是一名非常可靠優秀的隊友,他在學習上是年段前列,同時他對我的幫助很大,在我不懂的時候他總能夠耐心的為我解答,在一起設計ui的時候也給我們的創作帶來了很多靈感,並且效率很高,有條不紊。對於問題的提出和解決也是非常的迅速,讓我們團隊完成項目時間大大縮短,在后續的編碼作業中我相信也能夠在他身上學到很多,我也在第一次經歷結對的窘境后獲得了結對的快樂!感謝隊友!

221801435 對 221801424 的評價:

cold是一名可靠的隊友,他擁有十足的編程經驗,能夠在我思考不到位的時候指正我的錯誤,團隊合作時也能夠積極主動的參與討論,思考對策,能夠主動地推進項目進行,我認為我們之后也能夠配合默契,高質量地完成老師教給我們的任務。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM