Вы находитесь на странице: 1из 21

Введение

Данная программа называется "Шахматы".


Созданные более 1500 лет назад, шахматы являются одной из старейших и
популярнейших игр. Это игра, правила которой выучить очень легко, но
на то, чтобы достичь в ней мастерства, уходят годы.
В шахматы играют двое на доске из 64 квадратов (клеток). Изначально у
каждого игрока есть 16 фигур одного цвета. Традиционно у одного из
игроков фигуры белые, а у другого – черного. Шахматы являются
походовой многопользовательской игрой. Белые делают первый ход.
Затем ходят черные. Игроки обмениваются ходами до тех пор, пока не
будет достигнут конец игры.
За один ход игрок может передвинуть только одну фигуру. Хотя игроки
начинают с 16 фигурами, существует только 6 видов фигур. Это – Ладья,
Слон, Ферзь, Конь, Пешка, Король. К каждому из видов фигур
применяются уникальные правила. Они определяют способ, которым
фигура может ходить, условия, при которых она может захватить другую
фигуру, и многие другие свойства.
При достижении конца игра прекращается. Конец объявляется в следующих
случаях и при соблюдении соответствующих условий:
1. Мат. Мат объявляется, когда королю поставлен шах и нет ходов, которые
спасли бы его от шаха.
2. Пат. Пат случается, когда у игрока не осталось дозволенных ходов, но шах
ему при этом не поставлен.
3. Ничья. Ничья может произойти в трех разных случаях. Если на доске
остаются только две фигуры – два короля, то объявляется ничья. Если одно и
то же игровое положение возникает три раза, то происходит ничья (игровое
положение – это расположение фигур на доске). И если в течении 50 ходов
ни одна пешка не перемещалась и ни одна из фигур не была захвачена, то
игра также считается законченной вничью.
Техническое задание

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

Основанием для разработки является задание по дисциплине «Технология


разработки программных продуктов». Тема курсовой работы «Программа игры
в шахматы».

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

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


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

3. Требование к программе
Windows
– Intel Pentium II 450MHz
– Оперативная память 128 MB
– Видеокарта 128 MB
– Microsoft Windows 2000 или выше
– Клавиатура, мышь

Macintosh
– PowerPC G3 500MHz или Intel Core Duo 1.33GHz, или выше.
– Оперативная память 128 MB
– Видеокарта 128 MB
– Mac OS X v10.4 или выше
– Клавиатура, мышь

Linux
– Любой процессор с 800 MHz или выше
– Оперативная память 512 MB
– Видеокарта 128 MB
– Клавиатура, мышь
Описание программы

Общие сведения

Симулятор игры в шахматы - «Шахматы».


Для своей программы я использую язык программирования Flash.

Функциональное назначение

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


двумя игроками.

Описание логической структуры программы

Программа получает от первого пользователя какая фигура и куда


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

Используемые технические средства

Windows
– Intel Pentium II 450MHz
– Оперативная память 128 MB
– Видеокарта 128 MB
– Microsoft Windows 2000 или выше
– Клавиатура, мышь

Macintosh
– PowerPC G3 500MHz или Intel Core Duo 1.33GHz, или выше.
– Оперативная память 128 MB
– Видеокарта 128 MB
– Mac OS X v10.4 или выше
– Клавиатура, мышь

Linux
– Любой процессор с 800 MHz или выше
– Оперативная память 512 MB
– Видеокарта 128 MB
– Клавиатура, мышь
А так же интернет обозреватели: MS Internet Explorer версии 6.0 или выше
(только для MS Windows), Firefox 2 (или выше), Opera 9.5(или выше), Safari 3
(или выше) или другие. С установленным плагином Adobe Flash Player.

Вызов и загрузка

Данная программа запускается через любой выше перечисленные интернет


обозреватели с предустановленным Adobe Flash Player. Для этого в интернет
обозревателе нужно нажать Файл->Открыть файл. Далее указать путь к данной
программе.

Входные данные

Входными данными являются ходы на шахматной доске сделанные игроками с


помощью мышки.

