Takunojiのプログラミング・プレイグラウンド(遊び場)

「プログラミングのススメ」と学習した結果身につくもの、アイディアを実現するために何をしたら良いか?の答えが出せるようになります。

UML Design(設計)5 〜UMLの書き方 ユースケース1〜

Use Caseの書き方

ユースケース図の書き方です。英語だとユーズ、ケースなのに日本語だと濁点がなくなるのはなんでなのでしょうか?

まぁ、ジョークはさておきにして、ユースケースはユーザー(仕事であればお客さん)がどのようにしようするか?を定める(定義)するためのものです。この部分が「説明書」になり、開発する側としては「神様」とか「仕様」などと呼ばれる部分になっていきます。

UMLツール

UMLを書くのに(アナログに)手で書いたものは、電子媒体での保存ができないのでツールを使用したいともいます。astahを使用すると楽なのですが、以前はMac版が見つけられず。。。star umlを使用して見ました。

大雑把に「誰が」「何を?「どのように?」(「何を使って?」。。。)と5W2Hのように疑問と答えをやりとりしながら作成していきます。

記述ルール

棒人間:アクター、人間、操作する人、ユーザーを示します。 線:アクターやアクション(操作など)の関連を示すためにしようします。 枠(四角でも円でも良い):「〜をする」のようにアクション(操作)を示します。

根本的には、理解できれば良いということだと思います。この部分で大切なものは「線」です。こちらのサイトを参考にすると線の形でその意味合いを表現しています。 しかしこれはクラス図なのでちょっと違う?と思うかもしれませんが基本ルールは変わらないはずなので問題ないと思います。リンク先の表はとても良いものだと思います。 <自分の場合> 現場で作業をした時は、その場所である程度「〜の場合はXXX」とチーム内でルールを決めて作成しました。しかし、UMLの依存関係(Dependency), 汎化(generalization)などのルールは守って作成しました。

大まかに以下の図が登場します。

アクター(棒人間):ユーザーを示すことが多い フレーム:システムとか他の人間以外の何かを示す時に使用する 細かいところは実際の図を見た方が早いので出来合いのサンプルを見て見ます。 参照してたサイトはastahのサイトです。下のような図がありました。

f:id:Takunoji:20190811223904p:plain
ユースケースサンプル
まぁこんな感じでうまく組み合わせてユースケースのフローを作成すればオッケ!

これだけだが

結構大変なんです、記述することは大したことないのですが、色々と考えていくうちに「?」となってしまうから不思議です。 まぁ慣れなのでしょうが。。。

まとめ

これに必要なものをくっつけて形にしていきます。 今回作成するのはテキストRPGなので、ストーリーとかが必要になります。なので、他のものを例にしたいと思います。以下に示します。

Google Mapアプリの場合

Google Mapと言ってもこのAPIを使用した自前のウェブアプリです(JS製)。

<ライブハウス紹介サイトのユースケース

  1. ユーザーがアクセスして地域情報を閲覧できる
  2. 対象地域の事業者が広告を乗せることができる

f:id:Takunoji:20190812142110p:plain
ライブハウス紹介サイト

こんな感じです、現状はシンプルなものですが、ここにある「地域情報管理システム」の部分でデータの登録、取得、削除、更新(CRUD)などを行います。
余談ですが、データの更新などを行う時の関連図のことを「クラッド図(CRUD)」なんて呼びます。

でわでわ。。。