UMLÀ» Áß½ÉÀ¸·Î ¼ÒÇÁÆ®¿þ¾î ¾÷°è¿¡¼ ¹ú¾îÁö´Â °æÁ¦Àû, »çȸÀû Çö»óµéÀ» ¾Ë¾Æº¸°í UML 2.0 ¹ßÇ¥ ÀÌÈÄ ¼ÒÇÁÆ®¿þ¾î ¾÷°è¿¡ ºÒ¾î ´ÚÄ¥ÆÄÀå¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ¶ÇÇÑ UML 2.0¿¡¼ °³¹ßÀÚµéÀÌ ÁÖ¸ñÇØ¾ß ÇÏ´Â ¼¼ºÎ ³»¿ëµµ °£´ÜÈ÷ °ËÅäÇØ º¸ÀÚ.
UML 2.0ÀÇ ½Ç·Î ¾öû³ Á߿伺À» ¹Ì¸® ¾Ë°í ´ëºñÇÒ °ÍÀÎÁö, µÞÁü Áö°í Á» ´õ ÁöÄѺ¼Áö´Â À̹ø ±ÛÀ» º¸°í ÆÇ´ÜÇØ Áֱ⸦ ¹Ù¶õ´Ù.
ÇÊÀÚ´Â Áö³ 2004³â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î 8¿ùÈ£¿¡ MDA °ü·Ã ±ÛÀ» ±â°íÇÏ´ø ´ç½ÃºÎÅÍ Áö±Ý±îÁö ÇÊÀÚÀÇ ¼Ò¼Ó ȸ»ç°¡ Áö³ 10¿© ³â°£ Àü¹®ÀûÀ¸·Î °³¹ßÇØ ¿À´ø ÀÎÀû ÀÚ¿ø °ü¸®(HRM) ½Ã½ºÅÛ¿¡ ´ëÇÑ È¹±âÀûÀÎ(?) °³¼± ¹æ¾ÈÀ¸·Î MDA ±â¹ÝÀÇ ½Ã½ºÅÛ °³¹ßÀ» ÃßÁøÇϰí ÀÖ´Ù. ÇÊÀÚ°¡ º»°ÝÀûÀ¸·Î UML 2.0À» °ËÅäÇϱ⠽ÃÀÛÇÑ °Íµµ 8¿ùÀ» ÀüÈÄÇØ¼¿´´Ù.
±×·¯³ª ȸ»ç¿¡¼ Ç¥ÁØÀ¸·Î »ç¿ëÇÏ´Â ¸ðµ¨¸µ µµ±¸ Á¦ÀÛ ¾÷ü¿¡¼´Â 4°³¿ù Àü¸¸ ÇØµµ UML 2.0À» Áö¿øÇÏÁö ¾Ê¾Ò°í, MDA ÆÐ·¯´ÙÀÓÀ» Ç¥¹æÇϸ鼵µ ¾Æ½±°Ôµµ ±× ¿äüÀÎ UML 2.0Àº ±×Àú °¢Á¾ ¹®¼³ª ÀÚ·áµéÀ» ÅëÇØ¼¸¸ Á¢ÇÒ ¼ö ÀÖ¾ú´Ù. ÀÎ»ç ºñÁî´Ï½º ÇÁ·Î¼¼½º °³¼± ÀÛ¾÷(BPI)°ú °°Àº Ãʱ⠼³°è ÀÛ¾÷Àº UML 1.4 ±â¹ÝÀ¸·Î ÃßÁøÇØ¾ß Çß°í, ¿Ã ¿¬¸»·Î ¿¹Á¤µÆ´ø µµ±¸ °ø±Þ»çÀÇ Â÷±â ¹öÀüÀ» ±â´ëÇØ¾ß ÇÏ´Â »óȲÀ̾ú´Ù.
±×·¯´ø ¾ó¸¶ Àü, ÇÊÀÚ´Â ÇØ´ç ¾÷ü·ÎºÎÅÍ UML 2.0À» Ãæ½ÇÈ÷ Áö¿øÇÏ°Ô µÈ »õ ¹öÀüÀÇ ÄÉÀ̽º µµ±¸¸¦ ÀÔ¼öÇß´Ù. ºñ·Ï ÇÊÀÚ°¡ ÀÌ¹Ì ¿©·¯ Ã¥À̳ª ÀÚ·áµéÀ» ÅëÇØ UML 2.0À» °ËÅäÇß¾úÀ½¿¡µµ, ¸·»ó º»°ÝÀûÀ¸·Î UML 2.0 Áö¿ø ¸ðµ¨¸µ µµ±¸¸¦ ¼³Ä¡Çϰí ÀÛ¾÷À» Âø¼öÇÏ·Á´ø ±× ¼ø°£ÀÇ Ã¹ ´À³¦À» ¸»·Î ÇÏÀÚ¸é ¸·¸·ÇÔ ±× ÀÚü¿´´Ù.
±× ¸ðµ¨¸µ µµ±¸ÀÇ »õ·Î¿î ¹öÀüÀÌ ¿ÏÀüÈ÷ °³ÆíµÈ »õ·Î¿î »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º·Î ±¸¼ºµÆÀ¸¸ç ³»ºÎÀûÀ¸·Îµµ »ó´çÇÑ ±â¼úÀûÀÎ ÆÐ·¯´ÙÀÓ ÀüȯÀÌ ÀÖ¾ú´ø °Íµµ ÇÑ ¿øÀÎÀ̾ú°ÚÁö¸¸, ¹«¾ùº¸´Ùµµ ±Ùº»ÀûÀ¸·Î UML 2.0ÀÌ ³»Æ÷ÇÑ ±× °¡´É¼º°ú È®À强¿¡ ´ëÇÑ ³î¶ó¿ò°ú ¼³·½ÀÌ ±³Â÷ÇÏ¸é¼ ¸¸µé¾î³½ ¹Ì¹¦ÇÑ ÈïºÐ°ú µÎ·Á¿òÀ̾ú´Ù´Â °ÍÀÌ ÀûÀýÇÑ °Í °°´Ù. 1620³â ¸ÞÀÌÇöó¿öÈ£¸¦ Ÿ°í ¹ÌÁöÀÇ ¶¥ ¾Æ¸Þ¸®Ä«¿¡ ù ¹ßÀ» ³»µðµ±´ø ÀÌÁֹεéÀÇ ¸¶À½ÀÌ ÀÌ·¸Áö ¾Ê¾ÒÀ»±î?
UMLÀÇ »çȸÀû ÆÄÀå
UML 2.0 ¹ßÇ¥¿Í ´õºÒ¾î °³¹ßÀÚµéÀÌ ÁÖ¸ñÇØ¾ß ÇÏ´Â ¼¼ºÎ ³»¿ëÀ» »ìÆìº¸±â Àü¿¡ ¿ì¼±, UMLÀ» Áß½ÉÀ¸·Î ¼ÒÇÁÆ®¿þ¾î ¾÷°è¿¡¼ ¹ú¾îÁö´Â °æÁ¦Àû, »çȸÀû Çö»óµéÀ» ÅëÇØ ÇâÈÄ UML 2.0 ¹ßÇ¥ ÀÌÈÄ ¼ÒÇÁÆ®¿þ¾î ¾÷°è¿¡ ºÒ¾î ´ÚÄ¥ ÆÄÀå¿¡ ´ëÇØ ¹Ì¸® °¡´ÆÇØ º¸´Â ½Ã°£À» °¡Á® º¸±â·Î ÇϰڴÙ.
IT ½ÃÀå º¯È¿¡ ÁÖ¸ñÇÏÀÚ
ÀÌ ½Ã´ë ¼ÒÇÁÆ®¿þ¾î »ê¾÷¿¡ Á¾»çÇÏ´Â »ç¶÷ÀÌ, µý ¼¼»ó¿¡ »ç´Â »ç¶÷(beings in heaven)ÀÌ ¾Æ´Ñ ÀÌ»ó, ÀÚº»ÁÖÀÇ ½Ã´ë¸¦ »ì¾Æ°¡´Â Çö´ëÀÎÀ¸·Î¼ °ø±Þ°ú ¼ö¿ä¸¦ °áÁ¤ÇÏ´Â ½ÃÀå ³í¸®·ÎºÎÅÍ ÀÚÀ¯·Î¿ï ¼ö´Â ¾ø´Ù.
¿ì¸®´Â Á¾Á¾ ¶Ù¾î³ ±â¼ú·ÂÀ» °®Ãß°í ÀÖÀ½¿¡µµ ¸ÁÇÏ´Â ¹Ý¸é, Ưº°ÇÑ ±â¼ú·ÂÀ» °¡Áö°í ÀÖÁö ¾ÊÀ½¿¡µµ ¹øÃ¢ÇÏ´Â »ç¶÷À̳ª ±â¾÷À» Á¾Á¾ ¸ñ°ÝÇϰï ÇÑ´Ù. Áï, ±â¼ú·ÂÀÌ °ð ¼º°øÀ» ÀǹÌÇÏÁö´Â ¾Ê´Â´Ù. ¸¶Âù°¡Áö ³í¸®·Î, UML 2.0ÀÌ ¾Æ´Ï¶ó ±× ¾î¶² ¶Ù¾î³ ±â¼úÀÌ Á¸ÀçÇÑ´Ù ÇÏ´õ¶óµµ IT ½ÃÀå¿¡¼ ±× ±â¼ú·ÂÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê°Å³ª ¼ö¿ëÇÒ ¼ö ¾ø´Ù¸é, ±× ±â¼ú·ÂÀÇ ½ÃÀå °¡Ä¡´Â ¹«ÀǹÌÇÒ ¼ö¹Û¿¡ ¾ø´Ù.
2000³âÀ» ÀüÈÄÇØ¼ Àü¼¼°èÀûÀ¸·Î Y2K ¹®Á¦°¡ »çȸÀû ¹®Á¦·Î ºÎ°¢µÇ°í ½Ã½ºÅÛÀÇ ´ë°øÈ² »çŰ¡ ¿¹°íµÇ´ø ½ÃÀý, ¾ÆÀÌ·¯´ÏÄÃÇϰԵµ ´ç½Ã ¼ÒÇÁÆ®¿þ¾î »ê¾÷¿¡¼´Â »ç¾ç±æ·Î Á¢¾îµé¾ú´ø ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Àü¹®°¡µéÀÌ ±¹³»ÀÇ IMF »çÅÂ¿Í ¸Â¹°·Á °í¾× ¿¬ºÀÀ¸·Î ´ëÁ¢ ¹ÞÀ¸¸é¼ ÇØ¿Ü·Î ÁøÃâÇß´ø ÀÏÀÌ ±â¾ï³´Ù. ¿ª½Ã ±â¼úÀÇ °¡Ä¡(technology value)´Â ½ÃÀå ¿ø¸®(market behavior)¿¡ ÀÇÇØ °áÁ¤µÉ ¼ö¹Û¿¡ ¾øÀ½À» ÀÎÁ¤ÇÏÁö ¾ÊÀ» ¼ö ¾ø´Ù.
±×·± °üÁ¡¿¡¼ UML 2.0ÀÌ °ø½ÄÀûÀ¸·Î °øÇ¥µÇ´Â ÀüÈÄÀÇ ¼ÒÇÁÆ®¿þ¾î »ê¾÷°è ÆÇµµ¸¦ »ìÆìº¸´Â °ÍÀº ÀÇÀǰ¡ ÀÖ´Ù. ¼¼°èÀûÀ¸·Î ÀÌ¹Ì ÇÁ·Î±×·¥ °³¹ß µµ±¸ ½ÃÀåÀº ±× ¼ºÀå¼¼°¡ µÐȵưí, ¸ðµ¨¸µ µµ±¸´Â ºü¸¥ ¼Óµµ·Î º¸ÆíÈµÇ¾î °¡°í ÀÖ´Ù. Áö³ ¸î ³â°£ ÀϾ´ø IT ¾÷°èÀÇ Å« »ç°ÇµéÀ» »ìÆìº¸¸é ±×·¯ÇÑ »ç½ÇÀ» ½±°Ô È®ÀÎÇÒ ¼ö ÀÖ´Ù.
À̸¦Å×¸é ¿¹Àü¿¡´Â ºñ½Î°Ô ÆÇ¸ÅÇÏ´ø °³¹ß µµ±¸¸¦ Á¡Â÷ Àú·ÅÇÏ°Ô Çà»ç °¡°ÝÀ¸·Î ÆÇ¸ÅÇѴٰųª, °³¹ßÀÚ Àúº¯ È®»êÀ̶ó´Â ¸í¸ñ ÇÏ¿¡ Çб³³ª ÇпøÀ» Áß½ÉÀ¸·Î ¹«·á·Î ¹èÆ÷Çϰí ÀÖ´Ù. ½ÉÁö¾î´Â ÀÌŬ¸³½º µî°ú °°Àº ¸·°ÇÑ °³¹ß µµ±¸¸¦ ¿ÀǼҽº·Î¼ ÀÎÅͳÝÀ» ÅëÇØ ¹«·á·Î ¹èÆ÷Çϰí ÀÖ´Ù.
¸î ³â Àü ¼¼°èÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ¾÷üÀÎ MS¿¡¼´Â ºñÁö¿À(Visio)¶ó´Â 2D Àü¿ë µµ±¸ °³¹ß ¾÷ü¸¦ ÀμöÇß°í, IBMÀº ¼¼°èÀûÀÎ ¸ðµ¨¸µ µµ±¸ Àü¹® °³¹ß ¾÷üÀÎ ·¡¼î³¯À» ÀμöÇÕº´ÇßÀ¸¸ç, ¿¬ÀÌ¾î º¼·£µå¿¡¼´Â Åõ°Ô´õ¸¦ »çµé¿´´Ù. ÇÑÆí, ±¹³»¿Ü UML °ü·Ã Æ÷·³À̳ª Çùȸµé¿¡¼´Â ¾Õ´ÙÅý UML °ü·Ã ÀÎÁõ Á¦µµ¸¦ ¸¸µé¾î ¹ßÇ¥ÇÏ¸é¼ ±× ÀÎÁöµµ¸¦ ³ÐÇô °¡±â À§ÇÑ ´ë´ëÀûÀÎ ÀÛ¾÷À» ¹úÀ̰í ÀÖ´Ù.
UML ÀÎÁõ Á¦µµÀÇ Çʿ伺À̶óµçÁö, ÀÎÁõ Á¦µµ ÀÚüÀÇ ½Åºù¼ºÀ̳ª È¿¿ë¼º¿¡ ´ëÇØ ³íÇϱâ ÀÌÀü¿¡, ¾î¶°ÇÑ »ç»óÀ̳ª °³³äÀÌ Á¦µµÈ µÇ´Â °úÁ¤À» °ÅÄ¡°í ÀÖ´Ù´Â »ç½ÇÀº ±× »ç»óÀ̳ª °³³äÀÌ ÇØ´ç ºÐ¾ß¿¡¼ µµÀÔ±â(intro)¿Í ¼ºÀå±â(growth)¸¦ °ÅÃÄ ¼º¼÷±â(mature)¿¡ ÁøÀÔÇϰí ÀÖÀ½À» ¾Ï½ÃÇÏ´Â °ÍÀÌ´Ù.
Ç¥ÁØÈÀÇ ¼ûÀº ¶æ
UMLÀ» ³íÇÏ¸é¼ Ç¥ÁØÈ(standardization)¶ó´Â Ű¿öµå¸¦ »©³õÀ» ¼ö ¾ø´Ù. UMLÀÌ ¹ßÇ¥µÇ±â Àü¿¡ ±¹¹æÀ̳ª
MIS ºÐ¾ß ¿£Áö´Ï¾îµé¿¡°Ô Ä£¼÷ÇÑ IDEF¶óµçÁö DFD, ER ȤÀº Petri nets µî°ú °°Àº Á¤Çü ±â¹ý(formal method)À¸·Î ÅëĪµÇ´Â ¼ö¸¹Àº Ç¥±â¹ý(notation)°ú Áö¿ø ÄÉÀ̽º µµ±¸µéÀÌ Á¸ÀçÇßÀ½¿¡µµ ºÒ±¸Çϰí(Âü°íÀÚ·á:
[1]¹øÈ¤Àº
[2]¹øµî), UMLÀº °¡Àå ´Ü±â°£ µ¿¾È ¼ÒÇÁÆ®¿þ¾î °øÇÐ ºÐ¾ß¿¡¼¸¸ÅÀº ºü¸¥ ¼Óµµ·Î »ç½Ç»óÀÇ Ç¥ÁØ(de-facto)ÀÇ À§Ä¡¸¦ È®º¸Çß´Ù. ¾ð¶æ »ý°¢ÇØ º¸¸é UMLÀÌ ¿©Å¸ Ç¥±â¹ýµéÀ» ±³ÅëÁ¤¸®ÇØ ÁØ ¾Èµµ°¨(?)ÀÌ µé ¼öµµ ÀÖ°ÚÁö¸¸, °ÑÀ¸·Î Àß µå·¯³ªÁö ¾Ê´Â ±× ³»¸·¿¡´Â ¹«¼¿î À½¸ð(?)°¡ µµ»ç¸®°í ÀÖ´Ù.
Ç¥ÁØÈ ÀÛ¾÷¿¡ ÁÖµµÀûÀÎ ¿ªÇÒÀ» ¼öÇàÇÏ´Â ¾÷üµéÀÌ ¿Ö ±×Åä·Ï õ¹®ÇÐÀûÀÎ ÀÚº»À» ÅõÀÚÇÏ¸é¼ °ø°³ÀûÀΠǥÁØÈ ÀÛ¾÷¿¡ µ¿ÂüÇÏ´Â °ÍÀϱî? ¿©·¯ °¡Áö º¹ÇÕÀûÀÎ ÀÌÀ¯µéÀÌ ÀÖÀ» ¼ö ÀÖ°ÚÁö¸¸, °á·ÐÀûÀ¸·Î Ç¥ÁØÈ °æÀïÀÌ´Ù.
À¯¸íÇÑ ¿¹·Î, 1970³â´ëºÎÅÍ ½ÃÀ۵ƴø ºòÅÍ(Victor)ÀÇ VHS ¹æ½Ä°ú ¼Ò´ÏÀÇ º£Å¸ ¹æ½ÄÀ¸·Î ´ëÇ¥µÇ´Â ºñµð¿À Ç¥ÁØ ÀüÀïÀ» µé ¼ö ÀÖ°í, ÃÖ±Ù¿¡´Â À¯·´°ú ¹Ì±¹À» Áß½ÉÀ¸·Î ¹ú¾îÁö°í ÀÖ´Â À§¼º¹æ¼Û Ç¥ÁØÈ ÀüÀïÀ» µé ¼ö ÀÖ´Ù. Ç¥ÁØÈ ÀüÀï¿¡¼ÀÇ ½ÂÆÐ´Â °ð ±â¾÷ÀÇ ¿î¸íÀ» Á¿ìÇÏ´Â °ÍÀÌ´Ù.
Ç¥ÁØÈÀÇ À̸鿡´Â ³ôÀº ÁøÀÔ À庮À» ÅëÇØ Çã°¡ ¹ÞÁö ¾ÊÀº ħÀÔÀÚ(intruder)¸¦ ºÀ¼âÇÏ·Á´Â ¹«¼¿î ÀúÀǰ¡ ÀÚ¸® Àâ°í ÀÖ´Ù. ½Ã¾ß¸¦ Á» ´õ ³ÐÇô º¸¸é, Àǻ糪 ÆÇ»ç, ȸ°è»ç µî. Åë¼ÓÀûÀΠǥÇöÀ¸·Î ¼ÒÀ§ ¡®»ç¡¯ÀÚ·Î ³¡³ª´Â Á÷¾÷µé¿¡ ´ëÇÑ »çȸÀû °¡Ä¡°üÀ» »ìÆìº¸¸é ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
»ç¶÷ ¸öÀ» ¿¾î¼ Ä®ÁúÇϰí, °°Àº Àΰ£À¸·Î¼ ´Ù¸¥ Àΰ£À» ÆÇ´ÜÇϰí, ¼ýÀÚ °¡Áö°í ¾¾¸§ÇÏ´Â Á÷¾÷ÀÌ »ê¾÷Çõ¸í ÀÌÀü¿¡´Â º°º¼ÀÏ ¾ø´Â Á÷¾÷À̾ú´Ù. ÀηùÀÇ º¸ÆíÀûÀÎ °¡Ä¡°üÀ¸·Î ÆÇ´ÜÇÏ´õ¶óµµ °áÄÚ Áñ°Å¿î ÀÏÀÌ µÉ ¼ö ¾øÀ½¿¡µµ ºÒ±¸Çϰí Àü¼¼°èÀûÀ¸·Î °øÈ÷ °¡Àå ¼±È£ÇÏ´Â Á÷¾÷ÀÌÀÚ »çȸÀûÀ¸·Îµµ °¡Àå ´ëÁ¢¹Þ´Â Á÷¾÷ÀÌ µÈ Çö½Ç¿¡ ¹Ì·ç¾î ÁüÀÛÇØ º¸¸é, ¿Ö ±×Åä·Ï ¼¼°èÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ¾÷üµéÀÌ Ç¥ÁØÈ¸¦ ÅëÇØ ³ôÀº ÁøÀÔ À庮À» ±¸ÃàÇϰí Á¦µµÈ¿¡ Àü³äÇÏ´ÂÁö ±× ÀÌÀ¯¸¦ ÃæºÐÈ÷ ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
¾î·Á¿î ½ÃÇèÀ» Åë°úÇÏÁö ¾Ê°í ´©±¸¶óµµ ÀÏÁ¤ÇÑ ¿ä°Ç¸¸ °®Ãß¸é ¼öÇàÇÒ ¼ö ÀÖ´Â ÀϹÝÀûÀÎ Á÷Á¾ ÁßÀÇ Çϳª¶ó¸é ±×·¸°Ôµé µ¿°æÇÏ´Â Á÷Á¾ÀÌ µÆ°Ú´Â°¡? UML 2.0ÀÌ °æÁ¦ÀûÀ¸·Î³ª »çȸÀûÀ¸·Î ÁÖ¸ñ ¹Þ´Â ÀÌÀ¯ ÁßÀÇ Çϳª´Â ¹Ù·Î ±×·¯ÇÑ ¸Æ¶ô¿¡¼ ºñÀü¹®Àΰú Àü¹®°¡¸¦ ±¸º°ÇÏ´Â ³ôÀº À庮(?)À» ½×À» ¼ö ÀÖ´Â Àç·á(material)¸¦ È®º¸Çϰí Åä´ë¸¦ ¸¶·ÃÇß´Ù´Â Á¡¿¡¼ ÀÇÀǰ¡ ÀÖ´Â °ÍÀÌ´Ù.
ÁÖ¸ñÇØ¾ß ÇÒ UML 2.0ÀÇ ÇÙ½É ¸ÞÄ¿´ÏÁò
1997³â 11¿ù UML 1.1·Î ½ÃÀÛµÈ
OMGÀÇ Ç¥ÁØÈ ³ë·ÂÀº 2001³â 5¿ù UML 1.4 ¹ßÇ¥¿Í ´õºÒ¾î ºÎºÐÀûÀÎ °³Á¤ ÀÛ¾÷(minor version upgrade)ÀÇ ¸·À» ³»¸®°í, ´ë´ëÀûÀÎ ¼ö¼ú ÀÛ¾÷À» °ÅÃÄ 2004³â ¿¬¸»À» ÀüÈÄ·Î µåµð¾î ±× ½Çü¸¦ µå·¯³»¾ú´Ù.
±× µ¿¾È ÀïÀïÇÑ ¼¼°èÀûÀÎ ¼ÒÇÁÆ®¿þ¾î º¥´õµé°£ÀÇ º¸ÀÌÁö ¾Ê´Â ÀÌÇØ °ü°è(?)¿¡ ¾ôÇô 2002³â ¸»·Î ¿¹Á¤µÆ´ø ÃÖÁ¾ ¹ßÇ¥ ½ÃÇÑÀ» 2³â¿©¸¦ ¿¬ÀåÇÏ¸é¼ ÀÌÁ¦¼¾ß ±× ´ë´Ü¿øÀÇ ¸·ÀÌ ¸¶¹«¸®µÇ°í ÀÖ´Ù. ÇâÈÄ UML 2.0ÀÇ ÀÏÁ¤Àº ¸í½Ç»óºÎÇÑ ±¹Á¦ Ç¥ÁØ(de jure)À¸·Î ÀÚ¸®¸Å±èÇϱâ À§ÇØ ISO ¼³°è Ç¥ÁØÀ¸·Î ÃßÁø ÁßÀÎ °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù.
UML 2.0ÀÌ ÁÖ¸ñ ¹Þ´Â °¡Àå Áß¿äÇÑ ÀÌÀ¯´Â ¹«¾ùÀϱî? óÀ½ ¼¼»ó¿¡ ³ª¿À°í ³ª¼´Â ¿©±âÀú±â¼ ¼ö¸¹Àº ºñÆÇÀ» ¹Þ¾ÒÁö¸¸, ±×°ÍÀº UMLÀÌ ¾î¶°ÇÑ Ç÷§ÆûÀ̳ª µµ¸ÞÀο¡µµ ÀÇÁ¸ÇÏÁö ¾Ê°í ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÇ Àü °øÁ¤(SDLC)À» Áö¿øÇÏ´Â ¹æÇâÀ¸·Î ÁöÇâÇØ¿Ô´Ù´Â µ¥¿¡ ±× ¿øÀÎÀ» ãÀ» ¼ö ÀÖ´Ù. Áï, ¿ä±¸»çÇ× È¹µæÀ¸·ÎºÎÅÍ ¸¶Áö¸· Å×½ºÆ®±îÁö ¸ðµÎ Áö¿øÇϴ ǥ±â¹ýÀ¸·Î¼ ÁøÈÇØ ¿Ô´Ù´Â °ÍÀÌ´Ù.
±×¸®°í Á¡ÁøÀûÀ¸·Î UML 2.0ºÎÅÍ´Â ½ÇÇà ¸ðµ¨(executable UML)À̶ó´Â ±â¹ýÀ» ¼ö¿ëÇÔÀ¸·Î½á, ¼ÒÇÁÆ®¿þ¾î °øÇп¡¼ ±Ã±ØÀûÀ¸·Î ¿°¿øÇÏ´ø ºÐ¼® ¼³°è(analysis & design)¿Í ½ÇÁ¦ ±¸Çö(implementation) °£ÀÇ Â÷ÀÌ(chasm)¸¦ ±Øº¹ÇÏ´Â ¼º°ú¸¦ º¸¿´±â ¶§¹®ÀÌ´Ù.
OMGÀÇ UML 2.0¿¡ ´ëÇÑ Á¦¾È¿äû¼(RFP)ÀÇ ÁÖÁ¦ÀÌÀÚ ÇöÀç äÅÃµÈ ¸í¼¼¼ ÃʾÈÀº Å©°Ô 4°¡ÁöÀÇ ¿µ¿ªÀ¸·Î ºÐ·ùµÈ´Ù. CASE µµ±¸ º¥´õµé°£ÀÇ ¸ðµ¨ ȣȯ¼º ¹®Á¦¸¦ ´Ù·ç°í ÀÖ´Â ´ÙÀ̾î±×·¥ ȣȯ(Diagram Interchange) ¿µ¿ª°ú ¸ðµ¨ ¼öÁØ¿¡¼ÀÇ ¿ä¼Ò(elements) Á¦¾î ¹× Á¦¾à ¹®Á¦¸¦ ´Ù·ç°í ÀÖ´Â OCL(Object Constraint Language) ¿µ¿ª, UML»Ó¸¸ ¾Æ´Ï¶ó OMG°¡ ÁÖ°üÇÏ´Â °¢Á¾ Ç¥ÁØÀÇ ÅëÇÕ°ú Á¤ÀÇ¿¡ Ȱ¿ëµÇ´Â ¸ÞŸ ¸ðµ¨ ¼öÁØÀÇ ±âº» ±¸Á¶Ã¼(constructs)¸¦ ¸í½ÃÇϰí ÀÖ´Â ÇϺα¸Á¶(Infrastructure), ±×¸®°í ¸ÞŸ ¸ðµ¨À» ±â¹ÝÀ¸·Î »ç¿ëÀÚ ¼öÁØ¿¡¼ ¸ðµ¨À» Ȱ¿ëÇÏ¿© ½Ã½ºÅÛÀÇ ±¸Á¶(structure)¿Í ÇàÀ§(behavior)¸¦ Á¤ÀÇÇϰí ÀÖ´Â 14°³ÀÇ ´ÙÀ̾î±×·¥À» Á¤ÀÇÇϰí ÀÖ´Â »óºÎ±¸Á¶(Superstructure)·Î ºÐ·ùÇÒ ¼ö ÀÖ´Ù.
UML 2.0ÀÇ º»ÁúÀ» Á¦´ë·Î ÀÌÇØÇÏ·Á¸é ÇÙ½ÉÀÎ ÇϺα¸Á¶·ÎºÎÅÍ Â÷±ÙÂ÷±Ù »ìÆìº¸´Â °ÍÀÌ ¼ø¼À̰ÚÁö¸¸, Áö¸é°ú ÁÖÁ¦¸¦ °í·ÁÇÒ ¶§, ÀϹÝÀεéÀ̳ª ¼³°èÀÚµéÀÌ UML 2.0À» óÀ½ ´ë¸éÇÏ´Â °æ¿ì °¡Àå ¸ÕÀú °ü½ÉÀ» °¡Áö°Ô µÇ´Â UML ±¸Á¶Ã¼(user-level constructs)ÀÎ »óºÎ±¸Á¶·ÎºÎÅÍ À̾߱⸦ Ç®¾î°¡´Â ¹æ½ÄÀ» ÅÃÇϱâ·Î ÇϰڴÙ.
 |
