Previous Entry Share Next Entry
Программирование для моделирования ЧА (1) Разбираемся с UML
исполнитель (пианино)
eugzol wrote in metapractice
Из Оракула: http://metapractice.livejournal.com/368091.html?thread=9616091

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

В этом проходе попытаемся разобраться с UML.


Мы можем на UML расписать:

--технику?
--метамоделирование?
--упражнение?
--м.б. даже модель?

...в конце концов, я утверждал, что модель есть несколько описаний. Примерно шесть.

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

Типы диаграмм



(Картинки и цитаты из книги Фаулера)

Слева направо, сверху вниз:

Диаграмма: Структурная диаграмма и Диаграмма поведения

Структурная диаграмма: Диаграмма классов, Компонентная диаграмма, Композитная диаграмма структуры, Диаграмма развёртывания, Диаграмма объектов, Диаграмма пакетов

Диаграмма поведения: Диаграмма активности, Диаграмма варианта использования, Диаграмма автомата состояний, Диаграмма взаимодействия

Диаграмма взимодействия: Диаграмма последовательности, Диаграмма коммуникации, Обзорная диаграмма взаимодействия, Временнáя диаграмма

Edited at 2013-04-09 03:03 pm (UTC)

Диаграмма классов



A class diagram describes the types of objects in the system and the various kinds of static
relationships that exist among them. Class diagrams also show the properties and operations of a
class and the constraints that apply to the way objects are connected. The UML uses the term
feature as a general term that covers properties and operations of a class.


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

Edited at 2013-04-09 03:03 pm (UTC)

ДИАГРАММА КЛАССОВ


A class diagram describes the types of objects in the system and the various kinds of static relationships that exist among them. Class diagrams also show the properties and operations of a class and the constraints that apply to the way objects are connected. The UML uses the term feature as a general term that covers properties and operations of a class.

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


Как я понимаю, в диаграмме классов мы должны описать:

-- онтологию наличествующих у нас в конкретном кейсе «штуковин»
--расписать через «характеристики» (а) что эти штуковины ПОСТОЯННО ДЕЛАЮТ (б) как эти штуковины ПОСТОЯННО ВЗАИМОДЕЙСТВУЮ МЕЖДУ СОБОЙ.

…так?

(1) Штуковины.

Субъект. Оператор. Состояния субъекта. Экспрессия состояний субъекта. Экспрессия оператора. Интерфейсы состояний субъекта. Интерфейсы экспрессии оператора. Алгоритм якорения. Якоря. Раппорт. Биологическая обратная связь – БОС. Ресурсы/Нересурсы. Сигналы.

(2) Постоянные характеристики.

Субъект – Испытывает состояния. Экспрессирует состояния на интерфейсах состояний.
Оператор – Реализует алгоритм интеграции якорей. Реализует процесс раппорта. Заполняет интерфейсы экспрессии оператора.
Состояния субъекта – четырех типов: ресурсные, нересурсные, нейтральные, иные.
Экспрессия состояний субъекта – четырех типов: ресурсная, нересурсная, нейтральная, иная.
Экспрессия оператора – соответствует шагам алгоритма якорения.
Интерфейсы состояний субъекта – Ресурсные, Нересурсные, Вербальные, Невербальные.
Интерфейсы экспрессии оператора – Вербальные, Невербальные, Алгоритмические якорения, Раппорта, БОС.
Алгоритм якорения – Описание алгоритма, Алгоритм на интерфейсе оператора. Алгоритм на интерфейсе субъекта. БОС-компонента алгоритма. Раппорт-компонента алгоритма.
Якоря – Два якоря, входящие в алгоритм интеграции якорей. Дополнительные якоря (а) раппорта (бос) и т.п.
Раппорт – Вербальный, Невербальный, Сознательный, Подсознательный, Декодерный, Языкоидный, Буквалисткий и т.п.
Биологическая обратная связь – БОС – сигналы БОС. Параметры сигналов БОС.
Ресурсы/Нересурсы – в виде Описаний, в виде Сигналов, в виде Интерфейсов.
Сигналы – Вербальные, Невербальные, Сознательные, Бессознательные, Ресурсные, Нересурсные, Иные и т.п.

(2) Характеристики, связывающие классы.


Диаграмма последовательности



Interaction diagrams describe how groups of objects collaborate in some behavior. The UML
defines several forms of interaction diagram, of which the most common is the sequence diagram.
Typically, a sequence diagram captures the behavior of a single scenario. The diagram shows a
number of example objects and the messages that are passed between these objects within the use
case.


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

Edited at 2013-04-09 03:03 pm (UTC)

Диаграмма объектов



An object diagram is a snapshot of the objects in a system at a point in time. Because it shows
instances rather than classes, an object diagram is often called an instance diagram.


Диаграмма объектов является снимком объектов в системе в заданный момент времени. Поскольку она показывает экземпляры, а не классы, диаграмму объектов часто называют диаграммой экземпляров.

