Системный анализ
О курсе
На курсе рассматриваются методы анализа бизнес-процессов, моделирования систем и внедрения информационных технологий, обеспечивая прозрачность и эффективность в управлении проектами.
Для кого этот курс
- Бизнес-аналитики
- Начинающие системные аналитики, которым не хватает технической базы
- ИТ специалисты, которые хотят освоить навыки системного анализа
Требуемые знания и навыки
Желателен опыт участия в проектах по разработке программного обеспечения в качестве менеджера, бизнес-аналитика, тестировщика или специалиста по сопровождению программного обеспечения.
Приобретаемые навыки
По завершению курса слушатели приобретут навыки, позволяющие им:
-
- Знать роль и функции системного аналитика в команде разработки
- Знать принципы и компоненты системного анализа, необходимые для оптимизации бизнес-процессов
- Знать методы формулирования нефункциональных требований и их роли в системном анализе
- Распознавать стили и шаблоны архитектуры, которые изображены на диаграммах, и описывать их в документации.
- Проектировать модели данных.
- Ознакомиться с языком структурированных запросов (SQL), создавать базовые SQL-запросы
- Создавать Swagger-документацию с описанием методов в спецификации OpenAPI
- Проектировать программные интерфейсы в архитектурном стиле REST
- Разъяснять процесс документирования требований к интеграции и их визуализации
- Использовать рабочие инструменты системных аналитиков
- Предоставить реальные кейсы и сценарии, помогающие применить полученные знания на практике
- Ознакомить с документами проекта, которые готовит системный аналитик
Программа
Модуль 1. Роль системного аналитика в проекте. Управление нефункциональными требованиями.
Тема 1. Введение в профессию
Кто такие аналитики. Какие бывают аналитики в IT, чем отличаются системные от
бизнес-аналитиков. Что отличает системного аналитика от других смежных
профессий. Необходимые навыки системного аналитика. Карьерный рост.
Тема 2. Нефункциональные требования
Что такое нефункциональные требования (NFR) и какие они бывают. Отличие
нефункциональных от функциональных требований. Сбор и документирование NFR.
Практика модуля 1: Описать NFR по требованиям заказчика из полученного кейса. Создать собственный чек-лист для сбора и документирования NFR.
Модуль 2. Основы архитектуры систем. Моделирование архитектуры.
Тема 3. Основы архитектуры систем.
Что такое архитектура системы. Клиент-серверная архитектура. Архитектурные стили: монолит, сервис-ориентированность, микросервисы. Популярные архитектурные паттерны и их применение.
Тема 4. Моделирование архитектуры
Подходы к построению диаграмм архитектуры программного обеспечения. Модели представления архитектуры. Обзор нотаций, инструментов моделирования.
Практика модуля 2: Создать модели архитектуры в нотации С4.
Модуль 3. Проектирование базы данных. Основы СУБД. SQL.
Тема 5. Данные. Моделирование данных
Предметная область. Концептуальная, логическая и физическая модели данных. Типы данных. Процесс моделирования данных. Инструменты для моделирования. Проектирование базы данных. Нормализация базы данных.
Тема 6. База данных как компонент системы. СУБД
Компоненты системы баз данных. Классификации баз данных. Типы баз данных. Системы управления базами данных (СУБД). Основные функции СУБД. Компоненты среды СУБД. Обзор СУБД: Oracle, MySQL, Microsoft SQL Server, PostgreSQL, MongoDB, Redis.
Тема 7. SQL
Вводная информация о SQL. Диалекты. Запросы, операторы, условия и ключевые слова. Группы операторов SQL: DDL, DML, DCL, TCL.
Практика модуля 3:
1. Создать логическую ER-диаграмму, составить модель и словарь данных.
2. Создать таблицы, изменить данные и получить выборки из БД с помощью SQL. Решить базовые задачи с помощью SQL-запросов.
Модуль 4. Проектирование и документирование API. Спецификация OpenAPI и Swagger.
Тема 8. Введение в API
Что такое API. Как используется API. Протоколы API. HTTP-запросы. Коды ответов HTTP и ошибки сервера. Форматы данных. Типы API: REST, SOAP, GraphQL, gRPC. Аутентификация и авторизация.
Тема 9. Проектирование и документирование API
Проектирование API. Документирование конечных точек. API Style Guide. REST API Best Practices.
Тема 10. Спецификация OpenAPI и Swagger
Форматы спецификаций REST API. Работа в YAML. Сравнение YAML и JSON. Обзор руководства OpenAPI 3.0. Swagger Tools: Swagger Editor и Swagger UI.
Практика модуля 4: Спроектировать API взаимодействия backend с frontend из полученного кейса, задокументировать конечные точки, создать Swagger-документацию в спецификации OpenAPI.
Модуль 5. Основы интеграции систем
Тема 11. Основы интеграции систем
Что такое интеграция и когда она необходима. Шаблоны интеграции: файловый обмен, общая база данных, вызов удалённых процедур, обмен сообщениями. Брокеры сообщений: Rabbit MQ, Apache Kafka. Инструменты для описания интеграционных взаимодействий.
Практика модуля 5:
1. Описать требования к RESTful-сервису из полученного кейса, задокументировать конечные точки, создать Swagger-документацию в спецификации OpenAPI.
2. Описать требования к шине на Apache Kafka.
Модуль 6. Сопровождение процесса разработки
Тема 12. Сопровождение процесса разработки
Системы контроля версий (VCS). Популярные VCS и отличия между ними. Что такое Git, GitHub, GitLab. Интегрированная среда разработки. Автоматизация доставки кода. CI\CD.
Тема 13. Тестирование и контроль качества
Назначение различных видов тестирования. Основные методы тестирования. Ошибка, дефект и сбой. Чек-листы и тест-кейсы. Инструменты для тестирования: Selenium, SoapUI, Apache Jmeter, Cypress и др. Тестирование API. Основы Postman.
Тема 14. Декомпозиция задач, критерии готовности и приемка
Вертикальная и горизонтальная декомпозиция требований. Трассировка требований. Постановка задачи на реализацию. Проектная и эксплуатационная документация. Концепция Docs as Code. Как использовать Git и GitHub при создании документации.
Практика модуля 6:
1. С помощью Postman протестировать API из задания.
2. Создать чек-лист и/или тест-кейс.
3. Оформить документацию в GitHub.
4. Оформить задачи на реализацию для backend, frontend и на создание таблиц БД.