ÀÌ Àå¿¡¼´Â Notation ExtensionÀÌ ¹«¾ùÀÌ¸ç »ç¿ëµÇ´Â ±âº» °³³äµéÀº ¾î¶² °ÍÀÌ ÀÖ´ÂÁö ¼³¸íÇϰí, Notation ExtensionÀ» À§Çؼ »ç¿ëµÇ´Â ¾ð¾îÀÇ ±âº» ±¸¹®¿¡ ´ëÇÑ ¸í¼¼¸¦ °£·«ÇÏ°Ô ¼Ò°³ÇÑ´Ù. ±×¸®°í ¿¹Á¦¸¦ ÅëÇØ¼ »õ·Î¿î Á¾·ùÀÇ ´ÙÀ̾î±×·¥À» Notation ExtensionÀ» ÀÌ¿ëÇÏ¿© ¾î¶»°Ô Ãß°¡ÇÒ ¼ö ÀÖ´ÂÁö ¼³¸íÇÑ´Ù.
Notation ExtensionÀº UML ¸ðµ¨¿¡ ´ëÇÑ Ç¥±â¹ýÀ» »ç¿ëÀÚ°¡ Á÷Á¢ Á¤ÀÇÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Ç¥±â¹ýÀ» À§ÇÑ È®Àå °³³äÀÌ´Ù. StarUMLÀº ÀÌ·¯ÇÑ Notation ExtensionÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â Ç÷§ÆûÀ» Á¦°øÇÑ´Ù. ±×·¯¸é UMLÀÌ Àִµ¥ ÀÌ·¯ÇÑ Notation Extension °³³äÀÌ ¿Ö ÇÊ¿äÇÒ±î?
µû¶ó¼ Ç¥±â´Â ±âÁ¸ ¸ðµ¨¸µ ¿µ¿ªÀÇ Ç¥±â´Â ±×´ë·Î »ç¿ëÇϸ鼵µ, µ¥ÀÌÅͷμÀÇ ¸ðµ¨ Á¤º¸´Â UML ¸ðµ¨·Î Ç¥ÇöÇϵµ·Ï ÇÔÀ¸·Î½á, ´Ù¸¥ ¸ðµ¨¸µ ¿µ¿ª°ú UML ¸ðµ¨¸µ ¿µ¿ª°£ÀÇ »óÈ£ º¸¿Ï, È¿À²¼º ¹× ȣȯ¼ºÀ» »ç¿ëÀÚ¿¡°Ô Á¦°øÇÒ ¼ö ÀÖ´Ù.
Notation Extension LanguageÀÇ ±¸¹®Àº Scheme ¾ð¾î(LISPÀÇ Dialect)¿Í À¯»çÇÑ ÇüÅÂÀÇ ±¸¹®À» °¡Áø´Ù. ±¸¹®ÀÇ ±âº»Àº ½ÄÀ̸ç, Àüü°¡ ÇϳªÀÇ ½ÄÀ¸·Î ±¸¼ºµÈ´Ù. ½ÄÀº °ªÀ̰ųª, ¿¬»ê½ÄÀ¸·Î ±¸¼ºµÈ´Ù. °ªÀº ½Ç¼ö, Á¤¼ö, ½ºÆ®¸µ, ³í¸®°ª, ³Î°ª, ½Äº°ÀÚ¸¦ ¸»ÇÏ¿©, ¿¬»ê½ÄÀº "("·Î ½ÃÀÛÇØ¼ ")"·Î ³¡³´Ù. °ýÈ£ »çÀÌ¿¡´Â ¿¬»êÀÚ¿Í ÀÎÀÚ¸¦ Ç¥ÇöÇÏ´Â ¶Ç ´Ù¸¥ ½ÄÀÌ ¼ø¼´ë·Î ³ªÅ¸³ª´Â ÇüŸ¦ ÃëÇÑ´Ù. ¿¬»êÀÚ³ª ½Äº°ÀÚ´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê´Â´Ù. ±×¸®°í C++°ú ÀÚ¹ÙÀÇ Ä¿¸ÇÆ® ¹æ½ÄÀ» µû¸¥´Ù. ÇÑ ¶óÀο¡ ´ëÇÑ Ä¿¸Çµå´Â "//"¸¦ ÀÌ¿ëÇÏ°í ¿©·¯ ¶óÀο¡ °ÉÄ£ Ä¿¸ÇÆ®´Â "/* */"¸¦ »ç¿ëÇÑ´Ù.
expr ::= flt | int | str | bool | nil | ident | "(" oper (expr)* ")" ;
Notation Extension LanguageÀÇ ½ÃÀÛ ¿¬»ê½ÄÀº notationÀ̶ó´Â ¿¬»êÀÚ·Î ½ÃÀ۵ȴÙ. ±×¸®°í ÀÎÀÚ½ÄÀº onarrange¿Í ondraw¶ó´Â ¿¬»êÀÚ¸¦ °®´Â ½ÄÀ¸·Î ±¸¼ºµÈ´Ù. notationÀº ½ºÅ×·¹¿ÀŸÀÔ Çϳª¿¡ ´ëÀÀÇϴ ǥ±â¹ýÀ» Á¤ÀÇÇÑ´Ù. µû¶ó¼ ½ºÅ×·¹¿ÀŸÀÔÀÌ Àû¿ëµÈ ¸ðµ¨ ¿ä¼Ò°¡ ȸ鿡 º¸¿©Áú ¶§ notation½ÄÀÌ ¼öÇàµÈ´Ù. À̶§ onarrange ½ÄÀÌ ¿ì¼± ½ÇÇàµÇ¾î ȸ鿡 Ç¥±â¹ýÀ» ±×¸®±â Àü¿¡ ¹èÄ¡¿¡ °ü·ÃµÈ ½ÄµéÀ» ¼öÇàÇÑ´Ù. ondraw ½ÄµéÀº ȸ鿡 Á÷Á¢ ±×¸®´Â ½ÄÀ» ¼öÇàÇÑ´Ù.
(notation
(onarrange ...)
(ondraw ...)
)
onarrange¿Í ondraw ¿¬»ê½ÄÀÌ ÀÎÀÚ ½ÄÀ¸·Î °¡Áú¼ö ÀÖ´Â ½ÄÀº Å©°Ô ´ÙÀ½°ú °°ÀÌ 6°¡Áö Á¾·ùÀÌ´Ù.
sequence ½ÄÀº javaÀÇ blockó·³ ÀÎÀÚ·Î ¿À´Â ½ÄµéÀ» ¼ø¼´ë·Î ½ÇÇàÇÑ´Ù. sequence ½ÄÀº ÀÎÀÚ·Î °³¼öÀÇ Á¦ÇѾøÀÌ ¿©·¯°³ÀÇ ¿¬»ê½ÄÀ» °¡Áö´Â ÇüÅ·Π±¸¼ºµÈ´Ù.
(sequence expr1 expr2 ...)
´ÙÀ½ ¿¹Á¦´Â 3°³ÀÇ ¿¬»ê½ÄÀ» ÇϳªÀÇ sequence ½ÄÀ¸·Î ¹´Â °ÍÀ» º¸¿©ÁØ´Ù.
(sequence (+ 10 20) // 10 + 20 (- 20 30 40) // 20 - 30 - 40 (/ 10 20) // 10 / 20 )
if ½ÄÀº Á¶°ÇÀ» ó¸®Çϱâ À§ÇÑ ±¸¹®À» ½ÄÀ¸·Î Ç¥ÇöÇϰí ÀÖ´Ù. ù¹øÂ° ÀÎÀڽĴ Á¶°Ç½ÄÀ̰í, µÎ¹øÂ° ÀÎÀÚ½ÄÀº Á¶°Ç½ÄÀÌ ÂüÀÏ ¶§ ¼öÇàµÇ´Â ½ÄÀ̰í, ¼¼¹øÂ° ÀÎÀÚ½ÄÀº Á¶°Ç½ÄÀÌ °ÅÁþÀÏ ¶§ ¼öÇàµÇ´Â ½ÄÀÌ´Ù. ¼¼¹øÂ° ÀÎÀÚ½ÄÀº »ý·« °¡´ÉÇÏ´Ù. Á¶°Ç½ÄÀÌ °ÅÁþÀÌ°í ¼¼¹øÂ° ½ÄÀÌ »ý·«µÈ °æ¿ì¿¡ if ½Ä³»¿¡¼ ¾Æ¹«·± ¼öÇ൵ ÇÏÁö ¾Ê°í ½ÄÀ» ºüÁ® ³ª¿Â´Ù.
(if condition-expr on-true-expr on-false-expr? )
´ÙÀ½ ¿¹Á¦´Â º¯¼ö iÀÇ °ªÀÌ 0¿¡¼ 30 »çÀÌÀÇ °ªÀ̶ó¸é iÀÇ °ªÀ» Áõ°¡ÇÏ°í ±×·¸Áö ¾ÊÀ¸¸é iÀÇ °ªÀ» °¨¼ÒÇÏ´Â ¿¹Á¦ÀÌ´Ù.
(if (or (<= i 0) (>= i 30)) // if (i <= 0 || i >= 30)
(set count (+ count 1)) // count++;
(set count (- count 1)) // else
) // count--;
for ½ÄÀº ƯÁ¤ º¯¼ö°ªÀ» ÃʱⰪ¿¡¼ Á¾·á°ª±îÁö ¹üÀ§±îÁö Áõ°¡ÇÏ¸é¼ ¹Ýº¹ÀûÀ¸·Î ½ÄÀ» ¼öÇàÇÑ´Ù. ù¹øÂ° ÀÎÀÚ´Â ¹Ýº¹¿¡ »ç¿ëµÉ º¯¼öÀÇ À̸§ÀÌ´Ù. µÎ¹øÂ° ÀÎÀÚ½ÄÀº º¯¼öÀÇ ÃʱⰪÀÌ°í ¼¼¹øÂ° ÀÎÀÚ½ÄÀº º¯¼öÀÇ Á¾·á°ªÀÌ´Ù. ¸¶Áö¸· ÀÎÀÚ½ÄÀº ¹Ýº¹À» ÇÏ¸é¼ ¼öÇàÇÒ ½ÄÀ» ÀǹÌÇÑ´Ù.
(for identifier init-expr end-expr expr)
´ÙÀ½Àº 1¿¡¼ 10±îÁö°ªÀ» ȸ鿡 Ãâ·ÂÇÏ´Â ¿¹Á¦ÀÌ´Ù.
(for i 1 10 // for (int i = 1; i <= 10; i++)
(textout 100 (+ 100 (* i 20)) // textout(100, 100+(i*20), i);
i
)
)
set expressionÀº º¯¼öÀÇ °ªÀ» ÇÒ´çÇÏ´Â ½ÄÀÌ´Ù. º¯¼öÀÇ ¼±¾ðÀº ÇÊ¿ä ¾øÀ¸¸ç »ç¿ëÇÏ´Â ¼ø°£ ¼±¾ðµÇ¸ç, Çѹø ¼±¾ðµÇ¸é Àü¿ª º¯¼ö·Î »ç¿ëµÈ´Ù.
(set identifier value-expr)
´ÙÀ½Àº cÀ̶ó´Â À̸§ÀÇ º¯¼ö¿¡ a¿Í b ½ºÆ®¸µ º¯¼öÀÇ °ªÀ» concatenateÇÏ´Â ¿¹Á¦ÀÌ´Ù.
(set a 'My name is ') // a = "My name is "; (set b 'foo') // b = "foo"; (set c (concat a b)) // c = a + b;
Á¦°øµÇ´Â ¼öÇÐ ¿¬»êÀÚ´Â +, -, *, / À̸ç, ³í¸® ¿¬»êÀÚ´Â and, or, not 3°¡Áö ¿¬»êÀÚ°¡ Á¦°øµÇ¸ç, ºñ±³¸¦ À§Çؼ =, !=, <, <=, >, >= ¿¬»êÀÚ°¡ Á¦°øµÈ´Ù. ´ÙÀ½Àº ÀÌ·¯ÇÑ ¿¬»êÀÚÀÇ ´Ù¾çÇÑ »ç¿ë¿¹Á¦ÀÌ´Ù.
(+ 1 (/ 10 5) (- (* 2 3) 6)) // 1 + (10/5) + (2*3-6) (and (< i 10) (not (= j 20))) // (i < 10) && (!(j == 20))
Notation Extension Language ³»¿¡¼ Á¤ÀÇµÈ Built-in ÇÔ¼ö´Â ´ÙÀ½°ú °°ÀÌ ºÐ·ù µÈ´Ù.
¼öÇÐ Built-in ÇÔ¼öÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö ½Ã±×³ÊÃÄ | ¼³¸í |
|---|---|
| (sin angle) | angle¿¡ ´ëÇÑ sin °ªÀ» ¹ÝȯÇÑ´Ù. |
| (cos angle) | angle¿¡ ´ëÇÑ cos °ªÀ» ¹ÝȯÇÑ´Ù. |
| (tan angle) | angle¿¡ ´ëÇÑ tan °ªÀ» ¹ÝȯÇÑ´Ù. |
| (trunc val) | val¿¡ ´ëÇØ¼ ¼Ò¼öÁ¡ ¹ö¸² °ªÀ» ¹ÝȯÇÑ´Ù. |
| (round val) | val¿¡ ´ëÇØ¼ ¹Ý¿Ã¸²°ªÀ» ¹ÝȯÇÑ´Ù. |
¹®ÀÚ¿ ó¸® Built-in ÇÔ¼öÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö ½Ã±×³ÊÃÄ | ¼³¸í |
|---|---|
| (concat str1 str2...) | ÀÎÀÚ ½ºÆ®¸µµéÀ» ºÙ¿©¼ ¿¬°áµÈ ÇϳªÀÇ ½ºÆ®¸µÀ» ¹ÝȯÇÑ´Ù. |
| (trim str) | str ÀÎÀÚ ½ºÆ®¸µÀÇ ¾ÕµÚ¿¡ Á¸ÀçÇÏ´Â °ø¹é ¹®ÀÚ°¡ Á¦°ÅµÈ ½ºÆ®¸µÀ» ¹ÝȯÇÑ´Ù. |
| (length str) | str ÀÎÀÚ ½ºÆ®¸µÀÇ ±æÀ̸¦ ¹ÝȯÇÑ´Ù. |
| (tokenize str deli) | str ÀÎÀÚ ½ºÆ®¸µÀ¸·Î, deli ÀÎÀÚ¸¦ ±¸ºÐÀÚ·Î, ³ª´©¾îÁø ½ºÆ®¸µÀÇ ¸®½ºÆ®¸¦ ¹ÝȯÇÑ´Ù. |
¸®½ºÆ® ó¸® Built-in ÇÔ¼öÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö ½Ã±×³ÊÃÄ | ¼³¸í |
|---|---|
| (list val1 val2 ...) | ÀÎÀÚµé·Î ±¸¼ºµÈ ¸®½ºÆ®¸¦ ¹ÝȯÇÑ´Ù. |
| (append lst lst) | µÎ °³ÀÇ ¸®½ºÆ®¸¦ ÇÕÇÑ ¸®½ºÆ®¸¦ ¹ÝȯÇÑ´Ù. |
| (append lst item) | |
| (itemat lst index) | index À§Ä¡¿¡ Á¸ÀçÇÏ´Â ¸®½ºÆ®¸¦ ¹ÝȯÇÑ´Ù. |
| (itemcount lst) | lst ¸®½ºÆ®¾È¿¡ Á¸ÀçÇÏ´Â ¾ÆÀÌÅÛ °³¼ö¸¦ ¹ÝȯÇÑ´Ù. |
¸ðµ¨ Á¢±Ù Built-in ÇÔ¼öÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö ½Ã±×³ÊÃÄ | ¼³¸í |
|---|---|
| (mofattr elem attr) | elem ÀÎÀÚ(IElement)ÀÇ attr ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â ¼Ó¼ºÀÇ °ªÀ» ¹ÝȯÇÑ´Ù. |
| (mofsetattr elem attr val) | elem ÀÎÀÚ(IElement)ÀÇ attr ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â ¼Ó¼ºÀ» val°ªÀ» ¼³Á¤ÇÑ´Ù. |
| (mofref elem ref) | elem ÀÎÀÚ(IElement)ÀÇ ref ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â reference¸¦ ¹ÝȯÇÑ´Ù. |
| (mofcolat elem col at) | elem ÀÎÀÚÀÇ col À̸§À¸·Î ÇÏ´Â ¸ðµ¨¸µ ¿ä¼Ò ÂüÁ¶ÀÇ collection¿¡¼ at À§Ä¡¿¡ ÀÖ´Â °´Ã¼ ÂüÁ¶¸¦ ¹ÝȯÇÑ´Ù. |
| (mofcolcount elem col) | elem ÀÎÀÚ(IElement)ÀÇ col ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â collection¿¡ Æ÷ÇÔµÈ ¿ä¼ÒÀÇ °³¼ö¸¦ ¹ÝȯÇÑ´Ù |
| (constraintval elem name) | elem ÀÎÀÚ(IElement)ÀÇ name ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â constraintÀÇ °ªÀ» ¹ÝȯÇÑ´Ù. |
| (tagval elem tagset name) | elem ÀÎÀÚ(IElement)ÀÇ tagset ÀÎÀÚ °ªÀÇ TagDefinitionSetÀÇ name ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â primitive ŸÀÔÀÇ Å±װªÀ» ¹ÝȯÇÑ´Ù. |
| (tagref elem tagset name) | elem ÀÎÀÚ(IElement)ÀÇ tagset ÀÎÀÚ °ªÀÇ TagDefinitionSetÀÇ name ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â reference ŸÀÔÀÇ Å±װªÀ» ¹ÝȯÇÑ´Ù. |
| (tagcolat elem tagset name at) | elem ÀÎÀÚ(IElement)ÀÇ tagset ÀÎÀÚ °ªÀÇ TagDefinitionSetÀÇ name ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â referenceÀÇ collection ŸÀÔÀÏ °æ¿ìÀÇ at À§Ä¡ÀÇ Å±װªÀ» ¹ÝȯÇÑ´Ù. |
| (tagcolcount elem tagset name) | elem ÀÎÀÚ(IElement)ÀÇ tagset ÀÎÀÚ °ªÀÇ TagDefinitionSetÀÇ name ÀÎÀÚ °ªÀ» À̸§À¸·Î ÇÏ´Â referenceÀÇ collection ŸÀÔÀÏ °æ¿ìÀÇ collection¿¡ Æ÷ÇÔµÈ ¿ä¼ÒÀÇ °³¼ö¸¦ ¹ÝȯÇÑ´Ù. |
½ºÅ¸ÀÏ °ü·Ã Built-in ÇÔ¼öÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö ½Ã±×³ÊÃÄ | ¼³¸í | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| (setpencolor color) |
PenÀÇ »ö±òÀ» ÀÎÀÚ color °ªÀ¸·Î º¯°æÇÑ´Ù. »ö±òÀº ´ÙÀ½ °ª Áß Çϳª¸¦ °¡Áú¼ö ÀÖ´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||||||
| (setpenstyle style) |
PenÀÇ styleÀ» º¯°æÇÑ´Ù. psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrameÁßÀÇ ÇϳªÀÇ °ªÀÌ °¡´ÉÇÏ´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||||||
| (setbrushcolor color) | BrushÀÇ »ö±òÀ» ÀÎÀÚ color °ªÀ¸·Î º¯°æÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||
| (setbrushstyle style) |
BrushÀÇ styleÀ» º¯°æÇÑ´Ù. ´ÙÀ½ Áß ÇϳªÀÇ °ªÀÌ °¡´ÉÇÏ´Ù. bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross |
||||||||||||||||||||||||||||||||||||||||||||||||
| (setfontface font) | ÀÎÀÚÀÇ ÆùÆ® À̸§À¸·Î ÆùÆ®¸¦ º¯°æÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||
| (setfontcolor color) | ÆùÆ®ÀÇ »ö±òÀ» ÀÎÀÚ color °ªÀ¸·Î º¯°æÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||
| (setfontsize size) | ÆùÆ®ÀÇ Å©±â¸¦ ÀÎÀÚ °ªÀ¸·Î º¯°æÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||||||
| (setfontstyle style) |
ÆùÆ®ÀÇ ½ºÅ¸ÀÏÀ» ÀÎÀÚÀÇ °ªÀ¸·Î º¯°æÇÑ´Ù. fsBold, fsItalic, fsUnderline, fsStrikeOut °ªÀÇ Á¶ÇÕÀ¸·Î ±¸¼ºµÇ¸ç, µÎ°³ ÀÌ»óÀÇ °ªÀ» ÁöÁ¤ÇÒ °æ¿ì¿¡´Â | ¹®ÀÚ¸¦ »ç¿ëÇØ¼ °ªÀ» Á¶ÇÕÇÑ´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||||||
| (setdefaultstyle) | »ç¿ëÀÚÀÇ Á¶ÀÛ¿¡ ÀÇÇØ¼ º¯°æµÈ Pen, Brush, Font Á¤º¸¸¦ ¿ø·¡ Á¤º¸·Î º¹±¸ÇÑ´Ù. |
ÅØ½ºÆ® Ãâ·Â °ü·Ã Built-in ÇÔ¼öÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö ½Ã±×³ÊÃÄ | ¼³¸í |
|---|---|
| (textheight str) | ÀÎÀÚ ½ºÆ®¸µÀÇ height °ªÀ» ¹ÝȯÇÑ´Ù. |
| (textwidth str) | ÀÎÀÚ ½ºÆ®¸µÀÇ width °ªÀ» ¹ÝȯÇÑ´Ù. |
| (textout x y str) | x, y ÁÂÇ¥¿¡ str ½ºÆ®¸µÀ» Ãâ·ÂÇÑ´Ù. |
| (textbound x1 y1 x2 y2 yspace text clipping) | (x1, y1)Á¡°ú (x2, y2)Á¡ÀÇ ¿µ¿ª¿¡ text¸¦ Ãâ·ÂÇÑ´Ù. yspace´Â ¹®ÀÚÀÇ Çà°£ °ø¹éÀÌ´Ù. clipping°ªÀÌ ÂüÀÏ °æ¿ì¿¡´Â ¿µ¿ª¿¡ Æ÷ÇԵǴ ¹®ÀÚ¸¸ Ãâ·ÂÇÑ´Ù. |
| (textrect x1 y1 x2 y2 x y str) | (x1, y1)Á¡°ú (x2, y2)Á¡ÀÇ ¿µ¿ª¿¡¼ x, y À§Ä¡¿¡ str ½ºÆ®¸µÀ» Ãâ·ÂÇÑ´Ù. |
µµÇü °ü·Ã Built-in ÇÔ¼öÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö ½Ã±×³ÊÃÄ | ¼³¸í | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| (rect x1 y1 x2 y2) | (x1, y1)Á¡°ú (x2, y2)Á¡À» ¿µ¿ªÀÇ ³¡Á¡À¸·Î ÇÏ´Â »ç°¢ÇüÀ» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (filerect x1 y1 x2 y2) | (x1, y1)Á¡°ú (x2, y2)Á¡À» ¿µ¿ªÀÇ ³¡Á¡À¸·Î Çϴ ä¿ò »ç°¢ÇüÀ» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (ellipse x1 y1 x2 y2) | (x1, y1)Á¡°ú (x2, y2)Á¡À» ¿µ¿ªÀÇ ³¡Á¡À¸·Î Çϴ Ÿ¿øÀ» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (roundrect x1 y1 x2 y2 x3 y3) | (x1, y1)Á¡°ú (x2, y2)Á¡À» ¿µ¿ªÀÇ ³¡Á¡À¸·Î ÇÏ´Â ³¡ÀÌ µÕ±Ù »ç°¢ÇüÀ» ±×¸°´Ù. x3, y3 °ªÀº µÕ±Ù ¸ð¼¸® »ç°¢ÇüÀÇ Æø°ú ³ôÀ̸¦ ÀǹÌÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (arc x1 y1 x2 y2 x3 y3 x4 y4) | draws an arc inside an ellipse bounded by the rectangle defined by (X1,Y1) and (X2,Y2). The arc starts at the intersection of the line drawn between the ellipse center ((X1+X2) / 2.0,(Y1+Y2) / 2.0) and the point (X3,Y3) and is drawn counterclockwise until it reaches the intersection of the line drawn between the ellipse center and the point (X4,Y4) | ||||||||||||||||||||||||||||||||||||||||||||
| (pie x1 y1 x2 y2 x3 y3 x4 y4) | draws a pie-shaped wedge on the image. The wedge is defined by the ellipse bounded by the rectangle determined by the points (X1, Y1) and X2, Y2). The section drawn is determined by two lines radiating from the center of the ellipse through the points (X3, Y3) and (X4, Y4) | ||||||||||||||||||||||||||||||||||||||||||||
| (drawbitmap x y img transparent) |
x, y À§Ä¡¿¡ img ÆÄÀϸíÀÇ À̹ÌÁö¸¦ Ãâ·ÂÇÑ´Ù. transparent ¼Ó¼º°ªÀÌ trueÀÌ¸é ¹è°æ»öÀ» Åõ¸íÇÏ°Ô Ãâ·ÂÇÑ´Ù.
transparent ¼Ó¼ºÀº »ý·«µÉ¼ö ÀÖÀ¸¸ç, »ý·«µÉ °æ¿ì¿¡´Â false·Î ¼³Á¤µÈ´Ù. x1, y1, x2, y2 ¹üÀ§¿¡ img ÆÄÀϸíÀÇ À̹ÌÁö¸¦ ´Ã·Á¼ Ãâ·ÂÇÑ´Ù. |
||||||||||||||||||||||||||||||||||||||||||||
| (drawbitmap x1 y1 x2 y2 img transparent) | |||||||||||||||||||||||||||||||||||||||||||||
| (moveto x y) | ¼±À» ±×¸®´Â ÆÒÀ» x y À§Ä¡·Î À̵¿ÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (lineto x y) | ¸¶Áö¸·À¸·Î ÆÒÀÌ À̵¿µÈ À§Ä¡¿¡¼ x y À§Ä¡¸¦ ¿¬°áÇÏ´Â ¼±À» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (line x1 y1 x2 y2) | (x1, y1)Á¡°ú (x2, y2)Á¡À» ¿¬°áÇÏ´Â ¼±À» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (pt x y) | ÀÎÀÚ¸¦ x, y ÁÂÇ¥·Î ÇÏ´Â Æ÷ÀÎÆ® °´Ã¼¸¦ ¹ÝȯÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (polygon (pt x1 y1) (pt x2 y2) ...) | ÀÎÀÚ Æ÷ÀÎÆ® °´Ã¼¸¦ ¿¬°áÇÏ´Â polygonÀ» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (polyline (pt x1 y1) (pt x2 y2) ...) | ÀÎÀÚ Æ÷ÀÎÆ® °´Ã¼¸¦ ¿¬°áÇÏ´Â polylineÀ» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (polybezier (pt x1 y1) (pt x2 y2) ...) | ÀÎÀÚ Æ÷ÀÎÆ® °´Ã¼¸¦ ¿¬°áÇÏ´Â bezier °î¼±À» ±×¸°´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (ptatx index) | ´ë»ó ¸ðµ¨ÀÇ ºä°¡ EdgeÀÏ °æ¿ì¿¡ ´ëÇØ¼¸¸ »ç¿ë °¡´ÉÇÏ´Ù. EdgeÀÇ Á¡µéÁß¿¡ index À§Ä¡ÀÇ x ÁÂÇ¥¸¦ ¹ÝȯÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (ptaty index) | ´ë»ó ¸ðµ¨ÀÇ ºä°¡ EdgeÀÏ °æ¿ì¿¡ ´ëÇØ¼¸¸ »ç¿ë °¡´ÉÇÏ´Ù. EdgeÀÇ Á¡µéÁß¿¡ index À§Ä¡ÀÇ y ÁÂÇ¥¸¦ ¹ÝȯÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (ptcount) | ´ë»ó ¸ðµ¨ÀÇ ºä°¡ EdgeÀÏ °æ¿ì¿¡ ´ëÇØ¼¸¸ »ç¿ë °¡´ÉÇÏ´Ù. EdgeÀÇ Á¡ °³¼ö¸¦ ¹ÝȯÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (drawedge headOrTail endStyle) |
It is available when current view element is edge element. it draws end of edge in argument style. Style is composed of the followings and seperator is "|" character. ´ë»ó ¸ðµ¨ÀÇ ºä°¡ EdgeÀÏ °æ¿ì¿¡ ´ëÇØ¼¸¸ »ç¿ë °¡´ÉÇÏ´Ù. EdgeÀÇ ³¡ ¸ð¾çÀ» endStyle ÇüÅ·Π±×¸°´Ù. endStyleÀÇ °ªÀº ´ÙÀ½ÀÇ Á¶ÇÕÀ¸·Î ±¸¼ºµÇ¸ç, µÎ°³ ÀÌ»óÀÇ °ªÀ» ÁöÁ¤ÇÒ °æ¿ì¿¡´Â | ¹®ÀÚ¸¦ »ç¿ëÇÑ´Ù.
|
||||||||||||||||||||||||||||||||||||||||||||
| (drawobject elem) | ÀÎÀÚ elem(IView)¸¦ StarUML¿¡¼ Á¤ÀÇµÈ ¹æ½ÄÀ¸·Î ȸ鿡 Ãâ·ÂÇÑ´Ù. | ||||||||||||||||||||||||||||||||||||||||||||
| (arrangeobject elem) | ÀÎÀÚ elem(IView)¸¦ StarUML¿¡¼ Á¤ÀÇµÈ ¹æ½ÄÀ¸·Î Àç¹è¿ÇÑ´Ù. |
Notation ExtensionÀ» »ç¿ëÇϱâ À§Çؼ ÁغñÇØ¾ßÇÒ »çÇ×ÀÌ ¸î°¡Áö ÀÖ´Ù. ³ëÅ×À̼ÇÀÌ Àû¿ëµÉ ¿ä¼Ò¸¦ ±â¼úÇÏ´Â ÇÁ·ÎÆÄÀÏÀÌ ÁغñµÇ¾î¾ß ÇÑ´Ù. ±×¸®°í ¾î¶»°Ô Ç¥±â¹ýÀÌ ±×·ÁÁúÁö Á¤ÀÇÇÏ´Â Notation Extension ÆÄÀÏ(.NXT È®ÀåÀÚ)ÀÌ ÇÊ¿äÇÏ´Ù. ÇÁ·ÎÆÄÀÏ¿¡¼ ¾î¶² ½ºÅ×·¹¿À ŸÀÔ°ú ¾î¶² Notation Extension ÆÄÀÏÀÌ ¿¬°áµÇ¾îÁúÁö Á¤º¸¸¦ ±â¼úÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ Notation Extension¿¡¼ »ç¿ëÇÒ ¼Ó¼ºÀ» ÇØ´ç ½ºÅ×·¹¿À ŸÀÔÀÇ Å±װª¿¡ Ãß°¡ÇÑ´Ù. ±×·¯¸é ÀÌ·¯ÇÑ °úÁ¤À» ER-Diagram¿¡ ´ëÇÑ Ç¥±â¹ý È®ÀåÀ» ÅëÇØ¼ °£´ÜÇÏ°Ô ¾Ë¾Æº¸ÀÚ.

