Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnyuvalna_zapiska_1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.07 Mб
Скачать

3 Спеціальна частина

3.1 Опис структури бази даних

Для створення бази даних було обрано вбудовану до С++ Builder програму DatabaseDesktop.

Згідно з постановкою задачі база даних містять поля, які розміщені у двох таблицях СУБД Paradox. Перша таблиця містить основні відомості про товари та має назву «Таблиця товарів», друга таблиця містить відомості про продані товари та має назву «Таблиця проданих товарів». Опис полів перерахованих таблиць приведені в таблиці 3.1 та таблиці 3.2.

Таблиця 3.1 – Опис полів таблиці «Таблиця товарів»

Ім’я поля

Опис поля

Тип поля

Department

Відділ магазину

Alpha

Name

Назва товару

Alpha

Number

Кількість товару

Short

Term

Термін придатності

Date

Price

Ціна

Number

Manufacturer

Виробник

Alpha

Таблиця 3.2 – Опис полів таблиці «таблиця проданих товарів»

Ім’я поля

Опис поля

Тип поля

Date

Дата отримання чеку

Date

Cost

Ціна

Number

Дані, які входять до таблиці «таблиця товарів» вводитимуться з клавіатури, перед виконанням програми за допомогою вбудованої до C++ Builder програми Database Desktop, та зберігатимуться в таблиці з назвою «BD_Krasavan.DB». Також є можливість введення даних безпосередньо під час виконання програми знаходячись на формі Form5, яка містить заголовок «Адміністратор».

Вхідні дані та склад контрольного прикладу знаходяться в додатку А

3.1.1 Опис інтерфейсу програми

Інтерфейс програмного забезпечення складається з шести форм, які приведені в таблиці 3.3.

Таблиця 3.3 – Призначення форм програми

Ім’я форми

Призначення форми

Form1

Перегляд таблиці «Таблиця товарів», пошук за найменуванням, пошук за відділом, пошук у певному діапазоні цін та перегляд товарів з кінцевим терміном придатності.

Form2

Придбання вибраних продуктів.

Form3

Перегляд таблиці «Таблиця придбаних товарів», найдорожчої покупки та виручку магазину за весь період.

Form4

Перегляд таблиці «Таблиця товарів», перегляд виручки за певну дату та видалення товару з таблиці «Таблиця товарів».

Form5

Вибір режиму роботи з програмою.

Form6

Додавання та редагування товару в таблиці «Таблиця товарів».

Form7

Введення паролю адміністратора.

Form8

Перегляд прибутку на заданий рік. Діаграма прибутку.

Форма Form1 призначена для перегляду таблиці «Таблиця товарів», пошуку за найменуванням, пошуку за відділом, пошуку у певному діапазоні цін, перегляду товарів з кінцевим терміном придатності та вибору товару для покупки. Властивість Caption=“Магазин Красаван”. На ній розміщені компоненти: Table1, Table2, DataSource1, DataSource2, DBGrid1, ComboBox1, CSpinEdit2, DBNavigator1, Edit1, ImageList1, Label2, Label3, Panel1, SpeedButton1, StrtusBar1, Timer1, ToolBar1.

Компоненти Table1, Table2, DataSource1, DataSource2 призначені для представлення таблиць бази даних. Table1 та DataSource1 пов’язані з таблицею «Таблиця товарів», Table2 та DataSource2 пов’язані з таблицею «Таблиця проданих товарів».

Компонент DBGrid1 призначений для візуального відображення таблиці «Таблиця товарів».

Компонент DBNavigator1 призначений для навігації по таблиці «Таблиця товарів».

Компонент ComboBox1 призначений для вибору відділу та пошуку товарів, які знаходяться у вибраному відділі.

Компонент CSpinEdit2 призначений для введення кількості товарів до покупки.

Компонент Edit1 призначений для введення найменування та пошуку товарів, які співпадають з введеним найменуванням.

Компонент Label2 призначений для інформування користувача про застосування компоненту Edit1.

Компонент Label3 призначений для інформування користувача про вміст компоненту ComboBox1.

Компонент Panel1 призначений для групування компонентів, які допоможуть в пошуку товарів в певному діапазоні цін. До групи входять такі компоненти:

  • CSpinEdit1 – призначений для введення початкового значення діапазону цін;

  • CSpinEdit2 – призначений для введення кінцевого значення діапазону цін;

  • Label4 – призначений для інформування користувача про застосування компонентів CSpinEdit1 та CSpinEdit2;

  • Button1 – призначений для приховування панелі Panel1 та пошуку товарів в указаному діапазоні цін.

