Difference between revisions of "Help:UML"

From Wiki4Intranet
Jump to: navigation, search
m (UMLGraph)
(Отмена правки 159897 участника AlexandrZinchenko (обсуждение))
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 17: Line 17:
  
 
<uml>
 
<uml>
title Основной цикл — получение агрегированных проводок
+
title Основной цикл — получение агрегированных проводок
  
 
autonumber "<b>[0]"
 
autonumber "<b>[0]"
Line 92: Line 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 {}
Line 307: Line 307:
 
}
 
}
  
/** @depend — <friend> — SetTopController */
+
/** @depend — <friend> SetTopController */
 
class ChannelIterator {}
 
class ChannelIterator {}
  
Line 478: Line 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{}
  
Line 603: Line 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 {
Line 617: Line 617:
  
 
/**
 
/**
* @has 1 — 1..* Town
+
* @has 1 — 1..* Town
 
* /
 
* /
 
class Country {
 
class Country {
Line 625: Line 625:
  
 
/**
 
/**
* @composed 1 — 1..* PlacesBlock
+
* @composed 1 — 1..* PlacesBlock
 
* /
 
* /
 
class PlaneModel {
 
class PlaneModel {
Line 632: Line 632:
  
 
/**
 
/**
* @assoc * — 1 PlaceType
+
* @assoc * 1 PlaceType
 
* /
 
* /
 
class PlacesBlock {
 
class PlacesBlock {
Line 647: Line 647:
  
 
/**
 
/**
* @assoc * — 1 Company
+
* @assoc * 1 Company
* @assoc * — 1 Race
+
* @assoc * 1 Race
 
* /
 
* /
 
class Tariff {
 
class Tariff {
Line 658: Line 658:
  
 
/**
 
/**
* @assoc * — 1 PlaceType
+
* @assoc * 1 PlaceType
* @assoc * — 1 Race
+
* @assoc * 1 Race
 
* @note Rest
 
* @note Rest
 
* of tickets
 
* of tickets
Line 668: Line 668:
  
 
/**
 
/**
* @assoc * — 1 Town
+
* @assoc * 1 Town
 
* /
 
* /
 
class Aeroport{
 
class Aeroport{
Line 681: Line 681:
 
class CharterRace extends Race {};
 
class CharterRace extends Race {};
  
//Ниже — настройки диаграммы, не трогать и не обращать внимание!
+
//Ниже — настройки диаграммы, не трогать и не обращать внимание!
 
/**
 
/**
 
  * @hidden
 
  * @hidden

Revision as of 18:34, 9 July 2012

Можно автоматически рисовать 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

Еще пример

Ссылки

Категория:Справка


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


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