開さんは話を聞きながら書いた議事録を基に、設計作業を進めようとしています。まずはシステム化範囲を明確にしつつ、ユースケース図を描きます。
ユースケース図を描くために、まずは議事録の中からユースケースになりそうなものを探しました。だいたいが、受け付け業務の中に含まれています。一部、業務内容の説明の中から取り出したものもあります。それぞれのトピックを右クリックして「UMLモデルに変換する」→「ユースケース」を選択すると、画面左上の構造ツリーの中にユースケースができていきます(図5)。
この時点では、まだユースケース図は空っぽの状態です。ここに、構造ツリーからユースケース図をドラッグしてくると、図上にユースケースが乗ります(図6)。
これを並べ替えたり、名前を変えたり、《include》などで関係付けたりしていきます。またアクターも付け加えましょう。
議事録上では「加工を聞く」などとなっているトピックが、ユースケース上では「加工を登録する」などとなっている点に気を付けてください。「加工を聞く」のは受け付け担当(おじさん)のやることですが、ユースケース図ではシステムとアクターのやりとりを表現します。お客さんから加工を聞いた受け付け担当は、システムに対しては「加工を登録する」という操作をすることになるのです。
議事録からは、取りあえずユースケースになるかもしれないものを片っ端からユースケースにしてしまいます。図上に配置して検討しながら、不要なものは削除していきます。ものによってはノートになったり、組み合わせて別のユースケースになったりもします
例えば、議事録上の「料金を決める」というトピックはユースケースになりそうですが、ユースケース図上では「料金をもらう」に含まれるものとして消してしまいました。「受け付け」「お客さん」となっていたものは、「お客さん情報を入力する」というユースケースになりました。
図上には適宜、ノート(コメント)も入れていきます。マインド・マップのトピックから直接ノートを作ることはできませんが、トピックをCtrl+Cでクリップボードにコピーして、ユースケース上でノートを作り、そこでCtrl+Vを押すとトピックのテキストを張り付けられます。ここではノートに色を付けています。水色はUMLだけでは表現できない仕様の記述、ピンク色は後で確認する必要がある内容です。この色分けは平澤章さんのやり方を真似ています。
こうして作成したのが、図7です。
続いてクラス図も作成します。ユースケースと同じく、トピックを右クリックして「UMLモデルに変換する」→「クラス」を選択すると、構造ツリー中にクラスができます。これをクラス図に配置して、操作や属性を加えていくのです(図8)。
第1段階として、マインド・マップから作成したクラスを並べて、思い付くままに配置して関連を引いてみました(図9)。ここではクラス名はまだ変えていません。関連は「なんとなく関連してそう」というレベルです。関連のないクラスもあります。お客さんの電話番号や住所など属性になりそうなものも、関連でつなぐのにとどめています。また分類やカテゴリであるものは、継承にしています。(「大カテゴリ―小カテゴリ」の関係と、「カテゴリ―具体的な物」の関係は、見分けにくいことが多いので、いまの段階では区別していません)。
クラス図だけではうまくつかめないところは、オブジェクト図を描いてみるのが1つの手です。ここでは、ヒアリングで聞いた具体例の部分をそのままオブジェクト図にしてみました。防虫と防水がオプションのサービスであることが分かります。一方クリーニングは必須なのか? クリーニングなしで防水加工だけということもあるのか? 情報が足らないことが分かりました。次回のヒアリングで使う議事録マインド・マップに、あらかじめ確認事項として書いておくとよいでしょう。
マインド・マップからオブジェクトを作成するには、構造ツリー上でマインド・マップを広げて([+]をクリック)、各トピックをクラス図にドラッグします。UMLモデル変換ダイアログが開くので、種類を「オブジェクト」にしてOKを押します。
このクラス図はまだまだ完成とはいえません。ここを出発地点にして、洗練させていく必要があります。洗練させていくにはいろいろな方法がありますが、本稿の趣旨を外れてしまうのでここでは割愛します。
今回は、要求分析のヒアリングでマインド・マップを利用し、そこからUMLモデリングを行うという流れを見てきました。このような作業をするうえでのポイントをいくつか紹介します。
マインド・マップは思考の「発散」、UMLは「収束」です。キーワードを使ってどんどん範囲を広げながら情報を集めていくのにはマインド・マップが、そうして集めた情報の取捨選択と整理分類はUMLが向いています。それぞれの特徴をつかんでうまく組み合わせることによって、新たな「思考ツール」になるかもしれません。自分に合うように工夫して、自分ならではのやり方を編み出してみてください。
Copyright © ITmedia, Inc. All Rights Reserved.