ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

ソフトウェアアーキテクチャ

索引 ソフトウェアアーキテクチャ

フトウェアアーキテクチャ(Software Architecture)は、ソフトウェアコンポーネント、それらの外部特性、またそれらの相互関係から構成される。また、この用語はシステムのソフトウェアアーキテクチャの文書化を意味することもある。ソフトウェアアーキテクチャの文書は開発依頼主とのコミュニケーションを容易にするもので、概要レベルの設計に関する早期の決定を促し、プロジェクト間でのコンポーネントとパターンの設計を再利用することを可能にする。.

45 関係: 可用性多層アーキテクチャ互換性建築学形式手法保守性信頼性ユーザビリティプラグインパイプ (コンピュータ)パターンデータ構造デイビッド・パーナスデザインパターンデザインパターン (ソフトウェア)フォールトトレラント設計ベストプラクティス分散コンピューティングアルゴリズムアンチパターンアーキテクチャ記述言語インペリアル・カレッジ・ロンドンエンタープライズアーキテクチャエドガー・ダイクストラオブジェクト指向プログラミングカリフォルニア大学アーバイン校カーネギーメロン大学クライアントサーバモデルシステムアーキテクチャソフトウェア工学ソフトウェアコンポーネントサービス指向アーキテクチャ複雑性要求仕様計算機科学関心の分離IEEE 1471Peer to PeerSSADMTOGAF抽象化 (計算機科学)標準データモデル情報セキュリティ拡張性1990年代

可用性

可用性(かようせい、英:Availability; アベイラビリティ)は、システムが継続して稼働できる能力のこと。 可用性に信頼性・保守性を含めたものをRAS、更に保全性・安全性を含めたものをRASISという。.

新しい!!: ソフトウェアアーキテクチャと可用性 · 続きを見る »

多層アーキテクチャ

多層アーキテクチャ(たそうアーキテクチャ、Multitier architecture)とは、ソフトウェアアーキテクチャパターンである。 アプリケーションを複数の"層"に分け、それらを独立したモジュールとして開発・保守する。各層はインタフェースを定義しモジュール化されたソフトウェアであり、テクノロジーの進歩や要求の変化に合わせて各層を個別に置換できる。 各層をそれぞれ異なるプラットフォーム上で動かし、層ごとにプラットフォームの変更が可能である。 例えばクライアントのオペレーティングシステムをMicrosoft WindowsからUNIXに変更しても、他の層(ビジネス層、データベース層など)は変更しない。.

新しい!!: ソフトウェアアーキテクチャと多層アーキテクチャ · 続きを見る »

互換性

互換性(ごかんせい、)とは、ある部品やコンポーネント(構成要素)などを置き換えても同様に動作させることができる性質のこと。 特に工業製品では、互換性を確保することで新たなシステムを用意する必要がなくなり、設計や部品の再利用性が高まることでコストカットを見込めることや、過去の製品からの買い替えなどを進めることができたりする。ただし、古い基準に縛られてしまうために技術革新の妨げとなるという側面もある。互換性を確保するために余計なコストがかかる場合は軽視されることがあるほか、メーカー間の互換性はベンダーロックインを狙うため、あえて削ぐものもある。.

新しい!!: ソフトウェアアーキテクチャと互換性 · 続きを見る »

建築学

建築学(けんちくがく)とは、建築物の設計や歴史などについて研究する学問である。構造や材料などの工学的な側面と、デザインや建築史について研究する芸術的・文化的な側面を持つ。 かつての建築家があらゆる課題を各自解決する必要があったように、建築学は総合的学問であったが、建築と一口に言ってもその応用範囲は、広大かつ多岐にわたる。構造的側面、芸術的側面はもとより、都市計画などにおいては、人間社会におけるライフスタイル、ひいては、精神的分野にまで踏み込んだ形で計画され実施される。すなわち、構造分野においては、数理的解釈を必要とする理科学的知識を必要とし、芸術分野においては、精神論的解釈が求められる。またその両者を高い次元において両立させるための総合力が不可欠である。 そのためいわゆる建築学といわれる分野の知識以外にも、機械工学、電子工学、土木工学、精神論、社会学、法学、経済学、語学、環境学、エコロジー分野など、多岐にわたる知識を広く浅く知る必要がある、特殊な学問である。その学問的性質上、現代では完全な分業化が進んでおり、それぞれの分野に特化している。.

新しい!!: ソフトウェアアーキテクチャと建築学 · 続きを見る »

形式手法