Edited at 2013-04-09 03:03 pm (UTC)

Диаграмма пакетов



A package is a grouping construct that allows you to take any construct in the UML and group its
elements together into higher-level units. Its most common use is to group classes, and that's the
way I'm describing it here, but remember that you can use packages for every other bit of the UML
as well.


Пакет это группирующая конструкция, которая позволяет вам взять любую конструкцию UML и сгруппировать её элементы вместе в элементы более высокого уровня. Его наиболее частое использование — для группировки классов, и именно в таком ключе я описываю его здесь, но помните что вы также можете использовать пакеты для любого другого кусочка UML.



A package diagram shows packages and their dependencies. [...] If you have packages for presentation and domain, you have a dependency
from the presentation package to the domain package if any class in the presentation package has a
dependency to any class in the domain package. In this way, interpackage dependencies summarize
the dependencies between their contents.


Диаграмма пакетов показывает пакеты и их зависимости. [...] Если у вас есть пакеты для представления и для предметной области, у вас есть зависимость от пакета представления к пакету предметной области, если какой бы то ни было класс в пакете представления имеет зависимость к какому бы то ни было классу в пакете предметной области. В таком ключе, взаимозависимость пакетов резюмирует зависимости между их содержимым.

Edited at 2013-04-09 03:04 pm (UTC)

Диаграмма развёртывания



Deployment diagrams show a system's physical layout, revealing which pieces of software run on
what pieces of hardware.


Диаграммы развертывания показывают физическую компоновку системы, раскрывая какие части программного обеспечения исполняются на каких частях аппаратного.

Edited at 2013-04-09 03:04 pm (UTC)

Диаграмма варианта использования



As I said earlier, the UML is silent on the content of a use case but does provide a diagram format
for showing them [...]. Although the diagram is sometimes useful, it isn't mandatory. In
your use case work, don't put too much effort into the diagram. Instead, concentrate on the textual
content of the use cases.


Как я сказал раньше, UML молчит касательно содержания варианта использования, но всё же предлагает формат диаграмм для их представления [...]. Хотя такая диаграмма иногда полезна, она не обязательна. В своей работе над вариантом использования, не вкладывайте слишком много труда в диаграмму. Вместо этого, сконцентрируйтесь на текстовом содержании варианта использования.

Edited at 2013-04-09 03:04 pm (UTC)

Диаграмма автомата состояний



State machine diagrams are a familiar technique to describe the behavior of a system. Various
forms of state diagrams have been around since the 1960s and the earliest object-oriented
techniques adopted them to show behavior. In object-oriented approaches, you draw a state
machine diagram for a single class to show the lifetime behavior of a single object.


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

Диаграмма активности



Activity diagrams are a technique to describe procedural logic, business process, and work flow. In
many ways, they play a role similar to flowcharts, but the principal difference between them and
flowchart notation is that they support parallel behavior.


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

Диаграмма коммуникации



Communication diagrams, a kind of interaction diagram, emphasize the data links between the
various participants in the interaction. Instead of drawing each participant as a lifeline and showing
the sequence of messages by vertical direction as the sequence diagrams does, the communication
diagram allows free placement of participants, allows you to draw links to show how the participants
connect, and use numbering to show the sequence of messages.


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

Композитная диаграмма структуры



One of the most significant new features in UML 2 is the ability to hierarchically decompose a class
into an internal structure. This allows you to take a complex object and break it down into parts.


Одна из наиболее значительных новых возможностей в UML 2 — возможность иерархически раскладывать класс на составляющую его внутреннюю структуру. Это позволяет вам взять сложный объект и разбить его на части.

Диаграмма компонентов



Other than the icon, components don't introduce any notation that we haven't already seen.
Components are connected through implemented and required interfaces, often using the ball-and-
socket notation (page 71) just as for class diagrams. You can also decompose components by using
composite structure diagrams.


Компоненты не вводят никаких новых обозначений к тем, что мы уже видели, кроме как иконку. Компоненты соединяются через реализованные и требуемые интерфейсы, часто используя знак "шарнира" (стр. 71), в точности как диаграммы классов. Вы также можете разложить компоненты на составные части, используя копозитную диаграмму структуры.

Диаграмма сотрудничества



Collaborations have been around since UML 1, but I admit I've hardly used them, even in my
patterns writing. Collaborations do provide a way to group chunks of interaction behavior when roles
are played by different classes. In practice, however, I've not found that they've been a compelling
diagram type.


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

Обзорная диаграмма взаимодействия



Interaction overview diagrams are a grafting together of activity diagrams and sequence diagrams.
You can think of interaction overview diagrams either as activity diagrams in which the activities are
replaced by little sequence diagrams, or as a sequence diagram broken up with activity diagram
notation used to show control flow. Either way, they make a bit of an odd mixture.


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

?

Log in

No account? Create an account