Принципы функционального моделирования

ПРИНЦИПЫ ФУНКЦИОНАЛЬНОГО МОДЕЛИРОВАНИЯ

Под словом "система" мы понимаем совокупность взаимодействующих компонент и взаимосвязей между ними. Мир, в котором мы живем, можно рассматривать как сложную взаимосвязанную совокупность естественных и искусственных систем.

Под термином "моделирование" мы понимаем процесс создания точного описания системы.

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

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

SADT (аббревиатура выражения Structured Analysis and Design Technique – методология структурного анализа и проектирования) – это методология, разработанная специально для того, чтобы облегчить описание и понимание искусственных систем, попадающих в разряд средней сложности.

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

Причина такого успеха заключается в том, что SADT является полной методологией для создания описания систем, основанной на концепциях системного моделирования.

SADT-модели

Описание системы с помощью SADT называется моделью.

В SADT-моделях используются как естественный, так и графический языки.

Для передачи информации о конкретной системе источником естественного языка служат люди, описывающие систему, а источником графического языка – сама методология SADT.

С точки зрения SADT модель может быть сосредоточена либо на функциях системы, либо на ее объектах.

SADT-модели, ориентированные на функции, принято называть функциональными моделями, а ориентированные на объекты системы – моделями данных.

Функциональная модель представляет с требуемой степенью детализации систему функций, которые в свою очередь отражают свои взаимоотношения через объекты системы.

Модели данных дуальны к функциональным моделям и представляют собой подробное описание объектов системы, связанных системными функциями.

Модель отвечает на допросы

SADT - модель дает полное, точное и адекватное описание системы, имеющей конкретное назначение. Это назначение, называемое цельюмодели, вытекает из формального определения модели в SADT: М есть модель системы S, если М может быть использована для получения ответов на вопросы относительноS с точностью А.

Целью модели является получение ответов на некоторую совокупность вопросов.

Если модель отвечает не на все вопросы или ее ответы недостаточно точны, то мы говорим, что модель не достигла своей цели.

Обычно вопросы для SADT модели формулируются на самом раннем этапе проектирования, при этом основная суть этих вопросов должна быть выражена в одной-двух фразах.

принципы функционального моделирования - student2.ru

Только поняв, насколько хорошо нужно ответить на поставленные вопросы, можно определить, когда процесс моделирования можно считать завершенным (т.е. когда модель будет соответствовать поставленной цели).

Блоки представляют функции

Функциональные блоки на диаграммах изображаются прямоугольниками. Блок представляет функцию или активную часть системы, поэтому названиями блоков служатглаголы или глагольные обороты. Например, названиями блоков диаграммы «Выполнить задание» являются: определить степень выполнения задания, выбрать инструменты, подготовить рабочее место, обработать на станке и собрать, как показано на рис. 2-1.

Другими словами, SADT-диаграммы и SADT-модели наглядны. Кроме того, SADT требует, чтобы в диаграмме было не менее трех и не более шести блоков. Эти ограничения поддерживают сложность диаграмм и модели на уровне, доступном для чтения, понимания и использования. Другими словами, SADT-диаграммы и SADT-модели наглядны.

принципы функционального моделирования - student2.ru

В отличие от других графических методов структурного анализа в SADT каждая сторона блока имеет особое, вполне определенное назначение. Левая сторона блока предназначена для входов, верхняя – для управления, правая – для выходов, нижняя - для механизмов. Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, кто, что и как выполняет функция.

Блоки имеют доминирование

Блоки SADT никогда не размещаются на диаграмме случайным образом. Они размещаются по степени важности, как ее понимает автор диаграммы. В SADT этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы.

Наиболее доминирующий блок обычно размещается в верхнем левом углу диаграммы, а наименее доминирующий – в правом нижнем углу.

Расположение блоков на странице отражает авторское определение доминирования. Таким образом, топология диаграммы показывает, какие функции оказывают большее влияние на остальные. Чтобы подчеркнуть это, SADT-аналитик может перенумеровать блоки в соответствии с порядком их доминирования.

Блоки в SADT должны быть перенумерованы. Номера блоков служат однозначными идентификаторами для системных функций и автоматически организуют эти функции в иерархию модели. Используя номера блоков и оценивая влияние, которое один блок оказывает на другой; аналитик может организовать модель по принципу функционального доминирования. Это позволяет согласовать иерархический порядок функций в модели с уровнем влияния каждой функции на остальную часть системы. Поэтому мы настоятельно рекомендуем по мере возможности нумеровать блоки в соответствии с порядком их доминирования.

Дуги изображают объекты

Дуги на SADT-диаграмме изображаются одинарными линиями со стрелками на концах. Для функциональных SADT-диаграмм дуга представляет множество объектов. Мы вынуждены использовать здесь общее понятие "объекты", поскольку дуги в SADT могут представлять, например, планы, данные в компьютерах, машины и информацию.

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

Так как в SADT дуги изображают объекты, они описываются (помечаются) существительными или существительными с определениями, располагающимися достаточно близко к линии дуги. Мы настоятельно рекомендуем размещать описания дуг, называемые метками, как можно ближе к линиям дуг, не нарушая, однако, читабельность диаграмм. Это устраняет неопределенность в том, к какой дуге относится метка, и исключается необходимость в дополнительных графических связях.

Разветвление дуг

Разветвления дуг, изображаемые в виде расходящихся линий, означают, что все содержимое дуг или его часть может появиться в каждом ответвлении дуги. Дуга всегда помечается до разветвления, чтобы дать название всему набору. Кроме того, каждая ветвь дуги может быть помечена или не помечена в соответствии со следующими правилами:

° непомеченные ветви содержат все объекты, указанные в метке дуги перед разветвлением (т.е. все объекты принадлежат этим ветвям);

° ветви, помеченные после точки разветвления, содержат все объекты или их часть, указанные в метке дуги перед разветвлением (т.е. каждая метка ветви уточняет, что именно содержит ветвь).

Например, на диаграмме «Изготовить нестандартную деталь» дуга «Принятое задание» включает несколько объектов и разветвляется в нескольких направлениях. Дуга «Штамп ПРИНЯТО» влияет на блок «Управлять выполнением задания». Дуга «Принятое, но незаконченное задание» идет в блок «Выполнить задание» для следующей обработки, а «Деталь с биркой» идет в блок «Управлять выполнением задания» для окончательной проверки и поставки.

Слияние дуг

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

Кроме того, каждая ветвь перед слиянием может помечаться или не помечаться в соответствии со следующими правилами:

· непомеченные ветви содержат все объекты, указанные в общей метке дуги после слияния (т.е. все объекты исходят из всех ветвей);

· помеченные перед слиянием ветви содержат все или некоторые объекты из перечисленных в общей метке после слияния (т.е. метка ветви ясно указывает, что содержит ветвь).

Например, «Сырье и заготовки» как часть дуги «Рабочий комплект» сходятся вместе с «Принятое, но незаконченное задание» для формирования главного входа в функциональный блок «Выполнить задание». «Сырье и заготовки» - это название, включающее и те и другие объекты, поэтому дуга после соединения получает эту метку.

3. СИНТАКСИС МОДЕЛЕЙ И РАБОТА С НИМИ

0дна SADT-диаграмма сложна сама по себе, поскольку она содержит от трех до шести блоков, связанных множеством дуг. Для адекватного описания системы требуется несколько таких диаграмм. Диаграммы, собранные и связанные вместе, становятся SADT-моделью. В SADT дополнительно к правилам синтаксиса диаграмм существуют правила синтаксиса моделей. Синтаксис SADT-моделей позволяет аналитику определить границу модели, связать диаграммы в одно целое и обеспечить точное согласование между диаграммами.

Резюме

