Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Кто такой системный аналитикСкачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Введение в урокВ этом уроке вы узнаете, кто такой системный аналитик, какие задачи он решает и что зависит от качества его работы.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Кто такой системный аналитикВ современном мире мы каждый день пользуемся электроникой с программным обеспечением (ПО): смартфонами, «умной» бытовой техникой, банкоматами и прочим. ПО помогает решать проблемы пользователей, например сотрудников и клиентов банка, врачей и их пациентов, учителей и учеников. С помощью программного обеспечения можно за минуту записаться на приём в поликлинику и не ждать в живой очереди. Врач же благодаря ПО увидит запись на экране компьютера и не будет спускаться в регистратуру, чтобы узнать, когда придёт пациент.
Созданием ПО занимается проектная команда. Системный аналитик — это участник проектной команды, который изучает проблемы пользователей, а затем пытается понять, что конкретно нужно сделать, чтобы их решить, то есть определяет, какое именно ПО нужно разработать.
Пользователи не всегда могут точно описать, что им нужно, и нередко говорят о своих потребностях и желаниях так, что проектная команда их не понимает. Это происходит потому, что пользователи хорошо ориентируются в своей предметной области (домене), но не знают (да и не обязаны знать), как устроена разработка ПО. Врачи, например, разбираются в том, как лечить людей, банкиры — как проводить банковские операции, архивисты — как работать с архивными фондами. Это их домены.
Специалисты глубоко погружены в свою сферу, поэтому часто об узкоспециализированных понятиях они говорят так, будто это известно всем. Для архивиста, например, очевидно, чем «единица хранения» отличается от «единицы учёта», разработчик же не знает таких тонкостей.
Разработка программного обеспечения — это тоже предметная область, в которой хорошо ориентируются участники проектной команды. Пользователи могут не видеть и не понимать очевидных для проектной команды вещей: типовых приёмов в создании ПО, что можно сделать, а что нельзя, что легко создать и что сложно.
Как это влияет на разработку программного обеспечения? Представим, что сотрудники архива, которым доступен поиск слов по текстовому документу, приходят к проектной команде с задачей создать ПО, распознающее слова на отсканированных документах. Разработчикам сразу понятно, что внедрить поиск слов на картинке гораздо сложнее, чем сделать поиск по набранному тексту. Пользователям же кажется, что эти задачи равноценны. В итоге возникает недопонимание и работа стопорится.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Основная задача системного аналитика — помочь пользователям и проектной команде понять друг друга. Для этого системный аналитик должен разбираться:- в предметной области пользователей, чтобы говорить с ними на одном языке;
- в разработке ПО, чтобы общаться с программистами, инженерами по тестированию и другими членами проектной команды.
Системный аналитик стоит на границе двух миров. Именно он переводит слова пользователей на язык, понятный проектной команде, и наоборот.
Скачано с сайта - https://supersliv.biz – Присоединяйся к лучшим
Как системный аналитик решает свою задачу и что зависит от его работыВ проектной команде системный аналитик отвечает за разработку именно такого ПО, которое решает проблему пользователей и соответствует их запросам. Для того чтобы привести команду к этому результату, системный аналитик:
- общается с экспертами в предметной области — людьми, которые знают о ней всё или почти всё;
- читает различные документы (например, нормативные акты и стандарты);
- изучает источники данных (электронные базы, таблицы, архивные документы и прочие);
- анализирует существующее ПО (например, созданное конкурентами).
Опираясь на собранную информацию, системный аналитик формализует предметную область и описывает требования к программному обеспечению. Проще говоря, он представляет предметную область в виде моделей происходящих в ней процессов и моделей касающихся её данных, а также формулирует, что именно должно делать ПО.
После того как системный аналитик выяснил, что нужно делать (собрал требования), он приступает к проектированию будущего ПО. Теперь системный аналитик формулирует, как нужно делать программное обеспечение, а нюансы его создания он обсуждает с проектной командой. Договорившись обо всём, её участники приступают к разработке.
В процессе создания и тестирования программного обеспечения системный аналитик отвечает на вопросы команды и пользователей, снимает противоречия, разбирается с неясностями, вносит уточнения и правки.
Когда программное обеспечение готово и протестировано, системный аналитик документирует результаты разработки (например, создаёт руководство по эксплуатации), показывает ПО пользователям и обучает, как с ним работать.
Если программное обеспечение не решает проблему пользователей, значит, системный аналитик ошибся — нередко нужно возвращаться в начало и всё переделывать. Поэтому внимательность и повышенное чувство ответственности сыграют системному аналитику на руку, ведь в его работе любая неточность может не только перечеркнуть достижения всей команды, но и надолго лишить доверия пользователей.