Классификация по области использования
Если рассматривать модели с позиции для чего, с какой целью они используются, то можно применять классификацию, изображенную на рисунке 3.
Учебные модели используются при обучении. Это могут быть наглядные пособия, различные тренажеры, обучающие программы.
Опытные модели – это уменьшенные или увеличенные копии проектируемого объекта. Их называют также натурными моделями, и используют для исследования объекта и прогнозирования его будущих характеристик.
Научно-технические модели создаются для исследования процессов и явлений. К таким моделям можно отнести прибор для получения грозового электрического разряда, модель движения планет Солнечной системы, модель работы двигателя внутреннего сгорания.
Игровые модели – это различного рода игры: деловые, экономические, военные. С помощью таких моделей можно разрешать конфликтные ситуации, оказывать психологическую помощь, проигрывать поведение объекта в различных ситуациях.
Имитационные модели не просто отражают реальность с той или иной степенью точности, а имитируют ее. Эксперимент с моделью либо многократно повторяется при разных исходных данных, чтобы изучить и оценить последствия каких-либо действий на реальную обстановку, либо проводится одновременно со многими другими похожими объектами, но поставленными в разные условия. По результатам исследования делаются выводы. Подобный метод выбора правильного решения называется методом проб и ошибок. К примеру, в ряде опытов на мышах испытывается новое лекарственное средство, чтобы выявить побочные действия и уточнить дозировки.
Классификация с учетом временного фактора
Классификация моделей с учетом временного фактора приведена на рисунке 4.
Статические модели отражают объект в определенный момент времени, без учета происходящих с ним изменений.В этих моделях отсутствует временной фактор.
Примером статической модели может служить макет или рисунок молекулы воды, состоящей из атомов водорода и кислорода.
Динамические модели отражают процесс изменения объекта во времени.
Химический опыт, проводимый в лаборатории, является примером динамической модели.
Один и тот же объект возможно изучать, применяя и статическую и динамическую модели.
Классификация по отрасли знаний
Здесь можно выделить следующие виды моделей:
физические;
химические;
географически е;
исторические;
социологические;
экономические(рисунок 5);
математические.
Классификация по способу представления
Классификация моделей по способу представления приведена на рисунке 6.
В соответствии с этой классификацией модели делятся на две большие группы: материальные (иначе их называют предметные) и информационные (абстрактные).
Материальные модели иначе можно назвать предметными, физическими. Они воспроизводят геометрические и физические свойства оригинала, и всегда имеют реальное воплощение.
Информационная модель – совокупность информации, характеризующая свойства и состояния объекта, процесса, явления, а также взаимосвязь с внешним миром. Информационная модель– это описание объекта.
Знаковые и вербальные информационные модели. К информационным моделям можно отнести вербальные (от лат. «verbalis» – устный) модели, полученные в результате раздумий, умозаключений. Они могут остаться мысленными или быть выражены словесно. К таким моделям можно отнести идею, возникшую у изобретателя, и музыкальную тему, промелькнувшую в голове композитора, и рифму, прозвучавшую пока еще в сознании поэта.
Вербальная модель – информационная модель в мысленной или разговорной форме.
Знаковая модель – информационная модель, выраженная специальными знаками, т.е. средствами любого формального языка.
К знаковым моделям относятся:
математические модели – это модели, построенные с использованием математических понятий и формул;
специальные – представлены на специальных языках (ноты, химические формулы);
алгоритмические – программы.
Существуют и другие подходы к классификации информационных моделей.
В зависимости от структуры информационные модели делятся на:
табличные;
иерархические;
сетевые.
Компьютерные и некомпьютерные модели. В информатике рассматриваются модели, которые можно создавать и исследовать с помощью компьютера. В этом случае модели делят на компьютерные и некомпьютерные.
Компьютерная модель – это модель, реализованная средствами программной среды.
В настоящее время выделяют два вида компьютерных моделей:
структурно-функциональные, которые представляют собой условный образ объекта, описанный с помощью компьютерных технологий;
имитационные, представляющие собой программу или комплекс программ, позволяющий воспроизводить процессы функционирования объекта в разных условиях.
Основные этапы компьютерного моделирования
Все этапы определяются поставленной задачей и целями моделирования. В общем случае процесс построения и исследования модели можно представить следующей схемой (рисунок 7):
Первый этап – постановка задачи включает в себя стадии: описание задачи, определение цели моделирования, анализ объекта. Ошибки при постановке задачи приводят к наиболее тяжелым последствиям!
Описание задачи. Задача формулируется на обычном языке. По характеру постановки все задачи можно разделить на две основные группы. К первой группе можно отнести задачи, в которых требуется исследовать, как изменятся характеристики объекта при некотором воздействии на него, «что будет, если...?».
Например, что будет, если магнитный диск положить рядом с магнитом?
В задачах, относящихся ко второй группе, требуется определить, какое надо произвести воздействие на объект, чтобы его параметры удовлетворяли некоторому заданному условию, «как сделать, чтобы…?».
Определение цели моделирования. На этой стадии необходимо среди многих характеристик (параметров) объекта выделить существенные.
Анализ объекта подразумевает четкое выделение моделируемого объекта и его основных свойств.
Второй этап – формализация задачи связан с созданием формализованной модели, то есть модели, записанной на каком-либо формальном языке. Например, данные переписи населения, представленные в виде таблицы или диаграммы – это формализованная модель.
В общем смыслеформализация– это приведение существенных свойств и признаков объекта моделирования к выбранной форме.
Третий этап – разработка компьютерной модели начинается с выбора инструмента моделирования, другими словами, программной среды, в которой будет создаваться, и исследоваться модель.
От этого выбора зависит алгоритм построения компьютерной модели, а также форма его представления. В среде программирования – это программа, написанная на соответствующем языке. В прикладных средах (электронные таблицы, СУБД, графических редакторах и т. д.) – это последовательность технологических приемов, приводящих к решению задачи.
Следует отметить, что одну и ту же задачу можно решить, используя различные среды. Выбор инструмента моделирования зависит, в первую очередь, от реальных возможностей, как технических, так и материальных.
Четвертый этап – компьютерный эксперимент включает две стадии: тестирование модели и проведение исследования.
Тестирование модели– процесс проверки правильности построения модели.
На этой стадии проверяется разработанный алгоритм построения модели и адекватность полученной модели объекту и цели моделирования.
Для проверки правильности алгоритма построения модели используется тестовые данные, для которых конечный результат заранее известен (обычно его определяют ручным способом). Если результаты совпадают, то алгоритм разработан верно, если нет – надо искать и устранять причину их несоответствия.
Тестирование должно быть целенаправленным и систематизированным, а усложнение тестовых данных должно происходить постепенно. Чтобы убедиться, что построенная модель правильно отражает существенные для цели моделирования свойства оригинала, то есть является адекватной, необходимо подбирать тестовые данные, которые отражают реальную ситуацию.
Уровни тестирования программного обеспечения (ПО):
Модульное тестирование (юнит-тестирование) – тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция. Часто модульное тестирование осуществляется разработчиками ПО.
Интеграционное тестирование – тестируются интерфейсы между компонентами, подсистемами. При наличии резерва времени на данной стадии тестирование ведётся итерационно, с постепенным подключением последующих подсистем.
Системное тестирование – тестируется интегрированная система на её соответствие требованиям.
Альфа-тестирование – имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования.
Бета-тестирование – в некоторых случаях выполняется распространение версии с ограничениями (по функциональности или времени работы) для некоторой группы лиц, с тем, чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.
Часто для свободного/открытого ПО стадия альфа-тестирования характеризует функциональное наполнение кода, а бета-тестирования — стадию исправления ошибок. При этом, как правило, на каждом этапе разработки промежуточные результаты работы доступны конечным пользователям.
Тестирование «белого ящика». В терминологии профессионалов тестирования, фразы «тестирование белого ящика» и «тестирование чёрного ящика» относятся к тому, имеет ли разработчик тестов доступ к исходному коду тестируемого ПО.
Тестирование «белого ящика» – это тестирование, при котором тестировщик имеет доступ к коду. Кроме того, что тестировщик может просматривать код, он еще и сам может писать код, который использует библиотеки существующего программного продукта.
Другое название этого метода – структурное тестирование.
Тестирование «чёрного ящика». Тестирование методом «черного ящика» базируется на том, что поведение системы можно определить только посредством изучения ее входных и соответствующих выходных данных. Другое название этого метода – функциональное тестирование.
Испытатель подставляет в компонент или систему входные данные и исследует соответствующие выходные данные. Метод обработки данных, и каким образом получаются выходные данные – неизвестно, это закрыто «черным ящиком».
Пятый этап – анализ результатов является ключевым для процесса моделирования. Именно по итогам этого этапа принимается решение: продолжать исследование или закончить.
Если результаты не соответствуют целям поставленной задачи, значит, на предыдущих этапах были допущены ошибки. В этом случае необходимо корректировать модель, то есть возвращаться к одному из предыдущих этапов. Процесс повторяется до тех пор, пока результаты компьютерного эксперимента не будут отвечать целям моделирования.
Системный подход в моделировании
Окружающий нас мир состоит из множества различных объектов, каждый из которых имеет разнообразные свойства, и при этом объекты взаимодействуют между собой. Например, такие объекты, как планеты Солнечной системы, имеют различные свойства (массу, геометрические размеры и пр.) и по закону всемирного тяготения взаимодействуют с Солнцем и друг с другом. Планеты входят в состав более крупного объекта - Солнечной системы, а Солнечная система – в состав нашей галактики «Млечный путь». С другой стороны, планеты состоят из атомов различных химических элементов, а атомы - из элементарных частиц. Можно сделать вывод, что практически каждый объект состоит из других объектов, то есть представляет собой систему.
Важным признаком системы является ее целостное функционирование. Система является не набором отдельных элементов, а совокупностью взаимосвязанных элементов. Например, компьютер является системой, состоящей из различных устройств, при этом устройства связаны между собой и аппаратно (физически подключены друг к другу) и функционально (между устройствами происходит обмен информацией).
Система является совокупностью взаимосвязанных объектов, которые называются элементами системы.
Состояние системы характеризуется ее структурой, то есть составом и свойствами элементов, их отношениями и связями между собой. Система сохраняет свою целостность под воздействием различных внешних воздействий и внутренних изменений до тех пор, пока она сохраняет неизменной свою структуру. Если структура системы меняется (например, удаляется один из элементов), то система может перестать функционировать как целое. Так, если удалить одно из устройств компьютера (например, процессор), компьютер выйдет из строя, то есть прекратит свое существование как система.
Любая система существует в пространстве и во времени. В каждый момент времени система находится в определенном состоянии, которое характеризуется составом элементов, значениями их свойств, величиной и характером взаимодействия между элементами и так далее.
Так, состояние Солнечной системы в любой момент времени характеризуется составом входящих в нее объектов (Солнце, планеты и др.), их свойствами (размерами, положением в пространстве и др.), величиной и характером взаимодействия между собой (силами тяготения, с помощью электромагнитных волн и др.).
Модели, описывающие состояние системы в определенный момент времени, называются статическими информационными моделями.