Выходные данные

Выходные данные выводятся программой на дисплей монитора. Выходными


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

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

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


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

Условие выполнения программы

Для правильной и эффективной работы программы необходимы следующие


программное обеспечение и аппаратные средства:

Windows
– Intel Pentium II 450MHz
– Оперативная память 128 MB
– Видеокарта 128 MB
– Microsoft Windows 2000 или выше
– Клавиатура, мышь

Macintosh
– PowerPC G3 500MHz или Intel Core Duo 1.33GHz, или выше.
– Оперативная память 128 MB
– Видеокарта 128 MB
– Mac OS X v10.4 или выше
– Клавиатура, мышь

Linux
– Любой процессор с 800 MHz или выше
– Оперативная память 512 MB
– Видеокарта 128 MB
– Клавиатура, мышь

А так же интернет обозреватели: MS Internet Explorer версии 6.0 или выше


(только для MS Windows), Firefox 2 (или выше), Opera 9.5(или выше), Safari 3
(или выше) или другие. С установленным плагином Adobe Flash Player.

Выполнение программы

Данная программа запускается через любой выше перечисленные интернет


обозреватели с предустановленным Adobe Flash Player. Для этого в интернет
обозревателе нужно нажать Файл->Открыть файл. Далее указать путь к данной
программе.
В окне мы нажимаем на кнопку Новая игра. Появится всплывающие окно, в
котором находятся опции игры, которую мы собираемся начать. В этом окне вам
нужно будет назначить своей игре имя.
Мы переходим на новый игровой экран, где мы видим игровую доску и новое
всплывающие сообщение, указывающие на то, что другой игрок еще не
подсоединился.
В это время на экране другого игрока (второго) появляется значок игры. Он
показывает название игры. Щелкнув по этому значку, появится всплывающие
окно предлагающие нам присоединиться к игре. Вступив в игру, мы
автоматически становимся противником Первого Игрока.
Как только Второй Игрок подключиться к игре. В окне Первого Игрока
появится сообщение, сигнализирующие о том, что присоединился оппонент.
Первому игроку будет предложено щелкнуть по кнопке Начать, а Второму
Игроку в это время будет продемонстрировано сообщение о том, что игра
начнется, когда Игрок 1 запустит ее.
В окне Игрока 1 мы запустим игру. Всплывающие окна пропадут с экранов
обоих игроков. Право первого хода принадлежит Игроку 1, так как он создал
игру.
Чтобы сделать ход, просто щелкнем мышкой по фигуре и перетащим ее в
клетку назначения. Если ход корректен, фигура переместиться на эту клетку.
Передвинув фигуру в окне Игрока 1, мы в окне Игрока 2 увидим, как эта фигура
перемещается из стартовой клетки в конечную. Далее ход может сделать Игрок
2.
Когда ход сделан, он пересылается противнику, чтобы его можно было
отобразить.

Сообщение оператору

При появлении каких – либо ошибок и неполадок в программе необходимо


попробовать способы которые описаны ниже. Если из перечисленных способов
нет подходящего для вас, тогда необходимо обратиться за помощью к
программисту.
1. Программа не запускается. Проверьте на совместимость программы с
вашей операционной системой и технические характеристики вашего
компьютера. Какой версии у вас стоит интернет обозреватель, поставлен
ли плагин Adobe Flash Player.
2. Программа повисла. Просто закройте интернет обозреватель.
Руководство программиста

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

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


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

Условие выполнения программы

Для правильной и эффективной работы программы необходимы следующие


программное обеспечение и аппаратные средства:

Windows
– Intel Pentium II 450MHz
– Оперативная память 128 MB
– Видеокарта 128 MB
– Microsoft Windows 2000 или выше
– Клавиатура, мышь

Macintosh
– PowerPC G3 500MHz или Intel Core Duo 1.33GHz, или выше.
– Оперативная память 128 MB
– Видеокарта 128 MB
– Mac OS X v10.4 или выше
– Клавиатура, мышь

Linux
– Любой процессор с 800 MHz или выше
– Оперативная память 512 MB
– Видеокарта 128 MB
– Клавиатура, мышь

