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

Анализ и оценка средств реализации структурных методов анализа и проектирования экономической информационной системы (Описание предметной области. Постановка задачи)

Содержание:

ВВЕДЕНИЕ

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

Если подробно изучить все сферы бизнеса с точки зрения обеспеченности экономическими информационными системами, то можно сделать вывод, что их распределение крайне неравномерно. Если общие задачи, которые ежедневно решает каждое предприятие (кадровый учет, бухгалтерский учет) автоматизированы достаточно хорошо, то в специфических аспектах функционирования предприятия наблюдается дефицит информационных систем. Одним из таких аспектов является деятельность фитнес-клуба. Каждый день на предприятиях подобного типа совершается множество операций: регистрация клиентов, оформление фактов, посещения клиентами клуба, поступление и выдача денежных средств, а также многие другие операции, автоматизация которых поможет улучшить функционирование предприятия.

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

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

Задачи исследования:

Методы исследования: анализ литературных источников по проблеме исследование, сравнение, обобщение.

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

1.Аналитический обзор

1.1 Описание предметной области. Постановка задачи

ООО «Метрофитнес» как сеть спортклубов, появилась впервые в 2015 году в городе Екатеринбург. В настоящее время там функционирует 7 фитнес-клубов данной сети, так же сеть разрастается по всей России. Так, в Челябинске насчитывается 3 фитнес-клуба сети, а также имеются фитнес-клубы в таких городах, как Уфа, Пермь, Курган, Тюмень, Краснодар, Нижний Новгород, Ростов-на-Дону, Нижний Тагил, Казань, Омск, Новосибирск, Санкт-Петербург. Всего ООО «Метрофитнес» насчитывает 36 точек по всей России. Ожидается открытие четвертого фитнес-клуба в Челябинске, а именно по адресу Ленина проспект, 86 –торговый комплекс «Курчатов» [11].

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

Ниже, на рисунке 1, представлен план зала, находящегося по адресу г. Челябинск, ул. Южный Бульвар, дом 2а.

Рисунок 1 - Планировка фитнес-клуба

Зал вмещает до 200 человек единовременно (тренажерный зал и зал групповых программ), но, по статистике, в зале одновременно не находятся более 150 человек. В среднем, в течение дня, фитнес-клуб посещают 600 человек.

Организационная структура – способ и форма объединения работников для достижения поставленных целей [11].

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

Рисунок 2 - Организационная структура управления фитнес-клуба

Преимущества линейной структуры управления:

- четкая система взаимных связей функций и подразделений;

- четкая система единоначалия - один руководитель сосредотачивает в своих руках руководство всей совокупностью процессов, имеющих общую цель;

- ясно выраженная ответственность;

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

- согласованность действий исполнителей;

- оперативность в принятии решений;

- простота организационных форм и четкость взаимосвязей;

- минимальные издержки производства и минимальная себестоимость выпускаемой продукции [3].

Миссия ООО «Метрофитнес», представленная на официальном сайте, звучит следующим образом: «Сделать фитнес доступным. Здоровый образ жизни должен быть по карману каждому» [11].

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

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

Цели ООО «Метрофитнес» [11]:

1) В краткосрочной перспективе цель компании – сформировать постоянную клиентскую базу потребителей фитнес-услуг в Челябинской области и по всей России и достичь объема продаж 10 000 безлимитных карт в месяц.

2) В среднесрочной перспективе цели компании:

- расширить рынок фитнес-услуг в пределах Челябинской области, а также соседних регионов Росси;

- максимально снизить издержки производства и реализации услуг;

- повысить объем продаж с 10000 до 15 000 абонементов в месяц;

- снизить себестоимость оказываемых услуг при сохранении их качества.

5) В долгосрочной перспективе (10–15 лет) цели компании:

- выйти на лидирующие позиции в сфере оказания фитнес-услуг на территории России и ближнего зарубежья;

- повысить объем реализации услуг от 20 000абонементов в месяц.

Для решения поставленных целей перед ООО «Метрофитнес» стоят четыре категории задач.

1) Формирование надежной команды профессионалов в каждом из подразделений компании позволит обеспечить требуемый результат.

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

Основные принципы при подборе специалистов [11]:

- компетентность и ответственность;

- инициатива и пунктуальность;

- интеллект и настойчивость;

- творчество и исполнительность;

- отзывчивость и доброжелательность;

- стремление к совершенствованию;

- способность осваивать и применять в работе новые знания;

- добросовестное исполнение своих обязанностей.

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

7) Постоянная работа с потребителями фитнес-услуг в плане улучшения качества их оказания, а также услуг по обслуживанию клиентов [11]:

- клиент – центр работы компании;

- деятельность ООО «Метрофитнес» служит благу и удовлетворению интересов клиентов;

- компания гарантирует прозрачность взаимоотношений;

- ценить время наших клиентов и выполнять заказы точно в срок;

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

- арсенал в конкурентной борьбе за клиента – отличный сервис, высокое качество оборудования и спортивного инвентаря;

- стремление к долгосрочным взаимовыгодным отношениям.

8) Работа с информационными источниками в плане постоянного мониторинга рынка фитнес-услуг, основных потребностей и ассортимента, требуемых на рынке.

Для реализации озвученных целей предусматриваются следующие действия [11]:

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

2) Совершенствование производственной базы компании в плане закупок нового оборудования. Это позволит улучшить качество оказания услуг.

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

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

5) Изучение компаний конкурентов в сфере оказания фитнес-услуг.

Использование опыта развития их предприятий для совершенствования собственного.

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

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

Глобальная цель обработки информации: улучшить качество и быстроту нахождения данных.

Частные цели [11]:

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

1.2 Выбор средства для моделирования бизнес-процессов

