Uploaded by Дмитрий Б

ЗВІТ КП

advertisement
ВСТУП
Автоматизована інформаційна система – це комплекс, який включає
комп'ютерне
та
комунікаційне
обладнання,
програмне
забезпечення,
лінгвістичні засоби, інформаційні ресурси, системний персонал, а також інші
засоби
автоматизації.
Система
забезпечує
підтримку
динамічної
інформаційної моделі деякої частини реального світу для задоволення
інформаційних потреб користувачів і для прийняття рішень.
Структура
автоматизованих
інформаційних
систем
містить
інформаційні технології, функціональні підсистеми і додатки та компонент
управління інформаційними системами. Інформаційні технології – це
інфраструктура,
що
забезпечує
реалізацію
інформаційних
процесів.
Функціональні підсистеми і додатки – це спеціалізовані програми,
призначені забезпечити обробку та аналіз інформації для цілей підготовки
документів, прийняття рішень у конкретній функціональної області на базі
інформаційних технологій. Управління інформаційними системами – це
компонент,
який
забезпечує
оптимальну
взаємодію
інформаційних
технологій, функціональних підсистем і пов'язаних з ними фахівців, розвиток
їх протягом життєвого циклу інформаційних систем [5].
Автоматизовані інформаційні системи можна класифікувати: за рівнем
або сферою діяльності – державні, територіальні, галузеві, об’єднань,
підприємств або установ; за видами процесів – управління, проектування,
дослідження, навчання; за рівнем автоматизації процесів управління –
інформаційно-пошукові,
інформаційно-довідкові,
інформаційно-керівні,
системи підтримки прийняття рішень, інтелектуальні інформаційні системи;
за рівнем автоматизації інформаційних процесів – ручні інформаційні
системи, автоматичні інформаційні системи [6].
Основою будь-якої сучасної інформаційної системи є система
керування базами даних. Системи керування базами даних призначені для
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
обробки даних таким чином, щоб ними можна було зручно оперувати. СКБД
дозволяють: систематизувати дані в базі даних та організовувати дані для їх
зберігання на комп‘ютерах. База даних – це сукупність деяких даних, які
організовані за певними правилами зберігання. Зберігання та обробка даних в
базі даних може бути побудоване на основі взаємозв‘язаних схем, таблиць,
збережених
процедур,
представлень
та
інших
складних
об‘єктів.
Представлення даних в базі даних повинно відповідати обраній моделі даних.
Для всіх існуючих систем керування базами даних можна виділити такі
основні властивості: підтримка логічно узгодженого набору файлів,
забезпечення
мови
маніпулювання
даними,
можливість
відновлення
інформації після її втрати у випадку різноманітних збоїв та забезпечення
паралельної роботи декількох користувачів [7].
Мова
візуального
програмування
–
мова
програмування,
яка
використовує графічні елементи та фігури для розробки програми. Ця мова
використовує методи для проектування програмного забезпечення в двох або
більше вимірах і включає графічні елементи, текст, символи та піктограми в
контексті програмування. Мова візуального програмування дає змогу
розробляти програмні програми, виключаючи текстовий програмний код із
низкою елементів візуальної графіки. Вона включає ці графічні елементи як
основний контекст мови, розташований у систематизованому порядку.
Графіка або піктограми, що входять у візуальну програму, служать вводом,
діяльністю, з'єднаннями або вихідними програмами [10].
Отже, метою курсового проекту є розроблення автоматизованої
інформаційної системи, яка повинна передбачати різноманітні режими
обробки інформації , а саме режими введення, накопичення, редагування,
видалення
інформації,
режими
пошуку
та
фільтрації
за
певними
характеристиками та інше.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
1 ЗАГАЛЬНА ЧАСТИНА
1.1 Постановка задачі
Постановка задачі – аналіз формулювання задачі з метою конкретизації
того, що дано і що потрібно отримати з описом вхідної та вихідної
інформації.
Темою
курсового
проекту
є
розробка
інформаційної
системи
автопрокату. Метою є створення програми, яка автоматизує повну діяльність
працівника автопрокату та спрощує його роботу.
В процесі користування вихідним проектом, працівник отримає
можливість зменшити кількість часу, яка витрачається на бронювання та
оренду автомобілів. Також надається можливість швидкого видалення,
редагування або додавання даних в базу даних.
Програма буде виконувати такі дії:
 введення нової інформації;
 редагування, збереження та видалення необхідних даних;
 введення та перегляд існуючих довідників;
 фільтрація, пошук та сортування окремої інформації;
 відображення діаграми;
 вивід інформації в Microsoft Excel.
