Мы каждый день пользуемся разными приложениями, сайтами, программами, сервисами. Всё выше перечисленное, в принципе, можно объединить под единым названием - программное обеспечение. И все они помогают решать разного рода задачки, например, перевести денежку, посмотреть весёлое видео, купить еды, забронировать номер в отеле и т.д.
Для создания программного обеспечения создаются специальные команды - проектные команды. А системный аналитик — это часть такой команды.
Пользователи не всегда могут нормально объяснить так, чтобы их поняли разработчики. Это происходит, потому что зачастую пользователи и разработчики разговаривают условно на разных языках. В итоге возникает недопонимание, конфликты и тому подобные не очень хорошие ситуации. Решением этой проблемы занимается системный аналитик. Грубо говоря, системный аналитик является переводчиком с языка пользователей на язык, понятный проектной разработчикам, и наоборот.
По факту системный аналитик должен ответить на два вопроса?
- Что нужно делать? Что должно делать программное обеспечение?
- Как нужно делать?
Для того чтобы ответить на вопрос "что нужно делать?" системному аналитику нужно собрать информацию из различных источников о той области для которой будет разрабатываться программное обеспечение и о тех процессах, которые этой области присущи. Какие этому могут быть источники? Это общение с экспертами — людьми, которые знают о ней. Законодательная база. Внутренние источники данных заказчика (базы данных, таблицы, архивные документы и т.д.). Анализ существующего программного обеспечения. Далее всю собранную информацию, системному аналитику нужно собрать в единое целое - в виде модели(моделей) происходящих в ней процессов и модели преобразования данных. После этого этапа работы формулируется ответ на вопросы: "Что нужно делать? Что должно делать программное обеспечение?". По мне так это этап работы на стороне заказчика программного обеспечения.
После того как выяснили что нужно делать, системный аналитик приступает к проектированию ПО. И теперь это уже этап ответа на вопрос: "как нужно делать программное обеспечение?". А вот это этап работы на стороне команды. И тут решает, как быстро аналитик договорится обо всех технологиях и нюансах с участниками команды. Договорившись обо всём, команда приступает к разработке.
И вот тут начинаются всякие разные приколы...
В процессе разработки и тестирования программного обеспечения появляются вопросы как у пользователей, так и у команды разработчиков, неясности и противоречия. Это как раз те самые приколы. И вот с этим со всем, как оказалось, так же разбирается системный аналитик.
Программное обеспечение готово и протестировано. Свершилось чудо!
А у системного аналитика еще есть дела:
- документация
- инструкции
- обучение пользователей
P.S. Как-то так. Это мое понимание. Если есть неточности, напишите о них.