Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса „Учет предоставленных услуг салоном красоты“ (Обоснование проектных решений по программному обеспечению)

Содержание:

ВВЕДЕНИЕ

В настоящее время компьютерные технологии все глубже входят в нашу жизнь. За последние несколько лет производительность персональных компьютеров возросла в несколько раз, а стоимость, наоборот, снизилась. Такие изменения создают оптимальные условия для распространения информационных технологий. Сейчас персональные компьютеры есть практически в каждом доме, скорость вычислений компьютеров достигает миллионов операций в секунду. Помимо широчайшего распространения IT-технологий в частной сфере, они оказывают значительное влияние и на другие сферы деятельности человека, например, производственную, предпринимательскую.

На рынке программных продуктов существует множество готовых решений для автоматизации деятельности предприятий любой отрасли и любого размера, однако, покупать готовое решение не каждому предприятию выгодно.

Цель курсовой работы – проектирование информационной системы для реализации бизнес-процесса «Учет предоставленных услуг салоном красоты» на примере компании «Примавера».

Для достижения поставленной цели необходимо решить следующие задачи:

  • проанализировать текущую организацию бизнес-процесса учета предоставленных услуг в компании «Примавера» и возникающего при этом документооборота;
  • выбрать и обосновать проектные решения по информационному и программному обеспечению;
  • составить информационную модель проектируемой информационной системы;
  • разработать базу данных и программные модули ИС;
  • описать контрольный пример реализации проекта.

1 глава. Аналитическая часть.

1.1. Выбор комплекса задач автоматизации.

В качестве объекта исследования выступает салон красоты «Примавера». Основная сфера деятельности салона красоты – оказание косметических услуг населению в перечень оказываемых услуг входит:

  • различные виды стрижек: мужские, женские, детские, свадебные прически и т.д.
  • услуги по уходу за ногтями: маникюр, педикюр, мужской маникюр и т.д.
  • услуги визажиста и массажиста.

Перечень оказываемых услуг постоянно расширяется, т.к. сотрудники постоянно проходят обучение в своей сфере деятельности и повышают свою квалификацию.

Во главе салона красоты стоит директор. В функции директора входит управление всем предприятием. Директор занимается стратегическим планированием, определяет пути ближайшего и дальнейшего развития салона красоты в целом и каждого его подразделения в отдельности.

В подчинении у директора находятся следующие сотрудники:

  • маркетолог;
  • администратор салона красоты;
  • мастера;
  • технический персонал.

Маркетолог занимается продвижением салона красоты и оказываемых им услуг на рынке города. Основная задача маркетолога салона красоты – привлечение новых клиентов и удержание постоянных.

В функции администратора салона красоты входит консультирование клиентов и обработка их заявок (звонков, писем и т.д.). Также администратор формирует расписание работы мастеров при назначении даты и времени визитов клиентов и занимается ведением отчетности о деятельности салона.

Мастера занимаются непосредственным оказанием косметических услуг. Обычно каждый мастер оказывает несколько видов смежных услуг. Количество мастеров в салоне красоты не является постоянным и меняется в зависимости от спроса на те или иные услуги.

В функции технического персонала салона красоты входит поддержание чистоты и порядка в помещениях, а также контроль за соблюдением санитарных норм, установленных законами РФ.

1.2. Характеристика существующих бизнес-процессов.

Для анализа бизнес-процессов в компании «Примавера» воспользуемся функционально-структурным моделированием её деятельности. В качестве основной методологии построения функциональных моделей выступает IDEF0.

Методологию IDEF0 создали американские военные для того, чтобы более успешно тиражировать бизнес-процессы на предприятиях аэрокосмической промышленности. В свое время венные столкнулись с проблемой следующего типа.

При проектировании деятельности заводов было замечено, что каждый раз сотрудники выполняют одни и те же действия при проектировании подсистем управления, на что уходило много дополнительного времени и ресурсов. Поэтому возникла идея разработать новый язык, или чертеж, при помощи которого сотрудники могли бы описать типовые подсистемы управления и при создании нового завода использовать эти наработки. Язык, которые был создан для этих целей, лег в основу методологии описания бизнес-процессов на предприятиях IDEF0.

Данная методология описания бизнес-процессов предполагает указание не только входов и выходов, но дополнительных входов. Всего в данном стандарте выделяют три типа входа: первый так и называется вход, второй – управлением, а третий – механизмами.

Стандарт IDEF0 регламентирует с помощью входа (первый тип входных данных) показывать объекты, которые преобразуются в данном бизнес-процессе, это могут информационные и материальные потоки. С помощью управления (второй тип) показывают объекты, которые управляют выполнением бизнес-процессам. С помощью механизмов (третий тип) необходимо показывать объекты, которые непосредственно осуществляют данные бизнес-процесс: сотрудники, технические средства, информационный системы. На выходе бизнес-процесса показывают результат выполнения данного бизнес-процесса.

