Форум Сообщества Аналитиков

Общий раздел => Теория моделирования и нотации => UML SysML и пр. => Тема начата: Денис Иванов от 18 Ноября 2008, 11:53:14

Название: Использование Пакета на ДВИ
Отправлено: Денис Иванов от 18 Ноября 2008, 11:53:14
Замечания:
1. На Д не может быть сразу ВИ и пакеты, либо одно либо другое
2. "Управлять Справочником" - это общий ВИ он для всех Справочников будет одинаков. А в тексте сценарии можно перечислить Имена справочников, на ДВИ их лучше не показывать, но если уж хотите показать, то делайте это наследованием от ВИ "Управлять Справочником"
3. А куда подевались другие ДЛ?
1. Почему?
2. "Управлять Справочником" - это название пакета.

З.Ы. Холивар по поводу использования Пакетов на ДВИ началась с этого неприглядного поста:
http://www.uml2.ru/forum/index.php?topic=1029.msg10874#msg10874
Название: Использование Пакета на ДВИ
Отправлено: bas от 18 Ноября 2008, 12:20:07
1. Почему?
2. "Управлять Справочником" - это название пакета.
1. П.ч. для указания пакетов есть Package Diagram
2. И что связь зависимости между ДЛ и Пакетом показывает?
Название: Использование Пакета на ДВИ
Отправлено: Денис Иванов от 18 Ноября 2008, 12:46:27
1. П.ч. для указания пакетов есть Package Diagram
2. И что связь зависимости между ДЛ и Пакетом показывает?
1. пакеты можно рисовать и на диаграмме использования.
2. с точки зрения семантики здесь написано, что ДЛ зависит от одного или нескольких элементов пакета. С точки зрения синтаксиса - это ошибка, т.к. ДК не может зависеть от ВИ.
Название: Использование Пакета на ДВИ
Отправлено: bas от 18 Ноября 2008, 14:01:08
1. пакеты можно рисовать и на диаграмме использования.
2. с точки зрения семантики здесь написано, что ДЛ зависит от одного или нескольких элементов пакета. С точки зрения синтаксиса - это ошибка, т.к. ДК не может зависеть от ВИ.
1. Блин, специально просмотрел UML Superstructure Specification 2.1.2 и там четко написано, что на ДВИ не могут быть использованы Пакеты
2. Ни с какой т.з. это не ошибка, т.к. связь ДЛ ---> Пакет показывает, что ДЛ может участвовать в Пакете "Управлять Справочниками", но логическая ошибка в том, что не показано как ДЛ участвует в конкретных ВИ.
Хотя в спеке не нашел, что можно использовать ДЛ и Пакет на одной Д и как эта Д называется :(
Название: Использование Пакета на ДВИ
Отправлено: Денис Иванов от 18 Ноября 2008, 15:15:35
1. Блин, специально просмотрел UML Superstructure Specification 2.1.2 и там четко написано, что на ДВИ не могут быть использованы Пакеты
2. Ни с какой т.з. это не ошибка, т.к. связь ДЛ ---> Пакет показывает, что ДЛ может участвовать в Пакете "Управлять Справочниками", но логическая ошибка в том, что не показано как ДЛ участвует в конкретных ВИ.
Хотя в спеке не нашел, что можно использовать ДЛ и Пакет на одной Д и как эта Д называется :(
1. Осталось только привести четко написанную цитату и я с тобой соглашусь. Сам всегда считал, что пакеты можно рисовать на диаграмма использования.
2. Сущности (например, ДЛ) могут либо принадлежать пакету, либо нет. Других отношений между ними нет.
Название: Использование Пакета на ДВИ
Отправлено: bas от 18 Ноября 2008, 15:32:24
1. Осталось только привести четко написанную цитату и я с тобой соглашусь. Сам всегда считал, что пакеты можно рисовать на диаграмма использования.
2. Сущности (например, ДЛ) могут либо принадлежать пакету, либо нет. Других отношений между ними нет.
1. Ну Денис :) См. п. 16 в UML Superstructure Specification 2.1.2, много цитировать :) Конкртной фразы, что использовать Пакеты нельзя, нет, но есть перечесление используемых артефактов, например, см. прикрепленный рисунок из п. 16.2.
Денис, но даже с логической т.з. ВИ и Пакеты нельзя использовать на одной Д, т.к. это разные уровни абстракции.
2. А это где написано?
Название: Использование Пакета на ДВИ
Отправлено: Денис Иванов от 18 Ноября 2008, 15:50:53
1. Ну Денис :) См. п. 16 в UML Superstructure Specification 2.1.2, много цитировать :) Конкртной фразы, что использовать Пакеты нельзя, нет, но есть перечесление используемых артефактов, например, см. прикрепленный рисунок из п. 16.2. Денис но даже с логической т.з. ВИ и Пакеты нельзя использовать на одной Д, т.к. это разные уровни абстракции.
2. А это где написано?
1) Bas, то, что ты показываешь - описание элементов языка. Диаграммы, как и представления, например, НЕ являются частью языка. Это просто рекомендации по использованию языка (которым следуют разработчики инструмента).
Пакеты - это элемент модели, который объединяет другие элементы модели по некоторому принципу. Причем тут разные уровни абстракции? Пакеты вообще никак с этим не связаны. Они служат для уменьшения сложности МОДЕЛИ (декомпозируют ее) и никак не связаны с задачей, которая решается.
2) 7.3.37 Package
A package is used to group elements, and provides a namespace for the grouped elements.
...
A package is a namespace for its members, and may contain other packages.
...
A package owns its owned members, ... etc
Название: Использование Пакета на ДВИ
Отправлено: bas от 18 Ноября 2008, 16:34:25
Денис,