| <±×¸² 1> UML 2.0 Ç¥ÁØ ´ÙÀ̾î±×·¥ |
*»¡°£ ¹ØÁÙ: »õ·Ó°Ô Ãß°¡µÈ ´ÙÀ̾î±×·¥, ³ì»ö ¹ØÁÙ: ¸íĪÀÌ º¯°æµÈ ´ÙÀ̾î±×·¥
»óºÎ ±¸Á¶´Â Å©°Ô 6°³ÀÇ ´ÙÀ̾î±×·¥À¸·Î ±¸¼ºµÈ ±¸Á¶Çü ´ÙÀ̾î±×·¥(Structural Diagram)±º°ú 7¢¦8°³ÀÇ ´ÙÀ̾î±×·¥À¸·Î ±¸¼ºµÈ ÇàÀ§Çü ´ÙÀ̾î±×·¥(Behavioral Diagram) ±ºÀ¸·Î ºÐ·ùÇÒ ¼ö Àִµ¥, °¢ ±ºÀÇ ´ëÇ¥ÀûÀÎ º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥(Composite Structure Diagram)°ú ¼øÂ÷µµ(Sequence Diagram)¸¦ Áß½ÉÀ¸·Î ±× Ư¡°ú ÀÇÀǸ¦ »ìÆìº¸µµ·Ï ÇϰڴÙ.
ÀÌ¾î¼ UML 2.0ÀÇ ±â¹ÝÀ» ¼³¸íÇϰí ÀÖ´Â ÇϺα¸Á¶ÀÇ Àǹ̴ ¹«¾ùÀÎÁö, ±×¸®°í ½ÇÁ¦ ¼³°è ÀÛ¾÷¿¡¼ ÇϺα¸Á¶ÀÇ Á¢±Ù¹ýÀº ¾î¶°ÇÑ ¹æ½ÄÀ¸·Î Ȱ¿ëÇÏ°Ô µÉ °ÍÀÎÁö ³íÀÇÇϱâ·Î ÇϰڴÙ.
»óºÎ±¸Á¶ - ±¸Á¶Çü ´ÙÀ̾î±×·¥
ÀÏ¸í ¾ÆÅ°ÅØÃ³ ´ÙÀ̾î±×·¥(architectural diagram)À̶ó°íµµ ºÒ¸®´Â º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥(composite structure diagram)Àº UMLÀÇ ÇÙ½É ´ÙÀ̾î±×·¥ÀΠŬ·¡½º ´ÙÀ̾î±×·¥ÀÇ º¯ÇüµÈ ÇüÅÂÀÌ´Ù. ÀÌ´Â ½Ã½ºÅÛ ±¸Á¶ ¼³°è¿¡ ÀÖ¾î ¶Ç ´Ù¸¥ ÇÙ½É ÃàÀ¸·Î Æò°¡ ¹Þ°í ÀÖÀ¸¸ç °¡Àå ÁÖ¸ñ ¹Þ´Â ´ÙÀ̾î±×·¥ ÁßÀÇ ÇϳªÀÌ´Ù.
º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥Àº ±âº»ÀûÀ¸·Î ½Ã½ºÅÛ È¤Àº ÄÄÆ÷³ÍÆ®ÀÇ ³»ºÎ ±¸Á¶(internal structure)¸¦ ¸í½ÃÀûÀ¸·Î Áßø½ÃÄÑ Ç¥ÇöÇϰí ÀÖÀ¸¸ç, ½Ã½ºÅÛ ¾ÆÅ°ÅØÃ³ÀÇ º¸´Ù ¼¶¼¼ÇÑ ºÐ¼®°ú ¼³°è »ç»óÀ» ´ãÀ» ¼ö ÀÖ°Ô µÈ Á¡ÀÌ °¡Àå Å« ¸Å·ÂÀ¸·Î ²ÅÀ» ¼ö ÀÖ´Ù.
±×·¸´Ù¸é ¿Ö º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥ÀÌ ÁÖ¸ñ¹Þ´ÂÁö, ±×¸®°í º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥Àº ¿Ö ź»ýÇÏ°Ô µÇ¾úÀ¸¸ç, ÇâÈÄ ¾î¶°ÇÑ ¿ëµµ·Î Ȱ¿ëÇÏ°Ô µÉ±î? º¸´Â ½Ã°¢¿¡ µû¶ó ÀǰßÀ» ´Þ¸® ÇÒ ¼ö ÀÖ°ÚÁö¸¸, UML 1.xÀº ±Ùº»ÀûÀ¸·Î OOAD ¼öÁØÀÇ ¼³°è »ç»óÀ» Ç¥ÇöÇϱ⿡ ÃÖÀûÈµÈ Ç¥±â¹ýÀ¸·Î Æò°¡µÇ¾î ¿Ô´Ù.
UML 1.x¿¡µµ ºñ·Ï ÄÄÆ÷³ÍÆ® ´ÙÀ̾î±×·¥À̶ó´Â °ÍÀÌ ÀÖ±â´Â ÇßÁö¸¸, ½ÇÁ¦ ³Ê¹« ºó¾àÇÑ ¹®¸Æ(semantics)À¸·Î ÀÎÇØ º°·Î Ȱ¿ëµÇÁö ¸øÇßÀ¸¸ç, °°æÇÑ ÄÄÆ÷³ÍÆ® ½ÅºÀÀÚµéÀ̳ª ´ë¿ë·® ½Ã½ºÅÛ È¤Àº Àüü ½Ã½ºÅÛÀ» ÅëÇÕÀûÀ¸·Î Ç¥ÇöÇϱ⠿øÇß´ø ¾ÆÅ°ÅØÃ³ Àü¹®°¡ Áø¿µ °³¹ßÀڵ鿡°Ô´Â, ±×Àú °´Ã¼ ¿ËÈ£·ÐÀÚµéÀÌ Á¦½ÃÇÏ´Â ¿Ë»öÇÑ ¸íºÐ(?)¿¡ Áö³ªÁö ¾Ê¾Ò´Ù. »ç½Ç UML 1.x ÀÚü¿¡µµ ¸í½ÃÇϰí ÀÖµíÀÌ, ÄÄÆ÷³ÍÆ® ´ÙÀ̾î±×·¥Àº ¸î¸î ´ÙÀ̾î±×·¥µé°ú ´õºÒ¾î Ŭ·¡½º ´ÙÀ̾î±×·¥¿¡ ÀÏÁ¾ÀÇ °£´ÜÇÑ È®Àå ¸ÞÄ¿´ÏÁòÀ» ÅëÇÑ ´Ü¼øÇÑ °üÁ¡(view) º¯°æ ¼öÁØ¿¡ Áö³ªÁö ¾Ê¾Ò´Ù.
ºñÁî´Ï½º ÄÄÆ÷³ÍÆ®¿¡ °ü½ÉÀÌ ¸¹¾Ò´ø ÄÄÆ÷³ÍÆ® ½ÅºÀÀÚµéÀÇ °æ¿ì, UML 1.xÀÇ ½ºÅ×·¹¿ÀŸÀÔ(stereotype)µîÀÇ È®Àå ¸ÞÄ¿´ÏÁòÀ» ÅëÇØ ±×·°Àú·° UML 1.x°úÀÇ °ü°è¸¦ À¯ÁöÇϸ鼵µ BPMÀ̶ó´Â Æ÷°ýÀûÀ̰í È®ÀåµÈ º°µµÀÇ ºñÁî´Ï½º ÄÄÆ÷³ÍÆ® Ç¥±â¹ýÀ» º´ÇàÇϸç UML 1.xÀÇ ¹ÌºñÇÑ ºÎºÐÀ» ä¿ö ³ª°¬´Ù.
¾ÆÅ°ÅØÃ³ Àü¹®°¡ Áø¿µ¿¡¼´Â »óȲÀÌ Á¶±Ý ´Þ¶ú´Âµ¥, ´ë´Ù¼öÀÇ ¾ÆÅ°ÅØÃ³ Àü¹®°¡ Áø¿µ¿¡¼ °ü½ÉÀ» °¡Áö°í ÀÖ´ø ÀÓº£µðµå ȤÀº ¸®¾óŸÀÓ µµ¸ÞÀο¡¼´Â ´Ü¼øÈ÷ UML 1.x Á¤µµÀÇ È®Àå ¸ÞÄ¿´ÏÁòÀ¸·Î´Â ±×µéÀÌ ÇÊ¿ä·Î ÇÏ´Â ¾ÆÅ°ÅØÃ³¸¦ ÅëÇÑ ½Ã¹Ä·¹ÀÌ¼Ç µî°ú °°Àº ½Ã½ºÅÛÀÇ ¼¶¼¼ÇÑ ºÐ¼® ¹× ¼³°è¶ó´Â ¸ñÀû ´Þ¼ºÀÌ °ÅÀÇ ºÒ°¡´ÉÇß°í, ±×·¯ÇÑ ¸ñÀû ´Þ¼ºÀ» À§ÇØ UMLÀÇ È®Àå ¸ÞÄ¿´ÏÁòÀ» Ȱ¿ëÇÑ´Ù´Â °ÍÀº Â÷¶ó¸® Àڽŵ鸸ÀÇ Æ¯Á¤ ¿µ¿ª¿¡ ÇÊ¿äÇÑ Ç¥±â¹ýÀ» ÀÚü Á¤ÀÇÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ÈξÀ °æÁ¦ÀûÀ̾ú´Ù´Â °ÍÀÌ´Ù.
¿Ö³ÄÇϸé ÀÌ¹Ì ¾ÆÅ°ÅØÃ³ Àü¹®°¡ Áø¿µ¿¡¼´Â UML 1.x°¡ ¹ßÇ¥µÇ±â ÀÌÀü¿¡ ±¤¹üÀ§ÇÏ°Ô ¼ö¸¹Àº ADL(Architectural Description Language)°ú °ü·Ã ½Ã¹Ä·¹ÀÌ¼Ç µµ±¸µéÀÌ °³¹ßµÇ¾î Ȱ¿ëµÇ°í ÀÖ¾úÀ¸¸ç, ±»ÀÌ UML¿¡ ¼øÀÀÇÏ´Â(compliant) ¹æ¾ÈÀ» ¸ð»öÇϱâ À§ÇØ UMLÀ» ¿¬±¸ÇÏ°í °í¹ÎÇÒ ½Ã°£Àû ¿©À¯³ª ¸íºÐÀÌ ¾ø¾ú´ø °ÍÀÌ´Ù.
±×·¯³ª ±×·¯ÇÑ µÎ Áø¿µ¿¡¼ ±Ùº»ÀûÀ¸·Î ÇØ°áÇÏÁö ¸øÇÑ °áÁ¤ÀûÀÎ ¹®Á¦´Â ÀڽŵéÀÌ µ¶ÀÚÀûÀ¸·Î ¹ßÀü½ÃÄ×´ø Ç¥±â¹ý Áß¿¡ ¾î¶°ÇÑ °Íµµ ¸í½Ç»óºÎÇÑ »ç½Ç Ç¥ÁØ(de-facto)À¸·Î ÇÕÀÇÇÏÁö ¸øÇß´Ù´Â °ÍÀÌ´Ù. °¡·É, ¾ÆÅ°ÅØÃ³ Àü¹®°¡ Áø¿µ¿¡¼ ÇÊ¿ä·Î ÇÏ´Â ½Ã½ºÅÛ ½Ã¹Ä·¹ÀÌ¼Ç ±â´ÉÀ» ±¸ÇöÇÏ´Â µ¥ »ç¿ëÇÏ´Â Á¤Çü ±â¹ýÀÇ °æ¿ì µ¿ÀÏÇÑ µµ¸ÞÀο¡¼Á¶Â÷ ¿¬±¸¼Ò³ª Àͼ÷ÇÑ ±â¹ý¿¡ µû¶ó ¼·Î ´Þ¸® Á¤ÀÇÇϰí ÇÊ¿äÇÑ ½Ã¹Ä·¹ÀÌ¼Ç µµ±¸¸¦ °³¹ßÇØ¾ß Çß´Ù.
±¹Á¦ÀûÀÎ °øµ¿ ÀÛ¾÷Àº ¸»ÇÒ °Íµµ ¾øÀÌ ±¹³»¿¡¼ ¼·Î ´Ù¸¥ ¿¬±¸±â°üÀÌ °øµ¿ ÀÛ¾÷À» ¼öÇàÇϱâ À§Çؼµµ »çÀü¿¡ ÀÏÁ¤ÇÑ Ç¥ÁØ Á¤Çü ±â¹ýÀ» ÇÕÀÇÇϰí Á¤¸³ÇÑ ÈÄ °úÁ¦¸¦ ¼öÇàÇØ¾ß ÇßÀ¸¸ç, ÃÖÁ¾ÀûÀ¸·Î ÅëÇÕÇÏ´Â °úÁ¤¿¡¼´Â °á±¹¿¡ ¸ðµ¨ ¼öÁØ¿¡¼ÀÇ ÅëÇÕÀ» Æ÷±âÇÏ°í ±¸Çö ¼öÁØ¿¡¼ Å×½ºÆ®¸¦ ÅëÇØ ÅëÇÕÇÏ´Â ¹æ½ÄÀ» µû¶ó¾ß ÇÏ´Â ¹®Á¦Á¡À» ³»Æ÷Çϰí ÀÖ¾ú´Ù.
µ¡ºÙ¿© µÎ Áø¿µ¿¡¼ ÇØ°áÇÏÁö ¸øÇÑ °áÁ¤ÀûÀÎ ¹®Á¦ ÁßÀÇ Çϳª´Â ½ÇÁ¦ ±¸Çö(code)¿¡ ÇÊ¿äÇÑ ³·Àº Ãß»óÈ ¼öÁØÀÇ ¼³°è¿¡ ´ëÇØ¼¸¸ÅÀº ¾î¼³Ç UML 1.xÀÇ ¸ÞÄ¿´ÏÁò¸¸ÇÑ ¼öÁØÀÇ ¹æ¾ÈÀ» Á¦½ÃÇÏÁö ¸øÇß´Ù´Â °ÍÀÌ´Ù.
UML 2.0¿¡¼ »õ·Ó°Ô µîÀåÇÑ º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥Àº ¹Ù·Î Áö±Ý±îÁö ¾Õ¼ »ìÆì º» ¾ÆÅ°ÅØÃ³ Àü¹®°¡ Áø¿µÀ¸·Î ´ëÇ¥µÇ´Â ÀÓº£µðµå ȤÀº ¸®¾óŸÀÓ µµ¸ÞÀÎÀÇ ÇÙ½É °³³äÀÌÀÚ µµ±¸¿´´ø SDL(Specification Description Language)À» ¼ö¿ëÇÏ¿© ź»ýÇÑ ´ÙÀ̾î±×·¥ÀÌ´Ù.
 |
