Разработка программы для игры "Сапер"

Изучение технических требований к программе. Определение условий эксплуатации. Характеристика состава и параметров технических средств. Анализ порядка контроля и приемки. Обзор архитектуры программной среды. Обоснование выбора языка программирования.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.08.2017
Размер файла 354,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

Российской Федерации

ФГБОУ ВПО «Брянский государственный

технический университет»

Факультет информационных технологий

Кафедра «Компьютерные технологии и системы»

Курсовой проект

по дисциплине Технология программирования

Тема: Разработка программы для игры «Сапер»

Расчетно-пояснительная записка

Выполнил студент 14-ИНН 20.11.2015 Фоменко Р.С.

Группа подпись, дата инициалы фамилия

Руководитель Рощин С. М.

Брянск 2015

Брянский государственный технический университет

Кафедра «Компьютерные технологии и системы»

ЗАДАНИЕ

на курсовой проект

по дисциплине Технология программирования

Тема: проекта Разработка программы для игры «Сапёр»

Студент группы 14-ИНН Фоменко Руслан Сергеевич

Номер варианта 14

Технические условия: Процессор 1.0Hz. оперативная память объемом, 128 Мбайт, HDD, 1 Гбайт, операционная система Windows ХР/Vista/7/8/10, Свободное место не менее 60 Мб, Клавиатура, Мышь, Монитор, Колонки/наушники, .NET Framework не ниже 4-ого.

Введение; Техническое задание; Разработка спецификаций системы; Проектирование системы; Реализация и тестирование системы Документация Руководство пользователя

Сроки выполнения этапов: 1. Получение задания на реферат (1-я неделя) 2.Поиск литературных источников (2-я неделя) 3. Составление плана реферата (3-я-4-я недели) 4. Разработка программного кода (5-я-12-я-недели) 5. Написание и оформление реферата (13-я-17-я недели).

Срок защиты курсового проекта декабря 2015 г.

Руководитель Рощин С.М.

Оглавление

1. Техническое задание

1.1 Наименование и область применения программы

1.2 Основание для разработки

1.3 Назначение разработки

1.4 Технические требования к программе

1.5 Требования к надежности

1.6 Условия эксплуатации

1.7 Требования к составу и параметрам технических средств

1.8 Требования к продукту

1.9 Технико-экономические показатели

1.10 Стадии и этапы разработки

1.11 Порядок контроля и приемки

2. Разработка спецификаций системы

2.1 Функциональная диаграмма системы

2.2 Диаграмма потоков данных

2.3 Диаграмма переходов состояний

2.4 Диаграмма вариантов пользователя

3. Проектирование системы

3.1 Архитектура программной среды

3.2 Разработка алгоритма

3.3 Модульная декомпозиция системы

4. Реализация и тестирование системы

4.1 Обоснование выбора языка программирования

4.2 Программная декомпозиция системы

5. Документация

5.1 Руководство пользователя

Заключение

Библиографический список

1. Техническое задание

архитектура язык программирование технический

1.1 Наименование и область применения программы

Сапер - это обманчиво простая игра для развития памяти и логики, которая стала одной из самых популярных игр ОС Windows.

Плоское или объёмное игровое поле разделено на смежные ячейки (квадраты, шестиугольники, кубы и т. п.), некоторые из которых «заминированы»; количество «заминированных» ячеек известно. Целью игры является открытие всех ячеек, не содержащих мины.

Существуют варианты игры с полем и/или ячейками непрямоугольной формы, или в трёхмерном пространстве, многопользовательские варианты.

1.2 Основание для разработки

Основной задачей данного курсового проекта является программная реализация логической компьютерной игры «сапер».

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

Данная программа может использоваться любой возрастной категорией людей для развития собственного мышления и логики, а также для отдыха и развлечения.

1.3 Назначение разработки