На первом этапе построения IDEF0 модели система представляется как единое целое. Основная цель данного этапа – выявить входные и выходные данные, а также механизмы и правила для данной системы. Диаграмма данного этапа называется контекстной.

Контекстная диаграмма деятельности салона красоты изображена на рисунке 1 (для построения диаграмм использовалось CASE- средство AllFusion Process Modeler 7)

Рисунок 1. Контекстная диаграмма

В качестве входных данных для рассматриваемой деятельности салона красоты выступают заявка клиента и прайс-лист на услуги. Заявка может поступить по телефону, по электронной почте, либо при личном визите клиента в салон красоты. Прайс-лист представляет собой полный перечень оказываемых салоном красоты услуг с указанием стоимости каждой из них.

Выходными данными для моделируемой деятельности являются график-расписание, чек об оплате, оказанная услуга и отчеты о деятельности. График-расписание представляет собой календарное расписание работы мастеров салона красоты, он необходим для того, чтобы равномерно распределять нагрузку между мастерами, а также для исключения назначения двух разных процедур на одно и то же время у одного мастера. Чек об оплате выдается клиенту после того, как он оплатит оказанные ему услуги. Отчеты о деятельности салона необходимы для представления их руководству.

Вся деятельность салона ведется в соответствии с уставом компании и законами Российской Федерации. Механизмами, осуществляющими деятельность салона красоты, являются администратор и мастера.

Следующий этап построения функциональной модели – декомпозиция контекстной диаграммы на составляющие деятельность бизнес-процессы. Диаграмма декомпозиции изображена на рисунке 2.

Рисунок 2. Диаграмма декомпозиции

Деятельность салона красоты состоит из трех основных бизнес-процессов:

  • консультация клиента;
  • оказание услуг;
  • прием оплаты;
  • формирование отчетов;

После обращения клиента в салон красоты его заявку обрабатывает Администратор. Результатом выполнения данного бизнес-процесса является сформированное график-расписание и данные клиента (Ф. И. О., телефон, дата рождения и т.д.). Затем мастера оказывают услуги, которые заказал клиент. После оказания услуг администратор принимает оплату от клиента и выдает ему чек об оплате.

Последний бизнес-процесс – формирование отчетов. Он выполняется администратором с периодичностью, установленной в уставе компании (обычно раз в месяц).

Аналогичным образом можно декомпозировать выявленные бизнес-процессы по мере необходимости. Все выявленные бизнес-процессы являются простыми, за исключением процесса консультации клиента. Декомпозиция данного процесса изображена на рисунке 4

Рисунок 4 – Диаграмма декомпозиции процесса консультации клиента

Бизнес-процесс консультации клиента состоит из трех этапов:

  • выявление потребностей клиента в процессе общения с клиентом и на основании его заявки;
  • подбор набора услуг в соответствии с выявленными потребностями и прайс-листом;
  • запись на прием к мастерам, которые оказывают выбранные клиентом услуги.

1.3. Характеристика документооборота, возникающего при решении задачи.

В процессе выполнения бизнес-процесса учета предоставленных услуг в компании «Примавера» формируются следующие документы: график-расписание, чек об оплате, отчет о деятельности. На рисунках ниже (рисунки 3-5) приведены схемы документооборота для каждого из этих документов.

Рисунок 3. Схема документооборота для графика расписания

Рисунок 4. Схема документооборота для чека об оплате

Рисунок 5. Схема документооборота для отчета о деятельности

1.4. Обоснование проектных решений по информационному обеспечению.

Информационное обеспечение комплекса задач, которые поставлены перед данным проектом организовано в виде реляционной базы данных, в которой хранится вся информация, необходимая для автоматизации процесса учета предоставленных услуг в салоне красоты.

Реляционная модель хранения данных представляет объекты предметной области и взаимосвязи между ними в виде таблиц. При этом все операции над информацией, хранимой в базе данных, сводится к манипулированию таблицами, а точнее, записями в них.

На этой модели данных базируются почти все современные СУБД для ПЭВМ. Существенными преимуществами реляционной модели данных являются простота представления данных, так как таблицы являются для этого привычной формой, естественный характер формирования запросов, так как они не привязаны жестко к заранее определенной структуре и высокая степень независимости данных, так как интерфейс пользователя не связан с деталями физической структуры памяти и стратегий доступа.

Достоинствами реляционной модели являются:

  • процесс проектирования баз данных наиболее формализован,
  • вследствие этого реляционная модель имеет более широкие возможности для проектирования баз данных.

Входными данными для проектируемой информационной системы выступают данные о клиентах, мастерах салона красоты и услугах, которые они оказывают. Для клиента указываются следующие данные:

  • фамилия, имя, отчество (Ф. И. О.);
  • телефон;
  • электронная почта;
  • примечание;
  • скидка.

Всего в информационной системе используется два справочника, это справочник услуг с указанием цены за каждую услугу и справочник мастеров, с указанием того, какие услуги он оказывает.