SADT-диаграммы являются декомпозициями ограниченных объектов. Объект ограничивается блоком и касающимися его дугами. Диаграмма, содержащая границу, называется родительской диаграммой, а диаграмма, декомпозирующая блок родительской диаграммы, называется диаграммой-потомком. Для связывания родительской диаграммы и диаграммы-потомка используются С-номера, так что модель всегда сохраняет актуальность. Коды ICOM используются для того, чтобы стыковать диаграмму-потомка с родительской диаграммой. Номер узла идентифицирует уровень данной диаграммы в иерархии модели. Когда диаграммы в модели становятся слишком трудными для чтения, для упрощения описания системы могут разумным образом использоваться специальные технические приемы типа "вхождения дуг в тоннель".

ПРОЦЕСС МОДЕЛИРОВАНИЯ

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

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

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

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

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

На рис. 4-1 изображен процесс моделирования в SADT, описанный с помощью SADT-диаграммы. Диаграмма отражает тот факт, что процесс моделирования в SADT является итеративной последовательностью шагов, приводящих к точному описанию системы. Высокая эффективность этого процесса обусловлена его организацией, в основе которой лежит разделение функций, выполняемых участниками создания SADT-проектов: эксперты являются источниками информации, авторы создают диаграммы и модели, библиотекарь координирует обмен письменной информацией, читатели рецензируют и утверждают модели, а Комитет технического контроля принимает и утверждает модель.

Резюме

Соглашения по размещению элементов SADT-диаграмм строго следуют схеме вычерчивания сверху вниз и слева направо. Блоки обычно располагают по ступенчатой схеме; дуги подходят к блокам под прямым углом. Расстояния между дугами сохраняются максимальными, и они всегда одинаковы. Когда несколько дуг однородной природы идут из одного блока в другой, они часто объединяются в единую дугу. Обратные связи по управлению всегда чертят "вверх и над". Циклические обратные связи изображаются редко.

6. БОЛЕЕ ГЛУБОКИЕ КОНЦЕПЦИИ МОДЕЛЕЙ

Терминологию

SADT-авторы владеют искусством согласованного изложения. Для согласованного изложения существенным является понятие точки зрения. В SADT модель должна быть построена исходя из одной точки зрения.

Выбирая единую точку зрения для данной модели и придерживаясь ее, автор достигает двух важных целей. Во-первых, определенная точка зрения всегда выделяет одни аспекты системы и игнорирует другие. Например, выбирая точку зрения начальника экспериментального механического цеха, автор придает одинаковый вес обязанностям различных работников цеха. Как видно из рис.6-2, «управлять выполнением задания», «выполнить задание» и «контролировать качество выполнения задания» являются тремя самыми важными функциями механического цеха с точки зрения начальника.

При выборе точки зрения контролера функции управления и обработки были бы затушеваны в модели и диаграмма АО выглядела бы хотя и похоже, но не совсем так, как на рис. 6-3.

 
  принципы функционального моделирования - student2.ru

Ясно, что выбор станков или инструментов и сравнение сроков выполнения задания с плановыми оценками завершения не имеют важного значения для контролера, поэтому эти факторы исчезли бы из поля зрения контролера и никогда не появились бы в его модели экспериментального механического цеха. В то же время такие функции, как определить степень завершенности задания в терминах, связанных с контролем, по-прежнему были бы выделены. Поэтому диаграмма на рис. 6-3 только приблизительно соответствует тому, как выглядела бы диаграмма АО модели контролера. Это показывает, почему модели с разными точками зрения содержат перекрывающуюся информацию.

Выбор одной точки зрения обеспечивает согласованность терминологии. Точку зрения лучше всего понимать как "вид на систему" с позиции определенного человека. Часто точка зрения непосредственно связана с конкретной ролью, выполняемой этим человеком, который является частью системы. Поскольку каждой роли, как правило, соответствует особый жаргон, выбор определенной точки зрения означает также использование соответствующего набора терминов. Обратите внимание на терминологию рис. 6-3, с помощью которой описана работа контролера с точки зрения начальника. Здесь используются термины типа стандарты допусков и принятое задание. Теперь сравните их с теми терминами на рис. 6-4, которые описывают обработку деталей с точки зрения начальника. В этом случае используются термины типа чертеж, сырье и набор инструментов. Читая эти две диаграммы, можно представить себе двух совершенно различных людей, беседующих о своей работе. Таким образом, автор будет оперировать той терминологией, которую он почерпнет, опрашивая соответственно контролера и оператора.

