Методы организации работы в команде разработчиков. Системы контроля версий

Содержание

Слайд 2

Все множество разработок в зависимости от количества участников и типов взаимоотношений

Все множество разработок в зависимости от количества участников и типов взаимоотношений

между ними может быть сведено к триаде разработок.
Слайд 3

1. Авторская разработка Авторская разработка - принцип создания программных продуктов, при

1. Авторская разработка
Авторская разработка - принцип создания программных продуктов, при котором

весь жизненный цикл разработки поддерживается одним единственным человеком.
2. Коллективная разработка
Одним из основных вопросов коллективной разработки является разделение труда - от равноправных соисполнителей до организации в виде жесткой иерархии (например, бригады главного программиста).
3. Общинная модель разработки
Идеология общинной ("базарной") модели разработки сформулирована в программной статье Эрика Раймонда (Eric Raymond) "Собор и Базар". Общинная модель характеризуется тремя основными факторами: децентролизованность разработки, разработка ведется на базе открытых исходных текстов, большое количество внешних тестеров (бета-тестеров), позволяющих быстро обнаруживать ошибки и проблемы в программе.
Слайд 4

Коллективная разработка Бригада равноправных соисполнителей обычно состоит из специалистов, занимающихся примерно

Коллективная разработка
Бригада равноправных соисполнителей обычно состоит из специалистов, занимающихся примерно подобными

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

Основные этапы разработки программного обеспечения Анализ - определение процесса разработки ПО

Основные этапы разработки программного обеспечения

Анализ - определение процесса разработки ПО
Проектирование -

управление проектом разработки
Конструирование - описание целевого программного продукта
Программирование - проектирование продукта
Разработка продукта
Тестирование - тестирование частей программного продукта
Отладка - интеграция частей и тестирование продукта в целом
Развертывание - сопровождение продукта, обучение пользователей
Выпуск продукта
Слайд 6

Минимальные функции системы коллективной разработки: это регистрация изменений, вносимых в проект, хранение файлов проекта.

Минимальные функции системы коллективной разработки:

это регистрация изменений, вносимых в проект,
хранение

файлов проекта.
Слайд 7

Системы управления версиями (Version Control Systems, VCS) или Системы управления исходным

Системы управления версиями (Version Control Systems, VCS) или Системы управления исходным

кодом (Source Management Systems, SMS) — важный аспект разработки современного ПО. Это программное обеспечение , предназначенное для работы с постоянно изменяющейся информацией. VCS предоставляет следующие возможности: 1) Поддержка хранения файлов в репозитории. 2) Поддержка истории версий файлов в репозитории. 3) Нахождение конфликтов при изменении исходного кода и обеспечение синхронизации при работе в многопользовательской среде разработки. 4) Отслеживание авторов изменений.

Система контроля версий

Слайд 8

1) Централизованные/распределённые — в централизованных системах контроля версий вся работа производится

1) Централизованные/распределённые — в централизованных системах контроля версий вся работа

производится с центральным репозиторием, в распределённых — у каждого разработчика есть локальная копия репозитория. 2) Блокирующие/не блокирующие — блокирующие системы контроля версий позволяют наложить запрет на изменение файла, пока один из разработчиков работает над ним, в неблокирующих один файл может одновременно изменяться несколькими разработчиками. 3) Для текстовых данных/для бинарных данных — для VCS для текстовых данных очень важна поддержка слияния изменений, для VCS с бинарными данными важна возможность блокировки.

Классификация систем контроля версий

Слайд 9

Мониторинг работоспособности некоторых из систем контроля версий. Bazaar, ранее известная как

Мониторинг работоспособности некоторых из систем контроля версий.

Bazaar, ранее известная как Bazaar-NG,

утилита командной строки bzr, — это распределённая система управления версиями, разработка которой спонсируется фирмой Canonical Ltd, в последнюю версию по сравнению с предыдущей было внесено более 50 изменений. Данная система разработана в целях облегчения создания и развития проектов для пользователей.
Mercurial, в переводе с англ. «подвижный», — распределённая система управления версиями, способная функционировать на многих операционных системах и различных аппаратных платформах, разработанная для эффективной работы с очень большими кодами.
Git — распределённая система управления версиями файлов. Код программы был написан на языке «С», проект создан Линусом Торвальдсом в 2005 году для управления разработкой ядра Linux, является общедоступным программным обеспечением. Данная система была введена многими ведущими разработчиками, используется в известных Linux-сообществу проектах.
Concurrent Versions System (или CVS, в переводе «Система Одновременных Версий») — представляет собой программный продукт, который относится к разряду систем управления версиями. Программа хранит историю изменений исходного кода программного обеспечения, тем самым облегчая совместную работу программистов над одним проектом. CVS популярна в мире открытого программного обеспечения.