1. Не совсем понял твой пост, но я надеюсь ты проглядел п. 16 спеки и понял, что артефакт Пакет не может использоваться на ДВИ
2. Хорошо убедил, не бум использовать :) Это кстати на заметку Виталию Григорашу, кот показывал патерн ВИ "Пакеты", где было отношение зависимости м\у ДЛ и Пакетами.
Название: Использование Пакета на ДВИ
Отправлено: Григорий Печенкин от 18 Ноября 2008, 17:10:49
По-моему, это уже похоже на холивар. :)

Как можно запретить использование каких-то элементов на диаграмме? Если они облегчают понимание - не вижу препятствий.
Название: Использование Пакета на ДВИ
Отправлено: Денис Иванов от 18 Ноября 2008, 17:11:22
1. Не совсем понял твой пост, но я надеюсь ты проглядел п. 16 спеки и понял, что артефакт Пакет не может использоваться на ДВИ
Мой пост о том, что на метамодели диаграммы не показываются.... и вывод, который сделал из рисунка о том, что Пакет не может использоваться на ДВИ (кстати правильно диаграмма использования, а не диаграмма вариантов использования) мне не ясен

Еще хотел заметить, что Пакет - это не никакой не артефакт.
10.3.1 Artifact (from Artifacts, Nodes)
An artifact is the specification of a PHYSICAL piece of information that is used or produced by a software development process,
or by deployment and operation of a system. ... etc
Пакет - витруальная (времени моделирования), а не физическая (времени выполнения) сущность.
Название: Использование Пакета на ДВИ
Отправлено: Денис Иванов от 18 Ноября 2008, 17:12:48
По-моему, это уже похоже на холивар. :)

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

Более того никто не запрещает придумывать новые диаграммы. Просто надо следовать правилам о том, какие отношения между какими сущностями возможны, а какие нет.
Название: Использование Пакета на ДВИ
Отправлено: bas от 18 Ноября 2008, 18:17:53
Мой пост о том, что на метамодели диаграммы не показываются.... и вывод, который сделал из рисунка о том, что Пакет не может использоваться на ДВИ (кстати правильно диаграмма использования, а не диаграмма вариантов использования) мне не ясен
Ты прочитал п. 16? Там есть хоть одно упоминание о пакете? Или где-то еще в спеке говориться, что Пакет можно использовать на ДВИ?
Кстати, а кто сказал что правильно Диаграмма Использования? Вот например цитата из спеки:
Цитировать
Use Case Diagrams are a specialization of Class Diagrams such that the classifiers shown are restricted to being either
Actors or Use Cases.


Более того никто не запрещает придумывать новые диаграммы. Просто надо следовать правилам о том, какие отношения между какими сущностями возможны, а какие нет.
Так ты сам сказал, что "Сущности (например, ДЛ) могут либо принадлежать пакету, либо нет". Так как ты себе представляешь ДВИ с пакетом? Можешь пример привести.

Можно хоть один пример ДВИ с пакетом из книги, статьи, спеки (более менее достоверного источника)?
Название: Использование Пакета на ДВИ
Отправлено: Денис Иванов от 18 Ноября 2008, 18:32:19
Долго боролся с собой на предмет отвечать или нет. Решил, что закончу дискуссию со своей стороны.
Название: Использование Пакета на ДВИ
Отправлено: bas от 18 Ноября 2008, 18:37:16
По-моему, это уже похоже на холивар. :)