Спортклуб работает в соответствии с законами Российской Федерации и положениями, разработанными руководством спортклуба. Эти ограничения действуют на протяжении всей его деятельности. На входе процесса Организация деятельности спортклуба Запрос спортсмена. Это означает, что вся его деятельность связана с работой со спортсменами. На выходе процесса соответственно Абонемент – то, что получает спортсмен при запросе. Механизм, которым управляется процесс: Персонал и Оборудование.

Рисунок 3 - Контекстная диаграмма IDEF0

Декомпозиция диаграммы разбивает процесс Организация деятельности спортклуба на подпроцессы, которые отражают его подробное описание (рис.4).

Подпроцесс Составление расписания (А1) имеет на входе два объекта: График работ тренеров и Виды занятий, на выходе – Расписание, в соответствии с которым выполняется третий и четвертый подпроцессы: Запись на тренировки и Проведение занятий. Ограничением является Режим работы спортклуба. Составлением расписания занимается Администратор [4].

Подпроцесс Продажа абонемента (А2) имеет на входе объекты Деньги и Запрос спортсмена на продажу абонемента. На выходе – Абонемент и Чек оплаты. Продажа осуществляется Администратором в соответствии с Прайс-листом спортклуба.

Подпроцесс Запись на тренировки (А3) на входе имеет Запрос спортсмена, на выходе – Список групп, которые посетят занятие по расписанию. Запись на тренировки осуществляется Администратором [5].

Подпроцесс Проведение занятий (А4) на входе имеет объект Спортсмен, на выходе – Спортсмен’, который уже потренировался в спортклубе. Занятия проводятся Тренером, присутствуют те спортсмены, которые заявлены в Списке групп.

Рисунок 4 - Декомпозиция контекстной диаграммы IDEF0

1. Декомпозиция подпроцесса Составление расписания (рис.5):

Подпроцесс Обсуждение графика работ с каждым тренером (А11) имеет на входе График работ тренеров и Виды занятий. На выходе – Предварительный график занятий.

Подпроцесс Распределение помещений для тренировок (А12) следует за процессом Обсуждение графика работ с каждым тренером и имеет на входе Предварительный график занятий. Соответственно на выходе – Черновик расписания.

Последним подпроцессом является Ликвидация наложений в графике (А13), который на входе имеет Черновик расписания. Ограничением для данного подпроцесса является Режим работы спортклуба [5].

Все подпроцессы выполняются Администратором клуба с соответствии с его Положениями.

Рисунок 5 - Декомпозиция подпроцесса Составление расписания

2. Декомпозиция подпроцесса Продажа абонемента (рис.6):

Первый подпроцесс Обсуждение вопросов (А21) на входе имеет Запрос спортсмена, на выходе соответственно – Запрошенный вид абонемента.

Второй подпроцесс Заполнение абонемента (А22) следует за процессом Обсуждение вопросов и имеет на входе Запрошенный вид абонемента, на выходе – Абонемент, который является выходом всего

процесса, и Данные абонемента, которые являются входом для третьего процесса.

Третий подпроцесс Запись о проданном абонемента (А23) имеет на входе Данные абонемента, на выходе – Квитанция [6].

Последний подпроцесс Прием оплаты (А24) на входе имеет Квитанцию, на выходе – Чек оплаты. Ограничением выполнения подпроцесса является Прайс-лист.

Все подпроцессы выполняются Администратором клуба с соответствии с его Положениями.

Рисунок 6 - Декомпозиция подпроцесса Продажа абонемента

3. Декомпозиция подпроцесса Проведение занятий (рис.7):

Первый подпроцесс Запись о присутствующем спортсмене (А41) на входе имеет Данные о спортсмене, на выходе соответственно – Количество присутствующих спортсменов.

Второй подпроцесс Выдача инвентаря (А42) следует за процессом Запись о присутствующем спортсмене и имеет на входе Запрос на выдачу инвентаря, на выходе – требуемый Инвентарь, который является входом третьего подпроцесса. Ограничением подпроцесса служит Количество присутствующих спортсменов.

Третий подпроцесс Тренировочный процесс (А43) имеет на входе два объекта: Инвентарь и Спортсмен, на выходе – Инвентарь’ и Спортсмен’. Ограничениями подпроцесса являются Список групп и Расписание. А дополнительным механизмом управления подпроцессом является Оборудование (т.е., тренажеры) [5].

Последний подпроцесс Сбор инвентаря (А44) на входе имеет Инвентарь’, на выходе – Отчет о сдаче инвентаря.

Все подпроцессы выполняются Тренером с соответствии с Положениями спортклуба.

Рисунок 7 - Декомпозиция подпроцесса Проведение занятий

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

Классификация рынка информационных систем [2]:

  • локальные системы (1С, БЭСТ, Инотек, ИНФИН, Инфософт);
  • малые интегрированные системы (БОСС-Корпорация, Галактика/Парус, Ресурс, Эталон, Axapta);
  • средние интегрированные системы (JD Edwards (Robertson& Blums), MFG-Pro (QAD/BMS));
  • крупные интегрированные системы (SAP/R3 (SAP AG), Baan (Baan), BPCS (ITS/SSA), Oracle);

Все системы можно разделить на два больших класса: финансово-управленческие и производственные системы.

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

Производственные системы часто ориентированы на одну или несколько отраслей и/или типов производства. Имеют значение также различные типы организации самого производственного процесса [2].

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

Финансово-управленческие системы включают подклассы локальных и малых интегрированных систем. Такие системы предназначены для ведения учета по одному или нескольким направлениям (бухгалтерия, сбыт, склады, учет кадров, учет услуг и т.д.). Системами этой группы может воспользоваться практически любое предприятие, которому необходимо управление финансовыми потоками и автоматизация учетных функций. Системы этого класса по многим критериям универсальны, хотя зачастую разработчиками предлагаются решения отраслевых проблем, например, особые способы начисления налогов или управление персоналом с учетом специфики регионов. Универсальность приводит к тому, что цикл внедрения таких систем невелик.

