Рисунок: @shato_illust
Рисунок: @shato_illust

Привет! Меня зовут Саша, и я хочу стать хорошим системным аналитиком.

Я загорелась этой идеей на втором курсе универа. К тому времени я уверенно прошла курсы по разработке баз данных и моделированию систем через нотации, а до этого уже со школы занималась анализом данных, робототехникой, проектированием, учила иностранный язык. 

Для успешной работы системным аналитиком - посредника между бизнесом и IT - нужен опыт. И желательно побольше. 

Я подумала, что сидеть на месте - глупо и нерезультативно. А учиться и получать опыт у специалистов - это лучше, чем просто интуитивно выполнять университетские задания, далекие от реальной жизни. Поэтому было очень круто поучаствовать в программе отбора по этому направлению, и я очень благодарна, что у меня была возможность проверить свои знания на реальных кейсах.

Как проходил отбор

В отборе были экзамены по языку запросов SQL и математике, а в качестве кейса предлагалось придумать концепт удобного планировщика и схему его внедрения в приложение.

Главными задачами кейса были:

  1. Написать список систем или сервисов, с которыми нужно будет интегрировать планировщик.

  2. Создать схему его интеграции с системами/сервисами с помощью любого инструмента.

  3. Перечислить верхнеуровневый список функциональных и нефункциональных требований.

Кейс

Для меня планировщики - это больная тема. Я из тех людей, которые очень стараются себя организовать, но не всегда получается. Сколько бы я не читала книги про тайм-менеджмент и самоорганизацию, для меня остается нормой в расписании перемешивать список продуктов, личные встречи и университетские дедлайны.

Так что я придумала концепт, который будет удобен как людям, умеющим организовывать свое время, так и тем, кто этого очень хочет, но действует беспорядочно. А также тем, кто старается организовать себя, но лучше получается других :)

Да начнется авантюра! 

Принцип моего решения заключается в создании личного time-keeper-а, который поможет сэкономить время на типичные задачи, такие как заказ билетов или доставка еды, используя удобные, интуитивно понятные сервисы. 

По моему концепту его реализовать нужно так, чтобы получился своеобразный проводник в экосистему компании. Прямо как в книгах Лукьяненко. 

Только вместо того, чтобы попасть в Аркан, вы попадете в центр экосистемы, а перед вами будут открытые двери - сервисы компании, которой принадлежит приложение.

кф. "Черновик", 2018
кф. "Черновик", 2018

На каких идеях базируется планировщик:

  • Быстрый поиск нужного сервиса - используются ключевые слова. 

  • Шаблоны - подсказки, сгенерированные исходя из привычек пользователя.

  • Двухуровневый календарь - для наглядности.

  • Режим «авто-планирование» - при покупке услуги, привязанной ко времени, создается событие в календаре.

  • Возможность отправить отзыв - новые идеи помогут сделать планировщик еще лучше.

Описание идеи и красивые слайды - это круто, но системный аналитик должен уметь изложить требования и составить схему системы через специальные методологии структурного анализа и проектирования (я использовала DFD для изображения потока данных, поскольку работала с ней в рамках курса университета).

Полученные схемы достаточно большие, поэтому если вам интересно посмотреть на мою реализацию, можно заскочить сюда.

Насчет требований. Их много, но разделяются они на функциональные (что делает система) и нефункциональные (каким образом). Для простоты визуализации я привела по 7 каждого типа (говорят, что это счастливое число. Пусть будет 7):

Экзамены

Были по математике и SQL. 

C SQL все было достаточно просто: проверяются теоретические знания, умение понимать простые запросы и писать свои. 

Я боялась, что попадутся задачи с подвохом. Например, выведите имена всех жителей Мордора, проживающих в Моранонне. Но в реале все оказалось проще - ни одного назгула я не встречала.

Для подготовки к экзамену я пользовалась SQL Academy, ибо платформа для обучения нереально крутая - грамотно изложена теория и много практики.

По математике большинство задач были по теории вероятности. Скрины заданий, к сожалению, я не делала, но для их решения достаточно знаний университетского курса.

Поскольку ранее я не проходила собеседование на стажера по системной аналитике, сразу начала осваивать материалы на Хабре от людей, работающих по этой специальности. Для подготовки я в основном руководствовалась этой статьей и ответственно познала все, что там указано: от требований к ПО до методов интеграции. Так что я могу по праву себя считать падаваном.

