- •1.Введение в системный анализ и моделирование
- •1.1.Введение
- •1.2. Предмет системного анализа
- •1.3. Многоаспектность строения и функционирования систем
- •1.4. Цель, задача, структура, система, системность
- •Исходная таблица состояний информационно-логической задачи.
- •1.5. Классификация систем. Большие и сложные системы.
- •1.6. Управление в системе и управление системой.
- •1.7 Выводы
- •Вопросы для самоконтроля
- •2.Теория графов и программно-целевой метод анализа предметных областей
- •2.1. Методы теории множеств в информационных классификациях
- •2.2 Обозначения теории графов
- •2.3. Семантические сети
- •2.4. Пример использования системного анализа предметной области
- •2.5. Программно-целевой подход в системных задачах
- •2.5.1.Этапы и область применения программно-целевого подхода
- •2.5.2.Алгоритм декомпозиции
- •2.5.2.1.Стадии анализа и синтеза
- •2.5.2.2. Метод структурного анализа
- •2.5.2.3. Методы декомпозиции
- •2.5.2.4. Требования, предъявляемые к декомпозиции.
- •2.5.2.5. Алгоритм декомпозиции
- •2.5.3.Агрегирование систем
- •2.5.3.1. Уровни агрегирования
- •2.5.3.2. Типы связей в системе
- •1.Связи взаимодействия (координации):
- •3.Связи преобразования:
- •2.5.3.3. Виды агрегирования
- •2.6. Выводы
- •Вопросы для самоконтроля.
- •7. Алгоритм декомпозиции.
- •3. Структурный подход к моделированию предметной области
- •3.1. Сущность структурного подхода
- •3.2. Методология функционального моделирования sadt
- •3.2.1. Технология структурного анализа и проектирования
- •3.2.2. Функциональная модель и ее состав
- •3.2.3. Иерархическая структура диаграмм.
- •3.2.4. Связи между функциями.
- •Типы связей и относительная их значимость.
- •Перечень типов связей и области применения.
- •3.3. Моделирование потоков данных
- •3.4. Моделирование данных
- •3.4.1. Case-метод Баркера
- •3.4.2. Методология idef1
- •3.5. Образец использования структурного подхода: фильмотека
- •3.5.1. Описание предметной области
- •3.5.2. Фазы проекта
- •Типы событий.
- •Матрица событий.
- •3.6. Выводы
- •Вопросы для самоконтроля
- •5. Моделирование потоков данных.
- •4.Объектно-ориентированная методология анализа и моделирования предметной области
- •4.1.Этапы развития uml и используемые методологии проектирования
- •4.1.1. Основные этапы развития uml.
- •4.1.2. Методология объектно-ориентированного программирования
- •4.1.3. Методология ооап
- •4.1.4. Особенности системного анализа и моделирования при проектировании информационных и программных систем
- •4.2. Базовые элементы языка uml
- •4.2.1. Общие сведения
- •4.2.2. Структура языка uml
- •4.2.3. Пакеты языка uml
- •4.2.4. Основные пакеты метамодели uml
- •4.2.4.1. Пакет «Основные элементы»
- •4.2.4.2. Пакет «Элементы поведения»
- •4.2.4.3. Пакет «Общие механизмы.
- •4.2.5. Особенности описания метамодели uml
- •4.2.6. Особенности изображения диаграмм uml
- •4.2.7. Примеры использования диаграмм
- •Interaction diagram (диаграмма взаимодействия)
- •5. Rational Rose и объектно-ориентированное проектирование
- •5.1. Функциональные особенности Rational Rose
- •5.2. Объектно-ориентированная методология анализа предметной области и моделирование бизнес-процессов
- •5.2.1. Средства и методы моделирования бизнес процессов
- •5.2.2. Пример моделирования предметной области
- •5.3. Выводы
- •Вопросы для самоконтроля.
- •1. Методология объектно-ориентированного программирования.
- •6. Методы анализа предметной области при нечетких условиях выбора решений
- •6.1. Нечеткая логика – математические основы
- •6.2. Основы нечеткого управления
- •Результаты анализа правил установки мощности калорифера.
- •6.3. Системы управления с нечеткой логикой
- •6.4. Выводы
- •Вопросы для самоконтроля
- •Нормативные источники
- •Обязательная литература
- •Рекомендуемая литература
- •Источники интернет
- •1.1.2.2 Осуществлять контроль качества обучения, в том числе посещаемости занятий, сроков их проведения, успеваемости и пр.
- •1.1.2.3 Организовать выполнение и защиту дипломных работ
- •1.1.3 Подвести итоги работ за год
- •1.2.2 Провести учебно–методическую работу в обеспечение выполнения учебного план
- •1.2.3 Выполнить учебный план
4.2.3. Пакеты языка uml
Основной способ организации элементов модели в UML – пакет, владеющий всеми включенными в него элементами. Каждый элемент может принадлежать только одному пакету, а пакеты могут быть иерархически вложены друг в друга (создается отношение вложенности). Отношение "пакет-подпакет" ассоциировано с общим отношением "множество-подмножество».
Графически иерархии представляют деревьями, в UML несколько модифицированными, но с сохранением структуры.
Пакет на диаграмме изображают прямоугольником (в него заносят имя или содержимое пакета) с левым верхним прямоугольным полем (пустым или содержащим имя пакета, уникальное в данной модели), рис. 4.2.2
Рис. 4.2.2. Изображение пакета в UML
Перед именем пакета может стоять строка с некоторым ключевым словом-стереотипом языка UML. Для пакетов стереотипами являются слова facade, framework, stub и topLevel. Содержимым пакета могут быть имена его отдельных элементов и их свойства (видимость элементов за пределами пакетаи т.д.).
Пакеты содержат данные о входящих в них элементах модели, а отношения между пакетами представляются графически – прямым вложением изображений (рис. 4.2.3).или условными линиями связей (рис. 4.2.4).
Рисунок 4.2.3. Графическое изображение вложенных пакетов.
Рисунок 4.2.4. Явная визуализация отношения включения пакетов.
Наиболее общий пакет (метапакет или контейнер) расположен сверху, а его подпакеты ниже. Метапакет соединен с подпакетами сплошной линией, на конце которой рядом с метапакетом помещен специальный символ (плюс в круге). Это значит, контейнер не содержит других подпакетов, кроме указанных.
4.2.4. Основные пакеты метамодели uml
Основа представления языка UML на уровне метамодели - описание трех пакетов: Основные элементы, Элементы поведения и Общие механизмы (рисунок 4.2.5).
Рисунок 4.2.5. Основные пакеты метамодели UML.
Далее следует деление на уровень подпакетов. Так, пакет Основные элементы включает подпакеты Вспомогательные элементы, Элементы ядра, Механизмы расширения, Типы данных (рис. 4.2.6).
Рис. 4.2.6. Основные элементы языка UML: подпакеты.
В пакете Элементы ядра описаны базовые понятия и принципы включения основных понятий языка (метаклассов, метаассоциаций и метаатрибутов) в структуру метамодели. Пакет Вспомогательные элементы дает дополнительные конструкции, расширяя базовые элементы для описания шаблонов, зависимостей, физических структур и элементов представлений. Пакет Механизмы расширения содержит правила уточнения и расширения семантики базовых частей моделей, а Типы данных - основные структуры данных UML.
4.2.4.1. Пакет «Основные элементы»
Охарактеризуем элементы каждого из подпакетов, входящих в Основные элементы.
Подпакет «Элементы ядра».
Этот подпакет фундаментален и определяет основные компоненты, нужные для разработки объектных моделей. У абстрактных компонент нет экземпляров; их используют для уточнения других компонент модели; конкретные компоненты метамодели имеют экземпляры.
В языке UML выразительные возможности неоднозначны, т.е. моделируемую сущность или систему можно по-разному (как по форме, так и по составу компонент модели) представить средствами UML.
Подпакет определяет архитектурный "скелет" для дополнительных конструкций языка (метаклассов, метаассоциаций, метаатрибутов; его семантики достаточно для определения всей оставшейся части языка, но он не является мета-метамоделью UML.
В подпакет входят (по алфавиту) основные метаклассы UML: атрибут (Attribute), ассоциация (Association), ассоциация-класс (AssociationClass), конец ассоциации (AssociationEnd), свойство поведения (BehavioralFeature), класс (Class), классификатор (Classifier), ограничение (Constraint), тип данных (DataType), зависимость (Dependency), элемент (Element), владение элементом (ElementOwnership), свойство (Feature), обобщение (Generalization), обобщаемый элемент (GeneralizableElement), интерфейс (Interface), метод (Method), элемент модели (ModelElement), пространство имен (Namespace), операция (Operation), параметр (Parameter), структурное свойство (StructuralFeature), правила правильного построения выражений (Well-formedness rules).
Подпакет «Вспомогательные элементы».
Пакет Вспомогательные элементы описывает дополнительные конструкции UML, расширяющиет подпакет Элементы ядра. Его элементы обеспечивают базис понятий для зависимостей, физических структур, шаблонов и элементов представлений. В него входят метаклассы: связывание (Binding), комментарий (Comment), компонент (Component), узел (Node), презентация (Presentation), уточнение (Refinement), цепочка зависимостей (Trace), потребление (Usage), элемент представления (ViewElement), зависимость (Dependency), элемент модели (ModelElement), правила правильного построения выражений (Well-formedness rules). Три последних метакласса взяты из пакета Элементы ядра для спецификации остальных.
Подпакет «Механизмы расширения».
Подпакет Механизмы расширения описывает порядок включения в модель элементов с уточненной семантикой и изменение компонентов языка UML для отражения специфики систем. Механизм расширения определяет семантику для стереотипов, помеченных значений и ограничений. UML имеет много понятий и нотаций для описания типичных систем, бывает нужно включить в модель свойства, которых явно нет в языке. Например, часто требуется использовать в модели графическую информацию.
Для этого в UML введены три механизма расширения совместного или раздельного использования, определяющих новые элементы модели с семантикой, нотацией и свойствами, отличнымия от уже имеющихся в метамодели UML. Это механизмы ограничение (Constraint), стереотип (Stereotype) и помеченное значение (TaggedValue).
Итак, механизмы расширения UML нужны для выполнения следующих задач:
Уточнение существующих элементов моделей при разработке моделей на UML.
Определение расширений UML, зависящих от моделируемого процесса или от языка программирования.
Добавление произвольной новой информации к элементам модели.
Возможно явное добавление в UML новых метаконструкций.
Подпакет «Типы данных».
Подпакет Типы данных описывает различные типы данных UML. Его внутренняя структура и описание проще предыдущих.
В метамодели типы данных используют для объявления типов атрибутов классов. Их записывают строками текста на диаграммах без отдельного знака "тип данных", что уменьшает размеры диаграмм. Каждая из одинаковых записей для некоторого типа данных соответствует одному и тому же типу данных в модели. Типы данных UML могут отличаться от типов данных, определенных разработчиком для своей модели. При этом типы данных будут являться экземплярами метакласса типы данных, определенного в метамодели.
При задании типа данных чаще всего применяют неформальную конструкцию перечисления, т.е. множество допустимых значений атрибута с отношением порядка. Упорядоченность значений указана явно заданием граничных элементов списка либо дана неявно для простого типа данных (например, для множества натуральных чисел). В подпакете даны способы перечислений для задания допустимых значений атрибутов.
Для определения различных типов данных в языке UML используются как простые конструкции: логический (Boolean), целое число (Integer), кратность (Multiplicity), диапазон кратности (MultiplicityRange), имя (Name), строка (String), время (Time), тип видимости (VisibilityKind), так и более сложные: тип агрегирования (AggregationKind), логическое выражение (BooleanExpression), измененяемый тип (ChangeableKind), выражение (Expression), геометрия (Geometry), отображение (Mapping), процедурное выражение (ProcedureExpression), тип псевдосостояния (PseudostateKind), выражение времени (TimeExpression), нереализованный (Uninterpreted).