| <±×¸² 2> UML 2.0 º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥ ¿¹ |
UMLÀ» Àá½Ã¶óµµ »ìÆì º» °æÇèÀÌ ÀÖ´Â °³¹ßÀÚµéÀ̶ó¸é, º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥ÀÇ °³·«ÀûÀÎ ÇüŸ¸À» º¸°í¼µµ ½±°Ô ±× Ư¡À» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Áï, º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥Àº ¸Å¿ì Á÷°üÀûÀÎ ÇüŸ¦ ÃëÇϰí ÀÖÀ¸¸ç, ±âÁ¸ÀÇ UML 1.x¿¡¼ ´Ü¼øÇÑ ÆÐŰÁö °³³äÀÇ ¼ºê½Ã½ºÅÛ ³»ºÎ¸¦ ±¸¼ºÇϰí Àִ Ŭ·¡½º ´ÙÀ̾î±×·¥À¸·Î¸¸ Ç¥ÇöÀÌ °¡´ÉÇÏ´ø ½Ã½ºÅÛ ³»ºÎ ±¸Á¶¸¦ º¸´Ù ¼¶¼¼ÇÏ°Ô ¼³°èÇÒ ¼ö ÀÖ°Ô µÆ´Ù.
±×·¸´Ù°í <±×¸² 2>¿Í °°ÀÌ ´ëºÎºÐÀÇ UML 2.0À» ±â¹ÝÀ¸·Î ÇÑ »ùÇõéó·³ ÀÓº£µðµå³ª ¸®¾óŸÀÓ µµ¸ÞÀΰú °°ÀÌ »ó´ëÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾îÀÇ ºñÁßÀÌ ÀÛÀº ´ÜÀ§ ½Ã½ºÅÛÀ̳ª, ƯÁ¤ MIS ºÐ¾ßÀÇ ´ÜÀ§ ¼ºê½Ã½ºÅÛÀÇ ³»ºÎ ¼³°è¿¡¸¸ ±¹ÇÑµÇ¾î º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥À» Ȱ¿ëÇÏ°Ú´Ù°í »ý°¢ÇÑ´Ù¸é, UML 2.0ÀÇ º»ÁúÀ» Á¦´ë·Î ÀÌÇØÇÏÁö ¸øÇϰí ÀÖ´Â °ÍÀÌ´Ù.
º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥ÀÇ ÇüÅ´ ¾Õ¼ ¾ð±ÞÇÑ ¾ÆÅ°ÅØÃ³ Àü¹®°¡ Áø¿µ¿¡¼ ¾ÆÅ°ÅØÃ³¸¦ Ç¥±âÇϴµ¥ °¡Àå ¸¹ÀÌ È°¿ëÇÏ´Â ¾ÆÅ°ÅØÃ³ ½ºÅ¸ÀÏÀÎ C&C(Component & Connector) ºä ŸÀÔ(view type)°úµµ ÀϸƻóÅëÇϴµ¥, º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥À» Ȱ¿ëÇϰíÀÚ ÇÏ´Â ¸ðµ¨ÀÇ Ãß»ó ¼öÁØÀ» ³ôÀÌ¸é ´ë±Ô¸ð ½Ã½ºÅÛÀÇ ¾ÆÅ°ÅØÃ³µµ ¸Å¿ì À¯¿ëÇÏ°Ô ¼³°èÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
<±×¸² 2>¿¡¼ º¥µù¸Ó½Å(VendingMachine)À¸·Î µÇ¾î ÀÖ´Â ºÎºÐÀ» Àλç½Ã½ºÅÛÀ̶ó Á¤ÀÇÇÏ°í ³»ºÎ ºÎºÐ(parts)µéÀ» ±×°ÍÀ» ±¸¼ºÇϰí ÀÖ´Â ´ÜÀ§ ½Ã½ºÅÛÀ¸·Î Á¤ÀÇÇÏ°Ô µÇ¸é, ¿ÜºÎ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ȸ°è½Ã½ºÅÛ(AS)À̳ª °í°´°ü¸®½Ã½ºÅÛ(CRM) µî°ú ÁÖ°í¹Þ¾Æ¾ß ÇÒ µ¥ÀÌÅͳª Á¤º¸¸¦ ¸í½ÃÀûÀ¸·Î ¼³°è¿¡ ¹Ý¿µÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¹Ù·Î ¼³°èÀÚ°¡ ÀǵµÇÏ´Â ¾î¶°ÇÑ Ãß»óÈ ¼öÁØÀÇ ¸ðµ¨ÀÌ¶óµµ UML 2.0ÀÇ º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥Àº º¸´Ù ¼¶¼¼ÇÏ°Ô ¼³°èÇÒ ¼ö ÀÖµµ·Ï ÀϰüµÈ ¹®¸Æ(context)°ú ÀǹÌ(semantics)¸¦ Á¦°øÇϰí ÀÖ´Â °ÍÀÌ´Ù.
»óºÎ±¸Á¶ - ÇàÀ§Çü ´ÙÀ̾î±×·¥
UML 2.0 »óºÎ±¸Á¶ Áß ±¸Á¶Çü ´ÙÀ̾î±×·¥Àº ¸» ±×´ë·Î ±¸Á¶ÀûÀÎ Çõ¸íÀ» ²ÒÇß´Ù¸é, ÇàÀ§Çü ´ÙÀ̾î±×·¥ ±º¿¡¼´Â ½Ã½ºÅÛÀÇ µ¿Àû ¼³°è¸¦ Á¦´ë·Î ¹Ý¿µÇϱâ À§ÇØ ±âÁ¸ÀÇ ÇàÀ§Çü ´ÙÀ̾î±×·¥ ±º ¼Ò¼Ó ´ÙÀ̾î±×·¥ÀÇ ÀǹÌ(semantics)¸¦ º¸°Çϰí Á¤Á¦ÇÔÀ¸·Î½á, ÁøÈ ¹æ½ÄÀ» ¼±ÅÃÇߴٴ ǥÇöÀÌ ÀûÀýÇÒ °Í °°´Ù.
±× ±Ù°Å·Î¼ ¾Õ¼ º¹ÇÕ ±¸Á¶ ´ÙÀ̾î±×·¥À¸·Î ´ëÇ¥µÇ´Â ±¸Á¶Çü ´ÙÀ̾î±×·¥¿¡¼ ¼ö¿ëÇÑ SDLÀÇ °æ¿ì¿Í´Â ´Ù¸£°Ô UML 1.x¿¡¼ ÀÌ¹Ì ¼ö¿ëÇÏ´ø MSC(Message Sequence Chart) °³³äÀ» UML 2.0¿¡ ¿Í¼´Â ÀüÆøÀûÀ¸·Î ¼ö¿ëÇÏ¿© ¼øÂ÷µµ(Sequence Diagram)¸¦ Áß½ÉÀ¸·Î ÇàÀ§Çü ´ÙÀ̾î±×·¥µéÀÇ À¯±âÀû °áÇÕ Åë·Î¸¦ È®º¸ÇÔÀ¸·Î½á ½Ã½ºÅÛÀÇ ¸ðµ¨ ¼öÁØ¿¡¼ÀÇ ³í¸®ÀûÀÎ ½ÇÇàÀ» ±×´ë·Î ¼³°è¿¡ ¹Ý¿µÇÒ ¼ö ÀÖ´Â ¹ßÆÇÀ» ¸¶·ÃÇß´Ù.
 |
