1. 程式人生 > >軟件工程實踐第三次作業——結對作業

軟件工程實踐第三次作業——結對作業

可行性 推廣 職業發展 由於 哪裏 估計 空間 dev 爬取

Link:

搭檔鏈接: https://www.cnblogs.com/littlenorthwest/p/9682472.html

原型鏈接:https://modao.cc/app/QI7JghX5xX4xYvURiGTknu1InsS4J0R#screen=sB34D6855CD1537010429891

Photo of Discussion:

技術分享圖片

Book Report:

聚沙成塔的道理誰都懂,但是把小問題真正解決好,也是相當不容易的。作為一個軟件工程師,不僅需要嚴格的對自己把關,不斷地學習、完善自身的知識和能力、對自身的發展有一個明朗的認知、對自身能力有一個科學的認知,而且更應該學會如何融入團體,這一點是完成一個成功的軟件必須的重要前提條件,一味的追尋待在自身所認為的“舒適區”,不願意融入集體,所得來的後果往往是致命的,對於軟件的研發而言是有害的,對於自身的職業發展也是不利的!知道作為一個軟件工程師應該學些什麽、怎麽去學,以及自身的核心競爭力是什麽也是十分重要的。

第八章:

這一章節,主要點在於NABCD模型,從五個方面去分析軟件設計的各種層次要求,當我們接手一個項目時,我們可以按照此模型,分析用戶的需求,依次的列出我們的想法,從而能夠十分科學地去說服客戶,同時也能夠做到有理有據,能夠讓客戶理解我們的初步策劃,十分的直觀和高效!能夠展現給客戶我們十分有條理,會顯得我們十分的專業!此外,我們還要考慮到這款軟件給用戶帶來的便利與快捷,它能實質性地帶給用戶何種好處。同時,我們也應當著重考慮我們設計的產品競爭力在何處,用戶為什麽要選擇們的產品,此外,如何進行產品的推廣與宣傳也是必不可少的一點。從這五個方面分析考慮,做出來的產品才會有價值。

NABCD Model & Model Pictures:

主頁面:包含論文批量導入(通過文本文檔文件),單個導入(輸入論文題目)

    查看已導入的論文以及本地論文檢索。如下圖

技術分享圖片

技術分享圖片技術分享圖片

分析頁面:包含對導入論文的屬性分析,熱門領域及熱詞分析以及相關數據統計。

技術分享圖片技術分享圖片技術分享圖片

我的頁面:包含系統設置,我的收藏,清空緩存,幫助文檔(其中主要功能是我的收藏)

技術分享圖片

我的收藏:

技術分享圖片

技術分享圖片

技術分享圖片

通過論文檢索或者查看本地論文可以對論文進行Mark(右上角),被Mark的論文將會出現在我的收藏中,此外也可以對論文進行評論(可以多條),同時,也可以在論文詳細頁面進行Remove操作,對當前論文進行移除。

Need(需求)——客戶需求是什麽?


*.簡化流程,方便使用:
用戶希望可以讓通過論文列表找出熱詞或熱門領域更加容易,同時操作簡單。
*.快速查找原文。
用戶希望可以通過論文名稱、編號等論文相關信息查找出原文(即可以通過原文鏈接查看原文。)及其論文的相關信息。
*.分析可視化。
用戶希望能通過圖表將諸如:熱詞、熱門領域和對各校論文錄用的情況以及各校更註重地領域十分清晰的表示出來。
*.論文數據分析。
用戶希望能夠對用戶給定的論文列表進行分析,分析出熱詞或熱門領域。同時可以根據對多年間、不同頂會的熱詞進行對比。
*.用戶可給定論文列表
通過論文列表,爬取論文的題目、摘要、原文鏈接。
可對論文列表進行增刪改操作(今年、近兩年、近三年)。
*.對爬取的信息(即論文列表)進行結構化處理,分析top10個熱門領域或熱門研究方向
可對論文屬性(oral、spotlight、poster)進行篩選及分析。
形成如熱詞圖譜之類直觀的查看方式。
*.可進行論文檢索,當用戶輸入論文編號、題目、作者等基本信息,分析返回相關的paper、source code、homepage等信息
*.可對多年間、不同頂會的熱詞呈現熱度走勢對比(這裏將範疇限定在計算機視覺的三大頂會CVPR、ICCV、ECCV內)
*.可進行數據統計,例如每個國家錄用文章的分析、每個學校錄用文章的分析、哪個學校哪方面的研究方向比較強等


