Научная статья на тему 'Опыт применения множественного наследования в современных языках программирования'

Опыт применения множественного наследования в современных языках программирования Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Опыт применения множественного наследования в современных языках программирования»

УДК 004.04

ОПЫТ ПРИМЕНЕНИЯ МНОЖЕСТВЕННОГО НАСЛЕДОВАНИЯ В СОВРЕМЕННЫХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ

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

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

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

1. ИС увеличивают производительность предприятий;

2. ИС могут повысить качество оказанных услуг, так же улучшить качество производимых товаров;

3. значительно сократить время некоторых процессов производства путем их автоматизации.

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

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

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

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

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

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

10

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

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

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

Рис. 1 - Фрагмент диаграммы классов

Современные языки программирования являются объектно-ориентированными и оперируют такими ключевыми понятиями, как инкапсуляция, наследование и полиморфизм. Благодаря наличию четко сформулированных принципов разработки все новые программные продукты разрабатываются на ОО-языках.

Проектирование объектно-ориентированных приложений выполняется с помощью унифицированного языка моделирования UML [2], который позволяет описать не только статические, но и динамические аспекты системы. На рисунке 1 представлен фрагмент диаграммы классов, изображённой в нотации UML.

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

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

11

При этом классы Product и Service унаследованы от двух базовых абстрактных классов (Commodity и IBaseRunTimeTreeNodeDomainClass). Корневой

IBaseRunTimeTreeNodeDomainClass - это встроенный системный класс, предоставляемый средой разработки и позволяющий организовать иерархию экземпляров определенных классов. Древовидные структуры очень удобны для группирования услуг и товаров в категории. При этом уровень иерархии описываемых классов не имеет ограничений на глубину. Текущая реализация не позволит смешивать различные узлы в единой иерархии. Т.е. невозможно смешивать услуги и товары в одном дереве. Этого сложно было бы достичь при одиночном наследовании (при наследовании Commodity от IBaseRunTimeTreeNodeDomainClass). Эти базовые классы на диаграмме явно не показаны, но присутствуют в обозначении класса в виде Additional Parents секции.

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

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

Литература

1. Коннолли, Томас, Бегг, Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. : Пер. с англ. - М. : Издательский дом "Вильямс", 2003. - 1440 с. : ил. - Парал. тит. англ.

2. Новиков Ф.А., Иванов Д.Ю. Моделирование на UML. Теория, практика, видеокурс. - СПб.: Профессиональная литература, Наука и Техника, 2010. - 640 с.: ил. + цв. Вклейки (+ 2 DVD).

3. Труб Илья. О проблемах множественного наследования, http://www.osp.ru/os/2001/02/179920/

УДК 004.04

ОПЫТ ПРОЕКТИРОВАНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ РЕСТОРАНОВ

БЫСТРОГО ПИТАНИЯ

Олейник Павел Петрович, к.т.н, системный архитектор программного обеспечения,

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

университета им. М.И. Платова, Россия, г.Шахты Николенко Ольга Игоревна, студентка, кафедра «Управление персоналом, инновациями и качеством», Шахтинский институт (филиал) Южно-Российского государственного политехнического университета им. М.И. Платова, старший библиотекарь, Донской государственный технический университет, Институт сферы обслуживания и предпринимательства (филиал) ДГТУ в г.Шахты,

Россия, г. Шахты, 13smile2009@rambler.ru

Посещение ресторанов быстрого питания стало неотъемлемым элементом в жизни

12

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