Z言語を使った形式仕様記述の例 形式手法(けいしきしゅほう、formal methods)は、ソフトウェア工学における数学を基盤としたソフトウェアおよびハードウェアシステムの仕様記述、開発、検証の技術である。ソフトウェアおよびハードウェア設計への形式手法の適用は、他の工学分野と同様、適切な数学的解析を行うことで設計の信頼性と頑健性が向上するという予想によって動機付けられている。 形式手法は理論計算機科学の様々な成果を基盤として応用したものであり、数理論理学、形式言語、オートマタ理論、プログラム意味論、型システム、代数的データ型などを活用して、ソフトウェアおよびハードウェアの仕様記述とその検証を行う。.

新しい!!: ソフトウェアアーキテクチャと形式手法 · 続きを見る »

保守性

保守性(ほしゅせい、英:maintainability または serviceability)は、 指定された条件下で規定された手順および資源(材料・設備・治工具・ソフトウェア等)を使用してアイテムの保守が行われた場合、与えられた使用条件において、要求された機能が保持される、または修復される能力をいう。.

新しい!!: ソフトウェアアーキテクチャと保守性 · 続きを見る »

信頼性

信頼性(しんらいせい、 reliability)は、JIS-Z8115:2000『信頼性用語 (Glossary of Terms Used in Reliablity)』 において、「アイテムが与えられた条件で規定の期間中、要求された機能を果たすことができる性質」と定義される。「一定の条件下で、安定して期待される役割を果たすことのできる能力」と定義されることもある。 同様に信頼度についても定義されており、そちらは「アイテムが与えられた期間与えられた条件下で機能を発揮する確率」とある。 JISにおいては定量的な「信頼度」と定性的な「信頼性」という二つの用語を使い分けされているが、NASAの定義 (SSP 30000 S.9) では、 Reliability: A characteristic of a system or an element thereof expressed as a probability that it will perform its required function under condition at designated times for specified operating periods.

新しい!!: ソフトウェアアーキテクチャと信頼性 · 続きを見る »

ユーザビリティ

ユーザビリティ(usability)あるいは日本語で使用性(しようせい)とは、使いやすさとか使い勝手といった意味合いで使われることが多い。しかし、その語義は多様であり、関連学会においても合意された定義はまだ確立されていない。 国際標準化機構によるISO 9241-11は「特定の利用状況において、特定のユーザによって、ある製品が、指定された目標を達成するために用いられる際の、有効さ、効率、ユーザの満足度の度合い」と定義し、有効性、効率、満足度を挙げる。ヤコブ・ニールセンもコンピュータのインタフェースデザインにおいてこの問題に取り組んでいる。ニールセンの『ユーザビリティエンジニアリング原論』 では、学習しやすさ、効率、エラー、満足が挙げられる。 ほかにISO 9126はソフトウェアの品質に関する規格で、理解性、修得性、操作性を挙げている。.

新しい!!: ソフトウェアアーキテクチャとユーザビリティ · 続きを見る »

プラグイン

プラグイン (plug-in).

新しい!!: ソフトウェアアーキテクチャとプラグイン · 続きを見る »

パイプ (コンピュータ)