А так же интернет обозреватели: MS Internet Explorer версии 6.0 или выше


(только для MS Windows), Firefox 2 (или выше), Opera 9.5(или выше), Safari 3
(или выше) или другие. С установленным плагином Adobe Flash Player.

Обращение к программе

Данная программа запускается через любой выше перечисленные интернет


обозреватели с предустановленным Adobe Flash Player. Для этого в интернет
обозревателе нужно нажать Файл->Открыть файл. Далее указать путь к данной
программе.
Входные данные

Входными данными являются ходы на шахматной доске сделанные игроками с


помощью мышки.

Выходные данные

Выходные данные выводятся программой на дисплей монитора. Выходными


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

Сообщение оператору

При появлении каких – либо ошибок и неполадок в программе необходимо


попробовать способы которые описаны ниже. Если из перечисленных способов
нет подходящего для вас, тогда необходимо обратиться за помощью к
программисту.
1. Программа не запускается. Проверьте на совместимость программы с
вашей операционной системой и технические характеристики вашего
компьютера. Какой версии у вас стоит интернет обозреватель, поставлен
ли плагин Adobe Flash Player.
2. Программа повисла. Просто закройте интернет обозреватель.
Руководство системного программиста

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

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


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

Условие выполнения программы

Для правильной и эффективной работы программы необходимы следующие


программное обеспечение и аппаратные средства:

Windows
– Intel Pentium II 450MHz
– Оперативная память 128 MB
– Видеокарта 128 MB
– Microsoft Windows 2000 или выше
– Клавиатура, мышь

Macintosh
– PowerPC G3 500MHz или Intel Core Duo 1.33GHz, или выше.
– Оперативная память 128 MB
– Видеокарта 128 MB
– Mac OS X v10.4 или выше
– Клавиатура, мышь

Linux
– Любой процессор с 800 MHz или выше
– Оперативная память 512 MB
– Видеокарта 128 MB
– Клавиатура, мышь

А так же интернет обозреватели: MS Internet Explorer версии 6.0 или выше


(только для MS Windows), Firefox 2 (или выше), Opera 9.5(или выше), Safari 3
(или выше) или другие. С установленным плагином Adobe Flash Player.

Обращение к программе

Данная программа запускается через любой выше перечисленные интернет


обозреватели с предустановленным Adobe Flash Player. Для этого в интернет
обозревателе нужно нажать Файл->Открыть файл. Далее указать путь к данной
программе.
Настройки программы

Для работы программы требуется установленный один из выше перечисленных


интернет обозреватель. С установленным плагином Adobe Flash Player, который
можно найти на сайте adobe.com. Так же запустить данную программу можно
через специальные флеш проигрыватели.

Проверка программы

При проверке программы, она не должна являться причиной критических


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

Сообщение оператору

При появлении каких – либо ошибок и неполадок в программе необходимо


попробовать способы которые описаны ниже. Если из перечисленных способов
нет подходящего для вас, тогда необходимо обратиться за помощью к
программисту.
1. Программа не запускается. Проверьте на совместимость программы с
вашей операционной системой и технические характеристики вашего
компьютера. Какой версии у вас стоит интернет обозреватель, поставлен
ли плагин Adobe Flash Player.
2. Программа повисла. Просто закройте интернет обозреватель.
ОПИСАНИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ

Языки программирования

Выбор языка программирования ещё более важная задача, чем выбор


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

Выбор языка программирования

Я выбираю Flash. Так как эта среда предоставляет разнообразные возможности.


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

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

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


программного продукта «Шахматы»:
● Кроссплатформенность. Буквально нужно иметь только интернет
обозреватель, чтобы запустить программу.
● Если программу разместить на сайте, то доступ к ней можно иметь с
любой точки света, где есть интернет. Доступ получаешь к программе не
загружая ее на компьютер.
Архитектура программного обеспечения

Архитектура – базовая организация системы, воплощенная в её компонентах,