На рисунку 3.1 зображена панель Panel1.

Рисунок 3.1 – Панель Panel1, яка знаходиться на формі Form1

Компонент SpeedButton1 призначений для перенесення вибраного товару до кошику. Кошик знаходиться на формі Form2.

Компонент StatusBar1 призначений для виведення поточної дати та часу.

Компонент Timer1 призначений для оновлення поточної дати та часу на компоненті StatusBar1.

Компонент ToolBar1 служить як контейнер для таких компонентів:

  • ToolButton2 – призначений для повернення до головної форми програми (Form5).

  • ToolButton3 – призначений для виведення панелі Panel1.

  • ToolButton5 – призначений для виведення товарів з кінцевим терміном придатності.

  • ToolButton9 – призначений для переходу до кошика (форма Form2).

  • ToolButton12 – призначений для завершення роботи програми.

Компонент ImageList1 призначений для зберігання зображення кнопок, які знаходяться на компоненті ToolBar1.

На рисунку 3.2 зображена форма Form1 під час роботи програми.

Рисунок 3.2 – Форма Form1 під час роботи програми

Форма Form2 призначена для придбання вибраних товарів, якщо вони є. Властивість Caption=“Кошик”. На ній розміщені компоненти: Button1, Button2, Button3, CSpinEdit1, Edit1, Label1, SpeedButton1, StringGrid1.

Компонент StringGrid1 призначений для виведення вибраних товарів до покупки.

Компонент Button1 призначений для відмови від покупки вибраних товарів та повернення до форми Form1.

Компонент Button2 призначений для повернення до форми Form1 без змінень у кошику.

Компонент Button3 призначений для придбання товарів, які знаходяться у кошику. Якщо кошик порожній, виведеться відповідне повідомлення (рисунок 3.3).

Рисунок 3.3 – Повідомлення про порожній кошик

Компонент CSpinEdit1 призначений для змінення кількості товару у кошику до покупки.

Компонент Edit1 призначений для виведення суми до сплати за вибрані товари.

Компонент Label1 призначений для інформування користувача про вміст компоненту Edit1.

Компонент SpeedButton1 призначений для видалення вибраного товару з кошику.

На рисунку 3.4 зображена форма Form2 під час роботи програми.

Рисунок 3.4 – Форма Form2 під час роботи програми

Форма Form3 призначена для перегляду таблиці «Таблиця придбаних товарів», перегляду найдорожчої покупки та перегляду виручки магазину за весь період. Властивість Caption=“Перегляд чеків”. На ній розміщені компоненти: Button1, Label1, Panel1.

Компонент Button1 призначений для закриття форми Form3.

Компонент Panel1 служить як контейнер для таких компонентів:

  • DBGrid1 – призначений для візуального відображення таблиці «Таблиця проданих товарів».

  • Edit1 – призначений для виведення найдорожчої покупки.

  • Edit2 – призначений для виведення виручки магазину за весь період.

  • Label2 – призначений для інформування користувача про вміст компоненту Edit2.

  • Label4 – призначений для інформування користувача про вміст компоненту Edit1.

Компонент Label1 призначений для інформування користувача про вміст компоненту Panel1.

На рисунку 3.5 зображена форма Form3 під час виконання програми.

Рисунок 3.5 – Форма Form3 під час виконання програми

Форма Form4 призначена для перегляду таблиці «Таблиця товарів», перегляду виручки за певну дату та видалення товару з таблиці «Таблиця товарів». Властивість Caption=“Адміністратор”. На ній розміщені компоненти: DBGrid1, DBNavigator1, Panel1, Panel2.

Компонент DBGrid1 призначений для візуального відображення таблиці «Таблиця товарів».

Компонент DBNavigator1 призначений для навігації в таблиці «Таблиця товарів».

Компонент Panel2 призначений для групування компонентів, які допоможуть вивести виручку за певну дату. До групи входять такі компоненти:

  • DateTimePicker1 – призначений для введення початку діапазону часу та підрахунку виручки в указаному діапазоні.

  • DateTimePicker2 – призначений для введення кінця діапазону часу та підрахунку виручки в указаному діапазоні.

  • Label2 – призначений для інформування користувача про застосування компонентів DateTimePicker1 та DateTimePicker2.

  • Edit1 – призначений для виведення виручки.

  • Label1 – призначений для інформування користувача про вміст компоненту Edit1.

  • Button1 – призначений для приховування панелі Panel2.

