Язык описания информационных моделей EXPRESS

Цели, преимущества и проблемы внедрения системы CALS, необходимость и перспективы ее внедрения в России. Объектно-ориентированное моделирование, классификация паттернов и стратегии отображения конструкций языка EXPRESS в реляционную метамодель.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.12.2009
Размер файла 51,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

1

Федеральное агентство по образованию

Сибирская государственная автомобильно-дорожная академия

(СибАДИ)

Кафедра УК и С

КУРСОВАЯ РАБОТА

на тему: Язык описания информационных моделей (EXPRESS)

по дисциплине «CALS-технологии»

Выполнила: ст-ка гр.41С

Проверил:

Омск - 2009

Содержание

Введение

1 Преимущества CALS

2 CALS в России

3 Государство покровительствует CALS-технологиям

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

5 Объектно-ориентированное моделирование на EXPRESS

6 Общая систематизация подходов

6.1 Классификация паттернов отображения

6.2 Отображение информационных схем

6.2.1 Схемо-независимая стратегия

6.2.2 Схемо-зависимая стратегия

6.3 Отображение наследования классов
6.3.1 Паттерн OneInheritanceHierarchy-OneTable
6.3.2 Паттерн OneClass-OneTable
6.3.3 Паттерн OneInheritancePath-OneTable
6.3.4 Паттерн AllClasses-OneTable
6.3.5 Паттерн BLOB
6.4 Отображение атрибутов
6.4.1 Представление простых типов
6.4.2 Отображение атрибутов простых типов
6.4.2.1 Паттерн Attribute-Column
6.4.2.2 Паттерн Attribute-Table
6.4.3 Отображение ассоциаций
6.4.3.1 Паттерн ForeignKeyAssociation
6.4.3.2 Паттерн ClassAssociation
6.4.3.3 Паттерн GenericAssociation
6.4.4 Отображение селективных типов
6.4.4.1 Паттерн Select-Columns
6.4.4.2 Паттерн ClassSelect
6.4.4.3 Паттерн HierarchySelect
6.4.4.4 Паттерн GenericSelect
6.4.5 Отображение агрегатов
6.4.5.1 Паттерн ClassAggregate
6.4.5.2 Паттерн HierarchyAggregate
6.4.5.3 Паттерн GenericAggregate
6.5 Отображение метаданных

7 Реализация промежуточного объектно-реляционного слоя в среде Oracle9

7.1 Схемо-независимая стратегия

7.2 Схемо-зависимая стратегия

7.3 BLOB стратегия

8 Рекомендации использования

Заключение

Список используемых источников

Введение

Термин CALS (Continuous Acquisition and Lifecycle Support -- непрерывная информационная поддержка поставок и жизненного цикла) означает совокупность принципов и технологий информационной поддержки жизненного цикла продукции на всех его стадиях. Русскоязычный аналог понятия CALS -- Информационная Поддержка жизненного цикла Изделий (ИПИ). В последнее время за рубежом наряду с CALS используется также термин Product Lifecycle Management (PLM).

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

Для описания схем данных используется разработанный язык EXPRESS. Этот язык регламентирует:

· Черчение (прямое и ассоциативное)

· Проектирование конструкций

· Инженерный анализ

· Технологическую подготовку

· Производство

· Тестирование данных и обмен ими в специальном текстовом формате

1. Преимущества CALS

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

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

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

· резкое сокращение количества ошибок и переделок, что приводит к сокращению сроков реализации проектов и существенному повышению качества продукции;

· распространение средств и технологий информационной поддержки на послепродажные стадии жизненного цикла - интегрированная логистическая поддержка изделий.

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

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

· сокращение сроков вывода на рынок новых конкурентоспособных изделий;

· сокращение брака и затрат, связанных с внесением изменений в конструкцию;

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

· сокращение затрат на эксплуатацию, обслуживание и ремонт изделий ("затрат на владение"), которые для сложной наукоемкой продукции подчас равны или превышают затраты на ее закупку.

Вот некоторые количественные оценки эффективности внедрения CALS в промышленности США:

· прямое сокращение затрат на проектирование - от 10 до 30%;

· сокращение времени разработки изделий - от 40 до 60%;

· сокращение времени вывода новых изделий на рынок - от 25 до 75%;

· сокращение доли брака и объема конструктивных изменений - от 20 до 70%.