Финансово-управленческие системы (особенно системы российских разработчиков) значительно более гибкие в адаптации к нуждам конкретного предприятия. Часто предлагаются "конструкторы", с помощью которых можно практически полностью перестроить исходную систему, самостоятельно, или с помощью поставщика установив связи между таблицами баз данных или отдельными модулями. Хотя общая конфигурация систем может быть достаточно сложна, практически все финансово-управленческие системы способны работать на персональных компьютерах в обычных сетях передачи данных. Они опираются на технологию выделенного сервера базы данных, которая характеризуется высокой загрузкой сетевых каналов для передачи данных между сервером и рабочими станциями [2].

На рынке ощущается недостаток информационных систем учета услуг для малых предприятий сферы обслуживания. Для анализа были выбраны следующие информационные системы: «UNIVERSE – Фитнес» (UNIVERSE soft), «1С: Фитнес клуб» (1C), «Абонемент» (UCS), «КРАФТ ERP Фитнес-клуб» (ООО «Бином Софт»), «Фитнес – клуб» (ООО «Простой софт»).

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

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

Программный продукт «UNIVERSE – Фитнес» отличается от остальных широким функционалом. Группы функций программы: ведение клиентских карт, работа с клубными картами, операции по клиентам, управление персоналом, складской учет, касса и финансы. Очень заметно, что для работы с клиентами было разработано целых три группы функций. Это говорит о том, что упор в данной системе сделан на взаимодействие с клиентами. Таким образом, достигается высокое качество обслуживания клиентов вне непосредственного оказания основной услуги. Наиболее интересные функции данной программы — это прикрепление клиента к определенному менеджеру организации, предварительная запись на групповые или индивидуальные занятия, ряд манипуляций с клубной картой и абонементом. Следует отметить, что совокупность отчетов по отдельным учетным задачам, позволяет сотрудникам отдела маркетинга, после обработки этой совокупности, выявлять направления для развития организации, на основании данных о спросе на конкретные услуги, о затратах на реализацию этих услуг, о трудовых ресурсах организации [2].

Таблица 1

Достоинства и недостатки.

Достоинства

Недостатки

Система отличается довольно широким функционалом.

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

Также ценовая политика слишком высокая для среднестатистического потребителя.

Отраслевое решение «1С: ФИТНЕС КЛУБ» является самостоятельным продуктом, предназначенным для автоматизации управленческого и оперативного учета в оздоровительных учреждениях, фитнес-клубах, йога студиях и бассейнах. Следует отметить, что данный программный продукт не предусматривает ведения бухгалтерского и налогового учета. Однако платформа «1С» позволяет интегрировать приложение с «1С: БУХГАЛТЕРИЯ 8», которому передаются все необходимые данные. Таким образом, при наличии двух приложений можно осуществлять как управленческий и оперативный учет, так и бухгалтерский и налоговый.

Данное решение имеет широкий функционал, разработчики выделяют пять основных групп функций. Первая группа — работа с клиентами. Система позволяет формировать клиентскую базу, и при этом хранить разнообразную информацию о клиенте: начиная с персональных данных и лицевых счетов клиента и заканчивая целями посещения, предпочтениями в напитках и принадлежности к определенному сегменту. На основании введенных данных о клиентах, данных об их посещениях и результатах проведенного анкетирования, система позволяет получить отчеты по следующим рубрикам: работа с абонементами, анализ клиентской базы, анкетирование, аренда, взаимоотношения, посещения клиентов, работа с корпоративными договорами [4].

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

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

Четвертая группа — учет запасов на складе. Эта группа функций, представляет автоматизацию взаимодействия с поставщиками, контроль закупок и инвентаризацию. Отчеты, получаемые в результате работы с запасами, реализованы в нескольких разрезах: закупки, инвентарь, материалы, склад, комиссия. Специфическим отчетом важным для данной отрасли является «История выдачи инвентаря».

Пятая группа — проведение маркетинговых мероприятий. Анализ отчетов сформированных по данным базы позволяют выявить основной источник привлечения клиентов, получить статистику по загрузке фитнес-клуба в различное время суток, а также статистику помещений [4].

Реализованные функции решают до 95% задач фитнес-клубов управления, организации и учета. Система многопользовательская, предусмотрено ролевое распределение прав и доступа, а также она имеет особый интерфейс для определенных заранее ролей: директор, менеджер по продажам, бармен, тренер-инструктор.

Таблица 2

Достоинства и недостатки.

Достоинства

Недостатки

Система отличается довольно широким функционалом.

Данный программный продукт не предусматривает ведения бухгалтерского и налогового учета. Для реализации этих возможностей необходимо провести интеграцию приложения с «1С: БУХГАЛТЕРИЯ 8», что требует дополнительных ресурсов. Также к недостаткам можно отнести короткий срок бесплатного гарантийного обслуживания по сравнению с другими программными продуктами.

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

«Абонемент». Программное обеспечение, разработанное компанией «UCS», для автоматизации фитнес-клуба.

Функциональность. Программный продукт «Абонемент» имеет следующие функциональные возможности:

- возможность бронирования тренировок;

- регистрация клиентов и хранение информации о них;

- планирование заданий (расписание индивидуальных и групповых заданий);

- возможность формировать расписание посещений для гостя с учетом его пожеланий;

- ведение статистики посещений;

- возможность e-mail и sms рассылок;

- разработанная система отчетов для руководства.

Таблица 3

Достоинства и недостатки.

Достоинства

Недостатки

Информационная система «Абонемент» позволяет автоматизировать в основном учет клиентов и манипуляций с абонементами.

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

