、GitHubのアドレス:https://github.com/lq15086495788/wc
二、PSPテーブル
PSP2.1 |
パーソナルソフトウェアプロセス段階 |
推定時間がかかる(分) |
実際の時間がかかる(分) |
プランニング |
計画 |
40 | 52 |
・見積り |
•このタスクが必要と推定どのくらいの時間 |
40 | 52 |
開発 |
開発 |
710 | 550 |
・分析 |
・分析(新しい技術を学ぶ含む)が必要 |
110 | 130 |
・デザインスペック |
設計ドキュメントの生成 |
70 | 40 |
・デザインレビュー |
・デザインレビュー(と彼の同僚は、設計文書を見直し) |
30 | 20 |
・コーディング標準 |
・コードの仕様(現在の開発のための適切な規範の開発) |
30 | 40 |
・ 設計 |
・具体的な設計 |
110 | 50 |
・コーディング |
・具体的なコーディング |
220 | 180 |
・コードレビュー |
・コードレビュー |
40 | 30 |
・テスト |
・テスト(セルフテスト、コードを変更し、変更を提出) |
100 | 60 |
報告 |
レポート |
100 | 80 |
・ 試験報告書 |
・テストレポート |
40 | 40 |
・サイズ測定 |
・コンピューティングのワークロード |
30 | 30 |
・死後&プロセス改善計画 |
・後知恵、およびプロセス改善計画を提案します |
20 | 30 |
トータル |
840 | 740 |
第三に、デザインはおそらく考えて
三つのカテゴリー、すなわちメイン、counteとコーダの設計。
一、メイン
このクラスでは、プログラム制御及び方法呼び出しの主な成果は、IOストリームは、エントリ文書を可能にします。
二、カウンタ
このクラスは、4つの基本的な統計操作を、実装するために使用されています
文字数:スペース文字やキャリア変更、レコードを除くすべての文字
行数、カウントを経験するスイッチオペレーター
ワードカウント:レコードの上のスペース
最後に、すべての基本的な統計が統一された操作-allが表示されます。
三、コードクラス
拡張操作、統計空白行、コメント行と、このクラスに実装動作を拡散コードの他の行。
そして、ファイルが空であるかどうかを判断するための標準ファイルを満たしません
ノートマッチャ(シングルライン、マルチライン、ドキュメンテーションコメントを一致させます)
空白行マッチャ(キャリッジリターンマッチ、タブ・キー、スペース)
ファイルを横断し、対応するコメント行と空白行の数を記録し、
空白行やコメントを除いて、残りはすべての行です
第四に、プログラムフローの設計
第五に、テストラン。
テストファイルが含まれます:空のファイル、ファイルは、1つの単語だけで、Javaのソースコードファイルを
ファイル全体に対して5.1テストの一般的な統計情報
正しいテスト結果。
5.2統計の空のファイルをテスト
正しいテスト結果。
5.3テストの無効なファイル
テスト結果は正しいです
5.4テストのみWord文書が含まれています
テスト結果は正しいです
5.5テストの拡張操作
テスト結果は正しいです
質問6、開発プロセスで遭遇
#達成することは困難で言語を選択:
彼のオリジナル作品、実装する必要性を確認するには、この時、コマンドラインプログラムを非常に使用するためにどのような言語を達成するために、最終的にもつれた時に。スクリプト言語とハイパーテキストの言語は、この機能を実現することができないので、他の計画を立てることが必要です。
プログラミング言語は困難に精通していません。
遅いビットの書き込みにつながる、ジャワ、プログラミングのニーズのプロセスとロジックを書きながらチェックを書くには余りにも長くないので。
機能実装の困難:
ファイルストリームバッファ読み取り機能を選択し、ファイルを読むために書き始めるまでの時間は、個人的な問題に起因し、議事の不満足な結果につながることがわかりました。そして、後にバイナリストリームが運営するファイル操作を、読み取るために読んで()関数を使用することを選択しました。このために数直線の裁判官、単語帳に基づいて、文字の数は、バッファが少し単純だったよりも達成するために、機能します。
#てみました:
最初は、その後、C言語を選択し、このプログラムを達成するためにpathonを選択したが、後慣れするオブジェクト指向プログラミングを感じ、私は、javaを学ぶ選択科目年生、これの最終的な選択思いついた のjava 達成するための言語を。
ソリューション:
最後に、単に基本的な機能を実現して機能を拡張します。
収穫さ:
困難の時代に、私たちは、自分の思考の後に通過実現する方法であることを理解して行かなければなりません。そのように、我々はよりよく理解し、この機能を実装することができます。マルチポイントは、より良い異なるアプローチを試してみてください。
VII。まとめ
この作品を通して、私たちは、Javaの知識のビットを再検討するだけでなく、自分自身を行使するために見積もり、設計、コーディング、開発、テスト、ドキュメント、および他のプロセスから、0-1からプログラムを実装することを学びました。
電子ノートを行うことの習慣を開発するための最初の演習、第二のコンセプトにもブログを書いて、だけでなく、自分自身のコードの外、他の学習能力の能力を高めるされています。