前言
- 在這畢業設計的尾聲,對整個畢業設計課題進行復盤總結,尤爲是對科學研究活動的流程總結。經過覆盤,有助於將來從事相似活動時可以有充分的參考和進步。
過程覆盤
- 首先,仔細研讀課題任務書,制定開題報告。課題任務書中包含:課題意義與目的、課題解決方案/主要內容與要求、設計任務、研究方法與技術途徑、參考資料等內容;除此以外,開題報告還包括:研究計劃。
- 其次,初步研究課題所涉核心算法:Word2Vec與TextRank。老師教了咱們一個很好的科研習慣,萬事先見綜述。所以,在本階段,首先,閱讀綜述、閱讀博文與論文變成了主旋律;在閱讀過程當中,作好筆記,作好標註。筆記工具能夠是CNKI E-Study、空白紙稿等。最後,經過筆記和大量閱讀,在初步瞭解足夠程度的狀況下,總結出課題所涉及的關鍵算法的原理和課題算法的大體流程。
- 第三,初步探索算法與應用新系統的結合與設計。也可視爲,應用系統的初步設計。本質上,本階段是探索算法的應用場景,並將應用場景經過軟件應用系統得以落地實現。這類應用系統能夠是專門針對本次科研活動的課題而設計的科研試驗型系統,也能夠是考慮到工業界實際應用的應用型系統。
- 第四,需求分析與可行性分析。本階段,主要有兩個任務:其一,市場調研,深刻了解市場真實需求,作好競品分析;其二,技術可行性分析,好比:爬蟲如何繞過網站的反爬蟲機制等問題。因爲前期對預估需求的嚴重錯誤,而形成了本階段經歷過兩次需求重構。
- 第五,系統設計。本階段兩個主要任務,其一,網絡架構設計,對系統模塊職責的劃分。其二,技術選型。一句話,解決以採用什麼技術解決系統模塊的職責劃分問題。
- 第六,原型設計。首先,學習Axure RP一些關鍵繪製技術,好比:動態面板、拖拽、屏幕滑動等效果。其次,根據需求,吸納市場上諸多同類產品中經過UI表達軟件功能的特點設計,繪製軟件界面的原型。因爲前期對預估需求的嚴重錯誤,而形成了本階段經歷過兩次原型重構。
- 第七,前端子系統開發。也稱:應用子系統的靜態頁面開發。本階段,根據繪製的軟件原型,選擇了jQuery做爲JS封裝庫+Bootstrap與AdminLTE做爲UI組件庫+EChart.js做爲圖表UI組件庫的前端開發技術路線,快速開發軟件界面。在開發界面的過程當中,不斷細化軟件需求。
- 第八,數據庫設計。須要特別說起的是,有了第4、5、6、七階段的需求挖掘,尤爲是經過第七階段軟件原型固化、細化的軟件需求,使得本階段數據庫設計在字段上的考量變得更爲輕鬆且清晰。數據庫建模,可經過Navicat構建概念模型,經過Spring JPA(Hibernate) ORM構建物理模型;亦可經過Navicat構建概念模型和物理模型,再經過Spring JPA ORM逆向ORM爲服務端的邏輯實體。
- 第九,數據服務子系統/爬蟲系統子模塊的設計與開發。使用selenium(WebDriver)、Jsoup做爲物理爬蟲底層工具,採用設計模式-----模板方法,採用中文新聞分類國家標準解決不一樣網站分類的統一問題,最終解決多網站多領域爬蟲的設計與實現。
- 第十,算法研究。首先,經過反覆閱讀論文、博文,反覆看視頻,作筆記,找數據集和開源源碼,最終編程實踐的方式,不斷深刻研究課題所涉的兩大核心算法:Word2Vec與TextRank。其次,根據本身對算法原理的理解以及實際表現,對兩算法融合、優化。最後,選擇合適的評估方式與評估標準,編程實現對舊有算法、新算法評估的觀測。
- 第十一,算法子系統開發。將系統所研究的算法經過部署Web數據接口,向外部系統提供數據挖掘服務。本質上是算法對應用場景的落地。
- 第十二,系統整合,數據整合,應用子系統整合。
- 第十三,算法與系統優化。好比:調整、增長算法策略;優化軟件用戶體驗、功能等。
- 第十四,撰稿論文與PPT。
- 第十五,答辯。在我的看來,撰稿、PPT、答辯是對前階段全部辛勤付出的展現、彙報與指教,吸納更多中肯的建議。寫做與表達的水平,體現了一我的講好一個神祕故事的能力。
- 第十六,總結。只有覆盤,才能經過一次次經歷學到更多的新知,纔會有長足的進步。
- 在整個過程當中,與指導老師不斷彙報當前階段的狀況,一是督促本身的研究進度,二來防止思路跑偏,三來緩解心裏壓力與解答疑惑。
- 感謝全部。
-----2019.6.11 陰.成都 敬上前端
爲何會忽然好多人看....能夠留下大家的見解和感想嘛?哈哈(2019-06-14 22:41)算法