Научная статья на тему 'Предметно-ориентированное проектирование информационной системы салона красоты'

Предметно-ориентированное проектирование информационной системы салона красоты Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1404
275
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРЕДМЕТНО-ОРИЕНТИРОВАНИЕ ПРОЕКТИРОВАНИЯ / ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ / БАЗЫ ДАННЫХ / UML

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Козлова К.О., Бородина Н.Е., Галиаскаров Э.Г., Олейник П.П.

Статья представляет пример реализации прикладного программного обеспечения для информационных систем на базе унифицированной метамодели объектной системы, разработанной авторами статьи. В статье представлено описание предметно-ориентированного проектирования информационной системы салона красоты. В первом разделе дается краткий обзор имеющихся работ, посвященных разработке метамоделей объектных систем. Во втором разделе представлены критерии оптимальности, которые были выдвинуты при разработке информационной системы. Для описываемого приложения были выделены следующие критерии оптимальности: 1. Информационная система должна управлять как отдельным салоном, так и сетью салонов. 2. Необходимо реализовать механизм сохранения истории изменения цен на товары и услуги. 3. Следует предусмотреть возможность количественного учета товаров в разрезе складов и салонов. 4. Реализовать учет отпусков, прогулов, отгулов. 5. Реализовать разнообразные механизмы начислений за оказанные услуги. 6. Предусмотреть учет сертификатов в разрезе салонов и клиентов. 7. Реализовать механизм формирования рабочего графика и отслеживания отгулов/прогулов/больничных листов. В третьем разделе представлена модель предметной области информационной системы салона красоты, разработанной в соответствии с предъявленными критериям оптимальности. Для проектирования информационной системы использован унифицированный язык моделирования UML, диаграмма классов которого представлена на соответствующем рисунке. В работе описано назначение каждого класса и ассоциации с другими классами. Уделено внимание проектированию древовидных (иерархических структур) и процедуре выделения базовых классов на основе анализа имеющихся общих атрибутов. В заключении даны выводы о результатах проделанной работы, а также намечены направления дальнейшего развития работы.

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

Текст научной работы на тему «Предметно-ориентированное проектирование информационной системы салона красоты»

SRSPU (NPI), 2014. - pp. 41-46. (In Russian),

http://obiectsvstems.ru/files/2014/Qbiect Systems 2014 Proceedings.pdf

19. Oleynik P.P., Kurakov Yu.I. The Concept Creation Service Corporate Information Systems of Economic Industrial Energy Cluster // Applied Informatics. 2014. №6. 5-23 pp. (In Russian).

20. K.Q. Kozlova, P.P. Oleynik. Experience of Using Multiple Inheritance in Modern Programming

Languages // Object Systems - 2014 (Winter session): Proceedings of IX International Theoretical and Practical Conference (Rostov-on-Don, 10-12 December, 2014) / Edited by Pavel P. Oleynik. - Russia, Rostov-on-Don: SI (b) SRSPU (NPI), 2014. - pp. 10-12. (In Russian),

http://obiectsystems.ru/files/2014WS/Obiect Systems 2014 Winter session Proceedings.pdf

УДК 004.04

ПРЕДМЕТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ

СИСТЕМЫ САЛОНА КРАСОТЫ

Козлова Ксения Олеговна, студентка, Ивановский государственный химико-технологический университет, Россия, Иваново, ksu932011@mail.ru

Бородина Наталья Евгеньевна, студентка, Ивановский государственный химико-технологический университет, Россия, Иваново, natashka0108@yandex.ru

Галиаскаров Эдуард Геннадьевич, к.х.н., доцент, Ивановский государственный химикотехнологический университет, Россия, Иваново, portugaled@yandex.ru Олейник Павел Петрович, к.т.н, системный архитектор программного обеспечения,

ОАО "Астон", доцент, Шахтинский институт (филиал) Южно-Российского государственного политехнического университета им. М.И. Платова, Россия, Ростов-на-Дону, xsl@list.ru

Введение

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

1. Обзор имеющихся работ

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

Идея проектирования на основе метамодели не нова, т.к. метамодели используются повсеместно. В работах [1-3] представлена метамодель объектных баз данных, соответствующих стандарту ODMG. В стандарте SQL:2003 также имеется метамодель, описывающая объектные расширения языка SQL [1, 3-4]. При проектировании современных приложений чаще всего используют графический язык моделирования UML, стандарт которого регламентирует собственную метамодель, описанную в работах [3, 5].

86

Многие описанные метамодели имеют определенные недостатки, и каждый автор пытался решить эту проблему собственными силами. Так в работе [3] автор представил собственную метамодель, которую применяет для собственной реализации объектной СУБД.

Метамодель не существует независимо от остальной части приложения, а служит определенной цели, так, в работах [6-7] метамодель используется для облегчения процесса предметно-ориентированного проектирования.

