ソフトウェアとは
- 著者:YAMANJO
- 公開日:2008年7月9日
- 最終更新日:2024年10月24日
誰もが耳にしたことがある「ソフトウェア」とは何でしょうか。プログラムとソフトウェアの違い、アプリケーションとの違いについて理解していきましょう。
ソフトウェアとは
ソフトウェアという用語は、様々な機関や団体が定義しているようですが、ISO(国際標準化機構)によると「コンピュータシステムで使用されるプログラムと関連するデータ」と定義されています。
簡単な定義に思えますが、単純に解釈すれば、ソフトウェアはプログラムと同義語ということになります。
そのため、どちらも同じ意味で間違いではありません。そもそも、両者に違いを見出そうと考えたことがないかもしれません。それほど同じような場面で使われる用語です。
ここまで学習されてきた方は、プログラムをまとめたものがソフトウェアであるとすでにお考えのことと思います。漠然と規模の小さいものをプログラム、大きいものをソフトウェアというニュアンスで考えている方が多いのではないでしょうか。
これもそういった理解で間違いではありません。プログラムをまとめてパッケージ化したものがソフトウェアだと言えます。
例えば、WordやExcelはソフトウェアで、その中の印刷や保存、図の挿入、計算などの各機能がプログラムです。複数のプログラムが組み合わさって総合的な機能を提供するのがソフトウェアになります。
しかし、定義をよく見てみると、文末に「関連するデータ」という文字列が含まれています。
じつはここがポイントなのです。これが何を意味するのかというと、データの中身が重要というわけではなく、関連するデータを含むということを意味しています。
つまり「&」の意味であり、関連するデータまでを含めたものがソフトウェアになるということです。したがって、両者は厳密には異なる用語であり、使い分けることができる用語になります。
プログラムとソフトウェアの違い
いくら多機能なパソコンであっても、実際のところはただの機械であり計算機にすぎません。すべてのことを指示し、命令してやらなければ動かないということを前項で学習しました。
その命令は、画面のアイコンをクリックしたり、キーボードをたたくといった行為によって出しています。また、命令は互いに連動するプログラムによって最終的な2進数に翻訳されて処理されていることも学習しました。
もう少し詳しく説明すると、例えば「印刷」するプログラムがあるとします。
印刷は単純な処理のように思えますが、コンピュータ内部では最小の処理単位にはなりません。どういうことかというと、もっと細かい処理や行程に分解されるということです。
専門的な説明は割愛しますが、例えば「AをBにセットする」とか「AをBに加算する」といった、非常に細かい命令が数多く集まることによって、最終的に「印刷する」などの日常的な処理を実現しています。
ひとつのプログラムの中には、さらに詳細な命令が存在し、連動しているこということになります。
こうした「AをBに加算する」というような非常に小さな命令は、厳密にはプログラムと区別されます。命令はコンピュータが直接実行する最小単位の操作であり、プログラムと区別されることが多いです。
しかし、私たち一般ユーザーとしては、最小の処理単位が「印刷」や「保存」といったタスクになり、これがプログラムです。
つまり、実質的に最小の単一処理である「命令」を組み合せて、処理の流れを構築し、印刷や保存などの特定のタスクを実行するためにまとめられたものがプログラムになります。
したがって、
プログラムは詳細な命令の集合体
と言えます。
では単純に、命令の集合体がプログラムで、プログラムの集合体がソフトウェアと言えるでしょうか?
先述のとおり、間違いではありません。しかし、厳密には異なります。
まず、プログラムは単一のタスクしか実行できないというわけではありません。複数の処理を連続して実行したり、条件に応じて異なる処理を行ったりする場合もあります。
例えば、シンプルなテキスト編集プログラムがあるとします。このプログラムは、文書を開く、編集する、保存するという基本的な機能を持っています。この場合は、ソフトウェアではなくプログラムと呼ばれます。
つまり、プログラムが単体で機能を提供する場合は、一般的にソフトウェアとは呼ばれません。一方、それぞれ独立するプログラムによって連動して機能を提供する場合はソフトウェアと呼ばれます。
このことからも、プログラムの集合体がソフトウェアだという考え方に問題はないように思えますが、例外があります。じつは、プログラムが単体でもソフトウェアと呼ばれる場合があるのです。
いま一度、ソフトウェアの定義に戻りましょう。
「コンピュータシステムで使用されるプログラムと関連するデータ」がソフトウェアでした。重要なのは「関連するデータ」を含むということです。
つまり、
プログラムだけではソフトウェアとは言えない
のです。
関連するデータがそろってはじめてソフトウェアと言えるのです。
逆に言えば、
プログラムは単体でも関連するデータがあればソフトウェアになる
ということです。
したがって、ソフトウェアは単なるプログラムの集合以上のものです。
単にプログラムをまとめたものではなく、プログラムが動作するための環境、利用されるデータ、ユーザーとのインターフェースなど、関連するデータすべてを含めてソフトウェアとなります。
プログラムと関連するデータとは何か
では、プログラムと関連するデータとはどんなデータでしょうか。
プログラムが動作するための環境、利用されるデータ、ユーザーとのインターフェースなどと説明しましたが、具体的な例として、Microsoft Wordで考えてみましょう。
まず、Wordのプログラムは、特定のタスクを実行する一連の命令です。文字入力、書式設定、図形の挿入、ファイルとして保存する機能などがプログラムです。
関連するデータは、こうしたプログラムを適切に動作させるための設定ファイルや、プログラムを使いやすくしたり、効率的にするためのデータになります。
Wordでは、テンプレート、フォント、辞書、図形などの画像ファイル、スタイル定義、ヘルプ機能、ユーザー設定ファイル、文書プロパティのデータなど、様々なデータがあります。
これらはWordの使い勝手を高め、単なる文書処理の機能を超えて、ユーザーのニーズに合わせた環境を提供するものです。
つまり、
プログラムとは異なるものの機能の提供に必要なデータ
になります。
したがって、プログラムとこうした関連データをまとめてパッケージ化したものがソフトウェアになります。ソフトウェアは、プログラムだけでは不完全で、実際に使いやすく機能的なものにするためには、さまざまな関連データを含む必要があります。
こうしてパッケージ化されたソフトウェアが、私たちになじみ深いWordでありExcelです。命令がプログラムになり、そしてソフトウェアのかたちになって、ようやく我々が扱うことのできる状態になるのです。
これらがすべて2進数で成り立っていることを考えると、途方もないデータ量だということが想像できると思います。また、複数のソフトウェアを同時に動かすパソコンの処理能力の凄さも想像できるでしょうか。
では最後に、ソフトウェアの種類について少しだけ触れておきます。プログラムも無数に種類があるように、ソフトウェアにも当然ながら種類があります。
詳しくは、次項で解説しますが、
OS、アプリケーションソフト、デバイスドライバ、ミドルウェア、ファームウェア
に分類されます。
文書作成や表計算、ホームページ作成など、特定の目的のために作られたソフトウェアをアプリケーションソフトウェアと言います。一般的には「アプリケーションソフト」や「アプリケーション」と略されます。
つまり、Wordや Excel、PowerPointなどはアプリケーションソフトになります。
一般的にソフトウェアと言えば、アプリケーションソフトのことを指します。近年ではスマートフォンの影響から、単に「アプリ」と呼ばれることが多くなっていますが、厳密にはスマートフォンのようなモバイル端末向けに設計されたものをアプリと呼び、パソコンでは「デスクトップアプリ」、「アプリケーションソフト」と呼んで区別する場合もあります。
更新履歴
- 2008年7月9日
- ページを公開。
- 2009年3月8日
- ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
- 2018年1月23日
- ページをSSL化によりHTTPSに対応。
- 2024年10月24日
- 内容修正。
著者プロフィール
YAMANJO(やまんじょ)
- 経歴
- 岡山県出身、1980年生まれ(申年)の♂です。現在、総合病院で電子カルテなどの情報システム担当SEとして勤務。医療情報学が専門ですが、ネットワーク保守からプリンタの紙詰まり、救急車の運転手までこなしています。
- 医療情報技師、日本DMAT隊員。ITパスポート、シスアドなど、資格もろもろ。
- 趣味は近所の大衆居酒屋で飲むこと、作曲(ボカロP)、ダイビング。
- 関連リンク
- 詳細なプロフィールはこちら
- 作成したボカロ曲などはYoutubeへ
- X(Twitter)
