Диссертация (1145120), страница 68
Текст из файла (страница 68)
Категории удобноиспользовать, например, при размещении информации о типах оборудования на сайте —категории могут быть перечислены как список названий, при выборе одного из названийоткрывается соответствующая страничка с соответствующим списком видов оборудования.АтрибутыДанный класс имеет следующие атрибуты: title: string — название группы.АссоциацииДанный класс имеет следующие ассоциации: с классом HTModel, множественность ассоциации со стороны класса HTCategoryравна 0..*, то есть в HTModel может быть несколько категорий, а может не быть ниодной; с классом HTEntity, множественность ассоциации со стороны класса HTCategory(роль category) равна 1, конец ассоциации со стороны HTCategory помечен нестрогим агрегированием; последнее означает, что экземпляры класса HTEntity могутпринадлежать экземплярам класса HTCategory, но не строго — то есть, при удалении категории входящие в неё элементы не удалятся; строго экземпляры классаHTEntity агрегируются экземпляром класса HTModel.Ограничения Понятие “категория” имеет смысл только для типов блоков, другие типы оборудования в категории группироваться не могут.Класс HTElementОписаниеКласс является предком для различных типов оборудования и описывает их общие свойства.АтрибутыДанный класс имеет следующие атрибуты: doc: TDocumentationPackage — многоязычное описание оборудования данного типа.АссоциацииДанный класс имеет следующие ассоциации: с классом HTModel, множественность ассоциации со стороны класса HTElementравна 0..*, то есть в HTModel может быть несколько элементов, а может не быть ниодного.415HTEntityПредокКласс HTElement.ОписаниеКласс описывает типы оборудования (устройства, кабели, переходники и т.д.), из экземпляров которых составляется чертёж принципиальной схемы.АтрибутыДанный класс имеет следующие атрибуты: type: THardware — значение типа оборудования; mark: string — уникальная (в рамках семейства) маркировка данного типа оборудования.АссоциацииДанный класс имеет следующие ассоциации: с классом HTCategory, множественность ассоциации со стороны класса HTEntity(роль entity) равна 0..*, то есть к одной категории HTCategory может относиться несколько элементов, а может ни одного; с классом HTEntityConnector, множественность ассоциации со стороны классаHTEntity (роль container) равна 1, конец ассоциации со стороны HTEntity помеченагрегированием, то есть HTEntity является агрегатом, включающим в себя разъёмы(экземпляры класса HTEntityConnector), и каждый размещённый тип разъёма может принадлежать ровно одному типу оборудования; с классом PLMEntity, множественность ассоциации со стороны HTEntity равна 1,ассоциация со стороны HTEntity направленная, то есть у любого экземпляра оборудования (экземпляр класса PLMEntity) может быть только один тип оборудования(экземпляр класса HTEntity); каждый тип оборудования «не знает», с какими экземплярами он связан.Ограничения Каждый тип оборудования — экземпляр класса HTEntity — отличается от другихэкземпляров того же типа маркировкой.
Формально это выражается тем, что атрибут последнего HTEntity::mark должен иметь непустое значение, уникальное средивсех экземпляров класса HTEntity с таким же значением атрибута HTEntity::type. Типы оборудования, отличные от блоков, не объединены в категории. У типов блоков все разъёмы должны быть экземплярами класса. В типе переходника должно быть только два разъёма. В типе кабеля всегда два разъёма. В типе разветвителя должно быть не менее двух разъёмов.HTConnectorПредокКласс HTElement.416ОписаниеЭтот класс описывает типы разъёмов, используемые для типов кабелей, блоков, переходников и других аппаратных узлов.
Эти типы определяются независимо от контекста использования и могут входить в разные типы блоков, типы кабелей и т.д. Их вхождение втот или иной тип конструкции определяется с помощью класса HTEntityConnector.АтрибутыДанный класс имеет следующие атрибуты: name: string — уникальное в рамках семейства название типа разъёма.АссоциацииДанный класс имеет следующие ассоциации: с классом HTEntityConnector, что означает использование этого типа разъёма вопределённом контексте — в типе блока, кабеля и пр.; множественность ассоциации со стороны HTConnector (роль type) равна 1, ассоциация со стороныHTConnector направленная, то есть у любого экземпляра класса HTEntityConnectorможет быть только один тип разъёма (класс HTConnector); тип разъёма не содержит информации о том, какие экземпляры с ним связаны; c классом HTPin, множественность ассоциации со стороны класса HTConnector(роль connector) равна 1, конец ассоциации со стороны HTConnector помечен агрегированием, то есть HTConnector является агрегатом, включающим в себя контакты (экземпляры класса HTPin), и каждый контакт может принадлежать ровно одному типу разъема; с классом HTPin (ассоциация FemaleConfiguration), связывая контакты с разъёмомотношением «розетка», множественность ассоциации со стороны классаHTConnector равна 0..1, то есть каждый разъем может относиться к конфигурациирозетки или нет (то есть он из конфигурации «вилки»); с классом HTPin (ассоциация MaleConfiguration), связывая контакты с разъёмомотношением «вилка», множественность ассоциации со стороны классаHTConnector равна 0..1, то есть каждый разъем может относиться к конфигурации«вилки» или нет (то есть он из конфигурации «розетки»).Ограничения Название типа разъёма уникально в рамках семейства и не пусто. Каждый тип разъёма — экземпляр класса HTConnector — состоит хотя бы из одного контакта — экземпляра типа HTPin.
Все контакты типа разъёма делятся на двегруппы: контакты для конфигурации “вилка” или “розетка”. Один и тот же контактне может одновременно являться контактом для обеих конфигураций.Класс HTEntityConnectorОписаниеКласс описывает размещённые типы разъёмов и имеет смысл только в рамках конкретного типа оборудования, то есть не может разделяться между разными типами оборудования.АтрибутыДанный класс имеет следующие атрибуты:417orientation: TOrientation — ориентация разъёма в устройстве; разъем может бытьили «вилкой», или» розеткой»;main: boolean — значение true соответствует главному разъёму в разветвителе, дляостальных типов оборудования, куда может входить разъем, атрибут не используется.АссоциацииДанный класс имеет следующие ассоциации: склассомHTConnector,множественностьассоциациисостороныHTEntityConnector равна 0..*, то есть один тип разъёма (экземпляр классаHTConnector) может использоваться в различных типах размещённых разъёмов(экземпляры класса HTEntityConnector), или вообще не использоваться; с классом HTEntity, множественность ассоциации со стороны HTConnector (рольconnector) равна 1..*, то есть у одного типа оборудования должен быть хотя быодин размещённый разъем; с классом PLMConnector, множественность ассоциации со стороныHTEntityConnector (роль type) равна 1, ассоциация со стороны HTEntityConnectorнаправленная, то есть у любого разъёма экземпляра оборудования (экземпляр класса PLMEntityConnector) может быть только один тип размещённого разъёма (экземпляр класса HTEntityConnector).
Также каждый тип размещённого разъёма несодержит информации о том, какие разъёмы экземпляров оборудования связаны сним.Ограничения Атрибут “main” не имеет смысла для элементов, отличных от разветвителя. У разветвителя должен быть только один главный разъем.Класс HTBlockConnectorОписаниеКласс служит для описания разъёмов в типах блока. Для типа блока не подходит обычныйтип разъёма HTEntityConnector, т.к. в блоке его нужно расширить атрибутом “имя в блоке” (атрибут titleOnBlock).АтрибутыДанный класс имеет следующие атрибуты: titleOnBlock: string — уникальное имя разъёма в блоке; по семантике это имя отличается от обычного имени разъёма HTConnector.name, т.к. titleOnBlock привязано кконкретному типу блока.Ограничения Имеет смысл только для типов блоков. Имена разъёмов в типе блока уникальны в переделах типа блока и являются не пустыми.Класс HTPinОписаниеКласс описывает контакты в типе разъёма.418АтрибутыДанный класс имеет следующие атрибуты: number: int — уникальный номер контакта в разъёме; номер лежит в диапазоне от 1до количества контактов в разъёме.АссоциацииДанный класс имеет следующие ассоциации: склассомHTConnector,множественностьассоциациисостороныHTEntityConnector равна 1..*, то есть каждый тип разъёма (экземпляр классаHTConnector) должен содержать, по крайней мере, один контакт; с классом HTConnector (ассоциация FemaleConfiguration), множественность ассоциации со стороны класса HTPin равна 0..*, то есть конфигурация розетки можетсодержать несколько контактов, а может ни одного; с классом HTConnector (ассоциация MaleConfiguration), множественность ассоциации со стороны класса HTPin равна 0..*, то есть конфигурация вилки может содержать несколько контактов, а может ни одного; с классом HTSignal, множественность ассоциации со стороны класса HTPin равна1, конец ассоциации со стороны HTPin помечен агрегированием, то есть HTPin является агрегатом, включающим в себя сигналы, и каждый сигнал (экземпляр классаHTSignal) принадлежит ровно одному контакту.Ограничения Номер контакта — это натуральное число, не превышающее общее количествоконтактов в разъёме.