博客班級 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1 |
---|---|
作業要求 | https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11110 |
作業目標 | 編寫程序完成雲班課成績計算 |
作業源代碼 | https://gitee.com/xie-qiqin/personal |
學號 | 211806416 |
記錄自己的代碼行數,需求分析時間,編碼時間
代碼行數 | 225行 |
---|---|
需求分析時間 | 2h |
編碼時間 | 6h |
雲班課期末總分計算程序需求分析思路
需求分解:
- 獲取並解析網頁取得每個模塊的經驗: getScore(String filepath)
- 計算兩個網頁相同模塊的經驗值總和:getSection_Total(String small, String all) 內部調用 getScore(String filepath)用HashMap將對應值相加,外部保存結果給total
- 計算個人期末所得總分: totalScore(HashMap<String, Integer> total, Double before, Double base, Double test, Double program, Double add)
該編程方法為自底向上模式,先計算好各個網頁的數據,再相加,最后用公式計算總和,該方法的優勢在於先搞定需要的每個模塊,再在一個總的模塊上進行整合,比較符合數學的邏輯,在事先知道用什么模塊方法的情況下,用此模式相對於自頂向下而言復雜度較小,比較容易想到。
不會的知識的學習過程、修改優化的過程
1.Jsoup 起初想通過上學期所學的解析文件的方法來解析文件,但雖然成功解析,由於無法很好的定位經驗值所在的代碼,於是通過上網查閱資料的方式知道還有一個庫交Jsoup(這里我叫它雞湯庫),通過在線查閱幫助文檔可知里面還有兩個類:Element(s),Document.Document用來保存解析的H5代碼,通過調用Element(s)的方法來定位經驗,當然其間用HBuilter來查看網頁代碼,不停地數節點,發現排布規律。
2.Jsoup導入:Jsoup並非java自帶的庫,需要去官網https://jsoup.org下載查看幫助文檔,下載完之后放到jre文件下,進入eclips單擊項目工程,點擊file->Properties->Java Build Path->libiaries->Add External Jre...,這樣就把Jsoup加進去了。
參考資料
Jsoup 官網以及Api: https://jsoup.org
CSDN:https://blog.csdn.net/ProgramChangesWorld/article/details/47134255?utm_source=blogkpcl0&biz_id=102&utm_term=jsoup讀取html文件的目標數據&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-47134255&spm=1018.2118.3001.4187
不足之處,以及收獲
在上這門課之前已經明白自己編碼能力弱,同樣的一道題目我花的時間比其他人多,在上完第一次的軟件工程與UML課后我發現首先要改變自己的編程習慣,拿到題目不要一開始就打代碼,要先構思好方法和框架,進行需求分析,其次,通過這次作業也明白了編碼能力弱其實是基礎知識不牢固,有些問題沒有想到可以用那些知識來解決,確用了更麻煩的方法,因此需要抽一段時間來復習一下之前學過的知識,尤其是I/O流和正則表達式,總之這次作業發現了不足,然我有了提升的方向。