- •Завдання на дипломну роботу студенту Турянському Роману Петровичу
- •1. Аналітичний огляд літературних та інших джерел
- •1.1. Поняття цивільно-правової відповідальності
- •1.2. Укладання договору обов’язкового страхування
- •1.3. Типи договорів
- •1.4. Порядок здійснення страхового відшкодування
- •1.5. Інформаційні технології в страхуванні
- •1.6. Bi і структура страхового бізнесу
- •2. Вибір та обґрунтування методів та засобів розв’язання задачі
- •2.1. Вибір методів та засобів розв’язання задачі
- •2.2. Економічна оцінка проектних рішень
- •2.3. Розрахунок витрат на розробку та впровадження проектного рішення
- •Розрахунок витрат на оплату праці
- •Розрахунок витрат на куповані вироби
- •Кошторис витрат на розробку проектного рішення
- •2.4. Вибір та обґрунтування аналогу
- •Визначення комплексного показника якості системи, що проектується
- •2.5. Визначення експлуатаційних витрат
- •Розрахунок витрат на підготовку даних для роботи на еом
- •2.6. Визначення показників економічної ефективності
- •3. Критичний аналіз існуючих методик
- •3.1 Системний аналіз об’єкту дослідження та предметної області
- •3.2. Постановка та обґрунтування проблеми
- •4. Практична реалізація
- •4.1. Опис реалізації завдання
- •4.2. Функції бази даних обліку суб’єктів страхування
- •4.3. Опис розробленого програмного забезпечення
- •4.4. Запити
- •4.5. Форми
- •4.7. Опис створеного меню бази даних
- •4.8. Аналіз та узгодження результатів
- •5. Охорона праці
- •5.1. Санітарно-гігієнічні параметри робочої зони
- •5.2. Захист від шуму
- •5.3. Електробезпека
- •5.4. Пожежна профілактика
- •Висновки
- •Перелік використаних літературних джерел
- •Додаток а. Процедури опрацювання подій страхування
4.2. Функції бази даних обліку суб’єктів страхування
До функцій бази даних поставленої задачі можна віднести наступні:
опрацювання та отримання інформації про страхувальників поліса, страховиків, транспортні засоби та сам поліс;
можливість навігації по даним;
користувацький інтерфейс та ілюстрування (за рахунок форм);
визначення типу полісу на основі аналізу даних страхувальника;
аналіз діяльності страхової фірми.
Після розробки структури бази даних можна здійснювати ввід даних.
4.3. Опис розробленого програмного забезпечення
Головна форма має структуру та ряд кнопок, через які підпорядковує до себе «дрібніші» форми. Головна форма призначена для того, щоб користувачеві було зручно керувати доступом до усіх менших форм. За допомогою цієї форми користувач може переглядати усі форми без пошуку їх у списку наявних форм. Структура головної форми зображена на рис. 4.2.
Рис. 4.2. Структура головної форми.
Форма перегляду форм дозволяє швидко передивитись основну інформацію із графічними вставками. Форми – це презентабельний вигляд зображення вмісту таблиць.
Одним із елементів форми є кнопки, які дозволяють виконувати задачі аналізу та прогнозування. Дані засоби розроблені на мові VBA.
Для реалізації механізму продукційних правил використано модулі та запити, які автоматично генеруються. Для цього використано об’єкт DAO Recordset. Цей об’єкт включає в себе перегляди бази даних та дозволяє запускати запити, вказані у вигляді SQL-скрипта.
Частина програмного коду для генерації нового полісу:
Dim str As String
Dim rs As Recordset
Dim numb As String
If typ = "" Then
MsgBox "Не встановлено типу полісу", vbOKOnly, "Повідомлення"
Else
str = "select count(polic_numb) as a from polic"
Set rs = CurrentDb.OpenRecordset(str)
Dim a As Integer
a = rs!a + 1
numb = "polic " & a
str = "INSERT INTO polic ( polic_numb, employee_id, amount_people, type )values ('" & numb & "', " & Me.id & ", 1, '" & typ & "')"
CurrentDb.Execute (str)
str = "insert into polic_strahuvalnyk (polic_id, transport_id, starahyvalnyk_id) values ('" & numb & "', '" & [Forms]![main]![transport]!id _
& "', " & Me.strah & ")"
CurrentDb.Execute (str)
Створено такі модулі:
Для кнопкової форми
Sub Form_Open(Cancel As Integer) – відкриття форми та перевірка, чи це не репліка
Sub Form_Current() – перевірка, чи дана форма відкрита в режимі Модуля
Sub FillOptions() – перевірка, яка кнопка натиснена
Для визначення страхової програми
Sub Command6_Click() – виведеня усіх виплат по даному клієнту
Sub Command14_Click() – визначення типів полісів
Sub Command15_Click() – автоматичне генерування полісу
Для автоматизації дій по полісу
Sub Command18_Click() – для визначення кількості осіб в договорі
Sub Command19_Click() – для визначення суми пільг страхувальника
4.4. Запити
Запити застосовуються користувачем для вибірки з бази даних інформації, яка його цікавить, використовуючи при цьому певні критерії. Результат роботи запиту Access являє собою таблицю, яка називається тимчасовим набором даних.
Запит для визначення можливості страхування по типах полісів:
SELECT [strahuvalnyk].[id] AS strah, [transport].[id] AS transport, [polic_type].[id] AS polic, [strahuvalnyk].[type], year(Now())-year([strahuvalnyk].[data_stag]) AS [Стаж водіння]
FROM strahuvalnyk, transport, polic_type
WHERE ([transport].[type]=[polic_type].[type] Or [polic_type].[type] Is Null) And (year(Now())-year([strahuvalnyk].[data_stag])>=[polic_type].[stag_beg] Or [polic_type].[stag_beg] Is Null) And (year(Now())-year([strahuvalnyk].[data_stag])<=[polic_type].[stag_end] Or [polic_type].[stag_end] Is Null) And ([transport].[category]=[polic_type].[category] Or [polic_type].[category] Is Null) And ([transport].[zona] Like [polic_type].[zona] Or [polic_type].[zona] Is Null);
Запит, який нараховує відсотки страховим агентам за укладені поліси:
SELECT DISTINCT [polic].[type], [polic].[employee_id], Sum([polic].[suma]*[polic_type].[pecent_employee]) AS suma
FROM parametr, polic_type INNER JOIN polic ON [polic_type].[id]=[polic].[type]
WHERE ([polic].[beg]>=[parametr].[datebeg] Or [parametr].[datebeg] Is Null) And ([polic].[beg]<=[parametr].[dateend] Or [parametr].[dateend] Is Null) And ([polic].[type]=[parametr].[type] Or [parametr].[type] Is Null)
GROUP BY [polic].[type], [polic].[employee_id], [parametr].[rep], [polic].[beg]
HAVING (((parametr.rep)="suma_employee"));
Запит, який визначає виплачену суму по типах полісів:
SELECT polic.type, polic_vyplaty.evdate, polic_vyplaty.vyplata_type_id, polic_vyplaty.suma, polic_vyplaty.real
FROM polic INNER JOIN polic_vyplaty ON polic.polic_numb = polic_vyplaty.polic_id;
Запит, який визначає виплачені суми по соціальних групах:
SELECT strahuvalnyk.soc_grypa, soc_grypa.percent, polic.type, Sum(polic.suma) AS suma
FROM (soc_grypa INNER JOIN strahuvalnyk ON soc_grypa.id = strahuvalnyk.soc_grypa) INNER JOIN (polic INNER JOIN polic_strahuvalnyk ON polic.polic_numb = polic_strahuvalnyk.polic_id) ON strahuvalnyk.id = polic_strahuvalnyk.starahyvalnyk_id
WHERE (((strahuvalnyk.type_pers)="головний страхувальник"))
GROUP BY strahuvalnyk.soc_grypa, soc_grypa.percent, polic.type
HAVING (((strahuvalnyk.soc_grypa) Is Not Null));