Игрок открывает ячейки, стараясь не открыть ячейку с миной. Открыв ячейку с миной, он проигрывает. Мины расставляются после первого хода, поэтому проиграть на первом же ходу невозможно. Если под открытой ячейкой мины нет, то в ней появляется число, показывающее, сколько ячеек, соседствующих с только что открытой, «заминировано» (в каждом варианте игры соседство определяется по-своему); используя эти числа, игрок пытается рассчитать расположение мин, однако иногда даже в середине и в конце игры некоторые ячейки всё же приходится открывать наугад. Если под соседними ячейками тоже нет мин, то открывается некоторая «не заминированная» область до ячеек, в которых есть цифры. «Заминированные» ячейки игрок может пометить, чтобы случайно не открыть их. Открыв все «не заминированные» ячейки, игрок выигрывает.

При некоторых расстановках мин вычислить их расположение невозможно, и игрок оказывается перед необходимостью открывать ячейки наугад. Сапёр для Windows имеет интерактивное поле, если все возможные комбинации на поле уже открыты, то игрок НЕ взорвется, ткнув наугад. Некоторые реализации (например, «Mines» в наборе головоломок Саймона Тэтхема) не создают расположений, требующих угадывания.

1.4 Технические требования к программе

Программа должна обеспечивать возможность выполнения перечисленных ниже функций:

Создавать ячейки игрового поля

Открывать ячейки игрового поля

Проверять наличие бомб в ячейках

Выводить в ячейках информацию о бомбах

Засекать время до победы и выводить его в конце

Определять количество открытых ячеек и каждый раз проверять не завершилась ли игра

Записывать итог игры в таблицу рекордов

Редактировать таблицу рекордов

Сохранять игру в процессе работы

Создавать игровой профиль

Обмениваться данными с глобальной таблицей рекордов

Редактирование созданных профилей

Включение/отключение звукового сопровождения

Сброс текущей игры

Выбор сложности

Смена пользователя

Подсказка

«Игра на время»

Игра должна иметь несколько уровней сложности:

Легкий

Средний

Тяжелый

Игра должна иметь дружественный для пользователя интерфейс.

Размеры элементов управления должны меняться в соответствии с изменением размеров рабочего окна.

Программа должна иметь звуковое сопровождения.

Время реакции программы на нажатие любой из клавиш и манипуляции мышью не должно превышать 0,25 секунды, в случае соответствия системных ресурсов требованию к составу и параметрам технических средств. Объем занимаемой оперативной памяти не должен превышать 8 Мбайт.

1.5 Требования к надежности

Программа должна нормально функционировать при бесперебойной работе компьютера. При возникновении сбоя в работе аппаратуры, восстановление нормальной работы программы должно производиться после: перезагрузки операционной системы; запуска исполняемого файла программы; повторного выполнения действий, потерянных до последнего сохранения информации в файл на магнитном диске. Уровень надежности программы должен соответствовать технологии программирования, предусматривающей: инспекцию исходных текстов программы; автономное тестирование модулей программы; тестирование сопряжении модулей программы; комплексное тестирование программы.

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

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

1.6 Условия эксплуатации

Климатические условия эксплуатации

Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации

Требования к квалификации и численности персонала

Особых требований к пользователям игра не имеет.

Данным программным продуктом могут пользоваться дети с 6 лет.

В случае возникновения программных ошибок, отладкой должен заниматься квалифицированный специалист

1.7 Требования к составу и параметрам технических средств

Процессор Celeron-1.0Hz.

оперативную память объемом, 128 Мбайт.

HDD, 1 Гбайт.

операционную систему Windows ХР/Vista/7/8/10.

Свободное место не менее 60 Мб.

Клавиатура.

Мышь.

Монитор.

Колонки/наушники

Для запуска программы, нужен - .NET Framework не ниже 4-ого.

1.8 Требования к продукту

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

Требования к маркировке и упаковке не предъявляются.

Требования к транспортировке и хранению не предъявляются.

Требования к исходным кодам и языкам программирования не предъявляются

Требования к программным средствам, используемым программой:

Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Windows ХР/Vista/7/8/10.

Требования к защите информации и программ не предъявляются.

Специальные требования не предъявляются.

1.9 Технико-экономические показатели

Ориентировочная экономическая эффективность не рассчитывается.

