Уровни моделей потоков данных
Представьте, что вам нужно описать керамическую вазу. Как это сделать? Описать внешний вид изделия или её физические свойства? Всё зависит от аудитории, для которой предназначается описание, и итоговой цели.
То же — с моделями потоков данных. Заказчикам важно объяснить логику процесса, не перегружая их техническими подробностями, а в разговоре с командой разработки стоит сделать акцент на технических аспектах реализации. Выполнить эти задачи помогут разные уровни моделирования:
Контекстный (контекстная модель потоков данных)
Самый верхний уровень, на котором описывается окружение системы. Контекстный уровень отображает, как система будет взаимодействовать с внешними сущностями, не перегружая аудиторию деталями.
На этом уровне вся система рассматривается как один процесс, без подробного описания того, что происходит внутри. Здесь важно только то, как система связана с внешними сущностями. Модель этого уровня показывает общую картину и будет понятна широкой аудитории, включая участников проекта, бизнес-аналитиков и разработчиков.
На контекстном уровне в случае с мастер-классом по изготовлению керамической вазы достаточно описать взаимодействие с клиентом:
Логический (логическая модель потоков данных)
Логический уровень показывает внутреннюю структуру процессов системы. На этом уровне системные аналитики переходят к подробному описанию процессов, происходящих внутри системы, не углубляясь в детали реализации. Внимание акцентируется на том, какие входные и выходные данные используются в каждом процессе.
Логический уровень отвечает на вопрос «Что включает в себя процесс движения данных?» и подходит для заинтересованных лиц, разбирающихся в предметной области (заказчики, бизнес-аналитики и другие).
Например, на этом уровне можно подробнее расписать ввод (сырьё) и вывод (ваза) в процессе изготовления вазы. Потоки данных (стрелки) соединяют процесс с другими сущностями:
Физический (физическая модель потоков данных)
Физический уровень описывает, как элементы модели потоков данных будут разработаны с помощью конкретных технологий. Например, какой язык программирования будет использован для разработки процесса и какая СУБД будет использована для хранения данных. Главная задача в таких моделях — объяснить особенности работы системы для команды разработки. Физический уровень отвечает на вопрос: «Как будет реализован процесс передачи данных?»
На этом уровне можно добавить, что включает в себя сырьё для изготовления вазы, где будут храниться керамические черепки (заготовки) после обжига и прочее:
Коротко говоря: контекстная модель показывает взаимодействие системы с внешними сущностями, не вдаваясь в подробности устройства системы. Логическая модель включает в себя внутреннюю структуру процессов системы, а физическая — особенности реализации системы.