Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP :: Cursova.docx
Скачиваний:
14
Добавлен:
01.08.2019
Размер:
1.66 Mб
Скачать
  1. Розроблення програми

Перш ніж приступити до розробки програмного коду, потрібно розібрати такі питання:

  • Які класи будуть використовуватися?

  • Які методи будуть містити ці класи?

  • Які об’єкти будуть використовуватися?

  • Чи потрібні окремі файли для збереження даних про роботу програми?

    1. Розробка системи класів

Виберемо декілька основних класів, які будуть виконувати основний функціонал програми. Для початку нам потрібен клас, який буде перевіряти хто увійшов до системи. Назвемо цей клас CRegister. Потім, нам буде потрібен клас для розділення типів аккаунтів. Це може бути не 1 клас, а декілька класів, які складають ієрархію успадкувань. Назвемо батьківський клас цієї ієрархії User (користувач). І ще нам пригодяться 3 класи, які будуть описувати інтерфейси для кожного з типів користувача. Назвемо їх, відповідно: CUserInterfaceDlg, CManagerInterfaceDlg, CAdminInterfaceDlg. Приблизна схема класів зображена на рисунку 3.1.1.

Рис 3.1.1. Схема основних класів програми

Тепер побудуємо для кожного з цих класів дерево допоміжних класів.

      1. Розробка ієрархії класу CRegister

Для класу CRegister буде відповідати відповідна форма, яка містить 2 поля типу EditText та трьома кнопками (вхід, реєстрація, гість). Кнопка вхід буде відповідати за функцію автентифікації користувача до системи. Кнопка реєстрація буде відповідати за функцію виводу вікна реєстраційної форми, відповідно цій формі потрібно присвоїти свій відповідний клас, назвемо його CRegisterBlank. Ця форма буде містити усі необхідні поля для реєстрації нового аккаунта в систему, тобто клас буде виконувати функцію занесення нової особи до бази даних користувачів.

      1. Розробка ієрархії класу User

Клас User створює об’єкти, які будуть містити основну інформацію про користувача системи (прізвище, ім’я, логін, md5-hash пароля, тип). Але цього не достатньо для інформації про персонал. Тому додамо до ієрархії клас Personal із додатковими атрибутом (посада, заробітна плата). Також для адміністрації потрібен додатковий клас, добавимо його в ієрархію і назвемо його Admin.

      1. Розробка ієрархії класу CUserInterfaceDlg

Оскільки цей клас буде реалізовувати інтерфейс відвідувача, то в ньому повинні бути такі функції як вивід інформації про страву, та вивід інформації про стан замовлення. Тут постає питання: як представити страву у програмі? Відповідь на це питання – створити відповідний клас, який буде описувати страву по всім основним параметрам (назва страви, з чого складається, її ціна). Назвемо цей клас Bleed. Ще одне питання: як представити замовлення? Можна звісно зробити список страв і просто по черзі виводити його, але для кращої читабельності, створимо клас, який буде містити цей список і назвемо його Order.

      1. Розробка ієрархії класу CManagerInterfaceDlg

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

Рис. 3.1.4.1. Макет інтерфейсу персоналу

Кнопка «Додати» - буде додавати страву до певного меню, викликаючи форму в модальному режимі для додавання страви у базу даних (файл із стравами). Вигляд цієї форми представлено на рисунку 3.1.4.2.

Рис. 3.1.4.2. Макет форми додавання страви до файлу

Для цієї форми потрібно створити клас, назвемо його CAddBleed. Цей клас буде виконувати функцію занесення страви до бази даних, його відповідна форма буде містити перемикачі (RadioButton), 3 текстових поля (EditText), кнопку для додавання страви до файлу та статичне текстове поле (StaticText), яке буде повідомляти про стан роботи.

Кнопка «Редагувати» - буде виконувати функцію редагування інформації про страву в меню. Для цього потрібно створити форму та відповідно клас для ціїє форми, назвемо його CEditBleed. Форма може бути схожа на форму додавання страви, але функціонал трішки інший буде. Потрібна додаткова функція пошуку страви. Вигляд цієї форми представлено на рисунку 3.1.4.3.

Рис. 3.1.4.3. Макет форми для редагування інформації про страву у файлі

Кнопка «Видалити» - буде виконувати функцію виклику вікна для видалення страви із бази даних. Тобто це буде ще одна форма, якій відповідно потрібен клас, назвемо його CRemoveBleed. Форма представлена на рисунку 3.1.4.4.

Рис. 3.1.4.4. Макет форми для видалення страви із файлу

Функція цього класу – видаляти страви із файлу, шляхом пошуку назви страви у відповідному пункті меню.

      1. Розробка ієрархії класу CAdminInterfaceDlg

Клас CAdminInterfaceDlg описує роботу інтерфейсу адміністрації. Основні функції його – це вивід списку персоналу, інформації про персонал, та зміна даних в базі даних користувачів системи. Для виводу інформації про персонал, можна скористуватися вже готовим класом Manager, шляхом ініціалізації об’єкта цього класу і виводу даних цього об’єкта у список із даними про персонал. Зміна даних про користувача можна реалізувати по аналогії із реалізацією із функціями додавання, редагування та видалення страв, створивши відповідні форми та їх класи: CAddPersone, CEditPersone, CRemovePersone.

Розібравшись із ієрархіями класів, можна розробити нову діаграму класів, яка представлена на рисунку 3.1.2.

Рис. 3.1.2. UML-діаграма класів

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]