Содержательная модель структуры предполагает описания: состав системы (перечень элементов), наличие отношения (связи), направление связи. тип связи (материальная, энергетическая, информационная).
Способы построения структурных моделей – декомпозиция (разложение системы на отдельные элементы по какому-либо признаку) и агрегирование (объединение элементов в одно целое). Декомпозиция структуры сложной системы осуществляется исходя из физического и функционального единства системы.
В больших системах нельзя установить непроницаемые перегородки, разграничивающие действия переменных различной физической природы. Например, нужно одновременно учитывать такие, не поддающиеся в реальных условиях разграничению процессы, как теплопередача, аэродинамические и гидравлические процессы, множества одновременно протекающих реакций. Понятие элемента такой системы и расчленение системы на элементы условны и зависят от целей анализа, так как каждый элемент можно рассматривать как систему.
Что такое UML за 7 минут: Диаграмма классов, последовательностей, состояний и деятельности
Элементы могут накапливать, передавать, преобразовывать и рассеивать энергию или информацию.
Элемент системы часто называют структурным примитивом. В действительности, он является чёрным ящиком и указывает входы, выходы и выполняемую функцию.
Обычно структурными примитивами представляются конструктивно законченные изделия, которые не надо проектировать, например интегральные микросхемы любого уровня сложности.
Основная сложность декомпозиции – определение базовых (неделимых) моделей компонентов, соотношение моделей микро- и макроподхода. В основе декомпозиции – достижение компромисса между полнотой набора формальных моделей рассматриваемой системы и простотой – он может быть достигнут, если в модель включаются только модели компонентов, существенных по отношению к цели моделирования.
Пример: оптимальное распределение инвестиций между предприятиями, при котором общий объем продукции был бы максимальным. Решение задачи зависит от принятого вида модели производства и вида модели целевой функции – в зависимости от этого оптимизационная задача может быть решена аналитически или методами имитационного моделирования.
Система представляется как совокупность модулей (блоков).
При декомпозиции система как совокупность связанных между собой и с внешней средой элементов и частей, функционирование которых направлено на получение конкретного результата делится на подсистемы, а цели – на подцели.
Результатом этого процесса является структуризация: исходная система приобретает иерархическую многоуровневую структуру. Соответственно структура возникает и в множестве целей. Иерархичность предполагает определение в системе структурных отношений, характеризуемых упорядоченностью, организованностью взаимодействий между отдельными ее уровнями по вертикали.
Структуризация направлена на:
• выявление реальных целей системы;
• выяснение альтернативных путей достижения этих целей;
• достижение взаимосвязей между элементами;
Схема бизнес процесса Как нарисовать схему процесса в BPMN за 2 минуты?
• получение возможности моделирования системы.
Система целей — совокупность взаимоувязанных целей. В соответствии с определением понятия «система» для одного и того же объекта может быть рассмотрено несколько систем целей, т.е. использовано несколько оснований для их классификации, например:
• стратегические и тактические цели;
• долгосрочные (выполнение через несколько лет) и краткосрочные (выполнение через год и ранее)цели;
• производственные, финансовые, социальные цели, цели повышения качества продукции и т.п.
Для организации древовидная система целей включает как минимум глобальную цель — существование организации и две главные цели — цель функционирования (выпускать продукцию) и цель развития (развиваться).
Иерархическая система представляется взаимосвязанными подсистемами, каждая из которых, в свою очередь, иерархична по структуре и подлежит разбиению. Процесс деления зависит от цели исследования — можно продолжить до тех пор, пока не будет достигнут уровень элементарных подсистем.
Иерархия моделей не означает, что модели низших уровней иерархии являются более простыми. Наряду с уменьшением масштабов происходит детализация моделей в двух направлениях: детализация структур и параметров подсистем и элементов и детализация в направлении учета тех физических и технических факторов и ограничений, которые в моделях более высоких уровней не учитывались. В результате модели низших уровней иерархии могут быть более сложными, чем модели высших уровней.
Основная задача исследований иерархической структуры – распределение функций обработки информации и принятия решений между отдельными элементами.
Иерархические модели – описание структуры с наличием подчиненности – неравноправных связей между компонентами в разных направлениях.
Компоненты системы (подсистема, элемент), находящиеся на равном удалении от верхнего (главенствующего) компонента, образуют уровни иерархии.
Уровень иерархии — совокупность компонентов, принадлежащих одному горизонтальному ряду системной иерархии. Глубина иерархии определяет предел делимости данной системы на уровни.
Иерархические уровни функциональных моделей отражают степень детализации процессов протекающих в системе, ее подсистемах и отдельных блоках.
Выделяются два типа функциональных связей между единицами системной иерархии (подсистемами): горизонтальные (между подсистемами одного уровня) и вертикальные (между подсистемами различных уровней) связи.
Иерархический принцип построения моделей позволяет выполнять параллельно различные операции, работать с отдельными информационными массивами, когда централизованная обработка информации невозможна или требует больших затрат. Иерархические системы: связи, обработка данных, управление транспортом.
Для каждой подсистемы связи со своими подчиненными подсистемами называются внутренними, с остальными – внешними.
В больших технических системах функционирование осуществляется на многих уровнях, причем, низшие уровни подчиняются высшим. Это означает, что каждая система по своему составу представляет часть более крупной системы (системы высшего уровня), цели каждой системы подчинены целям системы более высокого уровня и служат средством их достижения. Иерархия систем служит отражением иерархии целей.
Каждую систему в иерархии систем можно исследовать в двух аспектах: как элемент системы более высокого уровня (система более высокого уровня представляется в качестве внешней среды) и как обособленную систему (исследуются связи внутри системы).
Согласование взаимодействия всех компонентов системы в процессе ее функционирования обеспечивается управлением системой. Для управления имеются специальные компоненты системы (подсистема) – система управления.
Для управления системой необходима информация о состоянии системы и внешней среды, о выполнении системой своих функций. Информацию воспринимают, передают по каналам связи и отображают соответствующие технические средства. Таким образом, в системе имеется информационный структурный уровень, в котором преобразуется информация для управления.
Пример. При разработке структуры АСУ под информационным структурным уровнем понимается определение множества узлов системы и связей между ними, распределение задач, возлагаемых на каждый элемент АСУ.
В сложной системе объединены различные по своей физической и технической природе компоненты, и методы их исследования и проектирования различны.
Система изучается по частям, затем на основании свойств подсистем и связей между ними формируется вывод об общих свойствах системы в целом (решение задачи анализа – синтеза исследования системы).
Разбиение системы на модули способствует более эффективной организации анализа и синтеза систем, так как оказывается возможным, абстрагируясь от второстепенных деталей, уяснить суть основных соотношений, существующих в системе и определяющих исходы системы.
Формально любая совокупность элементов данной системы может рассматриваться как ее подсистема.
Обычно подсистемы являются некоторыми самостоятельно функционирующими частями системы. Например, в производственном комплексе предприятия можно выделить подсистемы, соответствующие отдельным цехам или технологическим линиям.
Правильное выделение подсистем сложной системы способствует упрощению расчетов при моделировании и более наглядной интерпретации его результатов. Модель подсистемы составляется в виде структуры из моделей элементов и целиком входит в полную модель управляемой системы. Поскольку подсистема — это самая крупная, функционирующая отдельно от общих связей, структурная единица, важным этапом работы является ее декомпозиция, основанная на сборе фактов, выявлении и оценке различных воздействующих факторов.
Общая идея модели отображается в виде логической структурной схемы системы. Принято строить модель по модульному принципу т.е. в виде совокупности стандартных блоков-модулей. Такой подход достаточно эффективен, логически оправдан и может быть легко осуществлен и проверен. При этом можно строить и совершенствовать модель итерационным методом, добавляя к основной схеме блок за блоком. Построение модели из стандартных блоков дает возможность экспериментировать при ее реализации и в процессе машинной имитации.
Если некоторые первоначально выбранные подсистемы оказываются чрезмерно сложными, каждую из них расчленяют (с сохранением связей) на конечное число более мелких подсистем нижнего уровня. Процедуру расчленения подсистем продолжают до получения таких подсистем, которые в условиях данной задачи будут признаны достаточно простыми и удобными для непосредственного математического описания. Подсистемы, не подлежащие дальнейшему расчленению, являются элементами сложной системы. Таким образом, в общем случае сложная система является многоуровневой, состоящей из взаимосвязанных элементов, объединяемых в подсистемы различных уровней.
Использование понятия многоуровневой системы существенно расширяет возможности формального описания и моделирования объектов материального мира. При этом объекты большой сложности становятся предметом системного анализа, точного математического расчета. Они могут быть подвергнуты различным количественным исследованиям.
Структурная схема – это только схема, формальная модель, отделенная от содержательного наполнения, а не математическая модель. Чтобы схема стала математической моделью, необходима ее формализация – математическое представление. Разнообразие объектов и связей между ними даже в пределах одной системы требует абстрагироваться от их физической сущности при анализе структуры системы.
Математическое представление структурной схемы системы строится на основе формализации отношений между ее элементами, что позволяет рассматривать ее как математический объект и исследовать его свойства.
Структурная сложность системы, многообразие внутренних и внешних связей, определяет трудности в построении моделей.
Пример структурной модели
3.3 Модель процесса функционирования
Функционирование системы заключается в выполнении технологических процессов преобразования вещества, энергии или информации. В сложных системах, как правило, одновременно протекает несколько процессов. Каждый процесс состоит из определенной последовательности отдельных элементарных операций.
Часть операций может выполняться параллельно разными активными компонентами системы. Задается технологический процесс одним из видов представления алгоритмов. В системах с программным управлением, обеспечивающих параллельное выполнение нескольких процессов, имеются алгоритмы управления совокупностью параллельно функционирующих процессов.
При построении математических моделей процессов функционирования систем существуют следующие основные подходы: непрерывно-детерминированный (например, дифференциальные уравнения, уравнения состояния); дискретно-детерминированный (конечные автоматы); дискретно-стохастический (вероятностные автоматы); непрерывно-стохастический (системы массового обслуживания); обобщенный или универсальный (агрегативные системы).
Функционирование системы представляется в виде последовательной смены состояний: , . Множество возможных состояний системы называют пространством состояний. Текущее состояние системы в момент времени отражается в виде координаты точки в – мерном пространстве состояний, а вся реализация процесса функционирования системы за время – в виде некоторой траектории.
При заданном начальном состоянии системы можно определить ее состояние в любой момент из интервала , если известна зависимость
В этом случае выходные характеристики системы определяются по выражению
Операторы и — операторы выходов, оператор – оператор переходов.
С целью перевода обобщенной модели в конструктивную необходимо конкретизировать свойства множеств переменных и операторов.
Для определенных классов систем разработаны формализованные схемы и математические методы, которые позволяют описать функционирование системы, а в некоторых случаях – выполнить аналитические исследования.
Источник: studopedia.su
Структурная модель приложения
Сущности, в свою очередь состоят из множества функционально-логических блоков.
Очередь эмиттеров представляет собой программируемый контейнер, предназначенный для хранения параметров набора эмиттеров и их частиц, а также отображения в режиме реального времени. Очередь также определяет режимы смешивания и порядок рисования наборов частиц друг относительно друга. Это позволяет создавать различные эффекты наложения.
Отдельно взятый набор частиц представлен внутренними структурами данных эмиттера. Здесь хранятся все параметры эмиттера и каждой его частицы:
1) координаты в двумерной декартовой системе;
4) значения разброса частиц;
5) стартовая задержка и длительность генерации;
3) скорость по осям;
4) гравитация по осям;
5) значения начальных и конечных растяжений;
6) значения начального и конечного цветов по каналам;
Для реализации интерфейсной части были использованы графические объекты вышеописанного межплатформенного движка wxWidgets.
Корневым элементом интерфейсной части является основной фрейм. Основной фрейм служит для расположения фрейма ввода данных, фрейма управления очередью эмиттеров, фрейма вывода. Также основному фрейму принадлежат системное меню, панели инструментов и статуса.
Фрейм ввода данных предназначен для ввода вышеозначенных параметров текущего эмиттера. В редакторе всегда имеется текущий эмиттер, если их число больше нуля. Если же оно равно нулю, инструменты фрейма ввода блокируются. При изменении текущего эмиттера происходит соответствующее обновление данных инструментов фрейма ввода.
Фрейм управления очередью эмиттеров представляет собой панель со схематическим отображением отдельных эмиттеров в виде пиктограмм. К функциям фрейма относятся добавление и удаление эмиттеров, копирование эмиттера со всеми его параметрами, изменение текущего эмиттера, а также порядка прорисовки эмиттеров. Для копирования и удаления эмиттеров при активном фрейме управления очередью можно использовать горячие клавиши (Ctrl+V, Ctrl+X, соответственно).
Фрейм вывода объединяет в себе всю функциональность вывода графических данных приложения. Для максимально быстрого вывода используется низкоуровневая работа с аппаратным обеспечением видеосистемы, осуществляемая посредством драйвера OpenGL. Доступ к платформенно-независимому конвейеру OpenGL осуществляется, в свою очередь, через интерфейс wxWidgets.
Именно на уровне фрейма вывода осуществлено связывание оконной системы и функциональности рисования очереди эмиттеров, не зависящей от конкретного окна и работающая с буферами OpenGL. Средства wxWidgets используют для этого те или иные системные библиотеки, в зависимости от целевой платформы. Для Windows это WGL, для Mac OS X – AGL, а также стандартные Carbon (для С++) и Cocoa (Objective С).
Дополнительно фрейм вывода позволяет при помощи мыши перемещать эмиттеры, изменять их размеры. Также поддерживается перенос рабочей (текущей отображаемой) области рисования. Для этого необходимо, во-первых, активировать режим переноса, использовав клавишу Space. Затем, используя мышь, осуществить перенос области в нужном направлении и на необходимое расстояние.
Для выхода из режима переноса рабочей области необходимо повторно нажать клавишу Space. Необходимо отметить, что в режиме переноса рабочей области возможности переноса эмиттеров и изменения их размеров отключаются.
Системное меню имеет следующую структуру:
— меню “Файл”, отвечающее за общий сброс, сохранение и загрузку, выход из приложения;
— меню “Очередь”, отвечающее за установку режима отображения эмиттеров (Playback, Loop playback, Static), добавление и удаление текущего эмиттера, копирование эмиттера и набора его параметров, сброс всех эмиттеров;
— меню “Информация”, позволяющее получить информацию о способах использования редактора, а также о разработчике;
Панель инструментов содержит следующие компоненты:
а) функции установки режима отображения эмиттеров:
2) Loop playback;
б) функции сохранения и загрузки:
в) функции настройки отображения:
3) режим смешивания;
Панель статуса имеет два поля: количество отображённых за секунду кадров, число частиц, число примитивов, быстрая подсказка (по ситуации).
Получить информацию о внутренней структуре приложения можно, обратившись к диаграмме классов (Приложение Г).
2.3 Функциональная модель приложения
Разработанный редактор имеет шесть базовых функциональных блоков: настройка очереди эмиттеров, обновление, отображение, ввод/вывод, настройка отображения и работа со справочной системой приложения (в базовой версии сводится к получению общей информации о функциональности редактора и разработчике, впоследствии планируется расширение).
Настройка очереди эмиттеров, в свою очередь, состоит из на набора функций по управлению очередью (добавление эмиттеров, удаление эмиттеров, копирование эмиттеров с переносом их параметров) и набора функций по установке параметров текущего эмиттера и его частиц.
Функция отображения реализует вывод на экран создаваемых эффектов.
Функции ввода и вывода позволяют пользователю сохранять текущий проект, а именно – данные о эмиттерах и о дополнительных параметрах отображения, на внешний носитель, и загружать проекты, которые были сохранены ранее.
Функции настройки отображения состоят в установке дополнительных параметров отображения (перечисленных в предыдущем подразделе).
Получить более детальную информацию о множестве и структуре интерфейсных функций приложения можно, обратившись к диаграмме вариантов использования (Приложение Д). На ней отображена декомпозиция крупнейших интерфейсных блоков. Диаграмма позволяет в наглядной форме представить набор действий, осуществляемых пользователем, которыми определяется работа редактора.
Источник: kazedu.com
Прикладные и теоретические методы программирования
Аннотация: Изложены базовые основы методов прикладного, систематического (структурного, компонентного, аспектно-ориентированного и др.) и теоретического (алгебраического, композиционного, концепторного и алгебро-алгоритмического) программирования для ознакомления студентов с теоретическими и прикладными аспектами методов программирования
В последние годы наибольшее развитие и использование получили прикладные методы: объектно-ориентированный, компонентный, сервисно-ориентированный и др. Они составляют основу методологии разработки ПС и практически применяются при создании разных видов программ.
Находят применение формальные и теоретические методы программирования (алгебраический, алгебро-алгоритмический, композиционный и др.), которые основываются на логико-алгоритмических и математических подходах.
В данной лекции представлено описание базовых понятий и особенностей методов систематического (прикладного), отдельных методов теоретического программирования с целью ознакомления студентов с современной теорией и практикой разработки программ.
5.1. Методы систематического программирования
К методам систематического программирования отнесены следующие методы:
- структурный,
- объектно-ориентированный,
- UML-метод,
- компонентный,
- аспектно-ориентированный,
- генерирующий,
- агентный и др.
Каждый метод имеет свое множество понятий и операций для проведения процесса разработки компонентов или ПС. Метод генерирующего программирования использует возможности объектно-ориентированного, компонентного, аспектно-ориентированного методов и др.
5.1.1. Структурный метод
Сущность структурного подхода к разработке ПС заключается в декомпозиции (разбиении) системы на автоматизируемые функции, которые в свою очередь делятся на подфункции, на задачи и так далее. Процесс декомпозиции продолжается вплоть до определения конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимосвязаны.
В основе структурного метода лежат такие общие принципы:
- разбивка системы на множество независимых задач, доступных для понимания и решения;
- иерархическое упорядочивание, т.е. организация составных частей проблемы в древовидные структуры с добавлением новых деталей на каждом уровне.
К основным принципам относятся:
- абстрагирование, т.е. выделение существенных аспектов системы и отвлечение от несущественных;
- формализация, т.е. общее методологическое решение проблемы;
- непротиворечивость, состоящая в обосновании и согласовании элементов системы;
- иерархическая структуризация данных.
При структурном анализе применяются три наиболее распространенные модели проектирования ПС:
- SADT ( Structured Analysis and Design Technique ) — модель и соответствующие функциональные диаграммы [5.1];
- SSADM (Structured Systems Analysis and Design Method ) — метод структурного анализа и проектирования [5.2];
- IDEF0 (Integrated Definition Functions) — метод создания функциональной модели, IDEF1 — информационной модели, IDEF2 — динамической модели и др. [5.3].
На стадии проектирования эти модели расширяются, уточняются и дополняются диаграммами, отражающими структуру или архитектуру системы, структурные схемы программ и диаграммы экранных форм.
Метод функционального моделирования SADT. На основе метода SADT , предложенного Д.Россом, разработана методология IDEF0 ( Icam DEFinition), которая является основной частью программы ICAM (Интеграция компьютерных и промышленных технологий), проводимой по инициативе ВВС США.
Методология SADT представляет собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели предметной области , которая отображает функциональную структуру, производимые функции и действия, а также связи между ними.
Основные элементы этого метода базируются на следующих концепциях:
- графическое представление структуры системы диаграммами, отображающими функции в виде блоков, а интерфейсы (вход/выход) — дугами, соответственно входящими в блок и выходящими из него. Взаимодействие блоков друг с другом описывается в виде ограничений, которые определяют условия управления и выполнения функции;
- наличие ограничений на количество блоков (от 3 до 6) на каждом уровне декомпозиции и связей диаграмм через номера этих блоков;
- уникальность меток и наименований;
- разделение входов и операций управления;
- отделение управления от функций, т.е. исключение влияния организационной структуры на функциональную модель.
Метод SADT применяется при моделировании широкого круга систем, для которых определяются требования и функции, а затем проводится их реализация. Средства SADT могут применяться при анализе функций в действующей ПС, а также при определении способов их реализации.
Результат применения метода SADT — модель, которая состоит из диаграмм, фрагментов текстов и глоссария со ссылками друг на друга. Все функции и интерфейсы представляются диаграммами в виде блоков и дуг. Место соединения дуги с блоком определяет тип интерфейса.
Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, указывается с левой стороны блока, а результаты выхода — с правой стороны. Механизм, осуществляющий операцию (человек или автоматизированная система), задается дугой, входящей в блок снизу (рис. 5.1).
Одна из наиболее важных особенностей метода SADT — постепенная детализация модели системы по мере добавления диаграмм, уточняющих эту модель.
Метод SSADM базируется на таких структурных диаграммах, как последовательность, выбор и итерация. Моделируемый объект задается последовательностью групп, операторами выбора из группы и циклическим выполнением отдельных элементов.
Рис. 5.1. Структура модели
Базовая диаграмма — иерархическая и включает в себя: список компонентов описываемого объекта; идентифицированные группы выбранных и повторяемых компонентов, а также последовательно используемых компонентов.