- •Министерство образования и науки, молодёжи и спорта украины
- •Содержание
- •Тема.1. Основные понятия и методология проектирования сложных обьектов и систем Лекция 1. Основные понятия и методология
- •1.1. Основные определения
- •1.2. Сущность процесса проектирования
- •1.3. Методология системного подхода к проблеме проектирования сложных систем
- •1.4. Системный подход к задаче автоматизированного проектирования технологического процесса
- •1.5. Системный анализ сложных процессов
- •1.6. Этапы проектирования сложных систем
- •Техническое задание
- •Этап нир
- •Этап окр
- •Этап разработки технического проекта объекта
- •Рабочее проектирование
- •Проектирование технологии изготовления спроектированного объекта
- •1.6. Контрольные вопросы и упражнения
- •Тема.2. Системный ( структурный ) уровень компьютерного проектирования сложных обьектов Лекция 2. Определение визуального моделирования
- •2.1. О пользе чертежей
- •2.2. По и другие инженерные объекты
- •2.3. Чертить по.
- •2.4. Метафора визуализации
- •2.5. Графовая метафора
- •2.6. Определение визуального моделирования
- •2.7. Средства визуального моделирования
- •2.8. О программных инструментах
- •2.9. Визуальное моделирование на фоне эволюции средств программирования
- •2.10. Семантический разрыв визуальных моделей и программного кода
- •2.11. Где выход?
- •2.12. Предметная область, модель, метамодель, метаметамодель.
- •2.13. Множество моделей по
- •2.14. Граф модели и диаграммы
- •2.15. Об операциях над графом модели и диаграммами
- •2.16. Контрольные вопросы
- •Лекция 3. Что такое The uml
- •3.1. Назначение языка
- •3.2. Историческая справка
- •3.3. Способы использования языка
- •3.4. Структура определения языка
- •3.5. Терминология и нотация
- •3.6. Контрольные вопросы
- •Лекция 4. Виды диаграмм uml
- •4.1. Почему нужно несколько видов диаграмм
- •4.2. Виды диаграмм
- •4.3. Диаграмма прецедентов (use case diagram)
- •4.4. Диаграмма классов (class diagram)
- •4.5. Диаграмма объектов (object diagram)
- •4.6. Диаграмма последовательностей (sequence diagram)
- •4.7. Диаграмма взаимодействия (кооперации, collaboration diagram)
- •4.8. Диаграмма состояний (statechart diagram)
- •4.9. Диаграмма активности (деятельности, activity diagram)
- •4.10. Диаграмма развертывания (deployment diagram)
- •4.11. Ооп и последовательность построения диаграмм
- •4.12. Контрольные вопросы
- •Лекция 5. Диаграмма классов: крупным планом
- •5.1. Как класс изображается на диаграмме uml?
- •5.2. А что внутри?
- •5.3. Как использовать объекты класса?
- •5.4. Всегда ли нужно создавать новые классы?
- •5.5. Отношения между классами
- •5.6. Контрольные вопросы
- •Лекция 6. Диаграмма активностей: крупным планом
- •6.1. А ведь это вовсе не блок-схема!
- •6.2. Примеры использования таких диаграмм
- •6.3. Советы по построению диаграмм активностей
- •6.4. Контрольные вопросы
- •Лекция 7. Диаграммы взаимодействия: крупным планом
- •7.1. Диаграммы последовательностей и их нотация
- •7.2. Диаграммы кооперации и их нотация
- •7.3. Рекомендации по построению диаграмм взаимодействия
- •7.4. Контрольные вопросы
- •Лекция 8: Диаграммы прецедентов: крупным планом
- •8.1. Несколько слов о требованиях
- •8.2. Диаграммы прецедентов и их нотация
- •8.3. Моделирование при помощи диаграмм прецедентов
- •8.4. Контрольные вопросы
- •Лекция 9: Элементы графической нотации диаграммы развертывания. Паттерны проектирования и их представление в нотации uml
- •9.1. Диаграмма развертывания, особенности ее построения
- •9.1.1. Узел
- •9.1.2. Соединения и зависимости на диаграмме развертывания
- •9.1.3. Рекомендации по построению диаграммы развертывания
- •9.2. Паттерны объектно-ориентированного анализа и проектирования, их классификация
- •9.2.1. Паттерны проектирования в нотации языка uml
- •9.2.2. Паттерн Фасад и его обозначение в нотации языка uml
- •9.2.3. Паттерн Наблюдатель и его обозначение в нотации языка uml
- •Лекция 10: Визуальное моделирование систем реального времени
- •10.1. Системы реального времени
- •10.2. Структурное подобие срв и аппаратуры
- •10.3. Многоуровневые открытые сетевые протоколы и блочная декомпозиция
- •10.4. Композитные компоненты
- •10.5. Интерфейс
- •10.6. Порт
- •10.7. Соединитель
- •10.8. Реактивные системы
- •10.9. Обзор примера
- •10.10. Контрольные вопросы
- •Лекция 11. Визуальное моделирование бизнес-процессов
- •11.1. Новая концепция бизнеса - ориентация на бизнес-процессы
- •11.2. Erp-системы
- •11.3. Моделирование бизнес-процессов
- •11.4. Пример бизнес-процесса
- •11.5. Декомпозиция бизнес-процессов
- •11.6. Исполняемая семантика бизнес-процессов
- •11.7. Бизнес-процессы и web-сервисы
- •11.8. Обзор bpmn
- •11.8.1. Действия (activities)
- •11.8.2. Связи (connecting objects)
- •11.8.3. Участники (swimlanes) бизнес-процесса
- •11.8.4. Порты (gateways)
- •11.9. Контрольные вопросы
- •12. Лекция: Этапы проектирования ис с применением uml
- •12.1. Разработка модели бизнес-прецедентов
- •12.2. Разработка модели бизнес-объектов
- •12.3. Разработка концептуальной модели данных
- •12.4. Разработка требований к системе
- •12.5. Анализ требований и предварительное проектирование системы.
- •12.6. Разработка моделей базы данных и приложений
- •12.7. Проектирование физической реализации системы
- •Тема.3. Математические модели обьектов проектирования Лекция 14. Математические модели объектов проектирования
- •14.1. Общие сведения о математических моделях
- •14.1.1. Компоненты математического обеспечения
- •14.1.2. Требования к математическим моделям и численным методам в сапр
- •14.1.3. Место процедур формирования моделей в маршрутах проектирования
- •14.2. Классификация математических моделей
- •14.3. Методика получения математических моделей элементов
- •14.3.1. Преобразование математических моделей в процессе получения рабочих программ анализа
- •14.3.2. Формализация получения математических моделей систем
- •Тема.4. Математическое обеспечение компьютерного проектирования Лекция 15. Математическое обеспечение компьютерного проектирования
- •15.1. Методы и алгоритмы анализа на макроуровне
- •15.2. Алгоритм численного интегрирования соду
- •15.3. Методы решения систем нелинейных алгебраических уравнений
- •15.4. Методы решения систем линейных алгебраических уравнений
- •15.5. Организация вычислительного процесса в универсальных программах анализа на макроуровне
- •15.6. Математическое обеспечение анализа на микроуровне
- •15.7. Методы анализа на микроуровне
- •15.8. Структура программ анализа по мкэ на микроуровне
- •15.9. Математическое обеспечение анализа на функционально–логическом уровне
- •15.10. Математические модели дискретных устройств
- •15.11. Методы логического моделирования
- •15.12. Математическое обеспечение анализа на системном логическом уровне
- •15.13. Аналитические модели смо
- •15.14. Имитационное моделирование смо
- •15.15. Событийный метод моделирования
- •15.16. Сети Петри
- •Тема.5. Интегрированные системы автоматического проектирования
- •16.2. Этапы развития информационных систем и технологий на машиностроительных предприятиях
- •16.3. Современные ит и их значение для предприятия
- •16.4. Жизненный цикл изделия
- •16.5. Обеспечение информационных систем на предприятии
- •16.6. Иерархия автоматизированных систем на предприятии
- •16.7. Общепроизводственные системы
- •Тема.6. Системы и технологии управления проектированием и
- •17.1.2. Программные продукты компании sap
- •17.1.2.1. Базисная технология системы r/3 фирмы sap
- •17.1.2.2. Sap erp
- •17.1.2.2. Sap plm
- •17.2. Информационная безопасность в cals-системах
- •17.2.1. Основные понятия и определения
- •17.2.2. Технологии построения защищенной сети виртуального предприятия
- •Лекция 18. Case – технологии Тема.7. Case-технологии компьютерного проектирования
- •Ibm Rational Rose
- •Visio поддерживает множество локальных языков
- •Тема.8. Case-средства анализа и синтеза проектных решений ис
- •Основы методологии проектирования ис
- •Структурный подход к проектированию ис
- •Состав функциональной модели
- •Иерархия диаграмм
- •Внешние сущности
- •Системы и подсистемы
- •Накопители данных
- •Потоки данных
- •Пример использования структурного подхода
- •Тема.9. Анализ, верификация и оптимизация проектных решений средствами сапр
- •Список литературы
4.11. Ооп и последовательность построения диаграмм
Прочитав материал этой лекции, можно сказать: "Это ведь все элементарно!". Да, это правда, простые задачи решаются с помощью UML без особого труда. А вот более сложные системы, прочитав только эту лекцию, возможно, так же адекватно смоделировать не удастся. Естественно, читать об UML недостаточно - надо им пользоваться! Может быть, даже сразу вы чего-то и не поймете, но по мере увеличения опыта использования UML вы все лучше начнете понимать его конструкции. Так же как и другие языки, UML требует особого способа мышления, умения рассматривать систему с разных сторон и точек зрения.
Можно дать множество рекомендаций относительно того, какие же именно диаграммы строить и как, но мы будем краткими. Прежде всего, вы должны ответить для себя на такие вопросы:
Какие именно виды диаграмм лучше всего отражают архитектуру системы и возможные технические риски, связанные с проектом?
Какие из диаграмм удобнее всего превратить в инструмент контроля над процессом (и прогрессом) разработки системы?
И еще одно - никогда не выбрасывайте даже "забракованные" диаграммы: они могут в дальнейшем оказаться полезными при анализе направления вашей мысли, поиске ошибок проектирования, да и просто для экспериментов по незначительному изменению системы.
Диаграммы, как уже говорилось выше, можно и нужно строить в некоторой логической последовательности. Но как выработать эту последовательность, если у вас нет опыта моделирования? Как научиться этому? Вот несколько простых приемов, которые помогут вам (или вашей команде) выработать свой стиль проектирования.
В UML-проектировании, как и при создании любых других моделей, важно уметь абстрагироваться от несущественных свойств системы. В этом плане очень полезными могут оказаться коллективные упражнения на выявление и анализ прецедентов. Они помогут отработать навыки выявления четких абстракций.
Неплохой способ начать - моделирование базовых абстракций или поведения одной из уже имеющихся у вас систем.
Стройте модели предметной области задачи в виде диаграммы классов! Это хороший способ понять, как визуализировать множества взаимосвязанных абстракций. Таким же образом стройте модели статической части задач.
Моделируйте динамическую часть задачи с помощью простых диаграмм последовательностей и кооперации. Хорошо начать с модели взаимодействия пользователя с системой - так вы сможете легко выделить наиболее важные прецеденты.
Не забываем, что мы говорим, прежде всего, именно об объектноориентированных системах. Поэтому, подытоживая все сказанное ранее, можно предложить такую последовательность построения диаграмм:
диаграмма прецедентов,
диаграмма классов,
диаграмма объектов,
диаграмма последовательностей,
диаграмма кооперации,
диаграмма состояний,
диаграмма активности,
диаграмма развертывания.
Конечно, это не единственная возможная последовательность. Возможно, вам будет удобнее начать с диаграммы классов. А может, вам не нужны диаграммы объектов, а диаграммы последовательностей вы предпочитаете диаграммам кооперации. Это лишь один из путей, постепенно вы выработаете свой персональный стиль проектирования и свою последовательность!
И напоследок еще несколько советов относительно использования UML.
Хорошее и полезное упражнение - строить модели классов и отношений между ними для уже написанного вами кода на С++ или Java.
Применяйте UML для того, чтобы прояснить неявные детали реализации существующей системы или использованные в ней "хитрые механизмы программирования".
Стройте UML-модели, прежде чем начать новый проект. Только когда будете абсолютно удовлетворены полученным результатом, начинайте использовать их как основу для кодирования.
Обратите особое внимание на средства UML для моделирования компонентов, параллельности, распределённости, паттернов проектирования. Большинство из этих вопросов мы рассмотрим далее.
UML содержит некоторые средства расширения. Подумайте, как можно приспособить язык к предметной области вашей задачи. И не слишком увлекайтесь обилием средств UML: если вы в каждой диаграмме будете использовать абсолютно все средства UML, прочесть созданную вами модель смогут лишь самые опытные пользователи.
Кроме прочего, важным моментом здесь является выбор пакета UML-моделирования (CASE-средства), что тоже может повлиять на ваш индивидуальный стиль проектирования. Более подробно мы поговорим об этом в одной из последующих лекций, пока же отметим, что все диаграммы, виденные вами в этой лекции, построены с помощью TAU G2 от Telelogic.
Выводы
Диаграммы разных видов позволяют взглянуть на систему с разных точек зрения.
UML содержит диаграммы трех типов - для моделирования статической структуры, поведенческих аспектов и подробностей реализации приложения.
Недостаточно читать об UML - им надо пользоваться!