Розробка програмного забезпечення для косметичного салону
Етапи розробки проекту. Вимоги до апаратного і програмного забезпечення, до користувача. Специфікація та структура даних, які мають бути розміщеними в системі. Вигляд інтерфейсу системи програмного забезпечення. Розробка бази даних косметичного салону.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 21.02.2015 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В таблицях «Співробітники» та «Клієнти» буде зберігатися особиста інформація про оточення косметичного салону: місце проживання, дата народження, спеціальність, стаж роботи, П.І.Б., посада, яку займає в КС, контактні телефони.
2.6 Обґрунтувати специфікацію та структуру даних, які мають бути розміщеними в системі
У сучасному програмуванні структури даних і алгоритми є базовими компонентами для написання програм. Завдання, вирішенням яких займається комп'ютер, лише у виняткових випадках виражаються на бітовому рівні. Зазвичай дані представляються у вигляді літер, чисел, символів і інших більш складних послідовностей. Для того щоб основні структури даних описувалися максимально точно, були розроблені мови програмування, зміст яких криється в однозначності всіх пропозицій.
Практично всіма мовами програмування надаються засоби, здатні посилатися на які-небудь структури даних, виходячи з присвоєного ідентифікатора. В якості основних величин виступають константи і змінні. Для програміста вони говорять багато, але от для комп'ютера зовсім марні. Тому текст написаної програми переводиться в двійковий код за допомогою компілятора. Іноді тип цих величин визначається компілятором, але в деяких випадках потрібно вказівку типу кожної змінної, який не змінюється навіть при виконанні всієї програми до кінця.
У багатьох алгоритмах структури даних можуть відрізнятися неймовірною складністю. У підсумку тільки правильний вибір представлення даних може стати поштовхом до успішного програмування. До того ж від цього буде залежати продуктивність програми.
На сьогоднішній день в розробці програмного забезпечення існує одна серйозна проблема, яка полягає в тому, що структури даних швидко еволюціонують і викликають певні складності в обробці. Програмісти звичайно в процесі роботи використовують стандартні бібліотеки компонентів. Вони допомагають виключити велику кількість рутинних операцій. Всі компоненти проходять ретельну перевірку і добре описуються. Однак у випадку з бібліотеками є істотні обмеження, здатні помітно знизити їх гідності. Вони включають в себе величезну кількість компонентів, але реалізація їх обробки залишає за собою дуже мало варіантів. [11]
Для того, щоб забезпечити можливість зберігання в базі даних різноманітної інформації, Access пропонує великий набір типів даних, перелічених у табл. 2.1.
Таблиця 2.1 - Типи даних таблиць БД Access
Назва типу |
Призначення |
|
Текстовий |
Текст довжиною до 255 символів |
|
Поле MEMO |
Текст довжиною до 65 000 символів |
|
Числовий |
Числа різних форматів |
|
Дата \ Час |
Дата і / або час |
|
Грошовий |
Грошові значення різних форматів |
|
Лічильник |
Лічильник, який автоматично збільшується на одиницю з додаванням кожного нового запису |
|
Логічний |
Величини, здатні приймати тільки два значення: так / ні або 1/0 |
|
Поле об'єкта OLE |
Поля, що дозволяють вставляти малюнки, звуки і дані інших типів |
|
Гіперпосилання |
Посилання, що дають можливість відкривати об'єкт Access (таблицю, форму, запит тощо), файл іншої програми або web-сторінку |
Незалежно від способу створення таблиці режим конструктора дозволяє в будь-який момент змінити її структуру.
Якщо при заповненні таблиці правильно обраний формат дати, але при введенні допущена хоча б одна помилка, Access так само, як і у випадку невірно обраного формату, визначить для такого поля тип даних Текстовий. Якщо ввести неправильний значення в таблицю з наперед визначеною структурою і вже заданим типом даного Access знайде помилку і повідомить про це.
Для розробки та настройки таблиці «Клієнт», для інформації були обрані типи даних, представлені в табл. 2.2.
Таблиця 2.2 - Опис даних таблиці «Клієнт»
Найменування поля |
Тип даних |
|
Код клієнта |
Лічильник |
|
Клієнт |
Текстовий |
|
Тип |
Текстовий |
|
Стать |
Текстовий |
|
Адреса |
Текстовий |
|
Дата народження |
Дата \ Час |
|
Телефон |
Числовий |
Для настроювання та розробки таблиці «Співробітник», для інформації були обрані типи даних, представлені в табл. 2.3.
Таблиця 2.3 - Опис даних таблиці «Співробітник»
Найменування поля |
Тип даних |
|
Код співробітника |
Лічильник |
|
ПІБ |
Текстовий |
|
Дата народження |
Дата \ Час |
|
Телефон |
Числовий |
|
Спеціальність |
Текстовий |
|
Стаж |
Числовий |
|
Посада |
Текстовий |
Для настроювання та розробки таблиці «Послуги», для інформації були обрані типи даних, представлені в табл. 2.4.
Таблиця 2.4 - Опис даних таблиці «Послуги»
Найменування поля |
Тип даних |
|
Код послуги |
Лічильник |
|
Найменування послуги |
Текстовий |
|
Код співробітника |
Числовий |
|
Код клієнта |
Числовий |
|
Дата виконання |
Дата \ Час |
|
Година |
Дата \ Час |
|
Ціна |
Числовий |
|
Позначка |
Текстовий |
Формат вводиться в поле чисел, грошових одиниць, часу, і дати повинен збігатися з одним з форматів, визначених для цих типів даних. У вікні конструктора таблиць можна переглянути список встановлених форматів для перерахованих типів даних. Деякі з них можна змінити на відповідних вкладках у вікні Мова і стандарти. Для відображення цього вікна натисніть на панелі завдань кнопку Пуск, виконайте команди Налагодження та Панель управління і запустите програму Мова і стандарти
2.7 Обґрунтувати вигляд інтерфейсу системи програмного забезпечення
Відправною точкою хорошого інтерфейсу є метафора. Обстановка на екрані і способи взаємодії з системою повинні апелювати до ситуації, добре знайомої користувачеві. Так, віконний інтерфейс замислювався як метафора робочого столу з документами.
По-перше , користувачеві легше розуміти і інтерпретувати зображення на екрані.
По-друге, зникає необхідність кожного разу заглядати в керівництво, щоб дізнатися, як виконується та чи інша дія. Принаймні, деякі дії повинні "природно" випливати з метафори.
По-третє, у користувача виникає відчуття психологічного комфорту, характерного для зустрічі з чимось знайомим.
Інтерфейс розробляємого програмного забезпечення спроектовано так, щоб користувач з легкістю орієнтувався в процесі роботи. Схематичне зображення інтерфейсу ПО представлене на рис. 2.6.
Рисунок 2.6 - Схема інтерфейсу програмного забезпечення
По створеній схемі робота с програмним забезпеченням починається з авторизації користувача. При натисканні exe - файлу запуститься форма для авторизації користувача. Вона міститиме поля для вводу логіну та паролю, а також дві кнопки - авторизація, реєстрація. Дані з форми будуть записані до файлу Data.ini.
Після успішної авторизації відкривається форма менеджера. Форма містить в собі БД співробітників, БД клієнтів, БД послуг, а також «Текстовий редактор». Кожна база повинна бути розташована на окремних вкладках, а кожна вкладка окрім вікна зображення строк БД, повинна мати кнопки редагування записів.
Текстовий редактор міститиме одне вікно для роботи з готовим або для набору нового тексту, одне вікно для відкриття та перегляду малюнків, кнопки для відкриття та збереження тексту в документ, кнопки для відкриття та збереження малюнку в бажану папку, кнопки для редагування шрифту та розміру тексту, кнопки для зміни кольору тексту та фону вікна редактора тексту, кнопка для роздрукування тексту на принтері.
2.8 Обґрунтувати алгоритм базових операцій
Базові структури алгоритмів - це певний набір блоків і стандартних способів їх з'єднання для виконання типових послідовностей дій.
До основних структур відносяться наступні:
- лінійні - алгоритми, в яких дії здійснюються послідовно один за одним;
- розгалужуються - алгоритм, в якому дія виконується за однією з можливих гілок вирішення завдання, в залежності від виконання умов. На відміну від лінійних алгоритмів, в яких команди виконуються послідовно одна за одною, в розгалужуються алгоритми входить умова, залежно від виконання або невиконання якого виконується та чи інша послідовність команд (дій);
- циклічні - називається алгоритм, в якому деяка частина операцій (тіло циклу - послідовність команд) виконується багаторазово. Проте слово «багато разів» не означає «до нескінченності». Організація циклів, ніколи не приводить до зупинки у виконанні алгоритму, є порушенням вимоги його результативності - отримання результату за кінцеве число кроків.
Алгоритм має задовольняти певним вимогам, серед яких потрібно виділити найважливіші:
а) визначеність - кожен крок алгоритму має інтерпретуватися виконавцем однозначно.
б) результативність - за скінченну кількість кроків алгоритм має приводити до розв'язання задачі або зупинятися через неможливість її розв'язати.
в) дискретність - кроки обчислювального процесу мають бути відокремлені один від одного.
г) ефективність - під час розв'язання задачі може використовуватися лише обмежений обсяг комп'ютерних ресурсів.
д) масовість - алгоритм розробляється у загальному вигляді, тобто його можна застосувати не лише до окремої задачі, але і до деякого класу задач, що розрізняються лише вхідними даними. при цьому вхідні дані мають належати деякій області, яка називається областю застосовності алгоритму.
Є декілька способів опису алгоритму: словесний опис послідовності дій, алгоритмічна мова, аналітичний опис у вигляді набору формул, графічний - у вигляді блок-схеми тощо. Формалізована система правил текстуального опису алгоритмів є одним із різновидів мов програмування. А мови, призначені для запису алгоритмічних структур, називаються мовами структурного програмування.
Однією з наочних форм зображення алгоритму є блок-схема. Вона містить блоки, позначені геометричними фігурами. Усередині блоків записують елементарні дії. Блоки з'єднуються стрілками -- так задається послідовність дій. Стрілки не є обов'язковими, якщо їхній напрямок відповідає просуванню «униз» і «праворуч». Кожній геометричній фігурі відповідає певний клас алгоритмічних інструкцій.
Зокрема, прямокутниками позначаються операторні блоки. Операторний блок може мати декілька входів і тільки один вихід. Це забезпечує однозначність у визначенні послідовності виконуваних дій. Дії, що позначаються такими блоками змінюють значення, форму подання чи розташування даних.
Ромбами позначається перевірка умови, залежно від результату якої визначається напрямок подальших обчислень. Тому блоки, що позначаються ромбами, називаються умовними. Оскільки результатом перевірки умови, записаної в умовному блоці, може бути значення «так» або «ні», тобто «істина» чи «хибність», блок має два виходи.
Рисунок 2.7 - Схема алгоритму базових операцій ПЗ
На рис. 2.7 зображено алгоритм операцій програмного забезпечення для косметичного салону. На схемі бачимо, що програма міститиме 3 таблиці даних та текстовий редактор. Функції редагування та сортування для кожної вкладки будуть створені окремо.
Вкладка з текстовим редактором міститиме кнопки для роботи з текстом та малюнками.
3. РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ КОСМЕТИЧНОГО САЛОНУ
3.1 Розробка БД косметичного салону
Таблиці - це основні об'єкти будь-якої бази даних. У таблицях зберігаються всі дані, наявні в базі і структура бази (поля, їх типи і властивості).
Для створення ПЗ для автоматизації косметичного салону розроблено БД в склад якої входить 3 таблиць: klient, spivrobitnik, poslugi.
В таблиці "klient" (Рис. 3.1) містяться дані про клієнтів салону.
Рисунок 3.1 - Таблиця «Клієнти» в Microsoft Access
Призначення полів таблиці:
- код клієнта - ідентифікаційний номер;
- клієнт - прізвище, ім'я, по - батькові;
- тип - VIP-клієнт або звичайний;
- стать;
- адреса;
- дата народження;
- телефон.
В таблиці "poslugi" (Рис. 3.2) містяться дані про послуги,які надає салон краси. Також вона містить поля для планування та запису на прийом.
Рисунок 3.2 - Таблиця «Послуги» в Microsoft Access
Призначення полів таблиці:
- код послуги - ідентифікаційний номер;
- найменування - прізвище, ім'я, по - батькові;
- код співробітника - VIP-клієнт або звичайний;
- код клієнта;
- дата виконання;
- година;
- ціна;
- позначка.
В таблиці "spivrobitnik" (Рис. 3.3) містяться дані про співробітників салону.
Призначення полів таблиці:
- код співробітника - ідентифікаційний номер;
- ПІБ - прізвище, ім'я, по - батькові;
- дата народження;
- телефон;
- спеціальність;
- стаж;
- посада.
Рисунок 3.3 - Таблиця «Співробітники» в Microsoft Access
В схемі даних (Рис. 3.4) всі таблиці з'єднуються за допомогою зв'язків ключових полів, забезпечуючи цілісність даних при з'єднанні.
Після створення різних таблиць, що містять дані, бази даних, що відносяться до різних аспектів, розробник повинен продумати, яким чином Microsoft Access об'єднуватиме ці дані при їх витяганні з бази даних.
Рисунок 3.4 - Схема даних БД косметичного салону
Зв'язані поля не обов'язково повинні мати однакові імена, але вони повинні мати однакові типи даних і мати вміст одного типа. Крім того, зв'язуванні поля числового типа повинні мати однакові значення властивості розмір поля.
Цілісність даних означає систему правил, використовуваних в Microsoft Access для підтримки зв'язків між записами в зв'язаних таблицях, а також забезпечує захист від випадкового видалення або зміни зв'язаних даних.
3.2 Розробка програмного забезпечення для косметичного салону
Для початку роботи з програмним забезпеченням користувачу необхідно авторизуватися.
Наведемо програмну реалізацію функції:
procedure TForm4.btn4Click(Sender: TObject);
begin
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'Data.ini');
if (edtLogin.Text='') or (edtPass.Text='')
then Showmessage('Заповніть поля!')
else
Ini.WriteString('Reg','Login', edtLogin.Text);
Ini.WriteString('Reg','PassWord', edtPass.Text);
btn1.Enabled:=true;
end;
Авторизація відбувається після вірного введення в поля логіну та паролю і підтвердження операції натискання кнопки «Авторизація».
Після успішної авторизації відбувається відкриття основної програми, яка містить в собі:
а) текстовий редактор.
Редактор надає можливість роботи з текстом та картинками. Текст можливо друкувати самому, так і відкривати готові текстові файли. Завдяки чому, можливо надрукувати, подивитися або змінити вже готовий файл не закриваючи місце роботи менеджера.
1) кнопка редактора «Новий» - дозволяє обновити поле вводу тексту та почати друк заново;
2) кнопка «Відкрити» - функція дозволяє відкрити вже готовий або збережений користувачем документ в форматі «.txt».
3) кнопка «Зберегти» та «Зберегти як…»/
Виконя функції збереження надрукованого тексту в документ, назву та місце збереження якого може вибрати сам користувач;
4) кнопка «Розмір шрифту» - функція дає можливість настроювати розмір шрифту в документі.
Одиницею виміру розміру шрифту є пункт (1 пт = 0,376 мм). У текстовому редакторі Word за замовчуванням використовується шрифт MS Sans Serif розміром 10 пт. Нижче наведені приклади представлення тексту за допомогою шрифту різного розміру.
5) кнопка «Колір шрифту» - функція дозволяє користувачу обирати колір тексту;
Кольори всього тексту або фрагменту документа користувач може вибрати по бажанню з представленої палітри, а при запуску редактора текст чорний.
6) кнопка «Фоновий колір» - настройка кольору фона вікна вводу тексту;
При запуску редактора фон вікна - білий.
7) кнопка «Роздрукувати» - друк документа на принтері;
Наведемо програмну реалізацію функції:
procedure TForm1.Button17Click(Sender: TObject);
var
Stroka:System.TextFile;
i:integer;
begin
if PrintDialog1.Execute then
begin
AssignPrn(Stroka);
Rewrite(Stroka);
Printer.Canvas.Font:=Memo1.Font;
for i:=0 to Memo1.Lines.Count-1 do
Writeln(Stroka,Memo1.Lines[i]);
System.CloseFile(Stroka);
end;
end;
8) кнопка «Print. setup» - настройки принтера;
9) кнопка «Відкрити малюнок» - функція відкриття малюнків форматів: jpeg, jpg, bmp, ico;
Функція надає можливість обрати бажаний файл з будь-якого носія та папки.
10) кнопка «Зберегти малюнок» - збереження малюнка в створену користувачем папку;
Після натискання кнопки відкривається діалогове вікно, яке дозволяє обрати папку для збереження та зміни ім'я.
11) кнопка «Замінити текст» - функція заміну букви, слова, фрагмента тексту;
При натисканні кнопки відкривається вікно, в якому необхідно ввести фрагмент тексту для заміни, та текст на який необхідно замінити.
13) кнопка «Пошук тексту» - функція пошуку слова або фрагменту текста;
Завдяки цій функції є можливість знайти строку або фрагмент тексту, який цікавить користувача.
14) кнопка «Вихід» - вихід з програми зі збереженням змін в документ.
б) БД послуг косметичного салону.
Вкладка «Послуги» надає доступ до таблиці послуг БД косметичного салону. Вікно для показу інформації не дає можливість редагувати зміст БД, лише ознайомлення з даними.
Для маніпуляцій з даними таблиці розроблено ряд функцій: поле сортування, фільтрація, додавання запису, редагування та видалення записів.
Розглянемо функцію додавання запису до таблиці бази даних. Вікно додавання запису містить поля для вводу даних, співпадаючих зі стовбцями таблиці бази даних.
Функція видалення строки з таблиці. Для цього виділяємо необхідно строку, натискаємо кнопку «Видалити запис», після чого з'являється вікно підтвердження операції, якщо користувач хоче продовжити, то натискаємо «Да».
Функція редагування даних таблиці. Обраний запис БД відкривається в такому вигляді після натискання кнопки «Редагувати запис». Після чого корегуємо необхідний запис та зберігаємо зміни.
в) БД клієнтів салону.
Вкладка «Клієнти салону» надає доступ до таблиці клієнтів косметичного салону (рис. 3.23). Вікно для показу інформації не дає можливість редагувати зміст БД, лише ознайомлення з даними.
Для маніпуляцій з записами розроблені функції: сортування, додавання запису, редагування та видалення запису.
Сортування записів відбувається в двох напрямах - по зростанню та спаданню записів, та по двом критеріям - клієнту та типу клієнта. Такий вид сортування дозволить менеджеру швидко знайти клієнту по П.І.Б. або по типу клієнта - клієнт, який часто відвідує салон краси має статус VIP, а періодичний відвідувач має статус звичайного клієнта.
Кнопки в правій частині вікна дозволяють відредагувати бажаний для користувача запис через спеціально спроектовані форми.
Розглянемо функцію додавання запису до таблиці клієнтів бази даних
Вікно додавання запису містить поля для вводу даних, співпадаючих зі стовбцями таблиці бази даних.
Функція видалення строки з таблиці. Для цього виділяємо необхідно строку, натискаємо кнопку «Видалити запис», після чого з'являється вікно підтвердження операції, якщо користувач хоче продовжити, то натискаємо «Да».
Функція редагування даних таблиці. Обраний запис БД відкривається в такому вигляді після натискання кнопки «Редагувати запис». Після чого корегуємо необхідний запис та зберігаємо зміни.
г) БД співробітників салону.
Вкладка «Співробітники салону» надає доступ до таблиці співробітників косметичного салону. Вікно для показу інформації не дає можливість редагувати зміст БД, лише ознайомлення з даними.
Для маніпуляцій з записами розроблені функції: сортування, додавання запису, редагування та видалення запису.
Вікно додавання запису містить поля для вводу даних, співпадаючих зі стовбцями таблиці бази даних.
Функція видалення строки з таблиці. Для цього виділяємо необхідно строку, натискаємо кнопку «Видалити запис», після чого з'являється вікно підтвердження операції, якщо користувач хоче продовжити, то натискаємо «Да» .
Наведемо програмну реалізацію функції видалення строки:
procedure TForm1.Button9Click(Sender: TObject);
begin
if MessageBox(0, PChar('Видалити запис: '+DM.ADOTable1DSDesigner.AsString+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yes
then DM.ADOTable1.Delete;
end;
Функція редагування даних таблиці. Обраний запис БД відкривається в такому вигляді після натискання кнопки «Редагувати запис». Після чого корегуємо необхідний запис та зберігаємо зміни.
3.3 Інструкція роботи з програмою
Для початку роботи запускаємо файл під назвою «MenegerRedactor.exe». Після відкриття форми авторизації, користувачу треба зареєструватися - ввести логін та пароль до відповідних полів, після чого натиснути кнопку «Реєстрація» і одразу «Авторизуватися». Для повторного користування програмою не потрібно повторювати процес реєстрації, необхідно ввести вже збережені дані до полів.
Після відкриття головної форми програми користувач побачить чотири вкладки: співробітники салону, клієнти салону, послуги, текстовий редактор. Вкладки співробітників, клієнтів, послуг салону надають можливість доступ до БД косметичного салону. Для таблиць на вкладках передбачені поля сортування, кнопки редагування, видалення та додавання записів.
Розглянемо функції в дії:
а) сортування - виділити строку таблиці та в «Поле сортування» вибрати назву стовбцю по якому будемо сортувати, а в графі «Напрямок сортування» вибрати по зростання чи за спаданням сортувати записи таблиці;
б) видалення запису - виділити потрібний запис та натиснути кнопку «Видалити запис», після чого з'явиться повідомлення в якому необхідно підтвердити або відмінити дію користувача;
в) додати новий запис до таблиці - обравши таблицю для роботи користувач обов'язково захоче додавати нові записи. Після натискання кнопки «Додати запис» з'явиться форма «Редагування записів», в відповідних полях вводимо інформацію, а натиснувши кнопку «Зберегти» додаємо запис до таблиці БД;
г) редагування існуючого запису таблиці - виділити необхідний запис таблиці, натиснути кнопку «Редагувати запис»,відкриється форма редагування з інформацією обраного запису, в необхідному полі вносимо зміни до записів та натискаємо кнопку «Зберегти».
Текстовий редактор - доповнення до основної програми. Для комфортного використання передбачено ряд функцій:
- кнопка «Новий», при її натисканні дозволяє створити новий документ для користувача;
- кнопка «Відкрити», при її натисканні відкривається вже готовий документ формату txt;
- кнопка «Зберегти» та «Зберегти як…» - зберігає надрукований документ;
- кнопка «Розмір шрифту», натискання кнопки дозволяє користувача настроювати шрифт тексту;
- кнопка «Колір шрифту», натискання кнопки дозволяє обирати колір шрифту;
- кнопка «Фоновий колір» - надає можливість настроїти колір вікна для вводу тексту;
- кнопки «Роздрукувати» та «Print. Setup» - якщо користувач хоче скористатися принтером, необхідно використовувати ці дві кнопки, першу безпосередньо для роздрукування, друга для настроювання принтеру;
- кнопка «Відкрити малюнок» - функція відкриття малюнку в правому вікні програми;
- кнопка «Зберегти малюнок» - надає можливість зберегти відкритий малюнок в необхідному для користувача місці;
- кнопка «Замінити текст» - завдяки цієї функції користувач може замінити фрагмент тексту на необхідний;
- кнопка «Пошук тексту» - пошук по тексту редактора;
- кнопка «Вихід» - вихід з програми зі збереженням набраного тексту.
ВИСНОВКИ
В ході написання дипломної роботи зроблено:
- огляд відомих та поширених програм для автоматизації косметичного салону. В аналізі приймали участь програми різних напрямів і призначень. Також аналізу полягали інтерфейс та функціональні можливості ПЗ, згідно з їх тематики;
- виконано знайомство з класами і типами послуг, які є в косметичних салонах,а також з основними правилами ліцензування цих послуг;
- сформульовано вимоги до технічних та апаратних характеристик комп'ютерного забезпечення, користувача;
- розроблена архітектура, моделі та інтерфейс програми;
- створена БД та написана програма в Delphi 7.
У результаті була створена програма для автоматизації КС, яка може бути використана в подібних підприємствах. Програма проста і зрозуміла для будь-якого користувача, для її використання не потрібно спеціальне навчання. При цьому вона виконує перші необхідні функції.
Для створення бази даних використовувався Microsoft Office Access. Для написання програми використовувалася мова програмування Delphi, яка має широкі можливості для роботи з базами даних. З'єднання з базою даних здійснено за допомогою технології ADO. Обробка даних проводилася за допомогою операторів мови SQL, що значно прискорює роботу програми.
Програмний продукт придатний для здійснення автоматизації косметичного салону.
ПЕРЕЛІК ПОСИЛАНЬ
1 Салони краси: типи та класи естетичного бізнесу. - Режим доступу: http://www.openbusiness.ru/html/dop5/piter-salon-tip.htm
2 Варакута С.А., Управління якістю. - Москва, 2008. - 112 с.
3 Які послуги ліцензуються в салоні краси - ліцензія. - Режим доступу: http://megasite.in.ua/23801-yaki-poslugi-licenzuyutsya-v-saloni-krasi-licenziya.html
4 Основні можливості програми для салону краси. - Режим доступу: http://salon.x3soft.ru/site/prog/vozmozn.html
5 Архангельський А.Я. Програмування в Delphi. Підручник з класичним версіями Delphi. - М.: ТОВ «Біном-Пресс», 2006. - 1152 с.: іл.
6 Архангельський А.Я. Програмування в Delphi. - М.: ТОВ «Біном-Пресс», 2004. - 1152 с.: Іл.
7 Хоменко А.Д. Delphi 7. - СПб.: БХВ Петербург, 2008. - 1216 с.: іл.
8 Виханский О.С., Наумов А.І., Менеджмент. - Москва, 1998г. - 528 c.
9 Иванцевич Дж., Лобанов А.А., Людські ресурси управління. - Москва, 1993г. - 120 с.
10 Д. Сульє, Управління. - Київ, 1992г.
11 Структури даних і алгоритми - базові компоненти програми. - Режим доступу: http://svitohlyad.com.ua/kompyutery/struktury-danyh-i-alhorytmy-bazovi-komponenty-prohramy/
ДОДАТОК А
Текст програмного забезпечення
А.1 Лістинг форми редактора БД програмного продукту
unit TextRedactor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ComCtrls, Menus, StdCtrls, ExtCtrls, Mask,
ExtDlgs, Jpeg, Printers;
type
TForm1 = class(TForm)
PC_s: TPageControl;
TabSheet1: TTabSheet;
DBGrid1: TDBGrid;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
RadioGroup3: TRadioGroup;
RadioGroup4: TRadioGroup;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
RadioGroup5: TRadioGroup;
RadioGroup6: TRadioGroup;
GroupBox1: TGroupBox;
Label1: TLabel;
Button1: TButton;
MaskEdit1: TMaskEdit;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
TabSheet4: TTabSheet;
Memo1: TMemo;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Button20: TButton;
Panel1: TPanel;
Image1: TImage;
Button22: TButton;
Button23: TButton;
Button24: TButton;
Button25: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
OpenPictureDialog1: TOpenPictureDialog;
SavePictureDialog1: TSavePictureDialog;
FontDialog1: TFontDialog;
ColorDialog1: TColorDialog;
PrintDialog1: TPrintDialog;
PrinterSetupDialog1: TPrinterSetupDialog;
FindDialog1: TFindDialog;
ReplaceDialog1: TReplaceDialog;
Button19: TButton;
Button26: TButton;
procedure RadioGroup2Click(Sender: TObject);
procedure RadioGroup3Click(Sender: TObject);
procedure RadioGroup6Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ReplaceDialog1Replace(Sender: TObject);
procedure FindDialog1Find(Sender: TObject);
procedure ReplaceDialog1Find(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
EditFile: string;
implementation
uses UnitDM, Redactor, RedactorK, RedactorS;
{$R *.dfm}
procedure TForm1.RadioGroup2Click(Sender: TObject);
var nss: string;
begin
case RadioGroup1.ItemIndex of
0: nss:=' ASC';
1: nss:=' DESC';
end;
with RadioGroup2 do
DM.ADOTable1.Sort:=Items[ItemIndex]+nss;
end;
procedure TForm1.RadioGroup3Click(Sender: TObject);
var nsk: string;
begin
case RadioGroup4.ItemIndex of
0: nsk:=' ASC';
1: nsk:=' DESC';
end;
with RadioGroup3 do
DM.ADOTable2.Sort:=Items[ItemIndex]+nsk;
end;
procedure TForm1.RadioGroup6Click(Sender: TObject);
var nsp: string;
begin
case RadioGroup5.ItemIndex of
0: nsp:=' ASC';
1: nsp:=' DESC';
end;
with RadioGroup6 do
DM.ADOTable3.Sort:=Items[ItemIndex]+nsp;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with DM.ADOTable3 do
begin
Filter:='[Дата виконання]>='+MaskEdit1.Text;
Filtered:=True;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
FormRedactor.ShowModal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DM.ADOTable3.Insert;
FormRedactor.ShowModal;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if MessageBox(0, PChar('Видалити запис: '+DM.ADOTable3DSDesigner.AsString
+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yes
then DM.ADOTable3.Delete;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
DM.ADOTable2.Insert;
Form2.ShowModal;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if MessageBox(0, PChar('Видалити запис: '+DM.ADOTable2DSDesigner.AsString
+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yes
then DM.ADOTable2.Delete;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
DM.ADOTable1.Insert;
Form3.ShowModal;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
if MessageBox(0, PChar('Видалити запис: '+DM.ADOTable1DSDesigner.AsString
+'?'), 'Ви впевнені?', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2)=id_yes
then DM.ADOTable1.Delete;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
Form3.ShowModal;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button22Click(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo1.Font.Size:=8;
Memo1.Font.Color:=clWindowText;
Memo1.Color:=clWindow;
end;
procedure TForm1.Button25Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
EditFile:=OpenDialog1.FileName;
Memo1.Lines.LoadFromFile(EditFile);
Form1.Caption:='My Word - '+ExtractFileName(EditFile);
end;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(EditFile); //запись на прямую в файл
if Memo1.Modified then Memo1.Modified:=false;
end;
procedure TForm1.Button24Click(Sender: TObject);
begin
if SaveDialog1.Execute then//запись в файл + диалоговое оконо
begin
EditFile:=SaveDialog1.FileName;
Memo1.Lines.SaveToFile(EditFile);
Form1.Caption:='My Word - '+ExtractFileName(EditFile);
if Memo1.Modified then Memo1.Modified:=false;
end;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
if FontDialog1.Execute then Memo1.Font:=FontDialog1.Font;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
if ColorDialog1.Execute then Memo1.Font.Color:=ColorDialog1.Color;
end;
procedure TForm1.Button23Click(Sender: TObject);
begin
if ColorDialog1.Execute then Memo1.Color:=ColorDialog1.Color;
end;
procedure TForm1.Button17Click(Sender: TObject);
var
Stroka:System.TextFile;
i:integer;
begin
if PrintDialog1.Execute then
begin
AssignPrn(Stroka);
Rewrite(Stroka);
Printer.Canvas.Font:=Memo1.Font;
for i:=0 to Memo1.Lines.Count-1 do
Writeln(Stroka,Memo1.Lines[i]);
System.CloseFile(Stroka);
end;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
if SavePictureDialog1.Execute then
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
procedure TForm1.Button20Click(Sender: TObject);
begin
ReplaceDialog1.Execute;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
PrinterSetupDialog1.Execute;
end;
procedure TForm1.Button19Click(Sender: TObject);
begin
FindDialog1.Execute;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
EditFile:='Noname.txt';
Form1.Caption:='My Word - '+ExtractFileName(EditFile);
end;
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
label 10;//метка
begin
Memo1.HideSelection:=true;
10://метка
if pos(ReplaceDialog1.FindText,Memo1.Text)<>0 then
begin
Memo1.SelStart:=pos(ReplaceDialog1.FindText,Memo1.Text)-1;
Memo1.SelLength:=Length(ReplaceDialog1.FindText);
Memo1.SelText:=ReplaceDialog1.ReplaceText;
goto 10;
end;
Memo1.HideSelection:=false;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
{begin
//ищется первое появление строки
if pos(FindDialog1.FindText,Memo1.Text)<>0 then
begin
Memo1.HideSelection:=false;
Memo1.SelStart:=pos(FindDialog1.FindText,Memo1.Text)-1;
Memo1.SelLength:=Length(FindDialog1.FindText);
end
else
MessageDlg('String '+FindDialog1.FindText+' not found!',mtConfirmation,[mbYes],0);}
var
Buff,P,FT: PChar;
BuffLen: Word;
begin
with Sender as TFindDialog do
begin
GetMem(FT, Length(FindText) + 1);
StrPCopy(FT, FindText);
BuffLen:= Memo1.GetTextLen + 1;
GetMem(Buff, BuffLen);
Memo1.GetTextBuf(Buff, BuffLen);
P:= Buff + Memo1.SelStart + Memo1.SelLength;
P:= StrPos(P, FT);
if P=nil then MessageBeep(0)
else
begin
Memo1.SelStart:= P - Buff;
Memo1.SelLength:= Length(FindText);
end;
FreeMem(FT, Length(FindText) + 1);
FreeMem(Buff, BuffLen);
end;
end;
procedure TForm1.ReplaceDialog1Find(Sender: TObject);
begin
with Sender as TReplaceDialog do
while True do
begin
if Memo1.SelText <> FindText then
FindDialog1Find(Sender);
if Memo1.SelLength = 0 then Break;
Memo1.SelText:= ReplaceText;
if not (frReplaceAll in Options) then Break;
end;
end;
procedure TForm1.Button26Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Memo1.Modified then
if MessageDlg('File '+ExtractFileName(EditFile)+' changed'+#10#13'Confirm Exit?',
mtConfirmation,[mbYes,mbNo],0)=mrYes
then Action:=caFree
else Action:=caNone;
end;
end.
А.2 Лістинг форми авторизації користувача
unit Registr;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,IniFiles;
type
TForm4 = class(TForm)
grp1: TGroupBox;
lbl1: TLabel;
lbl2: TLabel;
edtLogin: TEdit;
edtPass: TEdit;
btn1: TButton;
btn2: TButton;
btn3: TButton;
btn4: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
Login,Password:string; //текстовые переменные
Count,i,Item:integer; //количество зарегестрированных
INI:TIniFile; //переменная типа TIniFile
implementation
uses TextRedactor;
{$R *.dfm}
function Crypt(Str:string;Key:integer):string;
var i:Integer;
begin
for i:=1 to Length(str) do
begin
Str[i]:=chr(ord(str[i]) xor Key);
end;
Result :=Str;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
//создание переменной
INI:=TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Data.ini');
//чтение логина
Login := INI.ReadString('General','Login','Default');
//чтение пароля
Password :=INI.ReadString('General','Pass','Default');
end;
procedure TForm4.FormDestroy(Sender: TObject);
begin
//"удаляем" переменную
INI.Free;
end;
procedure TForm4.btn1Click(Sender: TObject);
begin
//если хоть одно поле неравно тому что нужно ты выходим
if (edtLogin.text <> Login)or (edtPass.Text <> Password) then halt;
//первая форма Hide
Form4.Hide;
//вторую показываем
Form1.Show;
end;
procedure TForm4.btn2Click(Sender: TObject);
begin
edtPass.Text:=InputBox('Заміна пароля','Введіть новий пароль',edtPass.text);
Password :=edtPass.text;
INI.WriteString('General','Pass'+ IntToStr(Item),Crypt(edtPass.text,30));
end;
procedure TForm4.btn3Click(Sender: TObject);
begin
edtLogin.Text:=InputBox('Заміна логіну','Введіть новий логін',edtPass.text);
Login :=edtLogin.text;
INI.WriteString('General','Login'+ IntToStr(Item),Crypt(edtLogin.text,30));
end;
procedure TForm4.btn4Click(Sender: TObject);
begin
Inc(count);
INI.WriteString('General','Pass' + IntToStr(count),Crypt(edtPass.text,30));
INI.WriteString('General','Login'+ IntToStr(count),Crypt(edtLogin.text,30));
INI.WriteInteger('General','Count',count);
end;
end.
А.3 Лістинг форми редагування запису БД послуг
unit Redactor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask;
type
TFormRedactor = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
Label3: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormRedactor: TFormRedactor;
implementation
uses UnitDM;
{$R *.dfm}
procedure TFormRedactor.Button1Click(Sender: TObject);
begin
if DM.ADOTable3.Modified then DM.ADOTable3.Post;
Close;
end;
procedure TFormRedactor.Button2Click(Sender: TObject);
begin
DM.ADOTable3.Cancel;
Close;
end;
end.
А.3 Лістинг форми редагування запису БД клієнтів салону
unit RedactorK;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask;
type
TForm2 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Button1: TButton;
Button2: TButton;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses UnitDM;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
if DM.ADOTable2.Modified then DM.ADOTable2.Post;
Close;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
DM.ADOTable2.Cancel;
Close;
end;
end.
А.3 Лістинг форми редагування запису БД співробітників
unit RedactorS;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls;
type
TForm3 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses UnitDM;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
if DM.ADOTable1.Modified then DM.ADOTable1.Post;
Close;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
DM.ADOTable1.Cancel;
Close;
end;
end.
Размещено на Allbest.ru
Подобные документы
Розробка компонентів програмного забезпечення системи збору даних про хід технологічного процесу. Опис програмного забезпечення: сервера, що приймає дані про хід технологічного процесу, КОМ для його імітування, робочої станції для відображення даних.
курсовая работа [1,3 M], добавлен 20.11.2010Аналіз предметної області, опис проекту бази даних, моделей майбутнього програмного забезпечення гри для персонального комп'ютера "Міста". Функціональні можливості програмного забезпечення, які необхідно реалізувати. Інтерфейс програмного забезпечення.
курсовая работа [2,3 M], добавлен 02.06.2016Аналіз формування податкової звітності. Розробка проекту інтерфейсу, інформаційної, статичної та динамічної моделей програмного забезпечення. Розрахунок економічної ефективності впровадження програмного забезпечення формування податкової звітності.
дипломная работа [3,5 M], добавлен 26.04.2012Аналіз системи збору первинної інформації та розробка структури керуючої ЕОМ АСУ ТП. Розробка апаратного забезпечення інформаційних каналів, структури програмного забезпечення. Алгоритми системного програмного забезпечення. Опис програмних модулів.
дипломная работа [1,9 M], добавлен 19.08.2012Аналіз технічного забезпечення, вибір інструментального програмного забезпечення та середовища розробки програм. Створення класів для реалізації необхідних функцій для роботи програмного засобу. Розробка інтерфейсу для користувача та лістинг програми.
курсовая работа [343,9 K], добавлен 24.08.2012Аналіз задач, які вирішуються з використанням інформаційної системи. Вибір серверного вирішення, клієнтської частини, мережного вирішення, системного програмного забезпечення. Розробка підсистеми діагностики, керування, забезпечення безпеки даних.
курсовая работа [1,5 M], добавлен 22.04.2011Системний аналіз бази даних за вхідною та вихідною документацією, визначення сутностей, атрибутів, зв’язків. Створення логічної моделі бази даних із застосуванням нормалізації, алгоритм її роботи. Розробка програмного забезпечення та інтерфейсу СУБД.
курсовая работа [946,8 K], добавлен 02.07.2015Проектування та реалізація бази даних на фізичному рівні. Формування сутності з їх атрибутами. Вибір засобів розробки даного програмного забезпечення. Створення інтерфейсу для роботи з базою даних. Інструкція користувача, головне функціональне вікно.
курсовая работа [1,7 M], добавлен 26.09.2013Проектування бази даних для КП "ВодГео" - комунального підприємства у сфері водопостачання та водовідведення в м. Сміла. Предметна область, вимоги до продукту. Розробка інтерфейсу програми. Вибір архітектури та сервера бази даних, її логічна структура.
курсовая работа [1,2 M], добавлен 14.07.2015Проблеми розробки компонентного програмного забезпечення автоматизованих систем управління. Сучасні компонентні технології обробки інформації. Аналіз вибраного середовища проектування програмного забезпечення: мова програмування PHP та Apache HTTP-сервер.
дипломная работа [2,8 M], добавлен 11.05.2012