blog株式会社ロビットの公式ブログです2017-09-05シーケンス図をマークダウン風の何かで書くエディタを作ってみたこんにちは。今回も前回同様、システムを設計する上で便利な手法とツールをご紹介したいと思います。典型的なスマート家電やIoT系のプロダクトを開発する際には、必ず複数のデバイスやシステムと連携する必要があります。ものが連携して初めて一つのプロダクトとして機能します。いった複雑なシステムを一人で頭の中だけで、爆速で商業レベルに出来るフルスタックエンジニアはおそらく世の中に数えるほどしかいないので、現実的には複数人が連携しながら開発することになるかと思います。複数のシステムがどうやって連携していくかを複数人で正確に共有し、明文化しておくことは意外と難しかったり工数がかかる作業だったりします。そこで今回はこういった場合に便利なシーケンス図と、それをテキストベースで描画出来るソフトをご紹介致します。シーケンス図とは複数のオブジェクトが情報をやり取りする際に、時系列順にその流れを表現したものです。詳しい説明は例によってWikiに譲るとして、今回はmornin’のように単独でネットワークにつながらないデバイスのファームウェアを別のネットワークに接続することの出来るデバイスからアップデートする例を考えてみたいと思います。ここでは、ネットワークに繋がるデバイスがサーバーにファームウェアの最新バージョンを問い合わせ、対象のデバイスのファームウェアバージョンが最新のバージョンでない場合に最新のファームウェアをダウンロードし、ファームウェアのバージョンをアップデートする、といったような例を考えてみましょう。ファームウェアを更新する場合のシーケンス図こういった図を用意しておけば、各システムがどういった要求を投げ、どういった結果を期待するのか、またどういった例外を想定すればいいのかすごくイメージしやすくなりますよね。何か変更があった際にデザインが崩れたり、微調整するのが非常にめんどくさかったりします。前回ご紹介したguiflow然り、テキストで記述すると自動的に図が生成されるとこういった煩わしさから開放されるので、そういったものがあると非常に便利なのですが、Wiki用のプラグインだったり、Webサービスだったりと、ローカル環境で手軽に使えるものがあまりなかったので、Electronで作ってみました。なんとかMac上で動く程度にしか作ってないので色々ひどいですが、GitHub上に公開しておきましたので、興味があるかたは御覧ください。中身はどうでもいいから使ってみたいという方はこちらにあるzipファイルをどうぞ。Diagramsという素敵ライブラリが存在するので、ほとんどこれを埋め込んだだけの代物ではありますが、組み込み屋とアプリ屋が仕様を決める際のちょっとした確認にも便利かと思います。先程のサンプルのシーケンス図は下記のように表現出来ます。これだけでシーケンス図が書けてしまうので、自分がロジックを考えるときなんかにも紙に書く代わりにこれを使って頭の中を整理したりするのにも使ったりしてます。仕様のドキュメント化は複数人で開発をする上では大事ですが、気合いれすぎてドキュメント化を進めると開発するエネルギーと時間が無くなって最終的には管理されなくなるみたいなのはあるあるだと思うので、無理しない程度に省エネでサクッと出来るといいかと思います。以上、シーケンス図と描画ツールのご紹介でした。Electron便利ですね。オフィスから見た花火大会。plusにおける機械学習の活用こんにちは。mornin’」明日で発売から一年!今日までの出来事を振り返ってみたこんにちは、ロビットの高橋です。実は明日で「めざましカーテ...2017-05-09組み込み開発向けモジュール設計手法こんにちは。Zeroに...2017-03-28メカエンジニアにとって3DCADとは何かこんにちは、ロビットの平野です。ユーザーに捧ぐ!気になるアレへの対処法5選+αこんにちは、ロビットの河北です。»めざましカーテンmornin'すっきりとした目覚めを手に入れる体のリズムを整える、めざましカーテン購入(amazon)はこちらロビットについてロビットは、人々の生活の不便や困難を解決し、日常をより良くするものづくりベンチャーです。月別アーカイブ注目記事めざましカーテンmornin'ロビットが製作している、すっきりとした目覚めを手に入れる体のリズムを整えるめざましカーテンです。購入(amazon)はこちら株式会社ロビットについてロビットは、誰もが抱えている日常的な問題を、これまでにない形で解決するハードウェアベンチャーです。ロビットのWebサイトへ採用情報についてロビットでは一緒に働いてくれるメンバーを募集しています。Reserved.スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。