Выбор точки зрения означает также выделение определенных аспектов системы и применение определенной терминологии. Без правильно расставленных акцентов и терминологии согласованное изложение практически невозможно. Одна из сложнейших задач автора в SADT – оставаться в рамках выбранной точки зрения, поскольку выявленное множество подробностей о работе системы, которые не вписываются в принятую точку зрения, вызывают сильное искушение изложить их. Например, факты, связанные с планированием задания, входят в сферу интересов как мастера, так и рабочего. Мастер в большей степени заинтересован в плане в целом и в том, сколько времени займет его выполнение. Рабочего же больше интересуют конкретные шаги, необходимые для выполнения задания. Разделив эти два вопроса и отразив их на диаграммах A1 и А2, автор ясно и раздельно описал деятельность двух очень разных работников механического цеха.

Стратегия разделения проблем осуществляется в процессе моделирования, когда авторы выбирают точку зрения для следующей модели. Например, при построении модели, которая описывает только планирование и выполнение плана-графика, можно выбрать точку зрения мастера. Аналогично, если объектом моделирования будет только обработка деталей, то наиболее подходящей является точка зрения рабочего. Если создать эти две модели, то они будут содержать перекрывающуюся информацию. В каждом из перекрывающихся описаний экспериментального механического цеха будут расставлены свои акценты. Таким образом, точка зрения не ограничивает предмет рассмотрения, но заставляет аналитика учитывать приоритеты различных аспектов системы.

Резюме

SADT-модели организуют естественный язык в точные и сжатые модели, а благодаря графическому языку SADT из описаний системы на естественном языке устраняется неоднозначность. Точка зрения модели влияет на то, какие аспекты системы подчеркиваются и какие аспекты затушевываются, а выбор точки зрения означает использование конкретной терминологии. Декомпозиция является процессом, используемым для построения модели. Она включает этапы как анализа, так и синтеза. В SADT предусмотрено проведение анализа объектов системы как "вступление" к анализу функций системы. Существует множество разнообразных стратегий декомпозиции. Выбор той или иной стратегии декомпозиции и получение диаграммы АО высокого качества часто требуют нескольких итераций и многих изменений. Декомпозиция прекращается, когда модель достаточно точна, чтобы отвечать на вопросы, составляющие ее цель.

НАЧАЛО МОДЕЛИРОВАНИЯ

Начало моделирования в SADT означает создание диаграмм АО и А-О, которые затем могут быть отрецензированы. Эти две диаграммы полностью рассказывают все об изучаемой системе с минимальной степенью детализации. Создавая их, аналитик предпринимает начальную попытку декомпозировать систему и затем обобщить полученную декомпозицию. Декомпозиция (диаграмма АО) освещает наиболее важные функции и объекты системы. Объединение (диаграмма А-0) трактует систему как "черный ящик", дает ей название и определяет наиболее важные входы, управления, выходы и, возможно, механизмы.

Основные этапы

Прежде чем начать моделирование, SADT-аналитик проводит подготовку к нему, собирает информацию, декомпозирует объект и обобщает эту декомпозицию. Подготовка включает выбор цели модели (например, описание того, как механический цех производит детали), выбор точки зрения, с которой будет представлена модель (например, мастер, рабочий), тип создаваемой модели (например, модель "потокового" процесса) и предполагаемое использование построенной и проверенной модели (например, подготовить нового оператора). Таким образом, подготовка должна максимально облегчить сбор информации.

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

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

Выбор цели и точки зрения

