Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач.docx
Скачиваний:
119
Добавлен:
18.03.2016
Размер:
252.18 Кб
Скачать

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

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

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

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

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

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

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

Рисунок 8

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

Рисунок 9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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