Собеседование

Да, скажу сразу, собеседование я не прошла :)

На собеседовании передо мной находилось несколько человек - руководителей направлений аналитики. Сначала они задавали вопросы, которые касались руководства - предлагали решить несколько реальных кейсов наподобие “что будет, если..”, а затем решить задачки, связанные с SQL и логикой. 

Мне всегда казалось, что задачи на логику, как и рассказ о себе - это те самые темы, которые с легкостью приходят на ум. Но нет. Вообще не так. И задачу про три вазы я запомню на всю жизнь, ибо так забавно я еще никогда не зависала :)

Интересно было узнать, что системный аналитик должен уметь решать некоторые задачи проект-менеджера - находить правильный подход к трудной ситуации и организовывать людей. Моим ответом на все эти вопросы - Agile, я в него очень верю :)

На самом деле, очень здорово пройти через собеседование с вопросами, которые не попадались ни в одной из статей по подготовке. Зато теперь я знаю ответы на них, и на те, что были у людей до меня. 

Отступать я не собираюсь - мой путь продолжается. Но чтобы понять, как двигаться дальше и в каком направлении, будет круто получить комментарии от тех, кто уже работает или работал по этой специальности.

В этом и была цель этой небольшой статьи ^^

Комментарии (44)


  1. AnnaVera
    19.09.2021 15:01

    Удачи вам, пусть все получится!

    Жду обратную связь по собеседованию на такую же должность)


    1. Sunny_Space Автор
      19.09.2021 15:02
      +1

      Спасибо вам огромное!


  1. SKiPP
    19.09.2021 19:45
    +1

    Так и какая задача про три вазы на логику?


    1. Sunny_Space Автор
      19.09.2021 20:16
      +1

      Ой, она очень простая. Есть три вазы. На первой написано "ЧЕРНЫЕ", на второй — "БЕЛЫЕ", на третьей — "ЧЕРНЫЕ И БЕЛЫЕ". В одной лежат белые шары, в другой — черные, в оставшейся — и черные, и белые. Все надписи заведомо ложны. Разрешается достать один шар только из одной урны. Как определить, в какой урне что лежит?


      1. gecube
        19.09.2021 20:54

        в смысле возможна только одна итерация? Или все-таки можно по шару из каждой урны достать?

        Но вообще вроде за одну итерацию решил :-) Хотя не.. вроде две нужны


        1. Sunny_Space Автор
          19.09.2021 20:59

          Да) могу написать решение, если интересно


        1. Fodin
          19.09.2021 21:14
          +11

          Достаем из "ЧБ" шар. Если он черный, то это ваза с черными шарами. Та, на которой написано "Черные" - не может быть "Черной", а та, что с "Белыми" - "Белой". У нас остается две неопознанные вазы, ЧБ и Б с метками Ч и Б. Поскольку все надписи заведомо ложные, получается, что в "Белые" лежат ЧБ-шары, а в "Черные" - Б. Если первый шар белый, то аналогичными рассуждениями приходим к тому, что в "Белые" лежат Ч шары, а в "Черные" - ЧБ.
          Но да, не мгновенно решение приходит в голову.


          1. gecube
            19.09.2021 21:16

            да, первая мысль была именно такая. Причем, знаете, из-за симметрии между черным ящиком и белым ))) а ч/б таким свойством не обладает, но это, конечно, рисовать надо, у меня столько фантазии нет, чтобы это в голове представить


          1. Sunny_Space Автор
            19.09.2021 21:23
            +1

            Круто! Именно так и решается)


          1. HellWalk
            20.09.2021 10:59
            -2

            получается, что в "Белые" лежат ЧБ-шары, а в "Черные" - Б

            Почему?

            У нас 3 сущности, которые могут находиться в вазах: белые шары, черные шары, белые и черные шары. При этом ничего не сказано, что вазы будут наполнены по разному - значит могут быть и повторяющиеся варианты, например Ч (где написано "белые") Ч (где написано "черно-белые") и Б (где написано "черные")

            То, что надписи ложные - избавляет только от одного варианта, а другие два остаются.


            1. ComodoHacker
              20.09.2021 11:30
              +1

              Внимательно читайте условие:

              В одной лежат белые шары, в другой — черные, в оставшейся — и черные, и белые.

              Повторений быть не может.


              1. HellWalk
                20.09.2021 14:28
                +4

                Как всегда - думаешь, что задачка на логику, а она - на внимательность :)


          1. screwer
            20.09.2021 12:32

            Skip


        1. ZodDZverev
          19.09.2021 21:22
          -1

          Достать шар из вазы, где написано Чёрные.

          Если он чёрный, то в это эй вазе чёрные и белые. В вазе ЧЁРНЫЕ и БЕЛЫЕ — белые, а в вазе БЕЛЫЕ — чёрные.

          И наоборот.


          1. dopusteam
            19.09.2021 21:26
            +4

            А если достали белый?


            1. ZodDZverev
              20.09.2021 00:50

              О, действительно. Тогда из чаши Черно-Белые тянем.


              1. IsUnavailable
                20.09.2021 09:39
                -1

                Если все надписи заведомо ложные, то без разницы откуда тянуть. Можно тянуть из любой вазы и мы всегда поймём какая из двух оставшихся возможных комбинаций лежит в вазах.


                1. dolovar
                  20.09.2021 10:05
                  +4

                  Брать из Ч или Б бесполезно — в 50% случаев получаешь двузначность ответа.
                  Ч — или б, или чб, вытаскивание б не позволяет разделить варианты
                  Б — или ч, или чб, вытаскивание ч не позволяет разделить варианты
                  ЧБ — или ч, или б, причем можно сразу сделать выводы о других ящиках


                  1. IsUnavailable
                    20.09.2021 13:28

                    Да, действительно. Не учёл, что достав только один шар, мы не узнаем лежат ли в этой вазе шары другого цвета.


                    1. dolovar
                      20.09.2021 13:36

                      Вариант 1: Выбираем Б. Там ч.
                      Вариант 2: Выбираем Б. Там чб.
                      В вазе с заведомо ложной надписью «белые» лежат либо черные, либо смесь черных и белых. Вытащив черный мы ничего не определяем — в вазе по-прежнему то ли все черные, то ли смесь черных и белых.

                      У нас нет опции «там чб» — по условию мы вытаскиваем только один шар из одной вазы, и он окажется либо черным, либо белым.
                      Если из Б вазы он окажется белым, то мы нашли «чб» и можем смело определить другие вазы. Но если из Б вазы шар окажется черным, то наша попытка ничего не прояснила.


                1. johnfound
                  20.09.2021 10:40

                  нет


        1. Griizzly
          20.09.2021 12:34

          У меня была похожая задача на одном из собеседований, только про фрукты. Там главное надо исходить из того, что все надписи ЛОЖНЫЕ, и достать можно только один шар из одной вазы и да, достаточно одного шага)


  1. vladatkishkin
    19.09.2021 20:18

    Какие бы книги по системному анализу могли посоветовать ?

    P.S удачи в собесах :)


    1. Sunny_Space Автор
      19.09.2021 20:28

      Спасибо) По поводу книг я не подскажу, но есть очень хороший курс от МГТУ им. Баумана и Mail.Ru


      1. vladatkishkin
        19.09.2021 20:53

        Спасибо :)


  1. mbamber
    19.09.2021 21:15
    +5

    Да, безусловно успехов, в частности, в написании содержательных статей!


    1. Sunny_Space Автор
      19.09.2021 21:16

      Я ещё не волшебник, только учусь. Спасибо за фидбэк. Эта статья и не предполагалась особо содержательной. Скорее хотелось поделиться опытом джуна, и получить от сообщества комментарии по подготовке и советы бывалых)


  1. Daddy_Cool
    20.09.2021 01:13
    +3

    Специально не читал обсуждение — стал сам решать. Кстати из соображений симметрии сразу ясно, что доставать надо из черно-белой вазы.


  1. redskif
    20.09.2021 08:32
    +6

    Я могу сильно ошибаться, но все вышеописанное (кроме двух маленьких абзацев про методологии структурного анализа и проектирования) не имеет ничего общего с системным аналитиком, вот с бизнес аналитиком да, но не с системным.

    Системный аналитик должен уже расписать в каком формате и с какими параметрами фронт отправляет данные в мидл-слой, что с этими данными делает мидл-слой, в какие системы потом делаются дополнительные запросы, что в каком виде отправляется и что ждем в ответ.


    1. Sunny_Space Автор
      20.09.2021 09:43

      Спасибо! Я это запомню


  1. Wildsunny
    20.09.2021 09:40
    +9

    Кажется с нефункциональными требованиями, приведенными на слайде, некоторая путаница. Нефункциональные требования не говорят о том, как должна быть реализована система, по сути они чаще задают ограничения на нее: нагрузка, скорость открытия страниц, возможные размеры файлов, цветовое решение, необходимость скрытия персональных данных, работа на определенной платформе и т.д. Сейчас там прописаны тоже функциональные требования. Думаю, об НФТ стоит почитать отдельно :)


    1. Sunny_Space Автор
      20.09.2021 09:41

      Спасибо!


    1. tmplts
      20.09.2021 12:12
      +3

      Да, тоже удивился и задумался, так ли это понимаю.

      В моем понимании, основанном на Вигерсе и книгах Перервы, это ограничения на функционирование системы, отвечающее на вопрос «В каких внешних условиях должна работать система?»; «В каких внутренних условиях должна работать система?»; «Какие измеримые количественные характеристики должна иметь система?»;«Как (с использованием чего) система должна что-то делать?»; требования к данным, с которыми должна работать система; требования к протоколам, с использованием которых должна работать система; требования к интерфейсам, по которым система должна взаимодействовать с другими системами.


  1. ComodoHacker
    20.09.2021 11:53
    +6

    Смотрю на ваши картинки и не понимаю, вы на системного аналитика собеседовались или на UX дизайнера? :) Может от вас совсем другого ожидали, не картинок интерфейса, а UML диаграмм?

    Да и сам планировщик, может быть имелся в виду совсем не личный тайм-менеджер, а сервис по раскидыванию вычислительных задач по серверам?


    1. Sunny_Space Автор
      21.09.2021 10:10

      Да, забавно получилось)

      У меня были наработки по этой задаче в виде UML диаграмм. Но в последний момент подумала, что это может быть не тем, что требовалось в задаче. В любом случае, теперь я лучше понимаю, как нужно решать подобные кейсы и в следующий раз сделаю правильно)

      Спасибо за обратную связь!


  1. chilicoder
    21.09.2021 01:24
    +1

    Простите, может быть уже было в комментариях. Про нефункциональные требования вам уже написали, а я напишу про интеграцию. В вашей схеме нет ни одного их сервиса.

    В кейсе предполагается, что вы напишите схему интеграции с их сервисами. Они перечислены Кино, Рестораны, Театры и концерты, Уборка, Цветы, Косметика, Здоровье, Красота, Шопинг, Спорт, Фитнес, Товары.

    Давайте попробуем их включить.

    Исходя из этого набора довольно легко выстроить предполагаемые сценарии использования вашего приложения. Вот берем Кино, Ресторан, Театр и представляем.. Пользователь, допустим, хочет хорошо провести время в четверг вечером (бывает такое?). Он выбирает в системе четверг вечер, указывает вид деятельности "Выход в город" и система ему подбирает варианты из Кино, Ресторанов и Театров.

    Дальше уже из этого сценария начинаете мыслить интерфейс. Дальше из него будет выходить какие данные нужны и т.д. Одно за другим.

    Запомните. Первейшая задача системного аналитика понять и написать, какую проблему пользователя мы решаем. Если есть пользователь, вытянуть это из него. Если нет, представить себя этим пользователем и сформулировать ее. Без проблемы не будет и решения.


    1. Sunny_Space Автор
      21.09.2021 10:03
      +1

      Огромное вам спасибо за объяснение! Я думала, что диаграмма потоков данных как раз покажет взаимодействие данных доступных сервисов с планировщиком. Но теперь я поняла, что сделала вообще другое))


      1. exec77
        21.09.2021 22:37
        +1

        Сделанное вами - это IFD, то есть схема информационных потоков. А DFD это диаграмма данных, в которой описывается зарос и формат запроса.

        Вам ещё рано стажироваться на системного, тяните мат часть и пробуйте себя в ассистентом бизнес-анализа в знакомой вам области. До системного нужно дорасти. А вот презентация у вас очень крутая для 20 летнего специалиста, класс!


        1. Sunny_Space Автор
          22.09.2021 10:22

          Спасибо! Буду работать и учиться ^^


        1. Sunny_Space Автор
          22.09.2021 10:25

          DFD диаграмму я составляла по примерам курса. Видимо, что-то явно поняла не так. Можете, пожалуйста, посоветовать хорошие статьи по этой теме?

          Очень хотелось бы разобраться)