Понимание диаграмм потоков данных: ключевые концепции и практические советы

DFD используются на различных этапах разработки системы — от первоначального сбора требований до детального проектирования и даже в документации системы. Они помогают заинтересованным сторонам, включая разработчиков, аналитиков и конечных пользователей, получить четкое понимание того, как данные обрабатываются и преобразуются в системе. Визуализируя эти взаимодействия, DFD способствуют улучшению коммуникации, выявлению потенциальных узких мест или неэффективностей и обеспечивают соответствие системы ее функциональным требованиям.

Этот учебник призван предоставить всестороннее руководство по пониманию и созданию диаграмм потоков данных. Мы подробно рассмотрим ключевые концепции, лежащие в основе DFD, исследуем взаимосвязи между их компонентами и предложим практические советы и руководства, чтобы помочь вам создавать эффективные и содержательные диаграммы. Независимо от того, являетесь ли вы новичком в DFD или стремитесь усовершенствовать свои навыки, этот учебник оснастит вас знаниями и методами, необходимыми для эффективного использования DFD в ваших проектах.

Обозначение элементов DFD

Диаграммы потоков данных (DFD) используют различные обозначения для представления различных элементов в системе. Изображение, которое вы предоставили, иллюстрирует четыре различных обозначения элементов DFD: Yourdon DeMarco, Gane & Sarson, SSADM и Yourdon и Coad. Давайте рассмотрим каждое обозначение и его представление внешних сущностей, процессов, хранилищ данных и потоков данных:

1. Обозначение Yourdon DeMarco

  • Внешняя сущность: Представляется прямоугольным ящиком с меткой «Сущность». Обозначает источники или пункты назначения данных вне контроля системы.
  • Процесс: Изображается как круг с меткой «Процесс». Обозначает операции или преобразования, выполняемые с данными внутри системы.
  • Хранилище данных: Показано как прямоугольник с открытым концом с меткой «Хранилище данных». Обозначает места, где хранятся данные и к которым могут обращаться процессы.
  • Поток данных: Изображается стрелками, указывающими направление перемещения данных между сущностями, процессами и хранилищами данных.

2. Обозначение Gane & Sarson

  • Внешняя сущность: Отображается как прямоугольный ящик с меткой «Сущность», аналогично обозначению Yourdon DeMarco.
  • Процесс: Представляется как прямоугольник с закругленными углами с меткой «Процесс» и числом (например, 1.0), указывающим уровень или последовательность процесса.
  • Хранилище данных: Показан как открытый прямоугольник с вертикальной линией с левой стороны, помеченный как «Хранилище данных». Вертикальная линия может содержать ссылочный номер (например, D1).
  • Поток данных: Изображается стрелками, показывающими направление потока данных между элементами.

3. Нотация SSADM (структурный метод анализа и проектирования систем)

  • Внешняя сущность: Изображается в виде овала, помеченного как «Сущность», что отличает его от других нотаций.
  • Процесс: Показан как закруглённый прямоугольник, помеченный как «Процесс», аналогично Gane & Sarson, но без дополнительной нумерации.
  • Хранилище данных: Представлен как прямоугольник, помеченный как «Хранилище данных», без вертикальной линии, как в Gane & Sarson.
  • Поток данных: Обозначается стрелками, показывающими направление перемещения данных.

4. Нотация Yourdon и Coad

  • Внешняя сущность: Изображается в виде прямоугольной коробки, помеченной как «Сущность», аналогично Yourdon DeMarco и Gane & Sarson.
  • Процесс: Показан как круг, помеченный как «Процесс», аналогично Yourdon DeMarco.
  • Хранилище данных: Представлен как открытый прямоугольник, помеченный как «Хранилище данных», аналогично Yourdon DeMarco.
  • Поток данных: Изображается в виде стрелок, указывающих направление потока данных между элементами.

Ключевые различия

  • Форма и обозначение: Каждая нотация использует различные формы и правила обозначения для внешних сущностей, процессов и хранилищ данных.
  • Представление процесса: Gane & Sarson и SSADM используют закруглённые прямоугольники для обозначения процессов, тогда как Yourdon DeMarco и Yourdon и Coad используют круги.
  • Представление хранилища данных: Gane & Sarson включает вертикальную линию с номером ссылки, тогда как другие нотации используют простые прямоугольники.

Понимание этих нотаций позволяет аналитикам и проектировщикам выбирать ту, которая лучше всего соответствует потребностям и предпочтениям их проекта, обеспечивая ясную и эффективную коммуникацию при проектировании системы.

DFD Using Yourdon and DeMarco Notation

Ключевые понятия

1. Внешняя сущность

Внешние сущности — это источники или пункты назначения данных, которые взаимодействуют с системой, но находятся вне её контроля. К ним могут относиться пользователи, другие системы или внешние базы данных.

  • Пример: На представленных изображениях «Клиент» и «Брокер» являются внешними сущностями.

2. Процесс

