Кажется, что мы разобрались кто-то такой системный аналитик в рамках команды разработки и даже определили некоторые распространенные задачи, выполняемые системными аналитиками. Кажется, что осталось узнать что и как аналитик делает в рамках этих задач и можно начинать работать.
В рамках этого урока мы рассмотрим в деталях что, аналитик делает, когда проектирует архитектуру или формирует требования - мы рассмотрим системный анализ через призму наиболее применяемых методов системного анализа.
Возможно главный урок курса
Результаты деятельности аналитика во многом являются продолжением методов системного анализа, а методы системного анализа в свою очередь отражают и продолжают универсальные способности человеческого интеллекта.
Если вы не будете ничего знать ни о доменной области проекта или продукта, ни о технологиях, которые используют разработчики, ни даже о программном обеспечении, при помощи методов системного анализа вы сможете выработать решение необходимых задач.
Именно умение работать с информацией, преобразовывать ее в проектные решения - ключевой навык системного аналитика, определяющий его мастерство. Во всем остальном, как правило, можно разобраться по ходу выполнения конкретных задач, специфических для процесса разработки того или иного ПО.
Что такое системный анализ?
Системный анализ — это совокупность методов, используемых для изучения сложных объектов посредством представления их в качестве систем и анализа этих систем. В системном анализе любой объект рассматривается с учётом его системного характера, то есть не как единое целое, а как комплекс взаимосвязанных составных элементов, их свойств и процессов.
Таким образом, системный анализ предлагает использование методов познания в отношении объектов, которые можно представить как системы. Системы в свою очередь характеризуются:
- Целостностью, позволяющей рассматривать одновременно систему как единое целое и в то же время как подсистему для вышестоящих уровней.
- Иерархичностью строения, то есть наличие множества (по крайней мере, двух) элементов, расположенных на основе подчинения элементов низшего уровня элементам высшего уровня.
- Структуризацией, позволяющая анализировать элементы системы и их взаимосвязи в рамках конкретной структуры. Как правило, процесс функционирования системы обусловлен не столько свойствами её отдельных элементов, сколько свойствами самой структуры.
Ценность системного анализа состоит в том, что он позволяет логически и последовательно решать задачи и проблемы при разработке ПО.
Системные аналитики очень часто и много занимаются… анализом
На практике, чем больше системный аналитик решает разнообразных задач, связанных с анализом, тем меньше усилий приходится прикладывать, чтобы интуитивно применять те или иные методы для решения задач. Для неопытных аналитиков без уверенных навыков в анализе некоторые задачи, связанные, например, с разработкой требований, становятся просто невыполнимыми, особенно учитывая возможные временные ограничения.
Техники и инструменты, используемые в системном анализе в большинстве случаев очень просты в освоении и легки в использовании - ценность труда системного аналитика заключается не в использовании этих инструментов, а в анализе, который содержится в результатах использования этих инструментов.
Но что такое навыки анализа и анализ в целом?
Навыки анализа определяют способность человека к осуществлению процесса познания и к эффективному решению проблем, в частности при столкновении с новой областью задач.
Навыки анализа как способность обычно реализуется при помощи других способностей, таких как: способности познавать, обучаться, мыслить логически, систематизировать информацию, определять ее применимость (классифицировать), находить в ней связи, закономерности и отличия, ассоциировать ее с подобной и т.д.
Какие качества соотносятся со способностями к анализу?
Рассмотрим качества интеллекта, наиболее тесно связанные с работой системного аналитика:
- Любопытство – стремление разносторонне познать то или иное явление в существенных отношениях, лежащее в основе активной познавательной деятельности;
- Системность мышления – способность отделять главное от второстепенного, необходимое от случайного;
- Гибкость и подвижность ума – способность человека широко использовать имеющийся опыт, оперативно исследовать предметы в новых связях и отношениях, преодолевать шаблонность мышления;
- Логичность мышления – способность соблюдения строгой последовательности рассуждений, с учётом всех существенных сторон в исследуемом объекте, всех возможных его взаимосвязей;
- Критичность мышления – способность строгой оценки результатов мыслительной деятельности для отбрасывания неправильных суждений, выводов и решений (способность отказываться от начатых действий, если они противоречат требованиям задачи);
- Широта мышления – способность к всестороннему охвату объекта мыслительной деятельности с учётом исходных данных задачи и многовариантности её решений.
Чтобы развивать перечисленные качества, спойлер, необходимо выполнять задачи, соответствующие их содержанию. Подобные задачи, на практике, часто встречаются в рамках выполнения научно-исследовательской работы, решения мультидисциплинарных задач из области естественных наук и при решении задач при помощи “кейс-метода” (от англ. Case method). Метод кейсов — техника обучения, использующая описание реальных ситуаций. Обучающиеся должны исследовать ситуацию, разобраться в сути проблем, предложить возможные решения и выбрать лучшее из них.
Решение кейсов может быть очень эффективным в рамках целенаправленного развития соответствующих качеств. Решение кейсов в отраслях управленческого консультирования и юриспруденции широко применяется для оценки навыков и способностей кандидатов и нацелено как раз на демонстрацию перечисленных качеств.
Методы системного анализа - главные “инструменты” системного аналитика
Типичные задачи, выполняемые системными аналитиками, такие как моделирование бизнес-процессов, проектирование баз данных, выявление требований в своей основе содержат методы научного познания, используемые в системном анализе.
В большинстве случаев применение различных методов анализа происходит интуитивно, однако, очень полезно их понимать и уметь целенаправленно применять.
В последующих частях урока мы рассмотрим отдельные группы методов с теоретической точки зрения и в рамках их практического применения:
- Изучение, интерпретация, обобщение и формализация: эти методы помогают осуществить глубокое погружение в предметную область для полного понимания её особенностей и контекста. Изучение предполагает сбор и анализ данных для выявления основных характеристик и требований системы. Интерпретация помогает в понимании значений и взаимосвязей между данными. Обобщение позволяет выявить общие закономерности, в то время как формализация преобразует эти обобщения в чёткие и структурированные понятия и утверждения, готовые к дальнейшему анализу и использованию.
- Сравнение, классификация, корреляция и структуризация: Эта группа методов фокусируется на систематизации информации для упрощения анализа и принятия решений. Сравнение используется для выявления сходств и различий между различными элементами или объектами. Классификация позволяет группировать данные или объекты на основе общих признаков. Корреляция помогает определить степень взаимосвязи между различными элементами. Структуризация вносит порядок в информацию, упорядочивая её в логичную и иерархическую структуру.
- Наблюдение и измерение, абстрагирование и конкретизация, аналогия и моделирование, оптимизация: Эти методы направлены на создание моделей и оптимизацию процессов. Наблюдение предполагает активное отслеживание и анализ процессов и систем. Измерение предоставляет количественные данные для анализа. Абстрагирование упрощает сложные системы, удаляя менее важные детали, а конкретизация уточняет детали, делая информацию более ясной и понятной. Аналогия позволяет использовать известные решения в новых контекстах. Моделирование включает создание абстрактных или компьютерных моделей для экспериментов и анализа. Оптимизация направлена на улучшение процессов и систем для достижения наилучших возможных результатов.
- Анализ, индукция, дедукция и синтез: Эта группа методов связана с логическим мышлением и решением проблем. Анализ разбивает сложные системы на более мелкие части для лучшего понимания. Индукция позволяет формулировать общие заключения на основе наблюдений отдельных случаев. Дедукция, напротив, включает логическое вывод из общих положений к конкретным случаям. Синтез объединяет различные элементы и идеи для создания новых концепций или систем.
Следует отметить, что каждый из методов может применяться независимо или совместно с любыми другими методами, однако они были объединены для удобства их иллюстрации на примере конкретных задач, выполняемых системными аналитиками.
Резюме
На практике, ключевыми навыками являются часто не владение техническими инструментами, а способность эффективно анализировать информацию при решении сложных задач и предлагать подходящее решение. Хирург, как и системный аналитик в своей работе опирается на инструменты, но основная ценность работы заключается в его навыках.
Навыки системного анализа - это практика применения методов для изучения и решения задач в сложных системах, где каждый объект рассматривается как комплекс взаимосвязанных элементов. Навыки анализа и качества интеллекта являются ключевыми в успешном решении задач системного анализа, что делает эту профессию требующей как технических знаний, так и развития личных качеств.