Программный продукт имеет аналоги как отечественные, так и зарубежные, но имеет некоторые преимущества такие как:

Простота интерфейса;

Скорость работы программы;

Звуковое сопровождение;

Современный алгоритм работы;

1.10 Стадии и этапы разработки

Стадии разработки

Разработка должна быть проведена в три стадии:

1. разработка технического задания;

2. рабочее проектирование;

3. внедрение.

Этапы разработки

На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.

На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

1. разработка программы;

2. разработка программной документации;

3. испытания программы.

На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы.

Содержание работ по этапам

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

1. постановка задачи;

2. определение и уточнение требований к техническим средствам;

3. определение требований к программе;

4. определение стадий, этапов и сроков разработки программы и документации на неё;

5. согласование и утверждение технического задания.

На этапе разработки программы должна быть выполнена работа по программированию (кодированию) и отладке программы.

1.11 Порядок контроля и приемки

Курсовой проект принимает преподаватель Рощин С.М. на электронном носителе и в распечатанном варианте. Смотрит, как выполняется программа и соответствует ли она всем параметрам.

2. Разработка спецификаций системы

Диаграммы -- главные компоненты модели, все функции и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Диаграммы строятся при помощи блоков.

2.1 Функциональная диаграмма системы

Диаграмма 1-го уровня.

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

Рисунок 1

Графическое представление блочного моделирования: блок «Сапёр» - это наименование всей системы. Управляющая информация «Инструкция» входит в блок сверху, информация, подвергающаяся обработке, входит с левой стороны в данном случае это - координаты ячеек. Результат обработки - готовый документ, указывается с правой стороны. Механизмы в данном случае отсутствуют.

Диаграмма 2-го уровня.

Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим. Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков. Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок. Координаты ячеек являются входными данными как в родительской диаграмме, так и дочерней, так же и с выходной информацией, совпадающей с общей диаграммой.

Рисунок 2

В данной диаграмме детализирован процесс «Сапёр». Он состоит из четырёх подфункций:

«Ручная настройка поля», в результате работы этого процесса пользователь самостоятельно настраивает параметры игрового поля;

«Выбор сложности» - в этом процессе пользователь выбирает одно из 3х заготовленных игровых полей, которые классифицируются по сложности;

«Выполнение игры» - этот процесс отвечает за работу и выполнение всех игровых функций;

«Вывод результатов» - после выполнения данного процесса рассчитываются результаты и заносятся в память игры (таблицу).

В диаграмме, представленной на рисунке 2, последовательный тип связи.

Диаграмма 3-го уровня.

Каждая из подфункций может быть декомпозирована подобным образом для более детального представления. Во всех случаях каждая подфункция может содержать только те элементы, которые входят в исходную функцию. Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.

Рисунок 3

В данной диаграмме детально показан процесс «выбор сложности». Диаграмма основывается на данных введенных на стадии разработки программы.

Блок «легкий» настраивает игровое поле по размерам 8х8 и количеством мин - 6.

Блок «средний» настраивает игровое поле по размерам 12х12 и количеством мин - 20.

Блок «сложный» настраивает игровое поле по размерам 20х20 и количеством мин - 55.

В диаграмме, представленной на рисунке 3, коммуникационный тип связи.

Рисунок 4

В диаграмме, представленной выше, подробно описывается процесс «Выполнение игры» входными данными которого является информация о поле и координаты активной ячейки, а выходными - результат выполнения процесса. Так же здесь присутствует инструкция, которая применяется к блоку 3.2

Блок «заполнение поля минами» заполняет в случайном порядке ячейки минами в заданном количестве и передает информацию о них в следующий блок.

Блок «открытие ячейки» открывает выбранную игроком ячейку.

Блок «проверка поражение» проверяет есть ли мина в выбранной игроком ячейке и если результат проверки удовлетворительный, то игра заканчивается и выводятся данные о поражении.

Блок «проверка победа» проверяет открыты ли все возможные свободные ячейки если результат проверки удовлетворительный, то выводятся данные о времени и уровне сложности которые позже записываются в таблицу рекордов.

