23
Инструменты командной работы, часть 1 Спецкурс. Занятие 5

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

  • Upload
    7bits

  • View
    113

  • Download
    6

Embed Size (px)

Citation preview

Инструменты командной работы, часть 1

Спецкурс. Занятие 5

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

Транзакционность, версионность

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

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

Транзакционность, версионность

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

Транзакционность, версионность

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

Транзакционность, версионность

Свойства SVN:4. Поддерживает одновременную работу нескольких клиентов5. Для работы клиенту необходимо создать локальную копию репозитория6. Версии (ревизии) нумеруются натуральными числами (но с 0)

Транзакционность, версионность

Начало работы с SVN:1. Создать репозиторий на сервере (админ)2. Создать локальную копию на клиенте: svncheckout <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. Обновить локальную копию: svnupdate (up)2. Внести изменения 3. Обновить локальную копию: svnupdate (up)

Транзакционность, версионность

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

В день должно быть несколькокоммитов.

Транзакционность, версионность

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

Общее информационное пространство

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

Общее информационное пространство

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

Общее информационное пространство

Файлообменники:1. FTP, сетевые диски (устарело)2. Облачные:

DropboxYandex diskGoogle Drive

Общее информационное пространство

RUP:1. Много документов, утвержденного формата2. Чаще всего разработка по водопадной модели3. Нужен крупным корпорациям, для финансового и другого ПО повышенной ответственности

Процессы разработки

Agile – общее название гибких методологий разработки

XP, Scrum, Canban и комбинации

Процессы разработки

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

Процессы разработки

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

Процессы разработки

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

Процессы разработки

Типичная Scrum-доска:

Процессы разработки

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

Процессы разработки

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

Системы управления задачами

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

Их сотни, но лучшей нет

Системы управления задачами