Approach(方法)——要滿足這種需求,我們能夠提出什麽獨特的方法嗎?
為了滿足這些需求,我們制定了一款APP,用於幫助用戶快速的選取論文原文,以及快速的找出論文列表裏的熱詞,從而使得用戶能更加高效、方便地了解熱門領域的動態。


Benifits(收益)——該方法給顧客提供的便利是什麽?
主要有以下一些便利:
*. 簡化用戶對於所需的查詢論文的流程,將論文原文鏈接十分方便地提供給用戶。
*. 便於用戶進行管理,方便用戶對論文列表進行增刪改查。
*. 減少用戶分析熱門領域、論文熱詞的時間。
*. 利於用戶了解所提供的論文的整體走向。

Competition(競爭)——對於競爭對手和其他可選擇的方案來說,優勢在哪裏?
*. 易上手,使用方便:
我們設計的APP對新用戶十分友好,操作簡潔明了,從而能使得用戶極易上手,我們對此產品的定位是輕量級,即不需要太多冗雜的功能,濃縮即是精華。
*. 便於管理:
由於是使用APP的形式,因此用戶可以直接通過手機來進行相關的操作,同時簡明的分塊和界面也使得管理起來更加的容易。

*. 界面精美:

我們參考了許多app的界面,並使用許多設計來美化我們的界面。

*. 功能豐富:
除了用戶相關的需求之外,我們還適當地加入了一些人性化的功能,提高了APP的可用性。

Delivery(推廣)——如何把產品交到用戶手中?
由於是小櫻的需求,因此我們可以直接交給小櫻。但是由於出現了小櫻的需求,我們不禁可以聯想到,我們將會擁有一些潛在的客戶,因此我們可以通過宣傳:在學校裏開講座進行宣講;分發傳單;微信、空間、微博、h5、貼吧等一系列平臺進行推廣;邀請使用者分享給身邊的人也是一種好方法。

PSP Table:

PSP2.1Personal Software Process Stages預估耗時(分鐘)實際耗時(分鐘)
Planning 計劃 20 30
· Estimate · 估計這個任務需要多少時間 10 5
Development 開發 600 800
· Analysis · 需求分析 (包括學習新技術) 120 200
· Design Spec · 生成設計文檔 50 30
· Design Review · 設計復審 20 10
· Coding Standard · 代碼規範 (為目前的開發制定合適的規範) 0 0
· Design · 具體設計 120 150
· Coding · 具體編碼 0 0
· Code Review · 代碼復審 0 0
· Test · 測試(自我測試,修改代碼,提交修改) 120 60
Reporting 報告 120 150
· Test Repor · 測試報告 20 10
· Size Measurement · 計算工作量 10 20
· Postmortem & Process Improvement Plan · 事後總結, 並提出過程改進計劃 20 30
合計 1210 1495
  • 學習記錄表
第N周新增代碼(行)累計代碼(行)本周學習耗時(小時)累計學習耗時(小時)重要成長
1 500 500 15 15 學習VS2017,GitHub使用,復習C++相關知識
2 500 1000 20 35 閱讀《構建之法》,從零開始學習Java語言
3 1000 2000 15 50 閱讀《構建之法》,學習Java,學習墨刀等工具使用

Experience:

困難:

①平臺的選擇,我們最初糾結於做何種平臺的軟件,考慮到便攜性我們還是做了app。

②在設計的同時,我們還擔心我們的設計是否在後期具有可行性,以我們的能力是否能夠將它實現。

③由於我們之前都沒有過做APP這類項目的經驗,因此,我們也不得不去學習一些制作APP的方法,以及學習制作原型設計的方法。

      ④我們對這方面了解甚少,包括相關的編程語言(現學),以及模型構造。

收獲:

①學到了很多課內外的知識,如:Android Studio 的部分內容、Java基礎、原型設計工具的使用(如:墨刀)、NABCD模型。

②了解了制作軟件的大體步驟,以及如何去挖掘用戶的需求。

③懂得了如何去深入地構思,如何去分配我們的工作時間。

④最重要的是,我們更加懂得該如何去融入一個小集體,如何去配合對方,如何協助對方進行高效、穩定的工作。

軟件工程實踐第三次作業——結對作業