Выходными данными информационной системы выступают данные об оказанных услугах (в виде отчетов), прайс-лист на услуги и чек об оплате.

Для каждого клиента, мастера, его услуг и справочных данных используются кодификаторы, предназначенные для идентификации каждой записи в таблице БД.

Описание используемых классификаторов приведено в таблице 1.

Таблица 1

Используемые идентификаторы

№ пп

Наименование кодируемого множества объектов

Значность кода

Мощность кода

Система кодирования

1

Идентификационный номер клиента

4

9999

Порядковая

2

Идентификационный номер мастера

4

9999

Порядковая

3

Идентификационный номер услуги мастера

4

9999

Порядковая

4

Идентификационный номер услуги

4

9999

Порядковая

5

Идентификационный записи в расписании

4

9999

Порядковая

6

Идентификационный номер услуги в расписании

4

9999

Порядковая

1.5. Обоснование проектных решений по программному обеспечению.

Программное обеспечение – это совокупность программ для реализации целей и задач информационной системы, а также нормального функционирования комплекса технических средств.

В состав программного обеспечения входят общесистемные и специальные программные продукты, в том числе: операционная система, системы программирования, инструментальные средства программиста, тестовые и диагностические программы, программные средства телекоммуникации, защиты информации, функциональное программное обеспечение (автоматизированные рабочие места, системы управления базами данных и т. п.).

Для реализации информационной системы автоматизации учета предоставленных услуг в салоне красоты необходимо выбрать язык программирования для создания пользовательского интерфейса и систему управления базой данных для организации хранения информации в виде базы данных.

В качестве языка программирования был выбран язык Delphi.

Delphi 7 – язык программирования высокого уровня, имеющий следующие особенности:

  • набор операторов языка отражает принципы структурного проектирования и позволяет записывать достаточно сложные алгоритмы в лёгкой и элегантной форме;
  • синтаксис языка достаточно несложный и включает в себя возможности объектно-ориентированного программирования;
  • язык лёгок для изучения;
  • позволяет работать с базами данных;
  • позволяет составлять отчёты;
  • наличие компилятора с возможностью компоновки исполняемых файлов под операционные системы семейства Windows.

В качестве системы управления базами данных в текущей информационной системе была выбрана СУБД от компании Microsoft.

СУБД Microsoft Access наделена всеми возможностями, необходимыми для реализации информационной системы. Основным её достоинством стоит выделить то, что она входит в комплект офисных программ Microsoft Office, используемом в компании, а соответственно нет необходимости устанавливать дополнительное программное обеспечение.

2 глава. Проектная часть.

2.1. Информационная модель и её описание.

Информационной моделью называют схему движения входной, промежуточной и результативной информации и функций предметной области. Также с помощью информационной модели объясняется с помощью каких входных данных (документов) и какой нормативно-справочной информации происходит выполнение основных функций. Информационная модель проектируемой ИС представлена на рисунке 6.

Рисунок 6. Информационная модель

В соответствии с составленной информационной моделью Пользователь-администратор салона красоты могут может работать со всеми данными информационной системы.

Он может добавлять данные о клиентах, мастерах и их услугах, просматривать и выгружать прайс-лист, составлять график-расписание и формировать отчет.

2.2. Характеристика нормативно-справочной, входной и оперативной информации.

В информационной системе используются всего два справочника, характеристики которых приведены в таблице 2.

Таблица 2

Справочники информационной системы

№ п/п

Название справочника

Ответственный за ведение

Средний объём справочника в записях

Средняя частота актуализации

Средний объем актуализации, %

1

Услуги

Администратор

50

1 раз в неделю

5

2

Мастера

Администратор

10

1 раз в неделю

5

За ведение справочников отвечает Администратор.

Реквизитный состав справочников представлен в виде таблицы 3.

Таблица 3

Реквизитный состав справочников информационной системы

№ п/п

Наименование справочника

Перечень реквизитов

1

Услуги

наименование;

стоимость;

актуальность.

2

Мастера

Ф. И. О.;

телефон

Редактирование и ввод новых записей во все справочники осуществляется с помощью специальных форм.

На рисунке 7 изображена форма для работы с записями справочника «Услуга».

Рисунок 7. Форма Услуга

Формы для работы с записями справочника «Мастера» приведена на рисунке 8.

Рисунок 8. Форма для работы данными Мастера

В качестве входных данных для информационной системы выступают данные о клиентах и предоставляемых им услугах. Перечисленные входные данные создаются с помощью соответствующих форм. Внешний вид форм представлен на рисунках 9 (форма добавления клиента) и 10 (форма добавления записи в график-расписание о предоставляемой услуге).

Рисунок 9. Форма для добавления клиента

Рисунок 10. Форма добавления записи в график-расписание

Данные, введенные в формы, которые приведены выше, сохраняются в базе данных и используются для формирования выходных данных.

2.3. Характеристика результатной информации.

В качестве выходных данных выступают отчет о деятельности, прайс-лист, чек об оплате.