«КРАФТ Фитнес-клуб». Программный комплекс для фитнес-клубов, разработанный «Бином Софт», позволяющий автоматизировать деятельность не только фитнес-клубов, но и SPA-салонов и других предприятий, выполняющих услуги для клиентов на клубной основе.

Функциональность. Основными функциями программы являются следующие [5]:

- ведение персональной клиентской базы;

- ведение прейскуранта по видам карт и дополнительным услугам;

- работа с договорами клиентов (включая корпоративных клиентов);

- ведение персональных контрактов с индивидуальными условиями;

- ведение баланса клиентов раздельно по договорам, по бару, по дополнительным услугам;

- кассовые операции (оплата договоров и услуг);

- регистрация клиентов на рецепции по карте;

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

- аренда и резервирование ресурсов;

- система мониторинга и отчетности.

Таблица 4

Достоинства и недостатки.

Достоинства

Недостатки

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

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

Информационные системы «Абонемент» и «КРАФТ Фитнес-клуб» значительно уступают двум предыдущим системам, однако с помощью этих систем можно автоматизировать учет, как клиентов, так и манипуляций с абонементами. Таким образом, проведение маркетинговых исследований по данным, полученных с помощью данных систем, является возможным. Наибольший недостаток системы «Абонемент» заключается в том, что распространение программного продукта осуществляется только через дилеров, что может привести к дополнительным затратам на внедрение этой системы. Еще один минус этих систем – это отсутствие ведения складского учета. Однако программный продукт «КРАФТ Фитнес-клуб» легко интегрируется с другими приложениями разработанными организацией «Бином Софт», что позволит после покупки дополнительного модуля осуществлять комплексный учет в организации [5].

Система «Фитнес – клуб», разработанная организацией ООО «Простой софт», позволяет осуществлять учет клиентов, абонементов и манипуляций с ними, но набор функций значительно меньше набора функций предыдущих систем. Данное программное обеспечение отлично подойдет небольшим организациям, которые еще только начинают свою деятельность или не имеют возможностей к расширению или покупке более дорогого программного обеспечения. Приобретение и внедрение данного программного приложения крайне просты, использование этого программного продукта не требует постоянного сопровождения, все технические проблемы решаются через запрос разработчику. Данный программный продукт следуют использовать в организациях с малой пропускной способностью или в организациях, для которых не критично приостановление на неопределенный срок функционирования системы.

Результатом анализа является перечень не типовых учетных задач физкультурно-оздоровительной деятельности: учет клиентов, учет абонементов, учет оказанных услуг, учет востребованности услуг/товаров, времени посещения [5].

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

Таблица 5

Достоинства и недостатки.

Достоинства

Недостатки

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

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

На основе проведенного анализа можно сделать вывод, что автоматизация специализированных процессов является перспективным направлением развития информационных технологий, что в свою очередь будет способствовать повышению качества предоставляемых услуг. Рассмотренные информационные системы являются отличным примером предложений по автоматизации деятельности фитнес – центров, поскольку можно продемонстрировать набор функций, который удовлетворит потребности организаций разных размеров. «UNIVERSE – Фитнес» следует внедрять в крупную организацию или активно развивающуюся организацию средних размеров. «1С: ФИТНЕС КЛУБ» больше подходит для организаций средних размеров, однако и малые и крупные организации внедряют это программное обеспечение. «КРАФТ Фитнес-клуб» и «Абонемент» представляют собой средний класс программ, который не целесообразно внедрять в крупные предприятия, поскольку сложно организовать эффективный комплексный учет. Программный продукт «Фитнес – клуб» в наибольшей степени подходит малым организациям, поскольку программа имеет небольшой набор функций, легко внедряется и ее стоимость не велика.

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

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

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

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

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

1.3 Моделирование бизнес-процессов «как есть»

Основной функциональностью приложения является учет клиентов клуба [8]:

  • регистрация новых членов клуба;
  • хранение основных контактных данных клиентов клуба;
  • обеспечение уникальности данных клиентов клуба во избежание дублирования сущностей и разделение связных данных;
  • удаление неактивных клиентов клуба.

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

  • сервисы клуба;
  • группы сервисов клуба;
  • тренеры клуба;
  • специализация тренеров клуба.

В функционале приложения это отражается следующими возможностями:

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

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

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

Дополнительная функциональность, которая вытекает из описанной выше, для более широкого понимания работы клуба, перспектив его развития [8]:

  • ведение журнала оплаты клиентом услуг клуба;
  • получение статистики посещения клиента (либо клиентов в целом) за определенный период времени;
  • получение статистики оплаты клиентом (либо клиентами в целом) услуг клуба за определенный период времени;
  • получение статистики загруженности тренера (либо тренеров в целом) за определенный период времени;
  • получение статистики популярности определенной категории услуг клуба за определенный период времени.

2 Разработка модели экономической информационной системы

2.1 Предлагаемые мероприятия по улучшению бизнес-процессов

В качестве средства разработки был выбрана система «1С:Предприятие», предназначенная для автоматизации деятельности на предприятии.

В системе «1С:Предприятие» существует четкое разделение на платформу и прикладное решение. Платформа представляет собой framework, в котором функционирует прикладное решение:

- платформа служит фундаментом для построения прикладных решений;

- платформа является средой их исполнения;

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

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

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

Функции программного комплекса «1С: Предприятие» классифицируются по направлениям автоматизации и группам пользователей. Эти функции системы имеют своей целью обеспечение руководителей информацией, необходимой для оценки ситуации и принятия актуальных решений. Это, например, такие механизмы, как бюджетирование, анализ рентабельности деятельности предприятия, сбыта продукции и многое другое. Эта функциональность решает задачи работников, которые занимаются торговой, производственной, а также деятельностью в области оказания услуг. С помощью системы можно эффективно организовать ежедневную работу организации: подготовка документов, управление выпуском продукции и запасами, оформление заказов, контроль исполнения задач. Еще одной важной возможностью программного комплекса является учет и отчетность. Данная функция решает задачи бухгалтерии: обеспечение ведения учета в соответствии с актуальными требованиями законодательства. Это такие задачи, как, например, расчет заработной платы.

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