Початковими даними в програмі є дані, які знаходяться в приєднаній до
програми бази даних, розробленій у середовищі Microsoft Access.
Вихідними даними буде інформація, відображена у таблицях, діаграмах
та звітах для швидкої роботи з клієнтами та з базою даних в цілому.
Вихідною інформацією є всі присутні дані, які може використовувати сам
користувач. Програмне рішення задачі розроблюється за допомогою системи
програмування Delphi, характеристика якої описана в пункті 1.4.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Програма буде розробляти під системою Windows і при розробці
програми буде врахована можливість її застосування майже на будь-якому
комп’ютері.
Основною
збереження
задачею
інформації,
ставиться
алгоритмів
правильна
уведення,
організації
читання,
структури
коректування
інформації. В цілому програма являє собою довідкову систему.
Проект матиме достатню кількість перспектив розвитку. У ньому
можливе розширення функціоналу можливостей, наприклад фільтрації та
додаткових критеріїв пошуку. Також в процесі експлуатації можуть
знадобиться модифікації іншого характеру.
1.2 Інфологічна модель задачі
Ціль інфологічного моделювання – забезпечення найбільш дійсних для
людини способів збору та представлення тієї інформації, яку зберігають в
створюваній базі даних. Тому інфологічну модель даних намагаються
створювати по аналогії з дійсною мовою. Основними конструктивними
елементами інфологічних моделей є дійсності, зв’язки та атрибути. Дійсність
– будь-який розрізняючий об'єкт. Атрибут – поіменована характеристика
дійсності. Зв'язок – асоціювання двох чи більше дійсностей.
Головною задачею програми є автоматизація та спрощення роботи
працівників автопрокату.
Одна з основних вимог до організації бази даних  це забезпечення
можливості відшукання відповідних сутностей за значеннями інших,
встановлюючи між ними певні зв'язки.
При проектуванні інфологічної моделі до задачі проекту визначено
склад сутностей та атрибутів відповідно до створеної бази даних:
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Автомобілі
Тип_авто,
(*Код_автомобіля,
Державний_номер,
Вартість_автомобіля,
Код_марки,
Дата_надходження_у_прокат,
Код_персоналу, Код_страховки, Код_країни, Код_моделі, Назва_автомобіля);
Видані_автомобілі_у_прокат
Код_автомобіля,
Дата_видачі,
(*Код_прокату,
Кількість_днів,
Код_клієнта,
Дата_повернення,
Код_знижки, Вартість, Код_тарифу, Код_групи, Код_послуги);
Групи (*Код_групи, Назва_групи);
Довідник_адрес (*Код_адреси, Країна, Область, Район, Вулиця, Місто,
Назва_адреси);
Довідник_марок
(*Код_марки,
Назва_марки,
Клас_авто,
Кількість_місць, Кондиціонер, Магнітола, Рік_заснування, Об’єм двигуна,
Тип_кузова, Зображення);
Довідник_моделей(*Код_моделі, Назва_моделі, Рік_випуску);
Довідник_посад
(*Код_посади,
Назва_посади,
Оклад,
Категорія_посади);
Клієнти (*Код_клієнта, Прізвище, Ім_я, По-батькові, Код_адреси,
Номер_телефону,
Номер_паспорта,
Серія,
Номер_посвідчення_водія,
Код_групи);
Країни (*Код_країни, Назва_країни, Найпопулярніші_авто);
Обслуговуючий_персонал (*Код_персоналу, Прізвище, Ім_я, Побатькові, Код_посади, Заробітна_плата, Відділ, Назва_персоналу);
Послуги (*Код_послуги, Тип_послуги, Вартість);
Система_знижок (*Код_знижки, Тип_знижки, Відсоток);
Система_штрафів (*Код_штрафу, Назва_штрафу, Вартість_штрафу);
Страховка
(*Код_страховки,
Код_автомобіля,
Дата_початку,
Дата_закінчення, Назва_страховки);
Тариф (*Код_тарифу, Назва, Добова_вартість, Тижнева_вартість,
Місячна_вартість, Тип_категорії, Річна_вартість);
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Технічне_обслуговування
Код_персоналу,
(*Код_Обслуговування,
Характер_поломки,
Код_автомобіля,
Дата_початку_ремонту,
Дата_закінчення_ремониу, Вартість);
Штрафи_з_прокату
(*Код_штрафного_листа,
Код_групи,
Код_штрафу);
1.3 Даталогічна модель задачі
Даталогічна модель є моделлю логічного рівня і являє собою
відображення логічних зв'язків між елементами даних безвідносно до їхнього
змісту й середовищу зберігання. Ця модель будується в термінах
інформаційних одиниць, припустимих у тієї конкретної СУБД, у середовищі
якої проектується база даних. Етап створення даталогічної моделі
називається даталогічним проектуванням. Опис логічної структури бази
даних мовою СУБД називається схемою. За допомогою нормалізованих
відношень створюємо таблиці:
Таблиця 1.1  «Обслуговуючий_персонал»
Зм.
Арк
Поле
Тип
Опис
Код_персоналу
Числовий
Первинний ключ
Прізвище
Текстовий
Прізвище працівника
Ім_я
Текстовий
Ім’я працівника
По-батькові
Текстовий
По-батькові працівника
Код_посади
Числовий
Зовнішній ключ
Заробітна_плата
Числовий
Заробітна плата
Відділ
Текстовий
Назва відділу
Назва_персоналу
Текстовий
Назва персоналу
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Таблиця 1.2  «Автомобілі»
Поле
Тип
Опис
Код_автомобіля
Числовий
Первинний ключ
Державний_номер
Текстовий
Державний номер авто
Код_марки
Числовий
Зовнішній ключ
Тип_авто
Текстовий
Тип автомобіля
Вартість_автомобіля
Числовий
Вартість автомобіля
Дата_надходження_у_прокат
Дата/Час
Дата надходження
Код_персоналу
Числовий
Зовнішній ключ
Код_страховки
Числовий
Зовнішній ключ
Код_країни
Числовий
Зовнішній ключ
Код_моделі
Числовий
Зовнішній ключ
Назва_автомобіля
Текстовий
Назва автомобіля
Таблиця 1.3  «Видані_автомобілі_у_прокат»
Зм.
Арк
Поле
Тип
Опис
Код_прокату
Числовий
Первинний ключ
Код_клієнта
Числовий
Зовнішній ключ
Код_автомобіля
Числовий
Зовнішній ключ
Дата_видачі
Дата/Час
Дата видачі на прокат
Кількість_днів
Числовий
Кількість днів прокату
Дата_повернення
Дата/Час
Код_знижки
Числовий
Зовнішній ключ
Вартість
Числовий
Вартість прокату
Код_тарифу
Числовий
Зовнішній ключ
Код_групи
Числовий
Зовнішній ключ
Код_послуги
Числовий
Зовнішній ключ
№ докум.
Підпис
Дата
Дата
Дата повернення з
прокату
КП 121.181.012
Арк.
Таблиця 1.4  «Групи»
Поле
Тип
Опис
Код_групи
Числовий
Первинний ключ
Назва_групи
Текстовий
Назва групи
Таблиця 1.5  «Довідник_адрес»
Поле
Тип
Опис
Код_адреси
Числовий
Первинний ключ
Країна
Текстовий
Назва країни
Область
Текстовий
Назва області
Район
Текстовий
Назва району
Вулиця
Текстовий
Назва вулиці
Місто
Текстовий
Назва міста
Назва_адреси
Текстовий
Назва адреси
Таблиця 1.6  «Довідник_марок»
Зм.
Арк
Поле
Тип
Опис
Код_марки
Числовий
Первинний ключ
Назва_марки
Текстовий
Назва марки
Клас_авто
Текстовий
Клас автомобіля
Кількість місць
Числовий
Кількість місць у авто
Кондиціонер
Текстовий
Магнітола
Текстовий
Наявність магнітоли
Рік_заснування
Числовий
Рік заснування
Об_єм_двигуна
Текстовий
Об’єм двигуна авто
Тип_кузова
Текстовий
Тип кузова автомобіля
Зображення
OLE
Зображення
№ докум.
Підпис
Дата
Дата
Наявність
кондиціонера
КП 121.181.012
Арк.
Таблиця 1.7  «Довідник_моделей»
Поле
Тип
Опис
Код_моделі
Числовий
Первинний ключ
Назва_моделі
Текстовий
Прізвище працівника
Рік_випуску
Числовий
Ім’я працівника
Таблиця 1.8  «Довідник_посад»
Поле
Тип
Опис
Код_посади
Числовий
Первинний ключ
Назва_посади
Текстовий
Оклад
Числовий
Категорія_посади
Текстовий
Назва посади
працівника
Оклад працівника
Категорія посади
працівника
Таблиця 1.9  «Клієнти»
Зм.
Поле
Тип
Опис
Код_клієнта
Числовий
Первинний ключ
Прізвище
Текстовий
Прізвище клієнта
Ім_я
Текстовий
Ім’я клієнта
По-батькові
Текстовий
По-батькові клієнта
Код_адреси
Числовий
Зовнішній ключ
Номер_телефону
Текстовий
Номер телефону клієнта
Номер_паспорта
Текстовий
Номер паспорта клієнта
Серія
Текстовий
Серія паспорта
Номер_посвідчення_водія
Текстовий
Код_групи
Числовий
Арк
№ докум.
Підпис
Дата
Дата
Номер посвідчення водія
клієнта
Зовнішній ключ
КП 121.181.012
Арк.
Таблиця 1.10  «Країни»
Поле
Тип
Опис
Код_країни
Числовий
Первинний ключ
Назва_країни
Текстовий
Назва країни
Найпопулярніші_авто
Текстовий
Найпопулярніші
автомобілі країни
Таблиця 1.11  «Послуги»
Поле
Тип
Опис
Код_послуги
Числовий
Первинний ключ
Тип_послуги
Текстовий
Тип послуги
Вартість
Числовий
Вартість послуги
Таблиця 1.12  «Система_знижок»
Поле
Тип
Опис
Код_знижки
Числовий
Первинний ключ
Тип_знижки
Текстовий
Тип знижки
Відсоток
Текстовий
Відсоток знижки
Таблиця 1.13  «Тариф»
Зм.
Арк
Поле
Тип
Опис
Код_тарифу
Числовий
Первинний ключ
Назва
Текстовий
Назва тарифу
Добова_вартість
Числовий
Добова вартість тарифу
Тижнева_вартість
Числовий
Тижнева вартість тарифу
Місячна_вартість
Числовий
Місячна вартість тарифу
Тип_категорії
Текстовий
Тип категорії
Річна вартість
Числовий
Річна вартість тарифу
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Таблиця 1.14  «Система_штрафів»
Поле
Тип
Опис
Код_штрафу
Числовий
Первинний ключ
Назва_штрафу
Текстовий
Назва штрафу
Вартість_штрафу
Числовий
Вартість штрафу
Поле
Тип
Опис
Код_страховки
Числовий
Первинний ключ
Код_автомобіля
Числовий
Зовнішній ключ
Дата_початку
Дата/Час
Дата_закінчення
Дата/Час
Назва_страховки
Текстовий
Таблиця 1.15  «Страховка»
Дата початку
страхування
Дата закінчення
страхування
Назва страховки
Таблиця 1.16  «Технічне_обслуговування»
Зм.
Арк
Поле
Тип
Опис
Код_обслуговування
Числовий
Первинний ключ
Код_автомобіля
Числовий
Зовнішній ключ
Код_персоналу
Числовий
Зовнішній ключ
Характер_поломки
Текстовий
Дата_початку_ремонту
Дата/Час
Дата_закінчення_ремонту
Дата/Час
Вартість
Числовий
№ докум.
Підпис
Дата
Дата
Характер поломки
автомобіля
Дата початку ремонту
автомобіля
Дата закінчення
ремонту автомобіля
Вартість ремонту
КП 121.181.012
Арк.
Таблиця 1.17  «Штрафи_з_прокату»
Поле
Тип
Опис
Код_штрафного_листа
Числовий
Первинний ключ
Код_групи
Числовий
Зовнішній ключ
Код_штрафу
Числовий
Зовнішній ключ
Далі відображена схема даних(рис. 1.1).
Рисунок 1.1 – Схема даних
Логічна структура бази даних є відображенням предметної області.
Тому на вибір проектних розв'язків найвагоміший вплив виявляє специфіка
відображуваної предметної області, яка міститься в інфологічній моделі.
База даних «Прокат автомобілів.mdb» містить первинні ключі в усіх
таблицях, за допомогою яких забезпечується унікальність кожного запису
таблиці.
Існують
декілька
типів
можливих
зв'язків
між
таблицями.
Найпоширенішими є зв'язки «один до одного» і «один до багатьох». Зв'язок
«один-до-одного» – це зв'язок між відомостями у двох таблицях, де кожен
запис у кожній таблиці відображається лише один раз. Зв'язок «один до
багатьох» означає, що одному запису таблиці відповідають не менше двох
записів іншої таблиці. Таким чином, зв'язок між таблицями організується на
основі загального поля.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
1.4 Система програмування
Даний курсовий проект створений в операційній системі Windows 7 на
мові Delphi в середовищі програмування Borland Delphi 7.
Реалізація програми курсового проекту виконувалася з допомогою ПК,
який має такі технічні параметри:
 Процесор AMD Athlon(tm) II X2 250 Processor 3.01 GHz;
 Оперативна пам’ять 4,00 GB ОЗУ;
 Материнська плата ESC MCP61M-M3;
 Відеоадаптер NVIDIA GeForce 6150SE nForce430;
 Жорсткий диск 465 ГБ.