Как можно запретить использование каких-то элементов на диаграмме? Если они облегчают понимание - не вижу препятствий.
Просто заведомо неправильное использование элементов и Д приводит к большему непониманию, чем к его облечению, где было уже обсуждение - зачем нужны стандарты ...
Название: Re: Использование Пакета на ДВИ
Отправлено: bas от 18 Ноября 2008, 18:45:59
Долго боролся с собой на предмет отвечать или нет. Решил, что закончу дискуссию со своей стороны.
Жалко, что мы не пришли к единому мнению :(

Тогда оставлю за собой право подвести небольшой итог:
В принципе использование Пакетов на ДВИ нигде не запрещено, но не имеет смысла, т.к. "Сущности (например, ДЛ) могут либо принадлежать пакету, либо нет", и в этом случае ДВИ просто перерождается в Д Пакетов, либо Пакет висит сам по себе в воздухе на Д в окружении ДЛ и ВИ.
Название: Re: Использование Пакета на ДВИ
Отправлено: Виктор Малышко от 18 Ноября 2008, 22:07:24
Чтобы внести свежую струю в обсуждение, добавлю, что в рамках гибкого моделирования (Agile Modeling) дозволяется использовать пакеты на ДВИ:
(http://www.agilemodeling.com/images/style/packageDiagramUseCases.gif)
См. http://www.agilemodeling.com/style/packageDiagram.htm#UseCasePackageDiagrams (http://www.agilemodeling.com/style/packageDiagram.htm#UseCasePackageDiagrams). Оно и понятно, "гибким ребятам" стандарты не указ.
Пакет вариантов использования (ПВИ) является одним из артефактов RUP. При его изучении мне доводилось встречать ПВИ на диаграммах вариантов использования для бизнес-моделирования и работы с требованиями.
Указанная диаграмма из суперструктуры позволяет объединять варианты использования в ПВИ, насколько я могу разобраться.
Название: Re: Использование Пакета на ДВИ
Отправлено: Виталий Григораш от 19 Ноября 2008, 15:02:15
...Это кстати на заметку Виталию Григорашу, кот показывал патерн ВИ "Пакеты", где было отношение зависимости м\у ДЛ и Пакетами.
Хочу немного своего мнения внести. :)
Во-первых. Нужно определится в чем цель моделирования вариантов использования? Если цель в строгом соблюдении UML, то использование dependency между актором и пакетом нельзя, тк актор может быть связан только с ВИ, компонентами, классами и др акторами. В таком случае нужно использовать компоненты, точно также как пакеты, но на практике это не всегда удобно.
Я же, когда использую пакеты, пытаюсь достичь двух целей:1. Структурирование модели. 2. Понятность модели для команды разработки и заказчика.

Во-вторых. Я не первый кто это использует. Связь акторов с пакетами я подсмотрел в книге Podeswa "UML for the IT Business Analyst" (стр. 94-98)  и просто оформил это как паттерн, потому что мне так удобно работать. Тот же Овергаард использует подобную связь в паттерне Lecacy System.

В-третьих. Современные CASE позволяют устанавливать такие связи, следовательно, про них можно сказать что они 100% не соблюдают правила UML. :)

ЗЫ Связь зависимости между акторами и пакетом показывает, что актор инициирует ВИ (участвует в ВИ), которые принадлежат пакету
Название: Re: Использование Пакета на ДВИ
Отправлено: bas от 20 Ноября 2008, 00:18:49
Пакет вариантов использования (ПВИ) является одним из артефактов RUP. При его изучении мне доводилось встречать ПВИ на диаграммах вариантов использования для бизнес-моделирования и работы с требованиями.
С ПВИ я согласен - это пакет со стереотипом <<use case>>, это никто не запрещает делать. Но что ПВИ - это артефакт РУП, я слышу впервые, можно ссылочку.

Указанная диаграмма из суперструктуры позволяет объединять варианты использования в ПВИ, насколько я могу разобраться.
Вот тут я Вас не понял. Какая Д из какой суперструктуры?

Хочу немного своего мнения внести. :)
Во-первых. Нужно определится в чем цель моделирования вариантов использования? Если цель в строгом соблюдении UML, то использование dependency между актором и пакетом нельзя, тк актор может быть связан только с ВИ, компонентами, классами и др акторами. В таком случае нужно использовать компоненты, точно также как пакеты, но на практике это не всегда удобно.
Энто как ты будешь использовать Компоненты также?

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

Во-вторых. Я не первый кто это использует. Связь акторов с пакетами я подсмотрел в книге Podeswa "UML for the IT Business Analyst" (стр. 94-98)  и просто оформил это как паттерн, потому что мне так удобно работать. Тот же Овергаард использует подобную связь в паттерне Lecacy System.

В-третьих. Современные CASE позволяют устанавливать такие связи, следовательно, про них можно сказать что они 100% не соблюдают правила UML. :)

