
- •220400 «Программное обеспечение вычислительных комплексов и автоматизированных систем»
- •Глава 1. Понятие и сущность моделирования. Место компьютерного моделирования в задачах изучения процессов и явлений
- •§ 1. Понятие модели. Функции моделей и их классификация
- •1.1. Понятие и функции моделей
- •1.2. Классификация моделей
- •§ 2. Структура моделей
- •2.1. Структура модели и ее основные составляющие
- •2.2. Анализ и синтез
- •2.3. Требования к модели
- •§ 3. Виды моделирования. Понятие и сущность компьютерного моделирования
- •3.1. Виды моделирования
- •3.2. Понятие и сущность компьютерного моделирования
- •3.3. Искусство моделирования. Действия, выполняемые в процессе моделирования
- •§ 4. Моделирование как искусство. Этапы процесса моделирования
- •4.1. Этапы процесса моделирования
- •4.2. Постановка задачи и определение типа модели
- •4.3. Формулирование модели
- •4.4. Проверка модели
- •4.5. Стратегическое и тактическое планирование
- •4.6. Экспериментирование и анализ чувствительности
- •4.7. Реализация замысла и документирование
- •Глава 2. Объектно-ориентированная технология как современная парадигма компьютерного моделирования. Основные сведения о языке uml
- •§ 5. Объектно-ориентированная технология как современная парадигма компьютерного моделирования
- •5.1. Обстоятельства и причины появления объектно-ориентированной технологии. Основные термины
- •В общем случае объекты обладают двумя качествами:
- •5.2. Принципы объектно-ориентированной технологии
- •§ 6. Назначение и цели унифицированного языка моделирования. Основные концепции uml
- •6.1. Назначение и цели uml
- •6.2. Основные концепции uml
- •§ 7. Статическое представление модели
- •7.1. Классификаторы
- •Типы классификаторов
- •7.2. Отношения
- •7.3. Ограничения
- •§ 8. Структурные представления модели
- •8.1. Представление вариантов использования
- •Виды отношений вариантов использования
- •8.2. Представления программной реализации и развертывания
- •§ 9. Представление в виде конечного автомата как один из видов динамического представления модели
- •9.1. Понятие конечного автомата. Определение события и состояния
- •9.2. Понятие и структура перехода. Типы переходов
- •§ 10. Представления деятельности и взаимодействия как виды динамического представления модели
- •10.1. Представление деятельности
- •10.2. Представление взаимодействия
- •§ 11. Представление управления моделью и дополнительные возможности языка uml
- •11.1. Представление управления моделью
- •11.2. Расширение возможностей языка uml
- •Глава 3. Понятие и виды имитационного моделирования. Инструментарий имитационного моделирования: назначение и краткий обзор
- •§ 12. Понятие и виды имитационного моделирования. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •12.1. Понятие и виды имитационного моделирования
- •12.2. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •§ 13. Классификация и краткая характеристика языков имитационного моделирования. Среда и функциональная структура языка моделирования gpss
- •13.1. Классификация языков имитационного моделирования
- •13.2. Принципы организации системы gpss
- •Глава 4. Общие понятия о графическом моделировании и геоинформационных системах
- •§ 14. Способы представления и принципы обработки графических данных на персональных эвм
- •14.1. Представление в компьютере графической информации. Растровая и векторная графика
- •14.2. Модели представления цвета в графических изображениях
- •14.3. Форматы графических файлов
- •14.4. Принципы обработки графических данных на персональных компьютерах
- •§ 15. Геоинформационные системы и особенности моделирования земной поверхности
- •15.1. Основные понятия и организация гис
- •15.2. Проблемы качества векторных цифровых карт для гис
- •§ 16. Классификация программного обеспечения гис и реализация гис-проектов
- •16.1. Классификация и краткая характеристика программного обеспечения гис
- •16.2. Порядок создания гис-проектов
- •Компьютерные модели в информационных технологиях на железнодорожном транспорте
- •127994, Москва, ул.Образцова, 15
Глава 2. Объектно-ориентированная технология как современная парадигма компьютерного моделирования. Основные сведения о языке uml
§ 5. Объектно-ориентированная технология как современная парадигма компьютерного моделирования
5.1. Обстоятельства и причины появления объектно-ориентированной технологии. Основные термины
Основную причину широкого распространения объектно-ориентированной технологии при решении задач компьютерного моделирования специалисты связывают со сложностью современных программных систем и хранилищ данных, обусловивших необходимость перехода в разработке программного обеспечения на промышленные методы. В числе факторов, определяющих сложность промышленных программных систем, специалисты называют:
сложность моделируемой предметной области;
отсутствие математического аппарата, обеспечивающего удовлетворительные способы описания поведения больших дискретных систем;
трудность управления процессом разработки программ;
необходимость обеспечения достаточной гибкости программ.
Сложность реального мира. Проблемы, которые мы пытаемся решить с помощью программного обеспечения, часто содержат сложные элементы, а к соответствующим программам предъявляется множество различных, порой взаимоисключающих требований. Сложность задачи порождает адекватную сложность программного продукта, которая обычно возникает из-за «нестыковки» между пользователями системы и ее разработчиками: пользователи с трудом могут объяснить в форме, понятной разработчикам, что на самом деле нужно сделать. Это в основном происходит в силу того, что каждая из групп специализируется в своей области, и ей недостает знаний партнера. У пользователей и разработчиков разные взгляды на сущность проблемы, и они делают различные выводы о возможных путях ее решения. Дополнительные сложности возникают в результате изменений требований к программной системе уже в процессе разработки. В основном требования корректируются из-за того, что само осуществление программного проекта часто изменяет проблему.
Проблема описания поведения больших дискретных систем. Так как исполнение программных систем осуществляется на цифровом компьютере, разработчики программного обеспечения всегда имеют дело с системами с дискретными состояниями. Однако переходы между дискретными состояниями не могут моделироваться непрерывными функциями. Каждое событие, внешнее по отношению к программной системе, может перевести ее в новое состояние, и, более того, переход из одного состояния в другое не всегда детерминирован. При неблагоприятных условиях внешнее событие может нарушить текущее состояние системы из-за того, что ее создатели не смогли предусмотреть все возможные варианты. В непрерывных системах такое поведение невозможно, но в дискретных системах любое внешнее событие может повлиять на любую часть внутреннего состояния системы. Это и является главной причиной обязательного тестирования программных систем; но, как показывает практика, всеобъемлющее тестирование промышленных программных систем провести оказывается невозможным. В мире не существует ни математических инструментов, ни интеллектуальных возможностей для полного моделирования поведения больших дискретных систем, поэтому на практике удовлетворяются разумным уровнем уверенности в их правильности.
Трудности управления процессом разработки. Сегодня обычными стали программные системы, размер которых исчисляется десятками тысяч или даже миллионами строк на языках высокого уровня. Такой объем работ требует привлечения команды разработчиков. Но чем больше разработчиков, тем сложнее связи между ними и тем сложнее координация.
Гибкость программного обеспечения. Программирование обладает предельной гибкостью, и разработчик программных продуктов, в отличие от работников отраслей реальной экономики, может сам обеспечить себя всеми необходимыми элементами, относящимися к любому уровню абстракции. Такая гибкость побуждает разработчика создавать своими силами все базовые строительные блоки будущей конструкции, из которых составляются элементы более высоких уровней абстракции. В отличие, например, от строительной индустрии, где существуют единые стандарты на многие конструктивные элементы и качество материалов, в программной индустрии таких стандартов явно недостаточно. Поэтому программные разработки остаются очень трудоемким делом.
Объектно-ориентированная технология основывается на объектной модели данных. Термин объект появился практически независимо в различных областях, связанных с компьютерами, для обозначения того, что может иметь различные проявления, оставаясь целостным.