Delphi  це середовище розробки, яке використовується для створення
й підтримки додатків. Мова Delphi – це чітка типізована об’єктноорієнтована мова, в основі якої лежить мова Object Pascal. Delphi дає
можливість створювати програми в стилі візуального конструювання, тобто
користувач оформляє свою майбутню програму і бачить результати своєї
роботи ще до запуску самої програми. Delphi має користувальницький
графічний інтерфейс, подібний Visual Basic і С++. Весь вихідний текст
програми на Delphi пишеться мовою Object Pascal.
Технологія роботи у середовищі Delphi базується на ідеях об’єктноорієнтованого та візуального програмування. Структурною одиницею в
Delphi є візуальний об’єкт із заданим набором властивостей і методів, який
називається компонентом. Компоненти мають певні властивості. Властивості
можуть набувати значення з деякого заздалегідь фіксованого набору чи
значення, які надані користувачем.
Інтегроване середовище розробки Delphi – це складний механізм, що
забезпечує
високоефективну
роботу
програміста.
Візуально
воно
реалізується кількома одночасно розкритими вікнами. Зовнішній вигляд
середовища програмування Delphi відрізняється від багатьох інших з тих, що
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
можна побачити в Windows. Основні складові частини середовища
програмування Delphi: дизайнер форм, вікно редактора початкового тексту,
інспектор об’єктів, палітра компонентів. Середовище Delphi є відкритою
системою і дозволяє використовувати як компоненти VCL, так і компоненти
від сторонніх розробників або власні компоненти.
Також уведена підтримка SQL. З її допомогою можна виконувати такі
дії: вводити і видаляти дані з таблиці, вибірку даних по заданих параметрах,
створювати і видаляти файли даних. У зв’язку з цим Delphi можна
застосовувати для створення програмних засобів для роботи з базами даних.
Microsoft Access – це функціонально повна реляційна СУБД. СУБД
Microsoft Access призначена для роботи з реляційними базами даних.
Microsoft Access має інструментальні засоби для створення: локальної БД,
централізованої БД у локальній мережі з файловим сервером, різних
проектів. Access підтримує механізм OLE – зв'язування та впровадження
об'єктів різних додатків Windows у БД,
який дозволяє імпортувати дані
таблиць [4].
Основні компоненти MS Access [3]:
 конструктор таблиць;
 конструктор екранних форм;
 конструктор SQL-запитів та звітів, що виводяться на друк;