Тип связи в диаграмме: последовательный.

2.2 Диаграмма потоков данных

DFD -- это структурированная иерархия черных ящиков. На каждом уровне абстракции модель представляет собой набор черных ящиков, связанных потоками данных.

Внешняя сущность -- это материальный объект, находящийся за пределами нашей систем.

Внешней сущностью в данной диаграмме является Игрок, который выполняет определённые действия с программным продуктом.

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

В данной диаграмме поток данных проходит через процессы: «Настройка игрового поля», «Случайное расположение мин», «Ход», а также затрагивает процессы влияющие на результат игры: «Проверка «победа»» и «Проверка «поражение»», далее происходит «Запись результата».

Накопитель данных служит для хранения и извлечения данных.

Накопителями являются - «Игровое поле», «Параметры поля», «Положение мин», «Профиль» и «Рейтинг».

Рисунок 5

Блок «Игрок» рациональный индивид, имеющий заинтересованность в исходе игры и возможности воздействовать на него.

Блок «игровое поле» отвечает за данные об игровом поле.

Блок «профиль» отвечает за данные об игроке.

Действие «настройка игрового поля» отвечает за ручную или заготовленную настройку игрового поля и режима игры.

Действие «случайное расположение мин» случайно распределяет заданное количество мин по игровому полю.

Действие «ход» выполняет считывание с устройств ввода для выбора игроком ячейки.

Блок «параметры поля» содержит и передает данные о настройках игрового поля.

Блок «положение мин» содержит и передает данные о положении мин.

Действие «проверка «поражение»» считывает данные о ходе, положении мин, параметрах игрового поля и выполняет проверку поражения.

Действие «проверка победа» проверяет остались ли на игровом поле закрытые ячейки без мин.

Действие «запись результата» читает данные с блоков о проверке, разделяет их и выводит.

Блок «рейтинг» содержит данные о всех прошедших играх в упорядоченном по количеству очков виде.

2.3 Диаграмма переходов состояний

Каждая диаграмма состояний в UML описывает все возможные состояния одного экземпляра определенного класса и возможные последовательности его переходов из одного состояния в другое, то есть моделирует все изменения состояний объекта как его реакцию на внешние воздействия.

Рисунок 6

Начальное состояние (англ. start state) - состояние, в котором находится экземпляр сущности после своего создания или, перейдя в составное состояние. Из начального состояния могут только исходить переходы.

Начальное состояние-это состояние, в котором находится программа во время инициализации и загрузки интерфейса.

Стрелка, обозначающая переход. Название события (если есть), вызывающего переход, отмечается рядом со стрелкой.

Такое событие, как «нажатие пользователя» вызывает переход в новые состояния. В частности, посредством нажатия открываются такие окна: «Функции», «Статистика», окно игры. Также нажатие пользователя приводит к «Конечному состоянию» системы.

Стрелки переходов вокруг состояний: Окно «Функции», Окно «Статистика», Окно игры означают события в рамках данных окон.

В рамках состояния окно игры осуществляется прорисовка игрового поля и действий игрока, так же идет и отображается подсчет времени игры, прорисовываются открытые мины или, в случае поражения, все существующие на поле мины, так же отображается количество оставшихся мин, которые не помечены флажком.

В окне «Функции» включить или выключить звуковое сопровождение.

Результаты игры заносятся в таблицу, находящуюся в окне «Статистика». Там пользователь может записать свой результат или отправить его в общую базу рекордов с помощью интернета. Так же в этом окне возможно переключение пользователей.

2.4 Диаграмма вариантов пользователя

Диаграммы вариантов использования описывают взаимоотношения и зависимости между группами вариантов использования и действующих лиц, участвующими в процессе.

Рисунок 7

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

3. Проектирование системы

3.1 Архитектура программной среды

Архитектура программной среды - совокупность существенных решений, определяющих:

- организацию программной системы;

- выбор структурных элементов системы и их интерфейсов;

- поведение структурных элементов в процессе взаимодействия с другими элементами;

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

Рисунок 8

