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
ПРЕДМЕТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ
СИСТЕМЫ САЛОНА КРАСОТЫ
Козлова Ксения Олеговна, студентка, Ивановский государственный химико-технологический университет, Россия, Иваново, [email protected]
Бородина Наталья Евгеньевна, студентка, Ивановский государственный химико-технологический университет, Россия, Иваново, [email protected]
Галиаскаров Эдуард Геннадьевич, к.х.н., доцент, Ивановский государственный химикотехнологический университет, Россия, Иваново, [email protected] Олейник Павел Петрович, к.т.н, системный архитектор программного обеспечения,
ОАО "Астон", доцент, Шахтинский институт (филиал) Южно-Российского государственного политехнического университета им. М.И. Платова, Россия, Ростов-на-Дону, [email protected]
Введение
В настоящее время все чаще используется предметно-ориентированное проектирование приложений баз данных. В данной статье представлен пример предметно-ориентированного проектирования и реализации информационной системы салона красоты, для которой использовалась собственная метамодель объектной системы и собственная среда разработки. Структура данной статьи следующая. В разделе 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
МЕТОДИКА ПОВЫШЕНИЯ КАЧЕСТВА ОБРАЗОВАНИЯ НА ОСНОВЕ АНАЛИЗА ИНДИВИДУАЛЬНЫХ ПОТРЕБНОСТЕЙ К УЧЕБНЫМ КУРСАМ И ИХ ПРЕДСТАВЛЕНИЯ В ФОРМЕ ОБЪЕКТОВ ОБРАЗОВАТЕЛЬНОГО КОНТЕНТА
Беломойцев Дмитрий Евгеньевич, к.т.н., доцент, Московский государственный технический университет им. Н.Э. Баумана, Россия, Москва, [email protected]
Введение
Исследование и оценка качества базового профессионального образования представляет собой эффективный инструмент для решения многих проблем в данной предметной области.
В первую очередь, учет результатов анализа такого исследования позволяет дорабатывать содержание базовых образовательных программ для повышения качества получаемых студентами знаний. Обратная связь от выпускников российских ВУЗов, а также показатели трудоустройства [1] свидетельствуют, что базовое высшее образование на современном этапе развития науки и техники зачастую оказывается недостаточным в дальнейшем для работы по специальности, не удовлетворяет возникающим в ходе профессиональной деятельности потребностям. Связано это, прежде всего, с недостаточным практическим подкреплением многих направлений подготовки, а также с имеющим естественные причины, растущим отставанием образовательного контента базовых курсов от современного уровня развития науки и техники.
1. Анализ основных проблем базового профессионального образования
К числу серьезных проблем при получении базового высшего образования можно отнести недостаточно высокий уровень начальной подготовки обучающихся. Даже у тех, кто успешно выполнил нормативы при зачислении в учебное заведение, в процессе обучения зачастую выявляются серьезные проблемы с учебным материалом, который должен был быть освоен на гораздо более ранних этапах обучения. На приведение «багажа» знаний в соответствие с требуемым уровнем приходтся тратить временные ресурсы в ходе базового образовательного процесса, что неминуемо отражается на качестве получаемого базового образования и на уровне нагрузки на обучающихся.
С одной стороны, ситуацию помогают корректировать различного рода подготовительные курсы, которые посещают абитуриенты в течение одного-двух лет перед поступлением. Это позволяет «подтягивать» будущих студентов к необходимому уровню базовых знаний, закрывая пробелы в начальном образовании. С другой стороны, весьма эффективный механизм верификации полученных знаний заложен в идее единого тестирования выпускников средних школ. Путем качественного формирования заданий возможно организовать четкий контроль уровня освоения базовой учебной программы и указать будущим абитуриентам области знаний, требующие дополнительной проработки.
В контексте анализа проблем базового образования следует рассматривать такой немаловажный фактор, способствующий более качественному проведению образовательного процесса, как мотивацию обучающихся. Очевидно, что заинтересованный в конечном результате обучения студент будет более качественно осваивать учебный материал. Заинтересованность может основываться и на энтузиазме. Однако, как показывает практика, гораздо чаще основой мотивации выступает возможность использовать результаты обучения в дальнейшей деятельности - для достижения новых профессиональных высот и, как следствие, для повышения уровня материальной обеспеченности и качества жизни.
К сожалению, не являются редкими случаи, когда выпускники высших учебных заведений уже в ходе обучения начинают трудоустраиваться не в соответствии с изучаемой
91