Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование систем. Инструменты и возможности моделирования производственных систем. Методическое пособие
.pdf
организация модели в иерархические древовидные структуры
с добавлением новых деталей на каждом уровне.
Рис. 4.1. Пример иерархической системы
Кроме двух базовых принципов используются и другие, игнорирование которых может привести к непредсказуемым последствиям. Отметим следующие: абстрагирование, формализация,
непротиворечивость, целостность, структурирование данных.
На стадии проектирования информационных систем модели
расширяются, уточняются и дополняются диаграммами, отражающими структуру программного обеспечения.
Наряду со структурным подходом в настоящее время широко
используется и объектно-ориентированный подход. Использование его связано с широким распространением как объектно-ориентированных операционных систем (фактически таковыми являются все повременные – UNIXоиды, WINDOWS, iOS, iMAX,
ANDROID), так и объектно-ориентированных языков програм-
21

мирования. При этом надо отметить, что базовые принципы
все равно сохраняются. Так, из принципа наследования вытекает иерархичность – каждый последующий объект сохраняет
все свойства родительского и добавляет свои. Например, класс
«Приматы» сохраняет все свойства родительского класса «Позвоночные» добавляет свои свойства, в свою очередь, дочерний
класс Homo sapiens сохраняет все свойства родительского класса
«Приматы» и добавляет свои. И конкретный объект – экземпляр
класса, например, Homo sapiens (Вася) обладает всеми свойствами (атрибутами), методами и реакцией на события, характерными как для всех позвоночных, приматов и людей, так и конкретно для Васи лично. Но, несмотря на это, структурный подход
не теряет своей актуальности. Тем не менее, объектно-ориентированный подход имеет в практической реализации то неоспоримое преимущество, что сущности реального мира, как правило,
обладают поведением, что в объектно-ориентированном проектировании отражается с помощью определения методов класса.
В структурном подходе данные (атрибуты) и алгоритмы (методы) существуют отдельно друг от друга.
4.1. Методология функционального
моделирования SADT
Методология SADT (акроним от англ. structured analysis and
design technique — методология структурного анализа и проектирования) начиналась разрабатываться в конце 60-х годов
прошлого века и на сегодняшний день остается одной из самых
известных методологий анализа и проектирования систем. Это
связано с тем, что она эффективно моделирует процессы управления, обратные связи и ресурсы. Такой успех объясняется и
тем что изначально SADT развивалась как средство разработки
систем общего вида, тогда как в других структурных методологиях упор чаще делается на проектирование программного обеспечения.
Автором методологии считается Дуглас Росс, который в 1969
г. ввел термин SADT – Structured Analysis and Design Technique
(Методология структурного анализа и проектирования). На рынке SADT появляется в 1975 г.
22

