Similar presentations:
Системы управления проектами. Лекция 3. Тема 1. Стандарты в области разработки ПО
1.
Системы управленияпроектами
Лекция 3
Тема 1: Стандарты в области разработки ПО
1
2.
Системы управленияпроектами
Расширение системы контроля версий
Добавляется задача организационного
управления процессом разработки
Возможность управления «виртуальным»
коллективом разработчиков
2
3.
Системы управления проектамиПроцесс управления проектом =
процесс управления конфигурацией
англ. Software Configuration Management (SCM)
Конфигурация – состав и взаимосвязь
составных частей
Проект (процесс) – усилия с определенными
датами начала и окончания, предпринятые
для создания продукции или услуг в
соответствии с заданными ресурсами,
областью применения, требованиями и
ответственностью
3
4.
Конфигурационное управлениеКонфигурационное управление – комплекс
методов, направленных на:
систематический учет изменений, вносимых
разработчиками в программный продукт в процессе
его разработки и сопровождения
сохранение целостности системы после изменений
формализацию процесса внесения изменений
предотвращение нежелательных и
непредсказуемых эффектов
Конфигурационное управление = Управление проектом
4
5.
Цели конфигурационного У.Контроль (отслеживание изменений,
соблюдение процесса разработки)
Управление (управляющие решения на
основе результатов контроля)
Экономия средств (снижение рисков
потерь)
Качество (достижение и сохранение)
6
6.
Задачи конфигурационного У.идентификация конфигурации
контроль изменения конфигурации
учет текущего состояния конфигурации
управление процессом разработки
управление сборкой
управление окружением
отслеживание задач, проблем, ошибок
7
7.
ПримерыRedmine – универсальная СУП – работа с любыми
СКВ, LDAP и БД
RhodeCode – коммерческая СУП, работа с любыми
СКВ, платная
На основе СКВ Git (GitHub, GitLab) – все задачи и
процедуры конфигурационного управления именно в
терминологии Git, плюс открытость и доступность к
использованию
GitFlic – отечественная СУП, только хранение проектов,
удаленный доступ, командная работа, остальной функционал
в разработке
Gitee, Gogs – китайские аналоги с бОльшим количеством
социальных инструментов для обмена информацией
9
8.
Redmine, Gitlab, GithubКроссплатформенное приложение с web-интерфейсом
Ведение нескольких проектов, иерархия проектов
Доступ по ролевой модели с поддержкой LDAP
Роль пользователя в каждом проекте может быть своей
Запрос пользователя – новая задача в проекте
Взаимосвязь задач и их иерархия, любое события в
процессе разработки – задача со своими сроками,
статусом и ответственным
Системы отслеживания задач (ошибок, улучшений,
документирования, поддержки)
Взаимосвязь задач и их иерархия
10
9.
Redmine, Gitlab, GithubУчет времени, сетевое и линейное (календарное)
планирование
Управление проектами (файлами, документацией,
новостями)
Система оповещения об изменениях (почта, лента
новостей)
Форумы
Легкая интеграция с системами контроля версиями, СУБД
Возможность локальной установки без Интернет для
Redmine и GitLab
11
10.
Интерфейсы GitLabРабота через Git по интерфейсам HTTP,
HTTPS, SSH
Работа через веб-интерфейс
Неудобно писать код, но для этого есть свои среды
разработки
Решение задач управления проектом
Постановка задачи со сроками и ответственными
Назначение и изменение ролей участников
проекта
Инспекция кода и комментарии
Слияние веток (запрос и разрешение)
12
11.
Веб-интерфейс GitLab13
12.
Readme.md14
13.
Доступные проекты (Shift+p)Слайд выбор проектов, доступных
пользователю
15
14.
Активность проекта (gv)16
15.
Страница пользователя17
16.
Визуализация активности18
17.
Визуализация активности (gd)19
18.
Анализ содержимого (gd)20
19.
Список коммитов (gc)21
20.
Содержание коммита22
21.
Ветки проекта23
22.
Метки проекта24
23.
Граф изменений (gn)25
24.
Роли пользователей в проектеGuest (Гость)
Reporter (Докладчик)
Developer (Разработчик)
Maintainer (Управляющий)
Owner (Владелец)
26
25.
Роли пользователей в проекте27
26.
Задачи – Issues – Assignee (gi)28
27.
Задачи (Метки – Labels)29
28.
Этапы – Milestones30
29.
Доски Boards (gb)31
30.
Merge request – Запрос на слияние (gm)32
31.
Требования – Requirements33
32.
CI/CD – непрерывнаяинтеграция и развертывание
Continuous Integration & Continuous Delivery
Непрерывная интеграция
изменения вносятся в код регулярно, до нескольких раз в
день
каждое изменение автоматически тестируется и
интегрируется в проект
проект тестируется целиком
Непрерывное развертывание
после подтверждения работоспособности изменения
вносятся в основную ветку проекта и доводятся до заказчика
(в автоматическом или ручном режиме)
34
33.
CI/CD (gj)35
34.
Задачи по расписанию36
35.
Сочетания клавиш «?»37
36.
ОбщениеОповещение о событиях
Внутренние – Assigned issues, ToDo
Внешние – почта
Форумы
Только сторонние
38
37.
Системы управленияпроектами
Лекция 3
Тема 1: Стандарты в области разработки ПО
39
38.
Вопросы1.
2.
Системы управления проектами. Назначение.
Понятия «Конфигурация» и «Проект». Цели и
задачи конфигурационного управления. Примеры.
Система управления проектами GitLab.
40