Метамодели также используются и при трансформации моделей. Так в работах [8-9] описаны принципы метамодельных трансформаций из метамодели языка UML в модели разработанных авторами языков.

В работах [10-11] описаны механизмы оценки качества программного обеспечения на основе метамоделей с введением различных метрик. Работы [12-13] посвящены вопросам расширения существующих метамоделей путем добавления новых элементов. В работе [1] автор предлагает собственную иерархию атомарных литеральных типов, которая может быть использована в любой объектной системе и построена благодаря опыту автора.

2. Критерии оптимальности информационной системы салонов красоты

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

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

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

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

4. Реализовать учет отпусков, прогулов, отгулов. Это позволит рассчитать заработную плату для каждого сотрудника на любой период времени с детализацией.

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

6. Предусмотреть учет сертификатов в разрезе салонов и клиентов. Это позволит оценить планируемую прибыль в будущем и позволит владельцу салона стратегически планировать свое развитие.

7. Реализовать механизм формирования рабочего графика и отслеживания отгулов/прогулов/больничных листов.

Перейдем к рассмотрению реализации описываемой системы.

3. Модель предметной области информационной системы салонов красоты

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

87

(метакласс DomainClass). При этом при реализации сущностей предметной области используется язык программирования C# и синтаксическая конструкция interface. Генерация интерфейсов выполняется на основе экземпляров метаклассов, сохраняемых в БД. Рассмотрим состав и структуру классов, присутствующих на диаграмме.

Рис. 1 - Модель предметной области информационной системы салона красоты, построенная в

понятиях метамодели объектной системы

Для представления номенклатуры продаваемых товаров и предоставляемых услуг используется иерархия классов Commodity (для представления корня иерархии, который

88

участвует в различных ассоциациях), Service (для описания услуг), Product (для продаваемых товаров). Отметим, что Service и Product унаследованы как от Commodity, так и от IBaseRunTimeTreeNodeDomainClass, который представляет системный класс предметной области, позволяющий описать иерархические (древовидные) структуры. Таким образом, система поддерживает множественное наследование, реализуемое с помощью интерфейсов языка C#, концепция которого подробно рассмотрена в [14].

Для сохранения истории изменения цен на товары и услуги используется класс Price, который унаследован от IBaseRunTimeIntervalActionValueDomainClass, содержащий атрибуты DateStart и DateFinish, используемые для сохранения диапазона действия цены.

Информация о салонах сохраняется в виде экземпляров класса Salon. Для организации документооборота салона красоты используется иерархия классов, корнем которой выступает Document. С логической точки зрения все документы можно разделить на две группы. К первой относятся документы, строки которых могут содержать как товары, так и услуги. Корнем иерархии таких документов является класс ProductAndServiceDocument. От этого класса в настоящий момент унаследован сейчас только Visit, описывающий запись и визит клиента. Идея в том, что при записи клиента на услуги формируется документ Visit, в котором указывается планируемая дата и время посещения. При наступлении этого времени считается, что клиент либо пришел, либо опаздывает, что указывается соответствующими опциями.

Ко второй группе относятся документы, строки которых содержат только имеющиеся в салоне товары. Корнем иерархии выступает класс ProductDocument, имеющий два наследника: 1) ProductArrival - поступление товара на склад; 2) Inventory - инвентаризация имеющихся запасов на складах. Для представления имеющихся складов используется класс Warehouse.

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

Для описания скидок, предоставляемых клиентам, используется класс Allowance, а для представления процентов, получаемых мастерами за выполненные услуги, - класс Percent. Оба эти класса унаследованы от корневого Discount, который, в свою очередь, унаследован от IBaseRunTimeIntervalActionValueDomainClass, описанного ранее. При этом дискоунт назначается не конкретному мастеру или клиенту, а соответственно категории мастера или категории клиента. Этот подход позволяет сократить время на настройку системы и реализуется классами MasterCategory и ClientCategory соответственно. Также услуги можно группировать в категории с помощью ServiceCategory.

Каждый мастер может оставлять заявки на требуемые ему товары с помощью экземпляров класса ProductOrder. Исполнение подобных заявок анализируется с помощью класса OrderExecution.

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

Рабочий график - одно из ключевых понятий, от которого зависит слаженная работа всего салона красоты. Для представления времени, в которое работают мастера, используется класс Schedule. С помощью класса LeaveSchedule представляются больничные листы, отгулы и прогулы сотрудников. Эта информация используется при автоматическом расчете заработной платы. В этот момент также используются экземпляры класса WorkingTime, так как в них хранится информация о рабочем времени в каждом месяце.

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

89

Выводы и дальнейшие исследования

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

Литература

1. Oleynik P.P. Implementation of the Hierarchy of Atomic Literal Types in an Object System Based of RDBMS // Programming and Computer Software, 2009, Vol. 35, No.4, pp. 235-240.

