Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Спецкурс. Занятие 5

Инструменты командной
работы, часть 1
Транзакционность, версионность

Транзакция:
группа логически объединенных
последовательных
операций, обрабатываемая или
отменяемая целиком
Транзакционность, версионность

Примеры:
1. Снятие наличных в банкомате
2. Отправка email
3. Создание файла в файловой
системе

Они кругом, даже в психоанализе 
Транзакционность, версионность

Системы контроля версий:
1. Централизованные – CVS, SVN
(Subversion)
2. Распределенные –
Git, Mercurial, Bazaar и т.д.
Транзакционность, версионность

Свойства SVN:
1. Есть выделенный сервер, на
котором находится репозиторий
2. Правами доступа управляет
сервер, доступ по паролю
3. Хранит всю историю изменений
файлов на сервере
Транзакционность, версионность

Свойства SVN:
4. Поддерживает одновременную работу
нескольких клиентов
5. Для работы клиенту необходимо
создать локальную копию репозитория
6. Версии (ревизии) нумеруются
натуральными числами (но с 0)
Транзакционность, версионность
Начало работы с SVN:
1. Создать репозиторий на сервере (админ)
2. Создать локальную копию на клиенте: svn
checkout <URL> <folder> (svn co …)
3. Создать первоначальную структуру папок:
/branches
/tags
/trunk
Транзакционность, версионность

Начало работы с SVN:
4. Добавить новые папки:
svn add <path>
svn add .
5. Зафиксировать ревизию 1:
svn commit –m “Repository structure has
been initially created”
svn ci …
Транзакционность, версионность

Типичный цикл работы с SVN:
1. Обновить локальную копию: svn
update (up)
2. Внести изменения
3. Обновить локальную копию: svn
update (up)
Транзакционность, версионность

Типичный цикл работы с SVN:
4. Разрешить конфликты, если есть
5. Выполнить svn ci –m “<Message>” – не
забывайте сделать это перед уходом!
В день должно быть несколько
коммитов.
Общее информационное пространство

Что доступно всем:
1. Требования (постановка задачи)
2. Соглашения
3. Ресурсы для работы
4. Код
Общее информационное пространство

Система Wiki:
1. Версионность
2. Совместные изменения
3. Язык разметки
Общее информационное пространство

Google Apps:
1. Почта на домене
2. Совместные документы
3. Группы, блоги и т.д.
Общее информационное пространство

Файлообменники:
1. FTP, сетевые диски (устарело)
2. Облачные:
Dropbox
Yandex disk
Google Drive
RUP:
Процессы разработки
1. Много
документов, утвержденного
формата
2. Чаще всего разработка по
водопадной модели
3. Нужен крупным
корпорациям, для финансового и
другого ПО повышенной
ответственности
Процессы разработки

Agile – общее название гибких
методологий разработки
XP, Scrum, Canban и
комбинации
Процессы разработки

Любая методология требует
управления процессом!
Процессы разработки

XP (Экстремальное
программирование) – строгое
соблюдение инженерных практик:
Парное программирование
TDD
и т.д.
Процессы разработки

Scrum – процесс постоянного
улучшения за счет
ретроспектив, митинги для
общего обмена информацией,
итерации фиксированной
длины
Процессы разработки

Типичная Scrum-доска:
Процессы разработки

Чаще распространены
комбинации.
Набирает обороты подход
Continuous delivery –
непрерывная поставка
изменений
Системы управления задачами

1. JIRA – подходит для RUP и
Agile, универсальна и сложна
2. Trello – для Scrum и Canban
3. Basecamp – для внутренних и
продуктовых команд
Системы управления задачами

4. Redmine – интегрированное
решение, включает wiki, работу
с репозиторием, разные
представления статуса задач
Их сотни, но лучшей нет 

More Related Content

Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5