Описание системы с помощью SADT называется моделью.
В моделях используются как естественный, так и графические
языки. SADT-модель может быть сосредоточена либо на функциях системы (функциональные модели), либо на ее объектах
(модели данных).
Основные элементы этой методологии основываются на следующих концепциях:
• графическое представление блочного моделирования. Гра-
фика блоков и дуг SADT-диаграммы отображает функцию в виде
блока, а интерфейсы входа / выхода представляются дугами,
соответственно входящими в блок и выходящими из него. Взаимодействие блоков друг с другом описывается посредством интерфейсных дуг, выражающих «ограничения», которые, в свою
очередь, определяют, когда и каким образом функции выполняются и управляются;
• строгость и точность. Выполнение правил SADT требует до-
статочной строгости и точности, не накладывая в то же время
чрезмерных ограничений на действия аналитика.
Правила SADT включают:
• ограничение количества блоков на каждом уровне декомпо-
зиции (как правило 3–6 блоков);
• связность диаграмм (достигается нумерацией блоков);
• уникальность меток и наименований (отсутствие повторяю-
щихся имен);
• синтаксические правила для графики (блоков и дуг);
• разделение входов и управлений (правило определения роли
данных);
• отделение организации от функции, т.е. исключение влия-
ния организационной структуры на функциональную модель.
Методология SADT может использоваться для моделирования
широкого круга информационных систем, начиная с определения
требований и функций, а затем для разработки системы, которая
удовлетворяет этим требованиям и реализует эти функции.
4.2. Состав функциональной модели
На практике для построения моделей используется подмножество SADT – методология IDEF (Integrated Definition – ин-
23

тегрированная автоматизированная система управления технологическими процессами, или интегрированное описание
процессов или систем) Существует множество стандартов IDEF,
основными на сегодняшний день являются следующие:
IDEF0 — Function Modeling — методология функционального моделирования. С помощью наглядного графического языка IDEF0 изучаемая система предстает перед разработчиками
в виде набора взаимосвязанных функций (функциональных блоков — в терминах IDEF0). По сути, практически всегда, когда
говорится о функциональном моделировании в SADT имеется
в виду использование IDEF0;
IDEF1X (IDEF1 Extended) — Data Modeling — методология
построения реляционных структур (баз данных), используется
для моделирования реляционных баз данных, имеющих отношение к рассматриваемой системе;
IDEF3 — Process Description Capture — моделирование документирования технологических процессов;
DFD (Data Flow Diagrams – диаграммы потоков данных) – методология структурного анализа, описывающая внеш-
ние по отношению к системе источники и адреса, логические
функции, потоки и хранилища данных, к которым осуществляется доступ.
Существует также множество других более частных стандартов, например ERD – entity-relationship model, модель «сущность – связь – модель» для концептуального моделирования реляционных баз данных.
Модель SADT (IDEF0) состоит из диаграмм, фрагментов
текстов и глоссария, имеющих ссылки друг на друга. Диаграммы – главные компоненты модели, все функции информационной системы и интерфейсы на них представлены как блоки и
дуги. Существует множество систем обозначений и графических
элементов диаграмм (так называемых нотаций), не слишком
отличающихся друг от друга. Мы будем использовать нотацию
IDЕF0, по сути являющуюся общей для всех стандартов.
На рисунке 4.2 представлен типичный элемент диаграмм – функциональный элемент и 4 дуги, три из которых являются входящими (стрелка направлена в блок) и одна – исходящей (стрелка наружу).
24

Есть правила оформления блоков – они должны оформляться в виде прямоугольников с прямыми углами, номер проставляется снизу, и иметь достаточно места для внесения названия.
По поводу названий нет одного мнения – некоторые авторы считают, что необходимо использовать неопределенную форму глагола («начислить зарплату»), другие утверждают, что это должен быть отглагольный оборот («начисление зарплаты»).
Рис. 4.2. Функциональный блок и интерфейсные дуги
Место соединения дуги с блоком определяет тип интерфейса.
Интерфейс-вход расположен на левой стороне, интерфейс-выход – на правой. Эти две дуги являются обязательными. Отметим, что дуг может быть больше одной с каждой стороны, но эти
две обязательны.
Управляющая информация входит в блок сверху. Например,
это может быть законодательная информация, нормативные
акты и т.д. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой,
25

входящей в блок. Человек может быть персонализован, а может
быть абстрактный исполнитель. Как правило, дуги имеют наименования. Это могут быть как описания, так и комментарии.
Требование к входящему интерфейсу – он должен обозначаться
глаголом или отглагольным существительным. Дуги могут разветвляться и сливаться.
Дуги – условное название, на самом деле они изображаются прямыми линиями, изгибающимися при необходимости под
прямым углом.
Дуги определяют типы связей между функциональными блоками, и важным является точная согласованность типов связей
между функциями. Различают связи функциональные, последовательные, коммуникационные, процедурные, временные, логические и случайные. В приведенной ниже табл. 4.1 приводится относительная значимость этих связей.
Таблица 4.1
Относительная значимость связей между функциональными блоками
№ Тип связи Относительная значимость
1 Случайная 0
2 Логическая 1
3 Временная 2
4 Процедурная 3
5 Коммуникационная 4
6 Последовательная 5
7 Функциональная 6
Одной из наиболее важных особенностей методологии SADT
является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.
4.3. Иерархия диаграмм
Построение SADT-модели начинается с представления всей
функциональной системы в виде простейшей компоненты – одного блока и дуг, изображающих интерфейсы с функциями вне
системы. Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим.
Это верно и для интерфейсных дуг – они также представляют
полный набор внешних интерфейсов системы в целом.
26