| <±×¸² 3> UML 2.0 ¼øÂ÷µµÀÇ ¿¹ |
<±×¸² 3>¿¡¼ º¸´Â ¹Ù¿Í °°ÀÌ UML 2.0 ¼øÂ÷µµÀÇ °¡Àå µÎµå·¯Áø Ư¡Àº, ±âÁ¸ÀÇ UML 1.x¿¡¼ Áö¿øÇÏÁö ¸øÇß´ø ½Ã½ºÅÛÀÇ ºÐ±â, ÂüÁ¶, º´·Ä ½ÇÇà µî°ú °°Àº ¼¼¼¼ÇÑ ºÎºÐµé±îÁöµµ Áö¿øÀÌ °¡´ÉÇϵµ·Ï ÁßøµÈ(nested) Ç¥±â¹ý ü°è¸¦ ¼³°è ±â¹ýÀ¸·Î µµÀÔÇß´Ù´Â »ç½ÇÀÌ´Ù.
MSC¿Í °°Àº ±â¹ý¿¡ Àͼ÷ÇÑ °³¹ßÀڵ鿡°Ô´Â ¾ð¶æ º¸±â¿¡ º°·Î ƯÀÌÇÒ °ÍÀÌ ¾ø¾î º¸ÀÏÁö ¸ð¸£Áö¸¸, Áß¿äÇÑ »ç½ÇÀº UML 2.0À» Ç¥ÁØ Ç¥±â¹ýÀ¸·Î ¼ö¿ëÇÔÀ¸·Î½á ¾î¶°ÇÑ ºñÁî´Ï½º µµ¸ÞÀÎÀ̳ª ±â¼ú ¿µ¿ª¿¡¼µµ <±×¸² 3>ÀÇ ¼øÂ÷µµ »Ó¸¸ ¾Æ´Ï¶ó UML 2.0ÀÇ ´Ù¸¥ ´ÙÀ̾î±×·¥µé°ú À¯±âÀûÀÎ ¿¬°á°í¸®¸¦ °¡Áö°í Ȱ¿ëÇÔÀ¸·Î½á °ÅÀÇ ¹«ÇÑ´ë¿¡ °¡±î¿î Ç¥Çö ¼ö´ÜÀ» È®º¸ÇÒ ¼ö ÀÖ´Ù´Â »ç½ÇÀÌ´Ù.
UML 2.0 »óºÎ±¸Á¶ Áß ÇàÀ§Çü ´ÙÀ̾î±×·¥ÀÇ °»½Å¿¡ ´ëÇØ ¸¹Àº °ü½ÉÀ» °¡Áö´Â »ç¶÷Àº ÀÓº£µðµå ȤÀº ¸®¾óŸÀÓ Áø¿µ¿¡ Á¾»çÇϰí ÀÖ´Â °³¹ßÀÚµéÀ̰ÚÁö¸¸, ±âÁ¸ÀÇ ºñÁî´Ï½º ÇÁ·Î¼¼½º ¸ðµ¨¸µ ºÐ¾ß¿¡¼ Á¾»çÇÏ´ø °³¹ßÀÚ Áø¿µµµ ±íÀº °ü½É°ú ±â´ë¸¦ °¡Áö°í ÀÖ´Ù.
ÇÊÀÚ ¶ÇÇÑ ºñÁî´Ï½º ÇÁ·Î¼¼½º ¸ðµ¨¸µ°ú °ü·ÃÇÏ¿© ÇàÀ§ Çü ´ÙÀ̾î±×·¥ÀÇ Æ¯¼º°ú ÃÖÀû ¹æ¾ÈÀ» ¸ð»öÇϰí Àִµ¥, µ¿ÀÏ ºñÁî´Ï½º µµ¸ÞÀο¡¼Á¶Â÷ °³º° ±â¾÷¸¶´Ù ±× Ư¼º°ú ºñÁî´Ï½º ÇÁ·Î¼¼½º ó¸® ¹æ½ÄÀÌ ÃµÂ÷¸¸º°ÀÎ ¹®Á¦¸¦ ÇØ°áÇϰíÀÚ µîÀåÇß´ø ¿öÅ©ÇÃ·Î¿ì ¿£Áø ȤÀº ¼³°è ½Ã½ºÅÛ(workflow engine or system)°ú °°Àº Àü¹®ÀûÀÎ µµ±¸ÀÇ ±â´ÉÀ» ÃæºÐÈ÷ ´ëÄ¡ÇÒ ¹æ¾ÈÀÌ ¸¶·ÃµÈ °ÍÀ¸·Î Æò°¡µÇ°í ÀÖ´Ù.
ÇϺα¸Á¶ - ¸ÞŸ ¸ðµ¨
¼ÒÇÁÆ®¿þ¾î °øÇÐ ºÐ¾ß¿¡¼´Â ÀÌ·± ¼Ó¼³ÀÌ ÀÖ´Ù. ÀÚ½ÅÀÇ ºÐ¾ß¿¡¼ ¸ÞŸ ¸ðµ¨ ±â¹ÝÀÇ Á¢±ÙÀ» ÇÏ°Ô µÇ¸é ÇϳªÀÇ ³í¹®ÀÌ µÈ´Ù. ¸ÅÀÏ °í°´µé°ú ¾¾¸§ÇÏ¸é¼ ÇöÀå¿¡¼ ÀÏÇÏ´Â °³¹ßÀڵ鿡°Ô´Â ¸Õ ³ª¶ó À̾߱âó·³ µé¸®°í, Çö½ÇÀûÀ¸·Î´Â ÀÏÁ¤ ±Ô¸ðÀÇ ¿¬±¸¼Ò ȤÀº Çб³¿¡¼³ª ´Ù·ç¾îÁú ¸¸ÇÑ ÁÖÁ¦·Î Ä¡ºÎµÆ´ø °ÍÀÌ »ç½ÇÀÌ´Ù.
UML 2.0 ÇϺα¸Á¶(Infrastructure)´Â ÀϹÝÀûÀ¸·Î UML 2.0À» ÁöĪÇÒ ¶§ »ý°¢ÇÏ´Â UML 2.0 »óºÎ±¸Á¶»Ó¸¸ ¾Æ´Ï¶ó OMGÀÇ ¶Ç ´Ù¸¥ ¸ÞŸ ¸ðµ¨ ÁýÇÕÀÎ MOF, CWM »Ó¸¸ ¾Æ´Ï¶ó ¹Ì·¡ÀÇ »õ·Î¿î Ç¥ÁØÀ» Á¤ÀÇÇϱâ À§ÇØ ½ÉÇ÷À» ±â¿ï¿© Á¤ÀÇÇÑ ¸ÞŸ ¸ðµ¨ÀÌ´Ù.
OMG¿¡¼ óÀ½ ¸ÞŸ ¸ðµ¨ 4°èÃþ °³³äÀ» ¹ßÇ¥ÇßÀ» ¶§¿¡´Â ±×Àú °³³äÀûÀÎ ³»¿ëÀ¸·Î¸¸ ÀνÄÇÏÁö ¸øÇßÁö¸¸, UML 2.0ÀÇ ½Çü°¡ µå·¯³ª°í ±×°ÍÀ» Áö¿øÇÏ´Â ÄÉÀ̽º µµ±¸µéÀÇ ±â´ÉµéÀÌ ¸ÞŸ ¸ðµ¨ ±â¹Ý ¼³°è ¹æ½ÄÀ» Áö¿øÇÔÀ¸·Î½á, ÀÌÁ¦´Â ¸ÞŸ ¸ðµ¨À̶ó´Â ÁÖÁ¦°¡ ÇöÀå¿¡¼Á¶Â÷ ÇÇÇØ°¥ ¼ö ¾ø´Â Çö½Ç ¹®Á¦·Î ´Ù°¡¿Ã °ÍÀÌ´Ù. ±×·¯¹Ç·Î ÀÌÁ¦´Â ¸ÞŸ ¸ðµ¨ 4°èÃþ °³³äÀ» ÃæºÐÈ÷ ÀÌÇØÇϰí ÀÀ¿ëÇÏ´Â ³ë·ÂÀ» ±â¿ïÀÏ Çʿ䰡 ÀÖ´Ù.
 |
