オブジェクト指向開発でのUMLを活用した既存実装への追加機能開発のコツ
業務でソフトウェア開発をしていると,別のクラスで用意されているAPIにアクセスして既存実装に機能を追加する場面がけっこうある。
実際に2019年11月頃にC++の開発業務でこういう仕事に取り組んでいた。あれこれ調査して2週間くらいかかってどうにか実現できた。しかし,作業が終わってから振り返ると,改善点があったなと反省した。
以下のようにすればよかった。
その時の作業では,クラス図を作成するところまでは行っていた。ただし,メンバー変数やメンバー関数が多く,メンバー関数は記述していたが,メンバー変数の記述を省いていた。まず,ここがダメだった。
そして,その後にクラス間の関係の観察が不足していた。調査を進めていくと,当初想定していたAPIではなく,本質的には別のAPIを使えばいいということが判明した。こちらの新しいAPIは実はクラス図上で関連が存在していたのだが,クラス図を振り返らなかったため,関連に気づくことができず,別のルートからのアクセスを調査を進めて,発覚が遅れてしまった。
せっかくUMTP L1の資格を取得して開発業務にUMLを取り入れたものの,まだまだ未熟だと感じてしまった。
こうした実業務を通じたノウハウは貴重なので,ここに記録して次回の参考にしたい。
リンク