3.2 Разработка алгоритма

Рисунок 9

В данной блок-схеме первым действием выполняется создание игрового поля, которое содержит в себе данные о его размерах и количестве мин, затем происходит действие «ход игрока» в котором программа считывает координаты выбранной игроком ячейки. Далее алгоритм выполняет проверку «есть ли в выбранной ячейке мина». Если результат проверки положительный, то на экран выводится сообщение о поражении, а затем идет запись результата и алгоритм заканчивается. Если же результат проверки «есть ли в ячейке мина» отрицательный, то следует еще одна проверка: «все возможные ячейки открыты» если результат отрицательный, то повторяется действие ход, а если результат положительный, то выводится сообщение о победе после которого происходит запись результата и алгоритм заканчивается.

3.3 Модульная декомпозиция системы

Модуль - это фрагмент программного текста, являющийся строительным блоком для физической структуры системы. Как правило, модуль состоит из интерфейсной части и части-реализации.

Декомпозиция означает разбиение некоторой сложной проблемы на ряд проще решаемых проблем, которые в свою очередь разделяются на подпроблемы до тех пор, пока каждая необходимая деталь не будет определена достаточно ясно.

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

Данный программный продукт включает в себя различные модули, определяющие основной принцип работы.

Одним из таких модулей является «случайное заполнение поля минами».

Игровое поле представляется как двумерный массив размерностью [x,y] заполненный 0. Мину мы представляем в качестве 1 и в момент выполнения модуля массив начинает заполнятся заданным количеством 1 (мин) располагая их в случайном столбике и строке.

4. Реализация и тестирование системы

Тестирование программы - это этап, на котором проверяется, как ведет себя программа на как можно большем количестве входных наборов данных, в том числе и на заведомо неверных.

Основные принципы реализации тестирования

необходимой частью каждого теста должно являться описание ожидаемых результатов работы программы, чтобы можно было быстро выяснить наличие или отсутствие ошибки в ней;

следует по возможности избегать тестирования программы ее автором, т.к. кроме уже указанной объективной сложности тестирования для программистов здесь присутствует и тот фактор, что обнаружение недостатков в своей деятельности противоречит человеческой психологии (однако отладка программы эффективнее всего выполняется именно автором программы);

по тем же соображениям организация - разработчик программного обеспечения не должна "единолично” его тестировать (должны существовать организации, специализирующиеся на тестировании программных средств);

должны являться правилом доскональное изучение результатов каждого теста, чтобы не пропустить малозаметную на поверхностный взгляд ошибку в программе;

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

следует сохранять использованные тесты (для повышения эффективности повторного тестирования программы после ее модификации или установки у заказчика);

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

4.1 Обоснование выбора языка программирования

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов - языков программирования. Смысл появления такого языка - оснащённый набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм. Язык программирования служит двум связанным между собой целям: он даёт программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать.

C# (говоря на русском, си Шарп) - это объектно-ориентированное программирование. Он был разработан в 2001 году, инженерами под руководством Андерса Хейлсберга в компании Microsoft. На данное время существует 4 версии языка «си Шарп».

Название «Си Шарп» (от англ. sharp - диез) происходит от музыкальной нотации, где знак диез, прибавляемый к основному обозначению ноты, означает повышение соответствующего этой ноте звука на полутон. Это аналогично названию языка С++, где «++» обозначает, что переменная должна быть увеличена на 1.

К числу принципиально важных решений, которые реализованы корпорацией Microsoft в языке программирования C#, можно отнести следующие: - компонентно-ориентированный подход к программированию (который характерен и для идеологии Microsoft .NET в целом); - свойства как средство инкапсуляции данных (характерно также в целом для ООП); - обработка событий (имеются расширения, в том числе в части обработки исключений, в частности, оператор try); - унифицированная система типизации (соответствует идеологии Microsoft .NET в целом); - делегаты (delegate - развитие указателя на функцию в языках C и C++); - индексаторы (indexer - операторы индекса для обращения к элементам класса- контейнера); - перегруженные операторы (развитие ООП); - оператор foreach (обработка всех элементов классов-коллекций, аналог Visual Basic); - механизмы boxing и unboxing для преобразования типов; - атрибуты (средство оперирования метаданными в COM-модели); - прямоугольные массивы (набор элементов с доступом по номеру индекса и одинаковым количеством столбцов и строк).

