Тема: ПРИКЛАДИ ПОБУДОВИ ДІАГРАМ ТА СПЕЦИФІКАЦІЇ ПРОЦЕСІВ
Розглянемо завдання складання розкладу занять студентів в університеті. Спершу визначимо сутності, які беруть участь в процесі: · СТУДЕНТИ, для яких складають розклад занять; · ВИКЛАДАЧІ, які проводять заняття; · НАВЧАЛЬНИЙ ПЛАН, який надає список дисциплін, що вивчаються студентами в поточному семестрі для складання розкладу. Для спрощення завдання зробимо припущення, що в нашому випадку завжди є вільні викладачі та вільні аудиторії. Нарисуємо контекстну діаграму (рис.11.1). Далі потрібно провести деталізацію процесу: 1. Визначити список предметів, що вивчаються групою. 2. Знайти викладача на предмет. 3. Знайти вільний час викладача. 4. Знайти вільний час групи. 5. Знайти вільну аудиторію у вільний час викладача і групи. Тепер нарисуємо DFD-діаграму 1-го порядку (рис.11.2).
Рисунок 11.1 – Контекстна діаграма процесу складання розкладу для студентів
Рисунок 11.2 – 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-діаграми. Оскільки, наш розклад складається для студентів, то першою сутністю буде сутність " студенти" (рис.11.3).
Рисунок 11.3 – Сутність СТУДЕНТИ та її атрибути
Проте можна відмітити, що така сутність надмірна, оскільки для студентів однієї групи в таблиці буде повторюватися назва групи. Необхідно нормалізувати дану табличку. Для цього введемо ще одну сутність (асоціативну) – ГРУПА (рис. 11.4). Тоді, отримаємо:
Рисунок 11.4 – Зв’язок між сутностями СТУДЕНТИ та ГРУПИ
Далі, у нас є сутність ВИКЛАДАЧІ і ПРЕДМЕТИ, ще виділимо АУДИТОРІЇ, НАВЧАЛЬНИЙ ПЛАН і РОЗКЛАД. Побудуємо тепер ERD-діаграму (рис.11.5).
Рисунок 11.5 – Початкова ERD-діаграма
Як видно із отриманої схеми у нас є тимчасове відношення ВИКЛАДАЧІ-ПРЕДМЕТИ. Вирішимо це питання, використовуючи проміжну сутність (рис.11.6). Рисунок 11.6 – Використання проміжної сутності ВИКЛАДАЧІ_ПРЕДМЕТИ
|