Разработка программного модуля для компьютерной игры
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ветственным разработчика;
б) поручить тестирование другим;
в) поручить другим и проектирование, и проверку;
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 Метод удельных показателей
Используется в случаях, когда выводимый на рынок товар входит в группу изделий, у которых есть один основной параметр, величина которого и определяет уровень цены. Метод удельных показателей позволяет определить себестоим