ソフトウェアとプログラムとソースコードの違い

ソフトウェアとプログラムとソースコードの違いについて調べてみました。

Wikipedia から最初の1文を引用すると、

wikipedia:ソフトウェア

コンピューター分野でハードウェア(物理的な機械)と対比される用語で、何らかの処理を行うコンピュータ・プログラムや、更には関連する文書などを指す。

wikipedia:プログラム (コンピュータ)

コンピュータに対する命令(処理)を記述したものである。

wikipedia:ソースコード

コンピュータプログラミング言語で書かれた、コンピュータプログラムである文字列(テキストないしテキストファイル)のことである。

とあります。

ソフトウェアはプログラムを持ち、プログラムの一種にソースコードがあるようです。

ソフトウェアには、プログラムの他に、文書(テキスト、画像など)などを持ちます。

プログラムの種類には、ソースコードの他に、バイナリコード(機械語コード、バイトコードなど)などがあります。

プログラマらしく、クラス図にしてみました。

f:id:u360:20171228113230p:plain

ソフトウェアはプログラムや文書などを1つ以上持つ、ということを表現したかったので、「データ」クラスを追加しました。

クラス図の作成には、PlantUMLを使いました。便利ですね。