2 Постановка задачі
У результаті аналізу предметної галузі у ній було виявлено наступні об’єкти та їх властивості:
-
підприємство:
-
назва підприємства;
-
адреса підприємства;
-
телефон підприємства;
-
відділ:
-
№ відділу;
-
назва відділу;
-
службовець:
-
табельний № службовця;
-
ПІБ службовця;
-
стать;
-
дата народження;
-
адреса;
-
лікарняний аркуш:
-
дата початку;
-
дата закінчення;
-
діагноз хвороби;
-
№ лікарні;
-
посада:
-
назва посади;
-
оклад.
Можливі запити до системи:
-
кількість пропущених днів по хворобі у певного співробітника;
-
перелік відділів у певного підприємства;
-
перелік службовців, що працюють у певному відділі;
-
перелік службовців, що займають певну посаду;
-
оклад певної посади;
Необхідно реалізувати:
-
введення, збереження і редагування інформації про службовців і пропуски робочих днів через хворобу;
-
пошук по полям «Табельний № службовця», «ПІБ службовця», «Назва підприємства», «Назва відділу», «Назва посади», сортування по ключовим полям і фільтрацію даних по полях, що найчастіше використовуються;
-
2-3 запити, що найчастіше виникають до бази даних (інформація про співробітників та їхню заробітню плату; дані про співробітників та відділи і підприємства, де вони працюють);
-
можливість звертання з довільним запитом до бази даних (SELECT, DELETE);
-
виводити інформацію про службовців з переглядом інформації про кількість днів, пропущених через хворобу, і кількість реально відпрацьованих днів (обчислювальне поле);
-
робити нарахування зарплати службовця з урахуванням посадових окладів і того, що лікарняні оплачуються в розмірі не більше 40 днів на рік, а лікарняні по догляду за дітьми жінкам оплачуються повністю. Лікарняні від 40 до 60 днів оплачуються в розмірі 50% від посадового окладу (задача для автоматизації);
-
сформувати "Реєстр лікарняних листків", що включає номер і найменування відділу; ПІБ службовця, що хворів; період хвороби (початкова і кінцева дата хвороби); діагноз хвороби (звіт);
-
сформувати довідку про кількість працівників підприємства, які зазнали виробничих травм;
-
сформувати звіт про працівників певного відділу;
-
сформувати звіт про відділи підприємств.
Псевдонім (аліас) OBD має прописуватися системою програмно.
3 Проектування бази даних
3.1 Побудова er-діаграми
При побудові ER-діаграми (рис. 3.1) була враховані результати отримані на етапі аналізу предметної галузі (концептуальна модель та характеристики сутностей).
Підприємство
1
∞
Відділ
Посада
1
1
∞
∞
Службовець
1
∞
Лікарняний аркуш
Рисунок 3.1 – ER-діаграма ІС «Табелювання робочих днів»
Обмеження, які враховувались при побудові ER-діаграми:
-
один відділ входить в одне підприємство;
-
одне підприємство складається з багатьох відділів;
-
поле «Назва підприємства» є унікальним;
-
назва відділу може повторюватись в різних підприємствах (поле «Назва відділу» не є унікальним);
-
один службовець працює в одному відділі;
-
в одному відділі працює багато службовців;
-
один службовець може займати одну посаду;
-
одну посаду можуть займати багато службовців;
-
один лікарняний аркуш відповідає одному службовцю;
-
у одного службовця може бути багато лікарняних аркушів;
-
табельний номер службовця є унікальним.
3.2 UML-Моделювання
Для уточнення та ілюстрації діяльності ІС «Табелювання робочих днів» були побудовані діаграми діяльності (рис. 3.2) та use-case (рис. 3.4) системи в цілому, діяльності для задачі автоматизації (рис. 3.3), а також діаграми стану і use-case для функції «Пошук».
Рисунок 3.2 – Діаграма діяльності ІС «Табелювання робочих днів»
Рисунок 3.3 – Діаграма діяльності задачі автоматизації
Рисунок 3.5 – Діаграма станів функції «Пошук»
Рисунок 3.4 – Діаграма прецедентів ІС «Табелювання робочих днів»
Рисунок 3.5 – Діаграма прецедентів функції «Пошук»