Персональные инструменты
 

Справка:UML — различия между версиями

Материал из CustisWiki

Перейти к: навигация, поиск
(PlantUML)
 
(не показаны 2 промежуточные версии 2 участников)
Строка 1: Строка 1:
 
Можно автоматически рисовать UML-диаграммы классов по их текстовому описанию, причём с помощью двух расширений:
 
Можно автоматически рисовать UML-диаграммы классов по их текстовому описанию, причём с помощью двух расширений:
* [http://plantuml.sourceforge.net/ PlantUML] — более удобный, чем UMLGraph, по собственному языку разметки.
+
* [http://plantuml.sourceforge.net/ PlantUML] более удобный, чем UMLGraph, по собственному языку разметки.
* [http://www.umlgraph.org/ UMLGraph] — по близкому к описанию классов на языках типа Java/С#.
+
* [http://www.umlgraph.org/ UMLGraph] по близкому к описанию классов на языках типа Java/С#.
  
 
= [http://plantuml.sourceforge.net/ PlantUML] =
 
= [http://plantuml.sourceforge.net/ PlantUML] =
  
Полная справка по языку — [[Media:PlantUML Language Reference Guide.pdf]]. [[Файл:PlantUML Language Reference Guide.pdf|thumb|Справка по PlantUML]]
+
Полная справка по языку — [[Media:PlantUML Language Reference Guide.pdf]]. [[Файл:PlantUML Language Reference Guide.pdf|thumb|Справка по PlantUML]]
  
Синтаксис вставки — просто
+
Синтаксис вставки — просто
 
<pre>
 
<pre>
 
<uml>
 
<uml>
Строка 15: Строка 15:
  
 
Пример графа:
 
Пример графа:
 +
{{Annotated|
 +
<uml>
 +
title Основной цикл — получение агрегированных проводок
  
 +
autonumber "<b>[0]"
 +
 +
note left of МСФО: 1.1
 +
activate МСФО
 +
МСФО -> Система: Запрос справочников
 +
deactivate МСФО
 +
 +
note right of Система: 2.1
 +
activate Система
 +
Система -> МСФО: Возврат справочников
 +
deactivate Система
 +
note left of МСФО: 1.2
 +
 +
activate МСФО
 +
МСФО -> Система: Запрос используемых аналитик
 +
deactivate МСФО
 +
note right of Система: 2.2
 +
activate Система
 +
Система -> МСФО: Возврат используемых аналитик
 +
deactivate Система
 +
note left of МСФО: 1.3
 +
 +
activate МСФО
 +
МСФО -> Система: Запрос выгрузки/выгрузок
 +
deactivate МСФО
 +
note right of Система: 2.3
 +
activate Система
 +
Система -> МСФО: Возврат выгрузки/выгрузок
 +
deactivate Система
 +
note left of МСФО: 1.4
 +
 +
activate МСФО
 +
МСФО -> Система: Результат выгрузки/выгрузок
 +
deactivate МСФО
 +
activate Система
 +
note right of Система: 2.4
 +
</uml>
 +
|<code-xml>
 
<uml>
 
<uml>
title Основной цикл — получение агрегированных проводок
+
title Основной цикл — получение агрегированных проводок
  
 
autonumber "<b>[0]"
 
autonumber "<b>[0]"
Строка 56: Строка 97:
 
note right of Система: 2.4
 
note right of Система: 2.4
 
</uml>
 
</uml>
 +
</code-xml>
 +
|Разметка}}
  
 
= [http://www.umlgraph.org/ UMLGraph] =
 
= [http://www.umlgraph.org/ UMLGraph] =
Строка 76: Строка 119:
 
/**
 
/**
 
* @opt nodefontcolor «blue»
 
* @opt nodefontcolor «blue»
* /
+
*/
 
class Person {
 
class Person {
 
         String    Name;
 
         String    Name;
Строка 92: Строка 135:
  
 
/**
 
/**
* @composed 1 — 4 Tyre
+
* @composed 1 — 4 Tyre
* @composed 1 — 1 Engine
+
* @composed 1 — 1 Engine
* @composed 1 — 1 Body
+
* @composed 1 — 1 Body
* /
+
*/
 
class Car {}
 
class Car {}
  
Строка 307: Строка 350:
 
}
 
}
  
/** @depend — <friend> — SetTopController */
+
/** @depend — <friend> SetTopController */
 
class ChannelIterator {}
 
class ChannelIterator {}
  
Строка 478: Строка 521:
 
class UMLOptions {}
 
class UMLOptions {}
  
/** @assoc * — "*\n\n+user " User */
+
/** @assoc * "*\n\n+user " User */
 
class UserGroup {}
 
class UserGroup {}
  
/** @navassoc «1\n\n+owner\r» — «*\n\n+key» Password */
+
/** @navassoc «1\n\n+owner\r» — «*\n\n+key» Password */
 
class User{}
 
class User{}
  
Строка 603: Строка 646:
 
<umlgraph>
 
<umlgraph>
 
/**
 
/**
* @assoc * — 1 Aeroport
+
* @assoc * 1 Aeroport
* @assoc * — 1 Aeroport
+
* @assoc * 1 Aeroport
* @assoc * — 1 PlaneModel
+
* @assoc * 1 PlaneModel
* @assoc * — 1 Company
+
* @assoc * 1 Company
 
* /
 
* /
 
class Race {
 
class Race {
Строка 617: Строка 660:
  
 
/**
 
/**
* @has 1 — 1..* Town
+
* @has 1 — 1..* Town
 
* /
 
* /
 
class Country {
 
class Country {
Строка 625: Строка 668:
  
 
/**
 
/**
* @composed 1 — 1..* PlacesBlock
+
* @composed 1 — 1..* PlacesBlock
 
* /
 
* /
 
class PlaneModel {
 
class PlaneModel {
Строка 632: Строка 675:
  
 
/**
 
/**
* @assoc * — 1 PlaceType
+
* @assoc * 1 PlaceType
 
* /
 
* /
 
class PlacesBlock {
 
class PlacesBlock {
Строка 647: Строка 690:
  
 
/**
 
/**
* @assoc * — 1 Company
+
* @assoc * 1 Company
* @assoc * — 1 Race
+
* @assoc * 1 Race
 
* /
 
* /
 
class Tariff {
 
class Tariff {
Строка 658: Строка 701:
  
 
/**
 
/**
* @assoc * — 1 PlaceType
+
* @assoc * 1 PlaceType
* @assoc * — 1 Race
+
* @assoc * 1 Race
 
* @note Rest
 
* @note Rest
 
* of tickets
 
* of tickets
Строка 668: Строка 711:
  
 
/**
 
/**
* @assoc * — 1 Town
+
* @assoc * 1 Town
 
* /
 
* /
 
class Aeroport{
 
class Aeroport{
Строка 681: Строка 724:
 
class CharterRace extends Race {};
 
class CharterRace extends Race {};
  
//Ниже — настройки диаграммы, не трогать и не обращать внимание!
+
//Ниже — настройки диаграммы, не трогать и не обращать внимание!
 
/**
 
/**
 
  * @hidden
 
  * @hidden

Текущая версия на 18:00, 19 февраля 2013

Можно автоматически рисовать UML-диаграммы классов по их текстовому описанию, причём с помощью двух расширений:

  • PlantUML — более удобный, чем UMLGraph, по собственному языку разметки.
  • UMLGraph — по близкому к описанию классов на языках типа Java/С#.

PlantUML

Полная справка по языку — Media:PlantUML Language Reference Guide.pdf.
Справка по PlantUML

Синтаксис вставки — просто

<uml>
 ...код...
</uml>

Пример графа:

UMLGraph

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

/**
* @opt nodefontcolor "blue"  
*/
class Person {
        String Name;
}
 
class Employee extends Person {}
 
class Client extends Person {}

 
class Tyre {}
class Engine {}
class Body {}
 
/**
* @composed 1 - 4 Tyre
* @composed 1 - 1 Engine
* @composed 1 - 1 Body
*/
class Car {}
 
/**
 * @opt shape node
 * @note Located in the
 * machine room
 * @note Sun Blade 6048
 * @depend - - - MapLocation
 * @depend - - - DataMine
 */
class Server{}
 
/** @opt shape component */
class MapLocation {}
 
/** @opt shape component */
class DataMine {}
 
/**
 * CPU-munching
 * components that must
 * run on this server
 * @opt shape note
 * @opt commentname
 * @assoc - - - MapLocation
 * @assoc - - - DataMine
 */
class munchComment {}

Большой пример

Generalisation Relationships

Advanced Relationships

Relationships Inference

Schema

Element Visibility

Association Types

Real Example (Catalina Classes)

Class Stereotypes and Tagged Values

Fonts, Colors, Global and Local Options

Еще пример

Ссылки


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


Статья реплицируется в Wiki4IntraNet.