Достоинства си-шарпа по книге Биллига:

C# создавался параллельно с каркасом Framework .Net и в полной мере учитывает все его возможности - как FCL, так и CLR;

C# является полностью объектно-ориентированным языком, где даже типы, встроенные в язык, представлены классами;

C# является мощным объектным языком с возможностями наследования и универсализации;

C# является наследником языков C/C++, сохраняя лучшие черты этих популярных языков программирования. Общий с этими языками синтаксис, знакомые операторы языка облегчают переход программистов от С++ к C#;

Сохранив основные черты своего великого родителя, язык стал проще и надежнее. Простота и надежность, главным образом, связаны с тем, что на C# хотя и допускаются, но не поощряются такие опасные свойства С++ как указатели, адресация, разыменование, адресная арифметика;

Благодаря каркасу Framework .Net, ставшему надстройкой над операционной системой, программисты C# получают те же преимущества работы с виртуальной машиной, что и программисты Java. Эффективность кода даже повышается, поскольку исполнительная среда CLR представляет собой компилятор промежуточного языка, в то время как виртуальная Java-машина является интерпретатором байт-кода;

Мощная библиотека каркаса поддерживает удобство построения различных типов приложений на C#, позволяя легко строить Web-службы, другие виды компонентов, достаточно просто сохранять и получать информацию из базы данных и других хранилищ данных;

Реализация, сочетающая построение надежного и эффективного кода, является немаловажным фактором, способствующим успеху C#.

Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.

4.2 Программная декомпозиция системы

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

При выполнении данного проекта модульность была достигнута с помощью методов:

Random - имеет конструктор класса: для того, чтобы вызывать методы класса, нужно вначале создавать экземпляр (объект) класса. Созданный объект обеспечивает получение псевдослучайных чисел.

Math - содержит стандартные математические функции, без которых трудно обойтись при построении многих выражений.

4.3 Тестирование системы

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

воспроизведение дефекта (любым из доступных способов);

анализ дефекта (поиск причины возникновения дефекта);

дизайн исправления дефекта;

кодирование исправления дефекта;

валидация исправления;

интеграция исправления в кодовую базу или целевую систему;

дополнительные валидации после интеграции.

На любом этапе отладки могут возникнуть новые дефекты, которые придётся отлаживать. Например, какая-то часть исправления в коде работает не так как ожидается и соответственно придётся отлаживать эту часть в изоляции и снова основное время уходит на пункты 1 и 2 и т.д. Этап отладки можно считать законченным, если программа правильно работает на двух-трех наборах входных данных. Некоторые методы отладки ПО используемые на данный момент в индустрии:

запуск программы из-под отладчика;

анализ поведения системы;

анализ кода без исполнения программы;

выполнения программы (или её части) в другой среде;

отладка трансляцией кода.

Во время выполнения отладки, были использованы следующие методы:

unit тестирование;

анализ кода без исполнения программы;

запуск программы из-под отладчика.

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

Описание операций отладки в Visual Studio 2015

F5 -- запустить программу с возможностью отладки. Или продолжить выполнение программы, после точки останова.

Ctrl+F5 -- запустить программу без отладки

F9 -- поставить/убрать точку останова -- breakpoint

Ctrl+Shift+F9 -- удалить все точки останова.

F10 -- выполнить код, без захода внутрь; F11 -- выполнить код, с заходом

5. Документация

5.1 Руководство пользователя

Перед началом работы с продуктом прочтите данную инструкцию до конца.

В данном руководстве описаны инструкции по пользованию игрой «Сапёр». Игра имеет возрастную категорию 6+.

Перед началом использования убедитесь, что ваша система удовлетворяет минимальным требованиям продукта:

Процессор Celeron-1.0Hz.

оперативная память объемом, 128 Мбайт.

