🥁

つぶやきアーキテクチャ

2021/05/19に公開

アーキテクチャに関するドキュメント

アプリケーションにおける、アーキテクチャのドキュメント(設計書)について
調べたこと・わかったことメモです。

そもそもアーキテクチャって?

UML開発者Grady Booch氏の定義

Architecture is the set of significant design decisions that cover the structural components and their behavior, their organization and their style.
(アーキテクチャとは一連の重要な設計判断であり、コンポーネントの構造と、それらの振る舞い、組織、様式をカバーするものである)

ふむ?

アーキテクチャの「四位一体」

こちらのサイト様によると、アーキテクチャ設計は以下の4つの要素に分けられそうです。

  1. インフラ定義:プラットフォーム、ミドルウェア等の選定
  2. サブシステム分割:レイヤ化(水平分割)/パーティショニング(垂直分割)
  3. 並行性の決定:実際に並行動作する単位の決定
  4. キーメカニズムの実装:生産性に大きく影響する「共通部分」の設計・実装

エンジニアのAleksey Kladov氏は、こうした「アーキテクチャに関する知識量」は、そのアプリケーションの開発スピードを左右する要素だと指摘し、特に大規模なプロジェクトにおいて、アーキテクチャを示す「ARCHITECTURE.md」を用意することの重要性を説いています。

Discussion