Структурная схема: пример с компьютером и принтером
Структурная схема: пример станции печати с компьютером, очередью и принтером. Разбери вложенность блоков, направления связей и границы выбранной системы.
Денис
Продакт LibraChat
6 мин чтения
«На столе всего два устройства. Что ещё рисовать?» С этого вопроса у меня начался лист для коллеги, которому нужно было объяснить устройство станции печати. Я собрал на нём компьютер, его программные части и принтер. Такая структурная схема показывает состав системы; пример ниже помогает увидеть, почему очередь заданий находится внутри компьютера, а не стоит рядом с ним как третья коробка.
Структуру удобно обсуждать, когда нужно договориться, какие части участвуют в работе и как они связаны. Она отвечает на вопросы «что входит?» и «с чем соединено?». Порядок нажатия кнопок будет уже другой задачей.
Структурная схема: пример с двумя устройствами
Для примера я выбрал небольшую систему. На компьютере уже есть подготовленный документ и программа, из которой его отправляют в печать. Принтер подключён напрямую по USB. В принятой модели он поддерживает передачу сведений о своём состоянии обратно компьютеру.
Эти условия задают границы рисунка. Здесь нет общего сетевого сервера, второго рабочего места или отправки документа из облака. Если добавить такие условия, изменится и состав. Дорисовывать их только потому, что где-то существуют более сложные офисы, не нужно.
Вот текстовая схема. Заголовок называет выбранную станцию, а рамка показывает состав компьютера. Принтер расположен за этой рамкой как отдельное устройство. Стрелки подписаны по смыслу обмена.
```text
СТАНЦИЯ ПЕЧАТИ
┌─ КОМПЬЮТЕР ─────────────────────────────────────┐
│ [Программа с документом] │
│ │ задание ▲ состояние задания │
│ ▼ │ │
│ [Подсистема печати: очередь и подготовка данных]│
Данные печати идут к устройству, а поддерживаемые сведения о его состоянии возвращаются программной части. Внутри компьютера тоже есть обратное направление: программа может получать информацию о задании от подсистемы печати. Поэтому рисунок не сводится к одной цепочке стрелок вниз.
У крупного прямоугольника есть ещё одна задача. Он сообщает, какие части я рассматриваю вместе. Пользователь, запас бумаги и электропитание важны для реальной печати, но на этом листе я разбираю устройство обмена заданием. Поэтому эти внешние условия не раскрываются отдельными блоками.
Почему очередь находится внутри компьютера?
Очередь печати не является ещё одним прибором рядом с принтером. Она относится к программной организации работы с заданиями. В нашем примере эта работа выполняется на выбранном компьютере, поэтому соответствующий блок помещён в его рамку.
Подсистему печати я показываю укрупнённо. Она принимает задание от программы, управляет его обработкой и передаёт подготовленные данные устройству. Конкретная реализация может содержать несколько компонентов, включая драйверы. Для первого объяснения я не раскрываю каждый из них отдельным прямоугольником.
Я сделал это намеренно: крупные части станции должны читаться раньше подробностей её программного устройства. Если перечислить компьютер, очередь и принтер в одной плоской цепочке, зритель может принять их за три равноправных устройства. Вложенность снимает такую двусмысленность.
Это не означает, что программный компонент менее важен, чем аппаратный. Просто у них разные отношения. Компьютер содержит программную часть. Подсистема печати передаёт данные принтеру. Слова «содержит» и «передаёт» нельзя заменить одинаковой неподписанной линией без потери смысла.
Для сложной системы я бы сначала выбрал уровень: устройства либо программные компоненты. Потом раскрыл бы нужный блок подробнее. На одном листе допустимо показать оба уровня, если рамки ясно объясняют, что к чему относится.
Что именно передаётся по связям?
На столе виден кабель, но в описании системы нас интересует содержание обмена. Поэтому я отдельно выписал четыре логические связи. Для каждой указал, что идёт от отправителя к получателю.
Откуда → куда · Что передаётся · Зачем показывать связь
Программа → подсистема печати — Задание и выбранные параметры — Обозначить передачу работы на обработку
Подсистема печати → программа — Сведения о состоянии задания — Показать обратную связь внутри компьютера
Подсистема печати → принтер — Подготовленные данные печати — Объяснить информационное соединение устройств
Принтер → подсистема печати — Поддерживаемые сведения о состоянии устройства — Учесть обратный обмен в выбранной модели
Обратные связи не требуют рисовать отдельный физический кабель для каждой стрелки. Направления обмена и число проводов описывают разные стороны системы. Один выбранный канал соединения может использоваться для нескольких взаимодействий.
При этом состояние задания и состояние самого устройства не стоит смешивать. Первое относится к работе, которой управляет программная часть. Второе сообщает о принтере. Какие именно сведения доступны, зависит от устройства и программной поддержки; я не приписываю любому принтеру одинаковый подробный набор сообщений.
У такой таблицы есть практическая польза даже до оформления. Появилось новое соединение? Можно спросить, что по нему передаётся и кто это принимает. Если ответа пока нет, линия скрывает неуточнённую часть модели.
Я проверил рисунок 3 раза, меняя вопрос:
Какие крупные части входят в станцию?
Что относится к компьютеру, а что является отдельным устройством?
Где передаются задания и где возвращаются сведения о состоянии?
Это три способа прочитать один состав. Временная последовательность действий из них автоматически не получается. Стрелка от программы к подсистеме не говорит, в какую секунду пользователь нажал кнопку и сколько длится ожидание.
Чем такой рисунок отличается от инструкции?
Инструкция могла бы начинаться с открытия документа, выбора принтера и отправки задания. В ней появились бы шаги пользователя, а при необходимости и развилки. На структурной схеме программа существует как компонент независимо от того, успел человек открыть её окно или нет.
Поэтому я не добавляю сюда ромб с вопросом «Печатать?». Он относится к логике решения или порядку выполнения действий. В нашем рисунке важнее показать, где находится подсистема и к какому устройству она обращается.
Точно так же по этой схеме нельзя сразу установить причину отсутствия отпечатка. Она помогает назвать участвующие части и связи, но не сообщает их текущее состояние. Для выяснения неисправности потребуются отдельные наблюдения. Перезапуски и изменение настроек не следуют из расположения прямоугольников.
Когда составляешь свой пример, заранее назови:
выбранную систему и её назначение;
компоненты, которые точно входят в рассматриваемый состав;
отношения вложенности и содержание обмена;
подробности, которые пока остаются за рамкой.
В материале о схемах можно продолжить работу с наглядным представлением. А в чате LibraChat предложи для обсуждения собственный состав. Открой чат с таким запросом:
Помоги представить структуру небольшой станции печати. Условия: один компьютер, программа с документом, подсистема печати с очередью и USB-принтер. Для примера предполагаем поддерживаемую обратную связь о состоянии устройства. Покажи вложенность компонентов и отдельно составь таблицу «откуда, куда, что передаётся». Не добавляй сетевой сервер или облако. Не превращай состав в пошаговую инструкцию. Если для связи не хватает сведений, задай уточняющий вопрос.
Полученную модель сравни со своими условиями: подходящая формулировка ещё не подтверждает неизвестное устройство реальной системы. Если выбираешь возможности для такой работы, сопоставь их на странице тарифов.
Для первого наброска достаточно знакомой небольшой системы. Назови её части, отметь вложенность и объясни хотя бы одну связь. После этого уже можно обсуждать структуру с другим человеком, не пытаясь угадать, что автор имел в виду под каждой линией.