Спецкурс "Современные практики разработки ПО", 2013-2014...
Transcript of Спецкурс "Современные практики разработки ПО", 2013-2014...
Транзакция:группа логически объединенных последовательных операций, обрабатываемая или отменяемая целиком
Транзакционность, версионность
Примеры: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 – процесс постоянного улучшения за счет ретроспектив, митинги для общего обмена информацией,итерации фиксированной длины
Процессы разработки
Чаще распространены комбинации.Набирает обороты подход Continuous delivery –непрерывная поставка изменений
Процессы разработки
1. JIRA – подходит для RUP и Agile, универсальна и сложна2. Trello – для Scrum и Canban3. Basecamp – для внутренних и продуктовых команд
Системы управления задачами