Таким образом, к преимуществам использования решений на данной платформе можно отнести:

- наличие большого количества потенциального персонала для работы в компании с внедренными решениями на базе 1С;

- максимально быстрая и качественная поддержка со стороны компании 1С;

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

- существование встроенного объектно – ориентированного языка, специально разработанного компанией 1С, включая различные вспомогательные инструменты;

- полная открытость программных продуктов 1С, дающая возможность изменения и доработки кода любым 1С-программистом;

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

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

Рисунок 8 – Введение прослойки сервисов для доступа к данным

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

Рисунок 9 – Введение зависимости сервисов от репозитория

Теперь данные надежно ограждены от прямого использования их клиентом, однако остается нерешенным вопрос синхронизации изменений одной из таблиц и влиянии этой ситуации на продолжения выполнения операций на стороне клиента. Эту коллизию позволяет разрешить паттерн Unit of work, назначение которого – использование единственного экземпляра контекста базы данных в рамках операции, затрагивающей изменение нескольких таблиц базы данных. Из возможностей, предоставляемых экземпляру UnitOfWork, можно обозначить лишь синхронизированное сохранение внесенных изменений. На схеме это все выглядит следующих образом.

Слой бизнес-объектов

Для доступа к данным используется технология Entity Framework, позволяющая работать с таблицами базы данных как с ООП-классами приложения, на порядок упрощая взаимодействие коллекций. Следственно, для нормальной синхронизации приложения и базы данных, а также добавление, изменение и удаление сущностей без полной переконфигурации приложения, необходимо:

    • разработать ООП-классы (обертки), являющиеся прототипами сущностей в БД;
    • разработать конфигурационные типы, позволяющие привязать классы-обертки к данному типу контекста базы данных.

Слой доступа к данным

Этот слой представлен такими абстракциями, как:

    • объект Unit of work и фабричный метод для его создания;
    • репозитории и типизированные объекты DataSource;
    • сервисы для использования их в приложении;
    • контейнер инверсии зависимостей.

У репозиториев нет прямого доступа к данным таблиц БД, однако им необходимо получить его для реализации методов сервисов. Однако, у репозиториев есть доступ к объекту Unit of work, который может обращаться напрямую к базу данных. Поэтому прослойкой между базой данных и репозиториями будет объект DataSource, инициализируемый с помощью UnitOfWork.

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

В качестве клиентского приложения использовалось веб приложение на основе архитектурного шаблона MVC.

В качестве клиентского приложения использовалось веб-приложение на основе архитектуры ASP.NET MVC. Его основными составляющими являются:

  • контроллеры – классы, берущие на себя ответственность за обработку действий пользователя и возвращению конечных данных, полученные вследствие этих действий;
  • модели – классы, которые представляют собой обертку бизнес-объектов, либо же специализированные типы, спроектированные для представления пользователям (или получению от них) данных с заранее определенной сигнатурой;
  • представления – конечный интерфейс пользователя, конвертирующийся движком ASP.NET в HTML-страницу.

В качестве платформы проектирования была выбрана широко известная платформа для разработки программных и веб-продуктов от Microsoft .NET. А в качестве языка программирования будет выбран C#.

Язык программирования С# был создан в конце 90-х годов компанией Microsoft в качестве одного из основных объектно-ориентированных языков программирования, поддерживающих платформу .NET. Впервые он увидел свет в качестве α-версии в середине 2000 года.

С# непосредственно связан с С/C++, SmallTalk и Java. Эти три языка – самые популярные и самые любимые языки программирования в мире, более того, практически все профессиональные программисты знают по меньшей мере один из этих языков. Поскольку С# построен на прочном, понятном фундаменте, то переход от этих "фундаментальных" должен происходить без особых усилий.

От С язык С# унаследовал синтаксис, многие ключевые слова и операторы. Кроме того, С# построен на улучшенной объектной модели, определенной в C++. С# и Java связаны между собой несколько сложнее: у него тоже общий с ними синтаксис и сходная объектная модель. Подобно Java C# предназначен для создания переносимого кода, однако С# – не потомок Java.

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

Свой синтаксис C# во многом унаследовал от C++ и Java. Между этими тремя языками синтаксически много похожих черт, однако, вместе с тем он является во многом новаторским – атрибуты, делегаты и события преподнесли новые возможности разработчикам программного обеспечения. Их введение позволило применять принципиально новые приемы программирования.

Большинство авторов роднит язык C# с Java: работа в виртуальной среде исполнения, сборщик мусора, основа на механизме ссылок. При сравнении с этим языком сразу выделяются такие особенности, как возможность объявлять несколько классов в одном файле, из чего следует синтаксическая поддержка иерархической системы пространств имен. Из реализации ООП-концепций сходство в механизме наследования и реализации, но в Java отсутствуют свойства и индексаторы.

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

Ввиду очень удобного объектно-ориентированного дизайна, C# является хорошим выбором для быстрого конструирования различных уровней приложения. Также следует отметить, что C# является и web-ориентированным – используя простые встроенные конструкции языка, компоненты могут выступать в качестве веб-сервисов, к которым можно будет обращаться из Internet посредством любого языка на любой операционной системе. Дополнительные возможности и преимущества перед другими языками приносит в C# использование передовых технологий, таких как: XML и SOAP.