HDD, 1 Гбайт.

операционную систему Windows ХР/Vista/7/8/10.

Свободное место не менее 60 Мб.

Мышь.

Монитор.

.NET Framework не ниже 4-ого.

Запуск:

Имея продукт на своем компьютере запустите файл miner.exe.

Использование:

После запуска программы воспользуйтесь мышью для выбора уровня сложности или самостоятельной настойки поля.

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

По завершению игры откроется окно записи результата, в котором отобразится ваш результат и время, в специальном поле вам с помощью клавиатуры нужно ввести своё имя, или отказаться от этой процедуры нажав красный крестик в правом верхнем углу программы

Заключение

В результате выполнения курсового проекта была разработана познавательно-развлекательная игра «Сапёр».

Был обоснован выбор языка программирования и приведены его достоинства.

С помощью различного рода диаграмм был описан принцип работы данного программного продукта.

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

С помощью проведения тестов были выявлены достоинства и недостатки программного кода.

Библиографический список

1. Фаронов, В.В. Программирование в С#: учеб. пособие / В.В. Фаронов. - 7-е изд., перераб. - М.: Нолидж, 2006. - 412с. . Ставровский, А.Б. Delphi в задачах и примерах: учеб. для вузов / А.Б.

2. Ставровский. - Киев: BНV, 2004. - 399с. http://www.proklondike.com/books/thalg/porublev_stavrovskiy_algorithms_programms.html.

3. Кнут, Д.Э. Искусство программирования: учеб. пособие: в пер. с англ. Т.1: Основные алгоритмы. - 3-е изд. - М. и др.: Вильямс, 2000. - 720 с. http://publ.lib.ru/ARCHIVES/K/KNUT_Donal'd_Ervin/_Knut_D.E..html .

4. Гловацкая, А.П. Методы и алгоритмы вычислительной математики: учеб. пособие для вузов / А.П. Головыцкая. - М.: Радио и связь, 1999. - 408с. http://eknigi.org/estestvennye_nauki/164822-metody-i-algoritmy-vychislitelnoj-matematiki.html.

5. Бежанова, М.М. Практическое программирование: структуры данных и алгоритмы: учеб. для вузов / М.М. Бежанова, Л.А. Москвина, И.В. Поттосин. - М.: Логос, 2001. - 223с http://computersbooks.net/index.php?id1index.php ?id1=4&category=language-programmer&author=beganova-mm&book=2001.

6. Программирование с использованием Microsoft Windows Forms . Чарльз Петцольд http://www.ozon.ru/context/detail/id/2790516/.

7. Павловская Т. А. C#. Программирование на языке высокого уровня: Учебник для вузов. - СПб.: БХВ-Петербург. 2007 http://hardfire.ru /book/Pavlovskaya_programming_on_c_sharp.

8. Голицина О. Л., Попов И. И. Основы алгоритмизации и программирования: Учебное пособие. - М.: ФОРУМ: ИНФРА-М, 2005 http://www.ereading.club/djvureader.php/135638/Golicyna,_Popov_Osnovy_algoritmizacii_i_programmirovaniya.html.

9. Фаронов В. В., Создание приложений с помощью C#: Руководство программиста. - М.: Эксмо, 2008 http://publ.lib.ru/ARCHIVES /F/FARONOV _Valeriy_Vasil'evich/_Faronov_V.V..html.

Размещено на Allbest.ru

...

