某人材紹介会社様

導入の背景

10数年前に構築された Java の基幹システムが古くなり、機能追加や改修にコストも時間もかかるようになっていました。

利用されているフレームワークは構築ベンダーの独自フレームワークが利用されており、社内のエンジニアがコードをメンテナンスすることもできないため、新たに最新のアーキテクチャで構築し、社内のエンジニアを活用して、素早く機能追加や改修ができるように内製化することを目指して、基幹システム更改の案件は開始されました。

基幹システム更改に際してモデリングという文脈から弊社も構築に参加致しました。

ドメイン駆動設計による構築

更改した後は社内のエンジニアによる運用、保守を目指していました。運用、保守フェーズで素早い機能追加や改修に対応するため、ドメイン駆動設計を活用した開発を行いました。

旧システムはトランザクションスクリプト形式でデータモデルを編集していくアプローチで構築されていたため、既存のソースコードを読み解くのは困難でした。また、仕様書などのドキュメントも残されておらず、どのようなビジネスルールが隠されているのかは属人化されていました。

ドメイン駆動設計によるシステム構築を行ったことで、クラス名やメソッド名に目的に応じた名前が付けられ、エンジニアがソースコードを読むことで、どのような処理を行っているのか判断ができるようになりました。

今後は社内のエンジニアによって、適時リファクタリングが進められ、素早く機能追加や改修がされていくことになるでしょう。