Симметричная мультипроцессорная архитектура MS SQL Server предусматривает использование «родных» сервисов операционной системы Windows NT для управления потоками (threads), памятью, операциями дискового чтения/записи, сетевыми службами, функциями безопасности, а также для поддержки параллельного выполнения потоков на нескольких CPU. Использование потоков Windows NT позволяет MS SQL Server автоматически масштабироваться при работе на многопроцессорных платформах, что исключает необходимость дополнительной конфигурации или программной настройки. Например, на Comdex была продемонстрирована работа MS SQL Server на платформе AlphaServer 8400 производства Digital, оснащенным 12 процессорами, 28 Гбайт памяти и 39-ти терабайтным хранилищем. В отличие от большинства распространенных СУБД, вынужденных иметь в своем составе механизмы дублирования ядра операционной системы для обеспечения кросс-платформенной переносимости, MS SQL Server обладает достаточно легковесной прозрачной архитектурой, не перетяжеленной несвойственными ей функциями. В результате, например, при смене типа процессора не требуется заново приобретать MS SQL Server для новой аппаратной платформы. Он ставится, по определению, на все, на чем работает Windows NT (на сегодня это Intel, Alpha, MIPS и PowerPC). По мере того как Windows NT завоевывает все большее признание, и все ведущие производители СУБД уже выпустили версии своих продуктов под этой операционной системой или уже заявили о своей готовности это сделать в ближайшее время, изначальная ориентированность MS SQL Server 6. 5 на тесную интеграцию с Windows NT выступает в качестве одного из серьезных преимуществ.

На каждое пользовательское соединение в MS SQL Server назначается отдельный рабочий поток (порядка 55К) в рамках единого серверного процесса. Так как каждый из этих потоков в действительности является потоком Win32, на них распространяются соответствующие функции контроля операционной системы, включая защиту памяти, правила доступа к оборудованию и планирование выполнения потоков во времени (thread scheduling). Это предоставляет улучшенные способности к масштабированию при росте числа одновременно работающих пользователей, динамическую балансировку при загрузке процессоров и повышенную надежность, так как пользовательские запросы, исполняющиеся на разных потоках, защищены друг от друга. Несмотря на то что пул соединений ограничен 1024 потоками, динамическое управление пользовательскими соединениями и свободными потоками позволяет увеличить эту величину до 32 767. Кроме этого, другие пулы потоков могут использоваться для параллельного выполнения операций сканирования данных, удаления и обновления, резервного копирования, проверки целостности базы, индексирования, асинхронного опережающего чтения данных в кэш на основе алгоритмов предсказания, создания и управления курсорами и т. д. Сетевые службы Windows NT обеспечивают MS SQL Server поддержку протоколов TCP/IP, NWLink IPX/SPX, Named Pipes (NetBEUI), Banyan Vines, AppleTalk (ADSP) и DECNet. В версии 6. 5 к ним добавилась дополнительная сетевая библиотека multiprotocol network library, которая «умеет слушать» порты TCP/IP, сокеты SPX или поименованные каналы (named pipes), которые обычно выбираются динамически. Несомненным достоинством multiprotocol является наличие сетевого сервиса, обеспечивающего взаимодействие между процессами при помощи вызовов удаленных процедур, что позволяет, например, использовать шифрование при передаче данных.

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

  • высокая степень поддержки продукта компанией;
  • большой объем интеграционных технологий, прямо связанных с платформой .NET, позволяющих вести удобную разработку с помощью минимальных временных затрат, при этом не теряя в качестве итогового кода;
  • полная поддержка технологии T-SQL;
  • большое количество готовых библиотек, позволяющих оперировать данными без каких-либо адаптаций кода или базы данных;
  • структура хранилища с поддержкой COM-объектов;
  • вертикальная и горизонтальная расширяемость базы данных;
  • расширенная встроенная система аудита.

Серверный проект будет составлен из следующих систем типов:

  • объекты бизнес-логики – аналоги сущностей базы данных, которые используются для ООП-логики в приложении;
  • типы конфигурации модели БД – определенного рода надстройки над системой общения с базой данных, позволяющей ей ориентироваться на определенные типы, правильно связывать данные и получать информацию о целостности структуры данных;
  • сервисы уровня бизнес-объектов – сервисы, которые позволяют совершать основные операции с бизнес-сущностями: выборка, добавление, изменение, удаление;
  • сервисы для обработки данных – сервисы, не влияющие прямо на состояние бизнес-объектов, однако позволяющие производить определенные операции с ними или связанными с ними объектами, либо выполнять сложную выборку из нескольких коллекций;
  • модели DTO – структуры, основная задача которых – передавать данные состояния объекта. Особенно такие структуры полезны, если необходимо строго разделить сервис, работающий с бизнес-объектами, однако которому нельзя предоставлять функционал изменения данных в БД;
  • контроллеры MVC – основной набор типов, включающихся в процессе работы пользователя с приложением – они направляют пользователя на определенные страницы при соответствующем запросе и вызывают необходимые функции сервисов.

2.2 Моделирование бизнес-процессов «как должно быть»

На основании аналитического обзора и требований к системе необходимо разработать следующие ключевые сущности:

  • клиент;
  • тип сервиса;
  • сервис;
  • тренер;
  • специализация тренера.

Для составления расписания посещений клиента также понадобятся таблицы:

  • выбор клиента;
  • история посещений;
  • история оплаты.

Для безопасности приложения необходимо разработать таблицу с пользователями приложения.

Отобразим подробности всех разработанных сущностей.

Сущность «Клиент» (Client) описывает всех, включая неактивных, посетителей клуба.

Таблица 6

Сущность «Клиент»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

FirstName

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

LastName

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

Email

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

Phone

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

RegisteredAt

datetime

Значение не может быть равно NULL

IsDeleted

bit

Значение не может быть равно NULL

public class Client

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required, MinLength(3), MaxLength(50)]

public virtual string FirstName { get; set; }

[Required, MinLength(3), MaxLength(50)]

public virtual string LastName { get; set; }

[MaxLength(50)]

public virtual string Email { get; set; }

[MaxLength(50)]

public virtual string Phone { get; set; }

