- •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 Выполнить учебный план
Вопросы для самоконтроля
1. Суть структурного метода анализа предметной области, принципы, модели, порядок разработки.
2. Мeтодология SADT, область применения..
3. Функциональная модель мeтодологии SADT, правила построения.
4. Типы связей между структурами.
5. Моделирование потоков данных.
6. Накопители данных, их разновидности и использование при моделировании.
7. Понятие миниспецификации, критерии завершения построения иерархии диаграмм.
8. Методология DFD в нотациях Гейна-Сарсона и Йордана-Де Марко.
9. ER диграммы – метод проектирования баз данных.
10. Сущности и связи.
11. Подтипы и супертипы.
12. Правила построения ER-диаграмм:
13. Связь между различными типами диаграмм.
14. Инфологическое и даталогическое проектирование.
15. Информационная модель предметной области "Библиотека".
16. Область применения структурного метода анализа предметной области, ограничения.
4.Объектно-ориентированная методология анализа и моделирования предметной области
4.1.Этапы развития uml и используемые методологии проектирования
4.1.1. Основные этапы развития uml.
Изложенный в предыдущем разделе структурный метод анализа предметных областей, как отмечалось ранее, обладает тем недостатком, что его использование затруднено при разработке сложных систем. Особенно трудно было с его помощью осуществлять разработку сложных программных комплексов, связанных не только с формализацией самой программной системы, но и с распределением работ между исполнителями и последующей стыковки разработанных фрагментов программ, а также с передачей информации о разрабатываемой программной подсистеме в случае замены специалиста.
До 1970-х годов размер (например, количество строк программного кода) считался главным показателем сложности разработки программ. Отчасти учмтывался и синтаксис самих строк. Трудоемкость программирования оценивалась "человеко-месяцем" или "человеко-годом", а квалификацию программиста связывали с количеством строк кода, достижимым для написания и отладки за период времени.
Проблемы создания такого программного обеспечения, выражались в:
превышении сроков сдачи проектов и перерасходе их бюджетов;
неудовлетворении заданным спецификациям;
затруднении модификации проектов.
Для преодоления этого кризиса с середины 1980-х развивалась объектно-ориентированная технология программирования, в результате чего проекты систем стали создаваться на основе визуального моделирования компонент (CBD – Component Based Development).
Свойства современных инструментов визуальной CBD-разработки::
Поддержка генерации кода и обратного проектирования (т.е. восстановление визуальной модели по программному коду) для ряда языков,
Поддержка визуального объектно-ориентированного моделирования и совместимость со стандартным языком описания моделей UML (Unified Modeling Language).
Ориентация на проектировщиков информационных систем, менеджеров и программистов, в том числе за счет обеспечения возможности декомпозиции системы по разнообразным аспектам с использованием визуального моделирования.
Таким образом в настоящее время широко известны два подхода к проведению декомпозиции системы при построении ее визуальной модели:
Структурный анализ/проектирование – в основе упорядочение событий/потоков данных (алгоритмическая декомпозиция).
Объектно-ориентированная декомпозиция, базирующаяся на выделении агентов, которые или сами действуют, или являются объектами действия.
Объектно-ориентированное проектирование включает объектно-ориентированную декомпозицию и визуальную нотацию для описания разнообразных моделей проектируемой системы. Оно состоит в объектной декомпозиции системы, а для визуального выражения логического (классы и объекты) и физического (модульная и процессорная архитектура) аспектов модели применяют различную нотацию.
Языки объектно-ориентированного моделирования появились в результате конкуренции между различными подходами к объектно-ориентированному методу анализа и проектирования (ООАП). Отдельные методики и графические нотации (IDEF0, IDEF1X) были стандартизованы.
К середине 1990-х наиболее известными стали методы:
Гради Буча (Grady Booch) - Booch или Booch'91, Booch Lite (позже - Booch'93);
Джеймса Румбаха (James Rumbaugh) - Object Modeling Technique (ОМТ, ОМТ-2);
Айвара Джекобсона (Ivar Jacobson) - Object-Oriented Software Engineering (OOSE).
Каждый из методов ориентирован на отдельные этапы ООАП. Например, OOSE содержал средства представления вариантов использования, важных на этапе анализа требований при проектировании бизнес-приложений. ОМТ-2 удобнее в анализе процессов обработки данных в информационных системах.
Метод Booch'93 стал наиболее популярным на этапах проектирования и разработки различных программных систем. Развитие языка UML началось с унификации методов Booch и ОМТ для объединения их достоинств, а далее с ними был интегрирован метод OOSE.
Сначала авторы предполагалась разработка унифицированного языка моделирования только для этих трех методик. Каждая из них показала эффективность для отдельных задач ООАП и требовалось устранение несоответствия отдельных понятий и обозначений. К новому языку моделирования предъявлялись следующие требования:
Моделирование и программного обеспечения, и других систем и бизнес-приложений с использованием объектно-ориентированных понятий.
Обеспечение взаимосвязи между базовыми понятиями моделей концептуального и физического уровней.
Масштабируемость моделей, что важно для сложных многоцелевых систем.
Мультиплатформенность, а также простота для аналитиков и программистов.
В настоящее время дальнейшую разработку языка UML ведет консорциум OMG, и последняя версия языка UML - UML 2.0.
К нынешнему дню созданы средства визуального программирования на базе UML, обеспечивающие интеграцию (включая прямую и обратную генерацию кода программ) с такими языками и средами программирования, как MS Visual C++, Java, Object Pascal/Delphi, Power Builder, MS Visual Basic, Forte, Ada, Smalltalk. Язык UML можно расширять без переопределения его ядра.
