システム設計を考えようとする時に、エンジニア間のコミュニケーションが重要となります。
その時にハードウェアとソフトウェア、それぞれ担当するエンジニアとバランスを取りながら設計を進めていきます。
正しくシステムを理解する中で、図やドキュメントの作成も必須です。
その中で企業内で活用されるケースが増えているのが、SysMLやUMLを使えるツールです。
ニーズは増えていますが、特にSysMLツールが注目されています。
ここではSysMLについて基礎知識などを紹介しながら、ビジネスで活用する際のポイントや注意点などをまとめていきます。本記事の読後にすぐに、SysMLに関して導入するか検討ができるよう参考にしてみてください。
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
SysML入門!システム開発の基礎から解説
システムを表現するために図式化する方法が取られることが多い中で、SysMLツールを使うケースが増えてきました。
しかしSysMLとは何かを理解することで、より開発で活用することができます。
正しく内容を表現したり、組織などに依存せずにSysMLによって情報を整理することができます。
また多く活用されるUMLと比較しながら、異なる点も理解しておきましょう。
その上でSysMLツールを使うか判断し、システム設計を円滑に進めていきましょう。
SysMLとは何か?
SysMLはSystems Modeling Languageの略称でシステム構造やつながりなどを記述し、図表として取りまとめる記法の一種です。
システム開発を行う時に様々な必要不可欠な部分の概略を記載しながら、各部分の関係を矢印線でつなげながら明確にしていきます。
ハードウェアやソフトウェアに特化したエンジニアが、共通したシステム開発を進める中でコミュニケーションを促進させることが目標です。
正しく議論を行いながらエラーのないシステム開発を行っていけるよう、細かく設計を進めていきます。
システムレベルで設計を進める中で、SysMLはOMGが策定したモデリング言語の一種です。
またSysMLはUMLをベースとしており、操作方法は概ね同じように行えます。
設計で必要な部分のみ図や要素、接続内容を記載していきます。
SysMLとUMLとの違い
SysML | UML | |
対象 | 広範囲にシステム工学をカバーする | ソフトウェア開発に特化 |
ダイアグラム(主要図、記号など) | システム工学に則ったダイアグラムを使える | 様々なソフトウェア開発に使えるダイアグラムを使える |
要件管理 | システム要件を視覚的に表現可能 | 特になし |
システム表現方法 | 量や単位、等式などを搭載可能 | 特になし |
割当に関する表現 | 機能やコンポーネントなどを図へ表現可能 | 直接的に機能などを図へ表現できない |
システム設計を行う中でSysMLとUMLとの違いがどこか、事前に調べている人も多いです。
過去UMLを採用している企業も多く、そこからSysMLに変えようとする時に注意すべきポイントも色々とあります。
SysMLとUMLとの違いを事前に知ることで、設計内容も大きく変わることでしょう。
SysMLはシステム工学で多く活用されているモデリング言語ですが、ソフトウェア開発でも多く活用されています。
要求図や実装時の制約条件を記載するパラメドックス図も追加できたり、不要な図を省略して作成することができます。
一方古くから使われるUMLはモデリングのコツを掴めると多くの企業でも採用されていますが、複数の関係を多く図にすることがあります。
時には内容が多すぎて、混乱してしまうケースもあります。
必要不可欠な部分の図を作成するよう、UMLを活用する際にはトレーニングも必要です。
様々な違いがSysMLとUMLにはありますが、様々な書籍も販売されています。
ここからシステム開発に関する本をチェックすることができますので、内容を参考にしながらSysMLとUMLの違いを見極めていきましょう。
SysMLの基本要素
システム設計で活用されるSysMLは、モデリング言語の一種として使われています。
主に活用される9つの図をシステム設計では追加しながら、SysMLでは詳しく定義していきます。
そこでSysMLを使う中でブロック定義やアクティビティ図といった、SysMLにおける基本的な図の作成方法や役割を理解しましょう。
それぞれ理解することによって、システム開発における活用方法も考えていくことができます。内容を理解して、システム設計に役立てていきましょう。
SysMLのブロック定義図
構造図の一種であるSysMLのブロック定義図は、システム設計では構成要素を表現していきます。
多くのシステムでSysMLを採用する時にブロック定義図を使っており、整理しながら全体像を確認することができます。
色々なブロック定義図で使える型があり、上手く設計で使い分けながら作り出すことが重要です。
ブロック定義図は基本的にUMLのクラス図を採用しており、多くの言語要素を使うことができます。
ブロックは特性や構成要素を表現する単位となり、情報を掲載していきます。
各ブロックは構成要素を分解したり、分類しながら設計することができます。
ツリー構造でシステム設計を作り出しながら、組み合わせて目的となるシステムの全体像を作ります。
各要素のプロパティやシェルなどの指示文を記載しながら、詳細に処理内容を記載していきます。
SysMLの内部ブロック図の役割
ブロック定義図と同じようにSysMLで使われている内部ブロック図でも、システム構造を表現することができます。しかし階層はブロック図で表現できますが、接続する流れを内部ブロック図で具体的に表現します。
SysMLでも多く使われる内部ブロック図ではツリー構造化しながら、各処理の役割を中心に掲載していきます。ブロック内にプロパティと呼ばれる要素を記載しながら、利用方法などを表現していきます。
様々なプロパティによって処理を表現していきますが、例えば全体を構成する中で一部を表現するパートプロパティでは、内部ブロック図で実線部が対象となります。
矩形で表現しながら、処理を表現していきます。また値を表現するプロパティや処理の制約を表すプロパティも構成しながら、構築したいシステムの全体処理を表現していきます。
SysMLのアクティビティ図の活用方法
昨今システムやプログラムのフローチャート図に代わり、SysMLのアクティビティ図が注目されています。
SysMLのアクティビティ図は一連処理を記号で表示しながら、特定アクションを見やすく図式化していきます。
UMLでもコントロールフローを作ることができましたが、どうしてもアクションの開始だけ意味していました。
一方でSysMLのアクティビティ図で、コントロール値としてデータを入れることができるため、開始から停止まで表現することができます。
表記方法は黒丸で記載された箇所から一連処理を開始し、二重丸の箇所で終了となります。
また個々のアクションは角丸四角形、四角形の左側がへこんだ枠は特殊なアクションを表現していきます。
それぞれのアクティビティについて記載しながら、一連の処理とするには矢印でつなげていきます。
これをコントロールフローと呼び、順番通りに処理するように見せていきます。ひし形の部分で分岐させることもできるので、処理内容を分けることも簡単に見せることができます。
SysMLでの要求図の作成手法
要求図はSysML独自のダイアグラムとなっており、UMLでは基本的に作成しません。
あらかじめシステム全体像の中で処理に関して要求する部分をまとめていき、図にまとめることになります。
要求とはシステムに必要な名称やID、テキストなどを設定していきます。
そこからマインドマップなどに変換するように、要求に関する処理結果へと進めることがあります。
SysMLにおける要求図の作成する流れとして、最初にシステムの機能を洗い出して必要な要求内容をまとめていきます。
図にまとめるためにピックアップした要求を詳細に記載しながら、各ケースに当てはめていきます。
システムによっては性能や入出力、物理特性や制約など様々な要求を行うことがあります。
種類を分けながら要求を詳細とともにまとめていき、図として各項目を一纏めにしながら作成します。
お気軽にご相談ください!
SysMLツールの活用と入手方法
様々なSysMLを使えるツールがリリースされていますが、基本的な選び方を間違えるとシステム開発などに支障をきたすことがあります。
また無料かどうかも調査をしっかりと事前に行わなければ、余計なコストが生じることもあります。
そこで多くの企業が選んでいるSysMLツールの中から、注目されている3つのツールを紹介していきます。
それぞれのSysMLツールで特徴やコストなどが変わるので、内容をチェックしながら判断しましょう。
SysMLツールの種類と導入手順
SysMLを導入する中で便利なツールを探していこうとする中で、必要な機能が備わっているか確認しましょう。ツールの種類も豊富で、決してコストも安くありません。設計や開発でコストもかかるので、SysMLツールは適切な機能を備えて問題ないコストで活用できるかが重要です。SysMLで必要な図を作成したり、他のツールと結合することもできます。
SysMLツールの価格も様々で、時には数百万単位でコストが生じることもあります。また継続してツールを使うことがある時には契約も必要ですが、導入時には設計開発におけるプロセスに合致するようにSysMLツールの設定を行いましょう。
プロジェクトを企画してシステム設計から開発を行う時にはSysMLツールの中でも、アクセスや排他制御などが充実しているかチェックしましょう。不足時にSysMLツールの拡張ができる時には、コストと合わせて検討することも重要です。
Sparx Systems Enterprise Architect
オーストラリアにあるスパークシステム社が開発した「Sparx Systems Enterprise Architect」は、UMLをベースにしながら設計が円滑に進められるようにUIなどを構築したツールです。可視化しながらモデリングもできるツールとなっており、ソフトウェアの設計から開発でも役立っています。
様々なツールがスパークシステム社からリリースされていますが、特にSparx Systems Enterprise Architectは簡単な操作が受けています。UMLやSysMLに対応しながら要素などを簡単にまとめることができます。
クイックリンク機能という簡易や要素をスムーズにまとめていきながら、適切に配置できます。またSparx Systems Enterprise Architectにあるツールバーなどを使いながら、効率を上げることもできます。
MagicDraw
MagicDrawはSparx Systems Enterprise Architectと同じく、オーストラリアにあるスパークシステム社が開発したツールです。作成したデータを標準機能として読み込んだり、アドインを使って読み込んでXMLファイルでエクスポートすることもできます。
可視化しながら設計ができるMagicDrawは、様々な図を制作する際に操作も簡単です。SysMLツールとしてMagicDrawはユースケース図やシーケンス図、ステートマシン図などに対応しています。
基本となるブロック定義図や内部ブロック図も作成可能で、それぞれ管理しながら同じデータを別の図に配置することもできます。MagicDrawによって様々な機能を整理しながら、SysMLを活用して設計から開発までスムーズに進めることも期待できます。
No Magic Cameo Systems Modeler
数多くの機能を持っているSysMLツールの一つが「No Magic Cameo Systems Modeler」で、システム設計や開発まで多岐にわたってアプローチをかけるkとおができます。様々な業界でNo Magic Cameo Systems Modelerが活用されており、包括的にSysMLで作成すべき図を描くことができます。
SysMLを活用しながら様々な機能を持っているNo Magic Cameo Systems Modelerは、他のツールと結合させることができます。機能として備わっている要件管理やテスト、プロジェクト管理などをシームレスに結合することができます。
これで既存ツールと併せて、システム開発に活用することができます。またモデリングも独自の規則を定義できるように、柔軟にシミュレーションなどを設定可能です。
SysMLツールの選び方
SysMLツールが市場に出回っており、どれを選べばいいかわからない人も多いことでしょう。操作などが難しければコストだけが増えてしまい、SysMLツールが十分に役立たないこともあります。コスト面や操作しやすいSysMLツールを選びながら、システム設計に役立てていきましょう。
SysMLツールはエンジニアのコミュニケーションを円滑にする働きもあるので、コミュニケーションを取れるように可視化したシステム設計ができるツールを選びましょう。作成したシステム設計図によって、目的や状況を確認できる働きを持っていれば十分価値になります。
また作成内容をシミュレーション検証できるツールもあり、可視化しながら進捗状況を把握できます。使い勝手が良かったり、システム設計で必要な機能が備わっているかコストと一緒に確認しましょう。
システム開発へのSysMLの活用方法
SysMLを活用することによって、様々なメリットが生まれます。
システム設計から開発までスピード感も生まれてくるので、より円滑に進むことでしょう。
またベンチャー企業においては、メリットを十分に活かすことでビジネスにも取り入れることができます。
そこでSysMLを十分に活用したシステム設計から、開発までの流れを事前に把握しておきましょう。
事前にSysMLを活用したシステム開発の流れを理解することによって、スムーズに進めることができます。
SysMLを活用したシステム開発の流れ
SysMLを活用しながらシステム設計や開発を進めていく中で、ツールも活用しながら最初に何をしたいのかを明確にします。そして各機能がどのような働きを持っているかをエンジニアの間で情報共有しながら、システム設計を進めていきます。
様々な図を組み合わせながら、システムを具体化していきます。その後全体のシステム像を理解しながら、多角的にシステム開発を進めていきます。これで全体を徐々に可視化することができ、事前にシミュレーションしていた考慮漏れも着実に軽減させることができます。
あらかじめSysMLを使って要求図やアクティビティ図などを作成することによって、情報もきちんと整理していきます。そしてシステム開発でも検討すべき要素を見出すことができるので、システム設計の価値も上がります。
こうしてクオリティの高いシステム開発へヒントを見つけることができ、エンジニア間で情報共有しながらSysMLを活用して進めることができます。
SysMLの利点とベンチャー企業へのメリット
SysMLの利点としてシステム設計や開発に関して、必要な機能を精査してまとめつつエンジニア間でミスのないように情報共有できる点があります。要求すべき機能やアクティビティ、そして各機能の流れをブロック構成図として可視化することができます。方針も企業内で徐々に決めながら、システム開発をミスなく円滑に進めていくことができます。
その中でベンチャー企業でSysMLの利点を十分活用しながら、スムーズにコミュニケーションを取れるケースが増えています。様々なシステムが開発されている企業と比較しても、柔軟にSysMLを使ってシステムをじっくり検討できます。どうしても長年経過すると機能などがちゃんと引き継がれていないこともあり、時には改めて検討しないといけない状況も出てきます。
しかしSysMLを使ってシステムに関する解釈をスピーディーに行えるだけでなく、ベンチャー企業では新たなルールを作ってエンジニアなどと着実に共有できます。ここからスタートするので大手企業などと比べて、長年培って引き継がれていない要素もあるルールを打破することができます。
SysMLを導入する際の注意点と対処法
SysMLを利用する際のモデリング方法は、基本的にはUMLと共通です。
基本的なシステム開発の流れを理解して、SysMLツールを利用しながらシステム設計から開発まで進めていきます。
その中で体制面やSysMLツールを導入したリソース大きな問題が生じることがあるので、実際にビジネスで使っていく中で改善しながら作業を進めることになります。
主にリソース面や体制面での不足に関する対処法や、代表的な問題点と改善策を見ていきましょう。
リソースや体制が不足する場合の対処法
SysMLを導入する時にツールを使う際にリソースが不足していたり、実際にSysMLを使えるエンジニアが少ないと言った問題も生じます。リソース面ではSysMLを導入しながら設計や開発を進める中で、エンジニアが不足していたりシステムで必要なCPUなどが足りないケースも出てきます。
その際にはSysMLを使って、改めてシステム開発を進める中でブロック構成図などをチェックしながら必要な機能を見極めていきましょう。その後適切にエンジニアやリソースを配分できるように検討できるよう、エンジニア間でもコミュニケーションを取ることが大切です。
SysMLが体制作りでも十分活用できるので、不足している部分があれば内容を考えていきましょう。要求に沿って必要なエンジニアなどを配置していく時に、どうしてもシステムに求められる要求などをクリアできないこともあります。
その中でSysMLを使いながらシステム構成を理解して、マンパワーを適切に割り振るように検討しましょう。
SysML導入における問題点と解決策
様々な問題点がSysML導入において生じますが、システム概要をあらかじめ把握して考慮することが重要です。SysML導入で考えられる問題点が色々とある中で、特にエンジニアなどの間でコミュニケーションが上手く取れないケースも出てきます。
SysMLを使ってシステム設計を進めて情報共有していく中で、意見の食い違いや反発を買って行き詰まってしまうこともあります。特にSysMLを導入してから考えられる問題の一つですが、そもそもSysMLを導入する中で目的を取り違えないようにしましょう。
SysMLを導入することでゴールではないので、適切に活用しながらシステム設計や開発を進めないといけません。そのうえでプロジェクトを企画している時には、行き詰まらないようにSysMLを使って可視化しましょう。様々な角度で構築するシステムを可視化しながら、エンジニア間で情報共有を適切に行えるように改善することが重要です。情報共有する前に体制やリソース不足になっている時には、あらかじめ対策を練ることも必要です。
SysMLのまとめ
SysMLはシステム設計で主に使われる、UMLをベースとしたモデリング言語となっています。
必要な図や要素、関係性を追加しながらソフトウェアやハードウェアの構築を任せられていエンジニア間でのコミュニケーションを進めることができます。
ただ基本的な計画をしっかりと練って、理想的なSysMLツールを導入して作業を進めていきましょう。
もしもSysMLの導入や活用方法で不明点や困ったこと、質問や相談そして案件や依頼があれば、株式会社Jiteraにお気軽にお問い合わせください。
Jiteraは、SysMLに関する様々な情報やノウハウを持っています。
無料相談も実施しているので、SysMLについて悩んでいる部分があればお気軽にご連絡ください。
SysMLを業務などに活用して、より良い仕事環境を手に入れましょう。