ажливо, він забезпечує можливість об'єктно-орієнтованого програмування.
Цей підхід можна також застосувати і системі терміналів олпати різних послуг, таких як оплата послуг мобільного зв'язку, оплата послуг житлово-комунального комплексу і т.д. У даному курсовому проекті мною був реалізований термінал оплати послуг зв'язку, інтернету, телебачення та ЖКГ. Дана система є досить складно і вимагає максимально використовувати можливості об'єктно-орієнтованого програмування.
Так завдання полягає в створення лише віртуального терміналу оплати, то мені необхідно вирішити лише деякі із завдань його реалізації, такі як: можливість системі мати власну базу даних про клієнта і його засобах, забезпечити можливість програмно міняти інформацію про надходженні коштів на рахунок або знятті коштів з рахунку, розробити максимально зручний і зрозумілий користувачеві інтерфейс. Інтерфейс, що вимагає менше натискань клавіш (або інших дій користувача типу клацань мишею), краще того, який вимагає багато натискань для виконання однієї і тієї ж операції, навіть якщо такі види інтерфейсів звичайно складніше в освоєнні. Таким чином, дана завдання полягає в написання простого і зрозумілого додатки з функціоналом бази даних.
У даному курсовому проекті представлені наступні розділи:
- постановка задачі (в цьому розділі детально описується прикладна задача та порядок її розв'язання);
- побудова абстрактної моделі (опис об'єктно-орієнтованої моделі розв'язуваної задачі, UML-опис структури ієрархії класів);
- структура класу (складається з трьох підрозділів: формальний опис класу, опис структур даних, функцій та інструкція програміста);
- демонстраційна програма (містить текст програми та інструкцію користувача);
- тестовий приклад (демонстрація роботи програми для різних наборів вхідних даних).
1. Постановка завдання
В якості прикладної задачі в даному курсовому проекті розглянуто задачу реалізації програми, яка емулює роботу терміналу оплати послуг зв'язку, телебачення, інтрнет та ЖКГ. Так як це всього лише емулятор терміналу, а не реальне програмне забезпечення, я лише припускаю начілічіе функцій справжнього терміналу, таких як купюроприймач або засіб для видачі чеків. Незважаючи на це, я постаралася максимально описати роботу програми.
Далі перераховані основні функції, які буде реалізовувати побудована модель:
- прийом купюр;
- перевірка відповідності номерів особового рахунку, номерів телефону або квитанції;
- реєстрація нових особових рахунків;
- поповнення зміна балансу;
- висновок балансу на екран;
- емулятор чека;
- збереження і оновлення інформації в базі після кожної операції;
- функції безпеки:
Функцію сохраняемости я забезпечила, шляхом створення найпростішої бази даних. Дані зберігаються в текстовому файлі. Запис у файл реалізована за допомогою потокового виводу.
Програма переслідує наступні обмеження: баланс не може бути негативним, ідентифікаційний номер повинен бути довжиною 7 цифр.
Результатом виконання даного курсового проекту стане повноцінне додаток, емулює термінал оплати послуг.
2. Побудова абстрактної моделі
Об'єктно-орієнтована модель даної задачі зводиться до опису кількох структур даних, взаємодіючих між собою.
У програмі реалізовані наступні класи:
- клас форми;
- клас «Система» (містить основні функції терміналу, є абстрактним, має одну чисту віртуальну функцію, властиву всім дочірнім класів);
- клас «Інтернет» (отнаследован від класу «Система», містить у собі певну віртуальну функцію);
- клас «Зв'язок» (отнаследован від класу «Система», містить у собі певну віртуальну функцію);
- клас «Телебачення» (отнаследован від класу «Система», містить у собі певну віртуальну функцію).
- клас «ЖКГ» (отнаследован від класу «Система», містить у собі певну віртуальну функцію).
Структура і взаємодія класів продемонстровані діаграмах UML.
На малюнку 1 представлена ??діаграма класів для реалізації сутності «Система терміналу».
Рисунок 1 - Діаграма класів терміналу
Дана діаграма відображає основну суть курсового проекту - ієрархію клас...