項目 | 內容 |
---|---|
課程名稱: | 2016級計算機科學與工程學院軟件工程(西北師範大學) |
課程要求: | 實驗四 軟件工程結對項目 |
課程目的: | 熟悉軟件開發總體流程,提高自身能力 |
做業意義: | 第一次體驗一個完整的工程 |
兩兩自由結對,對結對方的《實驗二 軟件工程我的項目》的項目成果進行評價。
結對同窗html
採用兩人合做方式,設計開發一個英文文本統計分析軟件。
1.實驗2要求的功能;
2.單詞頻數可視化柱狀圖要求是如下樣式:
3.統計該文本行數及字符數;
4.各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);
5.可處理任意用戶導入的任意英文文本;
6.人機交互界面要求GUI界面(WEB頁面、APP頁面均可);
7.附加分功能:統計文本中除冠詞、代詞、介詞以外的高頻詞;java
1.StatisticalWord()函數,統計指定單詞詞頻個數且顯示柱狀圖;
2.WordList()函數,統計詞頻個數並輸出到文本;
3.Figure()函數,查詢K個出現頻次最高的單詞;
4.Test()函數,統計文本的行數和字符統計數;
5.WordList1()函數,統計文本中除冠詞、代詞、介詞以外的單詞輸出到文本
6.Main()函數,調用各個功能。git
1.按按鈕調用相應功能
github
2統計指定單詞詞頻個數且顯示柱狀圖
app
3.統計詞頻個數並輸出到文本
函數
4.查詢K個出現頻次最高的單詞
學習
5.統計文本的行數和字符統計數
測試
6.統計文本中除冠詞、代詞、介詞以外的單詞輸出到文本
編碼
合做中
設計
監聽按鈕調用相應函數
{
Button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
StatisticalWord frame = new StatisticalWord();
//frame.setBounds(200,300,500,800);
frame.setTitle("統計指定單詞詞頻個數且顯示柱狀圖");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
optStatisticalWord();
}
});
add(Panel,BorderLayout.CENTER);
pack();
}
統計各功能時間
{
long startTime=System.currentTimeMillis();
long lines = Files.lines(Paths.get(new File("src\DATA.txt").getPath())).count();
// System.out.println("行數: " + lines);
long endTime=System.currentTimeMillis();
result.append("字符統計結果爲:" + n+"\n行數: " + lines+"\n所消耗時間爲:"+ (endTime-startTime)+"ms" );
//System.out.println("所消耗時間爲:"+ (endTime-startTime)+"ms" );
}
統計數字或者字符出現的次數
public static int Pross(String str) { char[] charArray = str.toCharArray(); int all = 0; TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>(); for (int x = 0; x < charArray.length; x++) { if (!tm.containsKey(charArray[x])) { tm.put(charArray[x], 1); } else { int count = tm.get(charArray[x]) + 1; tm.put(charArray[x], count); all=all+count; } } return all; }
此次做業是在實驗二的基礎上進行的,首先咱們根據實驗二的我的PSP作了分析並在開發和編寫代碼上增長了時間,在開始開發設計以前咱們讀了對方的代碼並選擇了此次做業以對方的代碼爲基礎,由於她的代碼命名比較規範,完成過程當中會遇到各類各樣的問題,雙方之間的調解和適當的妥協是頗有必要的。
PSP2.1 | 任務內容 | 計劃共完成須要的時間(min) | 實際完成須要的時間(min) |
---|---|---|---|
Planning | 計劃 | 15 | 20 |
Estimate | 估計這個任務須要多少時間,並規劃大體工做步驟 | 18 | 15 |
Development | 開發 | 480 | 620 |
Analysis | 需求分析 (包括學習新技術 | 20 | 18 |
Design Spec | 生成設計文檔 | 20 | 35 |
Design Review | 設計複審 (和同事審覈設計文檔 | 10 | 25 |
Coding Standard | 代碼規範 (爲目前的開發制定合適的規範) | 10 | 8 |
Design | 具體設計 | 15 | 19 |
Coding | 具體編碼 | 400 | 600 |
Code Review | 代碼複審 | 20 | 25 |
Test | 測試(自我測試,修改代碼,提交修改 | 20 | 47 |
Reporting | 報告 | 15 | 27 |
Test Report | 測試報告 | 10 | 12 |
Size Measurement | 計算工做量 | 4 | 5 |
Postmortem & Process Improvement Plan | 過後總結 ,並提出過程改進計劃 | 5 | 8 |