Подробное описание выходных данных в таблице 4.

Таблица 4

Описание результатной информации

Наименование

Отчет

Прайс-лист

Чек об оплате

Реквизиты

День (месяц)

Мастер;

Сумма оказанных услуг;

Наименование услуги;

Стоимость.

Клиент;

Мастер;

Дата;

Список услуг со стоимостью.

Таблицы, на основе которых формируется

График-расписание;

Мастер;

Услуги.

Услуги

График-расписание;

Мастер;

Клиент;

Услуги.

Частота формирования

По мере необходимости

По мере необходимости

По мере необходимости

Способ доставки

Экранная форма

Экранная форма

Экранная форма

2.4. Общие положения (дерево функций и сценарий диалога).

Базовый набор функций разработанной информационной системы можно изобразить в виде дерева, изображенного на рисунке 11.

Рисунок 11. Дерево функций

Выполнение функций разработанной информационной системы осуществляется с помощью ведения диалога с пользователем. То есть Пользователь информационной системы выполняет какие-то действия, а программа соответствующим образом на них реагирует. Сценарий диалога с пользователем представлен на рисунке 12.

Рисунок 12. Сценарий диалога

Началом диалога является главная форма ИС. С её помощью пользователь выбирает задачу, которую собирается решить. В зависимости от выбора пользователя ему открываются различные формы пользовательского интерфейса, предназначенные для решения выбранной задачи.

2.5. Характеристика базы данных.

В качестве системы управления базой данный для разрабатываемой информационной системы была выбрана СУБД Microsoft Access.

Для хранения всех необходимых данных была спроектирована и создана база данных, состоящая из 6 таблиц. ER-модель спроектированной базы данных представлена на рисунке 13.

Рисунок 13. ER-модель базы данных

Описание всех таблиц базы данных представлено в таблицах 5-10.

Таблица 5

Таблица masters

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код

id

int

4

AI

Ф. И. О.

fio

varchar

120

Телефон

phone

varchar

120

Таблица 6

Таблица master_services

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код

id

int

4

AI

Мастер

Master_id

int

4

FK

Услуга

Service_id

int

4

FK

Таблица 7

Таблица services

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код

id

int

4

AI

Наименование

caption

varchar

120

Стоимость

price

decimal

Скрыть?

hidden

boolean

Таблица 8

Таблица graphic_services

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код

id

int

4

AI

Услуга

Service_id

int

4

FK

Запись в графике

Graphic_id

int

4

FK

Стоимость

price

decimal

Таблица 9

Таблица grafic

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код

id

int

4

AI

Дата

dates

date

Время

times

time

Клиент

Client_id

int

4

FK

Статус

status

varchar

120

Сумма

price

decimal

Мастер

Master_id

int

4

FK

Таблица 10

Таблица Client

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код

id

int

4

Ф. И. О.

fio

varchar

120

Телефон

phone

varchar

120

Электронная почта

email

varchar

120

Примечание

prim

varchar

120

Скидка

skidka

decimal

2.6. Структурная схема пакета (дерево вызова программных модулей).

Проект программы состоит из семи модулей:

  • модуль Main.pas (главный модуль);
  • модуль Graphic.pas (работа с данными графика-расписания);
  • модуль Client.pas (работа с данными клиентов);
  • модуль Otchet.pas (формирование отчетов);
  • модуль Sprav.pas (работа со справочниками);
  • модуль Connect.pas (настройки соединения с базой данных).

Подробное описание модулей представлено в виде таблицы 12.

Таблица 12

Описание модулей системы

№ п/п

Наименование модуля

Функции модуля

1.

модуль Main.pas

содержит процедуры и функции, отвечающие за отображение главного окна программы, работу главного меню программы и формирование отчета

2

модуль Graphic.pas

в данном модуле запрограммированы процедуры для обработки введенных данных о записях на прием у мастеров

3.

модуль Client.pas

в данном модуле запрограммированы процедуры для обработки введенных данных о клиентах

4.

модуль Otchet.pas

модуль содержит процедуры и компоненты для ввода параметром отчетов, их формирования и выгрузки в Microsoft Excel

5.

Модуль Connect.pas

модуль содержит процедуры и компоненты для ввода, сохранения и изменения настроек подключения к БД, а также инициализации самого подключения и осуществления всех операций взаимодействия с базой данных (отправки SQL-запросов и обработка результатов их выполнения)

6.

модуль Sprav.pas

модуль содержит процедуры и компоненты для выполнения основных операций со справочниками (просмотр, добавление, изменение, удаление записей)

Дерево вызова программных модулей приведено на рисунке 14.

Рисунок 14. Дерево вызова программных модулей

2.7 Описание программных модулей.

После запуска программы инициализируется подключения к базе данных. Соединение с базой данных осуществляется с помощью технологии ADO.

Технология ADO обеспечивает универсальный доступ к хранилищам (источникам) данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.

