- 複数のソフトウェア同士が通信をしている
- データ構造に変更が必要になった
- どのソフトウェアを変更するか知りたい
これを1枚の図で知りたい。
ソフトウェア間ブロック図(仮称)
draw.ioで作成 (5分)
https://drive.google.com/file/d/0B-b9m8ugUmdlX1B3djFqY2p5YUk/view?usp=sharing
(各ソフトウェアの正式名称を記載して使う)
上の図から分かること
- ソフトウェア間の通信の有無
- データ構造の変更がどのソフトウェア変更作業に波及するか
- (チェックボックスを追加して)全体の作業進捗
- データ構造変更と関連実装変更
- 通信の実装変更
- 作業の優先順位
- どのソフトウェアを変更するとテストしやすいか
- 例: エミュレータVと組込みソフトBが最初、など
分からないこと
- 見積もり
- 個々のソフトウェア変更がどれくらいの作業量になるかは詳細を把握した別資料が必要
- 変更すべき共用ファイル
- 共用の.hファイル、.cファイルなど
- Visual Studio code mapのようなものを簡略化してA4一枚で作れないだろうか
UMLコミュニケーション図
上記の図はUMLコミュニケーション図として描けるかもしれない。
http://www.itsenka.com/contents/development/uml/communication.html
接続線とは別に矢印を追加して、そこに文字を追加すると読みやすいかどうか。
矢印と接続線はdraw.ioでは別コンポーネントなので、ブロックを移動時に矢印が追従しない(接続線は追従する)という編集時の手間がある。
探していた図など
UML図やソフトウェアデザインに関する本を100冊程度ざっと本屋で見てみたが、自分が欲しい図は見つからなかった。
(google検索でも見つからず)。
一方で、センサー同士のブロック図は見たことがあり、それをベースとして上記の図を作った。
現在探している図は、「変更作業で実際に変更することになる.cファイル, .cppファイル、.hファイルがそれぞれのソフトウェアでどのように関連しているかが分かる」図。
マインドマップで作ってみたが、いまいち見やすいものはできなかった。
その図の目的は、共用ファイルの追加・変更をどのようにすれば将来読みやすい構造になるかを把握すること。
短時間でエッセンスだけを把握できる資料作りの技術はこれからも向上させたい。