проект на 2-3-х человек
Один из наиболее прогрессивных университетов решил перевести процесс учета приема абитуриентов на технологию Blockchain.
Основной мотивацией использования Blockchain является полная прозрачность алгоритмов процесса приема и невозможность подменить данные о результатах экзаменов. 
Требуется разработать прототип системы на Ethereum, чтобы доказать работоспособность идеи.
В предметной области выделяются следующие модули:
  1. Контракт University - реест специальностей
    1. регистрация специальностей c кол-вом мест по специальности и перечнем необходимых экзаменов
      1. Например, специальность "Прикладная математика и информатика", 50 мест, экзамены: Р (русский), М (математика), Ф (физика)
  2. Контракт Students для регистрации поступающих абитуриентов - реестр абитуриентов
    1. Регистрация абитуриента: #08-123 (уникальный номер), # специальности, Фамилия Имя Отчество 
  3. Контракт Priem - основная база данных о результатах экзаменов
    1. Регистрация сданного экзамена
      1. Например, студент #08-123, Экзамен: М (Математика) - 85 баллов
  4. Отчет о текущем состоянии приема
    1. Входные параметры: № специальности
    2. Выходные данные: таблица
Место по рейтингу№ абитуриентаФамилия Имя ОтчествоКол-во балловПроходит по конкурсу (да/нет)
1 (отсортированы по кол-ву баллов)08-123Иванов Иван Иванович165 (сумма баллов за все экзамены, требующиеся на эту специальность), "н/д" - если еще не все данные был поданыда (если место по рейтингу <= кол-ва мест), иначе "нет"
Сценарии использования:
  1. Инициализация приемной комиссии
    1. Создание экземпляра контракта University
    2. Создание экземпляра контракта Students со ссылкой на University
    3. Создание экземпляра контракта Priem со ссылкой на Students
    4. Заполнение University специальностями
  2. Регистрация абитуриента и результатов экзаменов
    1. Students.register() - Регистрация абитуриента на специальность
    2. Priem.register() - Регистрация сданных экзаменов абитуриента
  3. Генерация отчета приема по специальности по данным из контрактов Priem, Students, University
За счет того, что вся подаваемая студентом информация, включая сданные экзамены, оформлена в виде транзакций Blockchain, ее невозможно изменить не разрушив всю последующую цепочку блоков. Так как все данные и логика хранятся в Blockchain (логика формирования отчета тривиальна) - то весь процесс приема прозрачен для любого участника.
Предлагаемый план работы над проектом:
Проект может выполняться 2-3 студентами.
Фаза 1. Уточнение требований и проектирование - совместное обсуждение, вопросы преподавателю. Результат: зафиксированные интерфейсы контрактов, структуры данных и продуманная логика работы отчета.
Фаза 2. Параллельная разработка и тестирование логики контрактов.
Фаза 3. Заполнение данными, тестирование контрактов совместно, разработка отчета
  • Нет меток