Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 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-диаграмму.



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