Главная страница
Навигация по странице:

  • «Затверджую» Протокол №___від__________ Голова ц/к комп’ютерних дисциплін___________ Дубовик І.Ф. Завдання на курсову роботу

  • 1.1 Функціональна структура

  • 1.3 Виділення інформаційних обєктів та їх атрибутів

  • Проектування та реалізація інформаційної системи 6 .1 Опис елементів , використаних під час реалізації

  • 6.2 Тексти SQL-запитів та результати їх виконання

  • Список літератури

  • Розробка_автоматизованої_системи_бухгалтера_13. Розробка автоматизованої системи бучгалтера


    Скачать 0.85 Mb.
    НазваниеРозробка автоматизованої системи бучгалтера
    Дата21.12.2021
    Размер0.85 Mb.
    Формат файлаdocx
    Имя файлаРозробка_автоматизованої_системи_бухгалтера_13.docx
    ТипДокументы
    #312398

    Індустріально-педагогічний технікум КІПФК СумДУ

    (повне найменування вищого навчального закладу)

    Циклова комісія комп’ютерних дисциплін

    (повна назва кафедри, циклової комісії)

    КУРСОВА РОБОТА



    з предмету: Основи програмування та алгоритмічні мови

    (назва дисципліни)

    на тему: «Розробка автоматизованої системи бучгалтера»

    Виконав студент третього курсу,

    731 групи

    напряму підготовки «Інженерія програмного забезпечення»

    спеціальності «Розробка програмного забезпечення»

    Пушенко Артем Володимирович

    (прізвище та ініціали)

    Керівник: Осадчий Андрій Сергійович

    (посада, вчене звання, науковий ступінь, прізвище та ініціали)
    Національна шкала ________________

    Кількість балів: __________Оцінка: ECTS _____

    Члени комісії ________________ _____________________

    (підпис) (прізвище та ініціали)

    __________________________________________

    (підпис) (прізвище та ініціали)

    ________________ ___________________________

    (підпис) (прізвище та ініціали)
    м. Конотоп, 2021 рік

    Міністерство освіти і науки України

    ІНДУСТРІАЛЬНО - ПЕДАГОГІЧНИЙ ТЕХНІКУМ КІПФК СумДУ

    «Затверджую»

    Протокол №___від__________

    Голова ц/к комп’ютерних дисциплін

    ___________ Дубовик І.Ф.


    Завдання на курсову роботу
    ----------------------------

    (тема роботи)


    Розробити:

    1. ?

    2. ?

    3. ?...



    Дата видачі завдання "__"_____________2021р.

    Керівник: Осадчий А. С.

    Виконавець: студент групи 731 … Д.В.

    Термін захисту проекту 15.12.2021р.


    м. Конотоп, 2021 рік

    ЗМІСТ:

    ВСТУП 3

    1. Опис предметної області 4

    1.1 Функціональна структура 4

    1.2 Діаграма потоків даних 5

    1.3 Виділення інформаційних об'єктів та їх атрибутів 7

    2. Концептуальна модель 10

    3. Логічне моделювання 13

    4. Вибір СУБД 14

    5. Фізична модель 16

    6. Проектування та реалізація інформаційної системи 20

    6.1 Опис елементів, використаних під час реалізації 20

    6.2 Тексти SQL-запитів та результати їх виконання 20

    ВИСНОВОК 31

    СПИСОК ЛІТЕРАТУРИ 32

    ДОДАТОК A МАКЕТНІ ДАНІ 33
    ВСТУП

    Основні ідеї сучасної інформаційної технології базуються на концепції, згідно з якою дані повинні бути організовані в бази даних з метою адекватного відображення реального світу, що змінюється, і задоволення інформаційних потреб користувачів. Ці бази даних створюються та функціонують під управлінням спеціальних програмних комплексів, які називаються системами управління базами даних (СУБД).

    Збільшення обсягу та структурної складності даних, що зберігаються, розширення кола користувачів інформаційних систем призвели до широкого поширення найбільш зручних і порівняно простих для розуміння реляційних (табличних) СУБД. Для забезпечення одночасного доступу до даних безлічі користувачів, які нерідко розташовані досить далеко один від одного і від місця зберігання баз даних, створені мережеві мультикористувацькі версії БД, засновані на реляційній структурі. Вони тим чи іншим шляхом вирішують специфічні проблеми паралельних процесів, цілісності (правильності) і безпеки даних, і навіть санкціонування доступу.

    У сучасній дійсності складно уявити собі підприємство, на якому не приділялося б уваги цікавій бухгалтерії, нарахуванню заробітної плати. Врахування різних заохочень, стягнень, кількості відпрацьованих днів для великої кількості співробітників є досить трудомістким.

    Метою цієї роботи є створення бази даних, яка буде наочно та повною мірою відображати всі аспекти роботи бухгалтерії при нарахуванні заробітної плати.

    1. Опис предметної області


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

    1.1 Функціональна структура
    БД «Бухгалтерія» має можливість ведення обліку:

    • співробітників;

    • договорів;

    • заохочення;

    • стягнень;

    •виставляти рахунок.

    Причому є можливість:

    • редагування даних (додавання, зміни, видалення) у рядках або кортежах таблиць;

    • пошуку інформації за створеними таблицями;

    • отримання інформації, що цікавить, за певними полями за допомогою написання запитів


    1.2 Діаграма потоків даних
    Функціональна структура системи є набір діаграм потоків даних (далі - ДПД), які описують зміст операцій та обмежень. ДПД відображає функціональні залежності значень, що обчислюються в системі, включаючи вхідні значення, вихідні значення та внутрішні сховища даних. ДПД - це граф, у якому показано рух значень даних від джерел через перетворюючі їх процеси до їх споживачів та інших об'єктах. ДПД містить процеси, які перетворюють дані, потоки даних, які переносять дані, активні об'єкти, які виробляють та споживають дані, та сховища даних, які пасивно зберігають дані.

    Процес перетворює значення даних. Процеси нижнього рівня – це функції без побічних ефектів. Процес може мати побічні ефекти, якщо він містить нефункціональні компоненти, такі як сховища даних або зовнішні об'єкти.

    Сховище даних - це пасивний об'єкт у складі ДПД, де дані зберігаються для подальшого доступу. Сховище даних допускає доступ до даних у порядку, відмінному від того, в якому вони були туди поміщені. Агрегатні сховища даних, як, наприклад, списки та таблиці, забезпечують доступ до даних у порядку їх надходження, або за ключами.


    Рисунок 1.1 – Діаграма використання БД «Бухгалтерія»



    Рис. 1.2 Діаграма послідовностей



    Рис. 1.3 Діаграма кооперації

    1.3 Виділення інформаційних об'єктів та їх атрибутів
    В результаті детального аналізу предметної галузі, вивчення функціональної структури та побудови схеми потоків даних було виділено такі об'єкти:

    1. Співробітник

    •Табельний номер

    • ПІБ

    • Відділ

    • Посада

    2. Посада

    • Id Посади

    • Посада

    •Форма оплати

    • Сума\день

    3. Договір

    • Id Договору

    •Дата початку

    • Id Співробітника

    •Дата закінчення

    4. Особисті дані

    • id співробітника

    •Стать

    • Телефон

    •Сімейний стан

    • Адреса

    5. Графік роботи

    • id Графіка

    • Місяць

    • Відпрацьовано днів

    6. Рахунок

    • id Співробітника

    • id Графіка

    • Заохочення

    • Стягнення

    • Дата

    7. Заохочення

    • id Заохочення

    • Назва заохочення

    • Сума

    8. Стягнення

    • id Стягнення

    Найменування стягнення

    • Сума

    2. Концептуальна модель
    Конструювання бази даних пов'язані у кінцевому підсумку з побудовою її логічної структури, саме: взаємозалежних нормалізованих реляційних таблиць, при формуванні яких використовується система управління базами даних (СУБД).

    Проте основою побудови логічної структури є концептуальне моделювання, тобто, перехід від опису реального світу до моделі цього світу. Синтез концептуальної моделі провадиться за допомогою низки методик. Однією з найпопулярніших семантичних моделей даних є модель "Сутність-Зв'язок" або "Об'єкт-Ставлення".

    При побудові моделі сутність-зв'язок на початковому етапі кожен інформаційний об'єкт замінюємо сутністю, кожна властивість об'єкта стає атрибутом сутності.

    Потужність зв'язку є відношенням кількості екземплярів батьківської сутності до відповідної кількості екземплярів дочірньої сутності.


    Рис. 2.1 – Концептуальна модель БД «Бухгалтерія»

    Побудова концептуальної моделі полягає у виділенні об'єктів та встановленні між ними зв'язків. Список об'єктів для предметної області “Бухгалтерія” виглядатиме так: співробітник, посада, договір, особисті дані, графік роботи, рахунок, заохочення, стягнення. Кожен з цих об'єктів має власні властивості.

    учет информационный логический

    3. Логічна модель
    За концептуальною моделлю необхідно побудувати логічну модель. При цьому атрибути додаються, по суті, відповідно до зв'язків, показаних на концептуальній моделі.

    Додані атрибути в сутності-нащадки є зовнішніми ключами для сутностей-предків, в яких дані атрибути є первинними ключами.

    Примірники сутностей пов'язані співвідношенням N:N вимагають створити таблиці зв'язки цих сутностей, яка містить первинні ключі цих сутностей.


    Рисунок 3.1 – Логічна модель БД «Бухгалтерії»


    4. Вибір СУБД
    Для реалізації бази даних було обрано СУБД Oracle 11g. Це наступними можливостями даної СУБД:

    - Підтримка мови SQL, яка досить проста в користуванні і дозволяє без особливих витрат часу витягувати будь-яку інформацію з бази даних;

    - Real Application Cluster (RAC) забезпечує роботу одного екземпляра бази даних на кількох вузлах grid, дозволяючи керувати навантаженням та гнучко масштабувати систему у разі потреби;

    - Automatic Storage Management (ASM) дозволяє автоматично розподіляти дані між наявними ресурсами систем зберігання даних, що підвищує стійкість до відмови та знижує загальну вартість володіння (TCO);

    - продуктивність. Oracle Database 11g дозволяє автоматично керувати рівнями сервісу та тиражувати еталонні конфігурації в рамках усієї мережі;

    - Прості засоби розробки. Новий інструмент розробки додатків HTML DB дозволяє простим користувачам створювати ефективні програми для роботи з базами даних за короткий термін;

    - самоврядування. Спеціальні механізми Oracle Database 11g дозволяють самостійно перерозподіляти навантаження на систему, оптимізувати та коригувати SQL-запити, виявляти та прогнозувати помилки;

    - великі бази даних. Максимальний розмір екземпляра бази даних Oracle може сягати 8 екзабайт;

    - недорогі серверні системи. Oracle Database 11g може використовувати недорогі однопроцесорні комп'ютери або модульні системи із "серверів-лез";

    - Забезпечення транзакційної цілісності, пов'язана з організацією одночасного доступу значної кількості користувачів до даних, розміщених на фізичному носії. Доступ здійснюється в процесі виконання транзакцій, що представляє собою логічний зв'язок послідовних запитів та операцій маніпулювання даних;

    - Буферування. На обробку першого запиту йде більше часу, ніж всі наступні запити це характеризується тим, що їх повторне використання дозволяє виключити фізичне введення даних з дискового пристрою і зменшує час виконання запиту, обмеження обсягу буфера призводить до перманентного витіснення з нього раніше лічених блоків.

    Ряд перерахованих вище можливостей, виділяє СУБД Oracle 11g як найбільш підходящу для реалізації бази даних за можливостями, що надаються.
    5. Фізична модель
    Фізична модель даних представлена ​​реляційними таблицями, у яких як кортежи реляційних відносин зберігається інформація.

    Таблиця 5.1 Типи даних

    Тип

    Назва типа

    Розмір (байти)

    Зміст

    Текстовий

    varchar

    кожний символ по 1

    Літери, цифри, спец. символи (%, &, #)

    Числовий

    integer

    4

    Використовується, щоб виконувати арифметичні операції над значеннями цього поля

    Дата

    date

    8

    Дати до 31 грудня 9999 року


    Для створення таблиці "operating_schedule" (Графік роботи):

    CREATE TABLE operating_schedule

    (id_schedule int primary key NOT NULL,

    monthh varchar2(40),CHECK (monthh IN('січень','лютий','березень','квітень','травень','червень','липень','серпень','вересень','жовтень) ,'Листопад грудень')),

    number_days int

    );

    Для створення таблиці "posts" (Посада):

    CREATE TABLE posts

    (

    id_post int primary key NOT NULL,

    posti varchar2(40),

    method_payment varchar2(45),CHECK (method_payment IN('Погодинна','Зроблена','Змішана','Почасово-преміальна')),

    suma int

    );

    Для створення таблиці promotion (Заохочення):

    CREATE TABLE promotion

    (

    id_promotion int primary key NOT NULL,

    naim_promotion varchar2(40),

    promotion_summ int

    );

    Для створення таблиці penalty (Стягнення):

    CREATE TABLE penalty

    (

    id_penalty int primary key NOT NULL,

    naim_penalty varchar2(40),

    penalty_summ int

    );

    Для створення таблиці "staff" (Співробітник):

    CREATE TABLE staff

    (

    employee_number int primary key NOT NULL,

    FIO varchar2(60),

    department varchar2(40),

    id_post int,

    FOREIGN KEY (id_post) REFERENCES posts(id_post)

    );

    Для створення таблиці "staff_posts" (Співробітник\Посада):

    CREATE TABLE staff_posts

    (

    id_staff int NOT NULL,

    id_post int NOT NULL,

    FOREIGN KEY (id_staff) REFERENCES staff(employee_number),

    FOREIGN KEY (id_post) REFERENCES posts(id_post)

    );

    Для створення таблиці "personal_data" (Особиста інформація):

    CREATE TABLE personal_data

    (

    id_staff int NOT NULL,

    pol varchar2(3),

    phone int,

    marital_status varchar2(40),CHECK (marital_status IN('{Холост','Одружений','Заміжня','Не заміжня')),

    address varchar2(100),

    FOREIGN KEY (id_staff) REFERENCES staff(employee_number)

    );

    Для створення таблиці «contract» (Договір):

    CREATE TABLE contract

    (

    id_contract int primary key NOT NULL,

    start_date date,

    expiration_date date,

    id_staff int,

    FOREIGN KEY (id_staff) REFERENCES staff(employee_number)

    );

    Для створення таблиці accounts (Рахунок):

    CREATE TABLE accounts

    (

    id_account int primary key NOT NULL,

    id_staff int NOT NULL,

    id_schedule int NOT NULL,

    FOREIGN KEY (id_staff) REFERENCES staff(employee_number),

    FOREIGN KEY (id_schedule) REFERENCES operating_schedule(id_schedule)

    );

    Для створення таблиці «accounts_promotion» (Рахунок\Заохочення):

    CREATE TABLE accounts_promotion

    ( id_account int NOT NULL,

    id_promotion int NOT NULL,

    FOREIGN KEY (id_account) REFERENCES accounts(id_account),

    FOREIGN KEY (id_promotion) REFERENCES promotion(id_promotion));

    Для створення таблиці «accounts_penalty» (Рахунок\Стягнення):

    CREATE TABLE accounts_penalty

    ( id_account int NOT NULL,

    id_penalty int NOT NULL,

    FOREIGN KEY (id_account) REFERENCES accounts(id_account),

    FOREIGN KEY (id_penalty) REFERENCES penalty(id_penalty)

    );


    1. Проектування та реалізація інформаційної системи



    6.1 Опис елементів, використаних під час реалізації
    Створення бази даних.

    Для створення бази даних "Бухгалтерія", були створені таблиці за допомогою засобів, що пропонуються СУБД Oracle 11g. Створюються каркаси таблиць, відзначаються ключові поля, встановлюються типи даних кожного поля, та таблиці заповнюються даними (наведені у додатку A). Після того, як таблиці створені, необхідно їх зв'язати за ключовими полями. На наступному етапі було сформульовано запити.

    При створенні запиту в СУБД Oracle 11g було використано програму PLSQL Developer. Це пояснюється зручністю та простотою мови SQL, яка представляє досить багатий набір засобів для формування запитів.

    6.2 Тексти SQL-запитів та результати їх виконання
    Нижче наведено всі SQL-запити, які були використані в процесі створення інформаційної системи.

    Прості запити

    1. У якому відділі працює - Долматов Олексій Сергійович?
    Вивести повну інформацію про клієнта табельний номер якого = 4.1. Вивести повну інформацію про клієнта табельний номер якого = 4.


    1. Скільки буде вирахування із зарплати за 5 запізнень?





    1. Скільки буде вираховано за прогул?





    1. Видати інформацію про Кулінова Дмитра Андрійовича



    1. Знайти усі договори укладені після 25.12.2011.


    6. Знайти id договору та id співробітника, які були найняті до 12.05.2011.


    7. Які договори оформлено після 12.05.2011, але до 25.12.2011?


    8. На якій посаді можна отримувати більше ніж 1000 гривень на день?


    9. Вивести всіх співробітників, пов'язаних з IT.


    10. Вивести всіх співробітників, які працюють у відділі АСУ або IT.


    11. Вивести термін закінчення договорів із співробітниками.




    1. Вивести повну інформацію про договори, укладені менше ніж на рік.





    1. Вивести інформацію про співробітників, що живуть на Микільського





    1. Вивести найменування заохочення та його розмір в одному стовпці через прогалину





    1. Вивести максимальний розмір заохочення.


    16. Порахувати максимальну кількість робочих днів у місяці, для місяців у яких раніше мінімальна кількість робочих днів була < 20




    1. Вивести ПІБ співробітниці та її телефон, якщо вона незаміжня.





    1. Вивести всю інформацію про співробітників – чоловіків.


    18. Вивести адресу та телефон Співробітника, номер трудового договору якого № 3




    1. Які співробітники працював майже без у червні місяці?





    1. Вивести id рахунки, ПІБ клієнта та його зарплату за відпрацьовані місяці.


    20. Вивести ПІБ співробітників, які відпрацювали максимальну кількість днів за 1 місяць.


    21. Вивести максимальну суму стягнення, яка менша за мінімальну суму заохочення.


    22. Чи є стягнення які більші за суму всіх заохочень, і який розмір штрафу?


    23. Знайти особисті дані працівника, дата закінчення договору з яким = 01.01.2013.


    24. Приклад використання лівого зовнішнього з'єднання: ПІБ та дату закінчення договорів.




    1. Вивести табельний номер співробітника, його ПІБ та відділ у якому він працює, якщо його договір не був укладений у період з 12.05.2011 по 25.12.2011?





    1. Вивести ПІБ, посаду та заробітну плату Розробник БД за 2 місяці з урахуванням виписаних заохочень.


    27. Вивести ПІБ, посаду та заробітну плату директора та, наприклад, Петренко Микола Васильович за 2 місяці з урахуванням виписаних заохочень та стягнень.



    данные учет информационный логический
    ВИСНОВОК

    В результаті виконання роботи спроектовано та повністю проаналізовано предметну область «Бухгалтерія». За підсумками виділених інформаційних об'єктів та його атрибутів побудована концептуальна і логічна модель, тобто, проведено проектування баз даних: концептуальне, логічне та фізичне. Проектування баз даних - процес розв'язання класу завдань, пов'язаних із створенням баз даних.

    Досягнуті основні цілі проектування баз даних. Це:

    • Забезпечення зберігання у БД всієї необхідної інформації.

    • Забезпечення можливості отримання даних на всі необхідні запити.

    • Скорочення надмірності та дублювання даних.

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

    Фізична модель даних представлена ​​реляційними таблицями, вся інформація яких міститься у базі даних, реалізованої на СУБД Oracle 11g. Також спроектована та реалізована інформаційна система, описана створенням бази та запитів на мові SQL.
    Список літератури:

    1. Антифеев Дм.Д. Современные средства построения корпоративных систем поддержки принятия управленческих решений "Терн", М., 2001

    2. Ізбачков Ю., Петров В. Інформаційні системи. - СПб.: Питер, 2005.

    3. Колесник А.П. Комп'ютерні системи в управлінні фінансами. - М.: Фінанси і статистика, 1994

    4. Рогач І. Ф., Сендзюк М. А., Антонюк В. А. Інформаційні системи у фінансово-кредитних установах: Нанч. посібник. -- 2-ге вид.,

    5. Савчук Т.О. Організація баз даних і знань. Вінниця: ВДТУ, 2000 р.



    ДОДАТОК A
    Макетні дані:
    Таблиця 9.1 «operating_schedule» (Графік роботи):


    Таблиця 9.2 «posts» (Посада):


    Таблиця 9.3 «promotion» (Заохочення):


    Таблиця 9.4 «penalty» (Штрафи):


    Таблиця 9.5 «staff» (Колега):


    Таблиця 9.6 «staff_posts» (Колега\Посада):


    Таблиця 9.7 «personal_data» (Особиста інформація):


    Таблиця 9.8 «contract» (Договір):


    Таблиця 9.9 «accounts» (Рахунок):


    Таблиця 9.10 «accounts_promotion» (Рахунок\Заохочення):


    Таблиця 9.11 «accounts_penalty» (Рахунок\Штрафи):





    написать администратору сайта