Что такое контекст, как его нарисовать и как использовать

Что такое контекст

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

Контекст позволяет:
  • понять функциональные границы проектируемого решения;
  • получить представление о смежных системах и принципах взаимодействия с ними;
  • выделить ключевых пользователей / группы пользователей и определить их основные потребности;
  • определить ограничения, связанные с аппаратно-системной инфраструктурой Заказчика.

Анализ контекста является инструментом уточнения бизнес-требований, выявления их неполноты, противоречивости, неоднозначности.

Результатом анализа контекста являются уточненные бизнес-требования.

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

Наиболее удобный способ представления контекста - графический с кратким текстовым пояснением.


Как нарисовать контекст
  1. Проанализировать бизнес-требования и результаты предварительного анализа, выделить  ключевую функциональность приложения и развалить функциональность приложения на бизнес-кейсы.
  2. Определить зависимости между бизнес-кейсами.
  3. Определить, кто и зачем этими бизнес-кейсами будет пользоваться.
  4. Уточнить, какая информация необходима проектируемому приложению извне, определить системы-предполагаемые источники этой информации и возможные интерфейсы взаимодействия. 
  5. Уточнить, в какие внешние системы и какую информацию должно передавать наше приложение. По какому интерфейсу - тоже уточнить.
  6. Уточнить прочие внешние факторы и попытаться их отобразить на диаграмме.

Цели использования контекста
  1. Уточнение бизнес-требований (это будет происходить в процессе моделирования контекста).
  2. Объяснение Заказчику того решения, которое мы предлагаем для реализации его бизнес-требований.
  3. Объяснение приложения кому угодно :).

О чем нужно помнить
  1. Контекст - это в первую очередь про то, как приложение встраивается в Бизнес.
  2. Контекст - это про видимую извне функциональность приложения (по тексту выше я это назвал бизнес-кейсами).
  3. Контекст - это не только бизнес-кейсы, но и data flow, и вызовы.
  4. Контекст - это один из способов визуализации требований. Поскольку требования иерархичны, контекст может иметь разную степень детализации. Или в рамках одной задачи по мере уточнения бизнес-требований может быть построено несколько контекстов разного уровня детализации.
  5. Область анализа контекста заканчивается в тот момент, когда завершается анализ бизнес-требований.
  6. Контекст не может использоваться как модель для непосредственной разработки приложения.

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

Комментарии

  1. Сергей, честно говоря, не очень понял тему поста. Вроде речь идет о составлении "вижена", вроде о моделировании бизнес-процессов. Можешь прояснить еще проще - на пальцах?

    ОтветитьУдалить
    Ответы
    1. А я дальше примерчик давал. Сообщи плиз, если им вопрос не закрылся.

      Удалить

Отправить комментарий

Популярные сообщения из этого блога

Карта компетенции аналитика

Драйв

Оценка эффективности работы руководителя проектов