О чём этот спринт
SQL (Structured Query Language) — язык структурированных запросов, который используется для работы с информацией в базе данных.
Казалось бы, зачем системному аналитику знание SQL? И почему в вакансиях на позицию системного аналитика требуется владение этим навыком хотя бы на базовом уровне?
Чтобы ответить на такие вопросы, нужно вспомнить этапы жизненного цикла ПО, которые мы рассматривали в первом спринте.
Разработка требований
Часто на данном этапе нужно проанализировать работу уже существующего ПО, которое использует заказчик. Это может быть старая система — мы заменим её в результате разработки — или смежная, с которой будет взаимодействовать наш продукт.
Иногда у ПО не очень качественная документация или её нет вообще — так бывает, если разработчики пишут программу «наживую», опираясь на постоянно меняющиеся запросы пользователей. В таких случаях гораздо эффективнее и надёжнее изучить реальную базу данных системы, в том числе сформировав в ней различные выборки с помощью SQL-запросов.
Проектирование
Один из шагов на данном этапе — преобразовать логическую модель данных в физическую. Чтобы сделать это корректно, нужно говорить с разработчиками на одном языке и понимать ключевые принципы работы с базой данных. Можно ли применять к данным операции создания, модификации и удаления, можно ли формировать выборки на основе взаимосвязанных сущностей и прочее? Знание SQL в таком случае — это база, которая даёт представление о способах взаимодействия с данными.
Реализация
Разработчики и тестировщики могут задавать вопросы системному аналитику по поводу реализации каких-либо сущностей или процессов. Чтобы быстрее и лучше понимать друг друга, полезно заглянуть в базу данных системы и проверить, как формируются или изменяются данные при выполнении той или иной операции, а также соответствует ли фактический порядок работы с данными той логике, которую закладывал системный аналитик.
На этапе внедрения, как правило, нужно первично наполнить систему данными и перенести их из старых систем. Чтобы корректнее поставить задачу по миграции данных, полезно написать несколько тестовых SQL-запросов.
Поддержка, обслуживание и оценка результатов
Когда система уже перешла в эксплуатацию, для решения каких-либо проблем нередко привлекают системного аналитика в качестве эксперта. В этом случае ему понадобится проанализировать информацию в базе данных и составить SQL-запрос для формирования показательной выборки, поскольку пользователь не всегда может точно описать порядок действий, которые привели к проблеме.
Подведём итоги
Знание SQL сильно упрощает жизнь системному аналитику. С его помощью можно получать быстрые и точные ответы при анализе данных, а ещё общаться с разработчиками и тестировщиками на одном языке. Пожинать плоды от этих знаний вы начнёте уже на первых этапах проекта. Знание SQL позволяет повысить качество сбора и анализа требований, а также качество моделей данных (поэтому этот спринт следует за уроками по разработке требований).
Навыки работы с данными выводят на новый уровень мастерство системного аналитика и делают его серьёзным конкурентом на рынке. Поэтому ближайшие шесть недель мы посвятим работе с данными системы и разработке требований к ним, а по итогам двух спринтов вы выполните самостоятельный проект, где вашими задачами станут:
- Описание требований к данным с помощью логической модели и словаря данных.
- Анализ физической модели данных, которая составлена на базе логической модели.
- Выполнение запросов к реальным данным в базе данных.