· сокращение затрат на подготовку технической документации - до 40%;

· сокращение затрат на разработку эксплуатационной документации - до 30%.

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

В тех же источниках указывается, что затраты на разработку реактивного двигателя GE 90 для самолета «Боинг-777» составили 2 млрд. долл., а разработка новой модели автомобиля компании «Форд» стоит от 3 до 6 млрд. долл. Это означает, что экономия от снижения прямых затрат на проектирование только по двум указанным объектам может составить от 500 млн. до 2,2 млрд. долл.

Как видим, внедрение CALS-технологий приводит к существенной экономии и получению дополнительной прибыли. Поэтому эти технологии и их отдельные компоненты широко применяются в промышленности развитых стран. Так, из числа 500 крупнейших мировых компаний, входящих в перечень Fortune 500, около 100% используют такой важнейший компонент CALS, как средства PDM (Product Data Management -- «управление данными об изделии»). Среди предприятий с годовым оборотом свыше 50 млн. долл. такие системы используют более 80%.

В связи с большими объемами ожидаемой экономии и дополнительных прибылей в эту сферу привлекаются значительные инвестиции, измеряемые миллиардами долларов. По данным зарубежных источников, инвестиции правительства США в сферу CALS-технологий составляют около 1 млрд. долл. в год. Затраты других стран меньше, однако, например, правительство Финляндии затратило на национальную программу в этой области свыше 20 млн. долл. и примерно такую же сумму (около 25 млн. долл.) вложили в нее частные компании. Корпорация General Motors в течение 1990 -- 1995 годов израсходовала на эти цели 3 млрд. долл. Средние затраты на один проект, посвященный решению локальной задачи в области CALS-технологий (например, разработка стандарта или программы), составляют 1,2 -- 1,5 млн. долл. при среднем сроке выполнения от двух до четырех лет.

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

2. CALS в России

Россия существенно отстает от ведущих промышленно развитых стран в части внедрения современных ИТ, в том числе технологий CALS. Это отставание чревато далеко идущими негативными последствиями, прежде всего, высокой вероятностью резкого сокращения экспортного потенциала российских производителей наукоемкой продукции, вплоть до полного вытеснения их с международного рынка, что может, по мнению зарубежных экспертов, произойти к 2005 -- 2008 году.

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

· представление конструкторской и технологической документации в электронной форме;

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

· организация интегрированной логистической поддержки изделий на постпроизводственных стадиях их жизненного цикла;

· наличие и функционирование электронной системы каталогизации продукции;

· наличие на предприятиях соответствующих требованиям стандартов ИСО 9000:2000 систем менеджмента качества и т. д.

Выполнение этих требований предопределяет необходимость внедрения на отечественных предприятиях CALS-технологий в полном объеме.

3. Государство покровительствует CALS-технологиям

В период с 1999-го по 2002 год Минпромнауки РФ совместно с Госстандартом РФ и Минобразования РФ осуществили ряд мер, направленных на создание предпосылок к внедрению CALS-технологий в промышленности России.

Были созданы начальные элементы инфраструктуры, необходимой для разработки и внедрения CALS-технологий: Государственный научно-образовательный центр CALS-технологий, Научно-исследовательский центр (НИЦ) CALS-технологий «Прикладная логистика» и технический комитет ТК 431 Госстандарта России, координирующий разработку отечественной нормативной базы.

Подготовлены научно-методические разработки: концепция развития CALS-технологий в промышленности России [1], концепция интегрированной логистической поддержки наукоемких изделий и концепция внедрения CALS-технологий на машиностроительном предприятии.

Предприняты разработки в области создания нормативной базы: Госстандарт РФ утвердил шесть документов ГОСТ Р ИСО 10303 и шесть документов в статусе рекомендаций по стандартизации Р 50. Были подготовлены проекты 7 ГОСТ Р и три проекта авиационных отраслевых стандартов. Кроме того, разработана программа работ по подготовке новых стандартов и корректировке существующих (ЕСКД, СРПП и др.).

Созданы программные средства, реализующие CALS-технологии. В их числе -- программный продукт Technical Guide Builder, предназначенный для автоматизированной подготовки электронной технической эксплуатационной документации на экспортируемую продукцию, соответствующей требованиям CALS-стандартов. Создание с помощью этого продукта интерактивных электронных технических руководств значительно повышает конкурентоспособность продукции. Другой продукт -- PDM STEP Suite -- служит для управления данными об изделии в процессе конструирования и технологической подготовки производства, что крайне необходимо предприятиям, как разрабатывающим наукоемкую продукцию, так и продающим лицензии на ее производство.

Наконец, разработаны методические основы создания интегрированной системы управления качеством продукции, соответствующей требованиям стандартов ИСО серии 9000 версии 2000 года.

Работы по внедрению CALS-технологий в промышленность России интенсивно продолжаются при пристальном внимании и поддержке Минпромнауки РФ, Госстандарта РФ и других министерств и ведомств России. Авторы надеются, что эти работы позволят если не полностью преодолеть, то хотя бы существенно сократить отставание российской промышленности от промышленности ведущих стран Запада.

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

бизнеса

Началом современного этапа стандартизации описания продукции и технологии можно считать появление в середине 80-х годов проекта STEP (STandard for the Exchange of Product model data ) - серии стандартов для обеспечения универсального механизма обмена данными о продукции и технологии как между различными организациями, так и между разными этапами жизненного цикла продукции. Ядром STEP был почти объектно-ориентированный язык информационного моделирования EXPRESS (ISO 10303, part11). Не являясь языком программирования, не поддерживая “методы” и механизмы их наследования, действующая версия EXPRESS обеспечивает объектно-ориентированную идеологию для описания концептуальных моделей данных (множественное наследование данных и ограничений, выводимые атрибуты и др.).

Вторым "китом", на котором основан EXPRESS, является модель “сущность-связь” (E-R модель). Так же, чувствуется влияние и SQL. Графическая версия - EXPRESS-G уже полностью вытеснила IDEF 1X, который использовался на начальных этапах проекта STEP. В новой версии - EXPRESS v2 уже предполагается полная объектно-ориентированность, с поддержкой моделирования процессов, событий, транзакций, а также единая формальная метамодель, гораздо более детализированная и семантически более строгая, чем части Generic Resources серии стандартов ISO 10303 (parts 41-49).

Вся работа над проектом велась под эгидой подкомитета 4, технического комитета 184 ISO (ISO TC184/SC4), к концу 90-х годов в рамках которого появилось еще несколько серий стандартов (разной степени завершенности), связанных с описанием уже не только продукции и технологии (ISO 13584, ISO 14959, ISO 15926), но и управления производством (Manufacturing Management - MANDATE - ISO 15531) и использующих в качестве основы язык EXPRESS.

За 15 лет вокруг EXPRESS и STEP сформировалась уже целая отрасль ИТ, которая обеспечивает значительное уменьшение трудозатрат при “запуске” новых технологий и новых видов продукции. Причем, если серия ISO 10303 начиналась прежде всего для обслуживания автомобильной и аэрокосмической промышленностей, то сейчас она охватывает уже большинство видов производств, включая электротехническое, кораблестроительное, строительство, нефтехимическое и т.п. Появились не только компании, специализирующиеся на инструментарии технологии STEP, но и организации общеметодологического плана, связанные с развитием технологии “данных о продукции” (Product Data Technology- PDT), например EuroSTEP, PDT Solutions, PDTAG , PDES и др.

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

Несмотря на внешние успехи сама идеология, методология и технология STEP/EXPRESS требует глубокого совершенствования. С одной стороны, нужна “гармонизация” и “модуляризация” стандартов внутри самого ISOTC184/SC4, c другой, оказалось необходимым выйти за рамки описания “продукции и технологии” и включить более широкий круг вопросов бизнеса, с третьей стороны все более возникает необходимость в согласовании аналогичных работ с другими организациями, занимающимися разработками в том же направлении и прежде всего с группами CSMF (Conceрtual Schema Modelling Facilities) и CDIF (CASE Data Interchange Format) в рамках объединенного технического комитета ISO и Международной Электротехнической Комиссии (ISO/IEC JTC1), с консорциумом WWW (W3C), с базовыми подгруппами OMG (Object Management Group), с группой KIF ( Knowledge Interchange Format ) ANSI ASC X3T2 , а также с OAG (Open Application Group).

5. Объектно-ориентированное моделирование на EXPRESS

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

Язык EXPRESS поддерживает набор стандартных, встроенных в него элементарных типов данных INTEGER, REAL, NUMBER, LOGICAL, BOOLEAN, BINARY и STRING для представления, соответственно, целых, вещественных и произвольных числовых данных, логических и булевых значений, последовательностей двоичных данных и строк. Для перечислимых типов предусмотрена специальная конструкция ENUMERATION. Агрегатные типы ARRAY, SET, BAG и LIST предоставляют возможность определения различного рода контейнеров, таких как массивы, множества, мультимножества и списки. Опционально могут быть заданы их размеры, способы индексации элементов, условие множественности эквивалентных элементов для массивов и списков, а также допустимость разреженности элементов в массивах. Селективные типы, вводимые оператором SELECT, позволяют использовать переменные и константы, принимающие значения одного из альтернативных типов, объявленных в списке оператора. Новые производные типы данных создаются на основе стандартных и предопределенных типов с помощью конструкции TYPE. Допускается произвольная вложенность определений пользовательских типов, которая, в частности, обеспечивает создание многомерных массивов, вложенных селективных и агрегатных конструкций.

Типы GENERIC, AGGREGATE, а также ARRAY, SET, BAG и LIST OF GENERIC обеспечивают обобщенную реализацию функций и процедур с использованием абстракций простых и агрегатных данных.

Для объектных типов используется конструкция ENTITY, предусматривающая разнообразные модели простого и множественного наследования с помощью квалификаторов AND, ANDOR, ONEOF. При специфицировании объектного типа задаются атрибуты и ассоциации различной кратности (EXPLICIT), обратные ассоциации (INVERSE), а также производные вычисляемые свойства объектов (DERIVED). Последние определяются типами и выражениями, которые могут включать в себя значения явных атрибутов, константы, исполняемые операторы, включая вызов функций и процедур, как стандартных, так и пользовательских.

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

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

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

SCHEMA ActorResource;

TYPE ActorSelect = SELECT (Organization, Person);

END_TYPE;

TYPE AddressTypeEnum = ENUMERATION OF (

END_TYPE;

TYPE Label = STRING(255);

END_TYPE;

TYPE ActorRole = Label;

END_TYPE;

ENTITY Address

ABSTRACT SUPERTYPE OF (ONEOF(PostalAddress, TelecomAddress));

Purpose : AddressTypeEnum;

UserDefinedPurpose : OPTIONAL STRING;

INVERSE

OfPerson : SET OF Person FOR Addresses;

OfOrganization : SET OF Organization FOR Addresses;

WHERE

WR1 : (Purpose <> AddressTypeEnum.USERDEFINED) OR

((Purpose = AddressTypeEnum.USERDEFINED) AND

EXISTS(UserDefinedPurpose));

END_ENTITY;

ENTITY PostalAddress

SUBTYPE OF(Address);

AddressLines : LIST [1:?] OF Label;

END_ENTITY;

ENTITY TelecomAddress

SUBTYPE OF(Address);

TelephoneNumbers : OPTIONAL LIST [1:?] OF Label;

FacsimileNumbers : OPTIONAL LIST [1:?] OF Label;

ElectronicMailAddresses : OPTIONAL LIST [1:?] OF Label;

WWWUrls : OPTIONAL LIST [1:?] OF Label;

WHERE

WR1 : EXISTS (TelephoneNumbers) OR EXISTS (FacsimileNumbers) OR

EXISTS (ElectronicMailAddresses) OR EXISTS (WWWUrls);

END_ENTITY;

ENTITY Organization;

Id : INTEGER;

Name : Label;

Description : OPTIONAL STRING;

Roles : LIST [0:?] OF UNIQUE ActorRole;

Addresses : LIST [1:?] OF UNIQUE Address;

INVERSE

IsRelatedBy : SET OF OrganizationRelationship FOR RelatedOrganizations;

Relates : SET OF OrganizationRelationship FOR RelatingOrganization;

Engages : SET OF Person FOR EngagedIn;

UNIQUE

UR1 : Id;

END_ENTITY;

ENTITY OrganizationRelationship;

Name : Label;

Description : OPTIONAL STRING;

RelatingOrganization : Organization;

RelatedOrganizations : SET [1:?] OF Organization;

END_ENTITY;

ENTITY Person;

Id : INTEGER;

FamilyName : OPTIONAL Label;

GivenName : OPTIONAL Label;

MiddleNames : OPTIONAL LIST [1:?] OF Label;

PrefixTitles : OPTIONAL LIST [1:?] OF Label;

SuffixTitles : OPTIONAL LIST [1:?] OF Label;

Roles : LIST [0:?] OF UNIQUE ActorRole;

Addresses : OPTIONAL LIST [1:?] OF UNIQUE Address;

EngagedIn : SET OF Organization;

UNIQUE

UR1 : Id;

WHERE

WR1 : EXISTS(FamilyName) OR EXISTS(GivenName);

END_ENTITY;

END_SCHEMA;

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

К существенным особенностям прикладных информационных моделей следует отнести:

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

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

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

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

6. Общая систематизация подходов

6.1 Классификация паттернов отображения

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

· элементарных базовых типов;

· перечислимых типов;

· ассоциативных связей между объектами;

· селективных типов;

· агрегатных типов;

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

· простых и сложных объектных типов в рамках модели множественного наследования;

· информационных схем.

Не менее существенными для практического применения являются часто противоречащие друг другу проблемы:

· выбора стратегии отображения в соответствии с контекстом использования семантики информационной модели;

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

· эффективности реализации объектных запросов и операций манипулирования объектами (создание, модификация, удаление);

· оптимизации используемых ресурсов, включая затраты памяти;

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

6.2 Отображение информационных схем

Вопрос о выборе стратегии отображения в рамках схемо-зависимого (СЗ) или схемо-независимого (СН) подходов является наиболее принципиальным для систематизации методов объектно-реляционного отображения и их адекватного применения в приложениях.

6.2.1 Схемо-независимая стратегия

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

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

6.2.2 Схемо-зависимая стратегия

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

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

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

6.3 Отображение наследования классов

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

6.3.1 Паттерн OneInheritanceHierarchy-OneTable

Первый, наиболее простой паттерн OneInheritanceHierarchy-OneTable соответствует случаю отображения всех конкретных родственных классов, имеющих общий набор прародителей, в одну таблицу <Hierarchy>_Instances. Прародителем будем называть класс-предок, у которого нет собственных родителей.

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

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

Достоинством паттерна является возможность эффективной реализации базовых операций над произвольными объектами без дополнительных расходов на сборку значений атрибутов из разных таблиц и их обратное распределение по ним. Также непосредственно реализуется полиморфное чтение. Единственная сложность состоит в определении типа запрашиваемых объектов. Простота поддержки и развития такой СЗ стратегии делает ее довольно привлекательной. Недостатком является излишнее потребление памяти за счет избыточного хранения нулевых значений, а иногда и необходимость индексирования большого числа столбцов для ускорения выполнения запросов по значениям отдельных атрибутов. При большой глубине наследования классов, что является типичным в научных и промышленных моделях STEP, это может оказаться критичным как для потребления памяти, так и для производительности.

6.3.2 Паттерн OneClass-OneTable

В паттерне OneClass-OneTable каждый конкретный или абстрактный классы в иерархии наследования представляются отдельной таблицей <Class>_Instances, при этом собственные атрибуты данного класса отображаются в ее столбцы. Для связи с наследуемыми атрибутами она хранит вторичные ключи соответствующих записей в таблицах родительских классов. В случае простого наследования -- один вторичный ключ, в случае множественного наследования -- несколько вторичных ключей, каждый из которых соответствует таблице одного из родителей.

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

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

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

6.3.3 Паттерн OneInheritancePath-OneTable

Некоторые недостатки предыдущего паттерна компенсируются в результате сериализации таблиц классов по отношениям наследования. В паттерне OneInheritancePath-OneTable каждому конкретному классу соответствует своя таблица <Concrete_Class>_Instances, в столбцы которой отображаются все атрибуты класса, включая наследуемые от родителей.

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

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

6.3.4 Паттерн AllClasses-OneTable

Паттерн AllClasses-OneTable предполагает использование единой таблицы Instances для представления дескрипторов объектов всех классов. В столбцах таблицы хранятся идентификатор объекта и его тип. Контекст использования паттерна связан с представлением атрибутов классов в виде самостоятельных таблиц. В этом случае связь между таблицами экземпляров классов и значений их атрибутов осуществляется через внешние ключи записей объектов (см. раздел 6.4.2.2). Предполагается, что значения атрибутов одного и того же типа хранятся в единой таблице независимо от их вхождения в состав того или иного класса. Тем самым достигается существенная для схемо-независимой стратегии инвариантность реляционной схемы по отношению к прикладным моделям. Связь простого объекта с его классом осуществляется через внешний ключ записи в таблице классов Entities (см. раздел 6.5). Для сложных объектов предусмотрен внешний ключ записи в соответствующей таблице сложных классов Complex_Entities.

6.3.5 Паттерн BLOB

Паттерн BLOB также предполагает использование единой таблицы BLOB Instances для представления объектов всех классов. Однако в отличие от паттерна AllClasses-OneTable в данной таблице используется дополнительный столбец для хранения значений атрибутов, упакованных в бинарную или текстовую строку переменной длины. Задача упаковки значений в строку и их распаковки для клиентских приложений ложится непосредственно на промежуточный слой программного обеспечения. Хотя чтение и запись данных объекта осуществляются за одну операцию обращения к таблице, дополнительные расходы приходятся на обработку строк промежуточным слоем. По существу в этом случае BLOB стратегия объединяет в себе паттерны наследования, агрегации и ассоциации.

Возможны разновидности данного паттерна, связанные с различными способами представления строки значений атрибутов как в бинарном формате, так и в одном из текстовых метаформатов. В частности, применительно к метамодели EXPRESS стандарт STEP определяет формат текстового кодирования прикладных данных (ISO-10303-21) и несколько альтернативных способов XML разметки документов (ISO-10303-28), порождаемых соответствующей прикладной моделью данных, специфицируемой на языке EXPRESS.

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

6.4 Отображение атрибутов

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

6.4.1 Представление простых типов

Соответствие базовых типов языка EXPRESS типам данных в SQL достаточно прозрачно. В таблицу 1 сведены базовые типы EXPRESS и возможные способы их представления в некоторых популярных коммерческих и свободно распространяемых реляционных СУБД.

Таблица 1. Соответствие базовых типов EXPRESS и SQL в реляционных СУБД

ЕXPRESS

MySQL

PostgreSQL

Oracle

INTEGER

INTEGER

INTEGER

INTEGER

REAL

REAL,

DOUBLE PRECISION

FLOAT8,

DOUBLE PRECISION

NUMBER,

DOUBLE PRECISION

REAL(n)

FLOAT(n)

NUMERIC(n)

NUMBER(n)

NUMBER

REAL,

DOUBLE PRECISION

FLOAT8,

DOUBLE PRECISION

NUMBER,

DOUBLE PRECISION

BOOLEAN

CHAR(1),

TINYINT

CHAR(1),

SMALLINT

CHAR(1),

INTEGER

LOGICAL

CHAR(1),

TINYINT

CHAR(1),

SMALLINT

CHAR(1),

INTEGER

ENUMERATION

VARCHAR(128),

INTEGER

VARCHAR(128),

INTEGER

VARCHAR2(128),

INTEGER

STRING

TEXT (up to 64K),

LONGTEXT (up to 4Gb)

TEXT (about 1Gb)

VARCHAR2(4000),

LONG (up to 2Gb)

STRING(n)

VARCHAR(n)

VARCHAR(n)

VARCHAR2(n)

STRING(n) FIXED

CHAR(n)

CHAR(n)

CHAR(n)

BINARY

BLOB (up to 64K),

LONGBLOB (up to 4Gb)

BYTEA

LONG RAW (up to 2Gb)

BINARY(n)

VARCHAR(n) BINARY

VARBIT(n)

RAW(n)

BINARY(n) FIXED

CHAR(n) BINARY

BIT(n)

RAW(n)

ENTITY (reference)

VARCHAR(128),

FOREIGN KEY

VARCHAR(128),

FOREIGN KEY

VARCHAR2(128),

FOREIGN KEY

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

6.4.2 Отображение атрибутов простых типов
6.4.2.1 Паттерн Attribute-Column

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

6.4.2.2 Паттерн Attribute-Table

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

Независимо от принадлежности различным классам значения однотипных атрибутов хранятся в одной таблице. Для представления всех атрибутов простых типов, допускаемых метамоделью языка EXPRESS, в общей реляционной схеме достаточно иметь фиксированный набор из шести таблиц: Integer_Attributes, Real_Attributes, Logical_Attributes, String_Attributes, Binary_Attributes и Enum_Attributes. Предполагается, что в схеме хранения данные типа NUMBER всегда представимы типом REAL, а данные типа BOOLEAN -- типом LOGICAL.

6.4.3 Отображение ассоциаций

Язык EXPRESS допускает определение разного рода ассоциативных отношений между классами, отличающихся как по типу, так и по кратности. Ассоциации однонаправлены в том смысле, что ассоциируемый объект может быть получен по соответствующей ссылке из объекта, содержащего ассоциативную связь. Вместе с тем, допускается задание двунаправленных связей с помощью определения обратных атрибутов (INVERSE) в ассоциируемом классе. При определении прямой и обратной ассоциации допустимо указание диапазона кратности связи как ограничения, налагаемого на количество объектов, участвующих в ней как со стороны ассоциируемых, так и со стороны ассоциирующих объектов.

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

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

6.4.3.1 Паттерн ForeignKeyAssociation

Данный паттерн применим к прямым множественным ассоциациям при условии, что соответствующая обратная ассоциация является простой. Иными словами, с каждым объектом, участвующим в связи, может быть ассоциировано некоторое множество объектов. Однако каждый объект таких множеств может участвовать только в одной обратной ассоциации этой связи. Паттерн реализуется в рамках схемо-зависимой стратегии путем включения в таблицу ассоциированного класса <Associated_Class> (класса, на который содержится ссылка в классе ассоциации) внешнего ключа на таблицу <Associating_Class>. Имя ключа может соответствовать имени связи в соответствующей спецификации <Associating_Class>. В случае упорядоченных множественных ассоциаций (LIST или ARRAY OF ENTITY) может потребоваться дополнительный столбец в таблице <Associated_Class> для хранения индекса ассоциации. Если связь реализуется как элемент вложенной агрегатной конструкции, то в данной таблице предусматривается необходимое число столбцов индексов для каждого из упорядоченных множеств, участвующих в ней. Аналогично, если связь реализуется как элемент селективной конструкции, то в таблицу добавляется соответствующий столбец для представления дискриминатора. Более подробно эти случаи описаны в паттернах отображения селективных и агрегатных конструкций.

Чтение ассоциирующего объекта реализуется посредством одной операции соединения или двух операций запроса к таблицам <Associated_Class> и <Associating_Class>, один из которых является множественным. Запись объекта также сопряжена с множественной операцией модификации внешних ключей в записях ассоциированных объектов. Затраты памяти в реализации паттерна близки к оптимальным, поскольку издержки приходятся лишь на хранение дополнительного внешнего ключа, а иногда и индекса ассоциации в таблице <Associated_Class>, для каждой связи, в которой ассоциируемый класс участвует.

6.4.3.2 Паттерн ClassAssociation

Данный паттерн позволяет непосредственно представить множественные ассоциативные отношения в результате использования отдельной таблицы в рамках схемо-зависимой стратегии. Такая таблица <Class1>_<Class2>_Associations создается для каждой пары классов, участвующих в ассоциативной связи, и содержит пары внешних ключей записей в таблицах классов ассоциируемых и ассоциирующих объектов.

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

6.4.3.3 Паттерн GenericAssociation

Данный паттерн соответствует схемо-независимой стратегии. Он реализует идею унифицированного представления всех видов ассоциаций, участвующих в прикладной модели, одной таблицей Associations. Ассоциативные связи в таблице устанавливаются через ссылки на дескрипторы прикладных объектов в таблице Instances в виде внешних ключей соответствующих записей в ней. Поскольку для реализации схемо-независимой стратегии важна привязка элементов данных к прикладной модели, для каждой ассоциации в таблице Associations хранится также ссылка на метаинформацию о соответствующем атрибуте, представленную в таблице Attributes. Если ассоциация устанавливается как элемент агрегатной или селективной конструкции, то указывается также ссылка на соответствующую запись в таблицах Aggregates или Selections. Таким образом, таблица Associations хранит множество записей обо всех видах ассоциаций прикладных данных, контексте их использования в составе агрегатных или селективных конструкций и их привязке к прикладной информационной модели, представимыми соответствующими таблицами метаданных.

6.4.4 Отображение селективных типов

Поскольку селективные типы данных в языке EXPRESS по существу являются альтернативным представлением других базовых типов, паттерны их отображения тесно связаны с соответствующими паттернами отображения тех базовых типов, на которых они основаны. Важно отметить, что селективные типы могут быть основаны на простых типах данных, ассоциативных типах, агрегатах различного вида и на ранее предопределенных селективных типах иной организации. Дискриминатор установки селективного элемента данных в одно из альтернативных состояний в реляционной схеме представим столбцом в таблице хранения значений атрибутов объектов. Тип столбца дискриминатора соответствует рассмотренным способам отображения данных перечислимого типа ENUMERATION (см. раздел 6.4.1). А способ представления самого состояния элемента определяется одним из паттернов отображения атрибутов базовых типов. Поскольку в качестве базовых могут выступать пользовательские типы данных, эквивалентные с точки зрения способов представления в реляционной схеме, то для исключения избыточности и минимизации затрат памяти целесообразно выделить подмножество неэквивалентных базовых типов и предусмотреть способы их адекватного реляционного представления. При этом дискриминатор селективного элемента позволит однозначно идентифицировать, в каком именно состоянии хранимые данные находятся.

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

6.4.4.1 Паттерн Select-Columns

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

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

6.4.4.2 Паттерн ClassSelect

В тех случаях, когда в определении атрибута селективного типа участвуют агрегатные конструкции, применение рассмотренного выше паттерна является проблематичным и возникает необходимость представления значений атрибута класса отдельной таблицей <Class>_<Attribute>_Select. Организация данной таблицы повторяет структуру столбцов в предыдущем паттерне отображения за исключением того, что резервируются дополнительные столбцы для хранения индексов элементов агрегатов, участвующих в определении селективного типа. Число столбцов, необходимое для этого, определяется максимальной глубиной вложенности используемых конструкций упорядоченных агрегатов. Для связи с объектами используется ссылка из таблицы <Class>_<Attribute>_Select на соответствующую таблицу объектов классов в виде внешнего ключа записей в ней.

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

6.4.4.3 Паттерн HierarchySelect

Настоящий паттерн устраняет отмеченный выше недостаток за счет использования одной таблицы для каждого селективного типа, встречаемого в определении самостоятельной иерархии наследования классов. Однако контекст его использования ограничивается единственным паттерном отображения классов OneInheritanceHierarchy-OneTable. Организация таблицы для каждого селективного типа повторяет предыдущий случай. Для связи с объектами используется внешний ключ записей объектов в таблице <Hierarchy>_Instances. Данный паттерн позволяет существенно сократить число таблиц, необходимых для реляционного представления масштабных прикладных моделей, за счет хранения однотипных селективных данных в единых таблицах. Их размер естественно возрастает, что приводит к замедлению операций работы с хранимыми селективными данными, однако общее число таблиц, критичное для большинства современных реализаций реляционных СУБД, снижается.


Подобные документы

  • Структура модели на языке Express. Правила записи супертипов и подтипов. Разработка информационных моделей в рамках концепции CALS. Типы данных в языке Express. Структура портативного зарядного устройства ЗарядON. Изображение сущности на языке Express-G.

    курсовая работа [487,9 K], добавлен 18.01.2013

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

    лабораторная работа [159,4 K], добавлен 26.05.2014

  • Применение, настройка и правила работы в программе Outlook Express. Управление e-mail аккаунтами и аккаунтами новостных групп, быстрый просмотр сообщений. Адресная книга, отправка и получение защищенных сообщений. Ошибки и средства устранения неполадок.

    статья [21,7 K], добавлен 03.05.2010

  • Информационные технологии, организация и перспективы их внедрения в архивах; этапы, объекты и цели информатизации. Направления процесса внедрения автоматизированных архивных технологий (ААТ): базы данных, сканирование документов, сетевые технологии.

    контрольная работа [23,9 K], добавлен 17.02.2011

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

    курсовая работа [1,2 M], добавлен 10.02.2014

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

    курсовая работа [439,9 K], добавлен 05.06.2014

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

    методичка [950,2 K], добавлен 23.01.2014

  • Разработка клиентского приложения для информационной системы "Работа торгового склада" с помощью языка объектно-ориентированного программирования Delphi 6 и технологии InterBase Express. Описание реляционной модели данных и этапы ее проектирования.

    курсовая работа [1,0 M], добавлен 19.03.2009

  • Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.

    контрольная работа [25,1 K], добавлен 14.03.2015

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.