2. Cattell R.G., Barry D.K. The Object Data Standard:ODMG 3.0, Morgan Kaufmann Publishers, 2000,

288p.

3. Habela P. Metamodel for Object-Oriented Database Management Systems. Ph.D. Thesis //

Submitted to the Scientific Council of the Institute of Computer Science, Polish Academy of Sciences, 2002, 142p., http://www.sbql.pl/phds/PhD%20Piotr%20Habela.pdf

4. Information technology — Database languages — SQL — Part 2: Foundation (SQL/Foundation), http://wiscorp.com/sql200n.zip

5. Iyengar S., Brodsky S. Metadata Integration using UML, MOF and XMI, November 2000, 88p., http://www.omg.org/news/meetings/workshops/presentations/uml presentations/Tutorial%204-1%20-%20UML Lecture4 R2.pdf

6. Oleynik P.P. Domain-driven design the database structure in terms of metamodel of object system // Proceedings of 11th IEEE East-West Design & Test Symposium (EWDTS'2013), Institute of Electrical and Electronics Engineers (IEEE), Rostov-on-Don, Russia, September 27 - 30, 2013, pp. 469-472.

7. Oleynik P.P. Using metamodel of object system for domain-driven design the database structure // Proceedings of 12th IEEE East-West Design & Test Symposium (EWDTS’2014), Kiev, Ukraine, September 26 - 29, 2014, DOI: 10.1109/EWDTS.2014.7027052

8. Soon-Kyeong K., Carrington D., Duke R. A metamodel-based transformation between UML and Object-Z // Human-Centric Computing Languages and Environments. Proceedings IEEE Symposia, 2001, 112-119 pp.

9. Rahim L.A. Mapping from OCL/UML metamodel to PVS metamodel //Information Technology, ITSim 2008. International Symposium, 2008, 1 - 8 pp.

10. McQuillan J.A., Power J.F. A Metamodel for the Measurement of Object-Oriented Systems: An Analysis using Alloy // Software Testing, Verification, and Validation, 2008 1st International Conference, 2008, 288 - 297 pp.

11. Debnath N., Riesco D., Montejano G., Uzal R., Baigorria L., Dasso A., Funes A. A technique based on the OMG metamodel and OCL for the definition of object-oriented metrics applied to UML models // Computer Systems and Applications, 2005. The 3rd ACS/IEEE International Conference, 2005.

12. Debnath N., Riesco D., Montejano G., Grumelli A., Maccio A., Martellotto P. Definition of a new kind of UML stereotype based on OMG metamodel // Computer Systems and Applications, 2003. Book of Abstracts. aCs/IEEE International Conference, 14-18 July 2003.

13. Misbhauddin M. , Alshayeb M. Extending the UML Metamodel for Sequence Diagram to Enhance Model Traceability // Software Engineering Advances (ICSEA), 2010 Fifth International Conference, 22-27 Aug. 2010, 129 - 134pp.

14. Козлова К.О., Олейник П.П. Опыт применения множественного наследования в современных языках программирования // Объектные системы - 2014 (Зимняя сессия): материалы IX Международной научно-практической конференции (Ростов-на-Дону, 10-12 декабря 2014 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону: ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова, 2014. С. 10-12.

90

УДК 004.057.5:004.558

МЕТОДИКА ПОВЫШЕНИЯ КАЧЕСТВА ОБРАЗОВАНИЯ НА ОСНОВЕ АНАЛИЗА ИНДИВИДУАЛЬНЫХ ПОТРЕБНОСТЕЙ К УЧЕБНЫМ КУРСАМ И ИХ ПРЕДСТАВЛЕНИЯ В ФОРМЕ ОБЪЕКТОВ ОБРАЗОВАТЕЛЬНОГО КОНТЕНТА

Беломойцев Дмитрий Евгеньевич, к.т.н., доцент, Московский государственный технический университет им. Н.Э. Баумана, Россия, Москва, dmitry.belomovtsev@gmail.com

Введение

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

В первую очередь, учет результатов анализа такого исследования позволяет дорабатывать содержание базовых образовательных программ для повышения качества получаемых студентами знаний. Обратная связь от выпускников российских ВУЗов, а также показатели трудоустройства [1] свидетельствуют, что базовое высшее образование на современном этапе развития науки и техники зачастую оказывается недостаточным в дальнейшем для работы по специальности, не удовлетворяет возникающим в ходе профессиональной деятельности потребностям. Связано это, прежде всего, с недостаточным практическим подкреплением многих направлений подготовки, а также с имеющим естественные причины, растущим отставанием образовательного контента базовых курсов от современного уровня развития науки и техники.

1. Анализ основных проблем базового профессионального образования

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

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

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

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

91

i Надоели баннеры? Вы всегда можете отключить рекламу.