Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編):徹底解説! ITアーキテクトとは何か?(2)(4/4 ページ)
ITアーキテクトの役割を、具体的かつ分かりやすくふ分けして解説する本連載。今回はアプリケーションアーキテクチャ設計の勘所を紹介する。
ポイント10:非機能要件
これまでアーキテクチャ設計における留意点について述べてきました。前述のように、優秀なアーキテクトは以上のような留意点を押さえているため、そもそもシステムに問題が起きにくくなるともいえます。このように、システムのアーキテクチャを設計する上で、必ず押さえなければならないポイントがきちんと整理されていれば、アーキテクチャ設計は“伝承”のようなものではなくなるはずだと私は考えます。
そういう意味において、アーキテクチャ設計の際にとても参考になり、かつ考慮しなければならないのが「非機能要件」です(「機能要件」と「非機能要件」の違いではここでは述べません)。IPA(情報処理推進機構)では、以下の非機能要件を6大項目として定義しています。
参考リンク
非機能要求の見える化と確認の手段を実現する「非機能要求グレード」の公開(IPA)
各項目を見てみると、「システム環境・エコロジー」はインフラ的な側面が多いので、いったん本連載の中身からは除外致します。「移行性」も除外します。よって、次回以降では、アーキテクチャ設計上の課題として認識し、対応していくのは、「1.可用性」「2.性能・拡張性」「3.運用・保守性」「4.セキュリティ」の4つとして考えていきます。つまり、アーキテクチャ設計上の課題をさらに深く考えることになるわけですが、「常にそれがどの要件に分類されるのか?」を意識しながら進めていきたいと思います。
今回は、非常にシンプルなシステムを例として、アーキテクチャ設計における検討ポイントを解説しました。読者によっては、簡単過ぎる内容であったかもしれません。しかし、アーキテクチャを設計するという作業において、問題をできる限りシンプルにして考えることが重要なので、このような方法を紹介しました。複雑なシステムもコンポーネントに分解すれば、シンプルであり、そのシンプルなものが集まることによって複雑な処理を実現しているというのが理想的なアーキテクチャだからです。
今後は取り上げた内容を、さらにアーキテクチャ構成図に反映しながら、解説の対象範囲を拡張させていきたいと思います。これにより、皆さんが何らかのアーキテクチャを検討する際の参考として活用いただければと考えています。
著者プロフィール
熊谷 宏樹(くまがい ひろき)
コーポレート本部 戦略技術センターフェロー
大規模な証券およびカード系システムのチーフアーキテクトを経験し、生産性と品質を向上させるための開発基盤の構築・展開に従事。現在は、社内のアーキテクト育成研修のリーダーを務めるとともに、現場のプロジェクトを支援している。「システムの挙動には必ず理由がある」をモットーに、トラブルの解決にも当たっている。
Copyright © ITmedia, Inc. All Rights Reserved.