スタートページWeb教材一覧ハードウェアとソフトウェア

ソフトウェアのバージョン

キーワード

バージョン、バージョンアップ、上位互換、バージョン管理、VCS、ソフトウェア構成管理、α版、β版、製品版、バージョン番号、A/Bテスト


バージョン管理

バージョンアップ

ソフトウェアは、バグの修正、セキュリティホール対処、性能の向上、機能の追加などの理由により改訂されます。その版をバージョンといい、新バージョンにすることをバージョンアップといいます。
 自社開発のソフトウェアでもバージョンアップは行われますが、ここではOSやデータベース管理ソフトのような外部提供のソフトウェアを対象にします。

新バージョンになっても、旧バージョンの機能を継続しており、旧バージョンにより作成したアプリケーションやデータファイルを変更せずに稼働できるバージョンアップを「上位互換がある」といいます。多くのバージョンアップでは上位互換を考慮しますが、抜本的な改訂では、旧バージョン機能を継続することが新バージョンの足かせになることがあり、上位互換を捨てることもあります。また、旧バージョンで提供者が想定していなかった機能(正式な仕様ではない使い方)をしている場合は、上位互換が失われることがあります。さらに、バグ修正レベルでも、これまで旧バージョンでトラブルが発生しなかったのは偶然であり、このまま続ければ思わぬトラブルが発生することがあります。

バージョン管理(Version Control System、VCS)

バージョンアップがあったとき、旧バージョンで作成したアプリケーションが明確になっていないと、対応せずに残され、突然にトラブルが発生するリスクがあります。
 また、企業では多数のクライアント(パソコンやスマートフォン)があります。パソコンのOSやオフィスソフトのバージョンアップが行われたとき、新バージョンのパソコンと旧バージョンのパソコンが混在していると、データ共有ができなくなることがあります。また、サーバにあるアプリケーションのなかには、クライアント側にも特定のソフトウェアを持ち、そのバージョンアップが必要になることもあります。
 短期間で全クライアントでの対応が必要ですが、多数のときは、全てのクライアントで完了するまでには長期間かかります。各パソコンの対応状況を把握する必要があります。

このように、バージョンアップへの対応を確実に円滑に行うための管理をバージョン管理といいます。アプリケーションやクライアントのバージョンを、統一的にデータベースにしたものをリポジトリといいます。また、多数のクライアントを遠隔操作により一斉にバージョンアップするツールがあります。

ソフトウェア構成管理(Software Configuration Management、SCM)

バージョン管理の上位にソフトウェア構成管理があります。ソフトウェア開発や運用において、ソースコードや文書などの成果物の変更履歴を管理することです。バージョン管理はソフトウェア構成管理のサブシステムとして整合性をもって管理するべきです。


バージョンの名称

ソフトウェアでは、jQuery v1.10.2 のような表示があります。これはjQueryの version(版番)が 1.10.2 であることを示しています。また、公開直後ではβ版といわれることがあります。

α版

開発の初期段階で、性能や使い勝手などを評価するために、内部の関係者や特定の社外開発者に公開する版です。一部の機能が未実装だったり、動作が不安定だったりしますが、この段階で開発への評価を得るためのものです。これをαテストといいます。
 通常は一般に公開されませんが、versionは 0.1 などが付番されているようです(version付番には規則はなく開発者が独自につけるので、以降の説明は「通常」のものです)。

β版

β版には、限られたユーザに公開するクローズドβ版と一般ユーザに公開するオープンβ版に区分できます。クローズドβ版はα版の延長であり、オープンβ版をβ版ということが多いようです。
 β版は、α版(およびクローズドβ版)で指摘された問題点やバグを改善し、クラッシュするなど致命的な欠点がなくなった段階で、一般ユーザに試用してもらうための版です。多くの人に使ってもらい、新たなバグの発見、使い勝手、性能などについて意見を求めるものです。これをβテストといいます。
 最終段階のβ版では、テストを求めるのではなく、製品のユーザを獲得するために、あえて一部の機能を外したり広告の表示を入れたりして、試供版あるいは体験版として無料配布し、製品版に移行してもらうことを目的としたものもあります。この頃には 0.8 などのversionになっています。

製品版

製品版(無料のものもある)になると、versionは 1.0 とするのが通常です。その後、改良に伴いversionが上がりますが、大きく改訂されたときは 2.0 や 3.0 になり、部分的な改良では、1.1 や 1.2.1 のようにするのが通常です。
 多くの場合は、以前の版で作成したアプリケーションは以降の版でも使えます(上位互換性という)が、大きく改訂されたときは、上位互換性が保証されないこともあります。また、部分的な改良でも開発者が意識していなかった機能を使ったアプリケーションは修正が必要になることがあります。

A/Bテスト

主にインターネットマーケティング、Webサイトを対象にしたテストです。
 Webページの一部のデザインや機能を(AとBなど)複数のパターンにして作成表示し、どちらが目的(発注など)をスムーズに行えたか、間違いや戸惑いが少なかったかなどをテストして、より効果的なサイトにしようとするものです。
 A/Bテストも、事前に依頼したモニタだけで行うテストと、一般ユーザを対象にしたテストがあります。