Формат описания и моделеры
Формат описания – это мета-мета-модель, определяющая конкретный способ зафиксировать на каком-то носителе нужные вам высказывания на выбранном языке предметной области.
Как мы помним, язык определяется словарем (набором знаков языка). То, что мы обсудили в предыдущем разделе, относится в первую очередь к выбору словаря. Но этим выбором дело не ограничивается.
Для некоторых языков (или профессиональных или культурных диалектов) существует единственный общепринятый формат записывать и комбинировать эти знаки, единственный возможный синтаксис. Для других языков (диалектов) существует несколько разных вариантов, от нескольких наборов знаков для понятий (нотации), и до нескольких способов организовывать их по правилам в осмысленные (поддающиеся интерпретации) описания.
Например, для текста на естественном (русском) языке существуют разные варианты структуризации: тома, главы, подглавы, разделы, списки нумерованные и ненумерованные, ссылки и гиперссылки – всё это варианты форматов, которые можно использовать для организации одного и того же текста.
Даже текст с прокруткой и страницы размером в один экран с возможностью листания – это варианты формата текста.
Формализованный текст может быть уложен в шаблоны, самым привычным из которых является таблица. Разбиение экранов компьютерной системы на формы ввода, выходные отчёты, расположение полей на экранах – это варианты формата для комбинированной текстово-графической информации.
Графики проектов могут быть в табличной форме, а могут быть в виде диаграмм Ганта. Описания бизнес-процессов часто делаются в формате текстов на естественном языке, и могут сопровождаться иллюстрациями в виде диаграмм BPMN или IDEF.
Все диаграммы и чертежи имеют свои форматы, от произвольного формата карт Mind Map, и до строго определяемого ГОСТами формата машиностроительных чертежей.
А вот формат таких описаний, как компьютерные программы – чаще всего определён практически однозначно. Хотя если вы проектируете редактор или среду для разработки компьютерных программ – вы будете расширять даже эти форматы, добавляя, например, подсветку синтаксических конструкций и связей.
Формат описания можно увидеть даже у по-видимому неструктурированного текста, и даже в устной речи.
Когда вы рассказываете о предстоящем вам полёте на самолёте, вы скажете: «Лечу из Шереметьево в 12*:30 рейсом* SU 1234».
Если вы едете на поезде – вы скажете: «Уезжаю с Московского вокзала электричкой на Бологое в 17:30».
Если вам предстоит поездка на такси – вы скажете: «Через 5 минут будет жёлтый Шевроле номер 234».
То есть для каждого типа ситуации у нас есть более-менее стандартный культурно-обусловленный шаблон рассказа о ней: для полёта вы сообщаете номер рейса, а не бортовой номер самолёта, для автомашины – номер государственной регистрации (и даже не весь, только часть), а не VIN.
Как выбрать формат, как решить, в каком формате будет лучше всего составить и передать описание?
Ответ на этот вопрос в некоторых случаях однозначно определяется языком (для чертежей, например), так что если вы профессионал в этой области – вы уже знаете нужные форматы. Но очень часто мы делаем описания «просто для людей», и это происходит в тех предметных областях, где строгих ограничений на форматы нет. Тогда поиск ответа следует начать с того, в каких условиях ваше описание «пойдет в дело».
Его будут читать с компьютера? С телефона? При каких обстоятельствах – в офисе, в поле, в цеху, за обедом? Его будут только читать, или в модель будут вводить информацию? С клавиатуры? С использованием мышки? Сколько времени и внимания будет у адресата описания на то, чтобы его читать или заполнять?
От этого можно стартовать, подбирая формат и нотацию вашего описания. Роли, у которых от успешности составленных ими описаний напрямую зависит доход (например, маркетологи и рекламщики), знают, что неверно выбранный формат и нотация могут убить все содержание, каким бы хорошим оно ни было.
В некоторых предметных областях нет строгих стандартов, но есть лучшие практики, и есть учебники и курсы по выбору и применению определённых форматов в определённых обстоятельствах.
Например, разработчикам методов (практик) работы в самых разных областях рекомендуется прочесть книгу Atul Gawande «The Checklist Manifesto»
Технические писатели, занимающиеся документированием компьютерных систем, могут прочесть книгу Юрия Кагарлицкого «Разработка документации пользователя программного продукта».
Даже в такой широкой области, как подготовка презентаций (любых презентаций) – есть учебник Алексея Каптерева «Мастерство презентации».
Наконец, создание описания требует какого-то инструментария, ручки и бумаги, а лучше – компьютерной программы, специально предназначенной для разработки данного типа моделей в специально предназначенном для них формате. Мы будем называть такой софт моделером.
Самое важное что вы должны понимать – выбирая моделер, вы выбираете формат, то есть очень высокоуровневую мета-мета-модель вашего описания. Какие высокоуровневые типы объектов разработчик компьютерной программы предусмотрел – такие объекты вы и будет использовать.
Выбрав табличный редактор – вы уже не включите в ваше описание картинки. Выбрав текстовый редактор – вы исключите графические элементы. Выбрав софт для презентаций – вы не сможете эффективно работать с длинными текстами или с диаграммами, требующими высокого разрешения для их просмотра.
Разумеется, самые популярные общераспространённые инструменты позволят вам работать с несколькими форматами. Но в более узких предметных областях к выбору моделера надо подходить очень внимательно.
Например, если вы разрабатываете модель предприятия в программе финансового планирования – вы не сможете сделать в ней модель складского учёта. Нужных для этого объектов просто не будет в настройках – в мета-мета-модели вашей модели.