Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
ЛЕКЦИЯ № 6
Рассмотрим задачу составления расписания занятий студентов в институте. Для начала определим сущности, которые участвуют в процессе:
СТУДЕНТЫ, для которых составляют расписание занятий;
ПРЕПОДАВАТЕЛИ, которые проводят занятия;
УЧЕБНЫЙ ПЛАН, который предоставляет список изучаемых дисциплин в текущем семестре для составления расписания.
Для простоты задачи сделаем допущение, что в нашем случае всегда есть свободные преподаватели, свободные аудитории.
![]() |
Нарисуем контекстную диаграмму:
Далее проведем детализацию процесса.
1.1 Определить список предметов, изучаемых группой.
1.2 Найти преподавателя на предмет
1.3 Найти свободное время преподавателя
1.4 Найти свободное время группы
1.5 Найти свободную аудиторию в свободное время преподавателя и группы.
Теперь нарисуем DFD-диаграмму 1-го порядка.
![]() |
Опишем теперь потоки данных, используя словарь данных.
1.
@ИМЯ=СПИСОК ГРУПП
@ТИП=дискретный поток
@БНФ=ФИО+НОМЕР ГРУППЫ
2
@ИМЯ=СПИСОК ПРЕПОДАВАТЕЛЕЙ
@ТИП=дискретный поток
@БНФ=ФИО+ПРЕДМЕТ+СВОБОДНОЕ ВРЕМЯ
3.
@ИМЯ=СПИСОК ПРЕДМЕТОВ
@ТИП=дискретный поток
@БНФ=НАЗВАНИЕ ПРЕДМЕТА
4.
@ИМЯ=СПИСОК АУДИТОРИЙ
@ТИП=дискретный поток
@БНФ=НОМЕР АУДИТОРИИ+(КОРПУС)+ДАТА+ВРЕМЯ
5.
@ИМЯ=СВОБОДНОЕ ВРЕМЯ СТУДЕНТОВ
@ТИП=дискретный поток
@БНФ=НОМЕР ГРУППЫ+ДАТА+ВРЕМЯ
6.
@ИМЯ=СВОБОДНОЕ ВРЕМЯ ПРЕПОДАВАТЕЛЯ
@ТИП=дискретный поток
@БНФ=ФИО ПРЕПОДАВАТЕЛЯ+ДАТА+ВРЕМЯ
7.
@ИМЯ=ПРЕПОДАВАТЕЛИ ПРЕДМЕТА
@ТИП=дискретный поток
@БНФ=ФИО+ПРЕДМЕТ
8.
@ИМЯ=СПИСОК ПРЕДМЕТОВ ДЛЯ ГРУППЫ
@ТИП=дискретный поток
@БНФ=ГРУППА+ПРЕДМЕТ
9.
@ИМЯ=РАСПИСАНИЕ
@ТИП=дискретный поток
@БНФ=ДАТА+ВРЕМЯ+АУДИТОРИЯ+ПРЕДМЕТ+
ПРЕПОДАВАТЕЛЬ+ГРУППА
Опишем теперь спецификацию процессов, представленных на DFD-диаграмме 1-го уровня.
1.1
@ВХОД=СПИСОК ПРЕДМЕТОВ
@ВХОД=СПИСОК ГРУПП
@ВЫХОД=СПИСОК ПРЕДМЕТОВ ДЛЯ ГРУППЫ
@СПЕЦПРОЦ 1.1 ОПРЕДЕЛИТЬ СПИСОК ПРЕДМЕТОВ ДЛЯ ГРУППЫ
ВЫПОЛНИТЬ составить СПИСОК ПРЕДМЕТОВ ГРУППЫ, изучаемых в текущем семестре согласно учебному плану
КОНЕЦВЫПОЛНИТЬ
@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.1
1.2
@ВХОД=СПИСОК ПРЕПОДАВАТЕЛЕЙ
@ВХОД=СПИСОК ПРЕДМЕТОВ ДЛЯ ГРУППЫ
@ВЫХОД=ПРЕПОДАВАТЕЛИ ПРЕДМЕТА
@СПЕЦПРОЦ 1.2 НАЙТИ ПРЕПОДАВАТЕЛЯ НА ПРЕДЕМЕТ
ВЫПОЛНИТЬ составить СПИСОК ПРЕПОДАВАТЕЛЕЙ предмета согласно информации о преподавателях
КОНЕЦВЫПОЛНИТЬ
@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.2
1.3
@ВХОД=ПРЕПОДАВАТЕЛИ ПРЕДМЕТА
@ВХОД=СВОБОДНОЕ ВРЕМЯ ПРЕПОДАВАТЕЛЕЙ (список всех преподавателей со свободным временем)
@ВЫХОД=СВОБОДНОЕ ВРЕМЯ ПРЕПОДАВАТЕЛЯ (конкретный преподаватель со свободным временем)
@СПЕЦПРОЦ 1.3 НАЙТИ СВОБОДНОГО ПРЕПОДАВАТЕЛЯ
ВЫПОЛНИТЬ
ПОКА есть преподаватель в списке преподавателей
ВЫПОЛНИТЬ
ЕСЛИ преподаватель занят
ТО взять другого преподавателя
ИНАЧЕ запомнить преподавателя и его свободное время
КОНЕЦЕСЛИ
КОНЕЦПОКА
КОНЕЦВЫПОЛНИТЬ
@КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.3
1.4
@ВХОД=СПИСОК ГРУПП
@ВЫХОД=СВОБОДНОЕ ВРЕМЯ ГРУПП
@СПЕЦПРОЦ 1.4. НАЙТИ СВОБОДНОЕ ВРЕМЯ ГРУППЫ
ВЫПОЛНИТЬ
ЕСЛИ есть свободное время группы
ТО запомнить свободное время
КОНЕЦЕСЛИ
КОНЕЦВЫПОЛНИТЬ
@КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.4
1.5
@ВХОД=СВОБОДНОЕ ВРЕМЯ ГРУППЫ
@ВХОД=СВОБОДНОЕ ВРЕМЯ ПРЕПОДАВАТЕЛЯ
@ВХОД=СПИСОК АУДИТОРИЙ
@ВЫХОД=РАСПИСАНИЕ
@СПЕЦПРОЦ 1.5 НАЙТИ СВОБОДНУЮ АУДИТОРИЮ В СВОБОДНОЕ ВРЕМЯ ПРЕПОДАВАТЕЛЯ И ГРУППЫ
ВЫПОЛНИТЬ
ПОКА есть свободные аудитории в списке аудиторий
ВЫПОЛНИТЬ
ЕСЛИ преподаватель и студенты свободны в то время, когда свободна аудитория
ТО запомнить расписание, состоящее из группы, преподавателя, названия предмета, даты и времени проведения занятия
ИНАЧЕ выбрать другую аудиторию
КОНЕЦЕСЛИ
КОНЕЦПОКА
КОНЕЦВЫПОЛНИТЬ
@КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1.5
Поскольку теперь мы описали спецификации процессов, необходимо провести детализацию хранилищ данных или, другими словами, построить диаграммы "сущность-связь" или ERD-диаграммы.
![]() |
Так как, наше расписание составляется для студентов, то имеет смысл завести сущность "студенты".
![]() |
Однако можно заметить, что такая сущность избыточна, т. к. про студентов одной группы в таблице будет повторяться название группы. Необходимо нормализовать данную табличку. Для этого введем еще одну сущность (ассоциативную) – ГРУППА. Тогда, получим:
Далее, у нас есть сущности ПРЕПОДАВАТЕЛИ и ПРЕДМЕТЫ, еще выделим АУДИТОРИИ, УЧЕБНЫЙ План и РАСПИСАНИЕ. Построим теперь ERD-диаграмму.

![]() |
Как видно из полученное схемы у нас есть неспецифическое отношение ПРЕПОДАВАТЕЛИ-ПРЕДМЕТЫ. Разрешим это неспецифическое отношение, используя ассоциативную сущность.







