課程
名稱
|
2016級計算機科學與工程學院軟件工程(西北師範大學)
|
做業
要求
|
實驗二 軟件工程我的項目
|
課程
目標
|
嘗試按照《構建之法》第2章中2.3所述PSP流程,使用JAVA編程語言,獨立完成一個英文文本詞頻統計的軟件開發。
|
做業
意義
|
(1)掌握軟件項目我的開發流程。
(2)掌握Github上發佈軟件項目的操做方法。
|
需求分析
1.程序可讀入任意英文文本文件,該文件中英文詞數大於等於1個。
2.程序須要很壯健,能讀取容納英文原版《哈利波特》10萬詞以上的文章。
3.指定單詞詞頻統計功能:用戶可輸入從該文本中想要查找詞頻的一個或任意多個英文單詞,運行程序的統計功能可顯示對應單詞在文本中出現的次數和柱狀圖。
4.高頻詞統計功能:用戶從鍵盤輸入高頻詞輸出的個數k,運行程序統計功能,可按文本中詞頻數降序顯示前k個單詞的詞頻及單詞。
5.統計該文本全部單詞數量及詞頻數,並能將單詞及詞頻數按字典順序輸出到文件result.txt。
功能設計(基於JavaScript語言)
1.需手動輸入文檔(複製),點擊搜索便可統計全文詞彙。
2.需手動輸入須要查詢的詞彙,點擊搜索便可統計在文章中出現的次數。
3.程序健壯,已用《哈利波特之魔法石》第一章(近3萬詞)試驗,不存在卡頓。
4.由於規定瀏覽器不可直接訪問用戶計算機內容,因此沒法直接導入文本文件。
設計實現
1.該函數主要以從input輸入框中獲取文本從而獲取字符長度length和咱們所須要查詢的單詞的value值。
2.在給予文章、單詞賦值後,利用循環和遍歷獲取咱們須要的信息。
3.獲取信息後,再由document.getElementById從JavaScript中輸出到html中。
4.最後利用button按鈕的show()功能將結果展現出來。
測試運行(以哈利波特第一章爲文本)
代碼
總結
改程序本應該使用Java語言進行設計,因對Java掌握程度很淺,因此改成使用JavaScript設計。設計時,將程序分爲輸入、分析、遍歷、輸出四部分,這四部分並非相互獨立的,下一級對上一級有依賴,如沒有獲取文本,就沒法獲取字符長度從而致使功能沒法使用。發覺自身能力的欠缺而致使程序很簡陋,在設計過程當中也遇到了不少問題。在之後的學習過程當中會更多的彌補欠缺,並掌握更多有關編程的知識與技巧。
PSP
PSP2.1
|
任務內容
|
計劃共完成須要的時間(min)
|
實際完成須要的時間(min)
|
Planning
|
計劃
|
15
|
40
|
Estimate
|
估計這個任務須要多少時間,並規劃大體工做步驟
|
15
|
40
|
Development
|
開發
|
40
|
60
|
Analysis
|
需求分析 (包括學習新技術)
|
10
|
10
|
Design Spec
|
生成設計文檔
|
15
|
10
|
Design Review
|
設計複審 (和同事審覈設計文檔)
|
3
|
5
|
Coding Standard
|
代碼規範 (爲目前的開發制定合適的規範)
|
3
|
3
|
Design
|
具體設計
|
20
|
25
|
Coding
|
具體編碼
|
30
|
60
|
Code Review
|
代碼複審
|
15
|
20
|
Test
|
測試(自我測試,修改代碼,提交修改)
|
25
|
20
|
Reporting
|
報告
|
25
|
30
|
Test Report
|
測試報告
|
10
|
15
|
Size Measurement
|
計算工做量
|
5
|
5
|
Postmortem & Process Improvement Plan
|
過後總結 ,並提出過程改進計劃
|
10
|
10
|
一些代碼分享