- •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.6. Особенности изображения диаграмм uml
Большинство диаграмм UML по сути - графы с вершинами из геометрических фигур. Граф несет, в первую очередь, топологическую информацию, и расположение его вершин важно лишь для диаграмм типа временных последовательностей и т.п.
В диаграммах UML есть четыре типа графических обозначений.
Плоские геометрические фигуры - вершины графов диаграмм. Сами фигуры являются графическими примитивами языка UML, а форма фигур (прямоугольник, эллипс) строго соответствует изображению элементов UML (вариант использования, деятельность, класс, состояние). Пользователь не может менять фиксированную семантику графических примитивов языка UML. Графические примитивы имеют собственные имена; другой текст может содержаться внутри или, реже, вблизи фигур.
Графические взаимосвязи представлены плоскими линиями; они обобщают понятие ребер из теории графов, имея менее формальный характер, но развитую семантику.
Специальные графические символы рядом с визуальными элементами диаграмм дают дополнительные спецификации.
Фигуры диаграмм UML могут иметь различный размер для размещения внутри них других конструкций UML. Чаще всего в них входят строки текста, уточняющие семантику или фиксирующие отдельные свойства соответствующих элементов UML. Информация внутри фигур регламентирует реализацию соответствующих элементов в программном коде и важна для конкретной модели проектируемой системы,
Путями служат последовательности отрезков линий, соединяющих отдельные графические символы. Концевые точки отрезков должны соприкасаться с фигурами - вершинами диаграмм. Пути в UML, как простые топологические сущности, особо важны. Сегменты (отдельные части пути) не существуют вне содержащего их пути. Пути не могут обрываться на диаграмме линией, не соприкасающейся ни с одним графическим символом, но могут оканчиваться специальным знаком - терминатором.
Дополнительные значки или украшения - фигуры фиксированного размера и формы. Они размещаются внутри или вне других графических конструкций; их примеры - окончания связей элементов диаграмм или графические обозначения кванторов видимости атрибутов и операций классов.
Строки текста представляют различную информацию в грамматической форме. Использование строк должно соответствовать синтаксису в нотации UML. Иногда для получения дополнительной информации о модели реализуется грамматический разбор строки. Например, строки в различных секциях обозначения класса соответствуют операциям или атрибутам этого класса. Семантику всех допустимых символов строк надо заранее определить в UML или расширить его в конкретной модели.
Основные рекомендации при графическом изображении диаграмм:
Каждая диаграмма дает законченное представление фрагмента моделируемой предметной области. При разработке диаграммы надо учесть все сущности, важные в контексте данной модели и диаграммы. Отсутствие каких-либо элементов на диаграмме - признак неполноты модели и может вызвать ее последующую доработку.
Все сущности диаграммы модели принадлежат одному концептуальному уровню. Нужно согласовать имена одинаковых элементов и для достижения полноты представлений иметь возможность вложения диаграмм друг в друга. В сложных моделях лучше применять последовательное уточнение или детализацию отдельных диаграмм.
Диаграммы должны явно, без использования значений по умолчанию. представлять всю информацию о сущностях, свойства всех элементов диаграмм.
В диаграммах не допускается противоречивая информация, вызывающая проблемы при реализации и последующем использовании модели. Так, замкнутые пути в отношениях агрегирования или композиции приводят к ошибкам в программном коде при реализации классов. Элементы одного пространства имен с различными атрибутами свойств и одинаковыми именами порождают неоднозначную интерпретацию.
Не следует перегружать диаграммы текстом. Визуализация модели наиболее эффективна при минимуме пояснительного текста, а большие фрагменты - признак слабой проработанности модели или ее неоднородности, содержание различной по характеру информации.
Самодостаточность каждой диаграммы облегчает правильную интерпретацию всех ее элементов и понимание семантики примененных графических символов. Не должны учитываться в разработке любые тексты, не являющиеся элементами диаграммы, а отдельные общие фрагменты диаграмм могут уточняться на других, вложенных диаграммах этого же типа. Итак, модель системы на UML - пакет иерархически вложенных диаграмм с детализацией, достаточной для последующей генерации программного кода, реализующего проект системы.
Количество типов диаграмм для каждой модели приложения не фиксируется. Для простых приложений не нужно строить все типы диаграмм, их перечень зависит от конкретного проекта системы. Так, модель системы может не иметь диаграммы развертывания для приложения, выполняемого на компьютере пользователя, локально.
Любая модель должна содержать только элементы, определенные в нотации языка. В начале разработки проекта используют конструкции, которые уже определены в метамодели UML. Этого практически достаточно для большинства типовых проектов программных систем; только при отсутствии нужных базовых элементов UML надо их расширять для адекватности модели системы. Переопределение семантики элементов, базовой нотации метамодели UML не допускается.
Особенности построения отдельных типов диаграмм связаны с семантикой элементов этих диаграмм, а процесс ООАП в контексте UML называется «Ррациональный унифицированный процесс» (Rational Unified Process, RUP).
Концепция RUP состоит в последовательной декомпозиции (разбиении) процесса ООАП на этапы, каждый из которых порождает соответствующие типы канонических диаграмм модели. На начальных этапах RUP строят логические представления статической модели структуры системы, далее - логические представления модели поведения, и после этого - физические представления модели системы. В результате RUP должны получиться канонические диаграммы на UML, при этом последовательность их разработки в основном соответствует их нумерации.
Следует отметить, что наличие в инструментальных CASE-средствах встроенной поддержки визуализации различных диаграмм языка UML позволяет уменьшить ошибочное использование графических символов, а также контролировать уникальность имен элементов диаграмм. Однако недостаточно формальный характер UML и возможность его расширения может служить источником потенциальных ошибок, которые в полном объеме вряд ли будут выявлены инструментальными средствами. Именно это обстоятельство требует глубокого знания нотации и семантики всех элементов языка UML.