Access, при роботі з базою даних, інакше взаємодіє з жорстким
диском, ніж інші програми. Цілісність даних в Access забезпечується також
за рахунок механізму транзакцій.
Використання Access дозволяє:
 додавати нову інформацію до БД;
 змінювати інформацію, що вже знаходиться в БД;
 видаляти інформацію;
 впорядковувати та переглядати дані різними способами.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
2 СПЕЦІАЛЬНА ЧАСТИНА
2.1 Застосування мови UML до проектування інформаційної
системи
UML – уніфікована мова моделювання, використовується у парадигмі
об'єктно-орієнтованого програмування. Ця мова є невід'ємною частиною
уніфікованого процесу розробки програмного забезпечення. UML є мовою
широкого профілю, це відкритий стандарт, що використовує графічні
позначення для створення абстрактної моделі системи, яка називається UMLмоделлю. В засобах виконання UML-моделей можлива кодогенерація.
UML може бути застосовано на всіх етапах життєвого циклу аналізу
бізнес-систем і розробки прикладних програм. Основною причиною
використання мови UML є спілкування розробників між собою. Крім того,
UML спеціально створювалася для оптимізації процесу розробки програмних
систем, що дозволяє збільшити ефективність їх реалізації у кілька разів і
помітно поліпшити якість кінцевого продукту.
Однією з діаграм, що застосовуються на етапі проектування логічної
моделі ІС, є діаграма прецедентів використання, яка призначена для
побудови моделі того, як функціонує система в навколишньому середовищі.
Діаграма прецедентів використання – це діаграма, на якій зображено
відношення між акторами та прецедентами в системі. До основних елементів
побудови моделі прецедентів на діаграмі відносяться:
 прецедент – елемент, що відображає дії, які виконуються системою;
 актор – елемент, що позначає ролі користувача.
