システム設計

システムアーキテクチャ構築の実践手法

システムアーキテクチャ

システムアーキテクチャ構築の実践手法を読んだ。 実務でアーキテクチャ設計に取り組む技術者のための実践ガイド。 前著システムアーキテクチャ構築の原理~ITアーキテクトが持つべき3つの思考が「なぜ」に焦点を当てていたのに対し、本書は「どのように」を解説している。 要求定義から論理設計、物理設計までを一貫して扱い、ビューによる文書化、再利用可能なアセットの活用、判断記録の残し方など、現場で役立つ具体的な...

アーキテクティング アーキテクチャ戦略 アーキテクチャ アーキテクト 設計 システム設計

アーキテクチャ・アーキテクト・アーキテクティングについて

システムアーキテクチャ

概要 システムアーキテクチャ構築の実践手法 (IT Architects’Archive ソフトウェア開発の実践)の第2章を参考に、アーキテクチャ、アーキテクト、アーキテクティングの定義とそれらの持つ要素を整理する。 アーキテクチャとは「構造」である IEEE 1471-2000において、アーキテクチャは以下のように定義されている。 コンポーネント、それら相互のまたは環境との関係、およびその設計...

システム設計 設計 アーキテクチャ アーキテクト アーキテクティング

システムアーキテクチャ構築の原理~ITアーキテクトが持つべき3つの思考

システムアーキテクチャ

システムアーキテクチャ構築の原理~ITアーキテクトが持つべき3つの思考を読んだ。 アーキテクチャ設計に関わるのであれば必読しておきたい本。 アーキテクチャを設計していく上では、単に技術的な解決策だけを考えれば良いわけではない。 この本は、アーキテクチャの設計に関わる一連のプロセスを体系立てで語っている。 アーキテクチャの定義、アーキテクチャの捉え方・構造的な説明の仕方、ステークホルダーとの向き合い...

システム設計 アーキテクチャ戦略 アーキテクチャ アーキテクト

凝集度と結合度

システムアーキテクチャ

概要 ソフトウェア設計において品質を測る基本的な指標として、**凝集度(Cohesion)と結合度(Coupling)**がある。これらは、モジュール化、保守性、再利用性などを考慮する際に重要な概念である。 凝集度(Cohesion)とは 凝集度とは、モジュール内の構成要素(関数や変数など)がどれほど密接に関連しているかを表す指標である。 高凝集(High Cohesion) モジュール内の要素...

設計 システム設計

設計の賞味期限を考える

システムアーキテクチャ

概要 システム設計に「間違い」はあっても「正解」は存在しない。あるのは、そのときの状況に応じた“最適な妥協”である。 設計とは、さまざまな制約の中で意思決定を行い、将来に向けて形を与える行為である。 「設計の賞味期限」という観点を通じて、どのように設計の寿命を見積もり、制約と向き合うべきかを考察する。 設計の賞味期限とはなにか? 「いつまで持てばよい設計なのか?」 この問いを意識することで、設計は...

設計 システム設計 アーキテクチャ戦略 アーキテクチャ

自分的システムの仕様書の構成

システムアーキテクチャ

概要 システムの仕様をドキュメントに書き出したい時にどういった構成であるべきか考えることが偶にある。 自分的システム仕様書の構成を記す。 新しいプロジェクトの設計フェーズはもちろん、既存システムの仕様理解のためにもなる構成になっているはず。 構成 01_overview.md # 全体概要 02_system_architecture.md # システム構成 03_dat...

システム設計 設計 Tips

アーキテクチャ戦略について考える

システムアーキテクチャ

アーキテクチャ戦略について考える ソフトウェア開発において、必ずしもCTOやアーキテクトといった明確なポジションにいなくても、「アーキテクチャ戦略の必要性」を感じ、考える機会がある。 「現場で技術的な方針をまとめたいが、どこから手をつけたらよいかわからない」 「将来の拡張性や組織の成長を踏まえたアーキテクチャにしたい」 「既に蓄積した技術的負債にどう向き合えばよいか知りたい」 本記事では、こう...

アーキテクチャ 組織設計 設計 システム設計 アーキテクチャ戦略

ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用

システムアーキテクチャ

ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用を読んだ。 この本は訳文レビューに参加していた本で、献本を頂いてから再度読み直した。 アーキテクトの意思決定という部分にフォーカスを当てているところが画期的であり、アーキテクチャの設計に向かう人にとって学びがある内容になっている。 本書では、アーキテクチャの不確実性に立ち向かうためのツールとなる5つの質問...

アーキテクチャ アーキテクト システム設計 設計

freee 技術の本 freeeにおけるマルチプロダクト開発

システムアーキテクチャ

freee 技術の本 freeeにおけるマルチプロダクト開発を読んだ。 業務系SaaSだと、共通業務(申請・承認)というドメイン領域で切り出せるのか、なるほど。申請・承認といってもコンテキストが違うとワークフローが違ったり、扱うデータも当然違うと思うので、難しそう。権限や通知と比べると抽象化が難しそうな機能分割っぽさがある。基盤としては申請に関する内容は扱わないようにしているらしい。扱わないよう...

設計 システム設計

信頼性のパターンについて

システムアーキテクチャ

概要 信頼性のパターンについてAzure、AWS、GCPの提唱するパターンに基づいてまとめる。 信頼性とは ユーザー(システムやアプリケーション)が期待する機能を提供し続けることができる性質のことである。 信頼性を支える特性 信頼性は次のような特性によって支えられる。 可用性:システムが利用可能であること 耐久性:データが失われないこと 耐障害性:障害が発生してもシステムが機能し続けること 回復...

信頼性 アーキテクチャ 設計 システム設計