エンタープライズシステム開発のアンチパターン「スーパーセット地獄」

2009年5月22日

「スーパーセット地獄」というのは、ドイツの企業AOK Systemsのアーキテクト Thorsten Franz氏が、ブログ「Notes from the Ivory Tower Part 5: Enterprise Software Anti-Pattern "Superset Hell"」で示している、やってはいけないエンタープライズシステム開発としてのアンチパターンの1つ。

このスーパーセット地獄に堕ちると、ソースコードはIF文のジャングルとなり、構造は複雑になりすぎて説明できなくなり、なぜそうなっているのかと関係者に聞くと「歴史的経緯によってこうなっている」という答えが返ってきて、メンテナンスが困難になる。という恐ろしいものだと、Franz氏は解説しています。

こういう状況、いろんなところで発生してはいませんか?

Franz氏のブログを参考に、なぜスーパーセット地獄への不幸な道のりが始まるのか、簡単に紹介しましょう。

ビジネスパートナーを管理するための業務アプリケーションを設計することになりました。このアプリケーションを中心として、他のさまざまなアプリケーションが連携する可能性があります。それらの要件をまとめたところ、次のような要件が寄せられました。

  • 人事部からはパートナーの「名前」「収入」「登録日」のデータが必要
  • CRMからは「名前」「営業担当」「担当地区」」のデータが必要
  • 財務部からは「名前」「債務状況」のデータが必要

この要件を、中心となる業務アプリケーションでアプリケーションですべて満たそう、というアーキテクチャを採用したときに、「スーパーセット地獄」が始まるというのです。実際には、アプリケーション横断的なコアコンポーネントは共通部分だけを提供するサブセットで設計すべきだと、Franz氏は説いています。

そしてスーパーセット地獄に進まないためのアドバイスとして、アプリケーション横断的なコンポーネントでは、各アプリケーションの要求が重なる部分の機能を提供することをいちばんに挙げており、続いて技術的な純粋さを追求する、といったことを挙げています。

Tags: 業務アプリケーション システム開発

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly




タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本