<?xml version='1.0' encoding='Shift_JIS' ?>
<doc xml:lang='ja'>
	<body>
		<p>Boxed Economy におけるモデル作成プロセスは、オブジェクト指向開発プロセスにもとづき、
			分析・設計・実装・評価のスパイラルモデルになっています。</p>
		<figure id="fig:process" src="image/process" title="モデル作成のプロセス" />
		<p>各フェーズの詳細な説明は、次節以降で述べることとして、ここでは、各フェーズの概略を説明します。</p>
		<dl>
			<dt>分析フェーズ</dt>
			<dd>どのような問題領域のシミュレーションを行うのかを明らかにするフェーズです。
				基礎モデルを利用して、シミュレーションに登場するエージェントや財の定義を行います。
				作成するのは、「概念モデルクラス図」「取引シーケンス図」「行動アクティビティ図」です。</dd>
			<dt>設計フェーズ</dt>
			<dd>分析されたモデルをもとに、BESPで動くシミュレーションの設計を行うフェーズです。
				基礎モデルフレームワークの仕様に沿って、BESPで動作するようモデルを設計します。
				作成するのは、「設計モデルクラス図」「設計シーケンス図」「行動状態遷移図」です。</dd>
			<dt>実装フェーズ</dt>
			<dd>設計されたモデルを、Javaを使って実装するフェーズです。
				コンポーネントビルダーを利用してソースコードの雛型を作成し、雛型を埋める形で実装します。
				作成するのは、「BESP上で動くJavaプログラム」です。</dd>
			<dt>実行･評価フェーズ</dt>
			<dd>実装されたモデルを、BESPを使って実行するフェーズです。また、意図した通りに動作するか、検証します。</dd>
		</dl>
		<p>各フェーズで使われる言語や知識は以下のようになります。
			 「UML」や「Java」などの難しそうな名前がならびますが、
			なるべく最小限の知識でシミュレーションを実装できるように工夫されていますし、
			シミュレーションを例にこれらの言語を勉強することは、いい機会ですし、勉強しやすいと思います。
			 参考書を片手に是非挑戦してみてください。</p>
		<table style="width:100%" title="各フェーズで使う言語と必要な知識">
			<thead>
				<tr>
					<th>フェーズ</th>
					<th>言語</th>
					<th>必要な知識</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td>分析フェーズ</td>
					<td>UML</td>
					<td>基礎モデルの知識、分析する対象（例えば：株の取引）の知識</td>
				</tr>
				<tr>
					<td>設計フェーズ</td>
					<td>UML</td>
					<td>基礎モデルフレームワークの知識、状態遷移モデルの知識</td>
				</tr>
				<tr>
					<td>実装フェーズ</td>
					<td>Java</td>
					<td>Javaプログラミングの基本的な知識</td>
				</tr>
				<tr>
					<td>実行･評価フェーズ</td>
					<td>なし</td>
					<td>統計などのデータ分析の知識</td>
				</tr>
			</tbody>
		</table>
		<p>次節以降、単純な取引を具体例に、実際にプロセスをたどりながら、各フェーズを詳しく説明していきます。
			みなさんも一緒に簡単なシミュレーションモデルを構築してみましょう！</p>
	</body>
</doc>
