2017.5.28
俺のカクテルデータベース#1【UMLを用いた設計】
UMLってご存知ですか。
Unified Modeling Languageっていう、設計モデルの記法ですね。日本語では
統一モデリング言語ともよばれていますね。
僕がSEという業界を選んだ、一番の理由は
実務経験を積むことで、自分の作りたいシステムをより効率的に作れるようになりたいというところから来ています。
いまは、学生時代に作ったプロダクトのほぼ全てが非公開と化しており、自作システムの中で残ってるのって日記とコメントフォームぐらいしかないんですが、今新規にプロダクトを制作できない理由の一つに
設計スキルの稚拙さが挙げられるんですよね。
まだ実務経験は積めてないのですが、UMLの書き方を知ることができる機会は得られてはいるので、試しに書いてはみました・・・・・・。
まずは
ユースケース図です。
ユーザーがどういうアクションを取るとシステムのどういうメソッドが呼び出されるか、というのを簡単に書く図ですね。まずこれが全てのベースになります。
これを見て、どういうメソッドが必要なのかとか、どういう処理の流れになるのかとか考えるわけですね。
まぁ、これはこれで良しとしましょう。
次に
アクティビティ図ですね。一つのファイルに2つのアクティビティを書くという、たいへんお行儀の悪い図になっています。ちなみに分岐条件は見りゃわかるので書いてないです(笑)
この辺りから段々
不穏な空気が漂ってきています。
そう・・・・・・
書くことがないのです・・・・・・。
それを
シーケンス図に落とし込むと、それが露骨に出てきます。
そう、このカクテルデータベース、やってることは非常に単純で
フォームに入力された条件に従ってデータベースを検索し、結果を返すだけのプロダクトでしかないので、これ以上何を書けばいいのかさっぱりわからないのです・・・・・・(笑)
ただ、他のカクテルデータベースとの決定的な違いとして
「AND/OR検索の使い分けができる」というところです。むしろそれがやりたいから自分で作ることにしたわけで。
しかし、言ってしまえばそれぐらいしかやることがなく、それは全てパラメータとして解決可能であるので、わざわざメソッドが要らない気がするんですよね・・・・・・。
ということで、全部まとめてこうなる、という。
一応
クラス図も書きましたが、なーーーんか実用的じゃないというか、こんなんでいいんですかね感が。
下の方に
オブジェクト図の下書きらしきものが見えますが気にしないでください(笑)
ただ、これ以上抽出できるものがわからないので、とりあえずこれで作ってみたいと思います。
そう、大事なのはトライ&エラーですからね。やってみなきゃあ、わからない。
研修会場でEclipse上でXAMPPが動かせることが発覚したので、こっそりデータ持ってきて開発してようと思いました。(笑)