1.基本方針
javaCCCシステムは、エンジン部と UI 部に分けて構築します。
これは、UI 部を変更するだけで時と場所を選ばないシステムにしたいという思想からです。
2.利用者の定義
当ドキュメントを始め、設計書及び javacc システム全般における利用者について
以下のように定義するものとします。
- java 初心者でjavaコーディングに興味がある者
- java 初心者でjavaを習得しようと考えている者
3.要件定義
3.1. javaCCC エンジン部の要件定義
3.1.1.使用可能パッケージの制限
- 使用不可パッケージの定義ができること
javaCCC エンジンが web サーバーで動作している場合に web サーバー
が不安定になるような、API を使用されないようにするため、
使用できないパッケージをあらかじめ定義しておく
javaCCC がコンパイルを行う前にソース上に 使用不可定義されたパッケージ
が宣言されているかチェックし、されていた場合はエラー通知とする
使用不可パッケージの定義は外部ファイルとする
- java アプリケーション版対応
java アプリケーション用には、使用不可パッケージに対する制限は持たせない。
java アプリケーション用の使用不可パッケージ定義ファイルは存在はするが、
ファイル内にパッケージの定義はしないものとする。
3.1.2.mainクラス宣言不要
- mainクラス補完機能
コンパイル対象のソースは、mainクラス宣言はないものとする。
当機能でコンパイル処理を行う前にmainクラスを補完すること。
3.1.3.複数メソッドの扱い
- 複数メソッドチェック
コンパイル対象のソース内には、複数メソッドがないものとする。
複数メソッドがあるか判断し、複数あった場合はエラー通知とする。
3.1.4.コンパイル
- コンパイルができること
- コンパイルエラー結果が表示できること
3.1.5.実行
- コンパイルが正常に終了した場合は、実行が行えること
- 実行は別スレッドで実行すること
3.1.6.強制終了
- 応答なし状態(ループ等で実行処理時間が著しく長い場合)が続いた
場合に強制終了が可能であること
- 上記の設定値(待ち時間)が設定可能であること
3.1.7.起動パラメータ
- 実行時のパラメータを受け取り起動時のパラメータとする
3.1.8. UI 部受け渡しインターフェイス
- UI 部とエンジン部のインターフェイスは専用インターフェイスとする
3.1.9. JDK および、テンポラリファイル用ディレクトリ
- UI 部から JDK の存在場所およびテンポラリディレクトリの指定を受け取って
javacの呼び出しテンポラリファイルの作成を行う
3.2. javaCCC UI - java アプリケーション部の要件定義
3.2.1.コーディング
- ウインドウ内にコーディングができる領域があること
- コピーペーストが可能であること
3.2.2.コーディングファイル入出力
- コーディングしたファイルが保存できること
- 保存したファイルを読込みコーディングウインドウに反映できること
3.2.3.サンプルソース(お手軽ソース)選択
- サンプルソースの選択が容易にできること
- サンプルソースは外部ファイルとし、容易に編集できること
- サンプルソースを選択した場合に、
コーディングウインドウに反映できること
3.2.4.定型文挿入
- よく使われるキーワードが 1 ボタンでコーディングウインドウへ
挿入できること
- 定型文ボタンは 5 個とする
- 定型文ボタンで挿入される文字は外部ファイルとし
容易に編集できること
3.2.5.コーディングウインドウ内クリア
- 1 ボタンでコーディングウインドウ内に書かれている内容が消去
できること
3.2.6.コンパイル・実行
- コンパイル・実行が行えるボタンが存在すること
- javaCCCエンジンを使用してコンパイル・実行を行うこと
3.2.7.結果ウインドウ
- コンパイル・実行時に javaCCC エンジンから返却された
結果を表示できること
3.2.8.起動パラメータの入力領域
- 起動パラメータを入力が可能であること
3.3. javaCCC UI - web アプリケーション部の要件定義
3.3.1.コーディングウインドウ
- ソースを入力できるウインドウが存在すること
3.3.2.コンパイル・実行
- コンパイル・実行が行えるボタンが存在すること
- javaCCCエンジンを使用してコンパイル・実行を行うこと
3.3.3.結果領域
- コンパイル・実行時に javaCCC エンジンから返却された
結果を表示できること
3.3.4.起動パラメータの入力領域
- 起動パラメータを入力が可能であること