Семионов П. Ю.

Версии программного комплекса

22 мая 2006 года


Это важная вещь, так как они всё время путаются. Что же делать? Думал я - думал, и наконец придумал. Ну, придумал-то я давно, ещё несколько месяцев назад для библиотек, здесь только немного изменил...

Во-первых, надо обеспечить неизменность конкретной версии программы. Как у физических вещей. Например, номер (серия) транзистора или микросхемы однозначно их определяет. Транзистор мы менять не можем, даже если очень хочется. Если хочется - тогда надо разрабатывать новую серию. Или статья в газете или журнале (да и любое литературное произведение). Его же нельзя менять - произведение. Можно только писать новое. "Рукописи не горят". А программы - ещё как горят, если есть исходный текст.

Итак, любой более-менее законченный вариант программы обзываем версией и больше его не меняем. Если хотим изменить - делаем новую версию, на основе этой (копируем, а потом уже редактируем копию).

Называть версию можно по-разному. Общепринятый вариант - номер версии и номер подверсии (два числа через точку). При незначительном изменении меняем номер подверсии, при значительном - номер версии. Два этих номера вместе обычно и называют "версией".

Я думаю, в информации о версии обязательно должна присутствовать также дата её "фиксации", то есть дата, после которой её уже нельзя редактировать.

Итак, вводим понятия: программа, программный комплекс, версия, номер версии, информация о версии, дата фиксации версии.

Информация о версии - это некая структура из нескольких пунктов:
   - номер версии;
   - номер подверсии;
   - дата фиксации;
   - время фиксации (час, минута);
   - вид версии (в разработке или законченная);
   - ...

Можно добавить ещё что-нибудь.

Вид (тип) версии нужен для того, чтобы можно было иметь новую версию в процессе разработки.

Во-вторых - о программном комплексе. Возникли у меня некоторые неудобства в логике, и я его придумал. Более обще - это разбиение крупного объекта на несколько более мелких. Чтобы при изменении только одного - или нескольких - мелких объектов можно было менять их версии, а не создавать новую версию большого объекта.

Конкретно - о программном комплексе. Назовём так систему из нескольких работающих вместе программ (или других объектов). У каждой программы есть версия, есть версия и у программного комплекса. "Исходный текст" версии программного комплекса не состоит из исходных текстов всех программ, это просто перечисление версий всех входящих в него программ. Версии программ хранятся отдельно - каждая в своём каталоге - и, при необходимости, из них собирается версия программного комплекса.

* * *

Hosted by uCoz