В палитре компонентов Delphi есть отдельная вкладка ADO, которая содержит набор компонентов, позволяющих создавать полноценные приложения БД, обращающиеся к данным через данную технологию.

Таблицы, расположенные на формах работы со справочниками системы работают напрямую с таблицами базы данных, поэтому для их работы используется компонент AdoTable. Данный компонент представляет собой виртуальную копию таблицы базы данных, изменения в которой сразу передаются в связанную таблицу БД.

Для формирования отчета и выходных документов, а также работы с графиком работы мастеров используется компонент AdoQuery. Данный компонент предназначен для отправки запросов к базе данных и обработки ответов на них. В приложении используются 3 вида запросов:

  • Запросы на выборку;
  • Запросы на добавление данных;
  • Запросы на обновление данных.

Для получения практически любых данных любого количества таблиц базы данных используется оператор запроса SELECT.

Для обновления данных, хранящихся в базе данных используется оператор UPDATE, для добавления новых – оператор INSERT.

Следует отметить, что технология ADO позволяет писать запрос в объекте AdoQuery на классическом языке SQL, без учета особенностей СУБД, используемой в качестве хранилища данных. Это является значимым преимуществом, т.к. позволяет легко переводить программные средства с одной СУБД на другую, в зависимости от условий эксплуатации и требований к ней.

Программные модули состоят из процедур, которые обрабатывают различные действия пользователя (нажатия на кнопки, ввод текста в поля и т.д.) нужным образом. На рисунке 15 представлена блок-схема алгоритма добавления новой записи в график-расписание работы мастеров.

Рисунок 15. Блок-схема алгоритма добавления новой записи

Остальные процедуры в программном коде имеют аналогичную простую структуру, поэтому подробно они рассмотрены не будут.

2.8. Контрольный пример реализации проекта и его описание.

Установка информационной системы на компьютер пользователя осуществляется путем копирования файлов программы на жесткий диск. Для запуска ИС необходимо, чтобы на компьютере был установлен пакет офисных программ Microsoft Office 2007 или более старшей версии.

После запуска ИС пользователю отображается главная форма, с помощью которой пользователь может получить доступ ко всем функциям программы (Рисунок 16).

Рисунок 16. Главная форма

На данной форме расположены только кнопки для перехода к выполнению соответствующей функции. В левом верхнем углу сгруппированы кнопки для работы со справочной информацией ИС: работа со списком клиентов, мастеров и услуг. Для каждого справочника создана отдельная форма.

На рисунке 17 представлена форма для работы со списком клиентов. С помощью данной формы можно просматривать и редактировать данные каждого клиента: Ф. И. О., номер телефона, адрес электронной почты и размер скидки.

Рисунок 17. Форма для работы со списком клиентов

Форма для работы со списком услуг имеет аналогичную структуру: центральную часть форма занимает таблица, в которой отображаются записи справочника. В справочнике услуг можно добавить и изменить информацию об услугах, оказываемых салоном красоты: Название услуги, стоимость её разового оказания, а также скрыть её из общего списка выбора. При скрытии услуги она не будет выводится на печать при формировании прайс-листа, а также не будет доступна для выбора при добавлении новой записи в график-расписание.

Форма для работы со списком услуг изображена на рисунке 18.

Рисунок 18. Форма для работы со списком услуг

Форма для работы со списком мастеров салона красоты имеет несколько другую структуру (рисунок 19). В верхней части формы расположены поля для ввода данных мастера, а в нижней части – таблица для управления списком услуг, которые может оказывать мастер. Информация данного списка используется при добавлении новой записи в график-расписание.

Рисунок 19. Форма для работы с данными мастера салона красоты

Добавление новой записи в график-расписание осуществляется с помощью специальной формы, изображенной на рисунке 20.

Рисунок 20. Форма для добавления новой записи в график-расписание

В верхней части формы расположены поля для ввода основных данных записи: даты, времени, клиента и мастера. Ввод клиента и мастера осуществляется путем выбора нужного из выпадающего списка, элементами которого являются записи соответствующего справочника.

В нижней части формы расположена таблица, в которую необходимо добавить услуги, которые будут оказаны выбранному клиенту выбранным мастером. Следует отметить, что добавление услуг в таблице возможно только после того, как будет выбран клиент и выбран мастер.

Добавление услуг осуществляется путем выбора её из выпадающего списка, элементами которого являются услуги. Оказываемые выбранным мастером (перечень эти услуг изменяется с помощью формы, изображенной на рисунке 18). Помимо названия услуги для удобства работы администратора отображается также и базовая их стоимость, в соответствии с прайсом.

Рисунок 19. Выпадающий список выбора услуги

После того, как все нужные услуги будут добавлены, в поле стоимость автоматически рассчитается стоимость каждой услуги в соответствии со скидкой выбранного клиента (если таковая имеется), а в поле сумма впишется сумма стоимости всех услуг.

Также в данной форме имеется кнопка для формирования и вывода на печать чека на оплату (Рисунок 20).

Рисунок 20. Чек на оплату