их отношениях между собой и с окружением, а также принципы, определяющие
проектирование и развитие системы [IEEE 1471].
Архитектура – это набор значимых решений по поводу организации системы
программного обеспечения, набор структурных элементов и их интерфейсов,
при помощи которых компонуется система, вместе с их поведением,
определяемым во взаимодействии между этими элементами, компоновка
элементов в постепенно укрупняющиеся подсистемы, а также стиль
архитектуры, который направляет эту.
Архитектура программы или компьютерной системы – это структура или
структуры системы, которые включают элементы программы, видимые извне
свойства этих элементов и связи между ними. Наряду с определением
структурных элементов любая архитектура определяет взаимодействия между
этими структурными элементами. Это такие взаимодействия, которые
обеспечивают желаемое поведение системы.
Стоит также отметить, что набор значимых элементов не является
статичным и может измениться с течением времени. Он может измениться при
уточнении результата требований, идентификации рисков, создании
исполняемой программы. Однако относительная стабильность архитектуры,
несмотря на изменения, в некоторой степени является признаком хорошей
архитектуры, хорошо отлаженного процесса разработки и хорошего
разработчика.
Если архитектура требует постоянного пересмотра при относительно
небольших изменениях, это плохой признак. Тем не менее, если архитектура
относительно стабильна, это утверждение справедливо. Просто для того, чтобы
получить представление о близкой задаче, рассмотрим следующие потребности
нескольких заинтересованных лиц:

• Конечный пользователь: заинтересован в интуитивно понятном и


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

Все это представляется в виде иерархической структуры:


1. Техническое задание
2. Стадия разработки
3. Реализация эксплуатации
4. Эксплуатация на ПК
5. Результат работы программы
Класс архитектуры Программных средств — коллективно параллельно
действующих программ.
Код ОКП

В соответствии с таблицей 50 "Программные средства вычислительной


техники" выбирается код ОКП 50.9 "Программные средства прочиe ".
Требование к ПО

Программа является надежной и способна противостоять сбоям и критическим


ошибкам программы.
Большим плюсом программы является удобный и надежный интерфейс.
Система на столько практична, что любой пользователь, имеющий знания в
данной предметной области, но не когда ранее не работающий с системой, без
помощи инструкций и руководств сразу начал ею пользоваться. В интерфейсе
программы совмещены задачи понимания пользователей и задача понимания
практичности. Характеристики интерфейса:
•Прост в использовании
•Легко запоминается
•Эффективен при использовании
•Надежен при использовании
•Может быть доступен в любой точки мира
В программе максимально упрощено управление наиболее распространенными
операциями. При этом общение с пользователем ведется на понятном для него
языке. Также предоставляются ссылки, логичным образом указывающие на
более сложные процедуры. Все функции и данные, необходимые для
выполнения работы видны, чтобы пользователь не отвлекался на
дополнительную и избыточную информацию. Интерфейс является
адаптируемым, т.е. пользователь может настраивать или изменять в
соответствии со своими потребностями.
Функциональность программных средств

Любые программные средства прежде всего должны иметь экономическую,


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

Общее представление

1. Внутреннее качество проявляющиеся в процессе разработки,


модификации и других промежуточных этапах жизненного цикла
программных средств.
Мои внутренние качества программных средств:
Полный и корректный перенос правил игры в шахматы в точности как и
в настольном аналоге
2. Внешнее качество заданное требованиями заказчика в спецификациях и
отражающегося характеристиками конечного продукта.
Создание таблицы рекордов и достижений, а также возможность побить
эти рекорды.
3. Качество при использовании в процессе нормальной эксплуатации и
результативностью достижения потребности пользователей, с учетом
затрат ресурсов.
3.1. Создание и развитие простого подключения и игры игроков по
интернету или по сети.
3.2. Оптимизация сетевого кода
3.3. Разработка однопользовательской игры. В качестве оппонента будет
выступать так называемый «Компьютер» или Искусственный
Интеллект.

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

Класс поддержки жизненного цикла