[Required]

public DateTime RegisteredAt { get; set; }

[Required]

public virtual bool IsDeleted { get; set; }

}

Сущность «Тип сервиса» (ServiceType) описывает все, включая неактивных, услуги, которые клуб предоставляет клиентам.

Таблица 7

Сущность «Тип сервиса»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

Name

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

IsDeleted

bit

Значение не может быть равно NULL

IsDeleted

bit

Значение не может быть равно NULL

public class ServiceType

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required, MinLength(3), MaxLength(50)]

public virtual string Name { get; set; }

[Required]

public virtual bool IsDeleted { get; set; }

#region

public virtual ICollection<TrainerServiceType> TrainerServiceTypes { get; } = new HashSet<TrainerServiceType>();

#endregion

}

Сущность «Сервис» (Service) описывает все, включая неактивных, конкретные виды услуг, которые относятся к некоторой категории.

Таблица 8

Сущность «Сервис»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

ServiceTypeId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «ServiceType»

Name

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

BasePrice

float

Значение не может быть равно NULL

IsDeleted

bit

Значение не может быть равно NULL

public class Service

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required]

public virtual int ServiceTypeId { get; set; }

[Required, MinLength(3), MaxLength(50)]

public virtual string Name { get; set; }

[Required]

public virtual double BasePrice { get; set; }

[Required]

public virtual bool IsDeleted { get; set; }

#region

[ForeignKey("ServiceTypeId")]

public virtual ServiceType ServiceType { get; set; }

#endregion

}

Сущность «Тренер» (Trainer) описывает всех, включая неактивных, тренеров клуба.

Таблица 9

Сущность «Тренер»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

FirstName

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

LastName

nvarchar

Значение не может быть равно NULL. Ограничение по длине в 50 символов

IsDeleted

bit

Значение не может быть равно NULL

public class Trainer

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required, MinLength(3), MaxLength(50)]

public virtual string FirstName { get; set; }

[Required, MinLength(3), MaxLength(50)]

public virtual string LastName { get; set; }

[Required]

public virtual bool IsDeleted { get; set; }

#region

public virtual ICollection<TrainerServiceType> TrainerServiceTypes { get; } = new HashSet<TrainerServiceType>();

#endregion

}

Сущность «Специализация тренера» (TrainerServiceType) описывает всех, включая неактивных, тренеров клуба.

Таблица 10

Сущность «Специализация тренера»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

TrainerId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «Trainer»

ServiceTypeId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «ServiceType»

public class TrainerServiceType

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required]

public virtual int TrainerId { get; set; }

[Required]

public virtual int ServiceTypeId { get; set; }

[ForeignKey("TrainerId")]

public virtual Trainer Trainer { get; set; }

[ForeignKey("ServiceTypeId")]

public virtual ServiceType ServiceType { get; set; }

}

Сущность «Выбор клиента» (ClientChoise) является описанием договоров клиентов.

Таблица 11

Сущность «Выбор клиента»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

ClientId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «Client»

TrainerServiceTypeId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «TrainerServiceType»

TrainerId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «Trainer»

ChoiseTerm

int

Значение не может быть равно NULL. Значение необходимо попадать в перечень перечисления ChoiseTerm

ConclusedAt

datetime

Значение не может быть равно NULL

public class ClientChoise

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required]

public virtual int ClientId { get; set; }

[Required]

public virtual int TrainerServiceTypeId { get; set; }

[Required]

public virtual int TrainerId { get; set; }

[Required]

public virtual ChoiseTerm Term { get; set; }

[Required]

public virtual DateTime ConclusedAt { get; set; }

#region

[ForeignKey("ClientId")]

public virtual Client Client { get; set; }

[ForeignKey("TrainerServiceTypeId")]

public TrainerServiceType TrainerServiceType { get; set; }

[ForeignKey("TrainerId")]

public Trainer Trainer { get; set; }

#endregion

}

Перечисление ChoiseTerm состоит из следующих элементов:

  • OneTime (1),
  • Month (2),
  • ThreeMonths (3),
  • HalfAYear (4),
  • Year (5)

public enum ChoiseTerm

{

OneTime = 1,

Month = 2,

ThreeMonths = 3,

HalfAYear = 4,

Year = 5

}

Сущность «История посещений» (AttendanceHistory) отображает все записи о посещении клиентов клуба.

Таблица 12

Сущность «История посещений»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

ClientId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «Client»

AttendedAt

datetime

Значение не может быть равно NULL

Direction

int

Значение не может быть равно NULL. Значение необходимо попадать в перечень перечисления AttendanceDirection

public class AttendanceHistory

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required]

public virtual int ClientId { get; set; }

[Required]

public virtual DateTime AttendedAt { get; set; }

[Required]

public virtual AttendanceDirection Direction { get; set; }

#region

[ForeignKey("ClientId")]

public virtual Client Client { get; set; }

#endregion

}

Перечисление AttendanceDirection состоит из следующих элементов:

  • Income (1),
  • Outcome (-1).

public enum AttendanceDirection

{

Income = 1,

Outcome = -1

}

Сущность «История оплаты» (PaymentHistory) содержит все финансовые операции клиента клуба.

Таблица 13

Сущность «История оплаты»

Поле

Тип данных

Ограничения

Id

int

Первичный ключ таблицы. Генерируемое базой данных значение

ClientId

int

Значение не может быть равно NULL. Является внешним ключом на таблицу «Client»

PayedAt

datetime

Значение не может быть равно NULL

Sum

float

Значение не может быть равно NULL

public class PaymentHistory

{

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public virtual int Id { get; set; }

[Required]

public virtual int ClientId { get; set; }

[Required]

public virtual DateTime PayedAt { get; set; }

[Required]

public virtual double Sum { get; set; }

#region

[ForeignKey("ClientId")]

public virtual Client Client { get; set; }

#endregion

}

