Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бази даних КП Скачкова.doc
Скачиваний:
18
Добавлен:
27.10.2018
Размер:
261.12 Кб
Скачать

2 Постановка задачі

У результаті аналізу предметної галузі у ній було виявлено наступні об’єкти та їх властивості:

  1. підприємство:

  • назва підприємства;

  • адреса підприємства;

  • телефон підприємства;

  1. відділ:

  • № відділу;

  • назва відділу;

  1. службовець:

  • табельний № службовця;

  • ПІБ службовця;

  • стать;

  • дата народження;

  • адреса;

  1. лікарняний аркуш:

  • дата початку;

  • дата закінчення;

  • діагноз хвороби;

  • № лікарні;

  1. посада:

  • назва посади;

  • оклад.

Можливі запити до системи:

  • кількість пропущених днів по хворобі у певного співробітника;

  • перелік відділів у певного підприємства;

  • перелік службовців, що працюють у певному відділі;

  • перелік службовців, що займають певну посаду;

  • оклад певної посади;

Необхідно реалізувати:

  1. введення, збереження і редагування інформації про службовців і пропуски робочих днів через хворобу;

  2. пошук по полям «Табельний № службовця», «ПІБ службовця», «Назва підприємства», «Назва відділу», «Назва посади», сортування по ключовим полям і фільтрацію даних по полях, що найчастіше використовуються;

  3. 2-3 запити, що найчастіше виникають до бази даних (інформація про співробітників та їхню заробітню плату; дані про співробітників та відділи і підприємства, де вони працюють);

  4. можливість звертання з довільним запитом до бази даних (SELECT, DELETE);

  5. виводити інформацію про службовців з переглядом інформації про кількість днів, пропущених через хворобу, і кількість реально відпрацьованих днів (обчислювальне поле);

  6. робити нарахування зарплати службовця з урахуванням посадових окладів і того, що лікарняні оплачуються в розмірі не більше 40 днів на рік, а лікарняні по догляду за дітьми жінкам оплачуються повністю. Лікарняні від 40 до 60 днів оплачуються в розмірі 50% від посадового окладу (задача для автоматизації);

  7. сформувати "Реєстр лікарняних листків", що включає номер і найменування відділу; ПІБ службовця, що хворів; період хвороби (початкова і кінцева дата хвороби); діагноз хвороби (звіт);

  8. сформувати довідку про кількість працівників підприємства, які зазнали виробничих травм;

  9. сформувати звіт про працівників певного відділу;

  10. сформувати звіт про відділи підприємств.

Псевдонім (аліас) OBD має прописуватися системою програмно.

3 Проектування бази даних

3.1 Побудова er-діаграми

При побудові ER-діаграми (рис. 3.1) була враховані результати отримані на етапі аналізу предметної галузі (концептуальна модель та характеристики сутностей).

Підприємство

1

Відділ

Посада

1

1

Службовець

1

Лікарняний аркуш

Рисунок 3.1 – ER-діаграма ІС «Табелювання робочих днів»

Обмеження, які враховувались при побудові ER-діаграми:

  1. один відділ входить в одне підприємство;

  2. одне підприємство складається з багатьох відділів;

  3. поле «Назва підприємства» є унікальним;

  4. назва відділу може повторюватись в різних підприємствах (поле «Назва відділу» не є унікальним);

  5. один службовець працює в одному відділі;

  6. в одному відділі працює багато службовців;

  7. один службовець може займати одну посаду;

  8. одну посаду можуть займати багато службовців;

  9. один лікарняний аркуш відповідає одному службовцю;

  10. у одного службовця може бути багато лікарняних аркушів;

  11. табельний номер службовця є унікальним.

3.2 UML-Моделювання

Для уточнення та ілюстрації діяльності ІС «Табелювання робочих днів» були побудовані діаграми діяльності (рис. 3.2) та use-case (рис. 3.4) системи в цілому, діяльності для задачі автоматизації (рис. 3.3), а також діаграми стану і use-case для функції «Пошук».

Рисунок 3.2 – Діаграма діяльності ІС «Табелювання робочих днів»

Рисунок 3.3 – Діаграма діяльності задачі автоматизації

Рисунок 3.5 – Діаграма станів функції «Пошук»

Рисунок 3.4 – Діаграма прецедентів ІС «Табелювання робочих днів»

Рисунок 3.5 – Діаграма прецедентів функції «Пошук»