はじめに
こんにちは!今回はUmlSysmlについて学んできました!
業務で利用するほか、応用技術者試験にもでてきますし、この機会にまとめておきます!
そもそもUMLってなに?
UMLとはソフトウェアの設計、システムの動作、構造を視覚的に表現するものになります。これにより複数人での認識合わせや個人での整理を行うことができます。
なぜUMLが必要なのか
もし決められた決まりがなく各々が独自の図を使って、または図を使わずにプログラムを整理していたらどうでしょうか?プログラムは複数人で作るのがほとんどだと思います。いうまでもなく認識のずれ等問題が起きてしまうでしょう。
どんな種類がある?
クラス図
その名の通りクラスとクラスの関係を示すものです。以下の図のようにクラス名、そのクラスが持つプロパティおよびメソッドが一箱の単位でまとめられておりそれらの箱が様々な種類の線(継承、関連、集約)で結び付けられることによりクラス同士の関係が表されます。
こちらはショップでの注文プロセスを示しているクラス図であり
①Customer(顧客)がOrder(注文)を所有している
②Order(注文)がProduct(商品)を参照している
ということを表しています。
シーケンス図
クラス図ではクラス同士の関連でしたが、シーケンス図はインスタンス同士の関連が表現されたものになり、どういうインスタンスがあるのかを把握することができます。ある時間軸内で視覚的に表現できます。
上から下へ時系列が進みます。上に登場人物(インスタンス)が並んでいます。登場人物の線のしたに書いてあるところから引かれる矢印がインスタンス生成、生成されたインスタンスのメソッド呼び出しを表しています。
ユースケース図
ユースケース図は作成しようとしているシステムにのせる機能を洗い出すために作成するものです。
ここまでの機能はxx要素で実現する ここからはこっちがyy要素が実現するなど決めます。
ユースケース図を用いることで開発者と顧客などの異なる立場の人たちの間で認識合わせをするのに役立ちます。
上の図は自動車の利用及びそれに伴うメンテナンスを表したユースケース図となっています。ドライバーがすること、整備士がすることが一目で分かりますね!
業務への活用事例
実際に業務でこのように使われているのを見たことがあります。
- 新しく実装に入るメンバに対しキックオフとしてシーケンス図を使用し、今のプログラムの処理の流れを共有
- 設計の段階でどのようなクラスを用意するかクラス図を作成しながら整理する
おわりに
今後も使いながらUMLの各図をマスターしていきます!最後まで読んでいただきありがとうございました!