Функциональные требования

Добавление новой партии:

Пользователь должен иметь возможность вводить данные о партии (название, игроки, последовательность ходов, время ходов, комментарий, имя победителя).

Важная реализация: Проверка корректности ввода данных (например, валидация формата ходов, наличие победителя).

Использование удобных элементов управления (текстовые поля, списки, даты, etc.).

Изменение партии:

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

Отображение существующей партии в удобном формате.

Удаление партии:

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

Поиск партии по названию:

Система должна поддерживать поиск партий по их названию.

Просмотр партий по имени игрока:

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

Отображение финального состояния партии:

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

Прокрутка партии на доске – походовой проход партии:

Система должна предоставлять возможность отображать шахматную доску и прокручивать ход за ходом.

Отображение фигур на доске должно соответствовать состоянию после каждого хода.

Важное замечание по шахматным ходам: Система должна корректно обрабатывать и отображать все корректные ходы, проверяя их валидность. Это особенно важно для правильного отображения финального состояния и последовательности ходов.

Управление данными:

Реализовать хранение данных о партиях в файлах или базу данных (SQL).

Предпочтительнее базу данных (SQL) для повышения масштабируемости и надежности хранения данных.

1. Технические требования

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

Платформа:Windows Forms

Фреймворк:.NET Framework или .NET 6 (или выше)

База данных (рекомендовано): SQL Server, PostgreSQL, SQLite. (Выбор базы данных согласуется с заказчиком)

Шахматный движок (возможный):Использовать сторонний шахматный движок для проверки валидности ходов. Встроенный алгоритм проверки валидности ходов значительно снизит сложность проекта.

2. Требования к дизайну

Простой и интуитивно понятный интерфейс пользователя.

Использование графических элементов для отображения шахматной доски и фигур.

Графическое представление хода за ходом, обеспечивающее возможность прокрутки и просмотра всей партии.

3. Архитектура приложения

Класс для представления шахматной партии.

Класс для хранения данных о партиях (например, в БД).

Класс для отображения шахматной доски.

Класс для обработки ходов.

Класс для работы с базой данных.

4. Критерии приемки

Приложение должно корректно обрабатывать все запросы пользователя.

Система должна сохранять все введённые данные о партиях корректно.

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

5. Дополнительные требования

Реализовать возможность сохранения партий в формате PGN.

Реализовать возможность импорта партий из формата PGN.

Реализовать поиск по комментариям.

Реализовать систему сортировки партий.

6. Ожидаемый результат

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

Определить выбор базы данных (SQL Server, PostgreSQL или SQLite).

Подробно разработать UML диаграммы классов и другие архитектурные документы.

Подробно определить шаги реализации функционала.

3 месяца назад
JRPikhtovnikov
Никита 
23 года
3 года в сервисе
Был
месяц назад

Заявки фрилансеров

Андрей
 
64 года
4 месяца в сервисе
Был
3 месяца назад
3 месяца назад
Адиль
 
25 лет
3 месяца в сервисе
Был
7 часов назад
3 месяца назад