Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_dif_zachetu.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
452 Кб
Скачать
☆

42. Понятие о математическом моделировании. Виды моделирования.

Реальный объект→ наше представление об объекте → модель объекта в нашем представлении в реальности для ответа на вопрос об адекватности исп-тся т.н. принцип тождества неразличимых. В применении к инжен-му моделир-ю он закл-ся в том, что если рез-ты, получ-е на основе моделир-я, совпадают с рез-тами, кот-е инженер наблюдает в поведении реального объекта, то модель признается адекватной (правильно описывающей поведение объекта). Виды моделир-ния: 1 натурное – объект и действующие на него внешн фак-ры воспр-ся как можно точнее. -: 1) дороговизна испытаний;, 2) нет возм-ти такого моделир-я во многих ситуациях (напр, исслед-е t при ядерных взрывах). 2 полунатурное изгот-ся аналог объекта (напр, с измен-ем масштаба или материала). 3 аналоговое можно показать, что явления и процессы разной природы описыв-ся одинаковыми по виду ур-ниями. +: решение получаем сразу как только набрана эл схема; -: 1)сложность построения аналогов м-ду эл-тами разного типа подсис-м, 2) большой V предварит-х выч-ний по пересчету исх данных с помощью коэф-тов масштабир-я и полученных результатов-аналогов к исх переменным. 4.матеметич-ое – пов-е объекта опис-ся ур-ниями, кот-е отражают его хар-ки с помощью соотв-щих законов. +: 1) универсальность матем моделей (ММ) – возм-ть исп-я при разл исх-х данных. 2) возм-ть описания процессов и явлений, для кот-х др виды моделир-я невозможны, 3) относит дешево, 4) возм-ть получения упрощенных моделей, опис-щих пов-ние объекта в каких-то конкр-х ситуациях. При моделир-и технич объектов с сосредоточенными параметрами исп-ют сис-му ADAMS, при расчете прочности, колебаний сис-м как сплошных сред исп-ют пакеты: ANSYS, NASTRAN, FlexPDE, при моделир-и пов-я объектов, разбитых на эл-ты разного типа – Simylinc, MATLAB.

43. Источники ошибок в математической модели и необходимость тестирования.

Тестирование пронизывает весь жизненный цикл ПО, начиная от проектирования и заканчивая неопределенно долгим этапом эксплуатации. Эти работы напрямую связаны с задачами управления требованиями и изменениями, ведь целью тестирования является как раз возможность убедиться в соответствии программ заявленным требованиям.

Тестирование - процесс пошаговый. Наверное, имеет смысл разделить проверку работоспособности программ в ходе непосредственного написания кода (самим программистом) и после завершения основного этапа кодирования (скорее всего, специальными тестировщиками). Тут можно вспомнить о золотом правиле программирования: написание каждых 20-30 строк кода (тем более законченных процедур, функций) должно сопровождаться проверкой их работоспособности, хотя бы в каком-то основном режиме. В то же время нужно подчеркнуть и важное различие в проведении тестирования в ходе кодирования и по его завершении: в первом случае продолжать написание программы (а также запуск других тестовых примеров) желательно только после устранения ошибки, во втором осуществляется пакетное выполнение серии текстов с простой фиксацией их результатов.

Тестирование - процесс также итерационный. После обнаружения и исправления каждой ошибки обязательно следует повторение тестов, чтобы убедиться в работоспособности программы. Более того, для идентификации причины обнаруженной проблемы может потребоваться проведение специального дополнительного тестирования. Различные виды тестирования можно классифицировать и по следующим основным характеристикам (хотя любая категоризация является достаточно условной).

Функциональное и нагрузочное тестирование. Работы первого вида можно отнести к традиционным - проверка ПО на соответствие требованиям по функционалу***. В последние годы заметно возросла актуальность относительно новых задач, таких, например, как анализ совместимости разрабатываемого продукта с различными программными и аппаратными платформами, приложениями и пр. Второй тип обычно связывают с задачами оценки производительности и масштабирования, но на самом деле он затрагивает гораздо более широкий круг проблем; выявление узких мест в коде программы, обнаружение "утечек" ресурсов и т. д.

Компонентное и интеграционное тестирование. Очевидно, что первый вид тестирования выполняется на более ранних этапах разработки (по мере создания законченных модулей), второй - на завершающем этапе. Принципиальное их различие заключается в том, что компонентное в основном базируется на методах "белого ящика" (учета внутренней логики и структуры программы), а интеграционное - на методах "черного ящика" (знание только внешних спецификаций). Соответственно существенная часть работы по проведению тестирования в первом случае ложится на проектировщиков и разработчиков ПО, во втором - на независимых тестеров.

Ручное и автоматизированное тестирование. По мере повышения сложности проекта доля задач, решаемых с помощью автоматизированных методов (использование скриптов, программ-имитаторов и пр.), неуклонно растет. Подавляющее число задач нагрузочного тестирования может решаться исключительно с их помощью.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]