ЗЫ Связь зависимости между акторами и пакетом показывает, что актор инициирует ВИ (участвует в ВИ), которые принадлежат пакету
1. Я не против такого использования, но просто как правило ДЛ не участвует во всех ВИ данного пакета, а, во-вторых, ДВИ с Пакетами и ДЛ может получиться нечитаемой, т.к. одно или несколько ДЛ будет связано со всеми Пакетами, и поэтому данный вид Д нужно использовать осторожно (не все еще ДВИ одолели то).
2. Поверим :) Но я нигде не видел использования такой техники до этой дискуссии.
3. Так ЕА позволяет делать все что угодно :) Это ни о чем не говорит
З.Ы. Это твое ИМХО, хотя логичное. М.б. написать в ОМГ на счет включения Пакетов на ДВИ или спросить причину того что они этого не сделали?
Название: Re: Использование Пакета на ДВИ
Отправлено: Виктор Малышко от 20 Ноября 2008, 01:01:22
Но что ПВИ - это артефакт РУП, я слышу впервые, можно ссылочку.
Дальше РУПа послать не могу, ближе тоже.
Вот тут я Вас не понял. Какая Д из какой суперструктуры?
Ту, что Вы приводили. ВИ может входить в классификатор, а пакет -- это классификатор, как мне кажется.
Название: Re: Использование Пакета на ДВИ
Отправлено: bas от 20 Ноября 2008, 10:36:54
Дальше РУПа послать не могу, ближе тоже.
Действительно, в РУП написано, что ПВИ - это часть ДВИ. Но про ПВИ сказано, что он служит только для группировки ВИ или ДЛ, но не сказано про то, что ДЛ могут быть связаны с ПВИ зависимостью:
http://rup.hops-fp6.org/process/artifact/ar_ucmod.htm
http://rup.hops-fp6.org/process/artifact/ar_ucpkg.htm
И тогда не понятно чем ДВИ с Пакетами будет отличаться от Д Пакетов?
Название: Re: Использование Пакета на ДВИ
Отправлено: Виталий Григораш от 20 Ноября 2008, 11:19:19
.. а пакет -- это классификатор, как мне кажется.
А по-моему пакет не относится к классификаторам. Хотя могу ошибаться

Энто как ты будешь использовать Компоненты также?
При моделировании ВИ в IBM Rational Software Architect граница системы представляет собой компонент со стереотипом <<subsystem>>, а не просто картинка в виде рамочки. Такой подход позволяет помещать ВИ внутрь действительной системы. Декомпозируя систему на подсистемы (компоненты), мы тем самым группируем ВИ по подсистемам. См. рисунок1 в аттаче. Так как по правилам UML актор может быть связан с компонентом, то мы можем на верхнем уровне абстракции показать эту связь, скрыв внутреннее содержание компонента. Связи акторов с компонентами, на этапе проектирования перерастут в интерфейсы.
Данные компоненты не являются "design", а представляют собой аналитический взгляд на состав системы. Хотя системный аналитик - это PIM архитектор, то вполне может быть, что компоненты будут design

1. Я не против такого использования, но просто как правило ДЛ не участвует во всех ВИ данного пакета, а, во-вторых, ДВИ с Пакетами и ДЛ может получиться нечитаемой, т.к. одно или несколько ДЛ будет связано со всеми Пакетами, и поэтому данный вид Д нужно использовать осторожно (не все еще ДВИ одолели то).
Чтобы не было таких проблем нужно придерживаться принципа проектирования: элементы внутри компонента сильно связаны, компоненты слабо зависимы. Это позволит сократить количество взаимодействий между компонентами и сделать более гибкую архитектуру. Конечно, это все больше относится к системным вариантам использования.

2. Поверим :) Но я нигде не видел использования такой техники до этой дискуссии.
Доверяй, но проверяй  :). См. рисунок 2 в аттаче

3. Так ЕА позволяет делать все что угодно :) Это ни о чем не говорит
З.Ы. Это твое ИМХО, хотя логичное. М.б. написать в ОМГ на счет включения Пакетов на ДВИ или спросить причину того что они этого не сделали?
Да, это ИМХО., и я его никому не навязываю и не утверждаю что это правильно  :). А в ОМГ написать можно. Займешься?  ;)
Название: Re: Использование Пакета на ДВИ
Отправлено: Виктор Малышко от 20 Ноября 2008, 12:01:53
А по-моему пакет не относится к классификаторам. Хотя могу ошибаться
Не можете. :)
Не хай будет подсистема. Это я застрял между 1ым и 2ым UML.
Название: Re: Использование Пакета на ДВИ
Отправлено: Юрий Булуй от 20 Ноября 2008, 12:29:57
В обещем-то можно и без пакета изобразить требуемое ... достаточно ввести один юзкейс уровня моря "Управление справочниками", перечислить CRUD юзкейсы, которые ассоциированы с ним (тоже на диаграмме) и таким образом решить вопрос. А в случае если управлять справочниками может специальный Actor ... тогда  необходимости в пакете и вовсе нет.
Название: Re: Использование Пакета на ДВИ
Отправлено: bas от 20 Ноября 2008, 14:47:08
В общем пишу в ОМГ :)