Каждый из четырёх элементов диаграммы моделей потоков данных обозначается отдельным символом. Для графического представления модели потоков данных можно использовать две нотации: Йордона и Гейна-Сарсона. Эти нотации незначительно отличаются друг от друга изображением элементов диаграммы.
На практике чаще всего встречаются диаграммы в нотации Гейна-Сарсон, поэтому именно с ней вы подробнее познакомитесь в следующем уроке.
Зачем балансировать ER-модели с моделями потоков данных
Все артефакты, которые создаёт системный аналитик, взаимосвязаны. Например, данные потоков и хранилищ данных DFD нужно описывать в словаре данных, речь о котором шла в спринте про моделирование данных.
Методы сбора и анализа требований, с которыми вы познакомились во втором спринте, используются для того, чтобы создавать не только ER-модели, но и модели потоков данных. ER-модели и DFD тоже должны быть связаны между собой.
В модели потоков данных есть два элемента, содержащие данные системы: поток данных (он состоит из элементов данных) и хранилище данных. Задача этих элементов — проиллюстрировать, какие данные создают и используют процессы и где в системе хранятся эти данные. Именно эти два элемента DFD должны быть сбалансированы с ER-моделью. Хранилища данных DFD должны соответствовать сущностям (или объектам) ER-модели, а элементы потоков данных — атрибутам.
Если модели не будут сбалансированы, то при разработке можно столкнуться с ошибками в коде, так как требования будут не согласованы друг с другом. Например, один разработчик при написании кода может опираться на ER-модель, а второй на DFD, в результате несбалансированности моделей при объединении кода возникнут конфликты, которые потребуется исправлять.
Как балансировать ER-модели с моделями потоков данных
После составления ER и DFD их нужно сопоставить друг с другом и убедиться, что:
- Все наборы данных в хранилищах данных DFD присутствуют в сущностях ER-модели.
- Элементы данных, содержащиеся в потоках данных, соответствуют атрибутам сущностей ER-модели.
Если в ER-модели есть сущности, которые ещё не отображены на модели потоков данных, нужно проверить, действительно ли они необходимы для работы системы, а не избыточны. Если необходимы, нужно добавить их в DFD, чтобы отразить, что решено хранить информацию об этом объекте в системе. В противном случае эти сущности — лишние элементы и их нужно удалить из ER-модели.