ソフトウェアの仕様書を作成する必要が出てきており、仕様書の作成に際してUMLの勉強をしています。今回はUMLについて勉強したことをまとめていきます。
内容にボリュームがあるため、何個かの記事に分けて記載していき、今回は導入編です。今回は下記の本にて勉強をしてます。
目次[非表示]
UML概要
UML(統一モデリング言語: Unified Modeling Language)は、システムやソフトウェアの設計を視覚的に表現するための標準的なモデリング言語です。OMGという団体が規格を策定しており、現在は2.5.1というバージョンが最新です。700ページ以上ありますが、原文を見たい方は下記参照お願いします。
About the Unified Modeling Language Specification Version 2.5.1
少し話がそれてしまいましたが、モデリングという馴染みが無い言葉が出てきましたが、一言でいうと複雑なシステムを簡略化して表現することだと思ってます。
私は車の整備を良くするので、車をベースに考えると下記のようなイメージになります。
厳密にいうとブレーキがあったりサスペンションがあったり更に細かく分解するとネジがあったりしますが、そこまで細かく分解してしまうと全体像を把握するのが大変になってしまうため、物事の本質をとらえるために抽象化することをモデリングということが多いみたいです。
UMLを利用する目的
UMLはオブジェクト主にオブジェクト指向のソフトウェア開発にて使用されます。UMLが登場する前は多くのオブジェクト指向開発方法論の方法論者がいて、表記方法もたくさん存在していたみたいです。
このように表現方法がたくさんあるとエンジニアはプロジェクトが変わるたびに異なる表記方法を学ばなくてはいけないため、効率が低下してしまいます。
統一的な表現手法を使う事で学習する時間を減らしエンジニアは効率よく開発をすることが出来るようになります。
また、最近時はシステムが大規模かつ複雑になってきております。大規模開発をするうえで様々な分野の担当者や海外の方とも開発をすることがあると思います。そのような大規模な開発を行う上で統一の言語があることでスムーズに連携を取ることが出来るようになります。
補足になりますが、2000年代ではUMLはソフトウェア開発だけではなくビジネスをモデリングする際にも使われてました。
例えば下記のように2004年の記事でビジネスモデル作成する際にUMLが活用されていたことが分かります。
このようにUMLを使う事で開発だけでなくビジネスモデルなど様々な分野のモデリングをする際に役に立ちます。
構造図と振る舞い図
先ほども述べた通りUMLはシステムの全体像を分かりやすく表現をするための手法です。UMLでは整理するための図が何個か用意されており、大きく分類すると構造図と振る舞い図の2つに分類することが出来ます。
構造図は静的な構造を表すもので本質的な部分と紐づく関連のものを表現するのにつかい、振る舞い図は動的な構造を表すもので実際にどのように動くかを表現します。(先ほど紹介した図は構造図の方です。)
二つの違いを絵で表すと下記のようになります。
先ほど紹介してない振る舞い図の方に着目して説明するシステムの動きがどのように変化していくかを表現していくものとなってます。(時系列で表現することもあれば状態の変化に着目して書く場合もあります。)
UMLに登場する構造図と振る舞い図のダイアグラム名
UMLでは構造図と振る舞い図(正確には振る舞い図の中に相互作用図もあります)を表現するためにいくつかのダイアグラム(図)が用意されております。ダイヤグラムについて表にしたのが下記の表です。
(かんたんUML入門より抜粋。★が付いている項目は相互作用図)
次回の記事からは上記表の中でよく使う項目について勉強し整理していきます。
UMLの共通要素
この記事の最後として先ほど紹介したダイアグラムで共通に利用できるモデル要素があるので紹介します。今回紹介する図形はDraw.ioというツールを使って作成しております。アプリケーションをインストールして使う事も出来ますが、インストールしなくてもオンライン上で使う事も出来ますので、よろしければ使ってみてください。
ノート
メタ属性
制約
タイプとインスタンス
参考文献
最初に紹介した書籍以外で参考にしたサイトなどを記載します。
Enterprise Architect 17.0 日本語版 ヘルプ
UML2 表記法ガイド Kindle版
0 件のコメント:
コメントを投稿