ある端末上で3つのパイプで繋いだプログラムを実行する際の入出力の流れ Unix系オペレーティングシステムにおけるパイプ(pipe)、もしくはパイプライン (pipeline) とは、複数のプログラムの入出力をつなぐための仕組み(プロセス間通信)の一つである。大変便利であることからUnix系以外でも同様の実装や、あるいは擬似的な実装によって似たようなことができるものも多い。直接の親子関係にあるプロセス間で通信をおこなうためfork前にあらかじめ共有しておく「無名パイプ」と、親子関係などにないプロセス間で一時ファイルなどを通して接続する(接続を確立するためにファイルを経由するだけで、接続自体はファイルを経由するわけではない)「名前付きパイプ」がある。ダグラス・マキルロイがUnixシェル向けに考案したことから始まり、パイプライン輸送からの連想で名付けられた。 特に、シェルなどでは縦棒( | )の記号を使って無名パイプを簡単に利用でき、それを指して「パイプ」と言うことも多い。プロセス群の標準ストリームを連鎖的に相互接続するもので、あるプロセスの標準出力 (stdout) を直接別のプロセスの標準入力 (stdin) に接続する。 「1つだけの仕事をうまくやる、道具のようなソフトウェア」(Software Tools)をパイプラインによって組み合わせる、というアイデアはUNIXやUnix系のOS以外にも、MS-DOS をはじめとする様々なOSやアプリケーションに、動作に多少の違いはあるものの受け継がれている。パイプで連結することを前提とした構成のプログラムをフィルタと呼ぶ。 前述のシェルのコマンドラインにおけるパイプは、中置記法で結合法則を満たす演算子と見ることができる(その時、演算子(オペレータ)のオペランドにあたるのは、各プログラムである)。これを一種の「合成」と見ることもできる。一般に数学で、f, g, h という関数があるとして h(g(f(x))) というような計算をすることを考える時、関数を関数合成の演算子 ∘ で合成した (h∘g∘f)(x) というものを考えることがあるが、パイプの演算子 | はこれに似ており (progF あるいは (progF | progG | progH) といったような感じになる。.

新しい!!: ソフトウェアアーキテクチャとパイプ (コンピュータ) · 続きを見る »

パターン

パターン(pattern、 パタン)は、模範、手本、模様、体系などに翻訳される英単語のカナ表記。 ファッションデザインにおいてはその原型をおこす型紙、もしくは原型自体を差す。.

新しい!!: ソフトウェアアーキテクチャとパターン · 続きを見る »

データ構造

データ構造(データこうぞう、data structure)は、計算機科学において、データの集まりをコンピュータの中で効果的に扱うため、一定の形式に系統立てて格納するときの形式のことである。 ソフトウェア開発において、データ構造についてどのような設計を行うかは、プログラム(アルゴリズム)の効率に大きく影響する。そのため、さまざまなデータ構造が考え出されている。 多くのプログラムの設計において、データ構造の選択は主要な問題である。これは大規模システムの構築において、実装の困難さや質、最終的なパフォーマンスはベストのデータ構造を選択したかどうかに大きく依存してきたという経験の結果である。多くの場合、データ構造が決まれば、利用するアルゴリズムは比較的自明に決まる。しかし場合によっては、順番が逆になる。つまり、与えられた仕事をこなす最適なアルゴリズムを使うために、そのアルゴリズムが前提としている特定のデータ構造が選択される。いずれにしても適切なデータ構造の選択は極めて重要である。 この洞察は、多くの定式化された設計手法やプログラミング言語において、データ構造がアルゴリズムよりもキーとなる構成要素となっていることに現れている。大半の言語は異なるアプリケーションにおいてデータ構造を安全に再利用できるよう、実装の詳細をインターフェイスの背後に隠蔽するような、モジュール化のしくみを備えている。C++やJavaといったオブジェクト指向プログラミング言語はクラスをこの目的に用いている。 データ構造は専門的なプログラミングにとって非常に重要なので、C++におけるSTLや、Java API、および.NET Frameworkのようなプログラミング言語の標準ライブラリや環境において多くのデータ構造がサポートされている。 データ構造が実装を表すのかインターフェースを表すのかについてはいくらか議論がある。どのように見えるかは相対的な問題なのかもしれない。データ構造は2つの関数の間にあるインターフェイスとして見ることもできるし、データ型に基づいて構成されたストレージにアクセスする方法を実装したものとして見ることもできる。.

新しい!!: ソフトウェアアーキテクチャとデータ構造 · 続きを見る »

デイビッド・パーナス

デイビッド・ロージ・パーナス(David Lorge Parnas、1941年2月10日 - )は、オブジェクト指向の基礎となったモジュール設計の概念を生み出したソフトウェア工学の先駆者。また、精密なドキュメンテーションの支持者としても知られている。.

新しい!!: ソフトウェアアーキテクチャとデイビッド・パーナス · 続きを見る »

デザインパターン

デザインパターン.

新しい!!: ソフトウェアアーキテクチャとデザインパターン · 続きを見る »

デザインパターン (ソフトウェア)

フトウェア開発におけるデザインパターン(型紙(かたがみ)または設計パターン、design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。.

新しい!!: ソフトウェアアーキテクチャとデザインパターン (ソフトウェア) · 続きを見る »

フォールトトレラント設計

フォールトトレラント設計(障害許容設計)(フォールトトレラントせっけい、Fault tolerant design)は、システム設計の手法であり、システムの一部に問題が生じても全体が機能停止するということなく(たとえ機能を縮小しても)動作し続けるようなシステムを設計するものである。 この用語はハードウェアあるいはソフトウェアの障害があってもほとんど途切れることなく動作し続けるコンピュータシステムの設計を指して使われることが多い。 他の領域の例としては、自動車の設計でタイヤが一本パンクしても走行できるような設計を指す。.

新しい!!: ソフトウェアアーキテクチャとフォールトトレラント設計 · 続きを見る »

ベストプラクティス

ベストプラクティス(best practice)は、ある結果を得るのに最も効率のよい技法、手法、プロセス、活動などのこと。最善慣行、最良慣行と訳されることもある。また、仕事を行うために最も効率のよい技法、手法などがあるという考え方をいう。すなわち、適切なプロセスを確立し、チェックと検証を行えば、問題の発生や予期しない複雑さを低減させて、望ましい結果が得られると考える。ベストプラクティスは、多くの人々によって反復され、最も効率的で最も効果的であることが時間をかけて証明されてきた。.

新しい!!: ソフトウェアアーキテクチャとベストプラクティス · 続きを見る »

分散コンピューティング

分散コンピューティング(ぶんさんコンピューティング、英: Distributed computing)とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理(ぶんさんしょり)ともいう。並列コンピューティングの一形態に分類されるが、一般に並列コンピューティングと言えば、同時並行に実行する主体は同じコンピュータシステム内のCPU群である。ただし、どちらもプログラムの分割(同時に実行できる部分にプログラムを分けること)が必須である。分散コンピューティングではさらに、それぞれの部分が異なる環境でも動作できるようにしなければならない。例えば、2台の異なるハードウェアを使ったコンピュータで、それぞれ異なるファイルシステム構成であっても動作するよう配慮する必要がある。 問題を複数の部分問題に分けて各コンピュータに実行させるのが基本であり、素数探索や数多く試してみる以外に解決できない問題の対処として用いられているものが多い。分散コンピューティングの例としてBOINCがある。これは、大きな問題を多数の小さな問題に分割し、多数のコンピュータに分配するフレームワークである。その後、それぞれの結果を集めて大きな解を得る。一般的に処理を分散すると一台のコンピュータで計算する場合と比べ、問題データの分配、収集、集計するためのネットワークの負荷が増加し、問題解決の為のボトルネックとなるため、部分問題間の依存関係を減らすことが重要な課題となる。 分散コンピューティングは、コンピュータ同士をネットワーク接続し、効率的に通信できるよう努力した結果として自然に生まれた。しかし、分散コンピューティングはコンピュータネットワークと同義ではない。単にコンピュータネットワークと言った場合、複数のコンピュータが互いにやり取りするが、単一のプログラムの処理を共有することはない。World Wide Web はコンピュータネットワークの例であるが、分散コンピューティングの例ではない。 分散処理を構築するための様々な技術や標準が存在し、一部はその目的に特化して設計されている。例えば、遠隔手続き呼出し (RPC)、Java Remote Method Invocation (Java RMI)、.NET Remoting などがある。.

新しい!!: ソフトウェアアーキテクチャと分散コンピューティング · 続きを見る »

アルゴリズム

フローチャートはアルゴリズムの視覚的表現としてよく使われる。これはランプがつかない時のフローチャート。 アルゴリズム(algorithm )とは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。算法と訳されることもある。 「問題」はその「解」を持っているが、アルゴリズムは正しくその解を得るための具体的手順および根拠を与える。さらに多くの場合において効率性が重要となる。 コンピュータにアルゴリズムをソフトウェア的に実装するものがコンピュータプログラムである。人間より速く大量に計算ができるのがコンピュータの強みであるが、その計算が正しく効率的であるためには、正しく効率的なアルゴリズムに基づいたものでなければならない。.

新しい!!: ソフトウェアアーキテクチャとアルゴリズム · 続きを見る »

アンチパターン

アンチパターン (anti-pattern) とは、ある問題に対する、不適切な解決策を分類したものである 。語源は、ソフトウェア工学におけるデザインパターンである。 主に失敗した開発プロセスに焦点を当てて失敗に陥るパターンを類型化する。そうすることで、そのような事例の早期発見と対応策に関しての提案を目的とする。 競合状態が発生するソフトウェア開発や保守性の低いソースコードなどが主な例である。 アンチパターンという呼び方は、が1995年に作り出したもので、後に書籍The patterns handbookで再掲された。 ギャング・オブ・フォーの書籍『オブジェクト指向における再利用のためのデザインパターン』からヒントを得て、書籍AntiPatternsが出版され、3年後には「アンチパターン」という単語はソフトウェアの設計から一般的な社会の相互作用についても広く用いられるようになった。AntiPatternsの著者によれば、アンチパターンと単なる悪癖、悪習などと区別するには二つの要素があるという。.

新しい!!: ソフトウェアアーキテクチャとアンチパターン · 続きを見る »

アーキテクチャ記述言語

アーキテクチャ記述言語(Architecture Description Language、ADL)とは、ソフトウェアアーキテクチャやシステムアーキテクチャを記述するためのコンピュータ言語または概念モデルである。ソフトウェア開発者がアーキテクチャについてやり取りする場合や、開発者と発注元との認識あわせに使う。またエンタープライズモデリングでも使われる。 ソフトウェア工学分野では、Acme(CMUが開発)、AADL(SAEが標準化)、C2(UCIが開発)、Darwin(インペリアル・カレッジ・ロンドンが開発)、Wright(CMUが開発)などがある。 ISO/IEC/IEEE 42010 (Systems and software engineering — Architecture description)では、アーキテクチャ記述言語を「アーキテクチャ記述で使用される任意の表現形式」と定義し、ADLに最低限要求されることを示している。 事業体モデリングの分野では企業レベルのアーキテクチャ記述言語が開発されている。例えば、ArchiMate(The Open Group)、DEMO、ABACUS(シドニー工科大学が開発)などがある。これらは必ずしもソフトウェアコンポーネントなどを記述しないが、アプリケーションのアーキテクチャをソフトウェア技術者に伝えるのに使われる。 以下では主にソフトウェア工学でのADLについて解説している。.

新しい!!: ソフトウェアアーキテクチャとアーキテクチャ記述言語 · 続きを見る »

インペリアル・カレッジ・ロンドン

インペリアル・カレッジ・ロンドン(英語: Imperial College London, ICL)は、ロンドンに本部を置くイギリスの公立研究大学である。1907年に設置され、主に理化学科目を中心とした大学である。元々はロンドン大学のカレッジの1つであったが、創立100周年にあたる2007年7月にロンドン大学から独立した。法的な正式名称はthe Imperial College of Science, Technology and Medicineであるが、2002年よりImperial College Londonという略称を対外的に使用している。一般的には"Imperial"として知られており、今日において英国を代表する理系に特化した大学である。 インペリアルカレッジは特に理系において世界トップレベルに位置付けられており、科目別では、材料工学が世界3位、医学が4位、情報工学が7位である。 総合では、Times Higher Education World University Rankings 2017で世界8位、QS World University Rankings 2017で世界8位に位置付けられている。さらに、15人のノーベル賞受賞者、2人のフィールズ賞受賞者、70人のRoyal Society のフェロー、82人のRoyal Academy of Engineeringのフェロー、78人のAcademy of Medical Sciencesのフェローを輩出している。 医学部、工学部、理学部からなる理系大学であり、学生数は学部生が約9000人、大学院生が約5300人である。この内約43%が留学生である。中国籍の留学生は13%にも及ぶ。.

新しい!!: ソフトウェアアーキテクチャとインペリアル・カレッジ・ロンドン · 続きを見る »

エンタープライズアーキテクチャ

ンタープライズアーキテクチャ(enterprise architecture、EA) は構成要素(事業エンティティ)、それらの構成要素の外的に見える特性、及びそれらの間の関係を含む、事業構造の厳格な記述である。EAは、用語、要素の構成、及びその外的環境とのそれらの関係、及び 要求分析、設計とエンタープライズの進化のための原則のガイドを記述をする。 この記述は、事業体の目標、事業プロセス、役割、組織的構造、組織的振舞、、ソフトウェア・アプリケーション、及びコンピュータ・システムを含む、包括的である。.

新しい!!: ソフトウェアアーキテクチャとエンタープライズアーキテクチャ · 続きを見る »

エドガー・ダイクストラ

ドガー・ダイクストラ(Edsger Wybe Dijkstra, 1930年5月11日 - 2002年8月6日)は、オランダ人の計算機科学者。1972年、プログラミング言語の基礎研究への貢献に対してチューリング賞を受賞。構造化プログラミングの提唱者。1984年から2002年に亡くなるまでテキサス大学オースティン校の計算機科学の Schlumberger Centennial Chair を務めた。 2002年の死の直前、プログラム計算のについての仕事に対して ACM PODC Influential Paper Award を授与された。この賞は翌年からダイクストラを称えてと呼ばれるようになった。 エズガー・ダイクストラと表記されることもある。オランダ語での発音は、IPA表記で で、エツハー・ウィベ・デイクストラに近い。.

新しい!!: ソフトウェアアーキテクチャとエドガー・ダイクストラ · 続きを見る »

オブジェクト指向プログラミング

ブジェクト指向プログラミング(オブジェクトしこうプログラミング、)は、コンピュータ・プログラミングのパラダイムのひとつで、オブジェクト指向の概念や手法を取り入れたものである。プログラムを、データとその振舞が結び付けられたオブジェクトの集まりとして構成する、などといった特徴がある。このパラダイムを指向しているプログラミング言語がオブジェクト指向プログラミング言語である。.

新しい!!: ソフトウェアアーキテクチャとオブジェクト指向プログラミング · 続きを見る »

カリフォルニア大学アーバイン校

リフォルニア大学システムに属する1校である。南カリフォルニアに位置するテックコーストの中でも、主にコンピュータ産業が集まる地域の中心に設置されている。アーバイン市の街自体は新しく、1970年代より元あった広大な農地において先端の都市開発の技術や知識を駆使した大規模な開発計画、そしてこれを後押しする地方政策のもと、人口約20万人の都市へと発展を遂げた地域である。こうした環境の中で、この大学も創立後40年弱で全米の州立大学ランキングでトップ10位以内に名を連ねる名門校に成長した。これまでに3名の教職員がこの大学における研究でノーベル賞を受賞している。.

新しい!!: ソフトウェアアーキテクチャとカリフォルニア大学アーバイン校 · 続きを見る »

カーネギーメロン大学

ーネギーメロン大学(英語: Carnegie Mellon University)は、ペンシルベニア州ピッツバーグに本部を置くアメリカ合衆国屈指の名門私立研究大学である。1900年に設立され、略称はCMU。大学のモットーは、"My heart is in the work (私の心は仕事の中にある)"(創立者アンドリュー・カーネギー)。 美術・音楽・文学・科学の最終形は、この四つが一つに成っている形である。アンドリュー・カーネギーのこの考えに沿って、アートとテクノロジーのバランスと融合を重んじた高等教育をCMUは現在も精力的に実践していると言える。日本では理工系が強い大学で知られ、CMUの名はマサチューセッツ工科大学(MIT)、カリフォルニア工科大学(CalTech)とともにアメリカの名門工科大学の御三家の一つとしてあまりにも有名。 その一方で藝術、人文・社会科学、公共政策学・情報学、経営学(MBA)の分野においても、常に全米あるいは世界のトップクラスにランキングされているという事実を認識することで、MITやCalTechのように一概に工科大学とは言えない、総合大学としてのCMUの全体像を正しく掴むことができる。著名な賞を受賞したCMU関係者の数も、この全体像を反映した結果となっている。 ノーベル賞20名、チューリング賞12名、エミー賞52名、アカデミー賞10名、トニー賞44名、等々。.

新しい!!: ソフトウェアアーキテクチャとカーネギーメロン大学 · 続きを見る »

クライアントサーバモデル

ライアントサーバ(client-server)モデルは、クライアントとサーバを分離する、コンピュータネットワークのソフトウェアモデルである。単にクライアント・サーバと呼ばれたり、俗にクラサバと略称されたり、などと表記されることも多い。.

新しい!!: ソフトウェアアーキテクチャとクライアントサーバモデル · 続きを見る »

システムアーキテクチャ

テムアーキテクチャ(system architecture)とは、システムのアーキテクチャについての語で、コンピュータ・アーキテクチャに関連して使われることもあるが、より広くシステム一般に関して使われることもある。.

新しい!!: ソフトウェアアーキテクチャとシステムアーキテクチャ · 続きを見る »

ソフトウェア工学

フトウェア工学(ソフトウェアこうがく、Software engineering)は、コンピュータのプログラム、およびその作成行為であるプログラミングを対象とした工学である。.

新しい!!: ソフトウェアアーキテクチャとソフトウェア工学 · 続きを見る »

ソフトウェアコンポーネント

UML 2.0 のコンポーネント図で、2つのコンポーネントを表現した例。CheckoutコンポーネントはCardProcessingコンポーネントを使用している。 ソフトウェアコンポーネント(Software Componentry)は、ソフトウェアシステムの様々な機能を関心の分離によって分割したものである。システムを独立した結合の弱い再利用可能なコンポーネント群で構成する設計技法は Component-based software engineering (CBSE) と呼ばれ、ソフトウェア工学の一分野となっている。 コンポーネントの考え方は、サービス指向の起点となっている。例えば、Webサービスやサービス指向アーキテクチャ (SOA) ではソフトウェアコンポーネントの考え方を発展させサービスをコンポーネント化するという考え方をする。.

新しい!!: ソフトウェアアーキテクチャとソフトウェアコンポーネント · 続きを見る »

サービス指向アーキテクチャ

フトウェア工学において、サービス指向アーキテクチャ(サービスしこうアーキテクチャ、Service-Oriented Architecture、SOA, 「エスオーエイ」あるいは「ソーア」と発音)とは、大規模なコンピュータ・システムを構築する際の概念あるいは手法の一つ。業務上の一処理に相当するソフトウェアの機能をサービスと見立て、そのサービスをネットワーク上で連携させてシステムの全体を構築していくことを指す言葉である。業務処理の変化をシステムの変更に素早く反映させたいという需要に応えうるものとして、2004年頃からIT業界において注目を集めている。2009年頃からクラウドコンピューティングの台頭とともに、その必要性が再認識されるようになってきている。.

新しい!!: ソフトウェアアーキテクチャとサービス指向アーキテクチャ · 続きを見る »

複雑性

複雑性(ふくざつせい、complexity)という用語は、多数の部品が入り組んで配置された何らかのものを特徴付ける言葉として使われる。科学として複雑性を研究するアプローチはいくつか存在しており、本項目ではそれらを概説する。マサチューセッツ工科大学のセス・ロイドは、複雑性の定義を32種類集めてプレゼンテーションしたことがあるという。.

新しい!!: ソフトウェアアーキテクチャと複雑性 · 続きを見る »

要求仕様

要求仕様(ようきゅうしよう、Requirements Specification)とは、工学分野において特定の製品やサービスがどうあるべきかを記述する文書を指す。主にシステム工学とソフトウェア工学で使われる用語である。英語のrequirementからリクワイアメント(リクワイヤメント)ともいう。 従来からの工学的手法では、要求仕様を入力として製品開発における設計工程が行われる。 要求仕様作成工程の前に一般に実現可能性調査(feasibility study)や概念的分析の工程が置かれることがある。要求仕様作成工程は、要求収集(関係者からのヒアリングなど)、要求分析(一貫性と完全性の検証)、要求定義(開発者に要求を理解させるための文書を作成)、要求仕様記述(要求と設計の橋渡しとなる文書を作成)の各工程にさらに分けることができる。.

新しい!!: ソフトウェアアーキテクチャと要求仕様 · 続きを見る »

計算機科学

計算機科学(けいさんきかがく、computer science、コンピュータ科学)とは、情報と計算の理論的基礎、及びそのコンピュータ上への実装と応用に関する研究分野である。計算機科学には様々な下位領域がある。コンピュータグラフィックスのように特定の処理に集中する領域もあれば、計算理論のように数学的な理論に関する領域もある。またある領域は計算の実装を試みることに集中している。例えば、プログラミング言語理論は計算を記述する手法に関する学問領域であり、プログラミングは特定のプログラミング言語を使って問題を解決する領域である。.

新しい!!: ソフトウェアアーキテクチャと計算機科学 · 続きを見る »

関心の分離

関心の分離(かんしんのぶんり、、SoC)とは、ソフトウェア工学においては、プログラムを関心(何をしたいのか)毎に分離された構成要素で構築することである。 プログラミングパラダイムは開発者が関心の分離を実践することを手助けするものもある。その為には、モジュール性とカプセル化の実装のしやすさが重要となる。 関心の分離は複雑で依存関係が入り乱れたシステムの理解・設計・運用を容易にすることが出来るので他の工学分野でもみられる。.

新しい!!: ソフトウェアアーキテクチャと関心の分離 · 続きを見る »

IEEE 1471

IEEE 1471 は、「ソフトウエア集約システムのアーキテクチャ」を記述するためのIEEE標準の一つであり、ソフトウェアアーキテクチャとしても知られる。 Systems and software engineering — Architecture description で置き換えられた。.

新しい!!: ソフトウェアアーキテクチャとIEEE 1471 · 続きを見る »

Peer to Peer

P2P型ネットワーク(図はピュアP2P型)。コンピューター同士が対等に通信を行うのが特徴である。 Peer to Peer(ピア・トゥ・ピア または ピア・ツー・ピア)とは、複数の端末間で通信を行う際のアーキテクチャのひとつで、対等の者(Peer、ピア)同士が通信をすることを特徴とする通信方式、通信モデル、あるいは通信技術の一分野を指す。P2Pと略記することが多く、以下本記事においてもP2Pとする。.

新しい!!: ソフトウェアアーキテクチャとPeer to Peer · 続きを見る »

SSADM

SSADM(Structured Systems Analysis and Design Method、構造化システム分析・設計手法)とは、情報システムの分析と設計の手法の一種。イギリス政府の商務庁(の下部組織のCCTA)が政府内での技術利用のために1980年から策定している。その名称(SSADM、Structured Systems Analysis and Design Method)はイギリス商務庁の登録商標である。.

新しい!!: ソフトウェアアーキテクチャとSSADM · 続きを見る »

TOGAF

TOGAF(the open group architecture framework)は、エンタープライズアーキテクチャのフレームワークの1つであり、情報アーキテクチャの設計・計画・実装・管理の包括的アプローチを提供する。アーキテクチャは、ビジネス、アプリケーション、データ、テクノロジーの4段階あるいは4領域にモデル化されている。基盤アーキテクチャにより、アーキテクチャ実装チームは現状と将来の状態を描くことが可能となる。.

新しい!!: ソフトウェアアーキテクチャとTOGAF · 続きを見る »

抽象化 (計算機科学)

抽象化(ちゅうしょうか、Abstraction)は、計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組みである。 この概念は数学における「抽象化」からのアナロジーである。数学での抽象化技法の起源は数学的定義である。例えば、コンピュータでも数学でも、数はプログラミング言語上の概念であり、数学上の概念でもある。数の計算概念は数学の概念に基づいているため、実装の詳細はハードウェアとソフトウェアに依存したとしても、それが制約とはならない。 大まかに言えば、抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象化は動作の抽象化であり、データ抽象化はデータ構造の抽象化である。例えば、構造化プログラミングでの制御抽象化とは、サブプログラムや定式化された制御フローの使用を意味する。データ抽象化とは、本来ビット列であるデータを意味のある方法で扱うことを意味する。例えば、データ型の背景にある動機は抽象化である。オブジェクト指向プログラミングはデータとコードを同時に抽象化する試みと見ることもできる。.

新しい!!: ソフトウェアアーキテクチャと抽象化 (計算機科学) · 続きを見る »

標準データモデル

標準データモデル(Standard Data Model)とは、ある業界で広く利用され、競合他社間でもある程度共有されているデータモデルを意味する。標準データモデルはデータベース業者やオペレーティングシステム業者が定義することが多く、そのため目的に適しているかどうかに関わらずデフォルトで適用される。 利用に際しては、標準データモデルはソフトウェアアーキテクチャを制限する傾向が大きく、例えば標準データモデルで区別されていないデータの区別ができないなどの問題が発生することがある。ただし、データウェアハウスを構築してデータ収集方法を変える労力をかければ不可能ではない。 顧客情報の取り扱いやジャストインタイム生産システムなどの厳格な標準に対応するため、銀行、保険、製薬、自動車などの業界ではより効率的な標準データモデルが開発されてきた。 それらはデータベース管理の関係モデルを使っていることが多いが、製造業や政府が指定した場合などは階層型データモデルが使われることもある。例えば、ドイツのDIN規格では後者のモデルが指定されているものがある。経営コンサルタント業界も標準データモデルをよく使い、紋切り型のソリューションを顧客に提供している場合があり、そのカスタマイズには数年の期間と多大な出費を要することもある。 最も複雑なデータモデルとしては軍用のものが知られている。例えばNATOは厳密な標準に従った機器やデータベースを調達基準としている。しかし、これはNATO以外とは関係ないものであり、これを一般的な商用ソフトウェアの標準データモデルと同列に論じるのは適切ではない。 IDカード関連の標準データモデルは最近注目されている分野である。空港、公共交通機関、病院といったところでのセキュリティに関わる標準データモデルの策定が急がれている。生体認証などの個人データを地域経済圏全体(例えば、北米自由貿易協定や欧州連合)で標準化しようとする動きもこれに関連している。これに関しては、プライバシー侵害への懸念が巻き起こっている。.

新しい!!: ソフトウェアアーキテクチャと標準データモデル · 続きを見る »

情報セキュリティ

情報セキュリティ(じょうほうセキュリティ、)とは、情報の機密性、完全性、可用性を維持すること。.

新しい!!: ソフトウェアアーキテクチャと情報セキュリティ · 続きを見る »

拡張性

拡張性(かくちょうせい)とは、機械やソフトウェアなどが本来もつ機能に加えて、付加的な機能を追加したり、それらの性能をあとから向上させる事が可能であるような設計上の特徴。.

新しい!!: ソフトウェアアーキテクチャと拡張性 · 続きを見る »

1990年代

1990年代(せんきゅうひゃくきゅうじゅうねんだい)は、西暦(グレゴリオ暦)1990年から1999年までの10年間を指す十年紀。この項目では、国際的な視点に基づいた1990年代について記載する。.

新しい!!: ソフトウェアアーキテクチャと1990年代 · 続きを見る »

ここにリダイレクトされます:

ソフトウエアアーキテクチャ

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »