Разработка программного модуля для компьютерной игры

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?ветственным разработчика;

б) поручить тестирование другим;

в) поручить другим и проектирование, и проверку;

2)определить, что, где и как документировать:

а) индивидуальная документация;

б) как и где внедрять в другие типы тестирования;

в) внедрять ли в формальные документы;

г) использовать ли специальный инструментарий;

) определить объемы заранее:

а) не тестировать пока время не кончится;

б) расставить приоритет тестов;

) определить, где и как получить входные данные;

5)оценить необходимые ресурсы:

а) по возможности, воспользоваться статистикой;

) организовать учет времени и выполнения задач.

2.4.4 Примеры тестирования

Пример теста метода

) проверить работу при допустимых значениях параметров (метод черного ящика, основанный на требованиях);

) проверить работу на граничных значениях параметров (черный ящик);

) проверить работу на значениях вне разрешенного диапазона;

) убедиться, что выполняются все инструкции (рассмотрение утверждений);

) проверить все пути, в том числе ветви каждого узла (рассмотрение решений);

) проверить использование всех вызванных объектов;

) проверить обработку всех структур данных;

) проверить обработку всех файлов;

) проверить нормальное завершение всех циклов (часть доказательства корректности);

) проверить аварийное завершение всех циклов;

) проверить нормальное завершение всех рекурсий;

) проверить аварийное завершение всех рекурсий;

) проверить обработку всех условий ошибок;

) проверить синхронизацию и расчет времени;

) проверить аппаратные зависимости.

Пример теста класса

) испытывать комбинации методов:

а) обычно 2-5;

б) сначала выбрать наиболее общие последовательности;

в) учесть последовательности, заведомо приводящие к ошибке;

г) попытаться вручную подсчитать значения результатов;

2)фокусировать модульные тесты на каждом атрибуте:

а) инициализировать его, а потом запускать последовательности методов, изменяющих его;

) проверять, что инвариант каждого класса не меняется:

а) проверить истинность инварианта на начальных условиях;

б) выполнить последовательность;

в) ещё раз проверить инвариант;

) проверить ожидаемость изменения состояний объектов:

а) спланировать последовательность переходов;

б) установить объект в начальное состояние;

в) обеспечить появление первого события и протестировать переход, и так далее.

2.4.5 Методы грубой силы и их применение при отладке программы

Практически все виды тестов - и модульные, и интегральные, и системные - необязательно проводить в отладчике. Для того, чтобы убедиться в результате выполнения функции, достаточно вставить пару строк кода для вывода необходимой информации куда-либо на экран. При отладке VFS использовались вывод в консольное окно тестового приложения и в окно output MSVS. Для вывода в консоль тестового проекта использовался стандартный потока std::cout, для вывода в окно output студии использовались встроенные функции из библиотеки msvcrt. Для более удобного вызова эти библиотечные функции были обернуты в поток.

Раздел 3. Организационно-экономический раздел

.1 Цели определения себестоимости и цены модуля

Любой крупный программный продукт состоит из множества отдельных модулей. Это - правило, продиктованное современным менеджментом разработки программного обеспечения. Оно позволяет эффективно разделить труд разработчиков, уменьшить риски, облегчить сопровождение. Каждый модуль делают по возможности независимым от остальных, и в каждом конкретном случае руководитель должен принимать решение: делать модуль своими силами, купить его коммерческий аналог или воспользоваться аутсорсингом. Ярким примером подобного подхода в игровой индустрии является участившееся использование коммерческих библиотек физики (Havok, Meqon).

В каждом конкретном случае основным экономическим фактором является стоимость модуля. Именно количественной оценке материальных затрат на производство представленного в дипломной работе модуля VFS и посвящен этот раздел. Также рассмотрен вопроiены модуля на случай его продажи.

3.2 Методы определения себестоимости

В силу специфики труда коллектива программистов, себестоимость программного продукта определяется, в основном, стоимостью труда программистов, стоимостью оборудования и электроэнергии. Существуют методики, позволяющие точно определить себестоимость ПО на основании этих факторов.

3.2.1 Метод калькуляции

Калькуляция осуществляется по заранее составленному списку статей расходов, приведенному в источнике [2]. Типовая схема калькуляции рассмотрена там же.

3.2.2 Расчет на основе нормо-часа

Определение себестоимости изделия на основе цены нормо-часа проводится по формуле:

С_testsample = C_res + Work_coeff * C_normhour(3.1)

где C_testsample - себестоимость опытного образца;_res - материальные затраты (стоимость материалов и изделий);_coeff - трудоемкость изготовления изделия в нормо-часах;_normhour - цена одного нормо-часа предприятия-изготовителя.

3.2.3 Метод удельных показателей

Используется в случаях, когда выводимый на рынок товар входит в группу изделий, у которых есть один основной параметр, величина которого и определяет уровень цены. Метод удельных показателей позволяет определить себестоим