Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Моделирование систем. Инструменты и возможности моделирования производственных систем. Методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
организация модели в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
Рис. 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. Диаграмма выполнения лабораторной работы
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]