Сущность «Пользователь системы» (ApplicationUser) является одной из компонентов инфраструктуры OWIN и содержит, наряду с другими таблицами, всю информацию, касающуюся пользователей, их прав доступа.

Разработка зоны регистрации и учета клиентов клуба

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

Контроллер ServiceController обслуживает запросы, связанные с типами услуг клуба и услугами соответственно:

  • отображение всех типов сервисов – метод отображает только активные типы сервисов;
  • создание нового типа сервиса – метод определяет, существует ли тип сервиса с таким названием;
  • редактирование типа сервиса по его идентификатору – метод определяет существование типа сервиса по его идентификатору, а также существование типа сервиса по его новому названию;
  • удаление типа сервиса по его идентификатору – метод определяет существование типа сервиса по его идентификатору;
  • отображение всех сервисов – метод отображает только активные типы сервисов;
  • создание нового сервиса – метод определяет, существует ли сервис с таким названием;
  • редактирование сервиса по его идентификатору;
  • удаление сервиса по его идентификатору.

Контроллер TrainerController обслуживает запросы, связанные с руководителями занятий:

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

Контроллер ClientController обслуживает запросы, связанные с клиентами клуба:

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

Разработка зоны учета договоров и уведомлений

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

Контроллер AgreementController обслуживает запросы отображения и создания договоров с клиентами:

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

Контроллер PayController позволяет администратору ввести запись об оплате услуг клиентом составленного договора.

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

Разработка зоны статистики и администрирования информационной системы

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

Контроллер ClientController позволяет отобразить статистику посещения клиентами клуба, на основании выбранного периода времени, либо определенного перечня клиентов, либо ни одного из этих вариантов.

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

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

Разработка связующего звена между слоями приложения

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

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

  • правильно зарегистрировать все зоны приложения при запуске;
  • обеспечить неповторимость маршрутов приложения в случае с совпадением имен контроллеров в различных зонах.

ПРИМЕРЫ РАБОТЫ ПРИЛОЖЕНИЯ

Представим работу основного функционала приложения.

На рисунке 10 представлено первое диалоговое окно приложения.

Рисунок 10 - Первое диалоговое окно приложения

Рисунок 11 – Авторизация на портале

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

Рисунок 12 – Перечень клиентов клуба

Рисунок 13 – Создание нового клиента

Создадим сервис и отобразим перечень всех доступных. Диалоговые окна представлены на рисунках 14 и 15..

Рисунок 14 – Создание нового сервиса

Рисунок 15 – Доступные сервисы клуба

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

Рисунок 16 – Создание нового договора. Выбор клиента

Рисунок 17 – Создание нового договора. Выбор сервиса

Рисунок 18 – Создание нового договора. Выбор тренера

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

Рисунок 19 – Создание нового договора. Заключительный диалог

Рисунок 20 – Перечень всех заключенных договоров клуба

ЗАКЛЮЧЕНИЕ

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

Для разработки информационной системы был произведен поиск технологий, которые будут использоваться при построении автоматизированного приложения, а также выявлен ряд преимуществ, на основании которого был сделан такой выбор. Такими технологиями стали: достаточно популярный в Enterprise-разработках .NET Framework с возможностью создания веб-приложения на ASP.NET MVC. В качестве хранения данных – реляционное хранилище в базе данных под управлением СУБД MS SQL Server.

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

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

Также была разработана модель базы данных, определены сущности и ее атрибуты, а также связи между сущностями, правила, на основании которых буду добавляться или изменяться записи, и возможность реализовать эту модель в рамках выбранной СУБД.

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

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

  1. Афонин, А.М. Проектирование экономических и технических систем: Учебное пособие / А.М. Афонин, Ю.Н. Царегородцев, А.М. Петрова. - М.: Форум, 2015. - 416 c.
  2. Белов, В.В. Проектирование информационных систем: Учебник / В.В. Белов. - М.: Академия, 2018. - 144 c.
  3. Гвоздева, Т.В. Проектирование информационных систем: технология автоматизированного проектирования. Лабораторный практикум. Учебно-справочное пособие / Т.В. Гвоздева, Б.А. Баллод. - СПб.: Лань, 2018. - 156 c.
  4. Коваленко, В.В. Проектирование информационных систем: Учебное пособие / В.В. Коваленко. - М.: Форум, 2015. - 976 c.
  5. Корячко, В.П. Проектирование IP-систем: Учебное пособие для вузов / В.П. Корячко, Ю.М. Цыцаркин, Е.Ю. Скоз. - М.: РиС, 2015. - 224 c.
  6. Назаров, С.В. Архитектура и проектирование программных систем: Монография / С.В. Назаров. - М.: Инфра-М, 2017. - 32 c.
  7. Перлова, О.Н. Проектирование и разработка информационных систем: Учебник / О.Н. Перлова, О.П. Ляпина, А.В. Гусева. - М.: Academia, 2017. - 416 c.
  8. Троелсен Э. Язык программирования C# 2010 и платформа .NET 4.0, 5-е изд.: Пер. с англ. – М.: ООО «И.Д.Вильямс», 2011. – 1392 с.
  9. Хетагуров, Я.А. Проектирование автоматизированных систем обработки информации и управления (АСОИУ) / Я.А. Хетагуров. - М.: БИНОМ. Лаборатория знаний, 2015. - 240 c.
  10. Эванс, Эрик Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем / Эрик Эванс. - М.: Вильямс И.Д., 2018. - 448 c.
  11. Официальный сайт фитнес-клуба. – Режим доступа: https://chelyabinsk.metrofitness.ru

ПРИЛОЖЕНИЕ 1

Модель архитектуры многослойного приложения в общем виде

Общий вид инфраструктуры разработанного приложения

ПРИЛОЖЕНИЕ 2

Модель источника данных