| <±×¸² 4> OMG 4°èÃþ ¸ÞŸ ¸ðµ¨ ¿¹ |
±ÛÀÇ ÁÖÁ¦¿Í Áö¸é °ü°è»ó ¸ÞŸ ¸ðµ¨¿¡ ´ëÇÑ ±íÀÌ ÀÖ´Â ³íÀǸ¦ ÇÏÁö´Â ¸øÇÏÁö¸¸, <±×¸² 4>ÀÇ ¿¹·Î °£´ÜÈ÷ »ìÆìº¸ÀÚ. ½Ã½ºÅÛ ºÐ¼®°¡³ª ¼³°èÀÚµéÀÌ ÀϹÝÀûÀÎ ¸ðµ¨¸µ ÄÉÀ̽º µµ±¸¸¦ ÅëÇØ ƯÁ¤ µµ¸ÞÀÎ ½Ã½ºÅÛÀ» ¼³°èÇÑ´Ù°í ÇßÀ» ¶§ÀÇ ¸ÞŸ ¸ðµ¨ ¼öÁØ(level)ÀÌ ¹Ù·Î »ç¿ëÀÚ ¸ðµ¨À» µµ½ÄÇÏ°Ô µÇ´Â M1 ¼öÁØÀÌ´Ù.
M2 ¼öÁØÀº ±×·¯ÇÑ UML ±â¹ÝÀÇ ¼³°è¸¦ °¡´ÉÄÉ ÇÏ´Â ¾îÆ®¸®ºäÆ®, Ŭ·¡½º, ÀνºÅϽº µî°ú °°Àº ¸ðµ¨ ¿ä¼Ò¸¦ Á¤ÀÇÇÏ´Â ¸ÞŸ ¸ðµ¨À̸ç, UML 2.0ÀÇ ÇϺα¸Á¶´Â ¹Ù·Î À§ 4°èÃþ ¸ÞŸ ¸ðµ¨ °üÁ¡¿¡¼ M2 ¼öÁØÀÇ UML ¸ÞŸ ¸ðµ¨ÀÌ µÈ´Ù. M3 ¼öÁØ¿¡ À§Ä¡ÇÑ MOF(Meta Object Facility)´Â M2 ¼öÁØ¿¡ ¼ÓÇÑ ¸ÞŸ ¸ðµ¨À» Á¤ÀÇÇÏ´Â ¸ÞŸ¸ÞŸ ¸ðµ¨ÀÌ µÈ´Ù.
Âü°í·Î CWM(Common Warehouse Metamodel)Àº M2 ·¹º§À̸ç, MOFÀÇ ³»ºÎ ±¸Á¶´Â Ãß»óÈµÈ UML ÇϺα¸Á¶¿Í µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î Á¤ÀÇÇϰí ÀÖ´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº OMG UML 2.0 Infrastructure, 7. Language Architecture¸¦ ÂüÁ¶ÇÑ´Ù.
¾Õ¿¡¼ »ìÆì º» ¹Ù¿Í °°ÀÌ OMG¿¡¼ UML 2.0 °ü·Ã Á¦¾È¿äû¼(RFP)¸¦ Á¦±âÇÑ ¸ñÀûÀº ´Ü¼øÈ÷ UML 2.0À» ü°èÀûÀ¸·Î Á¤¸®ÇϰíÀÚ ÇÑ °ÍÀÌ ¾Æ´Ï¶ó, OMGÀÇ ¶Ç ´Ù¸¥ Ç¥ÁØÀÎ MOF¿Í CWM ¹× ¹Ì·¡ÀÇ »õ·Î¿î Ç¥ÁØÀ» ü°èÀûÀ¸·Î Á¤ÀÇÇϱâ À§ÇÑ ¿ëµµ·Î Á¦±âµÆ´ø °ÍÀÌ´Ù. ¿©±â¼ ¿ì¸®°¡ ÁÖ¸ñÇØ¾ß ÇÒ »çÇ×Àº UML 2.0 ÇϺα¸Á¶¿¡ ´ëÇÑ Á¦¾È¿äû¼¸¦ ÅëÇØ Á¦±âÇÑ ¶Ç ´Ù¸¥ ¸ñÀûÀÌ´Ù.
±×°ÍÀº ¹Ù·Î Áö±Ý±îÁö M1 ¼öÁØ¿¡¼ UMLÀ» Ȱ¿ëÇÏ´ø »ç¿ëÀÚµéÀÌ º¸´Ù ¼ö¿ùÇÏ°Ô M2 ¼öÁØ¿¡¼ UMLÀ» Ä¿½ºÅ͸¶ÀÌ¡ÇÏ¿© Ȱ¿ëÇÒ ¼ö ÀÖ´Â ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÏ´Â, Áï ÀÌ¿øÈµÈ ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÏ¿© »ç¿ëÀÚµéÀÌ À¯¿¬ÇÏ°Ô Æ¯Á¤ ±â¼ú µµ¸ÞÀÎÀ̳ª ºñÁî´Ï½º µµ¸ÞÀο¡ ÃÖÀûÈµÈ ¹æ½ÄÀ¸·Î ¼³°è¸¦ ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇÏÀÚ´Â µ¥ ±× ÃëÁö°¡ ÀÖ¾ú´Ù.
±× ÇÙ½ÉÀÌ ¹Ù·Î UML ÇÁ·ÎÆÄÀÏ(UML Profiles)ÀÌ´Ù. Áö±Ý UML 2.0 ÀÛ¾÷°ú µ¿½Ã¿¡ ÁøÇàµÇ°í ÀÖ´Â ´ëÇ¥ÀûÀÎ ±â¼ú µµ¸ÞÀÎ ÇÁ·ÎÆÄÀϷδ ¿ì¸®µé¿¡°Ô Ä£¼÷ÇÑ EJB ÇÁ·ÎÆÄÀÏ(Profile for EJB), ´å³Ý ÇÁ·ÎÆÄÀÏ(Profile for .Net)À» µé ¼ö ÀÖ´Ù. ÇÁ·ÎÆÄÀÏÀ» °£´ÜÈ÷ ¼³¸íÇϸé, ÀÏÁ¾ÀÇ Æ¯Á¤ ±â¼úÀ̳ª ºñÁî´Ï½º¿¡ ÀûÀýÇÑ Ä¿½ºÅ͸¶ÀÌ¡µÈ È®Àå ¸ÞÄ¿´ÏÁòÀ» »çÀü Á¤ÀÇÇØ ³õ°í, Ãß»óÈ ¼öÁØÀÌ ¼·Î ´Ù¸¥ ¸ðµ¨µé°£ÀÇ Àüȯ(transformation)À» ÀÚµ¿È½ÃŰ´Â ÇÙ½É ¸ÞÄ¿´ÏÁòÀÌ´Ù.
Ç÷§Æû µ¶¸³ ¸ðµ¨(PIM: Platform Independent Model)·ÎºÎÅÍ Æ¯Á¤ Ç÷§Æû Á¾¼Ó ¸ðµ¨(PSM: Platform Specific Model)·ÎÀÇ ÀÚµ¿ÈµÈ ÀüȯÀ̶ó´Â MDAÀÇ »ç»óÀÌ ¹Ù·Î ´ëÇ¥ÀûÀÎ ÀϷʶó°í º¼ ¼ö ÀÖ´Ù. UML ÇÁ·ÎÆÄÀÏÀº ÇâÈÄ MDA¸¦ ÅëÇØ¼ ´Þ¼ºÇÏ·Á°í ÇÏ´Â, ¾Æ´Ï ±Ã±ØÀûÀ¸·Î UML 2.0À» ÅëÇØ ´Þ¼ºÇÏ°Ô µÉ ¼ÒÇÁÆ®¿þ¾î °øÇÐÀÇ ÇÙ½É ÈµÎÀÎ ¼ÒÇÁÆ®¿þ¾î °³¹ß »ý»ê¼º Çâ»óÀÇ ÇÙ½É ¸ÞÄ¿´ÏÁòÀ¸·Î Æò°¡ ¹Þ°í ÀÖ´Ù.
¸¸¾à ÀÌ ±ÛÀ» Àд °³¹ßÀÚ°¡ ¼ÓÇÑ °ü·Ã ºÐ¾ß¿¡ MIS ºÐ»ê ½Ã½ºÅÛ °³¹ßÀÇ »ç½Ç Ç¥ÁØÀ¸·Î Åë¿ëµÇ´Â J2EE³ª ´å³Ý µî°ú °°Àº °³¹ß ±â¼ú Ç¥ÁØ ÇÁ·¹ÀÓ¿öÅ©°¡ Á¸ÀçÇÑ´Ù¸é ´ÙÇེ·¯¿î ÀÏÀÌ´Ù. ¸ðµ¨¸µ µµ±¸ º¥´õ¿¡¼ Á¦°øÇÏ´Â EJB ÇÁ·ÎÆÄÀÏÀ̳ª ´å³Ý ÇÁ·ÎÆÄÀϰú °°Àº ±â¼ú ¸ÞŸ ¸ðµ¨Àº ±×´ë·Î Ȱ¿ëÇϰí, °ü½É ºñÁî´Ï½º ¿µ¿ª¿¡ ÇØ´çÇϴ ǥÁØ µµ¸ÞÀÎ ÇÁ·ÎÆÄÀÏÀ» Ȱ¿ëÇϰųª, µ¶ÀÚÀûÀ¸·Î Á¤ÀÇÇØ ¼³°è ÀÛ¾÷À» ÃßÁøÇØ ³ª°¥ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
ÇÏÁö¸¸ ÃÖ¾ÇÀÇ °æ¿ì °ü·Ã ºÐ¾ß¿¡ ±â¼úÀ̳ª µµ¸ÞÀÎ ÇÁ·ÎÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê°í, ´õ¿íÀÌ È°¿ëÇÒ ¸¸ÇÑ ÄÉÀ̽º µµ±¸Á¶Â÷ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é ³°¨ÇÏ´Ù. ÇÏÁö¸¸ UML 2.0À» ÃæºÐÈ÷ Áö¿øÇÏ´Â ¹ü¿ë ȤÀº »ó¿ë ÄÉÀ̽º µµ±¸¸¦ ÅëÇØ ±¸ÇöµÈ ¹æ½ÄÀ̳ª ±â´ÉÀ» »ìÆìº¸¸é ³î¶ö ¸¸Å °£°áÇÏ´Ù. ¹®Á¦´Â UML 2.0ÀÇ ÇÁ·ÎÆÄÀÏ ¹æ½Ä°ú °°Àº ¸ÞÄ¿´ÏÁòÀ» ÀÌÇØÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ±× µ¿¾È °³¹ßÀÚµéÀÌ °£°úÇØ ¿Ô´ø ¹®Á¦, °¡·É ¡°ÇØ´ç ºñÁî´Ï½º µµ¸ÞÀÎÀ» Á¦´ë·Î ÀÌÇØÇϰí ÀÖ¾ú´Â°¡?¡± µî°ú °°Àº ±Ùº»ÀûÀÎ ¹®Á¦¸¦ µÇµ¹¾Æº¸´Â °è±â°¡ µÉ °ÍÀ¸·Î »ý°¢µÈ´Ù.
¾î¶»°Ô ´ëóÇÒ °ÍÀΰ¡
Áö±Ý±îÁö UML 2.0 Ãâ½Ã¸¦ ÀüÈÄÇØ¼ Àü°³µÇ¾î ¿Ô´ø ¼ÒÇÁÆ®¿þ¾î »ê¾÷°èÀÇ Àü¹ÝÀûÀÎ È帧°ú »çȸÀû ÆÄÀå, ±×¸®°í UML 2.0ÀÇ »óºÎ ¹× ÇϺα¸Á¶ÀÇ ÇÙ½É ¸ÞÄ¿´ÏÁòÀ» Áß½ÉÀ¸·Î °£´ÜÈ÷ »ìÆìº¸¾Ò´Ù. ±×·¸´Ù¸é °ú¿¬ ¾îµð¼ºÎÅÍ ¾î¶»°Ô UML 2.0À» ½ÃÀÛÇÒ °ÍÀΰ¡?
±âº» ¿øÄ¢¿¡ Ãæ½ÇÇÏÀÚ
¿ì¼± ½º½º·Î¿¡°Ô UML 1.4´Â Á¦´ë·Î ÀÌÇØÇϰí Ȱ¿ëÇØ ¿Ô´Â°¡¶ó´Â Áú¹®À» ´øÁ® º¸¾Æ¾ß ÇÑ´Ù. ÇÊÀÚÀÇ °æ¿ì ÇÏ´Â ÀÏÀÌ ÇÏ´Â ÀÏÀθ¸Å UML 2.0ÀÌ ¹ßÇ¥µÇ±â ÀÌÀü¿¡µµ ÀÚ¹Ù³ª ºñÁÖ¾ó º£ÀÌÁ÷ µî°ú °°Àº ÇÁ·Î±×·¡¹Ö ¿ë¾î³ª ÁÖÁ¦¿¡ ºñÇØ »ó´ëÀûÀ¸·Î UML(1.x), OOAD, CBD, ¹æ¹ý·Ð µîÀ̶ó´Â ¿ë¾î°¡ ÈξÀ ³¸¼³Áö ¾Ê¾Ò´Ù.
´ç¿¬È÷ ÁÖº¯¿¡´Â »ó´ëÀûÀ¸·Î ÄÚµùº¸´Ù´Â ÇöÀå¿¡¼ ºÐ¼®(analysis)À̳ª ¼³°è(design)¸¦ Àü¹®À¸·Î Çϰųª, Çб³³ª Çпø µî¿¡¼ ÇлýµéÀ» °¡¸£Ä¡´Â »ç¶÷µéÀÌ ¸¹¾ÒÁö¸¸ ±× Áß¿¡ UML 1.x °ü·ÃµÈ OMG ¹«·á ¸í¼¼¸¦ Á¦´ë·Î »ìÆìº¸¾Ò°Å³ª, °¡±îÀÌ µÎ¸é¼ ÂüÁ¶ÇÏ´Â »ç¶÷Àº ã¾Æº¸±â ¾î·Á¿ü´Ù.
ÇÊÀÚ °¡±îÀÌ¿¡ ¡®UML 1.4 »ç¿ëÀÚ Áöħ¼¡¯¸¦ Çѱ۷Π¹ø¿ªÇß´ø ºÐÀ» ÅëÇØ È®ÀÎÇØ º¸¾Æµµ, ±¹³» ÃâÆÇ»ç¿¡¼ Ãâ°£ÇÑ Ã¥ ºÎ¼ö·Î ¹Ì·ç¾î UML ¿ø¹®Àº Â÷Ä¡ÇÏ°í¼¶óµµ ÇÙ½É ³»¿ë¸¸À» Ãß·Á¼ ¹ß°£ÇÑ ±× UML »ç¿ëÀÚ Áöħ¼¸¶Àú ²Ä²ÄÈ÷ »ìÆì º» »ç¶÷Àº º°·Î º¸Áö ¸øÇÑ °Í °°´Ù. ÇÊÀÚµµ ¿¹¿Ü´Â ¾Æ´Ñµ¥, µ·ÀÌ ¾ø¾î¼ ȤÀº ¿ø¼À̱⠶§¹®¿¡¶ó´Â °ÍÀº ÀÌÀ¯°¡ µÇÁö ¾Ê¾Ò´ø °ÍÀÌ´Ù.
±×·±µ¥ UML 2.0ÀÌ °ø½Ä ¹ßÇ¥µÇ´Â ÀÌ ½ÃÁ¡¿¡µµ »óȲÀº ¿¹ÀüÀ̳ª º°¹Ý ´Ù¸£Áö ¾ÊÀº °Í °°´Ù. UML 2.0À¸·Î °ø½Ä °øÇ¥µÇ±â Àü¿¡ ÀÌ¹Ì ¿À·¡ ÀüºÎÅÍ OMG¿¡´Â UML °ü·Ã ¸í¼¼¸¦ 1.5ÀÇ ÇüÅ·ΠÀÎÅͳݿ¡ ¹èÆ÷Çϰí ÀÖ¾úÁö¸¸, »ìÆìº» »ç¶÷Àº ã±â ¾î·Á¿ü´Ù. UML 1.1ÀÌ Ã³À½ ¹ßÇ¥µÇ´ø ½ÃÁ¡¿¡´Â Ç¥±â¹ýÀ¸·Î¼ÀÇ Ç¥ÁØÈ °æÀï¿¡¼ ÆÇÁ¤½ÂÀÌ ³ªÁö ¾Ê¾Ò´ø ¶§¿©¼ ±×·¨´Ù°í ÇÏ´õ¶óµµ, UML 2.0ÀÌ °øÇ¥µÇ´Â ÀÌ ½ÃÁ¡¿¡´Â ÀÌ¹Ì ±¹³»¿Ü ¸¹Àº ´ëÇÐÀÇ ÄÄÇ»ÅÍ °ü·ÃÇаú¿¡¼ Çʼö °ú¸ñÀ¸·Î °³¼³µÇ¾úÀ» ¸¸Å ±× Á߿䵵¿Í Çʿ伺ÀÌ °ËÁõµÈ ¸¶´ç¿¡ ¾Ö½á ±× »ç½ÇÀ» ¿Ü¸éÇÏ´Â °ÍÀº ´õ ÀÌ»ó ÀÌÀ¯°¡ µÉ ¼ö ¾ø´Ù.
¹°·Ð Áö±Ý±îÁöÀÇ Çö½ÇÀº ±×·¸Áö ¸øÇß´ø °ÍÀÌ »ç½ÇÀÌ´Ù. UML Àü¹®°¡µé¸¶Àúµµ UML 1.xÀÇ ¼³°è µµ±¸·Î¼ÀÇ ¿Ï¼ºµµ°¡ ¹ÞÃÄÁÖÁö ¸øÇß°í, ¹«¾ùº¸´Ùµµ °í°´µéµµ À¯±âÀûÀ¸·Î ³í¸®ÀûÀÎ ¼³°è ¸ðµ¨À» ±â´ëÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ UMLÀ̶ó´Â Æ÷ÀåÁö¸¦ °¡Áö°í ÇÇ»óÀûÀÌ°í °³³äÀûÀ¸·Î ´ëÃæ ±¸»ö ¸ÂÃß±â½Ä ¼³°è »êÃâ¹°À» ¸¸µé¾î ÁÖ¸é ±×¸¸À̾ú´Ù.
±×·¯³ª ¾ÕÀ¸·ÎÀÇ »óȲÀº ±×·¸Áö ¸øÇÒ °ÍÀÌ´Ù. ´çÀåÀº ¾Æ´Ï°ÚÁö¸¸ UML 2.0 Ç¥±â¹ýÀÌ ¼ÒÇÁÆ®¿þ¾î »ê¾÷ ½ÃÀå¿¡¼ º¸ÆíÀûÀ¸·Î Ȱ¿ëµÇ°í ±¹³»¿Ü¿¡¼ Çϳª µÑ ±× ¹«ÇÑÇÑ ÀáÀç·Â°ú °¡´É¼ºÀÌ Áõ¸íµÇ¾î ±× ½ÃÀå °¡Ä¡°¡ È®¿¬È÷ µå·¯³ª±â ½ÃÀÛÇÏ´Â ½ÃÁ¡¿¡´Â ¿ì¸® ÁÖº¯ÀÇ °í°´µé ¶ÇÇÑ ´Ü¼øÈ÷ º¸±â ÁÁÀº »êÃâ¹° Á¤µµÀÇ ¼³°è¸¦ ¿ä±¸ÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù.
±×·¸´Ù¸é ¾îµð¼ºÎÅÍ ¾î¶»°Ô ÁغñÇØ¾ß ÇÒ °ÍÀΰ¡? ±× ½Ç¸¶¸®´Â óÀ½ Á¢Çϸé ÀÌÇØÇÏ±â ¾î·Æ°í º¹ÀâÇÑ UML 2.0 °ü·Ã ¸í¼¼³ª µÎ²¨¿î Ã¥¿¡¼ ãÀ» °ÍÀÌ ¾Æ´Ï°í, ´©±¸³ª ¾Ë°í ÀÖÀ¸¸é¼µµ Ãæ½ÇÇÏÁö ¸øÇß´ø °¡Àå ±âº»ÀûÀÌ°í ¿øÄ¢ÀûÀÎ ¿ø¸®¸¦ °í¹ÎÇÏ´Â °ÍºÎÅÍ ½ÃÀÛÇØ¾ß ÇÑ´Ù.
¿øÄ¢ Çϳª, µµ¸ÞÀÎÀ» öÀúÇÏ°Ô ºÐ¼®ÇÏÀÚ
½Ã½ºÅÛÀ» ¼³°èÇÑ´Ù°í ÇßÀ» ¶§, UML°ú °°Àº ¼³°è ±â¹ýÀ» µ¿¿øÇÏ¿© ÀÛ¾÷ÇÏ´Â ½Ã½ºÅÛ ºÐ¼® ¹× ¼³°èÀÚ ±×·ì ¿Ü¿¡ ¸Å¿ì Áß¿äÇÑ ¿ªÇÒÀ» ¼öÇàÇÏ´Â Áý´ÜÀ̳ª °³ÀÎÀ» °¡¸®ÄÑ µµ¸ÞÀÎ Àü¹®°¡ ȤÀº ºñÁî´Ï½º ºÐ¼®°¡¶ó°í ÇÑ´Ù. °¡Àå ÀÌ»óÀûÀÎ ½Ã½ºÅÛ ¼³°èÀÚ´Â µÎ °¡Áö ´É·Â Áï, ÇØ´ç µµ¸ÞÀο¡ ´ëÇÑ °øÀÎµÈ Àü¹®ÀûÀÎ Áö½ÄÀ» °¡Áö°í ÀÖÀ¸¸é¼ µ¿½Ã¿¡ ¼³°è ´É·ÂÀ» °í·ç °®Ãá ÀÎÀçÀÏ °ÍÀÌ´Ù.
±×·¯³ª ÇöÀå¿¡¼ ±×·± ÇÙ½É ÀÎÀ縦 ã±â´Â ¾î·Á¿î °ÍÀÌ »ç½ÇÀÌ´Ù. IT ¾÷°è·Î¸¸ º¸´õ¶óµµ ½Ã½ºÅÛ ¼³°èÀÚ¿Í °³¹ßÀÚ °£¿¡ Â÷À̰¡ Á»Ã³·³ Á¼ÇôÁöÁö ¾Ê´Âµ¥, ÀüÇô ±× ºÐ¾ß¿Í Àü°øÀÌ ´Ù¸¥ ºñÁî´Ï½º Àü¹®°¡¿Í ½Ã½ºÅÛ Àü¹®°¡ °£¿¡ ´À³¢´Â °¥µîÀº ¸»ÇÒ Çʿ䵵 ¾ø´Ù. ½Ã½ºÅÛÀ» ¼³°èÇØ º» »ç¶÷Àº ´©±¸¶óµµ °ø°¨ÇϰÚÁö¸¸, ½Ã½ºÅÛÀ» Á¦´ë·Î ¼³°èÇÏ·Á¸é ÇØ´ç µµ¸ÞÀÎÀ» ÃæºÐÈ÷ ÀÌÇØÇϰí öÀúÇÏ°Ô ºÐ¼®ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é Á¦´ë·Î µÈ ½Ã½ºÅÛÀ» ¼³°èÇÒ ¼ö ¾ø´Ù.
½Ã½ºÅÛ ¼³°èÀÚ ÀÔÀå¿¡¼ ¹®Á¦´Â ÇØ´ç µµ¸ÞÀÎÀ» Á¦´ë·Î ÀÌÇØÇϱâ À§ÇÑ ÃæºÐÇÑ ½Ã°£µµ ÁÖ¾îÁöÁö ¾Ê°í, ³ª¸§´ë·Î ½Ã½ºÅÛ ¼³°èÀÚ°¡ ÃæºÐÈ÷ ÀÌÇØÇÑ °ÍÀ» °´°üÀûÀ¸·Î °ËÁõÇØ ÁÙ ¸¸ÇÑ ±âÁصµ ¸¶·ÃµÇ¾î ÀÖÁö ¾Ê´Ù´Â °ÍÀÌ´Ù. ¼³»ç °´°üÀû ±âÁØÀÌ ÀÖ´õ¶óµµ ±×°ÍÀº Çö½ÇÀûÀ¸·Î °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù.
°¡·É ȸ°è ½Ã½ºÅÛÀ» ¼³°èÇÏ·Á¸é ȸ°è»ç ÀÚ°ÝÁõÀ» °®Ãç¾ß Çϴ°¡? ¹°·Ð ¾Æ´Ï´Ù. ±×·±µ¥ ¿ì¸®´Â ÁÖº¯¿¡¼ ŸÀǵç ÀÚÀÇµç Æ¯Á¤ µµ¸ÞÀÎ ½Ã½ºÅÛÀ» ¹Ýº¹Çؼ ¼³°èÇÏ´Â ¼³°èÀÚÀÇ °æ¿ì Á¡Á¡ ÇØ´ç µµ¸ÞÀο¡ ´ëÇÑ ÀÌÇØ·ÂÀÌ ³ô¾ÆÁö°í, ȸ°è»ç¿Í °°Àº °øÀÎµÈ ÀÚ°ÝÁõÀº ÃëµæÇÏÁö ¸øÇÏ´õ¶óµµ ³ª¸§´ë·Î ±× Àü¹®¼ºÀ» ÀÎÁ¤¹Þ¾Æ ½ÃÀå¿¡¼ ³ôÀÌ Æò°¡µÇ´Â °æ¿ì¸¦ º¸°ï ÇÑ´Ù.
ºñ´Ü ½Ã½ºÅÛ ¼³°èÀÚ¿¡°Ô¸¸ ÇØ´çµÇ´Â ¹®Á¦´Â ¾Æ´Ï´Ù. Á¶°¢Á¶°¢ ÇÒ´çµÈ ºÎºÐ¸¸ ¿½ÉÈ÷ ÇØ¾ß ÇÏ´Â °³¹ßÀÚ¿¡°Ôµµ ºñ½ÁÇÑ Çö»óÀº ½±°Ô ã¾Æ º¼ ¼ö ÀÖ´Ù.
¼³°èÇϰíÀÚ ÇÏ´Â ÇØ´ç µµ¸ÞÀο¡ ´ëÇÑ Ã¶ÀúÇÑ ºÐ¼® ¾øÀÌ´Â ÀÏÁ¤ÇÑ Ãß»óÈ ¼öÁØÀ» À¯ÁöÇÑ À¯±âÀûÀÎ ¸ðµ¨À» ¸¸µé¾î ³¾ ¼ö°¡ ¾ø´Ù. ¸î¸î Ã¥À̳ª ¹ßÇ¥ ÀÚ·á¿¡¼ ¼³°è ÆÁÀ¸·Î À̾߱â ÇϵíÀÌ ÇØ´ç µµ¸ÞÀο¡¼ ¹Ýº¹ÀûÀ¸·Î µîÀåÇÏ´Â ¸í»ç(nouns)¸¦ Ŭ·¡½º¸íÀ¸·Î ¸í¸íÇÑ´Ù´Â ½ÄÀ¸·Î ¼³°è¸¦ ÁøÇàÇÏ´Ù º¸¸é Á¡Á¡ Çì¾î³ªÁö ¸øÇÏ´Â ¹Ì±ÃÀ¸·Î ºüÁ®µé°Ô µÈ´Ù. °á±¹¿¡´Â UML 2.0À̶ó´Â °·ÂÇÑ ¼³°è µµ±¸¸¦ °¡Áö°íµµ ¼³°è µû·Î, ÄÚµù µû·Î¶ó´Â ´Ë¿¡¼ ¹þ¾î³¯ ¼ö ¾ø´Ù.
UML Ç¥ÁØÈ¸¦ ÁÖµµÇÏ´Â OMG¿¡ ´ëÇØ¼ ¸¹Àº »ç¶÷µéÀº ´Ü¼øÈ÷ CORBA, ORB µî°ú °ü·ÃÇÑ ±¹Á¦ÀûÀÎ ±â¼ú Ç¥ÁØÈ ´Üü Á¤µµ·Î¸¸ ÀνÄÇϰí ÀÖ´Ù. ÇÏÁö¸¸ ¾Õ¼ ÁÖÀåÇÑ µµ¸ÞÀÎ Áö½Ä ȤÀº µµ¸ÞÀΠǥÁØ¿¡ ´ëÇÑ Á߿伺¿¡ ´ëÇØ¼´Â, ±×·¯ÇÑ ±â¼ú Ç¥ÁØÈ ´Üü·Î Ãâ¹üÇÑ OMG¿¡¼ 2002ºÎÅÍ ¹ßÁ·ÇÏ¿© ÃßÁøÇϰí ÀÖ´Â DTF(Domain Task Forces) À§¿øÈ¸ÀÇ È°µ¿À» »ìÆìº¸¸é ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
ÀÌ¹Ì Àü·«Àü¼ú ÅëÁ¦(C4I), À繫(finance), ÀÇ·á(healthcare), Á¦Á¶(manufacturing), ¿ìÁÖÇ×°ø(space), Åë½Å(telecommunications), ¿î¼Û(transportation) µîÀÇ µµ¸ÞÀÎÀ» ÇʵηΠ±× Ç¥ÁØÈ ÀÛ¾÷À» ÁøÇà Áß¿¡ ÀÖÀ¸¸ç, ¿©·¯ Ç¥ÁØÈ ´Üüµé°ú ¿¬ÇÕÇÏ¿© ´Ù¸¥ µµ¸ÞÀÎÀ¸·Î±îÁö Ç¥ÁØÈ ÀÛ¾÷À» È®Àå Áß¿¡ ÀÖ´Ù.
¹°·Ð ¾ÆÁ÷±îÁö ±× ½Ãµµ´Â ±â¼úÀûÀÎ °üÁ¡¿¡¼ÀÇ Á¢±ÙÀ̶ó´Â ÇѰ踦 Å©°Ô ¶Ù¾î ³Ñ°í ÀÖÁö´Â ¸øÇÏÁö¸¸ ÀÎÅͳÝ, Áï IT ±â¼úÀ» ¹èÁ¦ÇÑ °íÀüÀû ÀǹÌÀÇ ºñÁî´Ï½º´Â Á¡Â÷ ±× °æÀï·ÂÀ» ÀÒ¾î °¡°í ÀÖ´Â Çö½ÇÀ» »ý°¢ÇÒ ¶§ OMGÀÇ ¿µÇâ·ÂÀº ½±°Ô ¹«½ÃÇÒ ¼ö ¾ø´Â °ÍÀÌ µÉ °ÍÀÌ´Ù.
¿øÄ¢ µÑ, ¸ðµ¨ÀÇ Ãß»ó ¼öÁØ
»çÀüÀû Àǹ̷εµ ¾Ë ¼ö ÀÖµíÀÌ ¸ðµ¨Àº º»ÁúÀûÀ¸·Î ¾î¶² ƯÁ¤ »ç¹°À̳ª Çö»ó¿¡ ºñÇØ »ó´ëÀûÀ¸·Î Ãß»óȵǾî ÀÖ´Â ¹«¾ùÀ̱⠶§¹®¿¡ ¶È°°Àº ½Çü¿¡ ´ëÇÑ ¼·Î ´Ù¸¥ ¸ðµ¨Àº ¼·Î ´Ù¸¥ Ãß»óÈ ¼öÁØ(level of abstraction)À» °¡Áú ¼ö¹Û¿¡ ¾ø´Ù.
 |