Цель и точка зрения модели определяются на самой ранней стадии создания модели. Выбор цели осуществляется с учетом вопросов, на которые должна ответить модель, а выбор точки зрения – в соответствии с выбором позиции, с которой описывается система. Иногда цель и точку зрения можно выбрать до того, как будет сделана первая диаграмма. Например, цель модели экспериментального механического цеха можно определить заранее, потому что она очевидна в постановке задачи: "понять обязанности всех работающих в цехе так, чтобы объяснить их новому персоналу". Мы настоятельно рекомендуем как можно раньше определять цель и выбирать точку зрения новой модели. Но вначале попробуйте записать ряд специфических вопросов, на которые модель должна ответить, чтобы убедиться, что цель сформулирована точно, и рассмотрите систему с нескольких различных точек зрения, прежде чем выбрать одну из них. На рис. 8-1 показано, как это делается для задачи, связанной с экспериментальным механическим цехом.

принципы функционального моделирования - student2.ru
Иногда оказывается, что определить цель и точку зрения в самом начале моделирования чрезвычайно трудно. В таком случае мы советуем составить списки данных и функций и, может быть, нарисовать диаграмму АО. Сделав это, вы начнете чувствовать систему и установите, описывает ли ее диаграмма АО с нужной точки зрения. Может быть, вам придется нарисовать несколько альтернативных АО-диаграмм, прежде чем появится достаточная уверенность для того, чтобы осуществить выбор правильной цели и точки зрения. Мы настоятельно рекомендуем именно такую последовательность действий, если вы не убеждены в правильности цели и направленности своей работы.

принципы функционального моделирования - student2.ru

Составление списка данных

Списки объектов системы, создаваемые в ходе моделирования, в SADT принято называть "списками данных". Термин "данное" здесь употребляется как синоним слова "объект". Следовательно, при обсуждении различных аспектов моделирования в SADT мы будем применять термин "список данных". Составление списка данных является начальным этапом создания каждой диаграммы функциональной SADT-модели. Правило заключается в том, чтобы вначале составить список данных, а потом список функций. Начните свою диаграмму с выделения всех основных групп и категорий данных, используемых и генерируемых системой. И не будьте слишком дотошны – запишите все разумные возможности. При сомнении записывайте все, что приходит на ум, потому что лучше записать слишком много, чем провести неполный анализ. Обратите внимание, что на рис. 8-2 в список вошло много деталей, хотя аналитик пытался создать диаграмму цеха как единого целого.

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

SADT-диаграммы представляют границы функций и ограничения, накладываемые на них, причем ограничения должны присутствовать во всех системах. Указывая вначале ограничения, мы выявляем естественную структуру системы.

Без ограничений функциональная SADT-диаграмма представляет собой не более чем схему потоков данных. Без ограничительных дуг диаграммы не смогут рассказать читателю, почему аналитик выбрал именно данную декомпозицию. Благодаря тому, что в SADT различаются входные дуги и дуги управления (информация, необходимая для пояснения декомпозиции), SADT-диаграммы ясно объясняют изучаемую систему и причину такой декомпозиции.

Составление списка функций

Закончив список данных, приступайте с его помощью к составлению списка функций. Для этого представьте себе функции системы, использующие тот или иной класс (тип) или набор данных. Помните, что несколько различных типов данных может использоваться одной функцией. Обозначьте, какие типы или наборы данных необходимы для каждой конкретной функции. Это позволит выделить данные сходных типов, которые затем можно объединить в метатипы.

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

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

Затем объединяйте функции в "агрегаты". Стремитесь к организации 3 – 6 функциональных группировок. Старайтесь, чтобы эти группировки имели один и тот же уровень сложности, содержали примерно одинаковый "объем" функциональности и функции в каждой из них имели сходные операции и цели. На рис. 8-2 видно, что исходный список функций сгруппирован в три функции более высокого уровня. Объединение не всегда легко осуществить. Вы можете обнаружить, что на каком-то уровне модели трудно выбрать "наилучший" способ объединения функций. Не волнуйтесь, потому что плохая группировка обнаружит свою слабость на этапе декомпозиции. Если это произойдет, вы всегда можете вернуться назад и попробовать другой вариант объединения.

