- •Глава 1. Проектирование программы
- •1.1 Разработка внутренних структур данных и определение пользовательского интерфейса программного приложения
- •1.2 Выбор технологии, языка и среды программирования
- •1.3 Проектирование структуры программы и взаимодействия модулей
- •Глава 2. Описание и функциональные возможности программы
- •2.1 Особенности построения и работы алгоритма
- •Глава 3. Тестирование
- •3.1 Выбор стратегии тестирования и разработка тестов
- •6. Технико-экономические показатели
- •7. Стадии и этапы разработки
- •5. Требования к программной документации
- •8. Порядок контроля и приемки
Глава 3. Тестирование
3.1 Выбор стратегии тестирования и разработка тестов
Одним из наиболее трудоемких этапов создания программного продукта является тестирование. Причем доля стоимости тестирования в общей стоимости разработки имеет тенденцию возрастать при увеличении сложности комплексов программ и повышении требований к качеству. В связи с этим большое внимание уделяется выбору стратегии и методов тестирования, что не является тривиальной задачей.
Тестированием называется процесс выполнения программы с целью обнаружения ошибки. Никакое тестирование не может доказать отсутствие ошибок в программе.
Исходными данными для этапа тестирования явились техническое задание и разработанные на предыдущих этапах структурная и функциональная схемы программного продукта.
Эксперименты показали, что с точки зрения нахождения ошибок, достаточно эффективными являются методы ручного контроля. Поэтому один или несколько из них должны использоваться в каждом программном проекте. Методы ручного контроля предназначены для периода разработки, когда программа закодирована, но тестирование на машине еще не началось. Доказано, что эти методы способствуют существенному увеличению производительности и повышению надежности программ и с их помощью можно находить от 30 до 70% ошибок логического проектирования и кодирования.
Основными методами ручного тестирования являются:
инспекция исходного текста;
сквозные просмотры;
просмотры за столом;
обзоры программ.
Также одним из способов проверки программ является стратегия тестирования, называемая стратегией «черного ящика» или тестированием с управлением по данным. В этом случае программа рассматривается как «черный ящик» и такое тестирование имеет целью выяснение обстоятельств, в которых поведение программы не соответствует спецификации.
Первоначально автором курсовой работы проводилось ручное тестирование программного приложения посредствам инспекции исходного текста и сквозного просмотра, что позволило устранить некоторые ошибки.
При выборе стратегии тестирования нами был выбран метод «черного ящика». При тестировании данным методом, тестировщик имеет доступ к программному обеспечению только через интерфейс, что и заказчик или пользователь.
При тестировании данного продукта соблюдались следующие основные принципы:
Предполагаемые результаты должны быть известны до тестирования.
Следует избегать тестирования программы автором.
Необходимо досконально изучать результаты каждого теста.
Необходимо проверять действия программы на неверных данных.
Необходимо проверять программу на неожиданные побочные эффекты.
Удачным считается тест, который обнаруживает хотя бы одну еще не обнаруженную ошибку.
Вероятность наличия ошибки в части программы пропорциональна количеству ошибок, уже обнаруженных в этой части.
Методом «черного ящика» производилась проверка правильности выполнения условий вызова той или иной функции и т.п. При дальнейшей реализации программы ошибки были устранены и применены меры по предотвращению подобных ошибок.
Ниже в таблице приведены тесты готового программного продукта по принципу «черного ящика»:
Таблица 1
Номер Теста |
Назначение Теста |
Значения исходных данных |
Ожидаемый результат |
Реакция программы |
Вывод |
1. |
Проверить правильность работы кнопки «Новая Игра» |
Очищаются заполненные ранее ячейки |
Очистить ранее заполненные ячейки |
Программа очищает ячейки, которые пользователь заполнил ранее |
Система правильно осуществляет кнопку «Новая Игра» |
2. |
Проверить правильность работы кнопки «Решить» |
Нажатие кнопки «Решить» |
Выдать сообщение с кол-ом решений |
Программа выдает сообщение с количеством допустимых решений |
Система правильно осуществляет кнопку «Решить» |
3. |
Проверить правильность работы кнопки «Сохранить» |
Нажатие кнопки «Сохранить» |
Выдать сообщение об успешном сохранении игры |
Программа выдает сообщение «Игра Сохранена!» |
Система правильно осуществляет кнопку «Сохранить» |
4. |
Проверить правильность работы кнопки «Загрузить» |
Нажатие кнопки «Загрузить» |
Загрузить ранее сохраненные данные игры в ячейки поля |
Программа заполняет ячейки поля в соответствии со сохраненной копией прошлой игры |
Система правильно осуществляет кнопку «Загрузить» |
5. |
Проверить правильность работы чекбокса «Сохранить перед выходом» |
Нажатие чекбокса «Сохранить перед выходом» |
Сохранить заполненные ячейки поля в текстовый файл при выходе из программы |
Программа сохраняет заполненные ячейки поля игры в текстовый файл при выходе из программы |
Система правильно осуществляет чекбокс «Сохранить перед выходом» |
6. |
Проверить правильность работы RadioGroup «Решения» |
Нажатие RadioGroup «Решения» |
Решить задачу автоматически до выбранного диапазона решений |
Программа автоматически решает задачу до выбранного количества решений |
Система правильно осуществляет RadioGroup «Решения» |
7. |
Проверить правильность работы ComboBox «Исходное» |
Нажатие ComboBox «Исходное» |
Заполнить ячейки поля в соответствии с выбранным вариантом ответа, решенного автоматически компьютером |
Программа заполняет ячейки поля в соответствии с выбранным вариантом ответа, решенного автоматически компьютером |
Система правильно осуществляет ComboBox «Исходное» |
8. |
Проверить правильность работы кнопки «Выход» |
Нажатие кнопки «Выход» |
Завершение работы программы |
Программа завершает свою работу |
Система правильно осуществляет кнопку «Выход» |
9. |
Проверить правильность автоматического решения |
Вывод вариантов правильных решений |
Вывод вариантов решения игры |
Программа выводит варианты решений игры |
Система правильно осуществляет автоматическое решение игры |
10. |
Проверить правильность проверки компьютером решения пользователя |
Вывод об успешном или не успешном решении задачи |
Вывод сообщения об успешном решении задачи, если она решена верно, иначе вывод сообщения о не успешном решении задачи |
Программа выводит сообщения об успешном решении задачи, если ячейки были заполнены верно, и наоборот если ячейки заполнены не правильно, то программа выводит сообщение о не успешном решении задачи |
Система правильно осуществляет проверку решений пользователя |
11 |
Проверить правильность работы кнопки «Сброс» |
Нажатие кнопки «Сброс» |
Очистка поля игры |
Программа очищает поле игры |
Система правильно осуществляет кнопку «Сброс» |
12. |
Проверить правильность работы кнопки «Проверить» |
Нажатие кнопки «Проверить» |
Вывод сообщения о правильном или не правильном решении игры |
Программа выводит сообщение о правильном или не правильном решении игры |
Система правильно осуществляет кнопку «Проверить» |
Заключение
Конец ХХ – начало ХХI века характеризуется активным внедрением в деятельность человека компьютерных информационных технологий, особенно разработка логических компьютерных игр, что подтверждает актуальность выбранной темы.
При написании курсовой работы было спроектирована и реализована программа «Компьютерная игра sudoku» в соответствии с техническим заданием, представленным в Приложении 1.
Программа интуитивно проста и понятна, для ее использования не нужно специального обучения пользователя.
В результате разработки приложения компьютерной игры была достигнута поставленная цель – создана компьютерная игра «sudoku».Для этого были разработаны алгоритмы и программы для реализации данного приложения с использованием современной технологии программирования. Программное приложение реализовано с использованием объектно-ориентированной технологии программирования. Тестирование, разрабатываемого приложения показало работоспособность компьютерной игры, целостность и структурированность.
В ходе выполнения курсовой работы изучены нормативные документы, регламентирующие состав, содержание и форму технической документации на разрабатываемый программный продукт. В соответствии с которыми составлена и оформлена пояснительная записка для описания функциональных возможностей и сопровождения разрабатываемой системы.
Предполагаемая область применения компьютерной игры «sudoku»: проведение досуга детей в возрасте 12-16 лет, обучающихся второй ступени, средних учебных заведений, например, в рамках внеклассных мероприятий. Игра адресована учителям, учащимся и их родителям, а так же всем тем, кто интересуется развитием логического мышления, тренировки памяти и математических способностей.
Таким образом, поставленные цели и задачи курсовой работы решены, однако данная работа может быть усовершенствована и продолжена в других аспектах.
Список литературы
алгоритм программа компьютерная игра
Ашарина, И.В. Основы программирования на языках С и С++: учебный курс/ И.В. Ашарина; - М.: Горячая линия – Телеком, 2002. – 207с.: ил.; Библиогр.: 15. – 5000 экз. – ISBN 5-93517-076-0.
Галисеев, Г.В. "Программирование в среде Delphi 7.": самоучитель/ Г.В. Галисеев; — М.: Вильямс, 2004. — 288 с.: ил. ISBN 5-8459-0427.
Культин, Н. Основы программирования в Delphi 7. – СПб.БХВ - Петербург, 2007. – 608 с.:ил.+ CD –ROM; Библиогр.: с.143,507-509. – 2000 экз. – ISBN 978-5-94157-269-4.
Культин,Н. Delphi 4. Программирование на Object Pascal. . – СПб.БХВ - Петербург, 2007. – 608 с.:ил.; Библиогр.: с.254,507-509. – 2000 экз. – ISBN 978-5-94757-265-4. Кэнту, М. Delphi 2005 для профессионалов/ М. Кэнту; — СПб.: Питер, 2006. — 907 с.: ил.: ISBN 5-469-01235-2.
Павловская, Т.А. C++. Программирование на языке высокого уровня: Учебник для вузов/ Т.А. Павловская; — СПб.: Питер, 2007. — 437 с.: ил.: ISBN 5-91180-174-4.
Прайс, Д. Программирование на языке Паскаль: Практическое руководство: учебное издание/ Под ред. Д.Прайсд; В2Т.— П86, М.: Гуманит издательский центр ВЛАДОС, 2003. — Т.1. — 312 с.: ил. ISBN 5-691-00340-
Семакин, И.Г. Основы программирования: учебник/ И.Г. Семакин, Ф.П. Шестаков; — М.: Мастерство, 2001.— 432с.: ил ISBN 5-294-00054-7.
Фаронов, В.В. Программирование на языке высокого уровня: учебник для вузов/ В.В. Фаронов; — СПб.: Питер, 2005 — 640 с.: ил. ISBN 5-8046-0008-7.
Фленов, М.Е. Delphi 2005. Секреты программирования: учебник/ М.Е. Фленов; - Си++. Изд. 2-е перераб. и доп. – М.:Горячая линия – Телеком, 2001. – 232с.: ил. – 5000 экз. – ISBN 5-93517-046-9.
Wei-Meng Lee. Programming Sudoku/Wei-Meng Lee; 2006;
ISBN-13 (pbk): 978-1-59059-662-3
ISBN-10 (pbk): 1-59059-662-5
Приложение А
“УТВЕРЖДАЮ”
__________________________
“___”_______________20__ г.
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
на разработку игры «Судоку»
1. ВВЕДЕНИЕ
1.1. Наименование продукта
Игра «Судоку»
1.2. Краткая характеристика области применения
Предназначена для развития мышления.
2. ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ
2.1. Документ, на основании которого ведется разработка: Задание на курсовую работу по дисциплине «Программирование».
2.2. Организация, утвердившая документ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Югорский государственный университет
3. НАЗНАЧЕНИЕ РАЗРАБОТКИ
Реализовать генерацию задач Судоку и их решение в автоматическом и ручном режимах.
4. ТРЕБОВАНИЯ К РАЗРАБОТКЕ
4.1. Требования к функциональным характеристикам
4.1.1. Меню со стандартным набором функций.(сохранить, загрузить, графические настройки)
4.1.2. Выбрать уровень, выбор размера поля игры.
4.1.3 Запустить новую игру.
4.1.4 Решить автоматически.
4.2. Требования к надежности
4.2.1. Безотказная работа программного обеспечения генератор задач «Судоку» при условии безотказной работы операционной системы компьютера.
4.3. Требования к информационной и программной совместимости
Для функционирования данного генератора задач необходимы операционная система Windows XP/Vista.