Определяет требования для реализации всех этапов разработки четкой
определенной модели, включая политики и процедуры устранения недостатков
и дефектов.
Главным требованием для реализации всех этих этапов разработки является
выбор языка и среды разработки. В нашем случае является язык Flash,
единственной средой разработки которой является платный продукт от Adobe.
Так же к требованиям можно отнести принятые меры безопасности для защиты
среды разработки.

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

Чтобы доказать правильность программы, сегмента программы или оператора,


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

Теорема
Если перед съедением белой пешки черной королевой белый игрок имел на
доске 16 фигур, а черный 15 — ИСТИНА, то после выполнения этого хода
ИСТИНОЙ стало — белый 15 фигур, черный 15 фигур.

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

1. Корректность. Программа полностью соответствует своим


спецификациям.
2. Устойчивость и надежность. Программа будет работать даже при плохом
интернет-соединении, на системах ниже указанных требованиях, и в
аварийном состоянии, но пользователей использует ее в таких условиях
на свой страх и риск.
3. Возможность сопровождения и расширения. Программа легко
расширяется, но не соответствие версий в многопользовательской игре
может привести к ошибкам.
4. Возможность повторного использования и универсальность. Программа
будет состоять из модулей для повторного использования.
5. Способность к взаимодействиям. Программа постоянно взаимодействует
с веб-обозревателем и плагином Adobe Flash.
6. Эффективность. Программа будет выполнять все поставленные перед ней
задачи.
7. Переносимость. Программа может работать с любыми системами, где
имеется веб-браузер с плагином Adobe Flash.
8. Возможность верификации.
9. Безопасность. Язык Flash позволяет закрыть исходный код от чужих глаз.
10. Целостность. В программу можно будет добавлять только
усовершенствования только от главных разработчиков.
11. Дружественность. Данная программа будет проста в использовании,
особенно в режиме клиента.
12. Возможность описания. Возможность создания и поддержки
документации будет возлагаться на пользователей.
13. Ясность.
Объектно-ориентированное программирование

Преимущество объектно-ориентированного подхода — это возможность


повторного использования и расширяемость, то есть объектно-
ориентированные системы могут быть легко собраны из ранее написанных
компонентов, эти системы будут легко расширятся без какой либо
модернизации повторно использованных компонентов.
Возможность использовать одинаковые выражения для обозначения разных
операций называется полиморфизмом.
Объекты взаимодействуют только путем передачи сообщений.
Любой серьезный подход к объектно-ориентированному анализу должен быть
не зависим от языка.
Фрейм описывается как структура данных с набором атрибутов, которые могут
быть связанны с процедурой.
Атрибуты — это функции значениями которых являются объекты, а их
диапазонами классами. Задача — это конкретный экземпляр процедуры которая
достигает цели (может быть множество задач, которые достигают одной и той
же цели).
Архитектура программы или вычислительной системы — это структура
системы, которая состоит из программных компонентов, внешних и видимых
свойств этих отношений и компонентов существующих между ними.
Критерии языка программирования

1. Ясность. Синтаксис языка прост и удобен. Похож на такие


распространенные языки, как C/C++, Java и др. Что делает его еще
больше простым в изучении, если вы работали с этими языками.
2. Ортогоналность. Язык программирования не ортогональный, он состоит
множества специальных случаев, которые можно добавлять с помощью
специальных модулей.
3. Естественность для приложений. Структуры данных операции, структуры
управления и синтаксис языка программирования облегчает работу в
создании программ с параллельными алгоритмами.
4. Поддержка абстракций. Язык поддерживает определенные структуры
данных, типы данных и операции, которые изначально заданы
разработчиками языка программирования.
5. Удобство верификации программы. Надежность созданных программ на
этом языке является удовлетворительной.
6. Среда программирования. Среда программирования выпускается
компании Adobe, и является полностью преобладающей в данной области.
Есть и открытые наработки, но они находятся в разработке.
7. Переносимость программ. Переносимость программ является одним из
преимуществ данного языка. Достаточно иметь интернет-обозреватель и
плагин Adobe Flash, и данная программа запуститься на данном
компьютере.
8. Стоимость использования. Из стоимости трансляции программы.