Skip to content

Требования к проекту

Evgeniy Gorodilov edited this page Oct 18, 2016 · 16 revisions

Содержание

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

1.1. Краткое описание проекта

1.2. Группы пользователей

  1. Описание принципов работы проекта

2.1. Управление данными студентов

2.2. Импорт/экспорт данных

2.3. Успеваемость студентов

2.4. Посещаемость студентов

2.5. Списки групп студентов

2.6. Расписание предметов для студентов

2.7. Списки тем курсовых работ

2.8. Генерация шаблонов отчетных материалов (Low priority)

2.9. Генерация отчетов

  1. Список страниц приложения

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

1.1. Краткое описание проекта

Цель проекта - разработка части ИС для кафедры МО ЭВМ, отвечающей за управление студенческими данными и автоматизацию некоторых аспектов учебного процесса. Использование данной системы позволит студентам следить за своей успеваемостью и упростит сдачу отчетных материалов по предметам. Преподаватели смогут отслеживать посещения и сдачу работ по своим предметам для всех групп студентов.

1.2. Группы пользователей

В системе должно быть предусмотрено разбиение пользователей на следующие группы:

  • Администратор
  • Преподаватель
  • Староста
  • Студент

2. Описание принципов работы проекта

Проект выполняется с использованием следующих технологий:

Backend:

  • Python 2.7 - язык программирования
  • Apache v2.4.23 - веб-сервер
  • MongoDb 3.2.10 - база данных
  • Django v1.10.1 - фреймворк для веб-разработки

Frontend:

  • HTML5/СSS3 - языки разметки и оформления
  • Javascript - язык программирования
  • Bootstrap3 - фреймворк для верстки

2.1. Управление данными студентов

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

На данный момент:

  • Фамилия
  • Имя
  • Отчество
  • Группа
  • E-mail
  • Аккаунт на Github (не ссылка)
  • ID на Stepic (не ссылка)

Набор может расшириться. Доступ к данной функциональности имеет только группа администраторов.

2.2. Импорт/экспорт данных

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

2.3. Успеваемость студентов

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

Права:

  • Админ: просмотр и редактирование любых данных об успеваемости студентов
  • Преподаватель: просмотр и редактирование данных об успеваемости по предметам, которые он ведет
  • Староста и студент: просмотр данных об успеваемости по предметам для их группы.

2.4. Посещаемость студентов

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

Права:

  • Админ: просмотр и редактирование любых данных о посещаемости студентов
  • Преподаватель: просмотр и редактирование данных о посещаемости по предметам, которые он ведет (для всех групп)
  • Староста: просмотр и редактирование данных о посещаемости по предметам группы старосты
  • Студент: просмотр данных о посещаемости по предметам группы студента

2.5. Списки групп студентов

Предоставить интерфейс для доступа к спискам групп студентов.

Права:

  • Админ: просмотр и редактирование любых списков групп
  • Староста: просмотр любых списков групп, редактирование списка своей группы
  • Преподаватель и студент: просмотр любых списков групп

2.6. Расписание предметов для студентов

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

Права:

  • Админ: просмотр и редактирование любых данных о расписании
  • Преподаватель: просмотр расписаний предметов для любой из групп студентов
  • Староста и студент: просмотр расписания для своей группы

2.7. Списки тем курсовых работ

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

Права:

  • Админ: просмотр и редактирование любых данных о курсовых работах
  • Преподаватель: просмотр любых данных о курсовых работах
  • Староста: просмотр любых данных о курсовых работах, редактирование данных своей группы
  • Студент: просмотр любых данных о курсовых работах, редактирование своих данных

2.8. Генерация шаблонов отчетных материалов (Low priority)

Детали уточняются в issue

2.9. Генерация отчетов

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

Прежде всего:

  • Списки групп студентов
  • Успеваемость
  • Посещаемость
  • Списки тем курсовых работ
  • Расписание предметов

Если пользователь имеет права на просмотр данных из этого списка, то должна присутствовать и возможность импорта их в форматы pdf и csv (количество форматов может расширяться).

3. Список страниц приложения

  1. Главная
  2. Управление данными
  3. Посещаемость
  4. Успеваемость
  5. Расписание предметов
  6. Списки групп
  7. Курсовые проекты
  8. Страница регистрации