ソフトウエア設計とは ― 2024/01/25 22:21
ソフトウエアコンポーネント間の依存関係を管理する技(技術)である。依存関係を最小化し、必要な抽象化を導入し妥協点を見いだすことを目的とする。
と、ある書籍(C++ソフトウエア設計)にありました。
依存関係を管理するとは、複数のモジュール(原作者が自分とは限らない)を適切に活用するための技のことであり、これが依存関係こそがソフトウエア開発の鍵である。
雲のつたない経験でも、複数のモジュール(作者は自分)を適切に活用することの難しさは実感します。大体の場合、適切に依存関係を管理すると言うより、依存関係を再定義する(つまり、利用しようとしているモジュールを変更して適用する)ということが多いです。
これは、早い話、様々なプロジェクトに共通して利用可能なモジュールを開発するスキルが雲に欠けている(というか、無い)ということであり、言葉を換えれば、そのような共通モジュールを作ることの難しさの裏返しだと思います。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。
※投稿には管理者が設定した質問に答える必要があります。