⭐ Практическое задание
Цель работы
Закрепить практические навыки, полученные в рамках 1 семестра, создав простейший проект.
Постановка задачи
- Зарегистрироваться на одном из популярных Git-хостингов(GitHub, GitLab, BitBucket)
- Создать Git-репозиторий проекта.
- Разработать простейший проект с использованием Java. Работать с репозиторием в процессе.
- Исходный код разработанного проекта поместить в созданный репозиторий.
Вариант задания берите любой на ваш выбор.
Критерии оценивания
На защите реализация соответствующего задания проверяется в соответствии с критериями, перечисленными ниже. Ваш проект может набрать максимум 12 баллов из 12.
- Соблюдение функциональных требований (4 балла)
- Требования не соблюдены - 0 баллов
- Требования соблюдены менее чем на половину - 1 балл
- Требования соблюдены наполовину - 2 балла
- Требования почти соблюдены - 3 балла
- Требования соблюдены полностью, или даже сделано больше, чем требовалось - 4 балла.
- Соблюдение нефункциональных требований (производительность, удобство, эффективность и т.д.) (3 балла)
- Программа не запускается, не работает или в процессе программы появляются незапланированные ошибки - 0 баллов
- Программа работает без ошибок - 1 балл
- Программа работает без ошибок и нет проблем с производительностью - 2 балла
- Программа работает без ошибок, быстро и является удобной для пользователя - 3 балла
- Соответствие кода общепринятым стилям кодирования (стайлгайду) (2 балла)
- Программа написано криво, переменные названы транслитом, нет отступов - 0 баллов
- Программа отформатирована, соблюдается стандарт кодирования - 1 балл
- Программа написана с соблюдением стандартов, используется одна из архитектур - 2 балла.
- Качество и количество коммитов (3 балла)
- Программа отправлена в репозиторий одним коммитом - 0 баллов
- Разработчик использует несколько коммитов - 1 балл
- Разработчик коммитит часто и по делу, дает им осмысленные имена - 2 балла
- Разработчик использует ветки, коммитит аккуратно - 3 балла
Варианты задания
1. Калькулятор
Реализовать простейший калькулятор, который дает возможность пользователю складывать, умножать, вычитать, делить числа, находить их квадратный корень.
КАК пользователь
КОГДА я ввожу два числа
ТОГДА я увижу сумму двух чисел
КАК пользователь
КОГДА я ввожу два числа
ТОГДА я могу увидеть разность двух чисел
КАК пользователь
КОГДА я ввожу два числа
ТОГДА я увижу произведение двух чисел
КАК пользователь
КОГДА я ввожу два числа
И первое число является числителем
И второе является знаменателем и не равно нулю
ТОГДА я увижу частное двух чисел
КАК пользователь
КОГДА я ввожу два числа
И первое число является числителем
И второе является знаменателем и равно нулю
ТОГДА я должен увидеть ошибку
2. Генератор паролей
Создайте генератор случайных паролей для своих друзей и семьи, чтобы обезопасить их учётные записи!
Реализовать простейший генератор паролей, который дает возможность пользователю получить пароль, удовлетворяющий его требованиям.
КАК пользователь
КОГДА я открываю программу
И указываю количество обычных символов
ТОГДА я вижу сгенерированный пароль
И этот пароль содержит выбранное количество обычных символов
КАК пользователь
КОГДА я открываю программу
И указываю количество специальных символов
ТОГДА я вижу сгенерированный пароль
И этот пароль содержит выбранное количество специальных символов
КАК пользователь
КОГДА я открываю программу
И указываю количество букв в верхнем регистре
ТОГДА я вижу сгенерированный пароль
И этот пароль содержит выбранное количество букв в верхнем регистре
КАК пользователь
КОГДА я открываю программу
И указываю различные критерии(разное число обычных, специальных, в верхнем регистре символов и цифр)
ТОГДА я вижу сгенерированный пароль
И этот пароль должен удовлетворять всем требованиям
3. Игра-викторина
Приложения-викторины задают пользователям серию вопросов и дают им возможность ответить. Затем викторина даёт пользователю результаты. Реализовать программу-викторину на любую интересную вам тему. Да, можно про Наруто. Да, можно не про аниме. На любую тему :3
КАК пользователь
КОГДА я открываю программу
ТОГДА программа предлагает мне сыграть в игру (с) и ответить на 10 вопросов
КАК пользователь
КОГДА я не соглашаюсь сыграть в игру
ТОГДА программа благодарит за участие и завершается
КАК пользователь
КОГДА я соглашаюсь сыграть в игру
ТОГДА программа задает мне вопрос и дает возможность ответить
КАК пользователь
КОГДА я даю ответ на вопрос
ТОГДА программа задает мне следующий вопрос
КАК пользователь
КОГДА я даю ответ на последний (десятый) вопрос
ТОГДА программа показывает результаты(сколько очков заработано
И программа предлагает сыграть снова
4. Игра "Угадай число"
В данном мини-проекте вам необходимо реализовать игру, в которой компьютер пытается угадать целое число от 1 до 1000. Пользователь загадывает число, а программа задает ему вопросы из разряда Да или Нет в попытках угадать число. Если программа угадает число, она спрашивает у пользователя, это ли число она угадала. Если да - то урааа! Если нет - программа показывает грустный смайлик и предлагает новую игру. Предполагается, что пользователь играет и отвечает на вопросы честно, а не как всегда.
КАК пользователь
КОГДА я открываю программу
ТОГДА программа предлагает мне сыграть в игру (с)
КАК пользователь
КОГДА я не соглашаюсь сыграть в игру
ТОГДА программа благодарит за участие и завершается
КАК пользователь
КОГДА я соглашаюсь сыграть в игру
ТОГДА программа предлагает мне загадать число от 1 до 1000
И после этого начинает задавать вопросы из-разряда Да/Нет
КАК пользователь
КОГДА я даю ответ на вопрос Да
ТОГДА программа задает мне следующий вопрос
КАК пользователь
КОГДА я даю ответ на вопрос Нет
ТОГДА программа задает мне следующий вопрос
КАК пользователь
КОГДА я даю ответ на вопрос, который не является Да или Нет
ТОГДА программа просит ввести ответ снова, так как у нее лапки
КАК пользователь
КОГДА я даю ответ на вопрос
И программа предполагает что угадала число
ТОГДА программа спрашивает - такое ли число было загадано
И предлагает дать ответ на вопрос Да или Нет
КАК пользователь
КОГДА я даю ответ на вопрос
И программа угадала число
ТОГДА программа показывает результаты - как быстро она угадала, сколько шагов и какое число было загадано
И программа предлагает сыграть снова
КАК пользователь
КОГДА я даю ответ на вопрос
И программа не число
ТОГДА программа показывает грустный смайлик
И программа предлагает сыграть снова
5. Программа-шифровщик
В данном мини-проекте вам необходимо реализовать программу, которая позволяет как шифровать сообщение, так и дешифровать сообщение. Предполагается, что обладая знанием ключа/ключей, вы можете зашифровать сообщение, а ваш друг - расшифровать, и наооборот.
КАК пользователь
КОГДА я открываю программу
ТОГДА программа предлагает либо зашифровать текст, либо дешифровать текст
КАК пользователь
КОГДА я ввожу текст для шифрования
И я ввожу ключ для шифрования
ТОГДА программа показывает зашифрованный текст
КАК пользователь
КОГДА я ввожу текст для дешифрования
И я ввожу ключ для дешифрования
ТОГДА программа показывает расшифрованный текст