Перейти к содержанию

⭐ Практическое задание

Цель работы

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

Постановка задачи

  1. Зарегистрироваться на одном из популярных Git-хостингов(GitHub, GitLab, BitBucket)
  2. Создать Git-репозиторий проекта.
  3. Разработать простейший проект с использованием Java. Работать с репозиторием в процессе.
  4. Исходный код разработанного проекта поместить в созданный репозиторий.

Вариант задания берите любой на ваш выбор.

Критерии оценивания

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

  1. Соблюдение функциональных требований (4 балла)
    • Требования не соблюдены - 0 баллов
    • Требования соблюдены менее чем на половину - 1 балл
    • Требования соблюдены наполовину - 2 балла
    • Требования почти соблюдены - 3 балла
    • Требования соблюдены полностью, или даже сделано больше, чем требовалось - 4 балла.
  2. Соблюдение нефункциональных требований (производительность, удобство, эффективность и т.д.) (3 балла)
    • Программа не запускается, не работает или в процессе программы появляются незапланированные ошибки - 0 баллов
    • Программа работает без ошибок - 1 балл
    • Программа работает без ошибок и нет проблем с производительностью - 2 балла
    • Программа работает без ошибок, быстро и является удобной для пользователя - 3 балла
  3. Соответствие кода общепринятым стилям кодирования (стайлгайду) (2 балла)
    • Программа написано криво, переменные названы транслитом, нет отступов - 0 баллов
    • Программа отформатирована, соблюдается стандарт кодирования - 1 балл
    • Программа написана с соблюдением стандартов, используется одна из архитектур - 2 балла.
  4. Качество и количество коммитов (3 балла)
    • Программа отправлена в репозиторий одним коммитом - 0 баллов
    • Разработчик использует несколько коммитов - 1 балл
    • Разработчик коммитит часто и по делу, дает им осмысленные имена - 2 балла
    • Разработчик использует ветки, коммитит аккуратно - 3 балла

Варианты задания

1. Калькулятор

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

КАК пользователь
КОГДА я ввожу два числа
ТОГДА я увижу сумму двух чисел

КАК пользователь
КОГДА я ввожу два числа
ТОГДА я могу увидеть разность двух чисел

КАК пользователь
КОГДА я ввожу два числа
ТОГДА я увижу произведение двух чисел

КАК пользователь
КОГДА я ввожу два числа
И первое число является числителем
И второе является знаменателем и не равно нулю
ТОГДА я увижу частное двух чисел

КАК пользователь
КОГДА я ввожу два числа
И первое число является числителем
И второе является знаменателем и равно нулю
ТОГДА я должен увидеть ошибку


2. Генератор паролей

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

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

КАК пользователь
КОГДА я открываю программу
И указываю количество обычных символов
ТОГДА я вижу сгенерированный пароль
И этот пароль содержит выбранное количество обычных символов

КАК пользователь
КОГДА я открываю программу
И указываю количество специальных символов
ТОГДА я вижу сгенерированный пароль
И этот пароль содержит выбранное количество специальных символов

КАК пользователь
КОГДА я открываю программу
И указываю количество букв в верхнем регистре
ТОГДА я вижу сгенерированный пароль
И этот пароль содержит выбранное количество букв в верхнем регистре

КАК пользователь
КОГДА я открываю программу
И указываю различные критерии(разное число обычных, специальных, в верхнем регистре символов и цифр)
ТОГДА я вижу сгенерированный пароль
И этот пароль должен удовлетворять всем требованиям


3. Игра-викторина

Приложения-викторины задают пользователям серию вопросов и дают им возможность ответить. Затем викторина даёт пользователю результаты. Реализовать программу-викторину на любую интересную вам тему. Да, можно про Наруто. Да, можно не про аниме. На любую тему :3

КАК пользователь
КОГДА я открываю программу
ТОГДА программа предлагает мне сыграть в игру (с) и ответить на 10 вопросов

КАК пользователь
КОГДА я не соглашаюсь сыграть в игру
ТОГДА программа благодарит за участие и завершается

КАК пользователь
КОГДА я соглашаюсь сыграть в игру
ТОГДА программа задает мне вопрос и дает возможность ответить

КАК пользователь
КОГДА я даю ответ на вопрос
ТОГДА программа задает мне следующий вопрос

КАК пользователь
КОГДА я даю ответ на последний (десятый) вопрос
ТОГДА программа показывает результаты(сколько очков заработано
И программа предлагает сыграть снова


4. Игра "Угадай число"

В данном мини-проекте вам необходимо реализовать игру, в которой компьютер пытается угадать целое число от 1 до 1000. Пользователь загадывает число, а программа задает ему вопросы из разряда Да или Нет в попытках угадать число. Если программа угадает число, она спрашивает у пользователя, это ли число она угадала. Если да - то урааа! Если нет - программа показывает грустный смайлик и предлагает новую игру. Предполагается, что пользователь играет и отвечает на вопросы честно, а не как всегда.

КАК пользователь
КОГДА я открываю программу
ТОГДА программа предлагает мне сыграть в игру (с)

КАК пользователь
КОГДА я не соглашаюсь сыграть в игру
ТОГДА программа благодарит за участие и завершается

КАК пользователь
КОГДА я соглашаюсь сыграть в игру
ТОГДА программа предлагает мне загадать число от 1 до 1000
И после этого начинает задавать вопросы из-разряда Да/Нет

КАК пользователь
КОГДА я даю ответ на вопрос Да
ТОГДА программа задает мне следующий вопрос

КАК пользователь
КОГДА я даю ответ на вопрос Нет
ТОГДА программа задает мне следующий вопрос

КАК пользователь
КОГДА я даю ответ на вопрос, который не является Да или Нет
ТОГДА программа просит ввести ответ снова, так как у нее лапки

КАК пользователь
КОГДА я даю ответ на вопрос
И программа предполагает что угадала число
ТОГДА программа спрашивает - такое ли число было загадано
И предлагает дать ответ на вопрос Да или Нет

КАК пользователь
КОГДА я даю ответ на вопрос
И программа угадала число
ТОГДА программа показывает результаты - как быстро она угадала, сколько шагов и какое число было загадано
И программа предлагает сыграть снова

КАК пользователь
КОГДА я даю ответ на вопрос
И программа не число
ТОГДА программа показывает грустный смайлик
И программа предлагает сыграть снова


5. Программа-шифровщик

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

КАК пользователь
КОГДА я открываю программу
ТОГДА программа предлагает либо зашифровать текст, либо дешифровать текст

КАК пользователь
КОГДА я ввожу текст для шифрования
И я ввожу ключ для шифрования
ТОГДА программа показывает зашифрованный текст

КАК пользователь
КОГДА я ввожу текст для дешифрования
И я ввожу ключ для дешифрования
ТОГДА программа показывает расшифрованный текст


К началу