アーキテクトの審美眼
翔泳社のDBマガジンに連載中の記事のこれまでの一覧です。
No. 1 アーキテクチャとは何か
- 例えばイベント駆動を考える
- アーキテクトの悩み
- アーキテクチャの縦と横の関係
- 縦横2つに分ける理由と効果
- 縦と横で表現したアーキテクチャの例
- もう一度世の中の動きを見る
- 今後の連載予定
No. 2 俊敏なアーキテクチャ
- システムを俯瞰する視点「俊敏さ」
- 抽象化を支えるボトムアップ
- 俊敏なアーキテクチャの構築法
- ITシステム間の接続
- データ品質の確保
- ビジネスプロセスの最適化
- ビジネスの観測可能性の実現
- ビジネスの制御可能性の実現
- 情報一元化の達成
- 俊敏さをさらに理解する
- 成熟度モデル
- 成熟度モデルの例
- 典型的なロードマップ
- 現実との乖離
- 要求の合意に基づかないシステム開発
- ドメイン駆動型開発
- おわりに
No. 3 概念レベルの分類法から見たアーキテクチャ(前編)
- ソフトウェア開発の基本は分割と複合化
- ソフトウェア開発における分類法
- もの/こと分析
- 「もの」と「こと」の関係を分析する
- 「もの」「こと」からビジネス状況を分析する
- 「もの」の見え方の変化をとらえる
- OOPLの継承による分類とその限界
- 分類法はスナップショット
- おわりに
No. 4 概念レベルの分類法から見たアーキテクチャ(後編)
- 概念モデルの位置付けを振り返る
- 概念モデルからの分析/設計方法
- アプローチによる分析方法の違い
- オブジェクト指向アプローチの分析方法
- データ中心アプローチの分析方法
- ステレオタイプによる分類
- ストリームラインオブジェクトモデリングによる分析/設計
- 分析の練習
- 概念レベルの最新動向
- Webサービスの高度化
- 概念スキーマ層
No. 5 アーキテクチャ構築におけるモデル分割法
- 概念モデルの分割
- 分割基準の客観性の問題
- データモデルの分割基準の客観性を考察する
- オブジェクト指向での客観的分割が困難なワケ
- 責務の配置について考える
- 責務の配置とは
- なぜ責務の配置が客観的分割を困難にするのか
- トップダウン分析を行なう上で重要なこと
- アーキテクチャの基本原則を守る
- 要求の背景にある"WHY"を予測する
- 分割目的の多様性問題
- アーキテクチャ先行定義の基本原則
- 分割目的の多様性問題を解消する関心の分離の原則
- 関心は複数あるのが悩みどころ
- 分割の目的はどう決めるべきか
- アーキテクチャの管理と進化
No. 6 要求の定義法と設計モデルに基づく開発法
- 要求の定義法の客観性
- ユースケースを利用した要求定義とは
- ユースケースで客観性のある要求定義は可能か
- ユースケースによる要求定義の課題
- 要求追跡性の重要さ
- ソフトウェア開発法の現状と課題
- 手続き型による開発法
- 手続き型の欠点
- 設計モデルに基づく開発法
- 設計モデルの利点
- おわりに
No. 7 アーキテクチャの基本構造
- "Why"に基づくアーキテクチャの構築
- 要求の多次元性
- 要求の多次元性の詳細に迫る
- オブジェクト指向における概念モデルの分類法の実現
- ソフトウェアの内部構造
- 縦の構造の構築法
- 縦の構造の構築例
- 実装クラスの多重継承の問題
- インターフェイスの多重継承
- 縦の構造の単純化
- オブジェクト指向言語のクラスの限界
- アーキテクチャの構築に"Why"が重要なワケ
- 段階的拡張のためのレイヤ構造
- 段階的に拡張可能な構造の作り方
- 段階的に拡張可能なアーキテクチャの例
- おわりに
No. 8 アーキテクチャの構造変更の基本方針
- オブジェクト指向の利点を生む責務の配置の原則
- オブジェクト指向の欠点-散乱ともつれ合い
- 散乱ともつれ合いの解消法
- 要求の変更の単位と保守の単位の両立は困難
- クラスによる保守の単位から変更の単位を分離する
- アスペクト指向
- サブジェクト指向
- アスペクト指向による変化への対応法
- アスペクト指向の弱点
- サブジェクト指向による変化への対応法
- アスペクト指向とサブジェクト指向の組み合わせ
- モデルの対称性
- おわりに
No. 9 スケーラブルなアーキテクチャ
- スケーラビリティの要因
- データアーキテクチャを決める4つの技術要因
- 水平分割
- 垂直分割
- 概念レベルの「もの/こと」分析がスケーラビリティを決める
- 「もの/こと」分析によるスケーラビリティの決め方
- データの種別ごとの適用技術一覧
- データモデルのパーティショニング分割の具体例
- 企業システムのデータの配置とデータアーキテクチャ
- アプリケーションの変更コスト
- アプリケーションアーキテクチャの実現方法
- データモデルを基準としたアプリケーションの配置方法
- OOPと、フレームワークやミドルウェアの棲み分け
- おわりに