| <±×¸² 5> ¸ðµ¨ÀÇ ¼·Î ´Ù¸¥ Ãß»óÈ ¼öÁØ |
<±×¸² 5>¸¦ º¸¸é ¶È°°Àº ÀÚµ¿Â÷¸¦ ¸ðµ¨·Î ¸¸µç °ÍÀÌÁö¸¸, »ó´ÜÀÇ ÀÚµ¿Â÷ ±×¸²(ȤÀº ¸ðµ¨)Àº Ãß»óÈ ¼öÁØÀÌ ³ô°í ÇÏ´ÜÀÇ ÀÚµ¿Â÷´Â Ãß»óÈ ¼öÁØÀÌ ³·´Ù. ¿©±â¼ Áß¿äÇÑ °ÍÀº Ãß»óÈ ¼öÁØÀÇ ³ô°í ³·À½Àº »ó´ëÀûÀ̶ó´Â °ÍÀÌ´Ù. ¿ì¸®°¡ UML¿¡¼ Á¦½ÃÇÏ´Â ¿©·¯ ´ÙÀ̾î±×·¥À» °¡Áö°í ¸ðµ¨À» Á¦ÀÛÇÑ´Ù´Â °ÍÀº °á±¹ ¸ñÇ¥ÇÏ´Â ÀÚµ¿Â÷³ª °Ç¹° µî°ú ¸¶Âù°¡ÁöÀÇ ½Çü Áï, ƯÁ¤ ½Ã½ºÅÛ Çϳª¸¦ ¿Ï¼ºÇϱâ À§ÇÑ ³ë·ÂÀÎ °ÍÀÌ´Ù.
Áï, ¼³°è ÀÛ¾÷À» ¼öÇàÇÑ´Ù´Â UML 1.4ÀÇ Ç¥±â¹ýÀ» µ¿¿øÇϵç UML 2.0ÀÇ Ç¥±â¹ýÀ» µ¿¿øÇÏµç ¾Æ´Ï¸é Á¦3ÀÇ Ç¥±â¹ýÀ» Ȱ¿ëÇÏµç ¸ñÇ¥ÇÏ´Â ½Ã½ºÅÛÀ» ¿Ï¼ºÇϱâ À§ÇÑ °úÁ¤ÀÌÁö ´ÙÀ̾î±×·¥ ȤÀº Ç¥±â¹ý ÀÚü°¡ ¸ñÀûÀÌ µÇÁö´Â ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¶È°°Àº ¸ðµ¨ÀÇ ¿ø¸®¸¦ UMLÀÇ ´ÙÀ̾î±×·¥À» °¡Áö°í ¼³¸íÇÒ ¼ö ÀÖ´Ù. <±×¸² 5>´Â UML 1.4¿¡¼ Á¦½ÃÇÏ´Â 9°³ÀÇ Ç¥ÁØ ´ÙÀ̾î±×·¥ÀÇ Ãß»óÈ ¼öÁØÀ» °è·®ÈÇÏ´Â ¹æ¾ÈÀ¸·Î ¹æ»çÇüÀÇ Ç¥·Î µµ½ÄÇØ º» °ÍÀÌ´Ù.
 |
| <±×¸² 6> UML 1.4 ´ÙÀ̾î±×·¥ Ãß»óÈ ºÐÆ÷ |
<±×¸² 6>ÀÇ Áß¾Ó¿¡ À§Ä¡ÇÑ ÁöÁ¡À» ¼³°èÀÚ°¡ ¸ñÀûÇÏ´Â ¸ñÇ¥ ½Ã½ºÅÛÀÇ ÄÚµå ȤÀº ¿î¿µ(run-time) ½Ã½ºÅÛÀ̶ó°í ÇÑ´Ù¸é, À¯½ºÄÉÀ̽º Ãà¿¡¼ 0.8À¸·Î Ç¥½ÃµÈ ÁöÁ¡ Á¤µµÀÇ Ãß»óÈ ¼öÁØÀ¸·Î À¯½ºÄÉÀ̽º¸¦ ÀÛ¼ºÇÑ °ÍÀ» ºñÁî´Ï½º À¯½ºÄÉÀ̽º¶ó ÇÒ ¼ö ÀÖ°Ú°í, 0.4 Á¤µµÀÇ ÁöÁ¡ Ãß»óÈ ¼öÁØÀ¸·Î ÀÛ¼ºÇÑ °ÍÀ» ½Ã½ºÅÛ À¯½ºÄÉÀ̽º¶ó°í ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸°Ô °¡Á¤ÇØ º»´Ù¸é, Áß¾Ó¿¡ °¡±î¿î ÁöÁ¡ÀÇ Ãß»óÈ ¼öÁØÀ¸·Î ³·°Ô ¸ðµ¨À» ÀÛ¼ºÇÑ´Ù¸é ¼³°èÀÚ°¡ ¸ñÀûÇÏ´Â ½Ã½ºÅÛÀº º¸´Ù ¼¼¼¼ÇϰÔ(detailed) º¸ÀÌ°Ô µÉ °ÍÀÌ´Ù.
À¯·´ÀÇ ¸ðµç ±æÀÌ ·Î¸¶·Î ÇâÇϵíÀÌ, ¾î¶°ÇÑ ±æ(´ÙÀ̾î±×·¥)À» ¼±ÅÃÇÏ´õ¶óµµ Á¾±¹¿¡´Â ¸ñÀûÁö(¸ñÇ¥ ½Ã½ºÅÛ)¿¡ µµ´ÞÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ °¢ ´ÙÀ̾î±×·¥Àº °¢ÀÚ ¸ñÇ¥ÇÏ´Â ½Ã½ºÅÛÀ¸·Î Á¢±ÙÇÒ ¼ö ÀÖ´Â Ãß»óÈ ¼öÁØÀÇ ÇѰ踦 °¡Áö°í ÀÖ´Ù.
°¡·É, À¯½ºÄÉÀ̽º ´ÙÀ̾î±×·¥¸¸À» °¡Áö°í ½Ã½ºÅÛ ¼³°è¸¦ ¿Ï¼ºÇÒ ¼ö´Â ¾ø´Â °ÍÀÌ´Ù. ¹Ý¸é¿¡, Ŭ·¡½º ´ÙÀ̾î±×·¥¸¸ °¡Áö°í ½Ã½ºÅÛ ¼³°è¿¡ Á¢±ÙÇÏ´Ù º¸¸é ³ª¹«´Â º¸°í ½£À» º¸Áö ¸øÇÏ´Â ¿ì¸¦ ¹üÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î ¼ÒÇÁÆ®¿þ¾î ¼³°è¿¡¼ UMLÀ» Ȱ¿ëÇÏ¿© ¸ñÇ¥ ½Ã½ºÅÛÀ» ¼³°èÇÒ ¶§´Â Çϳª ÀÌ»óÀÇ ´ÙÀ̾î±×·¥À» Ȱ¿ëÇÏ°Ô µÈ´Ù.
´ëÇ¥ÀûÀ¸·Î ¸¹ÀÌ È°¿ëµÇ´Â ´ÙÀ̾î±×·¥À¸·Î´Â À¯½ºÄÉÀ̽º, Ŭ·¡½º, ½ÃÄö½º µîÀ» µé ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¹®Á¦´Â ¿©±â¼ºÎÅÍ ½ÃÀÛ µÈ´Ù. ½Ã½ºÅÛ ¼³°è¿¡ ´ëÇ¥ÀûÀÎ 3°³ÀÇ ´ÙÀ̾î±×·¥À» Ȱ¿ëÇÏµç ¾Æ´Ï¸é 9°³ÀÇ ´ÙÀ̾î±×·¥À» ¸ðµÎ Ȱ¿ëÇϵç Ȱ¿ëÇÏ´Â ´ÙÀ̾î±×·¥µéÀÌ °¢ÀÚ µû·Î Á¸ÀçÇÏ°Ô µÇ´Â °ÍÀÌ´Ù.
À¯½ºÄÉÀ̽º ´ÙÀ̾î±×·¥ µû·Î Ŭ·¡½º ´ÙÀ̾î±×·¥ µû·Î ½ÉÁö¾î´Â µ¿ÀÏÇÑ ½Ã½ºÅÛ¿¡ ´ëÇÑ À¯½ºÄÉÀ̽º ´ÙÀ̾î±×·¥À» ±×¸®´õ¶óµµ ±×¸®´Â »ç¶÷¿¡ µû¶ó ¼·Î ´Ù¸¥ Ãß»óÈ ¼öÁØ(level of abstraction) ȤÀº ÀÔµµ(granularity)ÀÇ À¯½ºÄÉÀ̽º°¡ ÀÛ¼ºµÈ´Ù´Â °ÍÀÌ´Ù. ÀÌ°Ç ºñÁî´Ï½º À¯½ºÄÉÀ̽º´Ï ÀÌ°Ç ½Ã½ºÅÛ À¯½ºÄÉÀ̽º´Ï ÇÏ¸é¼ ¹«ÀǹÌÇÑ ³íÀïÀ¸·Î Ä¡´Ý°Ô µÈ´Ù.
ÀÌ·¯ÇÑ ¹®Á¦¸¦ º»ÁúÀûÀ¸·Î ÇØ°áÃ¥Çϱâ À§Çؼ´Â ±×°ÍÀÌ UML 1.4À̵ç UML 2.0ÀÌµç °¢ ´ÙÀ̾î±×·¥ÀÇ ÁÖµÈ ¿ëµµ(usage)¿Í ¸ñÀû(objectives), ±×¸®°í ±× ÇѰ踦 ÃæºÐÈ÷ ÀÌÇØÇϰí, °¢ ´ÙÀ̾î±×·¥ÀÌ ±×·¯ÇÑ ¿ëµµ¿Í ¸ñÀûÀ» ÃæÁ·½Ã۱â À§ÇØ Á¦½ÃÇϴ Ư¼º Ç¥±â¹ýÀÇ ¸íÈ®ÇÑ ÀÇ¹Ì¿Í ¿ëµµ¸¦ ¼÷ÁöÇØ¾ß ÇÑ´Ù. ±× ÈÄ¿¡ Ȱ¿ëÇÏ·Á´Â ´ÙÀ̾î±×·¥ÀÇ ÇÙ½É Ç¥±âµé °£ÀÇ Ãß»óÈ ¼öÁØ¿¡ ´ëÇØ ÀϰüµÈ ¿øÄ¢(principle)À» ¿ì¼± Á¤¸³ÇÏ°í ¼³°è ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÑ´Ù.
°¡·É ÀÌ·¯ÇÑ ¿øÄ¢ ¼ö¸³ÀÌ °¡´ÉÇÏ´Ù. À¯½ºÄÉÀ̽º ´ÙÀ̾î±×·¥À» ÅëÇØ ÀÛ¼ºÇÑ ÇϳªÀÇ À¯½ºÄÉÀ̽º¸¦ ÇϳªÀÇ È°µ¿µµ(Activity Diagram)·Î µµ½ÄÇϱâ·Î Çß´Ù¸é, Ȱµ¿µµÀÇ È°µ¿(Activity)Àº À¯½ºÄÉÀ̽º ½Ã³ª¸®¿À·Î ÀÛ¼ºÇÏ´Â »ç°Ç È帧(flow of event) »óÀÇ ´ÜÀÏ ½ºÅÜ(step)À̶ó´Â ¿øÄ¢À» ¼³Á¤ÇÏ°Ô µÇ¸é ÀϰüµÈ ¼³°è ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ ¼³°è Àü·«À» À§ <±×¸² 6> À§¿¡ »ó¡ÀûÀ¸·Î Ç¥ÇöÇØ º¸¸é, <±×¸² 7>°ú °°ÀÌ µµ½ÄÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
 |
