ソフトウェア
ソフトウェア(テンプレート:Lang-en-short)は、コンピューターシステム上で何らかの処理を行うプログラムや手続き、およびそれらに関する文書を指す言葉である[1]。日本語では略して「ソフト」ともいう。
ソフトウェアは、ワープロソフトなど特定の作業や業務を目的としたアプリケーションソフトウェアと、ハードウェアの管理や基本的な処理を、アプリケーションソフトウェアやユーザーに提供するオペレーティングシステムなどのシステムソフトウェア(基本ソフトウェア)に分けられる。
目次
ハードウェアの対比語としてのソフトウェア
「ソフトウェア」は「ハードウェア」の対比語であり、コンピュータの分野以外でも、物理的な装置の対比語として使われている。
DVDなどで物理的な記録メディアに対する映像や音楽等のコンテンツ、組織・都市・軍事などで施設・設備・車両などに対する規則・運用・教育などを意味する[2]。
ある機能をもつソフトウェアに対して、「ソフトウェア」という言葉が接頭辞・形容詞的に用いられることがある。エンコードをするソフトウェアを「ソフトウェアエンコーダ」、DVDを再生するソフトウェアを「ソフトウェアDVDプレーヤー」と呼ぶことがある。情報を処理する(DVD再生の場合は、DVDに収録されたデジタル画像データを可視化する)際に、専用のハードウェア(DVD再生機)で処理されるか、パーソナルコンピュータなどの汎用的なコンピュータ上のソフトウェアで処理されるかを区別するためである。
コンピュータハードウェアとの関係
LSIなどを例にとると、LSIの物理的な回路そのものはハードウェアであり、その回路によって表現される処理手順はソフトウェアと考えられる。
一般的なソフトウェアは、補助記憶装置の中に機械語として記録されている。なお機械語は中央処理装置(CPU)の製品種別ごとに異なっている。ソフトウェアの利用時には補助記憶装置の内容が主記憶装置に読み込まれた後、中央処理装置において、データの移動、計算、制御フローなどの処理が実行される。これにより機械語は、コンピュータの状態を次々と変化させる。従ってソフトウェアは、ハードウェアの状態を変化させる命令列と考えられる。
記憶装置に異なる命令群を読み込んで計算を制御する概念は階差機関の一部としてチャールズ・バベッジが考案した。これがほとんどの近代ソフトウェアの基礎となる理論はアラン・チューリングの1935年の論文 Computable numbers with an application to the Entscheidungsproblem で初めて提唱された[3]。
テンプレート:Main ソフトウェアの表現である機械語は、中央処理装置への命令となる2進数の値から構成されている。機械語の種類には、記憶装置間でのデータの移動や、条件による処理の分岐命令、演算などがある。これらを組み合わせて、1つずつ順に演算が実行される逐次処理や、条件つきで実行される処理、繰り返し実行されるループ処理などが実現される。一連の命令列をひとまとめにしたものをサブルーチンと呼び、他のサブルーチンを「呼び出す」命令もある。
例えば、メニューから "Copy" というエントリを選択したとき、ソフトウェアがどのように機能するか考えてみよう。この場合、条件付き命令列が実行され、メモリ上の「文書」領域にあるデータからテキストが、一般に「クリップボード」と呼ばれる中間的記憶領域にコピーされる。別のメニューエントリである "Paste" が選ばれると、ソフトウェアはクリップボードから特定の領域にテキストをコピーする命令列を実行する。
中央処理装置が複数あるシステムでは、命令列は複数同時並行的に実行できる(マルチプロセッシング)。
システムソフトウェア
テンプレート:Main コンピュータのハードウェアを管理・制御するなど、コンピュータの稼動自体に必要となるソフトウェアである。 典型的なシステムソフトウェアとして、オペレーティングシステム(OS)があり、様々なソフトウェア処理のプロセスに対し、CPUやメモリの割り当てを管理したり、記憶装置にデータファイルを正しく読み書きできるようにするなど、さまざまな処理を行っている。キーボードやマウスなどの入力装置からの信号を、後述のアプリケーションソフトウェアに通知したり、アプリケーションソフトウェアの要求に応じて、画面への図形や文字の表示を行うのも、オペレーティングシステムの機能である。
パーソナルコンピュータをはじめとする、家庭用のコンピュータ機器では、これらのソフトウェアは購入時にコンピュータ本体に同梱あるいはプリインストールされていることが多い。
そのほか、オペレーティングシステムでは提供されない機能のうち、さまざまなアプリケーションソフトウェアで利用される一般性のある機能を提供するものを、ミドルウェアという。
アプリケーションソフトウェア
テンプレート:Main アプリケーションソフトウェアは、利用者の目的に応じた機能を提供するソフトウェアである。
一般事務で利用されるワープロや表計算ソフトウェアを初め、娯楽を目的としたゲームソフトや、工場の作業を自動化するファクトリーオートメーション、事務手続きや経営を管理するためのビジネスソフトウェア、その他、教育や医療などあらゆる目的に応じてソフトウェアが開発されている。ソフトウェアの開発自体に使われるプログラミングツールもある。
これらのアプリケーションソフトウェアは、既製品をパッケージソフトウェアなどのかたちで購入するほか、利用者自身が、目的を果たすソフトウェアを開発する場合もある。 大規模なものでは銀行の預貯金口座を管理する勘定系システムやJRの「みどりの窓口」で使われるマルスなどのオンラインシステムを始め、販売や営業、生産などの各種業務管理システムなどの個別開発のソフト群(各企業内でのコンピュータシステム(情報システム)の一部を形成する)から、小は表計算ソフトのテンプレート、ワープロソフトのマクロ、科学技術シミュレーション、グラフィックスやアニメーションのためのスクリプトなどが含まれる。電子メールフィルタなども一種のユーザー作成ソフトウェアである。ユーザーは自身の作成したこれらのソフトウェアの重要性に気づいていないことが多い。ユーザー作成ソフトウェアが購入されたアプリケーションソフトウェアとうまく統合されていると、多くのユーザーはその区別ができない。
組み込みシステム
テンプレート:Main 特定の機能を実現するために家電製品や機械等に組み込まれるコンピュータシステムのこと。 ソフトウェアは、明らかにコンピュータとわかるもの以外に、様々な機器に搭載されて稼働している。 近年では、家庭用機器の高機能化に伴い、携帯電話やゲーム機をはじめとし、その他多くの電化製品や自動車などの機能を実現するために必要不可欠なものとなっている。
ソフトウェア作成
品質
ソフトウェアの品質としては、利用者や開発者の立場から、様々な尺度が考えられる。 テンプレート:Main
ソフトウェアと法律
ソフトウェアは法律上、知的財産として扱われ、著作権法や特許法によって保護される。 そのため、ソフトウェアの利用者と著作権者は利用許諾契約に合意しなければならない。この契約内容の一部を、ソフトウェアライセンスという。テンプレート:Main また、コンピュータを利用する発明ついて特許権が認められる場合がある。テンプレート:Main
その他、日本の使用者からみると、会計処理上(税法上)は、無形固定資産として扱われる。減価償却期間は5年間での定額償却である。
関連項目
テンプレート:ウィキポータルリンク テンプレート:ウィキポータルリンク