Проектирование информационных систем, Профессиональный подход, Туров В.П., 2025.
Рассмотрены подходы и технологии, применяющиеся для проектирования информационных систем и подбора инструментов с учетом развития и поддержки программных продуктов. Разобрана теория развертывания, тестирования, автоматизации, балансировки нагрузки и поддержка новых возможностей в развивающемся продукте. Материал теоретической части рассмотрен на основе гипотетической информационной системы для сказочных персонажей. В практической части описанные теоретические концепции применяются в рамках реализации технического задания и в условиях ограниченности ресурсов. Среди рассмотренных примеров — разработка телеграм-бота, интернет-магазина и плагина к редактору для 3D-моделирования.

Методологии разработки ПО.
В самом начале жизненного цикла программного обеспечения следует выбрать подход к ведению разработки. Составленный перечень ценностей, требований и бизнес-процессов позволяет задокументировать «контрольные точки» и признаки их достижения в жизненном цикле проекта.
Выбор методологии проектирования ПО не является обязательным для начала разработки программного обеспечения и может быть пропущен для индивидуальных домашних и академических проектов—таких как лабораторные и курсовые работы. Однако для разработки в командах очень рекомендуется выбрать методологию под свои цели.
ОГЛАВЛЕНИЕ.
Предисловие.
ЧАСТЬ I. ТЕОРИЯ ПРОЕКТИРОВАНИЯ.
Глава 1. Методологии разработки ПО.
Водопадная модель.
Спиральная модель.
Rational Unified Process.
Язык моделирования UML.
Сущности UML.
Структурные сущности UML.
Поведенческие и дополнительные сущности UML.
Комментирующие сущности UML.
Отношения UML.
Диаграммы UML.
Диаграмма классов.
Диаграмма состояний.
Диаграмма развертывания.
Диаграмма прецедентов.
Диаграмма последовательности.
Гибкие методологии.
Scrum.
Feature-Driven Development.
Глава 2. Выяснение требований.
Функциональные требования.
Нефункциональные требования.
Глава 3. Архитектурные шаблоны и стили.
Монолитная архитектура.
Микросервисная архитектура.
Микроядерная архитектура.
Событийно-ориентированная архитектура.
Многоуровневая архитектура.
Representational State Transfer (REST).
Распределенная транзакция.
Протокол двухфазного согласования (2 Phase Commit, 2PC).
Протокол трехфазного согласования (3 Phase Commit, 3PC).
Оркестрация.
Хореография.
Паттерн SAGA.
Глава 4. Принципы разработки ПО.
Принцип KISS.
Принцип YAGNI.
Принцип SOLID.
S — Single Response Principle (принцип единой ответственности).
O — Open-Closed Principle (принцип открытости/закрытости).
L — Liskov substitution principle (принцип подстановки Барбары Лисков).
I — interface segregation principle (принцип разделения интерфейса).
D — dependency inversion principle (принцип инверсии зависимостей).
Инверсия управления.
Внедрение зависимостей.
Глава 5. Технологии.
Системы управления базами данных.
Реляционная модель данных.
Столбцово-ориентированная модель.
Документо-ориентированная модель.
Графовая модель.
Ключ-значение.
Базы данных для временны´ х рядов.
Брокер сообщений.
Параллельные вычисления.
Закон Амдала.
Многопоточность.
Синхронизация в многопоточных программах.
Псевдопараллелизм.
Сопрограммы (корутины).
Многопроцессорные вычисления.
Межпроцессное взаимодействие.
Распределенные вычисления.
Синхронизация в распределенных системах.
Вызов функций в распределенных системах.
GraphQL.
WebSocket.
Кеширование.
Кеширование при чтении (сквозное чтение, read-through).
Кеширование при записи (сквозная запись, write-through).
Чтение на стороне (Read aside).
Запись на стороне (Write aside).
Кеширование на опережение (Cache Ahead, Refresh Ahead).
Политики инвалидации.
Идентификация, аутентификация и авторизация.
Идентификация.
Аутентификация.
Авторизация.
Глава 6. Тестирование.
Выбор данных для тестирования.
Юнит-тестирование.
Интеграционное тестирование.
Сквозное тестирование (end-to-end).
Полное тестирование.
Ручное тестирование.
Заглушки.
Глава 7. Развертывание.
Автоматизация развертывания.
Непрерывная интеграция.
Непрерывная доставка.
Непрерывное развертывание.
Масштабирование.
Вертикальное масштабирование.
Горизонтальное масштабирование.
Выделенные и облачные серверы.
Выделенный сервер.
Облачный сервер.
DBaaS (Database as a Service).
Объектное хранилище.
Развертывание: контейнеризация.
Технология chroot.
Технология Jail.
Технология Docker.
Технология Kubernetes.
Технология Nomad.
Развертывание: обнаружение сервисов.
Глава 8. Балансировка нагрузки.
Алгоритмы балансировки.
DNS.
GeoDNS.
Обратный прокси-сервер.
Глава 9. Обслуживание.
Логирование.
Мониторинг.
Оповещение.
Анализаторы исходного кода.
Сканеры уязвимостей.
Аудит-логи.
Аварийные игры.
Миграция схемы и миграция данных.
Версионирование.
Глава 10. Отказоустойчивость, резервирование и надежность.
Надежность системы.
Отказоустойчивость.
Резервирование.
Резервное копирование.
Схемы резервирования.
Восстановление после катастроф.
ЧАСТЬ II. ПРИМЕРЫ ПРОЕКТИРОВАНИЯ СИСТЕМ.
Глава 11. Проектирование неинтеративного редактора изображений.
Исходные требования.
Монолитный подход.
Модульный подход.
Внезапное требование.
Рекомендуемые технологии.
Распространение.
Заключение.
Глава 12. Проектирование текстового блога.
Исходные требования.
Быстрый минимальный вариант.
Проектирование архитектуры.
Рекомендуемые технологии.
Безопасность.
Аутентификация.
Поиск.
Масштабирование.
Локализация контента.
Логирование и мониторинг.
Отслеживание популярности материалов.
Рекомендательная система.
Соблюдение локальных норм.
Резервное копирование.
Заключение.
Глава 13. Проектирование сервиса конвертации файлов.
Исходные требования.
Проектирование архитектуры.
Проектирование веб-сервера.
Проектирование агента.
Проектирование взаимодействия с инструментами конвертации.
Проектирование фонового процесса.
Выбор технологий.
Ограничение анонимных пользователей.
Запрет использования сервиса в качестве файлового хранилища.
Ограничение количества действий с одного адреса.
Запрет регистрации с фальшивых почтовых адресов.
Ограничение по объему и форматам.
Безопасность.
Взаимодействие с платежными системами.
Приватность данных.
Пароль доступа.
Шифрование данных.
Логирование и мониторинг.
Распределенная архитектура.
Улучшение пользовательского опыта.
Подробные статусы.
Хеширование входных файлов.
Определение некорректных файлов.
Добавление новой функциональности.
Заключение.
Глава 14. Проектирование интернет-магазина в Telegram.
Исходные требования.
Анализ возможностей.
Ограничения.
Проектирование интерфейса бота.
Проектирование зоны администратора.
Проектирование архитектуры.
Выбор технологий.
Рассылка уведомлений.
Горизонтальное масштабирование.
Мониторинг.
Дальнейшие улучшения.
Заключение.
Глава 15. Проектирование плагина для отправки проекта из программы 3D-моделирования.
Исходные требования.
Ограничения.
Проектирование простой архитектуры.
Проектирование составной архитектуры.
Выбор технологий.
Логирование.
Потенциальные технические улучшения.
Заключение.
Заключение.
Предметный указатель.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Проектирование информационных систем, Профессиональный подход, Туров В.П., 2025 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу, если она есть в продаже, и похожие книги по лучшей цене со скидкой с доставкой по всей России.Купить книги
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по информатике :: информатика :: компьютеры :: Туров
Смотрите также учебники, книги и учебные материалы:
Предыдущие статьи:








