Difference between revisions of "Help:UML"

From Wiki4Intranet
Jump to: navigation, search
m (UMLGraph)
(Массовая правка: замена PCRE \n{3,}<noinclude>\[\[Category:Справка\]\]</noinclude> на <noinclude>Category:Справка</noinclude>)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 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>
Line 15: Line 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]"
Line 56: Line 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] =
Line 92: Line 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 {}
Line 307: Line 350:
 
}
 
}
  
/** @depend — <friend> — SetTopController */
+
/** @depend — <friend> SetTopController */
 
class ChannelIterator {}
 
class ChannelIterator {}
  
Line 478: Line 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{}
  
Line 603: Line 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 {
Line 617: Line 660:
  
 
/**
 
/**
* @has 1 — 1..* Town
+
* @has 1 — 1..* Town
 
* /
 
* /
 
class Country {
 
class Country {
Line 625: Line 668:
  
 
/**
 
/**
* @composed 1 — 1..* PlacesBlock
+
* @composed 1 — 1..* PlacesBlock
 
* /
 
* /
 
class PlaneModel {
 
class PlaneModel {
Line 632: Line 675:
  
 
/**
 
/**
* @assoc * — 1 PlaceType
+
* @assoc * 1 PlaceType
 
* /
 
* /
 
class PlacesBlock {
 
class PlacesBlock {
Line 647: Line 690:
  
 
/**
 
/**
* @assoc * — 1 Company
+
* @assoc * 1 Company
* @assoc * — 1 Race
+
* @assoc * 1 Race
 
* /
 
* /
 
class Tariff {
 
class Tariff {
Line 658: Line 701:
  
 
/**
 
/**
* @assoc * — 1 PlaceType
+
* @assoc * 1 PlaceType
* @assoc * — 1 Race
+
* @assoc * 1 Race
 
* @note Rest
 
* @note Rest
 
* of tickets
 
* of tickets
Line 668: Line 711:
  
 
/**
 
/**
* @assoc * — 1 Town
+
* @assoc * 1 Town
 
* /
 
* /
 
class Aeroport{
 
class Aeroport{
Line 681: Line 724:
 
class CharterRace extends Race {};
 
class CharterRace extends Race {};
  
//Ниже — настройки диаграммы, не трогать и не обращать внимание!
+
//Ниже — настройки диаграммы, не трогать и не обращать внимание!
 
/**
 
/**
 
  * @hidden
 
  * @hidden
Line 707: Line 750:
 
* http://umlgraph.org Automated Drawing of UML Diagrams
 
* http://umlgraph.org Automated Drawing of UML Diagrams
  
[[Категория:Справка]]
+
<noinclude>[[Category:Справка]]</noinclude>
{{replicate-from-custiswiki-to-lib}}
+
{{replicate-from-custiswiki-to-4intranet}}
+

Latest revision as of 14:56, 1 September 2015

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

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

PlantUML

Полная справка по языку — Media:PlantUML Language Reference Guide.pdf. thumb|Справка по 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

Еще пример

Ссылки