Просмотреть все записи в графике расписании можно посмотреть с помощью отдельной формы, вызываемой из главной формы (Рисунок 21).

Рисунок 21. Форма просмотра расписания

В верхней части формы расположено поле, с помощью которого можно выбрать интересующую пользователя дату. После нажатия на кнопку Найти из базы данных будут отобраны все записи на прием к мастерам на выбранную дату. При открытии формы по умолчанию открываются записи на текущую дату.

Большую часть формы занимает таблица с результатами отбора записей. Напротив каждой отобранной записи находится кнопка Открыть, которая позволяет просмотреть данные о записи более подробно (Рисунок 22), а также распечатать чек на оплату.

Рисунок 22. Форма просмотра записи на прием

Последняя функция ИС, доступ к которой также осуществляется из главной формы – формирование выходных отчетов и вывод их на печать.

Доступны три выходных отчета: прайс-лист, месячный и годовой отчет.

Рисунок 23. Прайс-лист, выводимый на печать

В прайс-лист на печать выводятся те записи из справочника услуг, у которых не отмечен флаг скрытия их из списка. Цена в прайс-листе указана без учета каких-либо скидок клиентов.

Перед формированием месячного и годового отчета с помощью диалогового окна запрашивается параметр: номер месяца для месячного отчета и год, соответственно для годового.

Рисунок 24. Пример сформированного месячного отчета

ЗАКЛЮЧЕНИЕ

В ходе проделанной работы были решены следующие задачи:

  • Была проанализирована текущая организация бизнес-процесса учета предоставленных услуг в салоне красоты «Примавера», были выделены основные этапы выполнения бизнес-процесса, изучен возникающий документооборот;
  • Были выбраны и обоснованы проектные решения по информационному и программному обеспечению;
  • Была составлена информационная модель информационной системы;
  • Была разработана база данных и программные модули, реализующие работу ИС.
  • Был описан контрольный пример реализации проекта.

Таким образом, все задачи, поставленные перед данным курсовым проектом выполнены, а значит и основная цель достигнута.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  • ГОСТ 2.105 – 95. Общие требования к текстовым документам.
  • ГОСТ 7.32 – 2001. Отчет по научно-исследовательской работе. Структура и правила оформления.
  • ГОСТ 7.82-2001. Библиографическое описание электронных ресурсов.
  • ГОСТ 24.702-85 Эффективность автоматизированных систем управления.
  • ГОСТ Р 7.0.5-2008. Библиографическая запись. Библиографическое описание.
  • Агальцов В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник. М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. 272 с.
  • Гагарина Л.Г. Разработка и эксплуатация автоматизированных информационных систем: учебное пособие. М.: ИД «ФОРУМ»: ИНФРА-М, 2013. 384 с.
  • Горбаченко В.И., Убиенных Г.Ф. Бобрышева Г.В. Проектирование информационных систем с СА Erwin Modeling Suite 7.3. Пенза: Изд-во ПГУ, 2012, 154 c.
  1. Зуев Е.А. Программирование на языке Delphi 6.0,7.0. – М.: Радио и связь, Веста, 2016. - 186 с.
  • Калмыков Ю.В. Учебно-методичское пособие по обучению программированию на языке Delphi для школ, 2014. – 100 с.
  • Карпова И.П. Базы данных: Учебное пособие. – Спб.: Питер, 2013. – 240 с.
  • Кузин А.В., Левонисова С.В. Базы данных: Учебное пособие для студ. высш. учеб. заведений. – М.: ИЦ Академия, 2012. – 320с.
  • Культин Никита – Основы программирования в Delphi, 2015 – 232 с.
  • Маклаков С. В. Моделирование бизнес-процессов с AllFusion Process Modeler (BPwin 4.1) / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2013. – 340 c.
  • Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2015. – 512 c.
  • Тельнова, Ю.Ф. Проектирование экономических информационных систем: учеб. / под ред. Ю. Ф. Тельнова. М. : Горячая линия, 2015 — 345 c.
  • Фуфаев Д.Э. Фуфаев Э.В. Разработка и эксплуатация автоматизированных информационных систем: учебник дя студ. М.: Издательский центр «Академия», 2013. 304 с.
  • Шаньгин В.Ф. Информационная безопасность компьютерных системы и сетей: Учебное пособие. М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. 416 с.

ПРИЛОЖЕНИЯ

unit Main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Frms,

Dialogs, Menus, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids, comobj,

ExtCtrls;

type