Між прецедентами в моделі можуть встановлюватися такі види
зв’язків: узагальнення, включення та розширення.
Діаграма
прецедентів
використання
визначає
взаємодію
між
зовнішніми учасниками і розглянутої системою для досягнення відповідної
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
мети. Актор може бути людиною, компанією або організацією, програмним
забезпеченням, комп'ютерною програмою тощо.
Далі представлено саму діаграму UML відповідно до визначеної
інформаційної системи:
Рисунок 2.1 – Діаграма прецедентів використання
2.2 Програма задачі та її опис
Програмна частина інформаційної системи складається з окремих
модулів. До складу кожного з модулів входять процедури та функції, які
забезпечують обробку визначених подій або виконують обробку інформації.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Таблиця 2.1 Модулі проекту та їх призначення
Зм.
Арк
№
1
2
Модуль
Form1
Form2
Призначення
Форма головного меню
Дата модуль
3
4
Form3
Form4
Форма «Автомобілі»
Форма «Видані автомобілі у прокат»
5
6
Form5
Form6
Форма «Групи»
Форма «Довідник адрес»
7
Form7
Форма «Довідник марок»
8
Form8
Форма «Довідник моделей»
9
Form9
Форма «Довідник посад»
10
Form10
Форма «Клієнти»
11
Form11
Форма «Країни»
12
Form12
Форма «Обслуговуючий персонал»
13
Form13
Форма «Послуги»
14
Form14
Форма «Система знижок»
15
Form15
Форма «Система штрафів»
16
Form16
Форма «Страховка»
17
Form17
Форма «Тариф»
18
Form18
Форма «Технічне обслуговування»
19
Form19
Форма «Штрафи з прокату»
20
Form20
21
Form21
22
Form22
Форма «Опис програми»
23
Form23
Форма «Вибірка страховки за датою початку»
24
Form24
25
Form25
№ докум.
Підпис
Форма «Вибірка автомобілів за датою
надходження у прокат»
Форма «Вибірка за вартістю виданих
автомобілів у прокат»
Форма «Вибірка за датою повернення виданих
автомобілів у прокат»
Форма «Вибірка технічного обслуговування за
датою початку ремонту»
Дата
Дата
КП 121.181.012
Арк.
Комп’ютерна програма – набір інструкцій у вигляді слів, цифр, кодів,
схем, виражених у формі, придатній для зчитування, які приводять його у
дію для досягнення результату. Складання програми – це запис алгоритму на
вибраній мові програмування.
Воно виконується представленням алгоритму у формі, яка задовольняє
введення в машину та послідуючий переклад на машинну мову, тобто
розроблений алгоритм необхідно викласти на мові, яка була б зрозуміла ЕОМ
безпосередньо або після попереднього машинного перекладу. Від вибору
мови програмування залежить процес відладки програми під час якої
програма приймає кінцевий робочий вигляд. Для розробки програми вибрана
мова програмування Borland Delphi 7.
Текст програми до головної форми має вид:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, Menus, ExtCtrls,Unit1, StdCtrls,Unit2, jpeg, Grids,
DBGrids, DBCtrls, Mask, TeeProcs, TeEngine, Chart, Series, comObj,
ComCtrls, ActiveX,db, Buttons;
type
TForm3 = class(TForm)
DBGrid2: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
Button1: TButton;
Button2: TButton;
Button3: TButton;
DBNavigator1: TDBNavigator;
GroupBox1: TGroupBox;
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
Label11: TLabel;
GroupBox2: TGroupBox;
Button4: TButton;
Edit1: TEdit;
Label12: TLabel;
N2: TMenuItem;
Button6: TButton;
Chart1: TChart;
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
N3: TMenuItem;
GroupBox3: TGroupBox;
Button7: TButton;
DBLookupComboBox2: TDBLookupComboBox;
Label13: TLabel;
Series1: TBarSeries;
Image1: TImage;
DateTimePicker1: TDateTimePicker;
Label14: TLabel;
Label15: TLabel;
DBEdit11: TDBEdit;
Image2: TImage;
GroupBox4: TGroupBox;
Label16: TLabel;
Button8: TButton;
N4: TMenuItem;
DBLookupComboBox3: TDBLookupComboBox;
Button9: TButton;
Button10: TButton;
BitBtn1: TBitBtn;
procedure N1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
procedure Button6Click(Sender: TObject);
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
procedure Button7Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit9KeyPress(Sender: TObject; var Key: Char);
procedure Button8Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit4;
{$R *.dfm}
procedure TForm3.N1Click(Sender: TObject);
begin
Form1.Show;
Form3.Close;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.GroupBox1.Visible:=true;
if MessageDlg('Ви впевнені, що хочете додати новий запис?',
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
mtConfirmation, mbOKCancel, 0) = mrOk
then begin
DataModule2.Adotable1.Insert;
DataModule2.Adotable1.Edit;
DataModule2.Adotable1.FieldByName('Код_автомобіля').AsInteger:=StrT
oInt('0');
DataModule2.Adotable1.Post;
DataModule2.ADOTable1.Refresh;
end;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
if (DBEdit2.Text='') or (DBEdit3.Text='') or (DBEdit4.Text='') or
(DBEdit5.Text='') or (DBEdit6.Text='') or (DBEdit7.Text='') or
(DBEdit8.Text='') or (DBEdit9.Text='') or (DBEdit10.Text='') or
(DBEdit11.Text='') then
begin
application.MessageBox('Заповнені не всі поля!','Попередження',mb_ok);
exit;
end;
DataModule2.Adotable1.Edit;
DataModule2.Adotable1.Post;
DataModule2.ADOTable1.Refresh;
try
DataModule2.ADOTable1.Refresh;
except
application.MessageBox('Неможливо записати. Перевірте правильність
даних, що вводяться!','Системна помилка!',mb_ok);
end
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
if MessageDlg('Ви впевнені, що хочете видалити цей запис?',
mtConfirmation, mbOKCancel, 0) = mrOk
then DataModule2.Adotable1.Delete;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
if (Edit1.Text='') then
begin
application.MessageBox('Не введено критерії пошуку!', 'Попередження',
mb_ok);
exit;
end;
try
if not DataModule2.ADOTable1.Locate('Державний_номер', Edit1.Text,
[]) then
ShowMessage('Такого номера в базі немає!');
except
application.MessageBox('Неможливо виконати запит. Перевірте
правильність даних, що вводяться!','Системна помилка!',mb_ok);
end;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
Form3.GroupBox1.Visible:=false;
Form3.GroupBox2.Visible:=false;
Form3.GroupBox3.Visible:=false;
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Form3.GroupBox4.Visible:=false;
Form3.Chart1.Visible:=false;
Form3.DBGrid2.Columns[0].Width:=86;
Form3.DBGrid2.Columns[1].Width:=110;
Form3.DBGrid2.Columns[3].Width:=65;
Form3.DBGrid2.Columns[4].Width:=115;
Form3.DBGrid2.Columns[5].Width:=160;
Form3.DBGrid2.Columns[10].Width:=110;
Form3.DBGrid2.Columns[11].Width:=85;
Form3.DBGrid2.Columns[12].Width:=64;
Form3.DBGrid2.Columns[13].Width:=64;
Form3.DBGrid2.Columns[14].Width:=65;
Form3.DBGrid2.Columns[15].Width:=80;
end;
procedure TForm3.N2Click(Sender: TObject);
begin
Form3.GroupBox2.Visible:=true;
end;
procedure TForm3.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9'] then Key:=#0;
end;
procedure TForm3.DBEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9'] then Key:=#0;
end;
procedure TForm3.DBEdit9KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9'] then Key:=#0;
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
Form3.GroupBox1.Visible:=false;
Form3.Button6.Visible:=false;
end;
procedure TForm3.Button7Click(Sender: TObject);
var
str:string;
begin
str:=Form3.DBLookupComboBox2.KeyValue;
DataModule2.ADOTable1.Filtered:=false;
DataModule2.ADOTable1.Filter:='Тип_авто like '+ quotedstr(str);
DataModule2.ADOTable1.Filtered:=true;
form3.Series1.Clear;
DataModule2.ADOTable1.First;
while (not DataModule2.ADOTable1.Eof) do
begin
form3.Series1.Add(DataModule2.ADOTable1.FieldValues['Вартість_авто
мобіля'], DataModule2.ADOTable1.FieldValues['Код_автомобіля']);
DataModule2.ADOTable1.Next;
end;
end;
procedure TForm3.N3Click(Sender: TObject);
begin
Form3.Chart1.Visible:=true;
Form3.GroupBox3.Visible:=true;
end;
procedure TForm3.DateTimePicker1Change(Sender: TObject);
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
begin
DataModule2.Adotable1.Edit;
DataModule2.Adotable1.FieldByName('Дата_надходження_у_прокат').As
DateTime:=Form3.DateTimePicker1.Date;
end;
procedure TForm3.Button8Click(Sender: TObject);
var
str:string;
begin
str:=Form3.DBLookupComboBox3.KeyValue;
DataModule2.Adotable1.Filtered:=false;
DataModule2.Adotable1.Filter:='Назва_автомобіля like '+ quotedstr(str);
DataModule2.Adotable1.Filtered:=true;
end;
procedure TForm3.N4Click(Sender: TObject);
begin
Form3.GroupBox4.Visible:=true;
end;
procedure TForm3.Button9Click(Sender: TObject);
begin
DataModule2.ADOTable1.Sort:='Державний_номер';
end;
procedure TForm3.Button10Click(Sender: TObject);
begin
DataModule2.Adotable1.Filtered:=false;
end;
procedure TForm3.BitBtn1Click(Sender: TObject);
var
Excel, Workbook: Variant;
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Path, FileName : String;
link:string;
count:integer;
begin
Path := ExtractFilePath(ParamStr(0));
FileName := Path + 'excel/1.xltx';
Excel:= CreateOleObject('Excel.Application');
Excel.Application.EnableEvents := false;
Workbook := Excel.WorkBooks.Add(FileName);
Excel.Visible := true;
link:=path+'excel/Автомобілі.xlsx';
Excel.WorkBooks[1].SaveAs(link);
count:=1;
DataModule2.ADOTable1.First;
while not DataModule2.ADOTable1.Eof do
begin
inc(count);
Excel.Range['a'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Код_автомобіля'];
Excel.Range['a'+inttostr(count)].borders.linestyle:=1;
Excel.Range['b'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Державний_номер'];
Excel.Range['b'+inttostr(count)].borders.linestyle:=1;
Excel.Range['c'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Тип_авто'];
Excel.Range['c'+inttostr(count)].borders.linestyle:=1;
Excel.Range['d'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Вартість_автомобіля'];
Excel.Range['d'+inttostr(count)].borders.linestyle:=1;
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Excel.Range['e'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Дата_надходження_у_прокат'];
Excel.Range['e'+inttostr(count)].borders.linestyle:=1;
Excel.Range['f'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Назва_автомобіля'];
Excel.Range['f'+inttostr(count)].borders.linestyle:=1;
Excel.Range['g'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Марка'];
Excel.Range['g'+inttostr(count)].borders.linestyle:=1;
Excel.Range['h'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Персонал'];
Excel.Range['h'+inttostr(count)].borders.linestyle:=1;
Excel.Range['i'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Страховка'];
Excel.Range['i'+inttostr(count)].borders.linestyle:=1;
Excel.Range['j'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Країна'];
Excel.Range['j'+inttostr(count)].borders.linestyle:=1;
Excel.Range['k'+inttostr(count)]:=DataModule2.ADOTable1.FieldValues
['Модель'];
Excel.Range['k'+inttostr(count)].borders.linestyle:=1;
DataModule2.ADOTable1.Next;
end;
end;
procedure TForm3.N5Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
2.3 Тестування та відлагодження програми
Тестування – це процес перевірки відповідності заявлених до продукту
вимог і реально реалізованої функціональності, здійснюваний шляхом
спостереження за його роботою в штучно створених ситуаціях і на
обмеженому наборі тестів. Якщо програма виконується успішно, бажано
завершити її випробування тестуванням при введені початкових даних, які
приймають граничне для програми значення, а також виходять за допустимі
границі значення на вході [9].
Одним із видів тестування програми є її відлагодження – це
методичний процес пошуку та зменшення числа помилок або дефектів у
комп'ютерній програмі. Важливим етапом після написання коду програми є
його відлагодження, що починається з виявлення та усунення помилок в
тексті програми. Відлагодження програми включає в себе наступні етапи:
 порівняння кінцевої версії програми із обраною схемою алгоритму;
 візуальний контроль програми на екрані дисплею ;
Ці два етапи тестування здатні усунути велику кількість помилок, як
синтаксичних так і семантичних. Синтаксичні помилки – це помилки, які
представляють собою неправильне написання слів та символів мови
програмування. Семантичні помилки – це змістові помилки, проблема яких
полягає в тому, що зміст написаної програми відрізняється від того, що ви
мали на увазі. Пошук таких помилок - завдання непросте, оскільки
доводиться проглядати результати роботу програми і розбирати, що
програма робить насправді.
Відлагодження програми відбувається в декілька етапів:
 трансляція програми на машинну мову;
 редагування зовнішніх зв’язків і компонування програми;
 виконання програми.
 тестування програми.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
При розробці даної програми виникали такі помилки:
 неправильне відображення діаграми;
 внесення неправильних даних до таблиці;
 некоректна робота деяких компонентів;
 помилкове відображення даних у таблицях:
 неправильна робота пошуку;
 неправильна робота фільтрації;
 неправильна робота SQL - запитів;
 різні синтаксичні помилки;
 неправильна робота сортування.
Після виправлення цих помилок та
трансляції
програма
запрацювала
компіляції, компоновки
правильно та
видавала
i
вірний
результат роботи.
2.4 Дослідна експлуатація програми
Дослідна експлуатація – одна з останніх стадій створення приладів,
обладнання, систем, програм та методик, що полягає в використанні вище
перерахованого за прямим призначенням в реальних робочих процесах та під
час якої остаточно визнається їх функціональна придатність.
Дослідна експлуатація проекту відбулась після закінчення етапу його
налагодження та тестування. Метою дослідної експлуатації являється [8]:
 виявлення семантичних та синтаксичних помилок, які не помічені
на попередньому етапі налагодження проекту;
 перевірка функціонування усіх підсистем програмного продукту;
 перевірка зручності супроводу проекту;
 удосконалення діалогових та інших засобів роботи проекту;
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Дана програма виконується в режимі «Користувач».
Рисунок 2.2 – Вигляд головної форми в режимі «Користувач»
У даномі проекті передбачено запобігання внесення помилкових даних
та помилкове видалення інформації. Користувач постійно стикається з
попередженнями перед видаленням інформації, додаванням інформації та
повідомленнями про успішну або неуспішну модифікацію даних.
Рисунок 2.3 – Попередження при видаленні та додаванні даних
Також у програмі передбачена система відображення різних таблиць,
довідників і режимів роботи програми:
Рисунок 2.4 – Попередження при видаленні та додаванні даних
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
2.5 Робота з програмою
Після запуску проекту для ознайомлення з принципом функціонування
самої програми потрібно перейти до справки → про програму:
Рисунок 2.5 – Справка
Далі після ознайомлення потрібно натиснути перейти до основної
форми і в цій формі клацнути на меню і вибрати таблицю із переліку:
Рисунок 2.6 – Вибір таблиці
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Після того як виконався перехід до відповідної таблиці потрібно
виконати додавання, видалення та збереження даних з домогою кнопок, які
знаходяться під таблицею:
Рисунок 2.7 – Результат роботи кнопки «Додати»
Рисунок 2.8 – Результат роботи кнопки «Видалити»
Рисунок 2.9 – Результат роботи кнопки «Зберегти»
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Для виконання пошуку, сортування та фільтрації потрібно в меню
натиснути пошук/сортування, фільтрація:
Рисунок 2.10 – Результат роботи кнопки «Виконання пошуку»
Рисунок 2.11 – Результат роботи кнопки «Виконання фільтрації»
Рисунок 2.12 – Результат роботи кнопки «Виконання сортування»
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Для відображення діаграми потрібно в меню натиснути діаграма,
вибравши тип авто:
Рисунок 2.13 – Результат роботи кнопки «Виконання»
Для виконання експорту потрібно натиснути на іконку Microsoft Excel:
Рисунок 2.14 – Результат роботи кнопки «Експорт»
Також для зручності роботи з таблицею на формі міститься
спеціальний DBNavigator, який забезпечує функції додавання, видалення,
збереження, оновлення та переходу між записами таблиці:
Рисунок 2.15 – Результат роботи DBNavigator
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Після виконання всіх цих дій над таблицею можна перейти до основної
форми → запити і вибрати відповідний запит із переліку:
Рисунок 2.16 – Вибір запиту
Після того як виконався перехід до відповідного запиту потрібно
потрібно в меню натиснути запит на вибірку → виконання запиту:
Рисунок 2.17 – Результат роботи кнопки «Виконання запиту»
Потім можна виконати завершення роботи програми, в результаті чого
припинеться робота самої програми:
Рисунок 2.18 – Завершення роботи програми
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
ВИСНОВКИ
В процесі виконання курсового проекту були використані всі знання та
вміння, отримані при вивченні курсу дисципліни «Основи програмної
інженерії». Було вдосконалено навички розробки програм на мові Borland
Delphi 7 по створенню таблиць та запитів, були отримані навички у розробці
алгоритмів, записі коду програми, тестуванні та відлагодженні програми в
системі програмування Borland Delphi 7.
Було покращено навички оформлення програмної документації. Також
була створена діаграма прецедентів використання відповідно до виконуваних
програмою режимів роботи. В процесі створення програми була виконана
така послідовність дій:
 створення спеціального меню;
 відображення всіх таблиць створеної БД;
 виконання функцій додавання, збереження та видалення даних;
 організація пошуку, сортування та фільтрації;
 відтворення діаграми за даними відповідної таблиці;
 створення запитів;
 експорт даних до середовища Microsoft Excel.
Отримана
в
результаті
курсового
проекту
програма,
може
використовуватися для вирішення завдань в різних галузях та відрізняється
надійністю і простотою у використанні.
Отже, програма була розроблена на мові Borland Delphi 7. На мою
думку програма являється дійсно актуальною, тому що з допомогою неї
можна дізнатися багато нового та зрозуміти в цілому як функціонує
автопрокат. Загалом під час виконання курсового проєкту я дізнався багато
нового, яке мені допоможе в майбутньому.
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
ЛІТЕРАТУРА
1. Безменов М. І. Основи програмування у середовищі Delphi :
навчальний посібник – Харків : НТУ «ХПІ», 2010. – 608 с.
2. Шустова Л. І. Бази даних. Підручник. – М.: Інфра-М, 2017. – 304 с.
3. Бекаревич Ю. Б., Пушкіна Н.В. Самовчитель MS Office Access 2016
– СПб.: БХВ-Петербург, 2017. – 480 с.
4. Волик М.В. Розробка бази даних у Access: Навчальний посібник –
М.: Прометей, 2021. – 88 с.
5. Сайт – Поняття АІС [Електронний ресурс]. Режим доступу:
https://studopedia.org/7-97420.html
6. Сайт – Класифікація АІС [Електронний ресурс]. Режим доступу:
https://lubbook.org/book_270_glava_4_2.2._Klasif%D1%96ka%D1%81%D1%96
ja_avtomati.html
7. Сайт – Загальні відомості про БД [Електронний ресурс]. Режим
доступу:
https://www.bestprog.net/uk/2017/09/14/general-information-about-
databases-history-of-the-development-of-database-management-systems_ua/#q02
8. Сайт – Дослідна експлуатація [Електронний ресурс]. Режим
доступу: https://stud.com.ua/162490/prirodoznavstvo/doslidna_ekspluatatsiya
9. Сайт – Технологія програмування, виконання та відлагодження
програми[Електронний ресурс]. Режим доступу: https://studfile.net/preview/
5740354/page:4
10. Сайт – Мова візуального програмування [Електронний ресурс].
Режим доступу: https://uk.theastrologypage.com/visual-programming-language
Зм.
Арк
№ докум.
Підпис
Дата
Дата
КП 121.181.012
Арк.
Download