Снижение затрат ИТ-предприятия за счет управления процессом проектирования архитектуры программного обеспечения на базе методологии Domain Driven Design
АННОТАЦИЯ 2
ОГЛАВЛЕНИЕ 3
ВВЕДЕНИЕ 8
1 ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ АРХИТЕКТУРЫ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ 9
1.1 Что такое IT-предприятие 9
1.2 Понятие ПО 9
1.2.1 Классификация программного обеспечения 10
1.2.2 Жизненный цикл ПО 11
1.3.3 Этапы жизненного цикла ПО 11
1.3 Архитектура программного обеспечение 12
1.3.1 Задачи архитектуры программного обеспечения 13
1.3.2 Типы архитектуры программного обеспечения 14
Многоуровневая архитектура 14
Событийно-ориентированная архитектура 16
Микроядерная архитектура 17
Микросервисная архитектура 18
Монолитная архитектура 20
1.3.3 Критерии «хорошей» архитектуры 21
1.3.4 Критерии «плохой» архитектуры 22
1.4 Управление процессом проектирования архитектуры IT-предприятия 22
1.5 «Технический долг» и почему он появляется 23
1.5.1 Понятие «технического долга» 23
1.5.2 Причины появления технического долга 24
1.6 Волатильность финансовых издержек предприятия при проектировании ПО
25
Выводы по разделу один 27
2. ОБЗОР СОВРЕМЕННЫХ ПОДХОДОВ К РАЗРАБОТКЕ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ И МЕТОДОЛОГИЙ ПРОЕКТИРОВАНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ 29
2.1 Основные модели разработки ПО 29
2.1.1 Waterfall (каскадная модель, или «водопад») 29
2.1.2 V-образная модель (разработка через тестирование) 30
2.1.3 Инкрементная модель 31
2.1.4 Спиральная модель 33
2.1.5 «Agile Model» (гибкая методология разработки) 34
2.1.6 Сравнительный анализ моделей разработки 34
2.2 Методологии проектирования архитектуры информационных систем на базе
Agile 38
2.2.1 Test-driven development 38
2.2.2 Behaviour-driven development 39
2.2.3. Domain-driven design 40
2.2.4 Сравнительный анализ методологий проектирования 41
2.3 Глоссарий Domain Driven Design 43
Выводы по разделу два 53
3. РАЗРАБОТКА ТРЕБОВАНИЙ К АРХИТЕКТУРЕ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ 54
3.1 Архитектурные требования 54
3.2 Функциональные требования системы установки видеокамер 57
3.3 Лингвистические требования 57
3.4 Варианты использования системы 57
Выводы по разделу три 58
4. СНИЖЕНИЕ ЗАТРАТ ПРЕДПРИЯТИЯ ПОСРЕДСТВОМ УПРАВЛЕНИЯ
ПРОЕКТИРОВАНИИ ПО С ПОМОЩЬЮ МЕТОДОЛОГИИ DOMAIN DRIVEN DESIGN 59
4.1 Диаграмма бизнес-процесса в нотации BPMN 59
4.2 Разработка системы автоматизации установки камер 60
4.2.1 Внедрение единого языка 61
4.2.2 Составление карты контекстов 62
4.2.3 Практическая разработка продукта 62
Проектирование базы данных 62
Агрегаты, DTO, entity, repositories 63
4.3 Экономика IT - предприятия 63
4.3.1 Затраты на разработку без использования методологии Domain Driven
Design 64
4.3.2 Затраты на разработку с применением методологии Domain Driven
Design 66
4.3.3 Анализ полученных результатов 68
Выводы по разделу четыре 69
ЗАКЛЮЧЕНИЕ 71
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 73
ПРИЛОЖЕНИЕ - Листинг программных элементов 76
С каждым годом все больше и больше предприятий Российской Федерации проводят цифровизацию, переходят на электронный учет и автоматизируют бизнес-процессы. Для реализации данных задач создаются IT-предприятия, которые, применяя современные технологии, производят на свет программное обеспечение для управления предприятием и сопутствующих процессов.
Для создания и сопровождения таких систем мало нанять технических специалистов, необходимо внедрить управление процессом проектирования программного обеспечения, научиться создавать горизонтально-масштабируемы продукты. Данная ВКР освещает эту актуальную проблему.
Цель работы - снизить затраты IT-предприятия посредством управления процессом проектирования архитектуры программного обеспечения.
Для достижения цели в работе были поставлены следующие задачи:
• Рассмотреть понятие IT-предприятия.
• Провести анализ особенностей проектирования архитектуры ПО.
• Рассмотреть современные подходы к разработке ПО, проанализированы плюсы и минусы каждого из подходов, сделан выбор.
• Выработать требования к «устойчивой» архитектуре ПО.
• Снизить затраты предприятия посредством управления процессом разработки программного обеспечения с использованием методологии Domain Driven Design и сделать выводы по снижению затрат предприятия.
Объект работы - управление процессом проектирования архитектуры ПО на IT-предприятии.
Предмет работы - методологии управление процессом проектирования архитектуры ПО на IT-предприятии.
Результаты работы: рекомендуется использовать методологии Domain Driven Design при проектировании архитектуры ПО на IT-предприятии.
IT-предприятие - это сложная, многофункциональная фабрика специфической продукции - программного обеспечения. Для того, чтобы удовлетворить рынок, к программному обеспечению выдвигают определенные требования: масштабируемость, долговечность, отказоустойчивость и т.д.
Зачастую, неправильное проектирование ПО может привести к банкротству предприятия. Избежать негативных последствий помогают методологии проектирования архитектуры, выбранные исходя из задач и частных факторов.
В рамках данной работы была проанализирована актуальная проблема IT - предприятий - снижение затрат при разработке программного обеспечения, не пренебрегая при этом его качеством.
Были выявлены цель и задачи, рассмотрен инструментарий, доступный для решения задач, были выработаны требования к системе и рассмотрены практический пример внедрения методологии Domain Driven Design при разработке ПО на IT-предприятии. Автор предоставляет следующий краткие выводы:
• Введено понятие IT-предприятия и проанализированы особенности проектирование ПО на нем.
• Были изучены современные подходы к разработке ПО, проанализированы достоинства и недостатки каждого их них.
• Был выбран бизнес-процесс «Автоматизация установки камер абонентам» для практического применения.
• Были выдвинуты различные требования к разрабатываемому продукту: архитектурные, функциональные, лингвистические. Рассмотрены варианты использования системы.
• Детализирован процесс разработки программного обеспечения
посредством выбранной методологии Domain Driven Design.
• Был проведен анализ экономического эффекта использования выбранной методологии, сделаны выводы.
Таким образом, в результате данной работы автором была достигнута цель снижения затрат IT-предприятия, были выполнены поставленные задачи, доказана гипотеза эффективности использования методологии Domain Driven Design.
В заключение, автор рекомендует к использованию методологию Domain Driven Design при проектировании архитектуры программного обеспечения, когда количество бизнес-сценариев превышает порядок в 15-20 шт.
Данная работа обладает практической ценностью и рекомендована к апробации на IT-предприятии.