TFrm1 = class(TFrm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

ADOConnection1: TADOConnection;

DBGrid1: TDBGrid;

Label1: TLabel;

Edt1: TEdt;

BitBtn1: TBitBtn;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

DBGrid2: TDBGrid;

Label2: TLabel;

Edt2: TEdt;

BitBtn2: TBitBtn;

Adotbl1: TAdotbl;

Adotbl1Id: TAutoIncField;

Adotbl1FIO: TWideStringField;

Adotbl1Phone: TWideStringField;

Adotbl1Address: TWideStringField;

Adotbl1Passport: TWideStringField;

DataSource1: TDataSource;

DataSource2: TDataSource;

Adotbl2: TAdotbl;

Adotbl2id: TAutoIncField;

Adotbl2caption: TWideStringField;

Adotbl2path: TWideStringField;

PopupMenu1: TPopupMenu;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

PopupMenu2: TPopupMenu;

N8: TMenuItem;

ADOQuery1: TADOQuery;

N9: TMenuItem;

N10: TMenuItem;

BitBtn3: TBitBtn;

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

Panel5: TPanel;

Panel6: TPanel;

Panel7: TPanel;

produre N3Click(Send: TObject);

produre BitBtn1Click(Send: TObject);

produre BitBtn2Click(Send: TObject);

produre FrmShow(Send: TObject);

produre Edt1Change(Send: TObject);

produre N7Click(Send: TObject);

produre N8Click(Send: TObject);

produre N5Click(Send: TObject);

produre N6Click(Send: TObject);

produre N4Click(Send: TObject);

produre N2Click(Send: TObject);

produre FrmResize(Send: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Frm1: TFrm1;

implementation

uses shabl;

{$R *.dfm}

produre TFrm1.N3Click(Send: TObject);

begin

frm1.Close;

end;

produre TFrm1.BitBtn1Click(Send: TObject);

begin

Edt1.Clear;

Edt1.SetFocus;

end;

produre TFrm1.BitBtn2Click(Send: TObject);

begin

Edt2.Clear;

Edt2.SetFocus;

end;

produre TFrm1.FrmShow(Send: TObject);

begin

Adotbl1.open;

Adotbl1.Sort:='FIO ASC';

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.25);

Adotbl2.open;

Adotbl2.Sort:='caption ASC';

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.28);

end;

produre TFrm1.Edt1Change(Send: TObject);

begin

if Edt1.text<>'' then

begin

DbGrid1.DataSource.DataSet.Filtered:=false;

DbGrid1.DataSource.DataSet.Filter:='FIO like %'+Edt1.Text+'%';

DbGrid1.DataSource.DataSet.Filtered:=true;

end

else

begin

DbGrid1.DataSource.DataSet.Filtered:=false;

DbGrid1.DataSource.DataSet.Filter:='';

end;

end;

produre TFrm1.N7Click(Send: TObject);

begin

Dbgrid2.DataSource.DataSet.Close;

DbGrid2.DataSource.DataSet.open;

Adotbl2.Sort:='caption ASC';

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.28);

end;

produre TFrm1.N8Click(Send: TObject);

begin

Dbgrid1.DataSource.DataSet.Close;

DbGrid1.DataSource.DataSet.open;

Adotbl1.Sort:='FIO ASC';

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.25);

end;

produre TFrm1.N5Click(Send: TObject);

begin

if not DbGrid1.DataSource.DataSet.FieldByName('id').IsNull then

begin

Frm2.Edt1.Text:=DbGrid2.DataSource.DataSet.FieldByName('caption').AsString;

Frm2.Edt2.Text:=DbGrid2.DataSource.DataSet.FieldByName('path').AsString;

Frm2.Caption:='Редактирование шаблона';

Frm2.Label3.Caption:= DbGrid2.DataSource.DataSet.FieldByName('id').AsString;

Frm2.show;

end;

end;

produre TFrm1.N6Click(Send: TObject);

var

s: string;

begin

s := InputBox('Ввод данных','Необходимо указать название нового шаблона','');

if s<>'' then

begin

With AdoQuery1 do

begin

close;

SQL.Clear;

SQl.add('INSERT INTO shablon (caption) VALUES ( :caption )');

Parameters.ParamByName('caption').Value:=s;

EXECSQL;

end;

n7.Click;

end;

end;

produre TFrm1.N4Click(Send: TObject);

var

Word:Variant;

begin

if not DBGrid1.DataSource.DataSet.FieldByName('id').IsNull then

begin

