ソフトウェア

用語の解説

ソフトウェアとは

(ソフトウエア,software,)
ソフトウェアとは、情報システムを構成する要素で、プログラムのこと、あるいは、物理的な要素であるハードウェアを除いた無形の要素すべての総称である。
ソフトウェアは、多くの場合、コンピュータプログラムと同じ意味で用いられる。 ハードウェアと対比する目的でソフトウェアの語が用いられ、プログラムに類する対象を広く含む。 おおむね、ハードウェア装置との仲介を受け持つデバイスドライバ、アプリケーション用のAPIを通じてシステムの利用環境を提供するオペレーティングシステム(OS)、エンドユーザーが直接利用するアプリケーションソフトウェア、OSとアプリケーションソフトウェアの中間層で各種のユーティリティ的な機能を提供するミドルウェア、開発者が利用するユーティリティやツール類、などに分類することができる。 また、より広い意味で、ハードウェア以外の、情報システムを動かすために利用されるあらゆる無形の要素を指してソフトウェアと呼ぶ場合もある。 この場合は特にソフトウェアのために用意された文書も含むことが多い。 例としては、開発時に用いられる要求定義書、外部設計書、内部設計書、試験仕様書、試験結果報告書などから、利用時に用いられる操作マニュアルあるいはユーザーマニュアル、各種の設定説明書などがある。 これらの文書は、プログラムの運用場面で実際に使っていく上で不可欠なものであり、また、プログラムのライフサイクルを見据えた時に、開発時の文書もまた必要であることから、ソフトウェア全体を構成する要素として認められるようになってきたものである。 プログラムとしてのソフトウェアは、規模の増大とともに、それをどのように構成・構築していくかということが重要な問題となってきている。 プログラム言語のパラダイム論として、Smalltalkなどのオブジェクト指向、Prologなどの論理プログラミング、Haskelなどの関数型プログラミングなどの比較研究がある。 アプリケーションのレベルで、ソフトウェアのパターンを論じる「デザインパターン」は、建築の分野にヒントを得て一定の地位を築いている。 また、システム構築の確実性を確保する「形式手法」なども注目されている。 大規模な業務システム分野では疎結合のコンポーネントを用いてモジュラーな開発を実現するSOA(サービス指向アーキテクチャ)が登場している。 また、より設計レベルに重点を置き、実装工程をできるだけ自動化するモデルドリブンな開発手法も重要性を増している。 ソフトウェアに関する学問として、ソフトウェアサイエンスとソフトウェア工学を挙げることができる。 ソフトウェアサイエンスは、プログラムの基礎を論ずるもので、数学基礎論や、コンパイラ理論、アルゴリズム論などの研究が行われている。 ソフトウェア工学は、ソフトウェアの実用的な構築のためのノウハウを研究するもので、実用的なシステムの構築方法、各種の開発手法、生産性の研究、規模や工数の推定などが行われている。 プログラムの元となるテキストはソースコードと呼ばれる。 GNUプロジェクトによって推進されている、ソースコードを全てオープンにし、全ての人がアクセスできることを保証しようという運動は、コンピュータ業界とプログラマに大きな影響を与えている。 全てオープンとなっているソフトウェアはオープンソースソフトウェア(OSS)と呼ばれる。 現在では、多くのOSSのプロジェクトが展開している。

用語解説出典   powered by. Weblio

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]