Диаграмма потоков данных (DFD) — это графический метод, который изображает поток информации и преобразования, происходящие с данными при их перемещении от входа к выходу.
Преимущества диаграмм потоков данных:
В схеме потока данных нет конкретных физических элементов.,Он просто описывает, как информация передается и обрабатывается в программном обеспечении.
Поскольку диаграмма потока данных представляет собой графическое представление логической функциональности системы.,Это легко понять, даже если вы не компьютерный техник.,Таким образом, это отличный инструмент связи между аналитиками и пользователями.
При разработке схемы потока данных вам нужно учитывать только основные логические функции, которые должна выполнять система.,Нет необходимости подробно рассматривать, как реализовать эти функции.,поэтому,Это также хорошая отправная точка для будущего проектирования программного обеспечения.
Диаграммы dataFlow можно использовать для представления систем и программного обеспечения на любом уровне абстракции. фактически,графики потока данных могут быть построены иерархически,Чем ниже уровень (на диаграмме потока данных уровень 1 больше, чем уровень 0), тем больше деталей информационного потока и функциональных деталей показано. Граф потока данных обеспечивает как механизм функционального моделирования, так и механизм моделирования информационного потока.
1.2 Основные символы диаграммы потока данных
В диаграммах потоков данных есть 4 основных символа:
Квадрат (иликуб) представляет исходную и конечную точки данных;
Скругленный прямоугольник (или круг) представляет собой обработку данных преобразования;
Открытый прямоугольник (или две параллельные горизонтальные линии) представляет собой хранилище данных;
Стрелка указывает поток данных,То есть направление потока конкретных данных.
Когда новички рисуют диаграммы потоков данных, они часто пытаются выразить условия ветвления или циклы в диаграмме потока данных, но они не знают, что это вызовет путаницу и не сможет нарисовать правильную диаграмму потока данных. На диаграмме потока данных должны быть изображены все возможные направления потока данных, а не условия возникновения определенного потока данных.
Уведомление:
Лечение не обязательно должно быть процедурой. Блок обработки может представлять собой серию процедур.、Отдельная программа или модуль программы могут представлять собой даже ручной процесс, например пробивку дыроколом или визуальную проверку правильности отверстий.
Хранилище данных не эквивалентно файлу,Он может представлять собой файл, часть файла、Элементы библиотеки данных、часть записи и т. д. данные могут храниться на диске、лента、магнитный барабан、основная память、микрофильм、на перфокартах и любом другом носителе (включая память человека).
данныехранилищеиданные Потокданные,Только государство другое. хранилище данных — это данные, находящиеся в состоянии покоя,Поток данных — это данные в движении.
Обработка ошибок обычно игнорируется в графах потока данных.,Также не включает служебные операции, такие как открытие и закрытие файлов.,Основная идея диаграммы потока данных — описать «что делать», не задумываясь о том, «как это сделать».
Иногда исходная и конечная точки данных совпадают.,В настоящее время, если для представления исходной точки и конечной точки данных используется только один символ,Тогда будут две стрелки и этот символ соединен (одна внутрь и одна наружу),Возможно, одна из стрелок довольно длинная.,Это уменьшит ясность графика потока данных. Другой способ представить это — повторно нарисовать один и тот же символ (квадрат и куб), обозначающий конечную точку данных. Иногда данныехранилище также необходимо повторить.,Чтобы повысить наглядность схемы потока данных. Во избежание возможных недоразумений,Если один и тот же символ, обозначающий одно и то же, встречается в n местах на картинке,Затем нарисуйте n-1 короткие косые черты в одном углу символа (например, в верхнем левом углу), чтобы отметить его.
Дополнение: Описание потока данных
2. Пример: отчет о заводских заказах
Предположим, что отдел закупок завода нуждается в отчете о заказе каждый день. Отчет сортируется по номеру детали и содержит список всех деталей, которые необходимо повторно заказать. Для каждой детали, заказ на которую необходимо повторно заказать, должны быть указаны следующие данные: номер детали, наименование детали, количество заказа, текущая цена, основной поставщик, вторичный поставщик. Поступление или выезд деталей на склад называется транзакцией, и информация о транзакции передается в систему заказов через ЭЛТ-терминал, размещенный на складе. Когда количество запасов определенной детали меньше критического значения запасов, ее следует перезаказать.
2.1 Существует 4 компонента анализа диаграммы потока данных.
Диаграмма потока данных состоит из 4 компонентов: источник и место назначения, обработка, хранение данных и поток данных. Следующие шаги можно использовать для построения диаграммы потока данных вышеуказанной системы заказов.
Сначала рассмотрите исходную и конечную точку данных.,Из приведенного выше описания системы мы можем знать, что «отделу закупок нужен отчет о заказах каждый день».,«Операции передаются в систему заказов через терминал, расположенный на складе»,такПокупатель является конечной точкой данных, а менеджер склада — точкой источника данных.。
Подумайте о том, чтобы разобраться с этим дальше。Прочтите описание проблемы еще раз,«Отделу закупок нужны отчеты»,Видимо у них еще нет такого отчета,поэтому Должен быть один дляОбработка формирования отчетов。Следствием транзакции является изменение запасов запчастей.,И любая операция, изменяющая данные, обрабатывается.,поэтому,Обработка транзакций — это еще один процесс。Уведомление,В описании проблемы нет явного упоминания о том, что транзакцию необходимо обработать.,Но необходимость можно увидеть посредством анализа.
окончательное рассмотрениеданныепотокиданныехранилище。Система отправляет отчет о заказе в отдел закупок.,поэтому Отчет о заказе представляет собойданныепоток;Транзакции необходимо отправлять со склада в систему.,Судя по всему, транзакция — это еще один поток данных. Между двумя процессами формирования отчетов и обработки транзакций существует очевидное несоответствие во времени: всякий раз, когда происходит транзакция, она обрабатывается немедленно.,Однако отчет о заказах создается только один раз в день.,поэтому,данные, используемые для создания отчетов о заказах, должны храниться в течение определенного периода времени.,То есть должно быть датахранилище (хранилище с отчетом о заказе),Всякий раз, когда данные отчета о заказе обновляются,Вы можете сразу получить последний отчет о заказах из данных.,Это позволяет вам обрабатывать транзакцию немедленно, когда бы она ни произошла).
Обратите внимание, что не все хранилища данных и потоки данных можно извлечь непосредственно из описания проблемы. Например, тот факт, что «деталь должна быть перезаказана, когда ее количество на складе меньше порогового значения запасов» означает, что где-то должны быть данные об запасах детали и пороге запасов. Поскольку эти элементы данных существуют дольше, чем отдельные транзакции, имеет смысл иметь хранилище данных, в котором будут храниться данные инвентаризации.
В таблице ниже перечислены результаты вышеуказанного анализа, звездочками обозначены компоненты, подразумеваемые в описании проблемы.
2.2 Начните рисовать диаграмму потока данных
После того, как четыре компонента диаграммы потока данных разделены, вы можете начать рисовать диаграмму потока данных. Однако следует отметить, что диаграмма потоков данных является логической моделью системы, а любая компьютерная система по сути является системой обработки информации, а это означает, что компьютерная система по сути преобразует входные данные в выходные данные. Следовательно, базовая модель любой системы состоит из нескольких точек источника/конечных точек и процесса. Этот процесс представляет собой базовую функцию системы по обработке и преобразованию данных.
2.2.1 Схема потока данных верхнего уровня
Для вышеуказанной системы заказа можно нарисовать схему, показанную на рисунке ниже. потока данных верхнего уровня(Подчеркивает происхождение и назначение данных)。
отСхема потока данных верхнего уровняТакой очень высокий уровень абстракции Начать рисовать диаграмму потока данные — хороший способ. Все ли заданные точки источника данных перечислены на этом графике потока данных высокого уровня? / Конечная точка четко видна, поэтому это ценный инструмент коммуникации.
2.2.2 Схема потока данных уровня 0
Схема потока данных верхнего уровняСлишком абстрактно,Информация, которую можно узнать из этой картинки, очень ограничена.。Следующим шагом должно стать уточнение базовой модели системы и описание основных функций системы.
потому что «Сформировать отчет» и «Перерабатывающий бизнес» — это две основные функции, которые должна выполнять система, и они заменят Рисунок Схема потока данных верхнего «Система заказов» на уровнях. Кроме того, в уточненную блок-схему добавлены два дополнительных элемента: для обработки транзакций требуется «Инвентарный список»; отчеты создаются и транзакции обрабатываются в разное время, поэтому требуется «информация о заказе». За исключением раздела 2.1 (2.1 Существует 4 компонента анализа диаграммы потока Помимо двух потоков данных, перечисленных в таблице данных, есть еще два идентичных потока данных. Это связано с тем, что хранилища данных, извлеченные из данных и помещенные в нее, обычно совпадают с данными исходной хранилища, то есть поток данных хранилищ данных — это просто две разные формы одних и тех же данных (транзакция <–> Список инвентаря, информация для заказа <–> отчет о заказе).
Иданные хранилища пронумерованы для облегчения поиска и отслеживания.
2.2.3 Схема потока данных уровня 1
Далее следует уточнить основные функции системы, изображенные на схеме потока данных функционального уровня. Рассмотрим поток логических данных через систему.,Когда происходит транзакция, ее сначала необходимо получить; затем список инвентаря изменяется в соответствии с содержимым транзакции, и наконец, если обновленный инвентарь меньше критического значения инвентаря;,Вам следует заказать еще раз,То есть информацию о заказе необходимо обработать. поэтому,Разложим функцию «Перерабатывающий бизнес» на следующие 3 шага: «Получить транзакцию», «Обновить инвентарный список» и «Обработать заказ».,Это имеет логический смысл.
Почему бы нам не разбить «Сформировать дальше» отчет»А что насчет этой функции??Потому что это требуется в отчете о заказеданныесуществоватьхранилище Все они доступны в информации для заказа на,Формирование отчета — это не что иное, как расположение информации в определенном порядке.,Затем распечатайте его в определенном формате. Однако эти соображения являются чисто деталями реализации.,Не должен быть представлен на диаграммах потока данных. Та же причина,верно“получить транзакцию”или“Обновить список инвентаря”Нет необходимости в дальнейшем уточнении таких функций, как。Короче говоря, когда дальнейшая декомпозиция будет включать конкретную реализацию функции, ее не следует декомпозировать дальше.
Непрерывность информации должна поддерживаться при иерархическом уточнении графа потока данных.,То есть, когда процесс разбивается на серию процессов,Потоки входных/выходных данных до и после декомпозиции должны быть одинаковыми.
Следует также обратить внимание на то, как процессы нумеруются на диаграмме потока данных. Обработка 1.1,1.2и1.3 являются составляющими элементами обработки 1 в графе потока данных более высокого уровня. Если обработка 2 далее разлагается,Число его составляющих элементов составит 2,1., 2.2...Если дальше разложить обработку 1.1, то получатся номера обработки 1.1.1, 1.1.2... и так далее.
2.3 Дополнение: Соглашение об именовании диаграмм потоков данных
Правильность именования каждого компонента в диаграмме потока данных напрямую влияет на понятность диаграммы потока данных.
Поэтому к названию этих ингредиентов следует отнестись внимательно.
Точки источника/назначения данных не нужно проектировать и реализовывать во время разработки целевой системы.,Он не относится к основному содержимому графа потока данных.,Это не что иное, как часть периферийной среды целевой системы (которой могут быть люди, компьютерное периферийное оборудование и сенсорные устройства). в целом,дляданныеисходная точка / Конечным точкам присваиваются имена, которые они привыкли использовать в проблемной области (например, «закупщик», «заведующий складом» и т. д.).
Именование потока данных (или хранилища данных):
Имя должно представлять содержимое всего потока данных (илиданные хранилища).,Вместо того, чтобы просто отражать некоторые из его ингредиентов.
Не используйте пустые、Имена, не имеющие конкретного значения (например, «данные»、"информация"、«вход» и др.).
Если у вас возникли проблемы с названием потока данных (илиданные хранилища),Вероятно, это вызвано неправильной декомпозицией графа потока данных.,Вам стоит попробовать переразложить его,Посмотрим, сможем ли мы преодолеть эту трудность.
Именование ручки:
Обычно поток данных называется первым.,Затем назовите соответствующую обработку. проще так назвать,И это отражает мыслительный процесс «снаружи внутрь», к которому привык человек.
Имя должно отражать функцию всего процесса, а не его части.
Имя лучше всего составлять из конкретного переходного глагола и конкретного объекта. Вам следует стараться избегать использования в качестве имен пустых и общих глаголов, таких как «обработка» и «обработка».
Обычно имя включает в себя только глагол. Если для описания функции всего процесса необходимы два глагола, возможно, более целесообразным будет разбить процесс на два процесса.
Если вам сложно назвать обработку, скорее всего, вы заметили признаки неправильной декомпозиции и вам следует рассмотреть возможность ее рефакторинга.
3. Практика
3.1 Подсистема управления учебной деятельностью
Управление академическим администрированием — это задача, требующая тщательного планирования и строгой организации. Необходимо принять разумные меры на основе информации, полученной от преподавателей и студентов.
Описание требований к подсистеме управления образованием:
В начале учебного года учителя должны подать заявку на открытие курса, чтобы начать занятия. Учащиеся выбирают курсы на основе информации о начале курса, предоставленной учителем, а отдел по академическим вопросам формирует расписания занятий для учащихся и расписания занятий для учителей.
В конце семестра необходимо организовать экзамены для студентов в соответствии с началом занятий, устроить дежурство за преподавателями, управлять результатами экзаменов студентов.
В конце семестра необходимо подсчитать баллы студентов, подсчитать баллы, составить рейтинги и оценить стипендии.
3.1.1 Схема потока данных верхнего уровня
3.1.2 Схема потока данных уровня 0
3.1.3 Схема потока данных уровня 1
3.2 Подсистема управления библиотекой
Описание требований к подсистеме управления библиотекой:
В процессе получения книг студенты идут в библиотеку, чтобы проверить информацию о книгах, показать читательский билет и взять книги.
В процессе возврата книги необходимо определить, не просрочена ли книга и не повреждена ли она, а затем вернуть книгу.
3.2.1 Схема потока данных верхнего уровня
3.2.2 Схема потока данных уровня 0
3.2.3 Схема потока данных уровня 1
4. Дополнение: Дополнительные символы для диаграмм потоков данных.
Знак ⊕ указывает, что из них можно выбрать только один (взаимоисключающие отношения)
Примечание. Круг здесь можно заменить закругленной прямоугольной рамкой, обе из которых представляют собой обработку преобразованных данных.
5. Описание: взаимосвязь между схемой потока данных верхнего уровня и уровнем 0.
Схема потока данных верхних уровней содержит только один процесс, представляющий всю систему.
Диаграмма потока данных нулевого уровня уточняет определенный процесс в диаграмме потока данных родительского уровня. Определенный процесс также может быть уточнен еще раз, чтобы сформировать поддиаграмму. Количество уровней обычно зависит от сложности системы.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/149012.html Исходная ссылка: https://javaforall.cn