| <±×¸² 7> ´ÙÀ̾î±×·¥ °£ÀÇ Ãß»óÈ ¼öÁØ Á¶Á¤ |
Áö±Ý±îÁö UML 1.4¸¦ Áß½ÉÀ¸·Î ¸ðµ¨ÀÇ Ãß»ó ¼öÁØÀ̶ó´Â ¿ø¸®¿¡ ´ëÇØ »ìÆìº¸¾Ò´Ù. ±×·¯ÇÑ ¸ðµ¨ÀÇ Ãß»ó ¼öÁØÀ̶ó´Â ÇÙ½É ¸ÞÄ¿´ÏÁòÀº º»ÁúÀûÀ¸·Î UML 2.0À̶ó°í ÇØ¼ ´Ù¸£Áö ¾Ê´Ù. ¾Õ¼± <±×¸² 1>°ú <±×¸² 7>À» ¾ð¶æ ºñ±³ÇØ º¸¾Æµµ UML 2.0¿¡¼´Â Ç¥ÁØ ´ÙÀ̾î±×·¥ÀÇ °³¼ö·Îµµ UML 1.4¿¡ ºñÇØ ¼öÀûÀ¸·Î ¸¹ÀÌ ´Ã¾î³µÀ¸¸ç(<±×¸² 4>¿¡¼ »¡°£»öÀ¸·Î Ç¥½ÃµÈ ´ÙÀ̾î±×·¥), ÀÌÀüºÎÅÍ ÀÖ¾ú´ø ¸î¸î ´ÙÀ̾î±×·¥µéÀº ¸íĪÀÌ º¯°æµÆ°í(<±×¸² 4>¿¡¼ ÃÊ·Ï»öÀ¸·Î Ç¥½ÃµÈ ´ÙÀ̾î±×·¥), ¹«¾ùº¸´Ùµµ Àü¹ÝÀûÀ¸·Î ¸ðµç ´ÙÀ̾î±×·¥µéÀÌ º¸´Ù ¼¶¼¼ÇÑ ¼³°èÀÚÀÇ Àǵµ¸¦ ¹Ý¿µÇÒ ¼ö ÀÖµµ·Ï ¼¼ºÎÀûÀΠǥ±âµéÀÌ ¸¹ÀÌ Ãß°¡µÇ°í ¼¼ºÐȵƴÙ. Áï, »ç¿ëÇÒ ¼ö ÀÖ´Â ´ÙÀ̾î±×·¥ ¼±ÅÃÀÇ Æø(width)ÀÌ ³Ð¾îÁ³°í, ¼³°èÀÚÀÇ Àǵµ¸¦ º¸´Ù Á¤¹ÐÇÏ°Ô ¹Ý¿µÇÒ ¼ö ÀÖ´Â ±íÀÌ(depth)µµ ±í¾îÁ³´Ù.
¿øÄ¢ ¼Â, ¸ðµ¨ ÀÚüÀÇ ¿Ï¼ºµµ¸¦ ³ôÀÌÀÚ
¾Õ¼ ¼ÒÇÁÆ®¿þ¾î ¾÷°è¿¡¼ ÃÖ±Ù ¹ß»ýÇϰí ÀÖ´Â Çö»óµéÀ» ÅëÇØ Àá½Ã ¾ð±ÞÇßÁö¸¸, UML °ü·Ã ±¹³»¿Ü Æ÷·³À̳ª ÇùȸµéÀ» Áß½ÉÀ¸·Î UML ÀÚü ȤÀº ¼³°è ´É·Â ÀÎÁõ Á¦µµ°¡ Á¡Â÷ ¸¹¾ÆÁö°í ÀÖ´Ù. ÇÊÀÚ°¡ ÀÎÁõ Á¦µµÀÇ º»ÁúÀûÀÎ ¸ñÀûÀ̳ª ±× °¡Ä¡ ÀÚü¸¦ ºÎÁ¤ÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸, ¿ÃÇØ »çȸÀûÀ¸·Î Ãæ°ÝÀ» ´øÁ® ÁÖ¾ú´ø ´ëÀÔ ¼ö´É ½ÃÇè¿¡¼ÀÇ ´ë·® ºÎÁ¤ »çŶóµçÁö, ¾ó¸¶ ÀüºÎÅÍ °ø°ø¿¬ÇÏ°Ô Á¦±âµÆ´ø ¿µ¾î °ü·Ã ÀÎÁõ Á¦µµ µî¿¡¼ ¹ß»ýÇϰí ÀÖ´Â ¹®Á¦Á¡ µî¿¡ ºñÃß¾î UML ÀÎÁõ Á¦µµ¿¡¼µµ ÃæºÐÈ÷ ¹ß»ýÇÒ ¼ö ÀÖ´Â ±× º¯º°·Â ¹®Á¦¿¡ ´ëÇØ ¿ì·Á¸¦ °¨Ãâ ¼ö ¾ø´Ù.
±×·¯³ª ´ÙÇàÈ÷µµ UML 2.0ÀÌ °¡Áö°í ÀÖ´Â ±× °·ÂÇÑ Ç¥Çö·Â(semantic expressiveness)°ú ¼¶¼¼ÇÔ(elements precision) ±×¸®°í ´ÙÀ̾î±×·¥µé°£ÀÇ À¯±âÀû ¿¬°á¼º Áö¿ø(support for diagram interchange) ´É·ÂÀ¸·Î ÀÎÇØ ÀÎÁõ¼¸¦ °¡Áö°í ÀÖ´Ù°í µé¸ÔÀÌÁö ¾Ê¾Æµµ ¸ðµ¨ °á°ú¹° ÀÚü·Î ±× ¿Ï¼ºµµ¸¦ °ËÁõ(self verification)ÇÒ ¼ö ÀÖ´Ù. Áï, ¸ðµ¨ °á°ú¹°¸¸À¸·Îµµ ÃæºÐÈ÷ ¼³°èÀÚÀǸ𵨸µ ¿ª·®À» ÃæºÐÈ÷ Áõ¸íÇÒ ¼ö Àִ±â¹ÝÀ» Á¦°øÇϰí ÀÖ´Â °ÍÀÌ´Ù.
UML 2.0ÀÌ °ø½ÄÀ¸·Î ¹ßÇ¥µÇ±â ÀÌÀü ƯÁ¤ ÄÉÀ̽º µµ±¸µéÀ» Áß½ÉÀ¸·Î ½ÃµµµÆÁö¸¸ UML 1.4ÀÇ Á¦¾àÀ¸·Î ±× ½ÇÈ¿¼º(efficiency)À» Àǽɹ޾Ҵø ÄÚµå ÀÚµ¿ »ý¼º(automatic code generation) ±â´ÉÀº ÄÉÀ̽º µµ±¸µéÀÌUML 2.0 ¿£ÁøÀ¸·Î ±³Ã¼ÇÔÀ¸·Î½á ±× ¿Ï¼ºµµ¸¦ ³ôÀÏ ¼ö ÀÖ°Ô µÆ´Ù. ´õ ³ª¾Æ°¡ UML 2.0ÀÌ ³»Æ÷ÇÑ ±× dzºÎÇÑ Ç¥Çö·Â°ú Á¤±³ÇÔÀº, ƯÁ¤ Ç÷§Æû¿¡ Á¾¼ÓÀûÀÎ Äڵ带 »ý¼ºÇØ ³»±â ÀÌÀü¿¡ ÄÉÀ̽º µµ±¸ÀÇ µµ¿òÀ» ÅëÇØ ¸ðµ¨µé¸¸À» °¡Áö°í »çÀü¿¡ ½Ã¹Ä·¹À̼Ǹ¶Àúµµ ¾î·Á¿î ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù.
¾ÕÀ¸·ÎÀÇ Àü¸Á
Áö±Ý±îÁö °³¹ßÀÚµéÀº »õ·Î¿î ±â¼úÀ̳ª Á¦Ç°ÀÌ Ãâ½ÃµÇ¸é, ¿©±âÀú±â¼ È·ÁÇÑ ¼ö½Ä¾î¿Í Âù»ç·Î ¹àÀº ¹Ì·¡¸¦ Àü¸ÁÇÏ´Â À̾߱⿡ ³Ê¹«³ªµµ Àͼ÷ÇØÁ® ÀÖ´Ù. 1997³â UML 1.1ÀÌ Ã³À½ ¼¼»ó¿¡ ³ª¿ÔÀ» ¶§µµ ¸¶Âù°¡Áö¿´´Ù. ±×·± ¸Æ¶ô¿¡¼ ´Ü¼øÈ÷ UML 2.0À̶ó´Â »õ·Î¿î ÆÐ·¯´ÙÀÓ¿¡ ¹«Á¶°Ç ÁÖ¸ñÇÏÀÚ°í ÁÖÀåÇÏ°í ½ÍÁö´Â ¾Ê´Ù. ½Ç¸®¿¡ ¹àÀº ±¹³»¿Ü ¼ÒÇÁÆ®¿þ¾î ¾÷üµé°ú ÇùȸµéÀÇ Çຸ¿Í ¿©·¯ °¡Áö »óȲÀ» Á¾ÇÕÇØ º¸¾Æµµ UML 2.0ÀÌ ¼ÒÇÁÆ®¿þ¾î »ê¾÷°è¿¡ ¹ÌÄ¥ ÆÄÀåÀÇ Å©±â´Â ½Ç·Î ¾öû³¯ °ÍÀ¸·Î ¿¹»óµÈ´Ù.
±×°ÍÀÌ ´õ ÀÌ»ó °Å½º¸¦ ¼ö ¾ø´Â Çö½ÇÀ̶ó¸é ±×·¯ÇÑ µµÀü¿¡ ¼öµ¿ÀûÀ¸·Î ´ëóÇÒ °ÍÀΰ¡, ¾Æ´Ï¸é ´Éµ¿ÀûÀ¸·Î ´ëóÇÒ °ÍÀΰ¡ÀÇ ¹®Á¦´Â µ¶ÀÚ ½º½º·Î ¼±ÅÃÇÒ ¹®Á¦ÀÌ´Ù. Ȥ½Ã À̼٠¿ìÈ¿¡ ³ª¿À´Â °ÅÁþ¸»ÇÏ´Â ´Á´ë À̾߱⿡¼Ã³·³ Áß¿äÇÏ´Ù´Â ¸»À» ³Ê¹« ÀÚÁÖ µé¾î °³¹ßÀÚµéÀÌ UMLÀÇ Á߿伺À» °øÇãÇÑ ¸Þ¾Æ¸® Á¤µµ·Î¸¸ Ä¡ºÎÇϰí Áö³ªÄ¥±î °ÆÁ¤µÉ »ÓÀÌ´Ù.@
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.