Процесс преобразует входящие данные в исходящие. Он представляет собой операцию или набор операций, выполняемых над данными.

  • Пример: Процесс «Ввод заказов» принимает «заказ на покупку» в качестве входных данных и выдает «данные о заказе» в качестве выходных данных.

3. Хранилище данных

Хранилище данных хранит данные, которые могут быть доступны и изменены процессами. Оно представляет собой место хранения, где данные сохраняются для последующего использования.

  • Пример: Хранилище данных «Заказ» хранит сведения о заказах, которые могут быть извлечены или обновлены процессами.

4. Поток данных

Потоки данных представляют перемещение данных между внешними сущностями, процессами и хранилищами данных. Они изображаются в виде стрелок, показывающих направление перемещения данных.

  • Пример: Стрелка от «Клиент» к «Ввод заказов» представляет поток «заказа на покупку» от клиента к процессу.

Связи между компонентами диаграммы потоков данных

Внешняя сущность к процессу

  • Взаимодействие: Внешние сущности предоставляют входные данные процессам или получают выходные данные от них.
  • Пример: «Клиент» предоставляет «заказ на покупку» процессу «Ввод заказов».

Процесс к хранилищу данных

  • Взаимодействие: Процессы читают из или записывают в хранилища данных.
  • Пример: Процесс «Ввод заказов» записывает «данные о заказе» в хранилище данных «Заказ».

Хранилище данных к процессу

  • Взаимодействие: Хранилища данных предоставляют данные процессам по мере необходимости.
  • Пример: Хранилище данных «Заказ» предоставляет сведения о заказах процессам, которым они необходимы.

Процесс к внешнему объекту

  • Взаимодействие: Процессы отправляют выходные данные внешним объектам.
  • Пример: Процесс «Ввод заказов» отправляет подтверждение заказа «Клиенту».

What is Data Flow Diagram?

Декомпозиция сверху вниз

Этот диаграмма представляет более подробную диаграмму потоков данных (DFD) для системы обработки заказов, с особым акцентом на взаимодействие между клиентом, брокером и процессом размещения заказов. Ниже приведено описание компонентов и их взаимодействий:

Data Flow Diagram (DFD) Software

  1. Внешние объекты:

    • Клиент: Этот объект инициирует процесс, размещая заказ.
    • Брокер: Этот объект выступает посредником в процессе заказа, получая сведения о транзакции от клиента и передавая сведения о заказе в систему.
  2. Процессы:

    • Разместить заказ (онлайн): Этот процесс обрабатывает заказы, размещенные клиентами онлайн. Он получает сведения о заказе непосредственно от клиента.
    • Сведения о транзакции: Этот процесс управляет информацией о транзакциях, получая данные от клиента и передавая их брокеру.
    • Оформить заказ (по телефону): Этот процесс обрабатывает заказы, размещенные по телефону. Он получает данные о заказе от брокера.
  3. Хранилища данных:

    • Сведения о заказе: Это хранилище данных хранит сведения о заказах, размещенных через онлайн-процесс.
    • Сведения о транзакции: Это хранилище данных хранит сведения о транзакциях, которые обрабатываются и передаются брокеру.
  4. Потоки данных:

    • Сведения о заказе (клиент → оформление заказа онлайн): Этот поток данных представляет информацию о заказе, предоставленную клиентом при оформлении заказа онлайн.
    • Сведения о транзакции (клиент → сведения о транзакции): Этот поток данных представляет информацию о транзакции, предоставленную клиентом.
    • Сведения о транзакции (сведения о транзакции → брокер): Этот поток данных представляет информацию о транзакции, передаваемую брокеру.
    • Сведения о заказе (брокер → оформление заказа по телефону): Этот поток данных представляет информацию о заказе, предоставленную брокером при оформлении заказа по телефону.
  5. Номера процессов:

    • 0, 1, 2: Эти числа, вероятно, указывают на последовательность или идентификацию процессов в системе. Процесс 0, похоже, является центральным процессом, взаимодействующим как с процессами онлайн-заказов, так и с процессами заказов по телефону.

Интерпретация

  • Диаграмма иллюстрирует систему, в которой заказы могут быть оформлены как онлайн, так и по телефону.
  • Онлайн-заказы непосредственно обрабатываются процессом «Оформить заказ (онлайн)», который хранит сведения о заказе.
  • Для заказов по телефону процесс включает посредника, который получает сведения о транзакции от клиента и передает сведения о заказе процессу «Оформить заказ (по телефону)».
  • Посредник выступает посредником, облегчая процесс транзакции и оформления заказа для заказов по телефону.
  • Основное внимание уделяется сбору и управлению сведениями о заказах и транзакциях, обеспечивая их правильную обработку и хранение независимо от способа оформления заказа (онлайн или по телефону).

Этот ДФП предоставляет более детальное представление о системе обработки заказов, подчеркивая роли различных сущностей и процессов при обработке заказов и транзакций.

