Что такое контекст, как его нарисовать и как использовать
Что такое контекст
В широком значении контекст - это среда, в которой существует объект. Применительно к аналитике в IT под контекстом стоит понимать модель, определяющую среду, условия функционирования и границы проектируемого приложения, а именно:
Контекст позволяет:
Анализ контекста является инструментом уточнения бизнес-требований, выявления их неполноты, противоречивости, неоднозначности.
Я попытался объяснить, как понимаю смысл контекста и зачем его использую. Надеюсь, кому-нибудь это может пригодиться.
В широком значении контекст - это среда, в которой существует объект. Применительно к аналитике в IT под контекстом стоит понимать модель, определяющую среду, условия функционирования и границы проектируемого приложения, а именно:
- ключевую функциональность приложения;
- ключевых пользователей (группы пользователей) приложения, смысл их работы с приложением;
- смежные приложения и основные идеи взаимодействия с ними;
- аппаратное, информационное, организационное обеспечение, создающее инфраструктуру работы приложения (если все это дело имеет явное влияние на проектируемое приложение);
- любые другие условия и условности, которые, на твой взгляд, влияют на проектируемое приложение.
Контекст позволяет:
- понять функциональные границы проектируемого решения;
- получить представление о смежных системах и принципах взаимодействия с ними;
- выделить ключевых пользователей / группы пользователей и определить их основные потребности;
- определить ограничения, связанные с аппаратно-системной инфраструктурой Заказчика.
Анализ контекста является инструментом уточнения бизнес-требований, выявления их неполноты, противоречивости, неоднозначности.
Результатом анализа контекста являются уточненные бизнес-требования.
Анализ контекста осуществляется на основе следующей информации:
- бизнес-требования к приложению;
- результаты анализа ожиданий и потребностей, высказанных Заказчиком и ключевыми пользователями;
- результаты анализа предварительного информационного обследования;
- нормативные документы (корпоративные, отраслевые, федеральные, международные);
- типовые решения;
- т.п.
Наиболее удобный способ представления контекста - графический с кратким текстовым пояснением.
Как нарисовать контекст
- Проанализировать бизнес-требования и результаты предварительного анализа, выделить ключевую функциональность приложения и развалить функциональность приложения на бизнес-кейсы.
- Определить зависимости между бизнес-кейсами.
- Определить, кто и зачем этими бизнес-кейсами будет пользоваться.
- Уточнить, какая информация необходима проектируемому приложению извне, определить системы-предполагаемые источники этой информации и возможные интерфейсы взаимодействия.
- Уточнить, в какие внешние системы и какую информацию должно передавать наше приложение. По какому интерфейсу - тоже уточнить.
- Уточнить прочие внешние факторы и попытаться их отобразить на диаграмме.
Цели использования контекста
- Уточнение бизнес-требований (это будет происходить в процессе моделирования контекста).
- Объяснение Заказчику того решения, которое мы предлагаем для реализации его бизнес-требований.
- Объяснение приложения кому угодно :).
О чем нужно помнить
- Контекст - это в первую очередь про то, как приложение встраивается в Бизнес.
- Контекст - это про видимую извне функциональность приложения (по тексту выше я это назвал бизнес-кейсами).
- Контекст - это не только бизнес-кейсы, но и data flow, и вызовы.
- Контекст - это один из способов визуализации требований. Поскольку требования иерархичны, контекст может иметь разную степень детализации. Или в рамках одной задачи по мере уточнения бизнес-требований может быть построено несколько контекстов разного уровня детализации.
- Область анализа контекста заканчивается в тот момент, когда завершается анализ бизнес-требований.
- Контекст не может использоваться как модель для непосредственной разработки приложения.
Я попытался объяснить, как понимаю смысл контекста и зачем его использую. Надеюсь, кому-нибудь это может пригодиться.