if fileExists(ExtractFilePath(ParamStr(0))+'shablon\'+DbGrid2.DataSource.DataSet.FieldByName('path').AsString) then

begin

Word := CreateOleObject('Word.Application');

Word.Documents.Add(ExtractFilePath(ParamStr(0))+'shablon\'+DbGrid2.DataSource.DataSet.FieldByName('path').AsString);

Word.visible:=true;

end

else

begin

Showmessage(' Файл '+DbGrid2.DataSource.DataSet.FieldByName('path').AsString+' не найден в папке shablon.'+#10+#13+'Проверьте правильность названия файла и его наличие в указанной папке.');

end;

end;

end;

produre TFrm1.N2Click(Send: TObject);

begin

n7.Click;

n8.Click;

end;

produre TFrm1.FrmResize(Send: TObject);

begin

panel1.Width:=Round((frm1.Width-50)*0.5);

panel2.Width:=Round((frm1.Width-50)*0.5);

panel1.Width:=Round(frm1.Width*0.5);

BitBtn3.Left:=Round(panel5.Width*0.5)-Round(Bitbtn3.Width*0.5);

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.26);

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.26);

end;

end.

unit shabl;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Frms,

Dialogs, StdCtrls, Buttons, DB, ADODB, comobj;

type

TFrm2 = class(TFrm)

Label1: TLabel;

Label2: TLabel;

Edt1: TEdt;

BitBtn1: TBitBtn;

Edt2: TEdt;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

OpenDialog1: TOpenDialog;

Label3: TLabel;

ADOQuery1: TADOQuery;

produre BitBtn3Click(Send: TObject);

produre Edt1Change(Send: TObject);

produre Edt2Change(Send: TObject);

produre BitBtn1Click(Send: TObject);

produre BitBtn2Click(Send: TObject);

produre FrmClose(Send: TObject; var Action: TCloseAction);

produre BitBtn4Click(Send: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Frm2: TFrm2;

implementation

Uses main;

{$R *.dfm}

produre TFrm2.BitBtn3Click(Send: TObject);

begin

Frm2.Close;

end;

produre TFrm2.Edt1Change(Send: TObject);

begin

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

end;

produre TFrm2.Edt2Change(Send: TObject);

begin

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

end;

produre TFrm2.BitBtn1Click(Send: TObject);

begin

openDialog1.InitialDir := GetCurrentDir;

if opendialog1.Execute then

begin

if FileExists(opendialog1.FileName) then

begin

Edt2.Text:=Opendialog1.FileName;

end;

end;

end;

produre TFrm2.BitBtn2Click(Send: TObject);

begin

if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым'); Edt1.SetFocus; exit; end;

if Edt2.text='' then begin showmessage('Необходимо выбрать файл'); BitBtn1.SetFocus; exit; end;

if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or (FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не найден'); BitBtn1.SetFocus; exit; end;

if OpenDialog1.filename='' then OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;

With AdoQuery1 do

begin

close;

SQl.clear;

SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');

Parameters.ParamByName('caption').value:=Edt1.text;

Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);

Parameters.ParamByName('id').value:=label3.caption;

execSQL;

end;

CopyFile(Pchar(Edt2.text), Pchar(ExtractFilePath(ParamStr(0))+'shablon\'+ExtractFileName(OpenDialog1.Filename)), true) ;

caption:=copy(caption,0,length(caption)-2);

close;

Frm1.N7.Click;

end;

produre TFrm2.FrmClose(Send: TObject; var Action: TCloseAction);

begin

if copy(caption,length(caption)-1,1) = '*' then

begin

If MessageBox(Handle,PChar('Данные были изменены. Сохранить изменения?'),PChar('Подтверждение'),MB_ICONINFRMATION+MB_YESNO+MB_DEFBUTTON2)=IdYes

then BitBtn2.Click;

end;

end;

produre TFrm2.BitBtn2Click(Send: TObject);

begin

if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым'); Edt1.SetFocus; exit; end;

if Edt2.text='' then begin showmessage('Необходимо выбрать файл'); BitBtn1.SetFocus; exit; end;

if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or (FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не найден'); BitBtn1.SetFocus; exit; end;

if OpenDialog1.filename='' then OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;

With AdoQuery1 do

begin

close;

SQl.clear;

SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');

Parameters.ParamByName('caption').value:=Edt1.text;

Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);

Parameters.ParamByName('id').value:=label3.caption;

execSQL;

end;

produre TFrm2.BitBtn4Click(Send: TObject);

var

Word:Variant;

begin

if fileExists(Edt2.text) then

begin

Word := CreateOleObject('Word.Application');

Word.Documents.Add(Edt2.text);

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

Word.visible:=true;

end

else

begin

Showmessage(' Файл '+Edt2.text+' не найден.'+#10+#13+'Проверьте правильность названия файла и его наличие в указанной папке.');

end;

end;

end.

unit Connect;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

type

TForm5 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

Uses DataM;

{$R *.dfm}

procedure TForm5.BitBtn1Click(Sender: TObject);

var

SetF : TextFile;

s:array[1..9] of string;

i:integer;

begin

if Edit1.text='' then begin showmessage('Укажите имя сервера'); exit; end;

if Edit2.text='' then begin showmessage('Укажите логин'); exit; end;

if Edit3.text='' then begin showmessage('Укажите пароль'); exit; end;

if Edit4.text='' then begin showmessage('Укажите имя базы данных'); exit; end;

AssignFile(SetF, ExtractFilePath(ParamStr(0))+'SetF.cfg');

reset(SetF);

For i:=1 to 4 do Readln(Setf,s[i]);

closeFile(SetF);

s[1]:=edit1.text;

s[2]:=edit2.text;

s[3]:=edit3.text;

s[4]:=edit4.text;

Rewrite(SetF);

For i:=1 to 9 do Writeln(Setf,s[i]);

closefile(Setf);

Close;

end;

end.