まず、プロジェクトのGithub住所
https://github.com/huangzihaohzh/WordCounter
二、PSP用フォーム
PSP2.1 | パーソナルソフトウェアプロセス段階 | 推定時間がかかる(分) | 実際の時間がかかる(分) |
プランニング | 計画 | 60 | 90 |
・見積り | •このタスクが必要と推定どのくらいの時間 | 60 | 90 |
開発 | 開発 | 1260 | 1320 |
・分析 | ・分析ニーズ | 60 | 45 |
・デザインスペック | 設計ドキュメントの生成 | 60 | 90 |
・デザインレビュー | ・デザインレビュー | 60 | 45 |
・コーディング標準 | ・コードの仕様 | 30 | 90 |
・ 設計 | ・具体的な設計 | 60 | 150 |
・コーディング | ・具体的なコーディング | 540 | 480 |
・コードレビュー | ・コードレビュー | 90 | 60 |
・テスト | ・テスト(セルフテスト、コードを変更し、変更を提出) | 360 | 360 |
報告 | レポート | 180 | 160 |
・ 試験報告書 | ・テストレポート | 120 | 120 |
・サイズ測定 | ・コンピューティングのワークロード | 30 | 20 |
・死後&プロセス改善計画 | ・後知恵、およびプロセス改善計画を提案します | 30 | 20 |
トータル | 1500 | 1570 | |
第三に、問題解決のためのアイデア
- 要件ドキュメント(個人プロジェクトのドキュメントを)読んで、トピックの一般的な理解が必要です。質問に基づく要件文書からは、ユーザーの入力パラメータ、テキストファイルの文字、単語、行番号とディスプレイ技術を書くように頼ま。また、プログラムのためにテストする必要があり、必要に応じて、フォームやPSPのブログを記入します。
- 最初の読み取りでPSPテーブルの製剤のための「法の構築」をより合理的な意思決定を設計するためには、ソフトウェア工学の設計と回帰テストの作業量と品質を測定し、その上、
- このプロジェクトでは、ユーザーの入力パラメータがチェックされ、二つのグループとファイル名に分け、また「のために、達成するために、正規表現の使用を検討する機能を数えるのすべての種類の実現のために、処理する正規表現の使用を検討する必要があります - コード/空白行/コメント行の行に対応する「処理オプションは、より詳細な情報を見つける必要が比較的複雑です。
第四に、設計と実装プロセス
実現に主に関連します
- ユーザー入力を確認してください:入力パラメータのフォーマットとアドレス形式が正しいかどうかを確認し、チェックするためにユーザーが入力したパラメータとアドレスのための正規表現を使用します。
- パラメータ抽出及び貯蔵:分類および格納されたユーザ入力、文字列フィールドにファイルのアドレス/名前に格納されたパラメータリストへのユーザの入力パラメータ。
ユーザーに応じて異なる動作パラメータ:引数リストの方法は、取得して表示異なるカウント値に対応するパラメータを呼び出します。
のフロー図
ファイブテスト
ユニットテスト
テストコード
public class Test {
private TextFile textFile = null;
//Constructor
public Test(String filePath) throws Exception{
this.textFile = new TextFile(filePath);
}
//测试TextFile.charNumCounter()
public void testCharNumCounter(){
int charNum = textFile.charNumCounter();
if(charNum>=0)
System.out.println("文件字符数为:"+charNum);
else
System.out.println("字符数计算出错");
}
//测试TextFile.wordNumCounter()
public void testWordNumCounter(){
int wordNum = textFile.wordNumCounter();
if(wordNum>=0)
System.out.println("文件单词数为:"+wordNum);
else
System.out.println("单词计算出错");
}
//测试TextFile.lineNumCounter()
public void testLineNumCounter() throws IOException {
int lineNum = textFile.lineNumCounter();
if(lineNum>=0)
System.out.println("文件行数为:"+lineNum);
else
System.out.println("行数计算错误");
}
}
テスト結果
D:\123.txt
文件字符数为:80
文件单词数为:6
文件行数为:2
全体的にテスト
空のファイルテストは、(空白行があり、ファイルサイズ0キロバイト)
コマンド:javaの-jar wc.jar -c -w -l " D:\ test_txt \ Empty.txt"
テスト結果:
文件字符数为:0
文件单词数为:0
文件行数为:1
唯一の文字のテストファイル
コマンド:javaの-jar wc.jar -c -w -l " D:\ test_txt \ OnlyOneChar.txt"
テスト結果:
文件字符数为:1
文件单词数为:0
文件行数为:1
テストファイルの1つのワードのみ
コマンド:javaの-jar wc.jar -c -w -l " D:\ test_txt \ OnlyOneWord.txt"
テスト結果:
文件字符数为:4
文件单词数为:1
文件行数为:1
テストファイルの一行のみ
コマンド:javaの-jar wc.jar -c -w -l " D:\ test_txt \ OnlyOneLine.txt"
テスト結果:
文件字符数为:59
文件单词数为:3
文件行数为:1
典型的なテスト・ソース・ファイル
コマンド:javaの-jar wc.jar -c -w -l " D:\ test_txt \ Current.txt"
テスト結果:
文件字符数为:27
文件单词数为:6
文件行数为:2
-xパラメータ・テスト
コマンド:javaの-jar wc.jar -x -c -w -l
テストの結果:
D:\test_txt\OnlyOneChar.txt
文件字符数为:1
文件单词数为:0
文件行数为:1
テスト画像
概要
このプロジェクトの開発プロセスでは、以下の点には、レッスンを要約します:
- 事前計画および投資分析時間を増やすには
- 病気、早期開始と早期終了を延期することを拒否