На рисунку 3.6 зображена панель Panel2, яка знаходиться на формі Form4.

Рисунок 3.6 – Панель Panel2, яка знаходиться на формі Form4

Панель Panel1 є контейнером для таких компонентів:

  • SpeedButton1 – призначений для відкриття форми Form6 з параметрами для додавання.

  • SpeedButton2 – призначений для відкриття форми Form6 з параметрами для редагування.

  • SpeedButton3 – призначений для видалення вибраного товару з таблиці «Таблиця товарів».

  • SpeedButton4 – призначений для відкриття форми Form3.

  • SpeedButton5 та SpeedButton6 – призначені для виведення панелі Panel2.

  • SpeedButton7 – призначений для повернення до головної форми програми (Form5).

  • SpeedButton8 – призначений для завершення роботи програми.

На рисунку 3.7 зображена форма Form4 під час виконання програми.

Рисунок 3.7 – Форма Form4 під час виконання програми

Форма Form5 призначена для вибору режиму роботи з програмою. Властивість Caption=“Ласкаво просимо”. На ній розміщені компоненти: Button1, Button2, Button3, Label1.

Компонент Button1 призначений для переходу до режиму покупця (форма Form1).

Компонент Button2 призначений для переходу до режиму адміністратора (форма Form4).

Компонент Button3 призначений для завершення роботи програми.

Компонент Label1 призначений для інформування користувача про вміст форми Form5.

На рисунку 3.8 зображена форма Form5 під час виконання програми.

Рисунок 3.8 – Форма Form5 під час виконання програми

Форма Form6 призначена для додавання записів та редагування записів в таблиці «Таблиця товарів». Властивість Caption=“Додавання до БД”. На ній розміщені компоненти: Button1, Button2, Button3,ComboBox1, CSpinEdit1, DateTimePicker1, Edit1, Edit2, Edit3, Label1, Label2, Label3, Label4, Label5 та Label6.

Компонент ComboBox1 призначений для вибору відділу магазину.

Компонент Label1 призначений для інформування користувача про застосування компоненту ComboBox1.

Компонент Edit1 призначений для введення найменування товару.

Компонент Label2 призначений для інформування користувача про застосування компоненту Edit1.

Компонент CSpinEdit1 призначений для введення кількості товару.

Компонент Label3 призначений для інформування користувача про застосування компоненту CSpinEdit1.

Компонент DateTimePicker1 призначений для введення терміну придатності товару.

Компонент Label4 призначений для інформування користувача про застосування компоненту DateTimePicker1.

Компонент Edit2 призначений для введення ціни за одиницю товару.

Компонент Label5 призначений для інформування користувача про застосування компоненту Edit2.

Компонент Edit3 призначений для введення виробника товару.

Компонент Label6 призначений для інформування користувача про застосування компоненту Edi3.

Компонент Button1 призначений додавання запису до таблиці «Таблиця товарів».

Компонент Button2 призначений для закриття форми Form6.

Компонент Button3 призначений для очищення усіх полів.

На рисунку 3.9 зображена форма Form6 під час виконання програми.

Рисунок 3.9 – Форма Form6 під час виконання програми

Форма Form7 призначена для введення паролю адміністратора. Властивість Caption=“Пароль”. На ній розміщені компоненти: Button1, Edit1.

Компонент Edit1 призначений для введення паролю.

Компонент Button1 призначений для переходу на форму Form4, якщо пароль введено вірно.

На рисунку 3.10 зображена форма Form7 під час виконання програми.

Рисунок 3.10 – Форма Form7 під час виконання програми

Форма Form8 призначена для перегляду діаграми прибутку на заданий рік. Властивість Caption=“Діаграма прибутку”. На ній розміщені компоненти: Button1, GroupBox1, Edit1, Chart1.

Компонент Button1 призначений для закриття форми.

Компонент Edit1 призначений для введення року.

Компонент Chart1 призначений для перегляду діаграми прибутку.

На рисунку 3.11 зображена форма Form8 під час виконання програми.

Рисунок 3.11 – Форма Form8 під час виконання програми

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