多くの場合でアーキテクチャという言葉は「仕様」のことです。
ただし、設計思想など、仕様以上のことも含めて話すことがあることから、アーキテクチャと呼んでいます。
仕様だけでなく、なぜその仕様になったかを含む言葉です。
現実の物理法則とかは人が決めたものではないですよね。
卵を落とせば割れる。これは仕様ではなく、観測から得られる法則です。
そういったものはアーキテクチャとは呼びません。
情報処理の世界では、人が決めた法則がたくさん登場します。
現在主流のCPUが64bitなのは、人が決めたことですよね。
こういう決め事一つ一つは、漠然と「よし、64bitにきーめた。」なんてものではないわけです。
ちゃんと、そういう決め事には理由があります。
それは、単に設計思想の場合もあれば、徹底的に効率を追求した結果の場合もあります。
日本語を使った漢字の名称って、単語単語が意味を持っているせいで不明確になりやすいんです。
64bitCPUの設計思想に合わせてOS作ってくれ、っていうと意味がなんだか通じませんよね?
64bitCPU(の仕様)に合わせてOS作ってくれ、が正しいと思います。
しかし、CPUを64bitにすれば現在の計算処理で困ることが極端に少なくなる、128bitでは逆に計算量が多すぎて処理が遅くなる可能性がある、よって64bitにする、なんてことはただの判断なんですよね。こういう話をする時には仕様よりも設計思想と呼ぶ方がふさわしいですよね。
これらを、包括的に表す単語としてアーキテクチャと呼んでいます。
一つ、他の例をあげてみましょう。アーキテクチャを作成する人のことをアーキテクトといいます。
コンピュータ・アーキテクチャに載っている例はとても複雑なので、簡単な例としてソフトウェア・アーキテクトの仕事を取り上げてみます。
いろんなアプリケーションで確認のためのメッセージボックスが画面に表示されますよね?
これに対して、「メッセージボックスを表示するときにはMessageBox.Showを使う」というルールを作ります。
ソフトウェアを構築する上でのやり方一つ一つを明確にしていくのがソフトウェア・アーキテクトの仕事です。
そしてその成果物がソフトウェア・アーキテクチャなのです。
実際には、ソフトウェア・アーキテクトはより効率を追求したり、プログラムが堅牢になるようにと、よりよいルールを模索していきます。
「こうした方が作りやすいぞ」という場合もあれば、「こうすると処理が高速になる!」という場合もあります。
そこの根底にあるのが設計思想であり、そして出来上がったものが共通仕様であり、それら全体をまとめて、ソフトウェア・アーキテクチャと呼ぶのです。
なんとなく伝わりますかね。まあ、割と漠然としてます。便利な言葉なんです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。