Советы и хитрости

  1. Начните просто: Начните с ДФП уровня контекста, чтобы получить общее представление о системе, и постепенно переходите к более детальным уровням.
  2. Согласованность: Используйте единые правила наименования для процессов, хранилищ данных и потоков данных, чтобы избежать путаницы.
  3. Ясность: Убедитесь, что потоки данных четко обозначены, а стрелки направлены правильно, чтобы показать движение данных.
  4. Модульность: Разбейте сложные процессы на более мелкие, управляемые подпроцессы для лучшей ясности и понимания.
  5. Проверка: Регулярно проверяйте DFD с заинтересованными сторонами, чтобы убедиться, что он точно отражает поток данных в системе.

Руководящие принципы

  1. Определите границы: Четко определите границы системы, чтобы различать внутренние процессы и внешние сущности.
  2. Сосредоточьтесь на данных: Уделяйте внимание потоку данных, а не потоку управления или последовательности операций.
  3. Уровень детализации: Начните с высокого уровня DFD (уровень 0) и постепенно уточняйте его до более детальных уровней (уровень 1, уровень 2 и т.д.).
  4. Используйте стандартные символы: Следуйте стандартным символам для процессов, хранилищ данных, внешних сущностей и потоков данных, чтобы обеспечить ясность и согласованность.
  5. Документируйте предположения: Документируйте любые предположения или ограничения, связанные с DFD, чтобы предоставить контекст и избежать недопонимания.

Заключение

Диаграммы потоков данных — это больше, чем просто визуальные подсказки; они являются необходимыми инструментами для всех, кто участвует в анализе и проектировании систем. Предоставляя четкий и структурированный способ представления потока данных, DFD помогают преодолеть разрыв между абстрактными требованиями к системе и конкретными деталями реализации. Они позволяют заинтересованным сторонам визуализировать, как обрабатываются данные в системе, выявлять области для улучшения и обеспечивать соответствие дизайна системы её предполагаемой функциональности.

На протяжении этого учебного пособия мы изучили основные концепции DFD, включая внешние сущности, процессы, хранилища данных и потоки данных. Мы рассмотрели, как взаимодействуют эти компоненты, и предоставили практические советы и руководящие принципы по созданию эффективных DFD. Освоив эти концепции и методы, вы сможете создавать DFD, которые не только точно отражают поток данных в вашей системе, но и служат ценными инструментами коммуникации на протяжении всего жизненного цикла разработки.

Продолжая работать с DFD, помните, что ясность, согласованность и внимание к деталям имеют решающее значение. Регулярно проверяйте свои диаграммы с заинтересованными сторонами, и не стесняйтесь итерировать и улучшать их по мере развития вашего понимания системы. С практикой и прочной основой в принципах DFD вы будете хорошо подготовлены к решению даже самых сложных задач анализа систем. Примите силу диаграмм потоков данных и раскройте новые уровни понимания и эффективности в своих проектах по проектированию систем.

Ссылки по DFD

  1. Диаграммы потоков данных Visual Paradigm – Stack Overflow

    • Обсуждает доступность диаграмм потоков данных в различных версиях Visual Paradigm, включая необходимость использования версии Modeler или выше для создания DFD.
    • Читайте больше на Stack Overflow 1
  2. Онлайн-редактор диаграмм потоков данных

    • Онлайн-инструмент для быстрого и эффективного создания диаграмм потоков данных с возможностью обмена диаграммами в различных форматах.
    • Изучите онлайн-редактор DFD 2
  3. Пошаговое руководство по созданию диаграмм потоков данных с помощью Visual Paradigm

    • Предоставляет подробное руководство по созданию DFD с использованием Visual Paradigm, включая функцию перетаскивания внешних объектов и процессов.
    • Доступ к пошаговому руководству 3
  4. Инструмент диаграмм потоков данных – Visual Paradigm

    • Выделяет особенности инструмента DFD от Visual Paradigm, включая возможность декомпозиции процессов и поддержания целостности модели на разных уровнях.
    • Узнайте об инструменте DFD 4
  5. Что такое диаграмма потоков данных?

  6. Диаграмма потоков данных в Visual Paradigm

  7. Как нарисовать диаграмму потока данных (DFD)?

    • Предоставляет инструкции по созданию DFD, включая способы декомпозиции процессов и управления потоками данных между различными уровнями.
    • Научитесь рисовать DFD 7
  8. Овладение диаграммами потока данных с помощью Visual Paradigm: пошаговое руководство

  9. Шаблоны диаграмм потока данных

    • Предоставляет бесплатные онлайн-шаблоны DFD и примеры, чтобы помочь пользователям создавать профессиональные диаграммы.
    • Изучите шаблоны DFD 9
  10. Как создать диаграмму потока данных (DFD)?

Эти ссылки предоставляют прочную основу для понимания и создания диаграмм потока данных с использованием Visual Paradigm, с ресурсами от базовых руководств до продвинутых учебников.