¸ÕÀú ER-Diagram¿¡¼ »ç¿ëµÇ´Â ¿ä¼Ò¸¦ »ìÆìº¸¸é Table, Column, RelationshipµîÀÌ ÀÖ´Ù.

ÀÌµé ¿ä¼Ò¿¡ ´ëÇØ¼ °¢°¢ ½ºÅ×·¹¿ÀŸÀÔÀ» ¸¸µé°í UML ¸ðµ¨ÀÇ Class, Attribute, AssociationÀ¸·Î °¢°¢ ¸ÅÇÎÇÏ¿© ½ºÅ×·¹¿ÀŸÀÔ Àû¿ë½Ã µ¿ÀÏÇÑ Àǹ̸¦ Áö´Ò¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ·¯ÇÑ °ü°è¸¦ ÇÁ·ÎÆÄÀÏ·Î ¿Å±â¸é ´ÙÀ½°ú °°´Ù. ÇÁ·ÎÆÄÀÏÀÇ <STEREOTYPELIST>¿¡ tableÀ̶ó´Â ½ºÅ×·¹¿ÀŸÀÔÀ» »õ·Î Ãß°¡Çϰí, ½ºÅ×·¹¿ÀŸÀÔÀÌ Àû¿ëµÉ ¸ðµ¨ÀÌ UMLClass ŸÀÔÀ̶ó´Â °ÍÀ» <BASECLASS>¿¡ ±â¼úÇÑ´Ù. ±×¸®°í tableÀÌ ER Çü½ÄÀÇ Ç¥±â¹ýÀ¸·Î º¸¿©Áöµµ·Ï Notation Extension ÆÄÀϸíÀ» <NOTATION>¿¡ ±â¼úÇÑ´Ù.
column ½ºÅ×·¹¿ÀŸÀÔÀÇ °æ¿ì´Â PK, FK, AK, IKµîÀÎÁö ±¸ºÐµÇ¾îÁ®¾ß ÇϹǷΠÀ̵é Á¤º¸¸¦ ÀúÀåÇϱâ À§Çؼ º°µµÀÇ Å±װªÀÌ ÇÊ¿äÇÏ´Ù. µû¶ó¼ ÀÌ·¯ÇÑ Å±װªÀ» Á¤ÀÇÇϰí Àִ ű׼ ÂüÁ¶¸íÀ» <RELATEDTAGDEFINITIONSET>¿¡ ±â¼úÇÑ´Ù.
<PROFILE version="1.0">
<HEADER>
...
</HEADER>
<BODY>
<STEREOTYPELIST>
<STEREOTYPE>
<NAME>table</NAME>
<BASECLASSES>
<BASECLASS>UMLClass</BASECLASS>
</BASECLASSES>
<NOTATION>table.nxt</NOTATION>
</STEREOTYPE>
<STEREOTYPE>
<NAME>column</NAME>
<BASECLASSES>
<BASECLASS>UMLAttribute</BASECLASS>
<RELATEDTAGDEFINITIONSET>table</RELATEDTAGDEFINITIONSET>
</BASECLASSES>
</STEREOTYPE>
...
</STEREOTYPELIST>
ű׼ÂÀº <TAGDEFINITIONSETLIST>ÀÇ <TAGDEFINITIONSET>¿¡ ±â¼úµÇ¸ç, <TAGDEFINITION>¿¡¼ Ãß°¡µÈ űװªÀÇ À̸§, ŸÀÔ, µðÆúÆ®°ªÀ» ±â¼úÇÑ´Ù. ÇöÀç´Â PK¿Í FKÀÎÁö¸¦ ÆÇº°Çϱâ À§ÇÑ Å±װªÀÌ Ãß°¡µÇ¾î ÀÖ°í, űװªÀÇ Å¸ÀÔÀº BooleanÀÌ´Ù. ±×¸®°í ±âº»°ªÀº false¸¦ °¡Áö¹Ç·Î½á, ¸ðµç columnÀº ±âº»ÀûÀ¸·Î ¾î¶°ÇÑ Å°µµ ºÎ¿©µÇÁö ¾Ê°í »ý¼ºµÈ´Ù.
...
</STEREOTYPELIST>
<TAGDEFINITIONSETLIST>
<TAGDEFINITIONSET>
<NAME>column</NAME>
<BASECLASSES>
<BASECLASS>UMLAttribute</BASECLASS>
</BASECLASSES>
<TAGDEFINITIONLIST>
...
<TAGDEFINITION lock="False">
<NAME>PK</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>false</DEFAULTDATAVALUE>
</TAGDEFINITION>
<TAGDEFINITION lock="False">
<NAME>FK</NAME>
<TAGTYPE>Boolean</TAGTYPE>
<DEFAULTDATAVALUE>false</DEFAULTDATAVALUE>
</TAGDEFINITION>
...
</TAGDEFINITIONLIST>
</TAGDEFINITIONSET>
</TAGDEFINITIONSETLIST>
ÀÌ·¸°Ô Á¤ÀÇµÈ ½ºÅ×·¹¿ÀŸÀÔÀ» º¸¿©Áú ´ÙÀ̾î±×·¥À» ÇüŸ¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù. <DIAGRAMTYPELIST>¿¡¼ »õ·Î¿î ´ÙÀ̾î±×·¥ ER DiagramÀ̶ó´Â ŸÀÔÀ» Á¤ÀÇÇϰí ClassDiagramÀ» ±â¹ÝÀ¸·Î ÇÑ´Ù°í ¸í½ÃÇÑ´Ù. ±×¸®°í ER DiagramÀ» ÀÛ¼ºÇÒ ¶§ º¸¿©Áö´Â ÆÈ·¹Æ®ÀÇ ÂüÁ¶¸íÀ» <AVAILABLEPALLETTE>¿¡ ±â¼úÇÑ´Ù.
<DIAGRAMTYPELIST>
<DIAGRAMTYPE>
<NAME>ER(IE) Diagram</NAME>
<DISPLAYNAME>ER(IE) Diagram</DISPLAYNAME>
<BASEDIAGRAM>ClassDiagram</BASEDIAGRAM>
<ICON>DataModelDiagram.bmp</ICON>
<AVAILABLEPALETTELIST>
<AVAILABLEPALETTE>ERD(IE)</AVAILABLEPALETTE>
</AVAILABLEPALETTELIST>
</DIAGRAMTYPE>
</DIAGRAMTYPELIST>
À§¿¡¼ ÂüÁ¶µÈ ÆÈ·¹Æ® ¸ñ·ÏÀÇ Á¤ÀÇ´Â <PALLETTE>ÀÇ <PALLETTEITEMLIST>¿¡ ±â¼úµÈ´Ù. ±×¸®°í ÆÈ·¹Æ®ÀÇ °¢ ¹öư¿¡ ´ëÇÑ ¼¼ºÎ Á¤º¸¸¦ ±â¼úÇÏ´Â ºÎºÐ¿¡ ´ëÇÑ ÂüÁ¶¸íÀ» <PALLETTEITEM>¿¡ ±â¼úÇϰí, <ELEMENTPROTOTYPE>¿¡¼ ÂüÁ¶µÈ PALLETTEITEM¿¡ ´ëÇÑ Á¤º¸¸¦ ÀÚ¼¼È÷ ±â¼úÇÑ´Ù. <ELEMENTPROTOTYPE>Àº ÆÈ·¹Æ® ¹öưÀÇ ¸íΰú ¹öưÀÇ ¾ÆÀÌÄÜ, »ý¼ºµÉ ¿ä¼ÒÀÇ Å¸ÀÔ µî¿¡ ´ëÇÑ Á¤º¸°¡ ±â¼úµÈ´Ù. ÀÌÁß¿¡¼ »ý¼º½Ã¿¡ ¿ä¼Ò°¡ NOTATION EXTENSIONÀÇ Àû¿ëÀ» ¹Þµµ·Ï Çϱâ À§Çؼ <SHOWEXTENSION>ÀÇ °ªÀ» true·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù.
<PALETTELIST>
<PALETTE>
<NAME>ERD(IE)</NAME>
<DISPLAYNAME>ERD(IE) Diagram</DISPLAYNAME>
<PALETTEITEMLIST>
<PALETTEITEM>Table</PALETTEITEM>
<PALETTEITEM>identifying</PALETTEITEM>
<PALETTEITEM>non-identifying</PALETTEITEM>
</PALETTEITEMLIST>
</PALETTE>
</PALETTELIST>
<ELEMENTPROTOTYPELIST>
<ELEMENTPROTOTYPE>
<NAME>Table</NAME>
<DISPLAYNAME>Table</DISPLAYNAME>
<ICON>Table.bmp</ICON>
<DRAGTYPE>Rect</DRAGTYPE>
<BASEELEMENT>Class</BASEELEMENT>
<STEREOTYPENAME>table</STEREOTYPENAME>
<SHOWEXTENDEDNOTATION>True</SHOWEXTENDEDNOTATION>
</ELEMENTPROTOTYPE>
...
<ELEMENTPROTOTYPELIST>
...
ÇÁ·ÎÆÄÀÏ Á¤ÀǸ¸À¸·Îµµ Data ModelingÀº °¡´ÉÇÏÁö¸¸ ER ¸ðµ¨¸µ Ç¥±â¹ýÀ¸·Î º¸¿©Áö±â À§Çؼ´Â ½ºÅ×·¹¿ÀŸÀÔ Á¤ÀÇ ºÎºÐÀÇ <NOTATION>¿¡¼ ±â¼úµÈ Notation Extension ÆÄÀÏ(.nxt)À» ÀÛ¼ºÇØ¾ß µÈ´Ù.
´ÙÀ½Àº table ½ºÅ×·¹¿ÀŸÀÔ¿¡ ´ëÇÑ Ç¥±â¹ý Ãâ·ÂÇÏ´Â table.nxt ÆÄÀÏÀÌ´Ù. notation½ÄÀº onarrange¿¡¼ drawingÇϱâ Àü¿¡ ÇÊ¿äÇÑ »óÅÂÀÇ ¼³Á¤µéÀ» ¼öÇàÇÑ´Ù. ondraw¿¡¼´Â Å×À̺íÀÇ À̸§ ºÎºÐ, PK Ä÷³ ºÎºÐ, ±×¿ÜÀÇ Ä÷³ ºÎºÐÀ» º¸¿©Áö´Â ºÎºÐÀ¸·Î ±¸¼ºµÈ´Ù.
(notation
(onarrange ...)
(ondraw
// draw name part ...
// draw PK column part ...
// draw other column part ...
)
)
Å×À̺í À̸§À» º¸¿©ÁÖ´Â ºÎºÐ¿¡¼´Â Å×À̺íÀ» ±×¸®´Âµ¥ ÇÊ¿äÇÑ º¯¼ö°ªÀ» ¼³Á¤ÇÏ°í ¸ðµ¨·ÎºÎÅÍ Name ¼Ó¼º°ªÀ» °¡Á®¿Í¼ x, y À§Ä¡¿¡ Ãâ·ÂÇÑ´Ù.
(set x left) (set y top) ... (set name (mofattr model 'Name')) (textout x y name) ...
¿©±â¼ left, top º¯¼ö´Â Notation ExtensionÀÌ ¼öÇàµÉ ¶§¸¶´Ù ¸Å¹ø StarUML Ç÷§ÆûÀ¸·ÎºÎÅÍ ³Ñ°Ü¹Þ°í, Notation Extension Á¾·áÈÄ¿¡ ´Ù½Ã °ªÀ» StarUML Ç÷§Æû¿¡ ¼³Á¤ÇÑ´Ù. ÀÌ·¯ÇÑ º¯¼ö¿¡´Â ´ÙÀ½°ú °°´Ù. ³Ñ°ÜView ¿ä¼Ò·ÎºÎÅÍ ¹Þ¾Æ¿À´Â º¯¼öÀÌ´Ù. ÀÌ¿Í °°ÀÌ À̰ÍÀ̿ܿ¡µµ view¿Í model º¯¼ö´Â ÇöÀç ¼±ÅÃµÈ View¿ä¼Ò¿Í Model¿ä¼Ò¿¡ ´ëÇÑ °´Ã¼ÀÌ´Ù.
| º¯¼ö¸í | Àû¿ë ºä ¿ä¼Ò | Ç÷§ÆûÀ¸·Î ¹Ýȯ ¿©ºÎ | ¼³¸í |
|---|---|---|---|
| view | Node,Edge | not return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â View ¿ä¼Ò |
| model | Node,Edge | not return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Model ¿ä¼Ò |
| left | Node | return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ Left °ª |
| top | Node | return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ Top °ª |
| right | Node | return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ Right °ª |
| bottom | Node | return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ Bottom °ª |
| width | Node | return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ Width °ª |
| height | Node | return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ Height °ª |
| minwidth | Node | not return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ MinWidth °ª |
| minheight | Node | not return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Node View ¿ä¼ÒÀÇ MinHeight °ª |
| points | Edge | not return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Edge View ¿ä¼ÒÀÇ point ÁýÇÕ °´Ã¼ |
| head | Edge | not return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Edge View ¿ä¼ÒÀÇ Head·Î ÂüÁ¶ÇÏ´Â View ¿ä¼Ò |
| tail | Edge | not return | ÇöÀç Ç¥±â ´ë»óÀÌ µÇ´Â Edge View ¿ä¼ÒÀÇ Tail·Î ÂüÁ¶ÇÏ´Â View ¿ä¼Ò |
´ÙÀ½Àº ÇöÀç Å×À̺íÀÌ ´Ù¸¥ Å×ÀÌºí¿¡ ´ëÇØ¼ Á¾¼ÓÀûÀÎ °ü°è¸¦ °¡Áö°í ÀÖ´ÂÁö °Ë»çÇÑ´Ù. À̸¦ À§Çؼ ÇöÀç Å×À̺í(Ŭ·¡½º)ÀÇ ¿¬°üÀ» ¹Ýº¹ÇÏ¸é¼ ¿¬°üÀÇ ¸Ó¸®ÂÊ¿¡ Å×À̺íÀÌ ¿¬°áµÇ¾î ÀÖ´Ù¸é Å×À̺íÀÌ Á¾¼ÓÀûÀ̶ó°í ÆÇ´ÜÇÑ´Ù. ÀÌ·¯ÇÑ ÆÇ´ÜÁ¤º¸¸¦ ÀÌ¿ëÇÏ¿© Á¾¼ÓÀûÀÎ Å×À̺íÀº µÕ±Ù ¸ð¼¸®ÀÇ »ç°¢ÇüÀ¸·Î Å׵θ® »ç°¢ÇüÀ» ±×¸®°í, Á¾¼ÓÀûÀÌÁö ¾ÊÀº Å×À̺íÀÏ °æ¿ì¿¡´Â ÀÏ¹Ý »ç°¢ÇüÀ¸·Î Å׵θ®¸¦ ±×¸°´Ù.
(set isSuperType true)
(set c (mofcolcount model 'Associations'))
(for i 0 (- c 1)
(sequence
(set assocEnd (mofcolat model 'Associations' i))
(if (= assocEnd (mofcolat (mofref assocEnd 'Association') 'Connections' 1))
(set isSuperType false)
nil)))
...
// outline
(setdefaultstyle)
(if isSuperType
(rect x y right bottom)
(roundrect x y right bottom 10 10))
Ä÷³ÀÇ ³»¿ëÀ» Ãâ·ÂÇÒ ¶§´Â Å×ÀÌºí¿¡ Æ÷ÇÔµÈ ¸ðµç Ä÷³(attribute)À» ¹Ýº¹ÇÏ¸é¼ PK űװªÀÌ trueÀÎ ¿ä¼Òµé¿¡ ´ëÇØ¼ ´Ù¸¥ Ä÷³º¸´Ù »óÀ§¿¡ ±×·ÁÁö°í, PK Ä÷³ Ç¥½ÃÀÇ À̹ÌÁö¸¦ ÁÂÃø¿¡ Ç¥½ÃÇϰí Ä÷³ À̸§À» ȸ鿡 Ãâ·ÂÇÑ´Ù.
...
(for i 0 (- (mofColCount model 'Attributes') 1)
(sequence
// select i-th column
(set attr (mofColAt model 'Attributes' i))
...
// column is PK?
(if (tagVal attr 'ERD' 'column' 'PK')
(sequence
...
(set attrName (mofAttr attr 'Name'))
...
(drawbitmap x y 'primarykey.bmp' true)
(textout (+ x 16) y attrName)
(setdefaultstyle)
... ))))
...
(line left y right y)
´Ù½Ã Çѹø Ä÷³À» ¹Ýº¹ÇÏ¸é¼ PK űװªÀÌ falseÀÎ ¿ä¼Òµé¸¸À» ã¾Æ¼ Ä÷³ À̹ÌÁö¿Í Ä÷³ÀÇ À̸§À» ȸ鿡 Ãâ·ÂÇÑ´Ù.
...
(for i 0 (- (mofColCount model 'Attributes') 1)
(sequence
// select i-th column
(set attr (mofColAt model 'Attributes' i))
(set keys '')
...
// column is not PK?
(if (= (tagVal attr 'ERD' 'column' 'PK') false)
(sequence
...
(set attrName (mofAttr attr 'Name'))
...
// draw column
(drawbitmap x y 'column.bmp' true))
(textout (+ x 16) y attrName)
(setdefaultstyle)
... ))))
ÀÛ¼ºµÈ Notation Extension ÆÄÀÏÀ» ÇÁ·ÎÆÄÀÏ¿¡¼ ±â¼úµÈ °æ·Î¿¡ Á¸ÀçÇØ¾ß ÇÑ´Ù. table ½ºÅ×·¹¿ÀŸÀÔÀÇ ¿¹¿¡¼´Â º°µµÀÇ °æ·Î°¡ ¸í½ÃµÇÁö ¾Ê°í ÆÄÀÏ¸í¸¸ ¸í½ÃµÇ¾úÀ¸¹Ç·Î, ÇÁ·ÎÆÄÀϰú Noation Extension ÆÄÀÏÀº µ¿ÀÏÇÑ Æú´õ¿¡ À§Ä¡½Ã۵µ·Ï ÇÑ´Ù.
¸ðµç ÀÛ¼ºÀÌ ¿Ï·áµÇ¾úÀ¸¸é ¼³Ä¡¸¦ À§Çؼ´Â ´ÙÀ½ÀÇ °úÁ¤À» ¼öÇàÇÑ´Ù.

¡¡
¼³Ä¡µÈ ÇÁ·ÎÆÄÀϰú Notation Extension ±â´ÉÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.




¹öưÀ» Ŭ¸¯ÇÏ¿© [Tagged Value Editor]ÀÇ [ERD] ÅÇÀÇ Å±װªµéÀ» ÀÌ¿ëÇÏ¿©
¼³Á¤ÇÑ´Ù.
