問題
astah で作成したクラス図およびそのクラス図に基づくシーケンス図を入力として,
シーケンス図中における
メソッド毎の利用実績数をCSVで出力するプログラムを作成せよ.
入力とするastahファイルは以下の図を含むものとする.
- クラス図 1個
- 上記のクラス図に基づくシーケンス図 1個以上.
尚,シーケンス図の中で利用されないメソッドもあるが,その場合は,
利用実績数を 0 とすること.
出力は例[CSV]に示すように,
クラス名,メソッド名,利用実績数,
の繰り返しとする.出力先は,標準出力でかまわない.
入力ファイルの指定はJavaプログラム実行時の引数(arguments)で
指定するのが望ましい.
参考資料
- astah API
C:\Program Files\astah-professional\astah-api.jar
- 解説
C:\Program Files\astah-professional\api\doc\index.html
- サンプル
C:\Program Files\astah-professional\api\sample\ の下
-
astahの掲示板から
[HTML]
入出力例
入力
[ASTA],
出力
[CSV].
必要条件と注意
-
入力のクラス図に定義されている全てのメソッドが,
シーケンス図で利用されているわけではない.
例えば上記入出力例の
Master.prepareGame
Player.showHand
Player.toString
それぞれのメソッド.
-
入力のシーケンス図に利用されている全てのメソッドが,
クラス図で定義されているわけではない.
例えば上記入出力例の
Hand.reviewCards メソッド.
要はクラス図は不完全な場合がある.
この場合,該当するメソッドは出力において無視してよい.
-
必ず開発はEclipseを用いてJavaで行うこと.
TIPSはこちら.
-
astah API (
C:\Program Files\astah-professional\astah-api.jar) を利用せよ.
また,astah-pro.jar
(C:\Program Files\astah-professional\astah-pro.jar)
も共に External Jar ファイルとして,
Java Build Path の Libraries に追加せよ.
その他,必要,有用と思われるライブラリは適宜利用してよい.
-
mainメソッドを含むクラス名は Ex4,
プロジェクトは ex4, 提出するアーカイブは
ex4.zip とすること.
-
単独実行可能なjarファイルを作成する
antのファイル(build.xml)もプロジェクトに封入せよ.
-
少なくとも一個のクラスに関して,
JUnit4 によるテストを行うこと.
テストコードも ex4.zip に含めること.
-
デバッガーを使ってみること.
コレは提出できるものがないので,
各自の良心に委ねる.
狙いと評価基準
- 本演習は既存のライブラリを利用する訓練を狙いとしています.
- よって,なるだけ既存のライブラリを利用してください.
例えば,.asta ファイルもとある規則に則したデータファイルですので,
全て自作のプログラムでも内容の解析は可能です.
しかし,そのような開発方針はむしろマイナスだと思ってください.
出題後の追加事項
-
入力となる astah ファイルに含まれるクラス図には,
パッケージやサブシステム等のクラスをグループ化する仕組みは
使われていないと考えて結構です.
無論,使われていると考えてプログラミングしていただいても結構です.
-
「java」というパッケージ中のクラスは全て無視してください.
コレを扱うと膨大になってしまうので.
提出期限・提出法
ざっと見た感想
TBD
解答例
TBD