Построение диаграммы А0

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

Правильное расположение блоков является самым важным этапом построения диаграммы. Блоки располагаются в соответствии с их доминированием (по степени важности или по порядку следования). Самый доминантный блок обычно располагается в верхнем левом углу, а наименее доминантный - в нижнем правом. Это приводит к расположению, при котором более доминантные блоки ограничивают менее доминантные, образуя "ступенчатую" схему. Доминирование имеет важнейшее значение для ясного представления процесса. Например, не имеет смысла говорить о контроле за выполнением задания до изготовления детали.

Затем изображают основные дуги, представляющие ограничения. Это является второй важной частью построения диаграммы А0. Они дают основание для разбиения объекта диаграммы на 3 – б системных функций, изображаемых блоками. Например, справочник стандартов качества оказывает решающее влияние на то, как контролируются незаконченные детали. Рисуя эти дуги, проверяйте, действительно ли каждая из них оказывает влияние, соответствующее декомпозиции объекта. Проследите по списку данных, не отсутствуют ли какие-то дуги, представляющие ограничения. Если это так, вы, возможно, захотите проверить правильность декомпозиции.

Обобщение диаграммы А0

Обобщение является последним важным шагом начального этапа моделирования. Вспомните, что для любой SADТ-диаграммы есть родительская диаграмма, содержащая ее контекст, где под контекстом понимается блок с набором входных дуг, дуг управления и выходных дуг. Верхняя диаграмма модели (т.е. диаграмма АО) не составляет исключения. Контекстом для нее служит диаграмма А-0, представляющая собой обобщение всей модели. Диаграмма А-0 имеет несколько предназначении. Во-первых, она объявляет общую функцию всей системы.

Например, блок на рис. 8-4 с названием изготовить нестандартную деталь ясно указывает, что делает цех.

Во-вторых, она дает множество основных типов или наборов данных, которые использует или производит система. Например, справочник стандартов качества позволяет осуществлять контроль качества при выполнении задания.

В-третьих, А-0-диаграмма указывает взаимоотношения между основными типами данных, проводя их разграничение. Например, рабочий комплект рассматривается как входное данное, нечто, изменяемое процессом, в то время как справочник стандартов качества контролирует выполнение цехом заданий. Таким образом, А-0-диаграмма представляет собой общий вид изучаемой системы.

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

В процессе обобщения вы убедитесь в том, что он помогает прояснить описание системы, потому что при обобщении вы просматриваете метки дуг для более точного наименования данных, которыми обмениваются система и ее среда. Кроме того, во время обобщения дуги часто объединяются для упрощения изображения модели. В этом случае дуги разветвляются на свои составляющие на диаграмме А0. Например, на диаграмме А0, приведенной на рис. 8-3, указано, что сырье и заготовки входят в состав рабочего комплекта.

Построение диаграммы А-0 свидетельствует об окончании начального этапа моделирования. К этому моменту сделана первая попытка обобщить и описать основную деятельность системы и показать связь системы с ее средой. Несмотря на ограниченное число описанных деталей, диаграммы А-0 и А0 представляют законченную картину, потому что они отражают все основные входы, управления, выходы и функции системы. Общий вид системы, полученный с помощью диаграмм А-0 и А0, – основная цель аналитика на начальном этапе построения SADT-модели.

Резюме

На начальном этапе моделирования SADT-аналитик проводит подготовку к работе, собирает информацию, декомпозирует объект и обобщает эту декомпозицию. В процессе подготовки выбирается цель и точка зрения модели, намечается предполагаемое использование модели. Подготовка должна максимально облегчить сбор информации. Декомпозиция означает, во-первых, составление списка данных, во-вторых, списка функций и, в-третьих, построение диаграммы А0. Последним шагом является обобщение диаграммы А0 в диаграмму А-0, содержащую основные входы, выходы, управления, а также формулировку цели и точки зрения модели.

ПРОДОЛЖЕНИЕ МОДЕЛИРОВАНИЯ

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

Выбор блока

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

Наши рекомендации