12.1 UMLÀÛ¼ºÀÚ : ÁøÀº¿µ ( 2004-08-18 )
¸ñÂ÷
ÀÌ °Á¿¡¼ Ç¥ÇöÇÏ´Â UMLÀÇ ±íÀÌ´Â ÀÚ¹Ù ±âº»À» Ç¥ÇöÇϱâ À§ÇÑ ¹æÆíÀ¸·Î °£´ÜÇÏ°Ô ¼³¸íÇÏ·Á ÇÑ´Ù. 12.1.1 UML À̶õÇÁ·Î±×·¥À» ¸¸µå´Â »ç¶÷Àº ÇÁ·Î±×·¥ÀÇ ³»ºÎ ±¸Á¶¸¦ ´Ü¼øÇÑ ±Û·Î ÀÌÇØÇÏ´Â °Íº¸´Ù ºñÁÖ¾óÇÏ°Ô ÀÌÇØÇÏ´Â °ÍÀÌ ´õ ½±´Ù.¿¹¸¦ µé¾î ±×¸²À» ±×¸®´Â »ç¶÷¿¡°Ô "´«½çÀº £°í, ÄÚ´Â ³ô°í, ¼ºÁúÀÌ ´õ·¯¿î »ç¶÷À» ±×·ÁÁÖ¼¼¿ä" ¶ó°í ¸»·Î¸¸ ºÎŹÇϱ⠺¸´Ù´Â »çÁøÀ» º¸¿©ÁÖ¸ç, "ÀÌ·¸°Ô ±×·ÁÁÖ¼¼¿ä" ¶ó°í ¸»ÇÏ´Â °ÍÀÌ ±×¸®´Â »ç¶÷ÀÌ ÈξÀ Àß ±×¸± ¼ö ÀÖ´Ù. ¿©±â¿¡¼ ±×¸²À» ±×¸®´Ù¿Í ´ë»óÀÌ µÇ´Â »ç¶÷ÀÇ ¿ë¾î¸¦ ¾Æ·¡¿Í °°ÀÌ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
±×¸²À» ±×¸®´Ù. : ±¸Çö(implement)
±×¸²ÀÇ ´ë»óÀÌ µÇ´Â »ç¶÷ : ¸ðµ¨(Model) ¸¶Âù°¡Áö·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§, Áï ±¸ÇöÇÒ ¶§ ÇÁ·Î±×·¥ÀÇ ¸ñÀûÀÌ µÇ´Â ÀÛ¾÷ »êÃâÀ» Model À̶ó ÇÑ´Ù.
UML : ÇÁ·Î±×·¥ÀÇ "¸ðµ¨"À» ¸¸µé ¶§ »ç¿ëÇÏ´Â ºñÁÖ¾óÇÑ ¾ð¾î
ÄÚµùÇϱâ Àü¿¡ ±¸ÇöÇÒ ÇÁ·Î±×·¥ÀÇ ¸ðµ¨ÀÌ ½ÅÁßÇÏ°í dzºÎÇÏ°Ô ¸¸µé¾îÁ® ÀÖÀ¸¸é ÇÁ·Î±×·¡¸Ó´Â ±×°ÍÀ» ±×´ë·Î µû¶ó¼ ÄÚµùÇÏ¸é µÇ±â ¶§¹®¿¡, ÇÁ·Î±×·¥À» ´õ ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Ù. 12.1.2 Ŭ·¡½º Çü½Ä°´Ã¼¸¦ »ý¼ºÇØÁִ Ŭ·¡½º³ª ¹®Á¦ ¿µ¿ªÀÇ °³³äÀûÀÎ ´ÜÀ§¸¦ Ç¥ÇöÇÏ´Â UML Ç¥±â´Â »ç°¢Çü µµÇüÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. Ŭ·¡½ºÀÇ ¼Ó¼º°ú ¸Þ¼Òµå´Â ºÙÀÌÁö ¾Ê¾Æµµ »ó°ü ¾øÁö¸¸ Ŭ·¡½ºÀÇ À̸§Àº ¹Ýµå½Ã Æ÷ÇÔÇØ¾ß ÇÑ´Ù.¨ç ¼Ó¼º
[+/-/#] ¼Ó¼ºÀ̸§ [:ŸÀÔ] [=ÃʱⰪ]
¨è ¸Þ¼Òµå
[+/-/#] ¸Þ¼Òµå À̸§ ([ÆĶó¸ÞÅÍÀ̸§ : ŸÀÔ]) : ¹Ýȯ°ª ŸÀÔ
À§¿Í °°ÀÌ ÀÛ¼ºÇÑ ´ÙÀ̾î±×·¥Àº ¾Æ·¡¿Í °°ÀÌ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. class Order{ private Date data; private boolean flag; public Order(){} public void cancel(){} public void getDate(Date d){} } ±×¸²¸¸ Àß ±¸ÇöÇÑ´Ù¸é ÇÁ·Î±×·¥À¸·Î ÄÚµùÇÏ´Â °ÍÀº ¾ÆÁÖ ½¬¿ï °ÍÀÌ´Ù. 12.1.3 °ü°è Ç¥Çö¼·Î ÀÇ¹Ì Àִ Ŭ·¡½ºµéÀÇ °ü°è(relationship)´Â Å©°Ô 4°¡Áö Á¾·ù°¡ ÀÖ´Ù.
¿ä±¸ »çÇ×À̳ª Çö½Ç¿¡¼ ´ë»óµéÀÇ ³í¸®ÀûÀÎ ¿¬°áÀ» Æ÷ÂøÇϱâ À§ÇÑ °³³äÀÌ´Ù. ¿¬°üÀº µÎ °³(ÀÌ»ó)ÀÇ Å¬·¡½º »çÀÌ¿¡ Á¸ÀçÇÏ´Â ÀǹÌÀûÀÎ °ü°è¸¦ ÀǹÌÇÑ´Ù. °ü°èµÇ´Â ¼ö°¡ ¾î¶»µç ´ëºÎºÐÀÇ °ü°èµéÀÌ ¿¬°üÀ¸·Î ÆÄ¾ÇµÉ ¼ö ÀÖ´Ù´Â Á¡À» ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÑ´Ù. ±×¸²¿¡¼ Á¦½ÃµÈ ¿¬°üÀÇ Àǹ̴ ¾î·ÆÁö ¾Ê´Ù. ÇлýÀÌ ¼ö¾÷°ú¸ñ¿¡ Ãâ¼®ÇÑ´Ù. ÀÌ ¶§ ÇлýÀº ÇØ´ç °ú¸ñ¿¡ ´ëÇØ ¼ö°»ýÀ̶ó°í ÇÒ ¼ö ÀÖ°í, ¼ö¾÷ °ú¸ñÀº Çлý¿¡ ´ëÇØ ¼ö°°ú¸ñÀÇ ¿ªÇÒÀ» ÇÑ´Ù. class ¼ö¾÷°ú¸ñ {} class Çлý{ private ¼ö¾÷°ú¸ñ s ; } ¨è Æ÷ÇÔ(aggregation) °ü°è ¿¬°üÀº Ŭ·¡½ºµéÀÇ °ü°è¸¦ Ç¥ÇöÇϱâ À§ÇÑ °¡Àå Æ÷°ýÀûÀÎ °³³äÀÌ´Ù. ÇÏÁö¸¸ ÀÌ·± Æ÷°ýÀûÀÎ ¼³Á¤Àº Á¾Á¾ Àǹ̸¦ Èñ¼®½ÃÄÑ ¹ö¸®±â ¶§¹®¿¡, º¸´Ù ¸íÈ®ÇÏ°Ô °ü°è¸¦ ÁöÁ¤ÇØ µÎ°í ½ÍÀ» ¶§°¡ »ý±ä´Ù. ÀÌ·± °üÁ¡¿¡¼ Æ÷ÇÔ°ü°è´Â ¸Å¿ì À¯¿ëÇÑ Ç¥ÇöÀÌ´Ù. ±×¸²¿¡¼ (a)ºÎºÐÀº ¾Æ¹«·± Àå½Ä ¾ø´Â ¿¬°üÀ¸·Î °ü°è¸¦ Ç¥ÇöÇß´Ù. ÄÄÇ»ÅÍ¿Í Àü¿øÀåÄ¡ »çÀÌÀÇ °ü°è°¡ ¾î¶°ÇÑ °ÍÀÏÁö´Â ½±°Ô ÁüÀÛÇÒ ¼ö ÀÖÁö¸¸, ÀÌ·± ÁüÀÛÀ» Çϱâ À§Çؼ´Â µÎ Ŭ·¡½º¿¡ ´ëÇØ Àá½Ã »ý°¢Çغ¸¾Æ¾ß ÇÑ´Ù.
ÀÌ¿¡ ¹ÝÇØ (b)´Â Á÷°üÀûÀ¸·Î ±× ³»¿ëÀ» ¾Ë·ÁÁØ´Ù. ´ÙÀ̾Ƹóµå°¡ ´Þ¸° ¿¬°üÀÌ Æ÷ÇÔ °ü°è¸¦ ³ªÅ³»°í ÀÖ´Ù´Â »ç½ÇÀ» ¾È´Ù¸é, µÎ Ŭ·¡½ºÀÇ À̸§À» Àбâ Àü¿¡ ÀÌ¹Ì ¾î´À Á¤µµ ÁüÀÛÀ» ÇÒ ¼ö ÀÖ´Ù. ¨ê ½ÇüÈ(realization) °ü°è ½ÇÃ¼È °ü°è´Â ÀÎÅÍÆäÀ̽º¿Í ±×°ÍÀ» ±¸ÇöÇϴ Ŭ·¡½º »çÀÌ¿¡ ³ªÅ¸³ª´Â °ü°è°¡ ÀüÇüÀûÀÎ »ç·ÊÀÌ´Ù. º¸´Ù ¾ö¹ÐÈ÷ Á¤ÀÇÇÑ´Ù¸é, ½Çüȴ °è¾àÀ» ¸í¼¼Çϴ Ŭ·¡½º¿Í ±× °è¾àÀ» ½ÇÇöÇϴ Ŭ·¡½º »çÀÌÀÇ °ü°è¶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù. UML¿¡¼ ÀÚ¹ÙÀÇ ÀÎÅÍÆäÀ̽º¸¦ Ç¥ÇöÇÒ ¶§ Ŭ·¡½ºÀÇ À̸§À» Àû´Â »ç°¢Çü ¾È¿¡ <<interface>>¶ó´Â ½ºÅ×·¹¾î ŸÀÔÀ» ºÙÀÌ´Ù.
½ºÅ×·¹¿À ŸÀÔ : ÀÌ¹Ì Á¤ÀÇ µÇ¾î ÀÖ´Â ¸ðµ¨¸µ ¿ä¼ÒÀÇ Àǹ̸¦ »õ·Ó°Ô ÀçÁ¤ÀÇÇÑ´Ù.
Âü°í¹®Çå
|