Подобные документы

  • Обоснование выбора среды программирования и технических средств. Определение требований к компонентам системы. Описания объекта автоматизации. Написание инструкции по эксплуатации для пользователя. Разработка программных компонентов. Выбор методики СУБД.

    курсовая работа [1,3 M], добавлен 27.10.2012

  • Разработка программы "Сапер", удовлетворяющей необходимым требованиям эффективности в интегрированной среде программирования Microsoft Visual C++. Специфика создания Windows-приложений. Применение логической игры для развития интереса к обучению у детей.

    курсовая работа [511,1 K], добавлен 01.06.2013

  • Разработка системы управления базой данных "Структура ВУЗа". Требования к программе: функциональным характеристикам, надежности, эксплуатации, составу и параметрам технических средств. Требования к программной документации. Порядок контроля и приемки.

    курсовая работа [982,7 K], добавлен 08.06.2015

  • Общие сведения об электронных учебниках, структура и функции. Обзор методов решения поставленной задачи и обоснование их выбора. Требования к информационной и программной совместимости, составу и параметрам технических средств. Характеристика программы.

    курсовая работа [3,0 M], добавлен 20.09.2014

  • Обоснование выбора программно-технических средств. Надежность программы и состав технических средств. Разработка структурной схемы программы, алгоритмического и программного интерфейса. Технология разработки интерфейса пользователя и программных модулей.

    дипломная работа [3,2 M], добавлен 22.01.2013

  • Главные составные части среды программирования. Требование к надежности, к составу и параметрам технических средств. Табличные базы данных. Выбор и обоснование выбора системы управления базами данных. Высокопроизводительный компилятор в машинный код.

    курсовая работа [793,5 K], добавлен 31.01.2016

  • Анализ деятельности кадровой службы, обоснование выбора средств автоматизации ее работы, классификация используемых информационных методов. Разработка технических требований и архитектуры серверной части. Основные этапы реализации программных модулей.

    дипломная работа [1,9 M], добавлен 19.01.2017

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

    реферат [403,8 K], добавлен 02.02.2014

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

    курсовая работа [1,3 M], добавлен 02.02.2014

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

  • Характеристика задачи АВ01, ее выходная и входная информация, выбор и обоснование состава технических средств и средств программной реализации. Разработка алгоритма и программы решения задачи АВ01, руководства пользователя и контрольный пример решения.

    курсовая работа [2,1 M], добавлен 21.12.2011

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

    дипломная работа [3,7 M], добавлен 19.01.2017

  • Обзор существующих систем атоматизированного поиска. Мир электронных денег. Разработка структуры системы автоматизированного поиска отделений и терминалов банков. Обоснование выбора технологии разработки, программной среды и языка программирования.

    курсовая работа [1,2 M], добавлен 17.01.2011

  • Разработка приложения на WinAPI с реализацией логической структуры в игре "Сапер". Реализация графической части приложения. Проверка на корректность поведения интерфейса программы, работы логической части игры, корректности записи и чтения файла.

    курсовая работа [1,1 M], добавлен 17.10.2012

  • Выбор языка и среды программирования, его обоснование. Методика и этапы реализации заданной игрой программными средствами. Принципы разработки пояснительной записки для описания функциональных возможностей разработанного программного приложения.

    курсовая работа [354,8 K], добавлен 02.03.2014

  • Расчет трансформатора питания. Численное решение нелинейных уравнений с заданной точностью и дифференциальных уравнений первого порядка. Разработка программы с использованием средств визуального программирования на алгоритмическом языке программирования.

    курсовая работа [1,2 M], добавлен 17.08.2013

  • Разработка программы, позволяющей приобрести навыки быстрой печати на клавиатуре. Обзор существующих аналогов. Обоснование технических приемов программирования. Тестирование, анализ полученных результатов. Руководство пользователя, листинг программы.

    курсовая работа [1,3 M], добавлен 03.04.2015

  • Требования к функциональным характеристикам программы, составу и параметрам технических средств, программной совместимости. Особенности программирования в среде Access. Описание интерфейса программы, ввод и редактирование данных, добавление новых книг.

    курсовая работа [1,5 M], добавлен 17.11.2010

  • Технические характеристики игрового приложения для операционной системы Microsoft Windows. Обоснование выбора состава технических и программных средств. Характеристика процесса разработки программы "Угадайка", ее спецификация, описание и тестирование.

    курсовая работа [422,4 K], добавлен 10.06.2011

  • Разработка эскизного и технического проектов компьютерной игры "Скачки". Назначение и область применения программы. Выбор состава технических и программных средств. Составление текста программы, ее спецификация, тестирование и условия выполнения.

    курсовая работа [681,4 K], добавлен 18.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.