|
|
Строка 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> |
Строка 17: |
Строка 17: |
| | | |
| <uml> | | <uml> |
− | title Основной цикл — получение агрегированных проводок | + | title Основной цикл — получение агрегированных проводок |
| | | |
| autonumber "<b>[0]" | | autonumber "<b>[0]" |
Строка 92: |
Строка 92: |
| | | |
| /** | | /** |
− | * @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: |
Строка 307: |
| } | | } |
| | | |
− | /** @depend — <friend> — SetTopController */ | + | /** @depend — <friend> — SetTopController */ |
| class ChannelIterator {} | | class ChannelIterator {} |
| | | |
Строка 478: |
Строка 478: |
| 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: |
Строка 603: |
| <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: |
Строка 617: |
| | | |
| /** | | /** |
− | * @has 1 — 1..* Town | + | * @has 1 — 1..* Town |
| * / | | * / |
| class Country { | | class Country { |
Строка 625: |
Строка 625: |
| | | |
| /** | | /** |
− | * @composed 1 — 1..* PlacesBlock | + | * @composed 1 — 1..* PlacesBlock |
| * / | | * / |
| class PlaneModel { | | class PlaneModel { |
Строка 632: |
Строка 632: |
| | | |
| /** | | /** |
− | * @assoc * — 1 PlaceType | + | * @assoc * — 1 PlaceType |
| * / | | * / |
| class PlacesBlock { | | class PlacesBlock { |
Строка 647: |
Строка 647: |
| | | |
| /** | | /** |
− | * @assoc * — 1 Company | + | * @assoc * — 1 Company |
− | * @assoc * — 1 Race | + | * @assoc * — 1 Race |
| * / | | * / |
| class Tariff { | | class Tariff { |
Строка 658: |
Строка 658: |
| | | |
| /** | | /** |
− | * @assoc * — 1 PlaceType | + | * @assoc * — 1 PlaceType |
− | * @assoc * — 1 Race | + | * @assoc * — 1 Race |
| * @note Rest | | * @note Rest |
| * of tickets | | * of tickets |
Строка 668: |
Строка 668: |
| | | |
| /** | | /** |
− | * @assoc * — 1 Town | + | * @assoc * — 1 Town |
| * / | | * / |
| class Aeroport{ | | class Aeroport{ |
Строка 681: |
Строка 681: |
| class CharterRace extends Race {}; | | class CharterRace extends Race {}; |
| | | |
− | //Ниже — настройки диаграммы, не трогать и не обращать внимание! | + | //Ниже — настройки диаграммы, не трогать и не обращать внимание! |
| /** | | /** |
| * @hidden | | * @hidden |
Версия 18:34, 9 июля 2012
Можно автоматически рисовать UML-диаграммы классов по их текстовому описанию, причём с помощью двух расширений:
- PlantUML — более удобный, чем UMLGraph, по собственному языку разметки.
- UMLGraph — по близкому к описанию классов на языках типа Java/С#.
Полная справка по языку —
Media:PlantUML Language Reference Guide.pdf.
Синтаксис вставки — просто
<uml>
...код...
</uml>
Пример графа:
Диаграммы классов
/**
* @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
Еще пример
Ссылки