После чего происходит детализация этого блока на других
диаграммах с помощью нескольких блоков, соединенных интерфейсными дугами. Данная процедура наполнения все более подробным содержанием называется декомпозицией. При этом верхний блок называется родительским, нижние – потомственными
(дочерними). То есть модель SADT (IDEF0) представляет собой
иерархию диаграмм (сопровождаемую соответствующей документацией), разбивающей сложный объект в процессе декомпозиции на составные части, представленные в виде блоков. Каждая
детальная диаграмма является декомпозицией блока из более
общей диаграммы. Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный
набор подфункций, каждая из которых представлена как блок,
границы которого определены интерфейсными дугами. Каждая
из этих подфункций, в свою очередь, может быть декомпозирована подобным образом для более детального представления.
Во всех случаях каждая подфункция может содержать только
те элементы, которые входят в исходную функцию. Кроме того, модель не может опустить какие-либо элементы, т.е., как уже отмечалось, родительский блок и его интерфейсы обеспечивают контекст.
Дуги, входящие в блок и выходящие из него на диаграмме нижнего уровня, являются точно теми же самыми, что и дуги, входящие
в диаграмму верхнего уровня и выходящие из нее, потому что блок
и диаграмма представляют одну и ту же часть системы.
Каждая детальная диаграмма является декомпозицией блока
из более общей диаграммы. Она может содержать, как правило,
от трех до шести (редко семи) блоков, расположенных на разной
высоте. Верхние блоки называются доминирующими. На каждом шаге декомпозиции более общая диаграмма называется родительской для более детальной диаграммы.
На рисунке 4.3 представлены различные варианты выполнения функций и соединения дуг с блоками.
Чтобы не нарушать целостность модели, необходимо соблюдать
следующие важные правила декомпозиции: некоторые дуги присоединены к блокам диаграммы обоими концами, у других же один
конец остается не присоединенным (свободным, то есть он является входящим или выходящим из диаграммы); неприсоединенные
дуги соответствуют входам, управлениям и выходам родительского
27

блока; источник или получатель этих пограничных дуг может быть
обнаружен только на родительской диаграмме; неприсоединенные
концы должны соответствовать дугам на исходной диаграмме; все
неприсоединенные дуги должны продолжаться на дочерней диаграмме, чтобы она была полной и непротиворечивой.
28
Рис. 4.3. Структура SADT-модели. Декомпозиция диаграмм

Так, на рис. 4.3 мы видим, что на родительской диаграмме 4
блок имеет одну входящую дугу, одну управленческую и одну
входящую. Эти же дуги представлены на дочерней диаграмме
в виде дуг с неприсоединенными концами. Конечно, при автоматизированной разработке моделей, например с помощью пакета
DPWin, требование целостности почти всегда выполняется автоматически, но при выполнении лабораторных работ вручную это
главный источник ошибок.
На IDEF-диаграммах, как правило, не указаны явно ни последовательность, ни время. Связи могут быть не только прямыми, но и обратными. Обратные связи являются основой в теории
систем управления, они используются для итерации, продолжающиеся процессы и перекрывающиеся (по времени) функции
могут быть изображены с помощью дуг. Обратные связи могут
выступать в виде комментариев, замечаний, исправлений и т.д.
(рис. 4.4).
Рис. 4.4. Пример обратной связи
Как было отмечено, механизмы (дуги с нижней стороны) показывают средства, с помощью которых осуществляется выполнение функций. Механизм может быть человеком, компьютером
или любым другим устройством, которое помогает выполнять
данную функцию (рис. 4.5).
Каждый блок на диаграмме имеет свой номер. Блок любой диаграммы может быть далее описан диаграммой нижнего уровня,
которая, в свою очередь, может быть далее детализирована с помощью необходимого числа диаграмм. Таким образом, формируется иерархия диаграмм.
29

Рис. 4.5. Пример механизма «Оформление заявки на бирже»
Для того чтобы указать положение любой диаграммы или
блока в иерархии, используются номера диаграмм. Например,
А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме
А0, которая является самой верхней диаграммой модели.
30
Рис. 4.6. Диаграмма выполнения лабораторной работы
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
