История управления конфигурацией программного обеспечения
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
История вычислений |
---|
![]() |
Аппаратное обеспечение |
Программное обеспечение |
Информатика |
Современные концепции |
По стране |
Хронология вычислений |
Глоссарий информатики |
Историю управления конфигурацией программного обеспечения (SCM) можно проследить еще в 1950-х годах, когда CM (управление конфигурацией), первоначально предназначенное для разработки аппаратного обеспечения и контроля производства, применялось к разработке программного обеспечения. Раннее программное обеспечение имело физический след, например карты , ленты и другие носители. Первое управление конфигурацией программного обеспечения осуществлялось вручную. С развитием языка и сложности разработка программного обеспечения , включающая управление конфигурацией и другие методы, стала серьезной проблемой из-за таких проблем, как график, бюджет и качество. Практические уроки, полученные за прошедшие годы, привели к определению и созданию процедур и инструментов. Со временем эти инструменты превратились в системы управления изменениями программного обеспечения. [1] В качестве решений предлагались общеотраслевые практики, как в открытой, так и в проприетарной форме (например, Система контроля версий ). С ростом использования компьютеров появились системы, которые выполняли более широкий спектр задач, включая управление требованиями , альтернативные варианты проектирования, контроль качества и многое другое; более поздние инструменты следовали рекомендациям организаций, таким как Модель зрелости возможностей Института программной инженерии .
Хронология [ править ]
- Начало 1960-х или даже конец 1950-х: CDC UPDATE и IBM IEB_UPDATE. [2]
- Конец 1960-х - 1970-е годы: The Librarian выпущен компанией Applied Data Research и представляет собой альтернативу хранению программ на перфокартах для рынка мэйнфреймов IBM . [3]
- Конец 1960-х, начало 1970-х: профессор Леон Прессор из Калифорнийского университета в Санта-Барбаре защитил диссертацию по управлению изменениями и конфигурациями. Эта концепция стала ответом на контракт, над которым он работал с оборонным подрядчиком, производившим авиационные двигатели для ВМС США .
- Начало 1970-х: Unix
make
. - К 1970 году обновление CDC стало продвинутым продуктом.
- Примерно 1972 год: статья Bell Labs с описанием оригинала.
diff
алгоритм. - 1972, с документом IEEE в 1975 году: система контроля исходного кода, SCCS , Marc Rochkind Bell Labs. Первоначально запрограммирован в SNOBOL для OS/360 ; впоследствии переписан на C для Unix (для сравнения файлов использовался diff).
- 1970-е: Лайла, штат Иллинойс, из Компания Pansophic Systems предложила PANVALET, которая была первой системой контроля исходного кода для рынка мэйнфреймов. [4]
- 1975: Работа профессора Прессора в конечном итоге превратилась в коммерчески доступный продукт под названием Change and Configuration Control (CCC), который продавался корпорацией SoftTool.
- Система контроля версий ( RCS , Вальтер Тихи).
- Начало 1980-х:
patch
(около 1985 года, Ларри Уолл ). - 1984: Адъютант
- 1986: Система параллельных версий ( CVS ).
- 2000: подрывную деятельность инициировала CollabNet .
- Начало 2000-х (десятилетие): распределенные системы контроля версий, такие как BitKeeper и GNU Arch, становятся жизнеспособными.
Предыстория [ править ]
До 1980-х годов SCM можно было понимать только как CM , применяемый к разработке программного обеспечения. [5] Некоторые базовые концепции, такие как идентификация и базовый уровень (четко определенная точка в развитии проекта), уже были ясны, но на кону стоял набор методов, ориентированных на контроль деятельности и использование формальных процессов, документов, запросов. формы, платы управления и т. д.
Только после этого использование программных инструментов, применимых непосредственно к программным артефактам, представляющим реальные ресурсы, позволило SCM вырасти как автономный объект (от традиционного CM).
Использование различных инструментов на самом деле привело к очень четким акцентам.
- традиционный CM для программного обеспечения, обычно связанный с управлением изменениями (примеры: Continuus , CVS или ClearCase UCM)
- линейно-ориентированное управление, основанное на патчах или наборах изменений
- сосредоточено на производных объектах и управлении сборками (пример: Base ClearCase /clearmake)
Эволюция [ править ]
Первое поколение [ править ]
SCCS (впервые выпущенный в 1973 году) и DSEE (считающийся предшественником Atria ClearCase ), описанный в 1984 году, [6] Это два других известных программных инструмента VCS. Эти инструменты, наряду с системой контроля версий (RCS), обычно считаются первым поколением VCS как автоматизированных программных инструментов. [7]
Второе поколение [ править ]
первого поколения После VCS такие инструменты, как CVS и Subversion , которые имеют локально централизованный репозиторий, можно рассматривать как VCS второго поколения. В частности, CVS (система параллельных версий) была разработана поверх структуры RCS, улучшая масштабируемость инструмента для больших групп, а позже и PRCS. [8] более простой инструмент, похожий на CVS, который также использует файлы, подобные RCS, но улучшает дельта-сжатие за счет использования вместо этого Xdelta .
Примерно к 2006 году Subversion считалась самым популярным и широко используемым инструментом VCS этого поколения и заполнила важные недостатки CVS. [ по мнению кого? ] Позже SVK был разработан с целью обеспечения функции удаленного участия, но по-прежнему основы его конструкции были аналогичны его предшественникам. [7]
Третье поколение [ править ]
По мере улучшения подключения к Интернету и распространения географически распределенной разработки программного обеспечения появились инструменты, которые не полагались на общий центральный репозиторий проектов. Это позволяет пользователям поддерживать независимые репозитории (или форки ) проекта и сообщать об изменениях через наборы изменений . BitKeeper , Git , Monotone , darcs , Mercurial и bzr Вот несколько примеров систем контроля версий третьего поколения. [7]
См. также [ править ]
- Контроль версий — деятельность по управлению версиями файлов.
Ссылки [ править ]
- ^ «1988 «Руководство по пониманию управления конфигурацией в доверенных системах» Национальная система компьютерной безопасности (через Google )
- ^ «Устарело: Часто задаваемые вопросы по управлению конфигурацией» .
- ^ Гетц, Мартин (3 мая 2002 г.). «Интервью с Мартином Гетцем» (Интервью). Беседовал Джеффри Р. Йост. Вашингтон, округ Колумбия: Институт Чарльза Бэббиджа, Университет Миннесоты. стр. 5–7 . Проверено 26 мая 2023 г.
- ^ Устное историческое интервью с Джозефом Пископо , Институт Чарльза Бэббиджа , Университет Миннесоты. Пископо основал Pansophic Systems в 1969 году и руководил ею до выхода на пенсию в 1987 году. В интервью обсуждается развитие Panvalet и приобретение Easytieve.
- ^ Дж. К. Бакл (1982). Управление конфигурацией программного обеспечения . ISBN 0-333-30719-4 .
- ^ Лебланг, Дэвид Б.; Чейз, Роберт П. (май 1984 г.). «Компьютерная разработка программного обеспечения в среде распределенных рабочих станций» . Уведомления ACM SIGPLAN . 19 (5): 104–112. дои : 10.1145/390011.808255 .
- ^ Jump up to: Перейти обратно: а б с Рэймонд, Эрик. «Понимание систем контроля версий (ПРОЕКТ)» . www.catb.org . Проверено 13 февраля 2017 г.
- ^ Макдональд, Джошуа П. (9 мая 2004 г.). «PRCS, Система контроля версий проектов» . Проверено 29 октября 2021 г.