·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
[DDD ¨ç] µµ¸ÞÀÎ ÁÖµµ °³¹ß

¾È¿µÈ¸(¢ßITwise ÄÁ¼³ÆÃ ÄÁ¼³ÅÏÆ®)   2008/06/28 12:00:00 PM
Untitled Document
1ºÎ | °í°´°ú °³¹ßÀÚ¸¦ ¾Æ¿ì¸£´Â ÇϳªÀÇ ¾ð¾î µµ¸ÞÀÎÀÌ ÁÖµµÇÏ´Â °³¹ß
2ºÎ | °í°´ ¸¶À½À» ºñÃß´Â °Å¿ï UI ÇÁ·ÎÅäŸÀÌÇÎ
3ºÎ | DDD °³¹ßÀÇ Âû¶±±ÃÇÕ ½ºÇÁ¸µÇÁ·¹ÀÓ¿öÅ©¿Í DDD
4ºÎ | DDD ±â¹ÝÀÇ ¼Ò½º »ý¼º Åø Sculptor·Î »ìÆìº¸´Â DDD
5ºÎ | JSSpecÀ» ÀÌ¿ëÇÑ Çൿ ÁÖµµ °³¹ß BDD(Behavior Driven Development)
[Áöµð³ÝÄÚ¸®¾Æ]¿¡¸¯ ¿¡¹Ý½ºÀÇ DDD(Domain-Driven Design)¿¡¼­ °¡Àå ±â¾ïÇÏ°í ½ÍÀº ³»¿ëÀº ¡®ÇϳªÀÇ ÆÀ¿¡¼­ ÇϳªÀÇ ¾ð¾î·Î¡¯¶ó´Â ºÎºÐÀÌ´Ù. ÇÊÀÚ´Â °æÇèÀ» ÅëÇØ °³¹ß(Development)À» ²ø°í °¡´Â Á߽ɿ¡´Â ÇØ´ç ¾÷¹« Áï, µµ¸ÞÀÎ ÇÁ·Î±×·¥ °³¹ßÀÇ ´ë»óÀÌ µÇ´Â ¾÷¹« ¿µ¿ªÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾ú´Ù. °á±¹, ÀÌ ¹¬Á÷ÇÏ°Ô ÀÚ¸®ÇÏ´Â °ÍÀÌ ½Ã½ºÅÛ °³¹ßÀÇ ¼ºÆÐ¸¦ Á¿ìÇÏ°Ô µÈ´Ù´Â Á¡ ¹è¿ì°Ô µÇ¾ú´Ù. ÀÌ ±Û¿¡¼­´Â ÀÌ·± ¹®Á¦¿¡ ´ëÇÑ ¿Ïº®ÇÑ ÇØ´äÀ» Á¦½ÃÇϱ⠺¸´Ù´Â Çö½ÇÀûÀÎ ÇØ°áÃ¥¿¡ ´ëÇÏ¿© À̾߱âÇϰíÀÚ ÇÑ´Ù.

¡®È­¼º¿¡¼­ ¿Â ³²ÀÚ ±Ý¼º¿¡¼­ ¿Â ¿©ÀÚ¡¯¶ó´Â À¯¸íÇÑ Ã¥ÀÌ ÀÖ´Ù. ÀÌ Ã¥¿¡¼­´Â ³²ÀÚ¿Í ¿©ÀÚ°¡ º»·¡´Â ¼­·Î ´Ù¸¥ º°ÀÎ È­¼º°ú ±Ý¼º¿¡¼­ »ì¾Ò±â ¶§¹®¿¡ ¾ÖÃÊ¿¡ ¼­·Î ´Ù¸¥ Á¸ÀçÀ̸ç, ¼­·Î ´Ù¸¥ °¡Ä¡°ü°ú »ý°¢À» °¡Áö°í ÀÖ¾ú´Ù°í À̾߱âÇÑ´Ù. ±×·±µ¥, À̵éÀÌ Áö±¸·Î ¿Å°Ü¿À¸é¼­ ÀڽŵéÀÌ ¼­·Î ´Ù¸¥ Á¸Àç¿´´Ù´Â »ç½ÇÀ» ÀØ°Ô µÇ¸é¼­ °¥µîÀÌ »ý°Ü³ª±â ½ÃÀÛÇß´Ù´Â ³»¿ëÀ» ´ã°í ÀÖ´Ù.

±×·±µ¥ ÀÌ·± °¥µîÀº ºñ´Ü ³²³à »çÀÌ¿¡¸¸ Á¸ÀçÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù. ÇÁ·ÎÁ§Æ®¿¡¼­µµ ¸¶Ä¡ ¡®È­¼º¿¡¼­ ¿Â °³¹ßÀÚ ±Ý¼º¿¡¼­ ¿Â °í°´¡¯À̶ó´Â ¸»·Î ºñÀ¯ÇÒ ¸¸ÇÑ »óȲÀÌ ¹ú¾îÁø´Ù. XP(Extreme Programming)¿¡¼­ °í°´ÀÌ °³¹ßÆÀÀÇ ÀÏ¿øÀÌ µÇ¾î¾ß ÇÑ´Ù°í ÇÏ´Â ¸»Àº ¸Å¿ì °ø°¨ÇÒ¸¸ÇÑ À̾߱â´Ù. ¹äµµ °°ÀÌ ¸Ô°í Áö¼ÓÀûÀ¸·Î ÇÔ²² ÀÏÇÏ´Ù º¸¸é È­¼ºÀΰú ±Ý¼ºÀÎÀÇ °ÝÂ÷°¡ ÁÙ¾îµéÁöµµ ¸ð¸£´Â Å¿ÀÌ´Ù.

  È­¼º¿¡¼­ ¿Â °³¹ßÀÚ ±Ý¼º¿¡¼­ ¿Â °í°´

ÇÏÁö¸¸, °æÇè ¸¹Àº °³¹ßÀÚ(¾÷¹« ºÐ¼®°¡¸¦ Æ÷ÇÔÇÏ¿© ½Ã½ºÅÛ °³¹ß¿¡ Á¾»çÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸¦ ÅëĪÇÏ´Â ¸»)µéÀº ´Ü¹ø¿¡ ºñÇö½ÇÀûÀ̶ó°í ¸»ÇÒ °ÍÀÌ´Ù. ¾÷¹«ºÐ¼®°¡ ¿ªÇÒÀ» ÇØº» °³¹ßÀÚ¶ó¸é ÃÖÁ¾ »ç¿ëÀÚ°¡ µÉ Çù¾÷ ´ã´çÀÚ¿Í ¸¸³ª´Â ±âȸ°¡ ÃæºÐÇÏÁö ¾Ê´Ù´Â »ç½ÇÀ» Àß ¾Ë°í ÀÖ´Ù.

±×·¡¼­ º¹ÀâÇÑ ¾÷¹«ÀÇ °æ¿ì¿¡´Â °í°´ÀÌ ¾Æ´Ñ ÇØ´ç ¾÷¹«ºÐ¾ßÀÇ Àü¹®°¡¸¦ Æ÷ÇÔ½ÃŰ´Â °æ¿ì°¡ ÀϹÝÀûÀÌ´Ù. ±º ÇÁ·ÎÁ§Æ®¿¡ °¡¸é Á¾Á¾ Àü¿ªÇÑ Àå±³µéÀ» º¼ ¼ö°¡ ÀÖ°í, ±ÝÀ¶ ÇÁ·ÎÁ§Æ®¿¡¼­´Â ÇØ´ç ¾÷¹«¿¡ Á¤ÅëÇÑ »ç¶÷µéÀÌ ¾÷¹« ºÐ¼®°¡·Î Ȱµ¿ÇÑ´Ù.

¾î´À Á¤µµ °í°´À» ´ë½ÅÇÒ ¼ö ÀÖ´Â ¾÷¹« Àü¹®°¡°¡ ÀÖ´Ù°í ¹®Á¦°¡ ½Ã¿øÇÏ°Ô ÇØ°áµÇ´Â °ÍÀº ¾Æ´Ï´Ù. ¿ÜÁÖ °³¹ßÀÌ º¸ÆíÈ­µÈ Çö½ÇÀ» °¨¾ÈÇϸé, ¼­·Î ´Ù¸¥ Ç༺(µµ¸ÞÀÎ)¿¡ »ì´Ù°¡ ¸¸³ª°Ô µÇ´Â È­¼ºÀÎ(°³¹ßÀÚ)°ú ±Ý¼ºÀÎ(°í°´)Àº ±Ùº»ÀûÀ¸·Î Â÷À̰¡ ÀÖ´Ù.

¸ÅÀÏ ÇÁ·Î±×·¥ÀÇ ¼º´ÉÀ» °í¹ÎÇϰí, »õ·Î¿î ±â¼ú ½ÀµæÀ¸·Î ÀÏ»óÀ» º¸³»´ø °³¹ßÀÚ°¡ ¼ö½Ê ³â°£ ¹ßÀüÇØ¿Â »ê¾÷À» ´Ü±â°£¿¡ ÀÌÇØÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù. ¹Ý´ë·Î °í°´ÀÇ °æ¿ì¿¡´Â ¸ðµç ÀÏÀ» ±â¼úÀûÀ¸·Î ÇØ¼®ÇÏ°í »ç°íÇÏ´Â °³¹ßÀÚ¸¦ ÀÌÇØÇϱ⠾î·Á¿ï °ÍÀÌ´Ù.

ÀÌ·¯ÇÑ »óȲÀ» ´õ¿í ¾ÇÈ­½ÃŰ´Â °ÍÀº ¼­·Î°¡ ´Ù¸¥ ¾ð¾î¸¦ ¾´´Ù´Â »ç½ÇÀÌ´Ù. ÀÇ»ç¼ÒÅëÀ» ÅëÇØ ¼­·Î¸¦ ÀÌÇØÇϱâ À§Çؼ­´Â µ¿ÀÏÇÑ ¾ð¾î¸¦ »ç¿ëÇÏ´Â °ÍÀº ÇʼöÀûÀÎ »çÇ×Àε¥ ¸»ÀÌ´Ù.

¼­·Î ´Ù¸¥ ¸»À» »ç¿ëÇÏ´Â °í°´°ú °³¹ßÀÚ
°³¹ßÀÚ°¡ »õ·Î¿î ºÐ¾ßÀÇ ÇÁ·ÎÁ§Æ®¸¦ ¸¸³ª¸é µµ¹«Áö ¾Ë ¼ö ¾ø´Â ¿ë¾îµéÀ» Á¢ÇÏ°Ô µÈ´Ù. Ư¼ö¼ºÀÌ ½ÉÇÑ ¾÷¹«´Â °í°´ÀÇ ¾÷¹« ±ÔÁ¤À̳ª º¸°í¼­¸¦ ¾Æ¹«¸® Àо ÇØµ¶ÀÌ ºÒ°¡´ÉÇÑ °æ¿ìµµ ÀÖ´Ù. ÇÑ ÆäÀÌÁöÀÇ Àý¹Ý°¡·®À» Â÷ÁöÇÏ´Â ´Ü¾î°¡ óÀ½ º¸´Â ¿µ¹® ¾à¾î·Î ±â¼úµÇ¾î ÀÖ´Â ¹®¼­¸¦ »ó»óÇØº¸¶ó.

±×·³ °í°´ÀÇ ÀÔÀå¿¡¼­ »ý°¢ÇØ º¸¸é ¾î¶³±î. ¹Ù»Û ½Ã°£¿¡ ºÒ·¯³»¼­ Ãʺ¸ÀûÀÎ Áú¹®¿¡ ´äº¯À» ÇØÁÖ°í ÀÖ¾ú´Ù. ±×·¯´Ù°¡ ¾ÕÀ¸·Î ¸¸µé¾îÁú ÇÁ·Î±×·¥¿¡ ±Ã±ÝÇÑ ¸¶À½ÀÌ »ý°Ü, °³¹ßÀÚ¿¡°Ô ¹°¾îº¸¾Ò´õ´Ï µµ¹«Áö ¾Ë¾ÆµéÀ» ¼ö ¾ø´Â ¸»¸¸ ÇÑ´Ù.

ÀÌ·¯ÇÑ ¾î·Á¿ò¿¡µµ ºÒ±¸ÇÏ°í °í°´°ú °³¹ßÀÚ°¡ Àß ¼ÒÅëÇØ¾ß¸¸ ¿øÇÏ´Â °á°ú¸¦ ¸¸µé ¼ö ÀÖ´Ù. ¹Ý´ë·Î À̵éÀÌ ¼­·Î ¼ÒÅë¿¡ ½ÇÆÐÇÑ´Ù¸é, ¿øÇÏ´Â °á°ú´Â ³ª¿ÀÁö ¾Ê°í ¼­·Î À߸øµÈ Àϸ¸ ¹Ý¸ñÇÏ°Ô µÉ °ÍÀÌ´Ù. °í°´°ú °³¹ßÀÚ°¡ ¼­·Î¸¦ ¸Í·ÄÇÏ°Ô ºñ³­ÇÏ´Â ÇöÀå¿¡ ÇÊÀÚ ½º½º·Îµµ Âü¿©Çß´ø ¾ÆÇ °æÇèÀÌ ÀÖ´Ù.

°³¹ßÀÚ »çÀÌ¿¡¼­µµ °¢ÀÚÀÇ ¾ð¾î°¡ ÀÖ´Ù
°í°´°ú °³¹ßÀÚ »çÀÌ¿¡¼­¸¸ ÀÇ»ç¼ÒÅëÀÇ ¹®Á¦°¡ ¹ß»ýÇÒ±î? <±×¸² 1>¿¡ Ç¥ÇöÇÑ °Íó·³ µµ¸ÞÀÎÀ» ±¸¼ºÇÏ´Â ÇϳªÀÇ ¾îÈÖ³ª °³³äÀÌ¶óµµ °³¹ßÀÚ À¯Çü¿¡ µû¶ó »óÀÌÇÏ°Ô ¹Þ¾Æµé¿©Áø´Ù.

ÀÌ·¯ÇÑ Çö»óÀº ¼­·Î ´Ù¸¥ À¯ÇüÀÇ °³¹ßÀÚ¸¦ ÇÑ °÷¿¡ ¸ð¾Æ µ¿ÀÏÇÑ µµ¸ÞÀÎ ¿ë¾î¸¦ °¡Áö°í ³íÀǸ¦ ÇØº¸¸é ½±°Ô °üÂûÇÒ ¼ö ÀÖ´Ù. °í°´À» Ç¥ÇöÇÏ´Â µ¿ÀÏÇÑ ¼³°è ¸ðµ¨ÀÌ ¾ø´Ù¸é ÀÌµé »çÀÌÀÇ È¥¼±Àº ½±°Ô ¿¹»óÇÒ ¼ö ÀÖ´Ù.

<±×¸² 1> °³¹ßÀÚ À¯Çü¿¡ µû¶ó ´Þ¶óÁö´Â µµ¸ÞÀÎ °³³äÀÇ Ç¥Çö ¹æ¹ý


UML ¸ðµ¨°ú ÇÁ·Î±×·¥ÀÇ Äڵ尡 ¿Ïº®ÇÏ°Ô ÀÏÄ¡ÇÏÁö´Â ¾Ê´Â´Ù. ¸¶Âù°¡Áö·Î DBÀÇ Å×À̺í À̸§À̳ª Ä®·³ À̸§ÀÌ Å¬·¡½º À̸§À̳ª ¼Ó¼º À̸§°ú ´ëÀÀµÈ´Ù ÇÏ´õ¶óµµ µ¿ÀÏÇÏÁö´Â ¾Ê´Ù. ÇÁ·Î±×·¡¸Ó¿Í DB °³¹ßÀÚ Ä¿¹Â´ÏƼ »çÀÌ¿¡¼­´Â ¿À·£ µ¿¾È ¸Å¿ì ´Ù¸¥ ÀÛ¸í °üÇàÀ» À¯ÁöÇØ¿À°í Àֱ⵵ ÇÏ´Ù.

È­¸é °³¹ßÀÚÀÇ °æ¿ìµµ Å©°Ô ´Ù¸£Áö ¾Ê´Ù. °á±¹Àº ÀÌµé »çÀÌÀÇ ±¸Ã¼ÀûÀÎ Â÷ÀÌÁ¡À» ¹èÁ¦ÇÑ Ãß»óÈ­µÈ Ç¥Çö¹ýÀ» °øÅëÀÇ ¾ð¾î·Î Ȱ¿ëÇÒ ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ¼³°è ¸ðµ¨ÀÌ ±×·¯ÇÑ ¿ªÇÒÀ» ÇØ¾ß ÇÑ´Ù.

ÇϳªÀÇ ÆÀ, ÇϳªÀÇ ¾ð¾î
¿¡¸¯ ¿¡¹Ý½º´Â ÇÁ·ÎÁ§Æ® ÆÀÀÌ ÁöÇâÇÒ ¸ñÇ¥ÁöÁ¡À» ºÐ¸íÇÏ°Ô µµ½ÄÈ­Çß´Ù. <±×¸² 2>´Â DDD 34ÂÊÀÇ ±×¸²À» °£·«ÇÏ°Ô ¿ä¾àÇÑ °ÍÀÌ´Ù. Ubiquitous Language(ÀÌÇÏ UL)´Â °í°´°ú °³¹ßÀÚ ¾çÂÊ¿¡¼­ Åë¿ëµÇ´Â ¾îÈÖ¸¦ ÀǹÌÇÑ´Ù. óÀ½¿¡´Â ±³ÁýÇÕÀÌ ¾øÀÌ ³ª´©¾îÁ® ÀÖ´Ù°í ÇÏ´õ¶óµµ, ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇϸ鼭 ±³ÁýÇÕÀ» ÃæºÐÈ÷ ´Ã·Á°¡¾ß ÇÑ´Ù.

ÇÑÆí, ¾î¶² ¾îÈÖÀÇ °æ¿ì´Â °øÅëÀÇ ¾îÈÖ ±¸½ÇÀ» ÇÏÁö ¸øÇÒ ¼öµµ ÀÖ´Ù. ÇÁ·Î±×·¥¿¡ Æ÷ÇÔ½Ãų ¼ö ¾ø´Â ¾÷¹«ÀÇ ¾îÈÖ³ª ±â¼ú ÀÚü¿¡ ´ëÇÑ °áÁ¤»çÇ×Àº ±»ÀÌ ¼­·Î ³íÀÇÇÏ¿© È¥¶õÀ» ¾ß±âÇÒ ÇÊ¿ä´Â ¾ø´Ù.

<±×¸² 2> Ubiquitous Language


°³¹ßÀÚ »çÀÌ¿¡¼­´Â ¹°·ÐÀ̰í, °í°´°ú °³¹ßÀÚ°¡ ¼­·Î °°Àº ¾ð¾î¸¦ ¾²±â À§ÇÑ ¼ÒÇÁÆ®¿þ¾î Ä¿¹Â´ÏƼÀÇ ³ë·ÂÀÌ ¾ø¾ú´ø °ÍÀº ¾Æ´Ï´Ù. ´Ù¾çÇÑ Ç¥±â¹ýÀÇ ¸ðµ¨ÀÌ °ú°ÅºÎÅÍ Á¸ÀçÇØ¿Ô´Ù. ±×¸®°í À̸§¿¡¼­µµ µå·¯³ªµíÀÌ UML(Unified Modeling Language)Àº ¸ðµ¨¸µ ¾ð¾î¸¦ Ç¥ÁØÈ­Çϱâ À§ÇÑ ¸ñÀûÀ¸·Î ³ªÅ¸³­ °ÍÀÌ´Ù.

´Ù¸¸, UML·Î ÀÛ¼ºÇÑ ¸ðµ¨ÀÌ ¸ðµÎ¿¡°Ô Åë¿ëµÇ°í ÀÖÁö´Â ¸øÇϴٴٴ Á¡ÀÌ ¹®Á¦´Ù.

  ¸ðµ¨ ÁÖµµÀÇ ¼³°è(Model Driven Design)

ÇÊÀÚ°¡ º¸´Ù È¿°úÀûÀÎ ¸ðµ¨¸µ ¹æ¾ÈÀ» °í¹ÎÇÏ´ø ½ÃÁ¡¿¡ ¸¶Ä§ ÇÑ ±ÇÀÇ ´«¿¡ ¶ç´Â Ã¥À» ¸¸³µ´Ù. ¹Ù·Î ¿¡¸¯ ¿¡¹Ý½º(Eric Evans)°¡ ¾´ Domain-Driven Design(ÀÌÇÏ DDD)ÀÌ´Ù. ÀÌ Ã¥Àº ¸ðµ¨¸µ¿¡ ´ëÇÑ Ç³ºÎÇÑ °æÇèÀÌ ¾ø´Â °³¹ßÀÚ¿¡°Ô´Â ±×´ÙÁö À¯¿ëÇÑ Ã¥ÀÌ µÇÁö ¾ÊÀ» ¼ö ÀÖ´Ù. InfoQ »çÀÌÆ®¿¡¼­ ¿ä¾àµÈ À̺ÏÀ» ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù(http://www.infoq.com/minibooks/domain-driven-design-quickly).

<È­¸é 1> Domain-Driven DesignÀÇ Ç¥Áö


¹æ´ëÇÑ ºÐ·®ÀÇ Ã¥ ³»¿ëÀ» Áý¾àÇØ¼­ Àü´ÞÇϱâ À§ÇØ °÷°÷¿¡¼­ ¿¡¸¯Àº DDDÀÇ °ñ°ÝÀ» ÀÌ·ç´Â ¾îÈÖµé·Î ÀÏÁ¾ÀÇ À̵¿ °æ·Î¸¦ ±×·Á³õ¾Ò´Ù. ±× Á߽ɿ¡ ÀÖ´Â µÎ °³ÀÇ ¾îÈÖ°¡ Àִµ¥ Çϳª´Â ¾Õ¼­ ¾ð±ÞÇÑ ULÀÌ´Ù. ÀÌ´Â (°í°´°ú °³¹ßÀÚ) ¸ðµÎ¿¡°Ô Åë¿ëµÇ´Â ¾ð¾î¸¦ ÀǹÌÇÑ´Ù. ´Ù¸¥ Çϳª´Â ¸ðµ¨ÀÌ ÁÖµµÇÏ´Â ¼³°è(Model-Driven Design ÀÌÇÏ MDD)ÀÌ´Ù.

<±×¸² 3>´Â °³¹ßÀÇ Á߽ɿ¡¼­ ¼­·Î ´Ù¸¥ ³ë·ÂÀ» ÀÀÁý½ÃŰ´Â ±¸½ÉÁ¡ ¿ªÇÒÀ» ÇÏ´Â ¸ðµ¨À» µµ½ÄÈ­ ÇØº» °ÍÀÌ´Ù. Á߽ɿ¡¼­ ¹ß»êÇØ³ª°¡´Â °ÍÀº ´Ù¾çÇÑ À¯ÇüÀÇ °³¹ß °á°ú¹° ȤÀº °í°´ÀÇ ½Ã½ºÅÛ¿¡ ´ëÇÑ ÀÌÇØ³ª ±â´ë¶ó°í °¡Á¤Çغ¸ÀÚ. °í°´°ú °³¹ßÀÚ, À¯ÇüÀÌ ´Ù¸¥ °³¹ßÀÚ »çÀÌ¿¡¼­¶ó¸é ¸ðµÎ Á¶±Ý¾¿ ´Ù¸¥ ¹æÇâÀ¸·Î ¹ßÀüÇÏ°Ô ¸¶·ÃÀÌ´Ù.

ÀÌ ¶§ ±¸½ÉÁ¡ÀÌ µÇ¾î À̵éÀ» ¿¬°áÇØÁÖ´Â ¸ðµ¨ÀÌ ¾ø´Ù¸é °¢°¢ÀÌ ¹ß»êÇØ ³ª°¡¸é¼­ ±«¸®°¡ Ä¿Áú °ÍÀÌ´Ù.

<±×¸² 3> °³¹ßÀÇ Á߽ɿ¡ ÀÚ¸®ÇÑ ¸ðµ¨


¹Ý¸é, ¸ðµ¨À» Áß½ÉÀ¸·Î °­ÇÑ ÀÀÁý·ÂÀÌ °®°Ô µÈ´Ù¸é ¸ðµ¨Àº ¹Ù·Î ÈǸ¢ÇÑ ULÀÇ ¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ´Ù.

°í°´ÀÌ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¸ðµ¨
DDD¿¡´Â ´ÙÀ½°ú °°Àº ³»¿ëÀÌ ³ª¿Â´Ù.

¼÷·ÃµÈ ¾÷¹« Àü¹®°¡(sophisticated domain experts)°¡ ¸ðµ¨À» ÀÌÇØÇÏÁö ¸øÇÑ´Ù¸é, ¸ðµ¨¿¡ ¹®Á¦°¡ ÀÖ´Â °ÍÀÌ´Ù.

¸¸ÀÏ ¸ðµ¨À» °í°´ÀÌ ÀÌÇØÇÒ ¼ö ¾ø´Ù¸é ¾î¶² ÀÏÀÌ ¹ú¾îÁú±î? °³¹ßÀÚ´Â °í°´°ú ÀÇ»ç¼ÒÅëÀ» Çϱâ À§ÇØ ¸ðµ¨ ÀÌ¿ÜÀÇ ´Ù¸¥ ¹«¾ð°¡¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. ¹°·Ð, À̰ͺ¸´Ù´Â ¸ðµ¨À» °í°´°ú ¼ÒÅëÇÒ ¼ö ÀÖ°Ô ¸¸µé¾î¾ß ÇÑ´Ù.

Á¾Á¾ ¸¹Àº »ç¶÷µéÀÌ °í°´ÀÌ UMLÀ» Á÷Á¢ Ȱ¿ëÇÏ´Â °ÍÀº ¹«¸®¶ó°í ÇÑ´Ù. ÇÏÁö¸¸, ERD¸¦ ³õ°í °í°´°ú °³¹ßÀÚ°¡ Ä¡¿­ÇÏ°Ô ³íÀǸ¦ ÇÏ´Â °æ¿ì¸¦ º¸´Â ÀÏÀº ¾î·ÆÁö ¾Ê´Ù. UMLÀº °áÄÚ ERDº¸´Ù º¹ÀâÇÏÁö ¾Ê´Ù.

¸¸ÀÏ UML·Î ÀÛ¼ºµÈ ¸ðµ¨ÀÌ ½ÇÈ¿¼ºÀ» ¹ßÈÖÇϰí ÀÖÁö ¸øÇÏ´Ù¸é, º»ÁúÀûÀÎ Á¤º¸¸¦ Ç¥ÇöÇϴµ¥ ÃÊÁ¡À» ¸ÂÃ߱⠺¸´Ù´Â »êÃâ¹°ÀÇ Çü½ÄÀ̳ª ¸ðµ¨¸µ ¹æ½Ä¿¡ ¾ô¸ÅÀÌ´Â ¼öÁØ¿¡ ¸Ó¹°·¯ Àֱ⠶§¹®ÀÌ ¾Æ´Ñ°¡ »ý°¢ÇغÁ¾ß ÇÑ´Ù.

¸¸ÀÏ °í°´ÀÌ ÀÌÇØÇÒ ¼ö Àִ ǥÇö¹ýÀÌ Å¬·¡½º´ÙÀ̾î±×·¥ Çϳª¶ó¸é À̸¦ Ȱ¿ëÇÏ¿© ÀÇ»ç¼ÒÅëÀ» Ç϶ó. ¸¹Àº ¾îÈÖ¿Í ¼ö»ç¸¦ Ȱ¿ëÇÑ´Ù°í ÀÇ»ç¼ÒÅëÀÌ Àß µÇ´Â °ÍÀº ¾Æ´Ï´Ù.

¸ðµ¨ »çÀÌÀÇ ±«¸®¸¦ ÁÙ¿©¶ó
CBD µµÀÔ ÃÊâ±â EJB°¡ À¯ÇàÇÒ ¶§ ¸ðµ¨¸µ µµ±¸¸¦ ÀÌ¿ëÇÏ¿© EJB¸¦ ±¸¼ºÇÏ´Â ¿ä¼ÒµéÀ» ¸ðµÎ ¼³°è ¸ðµ¨¿¡ Ç¥ÇöÇÏ´ø ¶§°¡ ÀÖ¾ú´Ù. <±×¸² 4>´Â ºÐ¼® ¸ðµ¨¿¡¼­ °íÀÛ ³× °³ÀÇ Å¬·¡½º ȤÀº ÀÎÅÍÆäÀ̽º¸¦ EJB·Î º¯È¯ÇÑ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¸ðµ¨Àº EJBÀÇ ±¸¼º¿ä¼Ò¸¦ ÀÌÇØÇÏ´Â °Í À̿ܿ¡ ¾î¶² È¿¿ë¼ºÀ» Áö´ÒÁö Àǹ®ÀÌ´Ù.

<±×¸² 4>ÀÇ ´ÙÀ̾î±×·¥À» °¡Áö°í °í°´°ú ÀÇ»ç¼ÒÅë ÇÒ ¼ö Àְڴ°¡? ½ÇÁ¦ ÇöÀå¿¡¼­´Â À̺¸´Ù ÈξÀ º¹ÀâÇÏ¿© ÁöÇÏö ³ë¼±µµ¿Í °°Àº ±×¸²ÀÌ µÉÁöµµ ¸ð¸¥´Ù.

<±×¸² 4> EJB ±â¹ÝÀÇ ¼³°è ¸ðµ¨


°í°´°ú´Â ºÐ¼® ¸ðµ¨·Î ÀÇ»ç¼ÒÅëÀ» Çϰí, ¼³°è ¸ðµ¨Àº °³¹ßÀÚ¸¦ À§ÇÑ °ÍÀ̶ó°í °¡Á¤Çغ¸ÀÚ. »ç½Ç °í°´ Áß¿¡´Â ÃÖÁ¾ »ç¿ëÀÚ¸¸ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó, ½Ã½ºÅÛÀ» À¯Áö º¸¼öÇÏ´Â °í°´µµ ÀÖ´Ù´Â °ÍÀ» °í·ÁÇϸé ÀÌ·¯ÇÑ °¡Á¤Àº ±×´ÙÁö À¯È¿ÇÏÁö ¾Ê´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í ±â¼ú°ú ¾÷¹«°¡ È¥ÀçµÇ¾î ¸¶Ä¡ ½ºÆÄ°ÔƼ¿Í °°Àº ¸ðµ¨ÀÌ °³¹ßÀÚ¿¡°Ô¶óµµ µµ¿òÀÌ µÇ´Â°¡?

ÇÊÀÚ°¡ Âü¿©Ç߰ųª ¾Ë°í ÀÖ´ø ¸ðµç ÇÁ·ÎÁ§Æ®´Â ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨À» º°µµ·Î ¸¸µç´Ù(ÇöÀçµµ ´ëºÎºÐÀÇ SI ÇÁ·ÎÁ§Æ®¿¡¼­´Â ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨À» º°µµ·Î ¸¸µç´Ù). ºÐ¼®/¼³°è¸¦ ´ã´çÇÑ °³¹ßÀڵ鿡°Ô UML·Î ¸ðµ¨¸µ ÇÏ´Â °ÍÀ» ¸àÅ丵 ÇÏ´Â °ÍÀÌ Àͼ÷ÇØÁú ½ÃÁ¡¿¡¼­ ÇÑ °¡Áö Àǹ®ÀÌ µé¾ú´Ù.

Ã˹ÚÇÑ ÀÏÁ¤°ú ÀÌÁ¦ ¸· UMLÀ» ¹è¿ö¼­ ¸ðµ¨¸µÀ» ÇÏ´Â °³¹ßÀÚµéÀÌ ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨À» ¸ðµÎ ¸¸µé¾î³»´Â °ÍÀÌ °ú¿¬ ¿ÇÀº°¡ ÇÏ´Â Á¡ÀÌ´Ù(ÇÊÀÚ°¡ ÇöÀç Âü¿©Çϰí ÀÖ´Â ÇÁ·ÎÁ§Æ®¿¡¼­µµ ÀÌ·¯ÇÑ ¸ð¼øÀ» ÃÖ´ëÇÑ ÇØ°áÇÏ·Á°í ³ë·ÂÇϰí ÀÖ´Ù).

´õ±º´Ù³ª J2EE ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´Âµ¥ ÀÚ¹Ù¸¦ ÇÑ ¹øµµ ½áº¸Áö ¾Ê¾Ò°í, CBD(Component-Based Development)ÀÇ ±â¹Ý±â¼ú¿¡ ´ëÇÑ ÀÌÇØ°¡ ÀüÇô ¾ø´Â »ç¶÷ÀÌ ¾÷¹« ºÐ¼® ÀÌÈÄ¿¡ ¼³°è¸¦ ´ã´çÇß´Ù.

°á·ÐÀûÀ¸·Î ÇÊÀÚ´Â ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨À» ¸ðµÎ Ç¥ÇöÇÏ´Â ¹æ½Ä¿¡ ¸Å¿ì ºñÈ¿À²ÀûÀ̶ó°í »ý°¢ÇÑ´Ù(¾Æ½±°Ôµµ ÇÊÀÚ°¡ Âü¿©Çß´ø ÇÁ·ÎÁ§Æ®¸¦ Æ÷ÇÔÇÏ¿© ´ëÇü SI¾÷ü°¡ ÁÖµµÇÏ´Â ´ëºÎºÐÀÇ ÇÁ·ÎÁ§Æ®¿¡¼­´Â ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨À» ¸ðµÎ ¸¸µé¾î³½´Ù).

´ëü·Î ºÐ¼® ¸ðµ¨À» ¸¸µé ¶§´Â ¾÷¹«¿¡ ÃÊÁ¡ÀÌ ¸ÂÃçÁø´Ù. ºÐ¼® ¸ðµ¨À» Åä´ë·Î ¼³°è ¸ðµ¨À» ¸¸µé¾î³½´Ù. ¼³°è ¸ðµ¨ ÀÛ¾÷Àº ´ë°³ ÇÁ·Î±×·¡¹ÖÀ¸·Î ¸¸µé±â À§Çؼ­ ¿µ¹®È­ ÀÛ¾÷À» ÇÏ°í ³ª¼­, ±â¼ú ȯ°æÀ» À§ÇÑ º¯Çü ÀÛ¾÷À» ¼öÇàÇÑ´Ù.

ÀÌ ¶§, ºÐ¼® ³»¿ë¿¡ ´©¶ôµÈ °ÍÀ̳ª ¹ÌÁøÇÑ »çÇ×ÀÌ ÀÖ´Ù¸é ¾î¶»°Ô ÇÒ °ÍÀΰ¡? ¶ÇÇÑ, »õ·Î¿î ¿ä±¸»çÇ×ÀÌ µé¾î¿À¸é ºÐ¼®°ú ¼³°è¿¡ ¸ðµÎ Àû¿ëÇÒ °ÍÀΰ¡? ¾çÂÊ¿¡ ¸ðµÎ ¹Ý¿µÇÏ°Ô µÇ¸é ÁÖ¾îÁø ½Ã°£¿¡ ´ëÇØ ³ë·ÂÀÌ ºÐ»êµÇ°í, ÇÑÂÊ¿¡¸¸ ¹Ý¿µÇÏ¸é ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨ »çÀÌÀÇ ¿¬°è°¡ ¿Ïº®ÇÏ°Ô À¯ÁöµÇÁö ¸øÇÑ´Ù.

ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨ÀÇ ÅëÇÕ
¼º°øÀ» °ÅµÎÁö´Â ¸øÇßÁö¸¸ OMGÀÇ MDA(Model Driven Architecture)´Â °í°´°ú ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ »çÀÌ¿¡¼­ ÇϳªÀÇ ¸ðµ¨(Platform Independent Model)¸¸À¸·Î ÀÇ»ç¼ÒÅë ÇÏ´Â ¹æÇâÀ» ÁöÇâÇß´Ù. À̸¦ °¡´ÉÇϵµ·Ï Çϱâ À§ÇØ MDA ±â¹Ý ½ÇÇà ȯ°æ¿¡¼­ ±¸Ã¼ÀûÀÎ ±â¼úÀû °áÁ¤À» Àü´ãÇÏ°Ô Çß´Ù.

MDA¿Í´Â ¿ÏÀüÈ÷ ´Ù¸¥ Á¢±ÙÀÌÁö¸¸, ÃÖ±Ù¿¡´Â POJO(Plain Old Java Object) ±â¹ÝÀÇ °³¹ß ¹æ½ÄÀÌ ´ëµÎµÇ¸é¼­ ÇϳªÀÇ ¸ðµ¨¸¸À¸·Îµµ °í°´°ú °³¹ßÀÚ°¡ ÀÇ»ç¼ÒÅë ÇÒ ¼ö Àִ ȯ°æÀÌ ºÎ»óÇß´Ù. ½ºÇÁ¸µ(Spring)À̶ó´Â °ø°³ ¼ÒÇÁÆ®¿þ¾î°¡ MDA ½ÇÇàȯ°æ°ú À¯»çÇÑ ¿ªÇÒÀ» Á¦°øÇϸ鼭 ½ÇÁ¦ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå¿Í ºÐ¼® ¸ðµ¨ »çÀÌÀÇ Â÷À̰¡ ¸Å¿ì Á¼¾ÆÁ³´Ù.

<±×¸² 5> POJO ±â¹ÝÀÇ ¿£ÅÍÇÁ¶óÀÌÁî ½Ã½ºÅÛ ±¸Çö ±â¼ú


ÇÊÀÚ´Â ERD°¡ °í°´°ú Åë¿ëÀÌ µÇ´Â ȯ°æÀ̶ó¸é, Àû¾îµµ UML·Î ÀÛ¼ºÇÑ Å¬·¡½º´ÙÀ̾î±×·¥À¸·Î µµ¸ÞÀÎÀÇ ÇÙ½ÉÀûÀÎ ¾îÈÖ¸¦ Ç¥ÇöÇÑ´Ù¸é ÃæºÐÈ÷ °í°´°ú °³¹ßÀÚ°¡ ¾÷¹«¿¡ °üÇØ À̾߱â ÇÒ ¼ö ÀÖ´Ù°í ¹Ï´Â´Ù. ºÒÇÊ¿äÇÑ Á¤º¸³ª Ç¥±â¹ýÀ¸·Î º¹Àâµµ¸¸ °¡Áß½ÃŰÁö ¾Ê´Â´Ù¸é, °í°´ÀÌ Å¬·¡½º´ÙÀ̾î±×·¥À» °¡Áö°í À̾߱â ÇÏ´Â °Í¿¡ Èï¹Ì¸¦ ´À³¥ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù.

<±×¸² 6> ´ëÇп¡ Á¸ÀçÇÏ´Â »ç¶÷ÀÇ À¯ÇüÀ» Ç¥ÇöÇÑ Å¬·¡½º ´ÙÀ̾î±×·¥


¶ÇÇÑ, °í°´°ú °³¹ßÀÚ°¡ ¼ÒÅëÇÒ ¼ö ÀÖ´Ù¸é ±»ÀÌ UMLÀ» Ç¥±â¹ýÀ¸·Î °íÁýÇÒ ÇÊ¿ä´Â ¾ø´Ù. RUP(Rational Unified Process)³ª RUP¿¡ ±âÃÊÇÑ ¹æ¹ý·ÐÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡µµ ¸¹Àº °æ¿ì, ºñÁî´Ï½º ¸ðµ¨¸µ »êÃâ¹°¿¡´Â UMLÀ» ±»ÀÌ ¾²Áö ¾Ê´Â´Ù. ÀÌ¹Ì ¾÷¹« È帧À̳ª ÁÖ¿ä ±â´É ±¸¼ºÀ» Ç¥ÇöÇϱâ À§ÇØ °í°´µéÀÇ ´«¿¡ ÀÍÀº Ç¥±â¹ýÀÌ Àֱ⠶§¹®ÀÌ´Ù.

ÇϳªÀÇ ¸ðµ¨À» ÇâÇØ °¥ ¶§ ¸¸³ª°Ô µÇ´Â À庮
ÇÊÀÚ´Â ¸î ³â Àü ºÐ¼® ¸ðµ¨¸¸À» »ç¿ëÇÏÀÚ´Â ÀǰßÀ» Á¦½ÃÇÑ ÀÏÀÌ ÀÖ´Ù. ±×¸®°í ¿À·£ ³íÀÇ ³¡¿¡ ºÐ¼® ¸ðµ¨À» ´ÜÁö ¿µ¹®À¸·Î º¯È¯ÇÏ´Â ¼öÁØ¿¡¼­ ¼³°è ¸ðµ¨À» ¸¸µå´Â ¹æ½ÄÀ¸·Î ¸ðµ¨¸µ ±â¹ýÀ» °³¼±Çسª°¬´Ù. ÀÌ·¯ÇÑ °úÁ¤ ¼Ó¿¡¼­µµ ¸¹Àº À庮À» ¸¶ÁÖÄ¡°Ô µÇ¾ú´Ù. ÁÖ·Î ´ÙÀ½°ú °°Àº ¹ÝÀÀÀ̾ú´Ù.

¡Ü ¿ì¸®ÀÇ Ç¥ÁØ ¹æ¹ý·Ð¿¡ À§¹èµÈ´Ù.
¡Ü ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨ÀÌ º°·Î Â÷À̰¡ ¾ø´Â °ÍÀÌ ¸»ÀÌ µÇ´À³Ä?
¡Ü °ËÁõµÇÁö ¾ÊÀº ¹æ¹ýÀÌ´Ù.

IT¿¡µµ ÀÏ¹Ý ¾÷¹«Ã³·³ ±ÔÁ¤À» µû¸£°Ô ÇÏ´Â Á¶Á÷ÀÇ ¿î¿µ¹æ½ÄÀÌ Åõ¿µµÈ °ÍÀ¸·Î ÇØ¼®ÇÒ ¼ö ÀÖ´Ù. ȤÀº ¾ÆÁ÷ ¸ðµ¨ÀÇ ³»¿ëÀ̳ª È¿°ú¸¦ ³íÇÏ´Â ¼öÁØÀÌ µÇÁö ¸øÇÏ´Â °æ¿ì´Ù. UML ¸ðµ¨À» óÀ½ µµÀÔÇÏ´Â ½ÃÁ¡¿¡¼­ Çü½ÄÀÇ Ç¥ÁØÈ­·Î ÃÖ¼ÒÇÑÀÇ Ç°ÁúÀ» È®º¸ÇÏ·Á´Â ½ÃÁ¡À¸·Î º¼ ¼ö ÀÖ´Ù.

µû¶ó¼­ Áö³ªÄ¡°Ô Çü½Ä¿¡ ¾ô¸ÅÀÌ´Â °æ¿ì¸¦ ¾ÆÁ÷Àº ¾î·ÆÁö ¾Ê°Ô ¸¸³ª°Ô µÈ´Ù. UMLÀÌ ³Î¸® ¾²À̰í Àֱ⠶§¹®¿¡ ¸ÓÁö¾Ê¾Æ ÀÌ·¯ÇÑ ¹®Á¦´Â °áµÉ °ÍÀÌ´Ù.

ÀÌ·¯ÇÑ À庮 À̿ܿ¡µµ ±¹³» ¾ð¾î ȯ°æÀÇ Æ¯¼ö¼º¿¡ ±âÀÎÇÑ ¹®Á¦µµ ³Ñ¾î¾ß ÇÑ´Ù. ´ëºÎºÐÀÇ ±¹³» ÇÁ·ÎÁ§Æ®¿¡¼­ ¿µ¾î·Î ÀÛ¼ºµÈ ºÐ¼® ¸ðµ¨Àº »ó»óÇϱâ´Â Èûµé´Ù. ¹Ý¸é¿¡ ¼³°è ¸ðµ¨ÀÇ °æ¿ì´Â Çѱ۷ΠÀÛ¼ºÇϸé ÄÚµå¿Í ´ëÀÀ½ÃŰ±â°¡ ¾î·Æ´Ù. ÇѱÛÀ» Áö¿øÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ÀÖ´ÙÇÏ´õ¶óµµ, ¿©ÀüÈ÷ Çѱ۷ΠÇÁ·Î±×·¡¹ÖÀ» ÀÛ¼ºÇÏ´Â °æ¿ì´Â ã¾Æº¸±â Èûµé´Ù.

  ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î·Î¼­ ÇØ°áÇØ¾ß ÇÒ µµÀü °úÁ¦

¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î´Â ¾Õ¼­ ¾ð±ÞÇÑ À庮µéÀ» ÇØ°áÇÏ´Â °ÍÀ» ¾÷À¸·Î ÇÑ´Ù. ¶æÀÌ ÀÖ´Â °÷¿¡ ±æÀÌ ÀÖ´Ù°í ½Ã°£ÀÌ ¼Ò¿äµÉ »Ó Ç×»ó ÇØ°áÃ¥Àº Àֱ⠸¶·ÃÀÌ´Ù.

¸ÕÀú »õ·Î¿î ¹æ½Ä¿¡ ´ëÇÑ °ÅºÎ°¨À̳ª ÀúÇ×ÀÌ ÀÖ´Â °æ¿ì¶ó¸é Á¡ÁøÀûÀ¸·Î °³¼±ÇÏ¸é µÈ´Ù. ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨ µÎ °³¸¦ ¸ðµÎ À¯ÁöÇÏ´õ¶óµµ µµ¸ÞÀÎÀÌ Àß µå·¯³ª´Â ºÐ¼® ¸ðµ¨À» ÁßÁ¡ÀûÀ¸·Î Ȱ¿ëÇϰí, ¼³°è ¸ðµ¨À» º¸Á¶ÀûÀ¸·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ¶ÇÇÑ, ºÐ¼® ¸ðµ¨À» ÅëÇØ Äڵ带 µµÃâÇϰí, ¿ª°øÇÐ(reverse engineering)À» ÀÌ¿ëÇØ ¼³°è ¸ðµ¨À» ¸¸µé ¼öµµ ÀÖ´Ù.

DDD¿¡¼­ ¸»ÇϵíÀÌ ÇϳªÀÇ ¾ð¾î·Î ¸ðµÎ¿¡°Ô Åë¿ëµÇ¸é ÁÁ°ÚÁö¸¸ ¸ðµç »óȲ¿¡¼­ À̸¦ Àû¿ëÇÒ ¼ö´Â ¾ø´Ù. ¹Ý¸é¿¡ ¾îµð¿¡¼­µç »óȲ¿¡ ¸Â°Ô Á¡ÁøÀûÀ¸·Î Àû¿ëÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. µµ¸ÞÀÎ °³³äÀ» Ç¥ÇöÇÏ´Â ¹æ½Ä ȤÀº µµ¸ÞÀÎ °³³äÀ» ±¸Ã¼È­ÇÏ´Â °úÁ¤¿¡¼­ÀÇ »êÃâ¹° Ç¥±â°¡ ¼­³Ê °¡Áö ÀÌ»óÀ̶ó¸é ÇÑ °¡Áö¾¿ ÁÙ¿©³ª°¡´Â °Í¸¸ ÇØµµ ÀÇ»ç¼ÒÅëÀÇ º¹Àâµµ´Â ÁÙ¾îµå´Â °ÍÀÌ´Ù.

»õ·Î¿î ¹æ½Ä¿¡ ´ëÇÑ °í°´°ú °³¹ßÀÚÀÇ ÀûÀÀÀ» µ½±â À§Çؼ­´Â Á¶½É½º·¯¿î Á¢±ÙÀÌ ÇÊ¿äÇÏ´Ù. °¡½ÃÀûÀÎ ½ÇÈ¿¼ºÀ» Á÷Á¢ ¸Àº¸°Ô ÇÔÀ¸·Î½á º¯È­¸¦ Àû±ØÀûÀ¸·Î ¼ö¿ëÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù.

¿äÁò ÇÊÀÚ´Â ¼³°è ¸ðµ¨ ´ë½Å¿¡ ºÐ¼® ¸ðµ¨·Î Æ÷ÂøÇÑ ¾÷¹« ¾îÈÖ¸¦ ¿¢¼¿ ¹®¼­·Î Á¤¸®Çϰí, À̸¦ ±â¹ÝÀ¸·Î Àڹ٠Ŭ·¡½º¿Í È­¸é¿¡ µ¥ÀÌÅ͸¦ Àü´ÞÇÒ XML ¹®¼­¸¦ »ý¼ºÇÏ´Â ÀÛ¾÷À» ½ÃµµÇϰí ÀÖ´Ù.

ºÐ¼® ¸ðµ¨ÀÌ °®´Â ¾àÁ¡À» ¼³°è °áÁ¤À» ´ãÀº ¿¢¼¿ ¹®¼­°¡ º¸¿ÏÇÏ´Â ¹æ½ÄÀÌ´Ù. °³¹ß °úÁ¤À̳ª ÇâÈÄ À¯Áöº¸¼ö ½ÃÁ¡¿¡¼­ ¿¢¼¿ ½ÃÆ®°¡ Àͼ÷ÇÏ°Ô Åë¿ëµÉ ¼ö ÀÖ´Ù¸é ±»ÀÌ UML¸¸ Ȱ¿ëÇÒ ÇÊ¿ä´Â ¾ø´Â °Í ¾Æ´Ñ°¡?

µµ¸ÞÀÎ ¸ðµ¨ÀÇ ½ÇÈ¿¼ºÀ» ±Ø´ëÈ­Çϱâ À§Çؼ­ ¸ðµ¨°ú ½ÇÁ¦ ±¸Çö »êÃâ¹° »çÀÌÀÇ ±«¸®¸¦ ÁÙ¿©¾ß ÇÑ´Ù. ±×·¡¾ß¸¸ °³¹ßÀڵ鵵 µµ¸ÞÀÎ ¸ðµ¨¿¡ ´õ¿í ³ë·ÂÀ» ½ñÀ» ¼ö ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î´Â À̸¦ À§ÇØ Áö¼ÓÀûÀ¸·Î ÇÁ·Î¼¼½º³ª °³¹ß µµ±¸¸¦ °³¼±ÇØ¾ß ÇÑ´Ù.

<±×¸² 7>¿¡ ³ªÅ¸³½ °Íó·³ µµ¸ÞÀÎ ¸ðµ¨·ÎºÎÅÍ ¸¹Àº °³¹ß »êÃâ¹°ÀÌ ÀÚµ¿À¸·Î »ý¼ºµÉ ¼ö ÀÖ´Ù¸é, ¸ðµ¨Àº ´õ¿í ³Î¸® ¾²ÀÌ°Ô µÇ¾î ±Ã±ØÀÎ ÇϳªÀÇ ¾ð¾î·Î ³ª¾Æ°¥ °ÍÀÌ´Ù.

<±×¸² 7> µµ¸ÞÀÎ ¸ðµ¨À» Ȱ¿ëÇÑ °³¹ß »êÃâ¹°ÀÇ ÀÚµ¿ »ý¼º


ÇÑÆí, ºÐ¼® ¸ðµ¨°ú ¼³°è ¸ðµ¨ÀÇ Â÷À̰¡ Çѱ۰ú ¿µ¾î¶ó´Â Â÷ÀÌ»ÓÀ̶ó¸é ±»ÀÌ µÎ °³·Î ¸ðµ¨À» ºÐ¸®ÇÒ Çʿ䰡 ¾ø´Ù. EA(Enterprise Architect)¿Í °°Àº ¸ðµ¨¸µ µµ±¸¿¡¼­´Â À̸§ ¿Ü¿¡µµ º°Äª(Alias)À» Ãß°¡·Î Áö¿øÇÑ´Ù. À̸§Àº ÇѱÛÀ» »ç¿ëÇϰí, º°ÄªÀº ¿µ¾î¸¦ ¾´´Ù°í ´ÙÀ̾î±×·¥¿¡ µû¶ó¼­ Çѱ۷Πº¸ÀÌ°Ô Çϰųª, ¿µ¹®À¸·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù.

±×·± ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê´Â ¸ðµ¨¸µ µµ±¸¸¦ ¾´´Ù°í ÇØµµ Ŭ·¡½º À̸§Àº ¿µ¹®À» ¾²°í, ½ºÅ×·¹¿À ŸÀÔ¿¡´Â ÇѱÛÀ» ³Ö´Â ¹æ¹ýÀ¸·Îµµ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù.

<È­¸é 2> EAÀÇ ´ÙÀ̾î±×·¥ µî·ÏÁ¤º¸ ¼³Á¤ â


»ç¿ëÇÏ´Â ¾ð¾î°¡ ´Ù¸£´Ù¸é ´ëÈ­°¡ ¾î·Á¿î °ÍÀº »ó½ÄÀûÀÎ ÀÏÀÌ´Ù. ¾ð¾î°¡ °°´õ¶óµµ »ç¿ëÇÏ´Â ¾îÈÖ°¡ ´Ù¸£¸é ÀÇ»ç¼ÒÅëÀÌ ¾î·Æ±â ¸¶·ÃÀÌ´Ù. °í°´ÀÌ ¿øÇÏ´Â ½Ã½ºÅÛÀ» ¸¸µé¾î³»±â À§Çؼ­ °í°´°ú °³¹ßÀÚ´Â ÃæºÐÇÑ ´ëÈ­ ÇÊ¿äÇϰí, À̸¦ ÅëÇØ °³¹ßÀÚ´Â °í°´ÀÇ ¿ä±¸¸¦ ÃæºÐÇÏ°Ô ÀÌÇØÇØ¾ß ÇÑ´Ù.

¼ÒÇÁÆ®¿þ¾î ±¸Çö ±â¼úÀº ºñ¾àÀûÀ¸·Î ¹ßÀüÇØ³ª°¡°í ÀÖÁö¸¸, °í°´ÀÇ ¿ä±¸»çÇ×µµ µû¶ó¼­ º¹ÀâÇØÁ® °¡°í ÀÖ´Ù. ´ëºÎºÐÀÇ ÇÁ·ÎÁ§Æ®¿¡¼­´Â ±â¼úÀûÀÎ ¹®Á¦·Î ½ÇÆÐÇϱ⠺¸´Ù´Â °í°´ÀÇ ¿ä±¸»çÇ׿¡ ´ëÇÑ ³·Àº ÀÌÇØ°¡ ½ÇÆÐÀÇ ¿øÀÎÀ¸·Î ÀÛ¿ëÇÑ´Ù.

ÇÊÀÚ´Â ÀÌ ±Û¿¡¼­ °í°´ÀÇ ¾÷¹«¿¡ ÃÊÁ¡À» ¸ÂÃá µµ¸ÞÀÎ ¸ðµ¨ÀÌ °®´Â Àǹ̸¦ °­Á¶ÇϰíÀÚ Çß´Ù. µµ¸ÞÀÎ ¸ðµ¨ÀÇ °í°´°ú °³¹ßÀÚÀÇ ¾ð¾î·Î¼­ Åë¿ëµÇ±â À§Çؼ­´Â Áö¼ÓÀûÀÎ ³ë·ÂÀÌ ÇÊ¿äÇÏ´Ù. ±×·¯ÇÑ ³ë·ÂÀº ÇÁ·ÎÁ§Æ®ÀÇ ¼º°øÀ» À§ÇÑ ¿­¼è°¡ µÉ ¼ö ÀÖ´Ù.

Çö½ÇÀûÀ¸·Î °í°´°ú °³¹ßÀÚ, ±×¸®°í ¼­·Î ´Ù¸¥ À¯ÇüÀÇ °³¹ßÀÚ »çÀÌ¿¡¼­ ÇϳªÀÇ ¾ð¾î°¡ Åë¿ëµÇ°Ô ÇÏ·Á¸é ¸¹Àº À庮À» ³Ñ¾î¾ß ÇÑ´Ù. ÇÊÀÚ´Â ÀÌ ±Û¿¡¼­ ÀÚ¼¼ÇÏ°Ô À̵é À庮À» »ìÆìº¸Áö´Â ¾Ê¾Ò´Ù. »ç½Ç ¾î¶°ÇÑ Àå¾Ö¹°ÀÌ ³ªÅ¸³ªµµ ±× »óȲ¿¡¼­ ÃÖÀûÀÇ ¼±ÅÃÀ» ÇÏ¸é ±×»ÓÀÌ´Ù.

ªÀº ±Û·Î ±¸Ã¼ÀûÀÎ ½ÇÇà ¹æ¾ÈÀ» Á¦°øÇØÁÖÁö´Â ¸øÇÒ °ÍÀÌ´Ù. ±×Àú ªÀº ÇÊ·ÂÀ̳ª¸¶ µ¶Àڵ鿡°Ô °øÅëµÈ ¾ð¾î·Î½áÀÇ µµ¸ÞÀÎ ¸ðµ¨ÀÌ °¡Ä¡°¡ ÀÖ´Ù´Â »ç½Ç¸¸ ºÐ¸íÇÏ°Ô Àü´ÞÇÒ ¼ö Àֱ⸦ ¹Ù¶ö »ÓÀÌ´Ù. @


Âü°íÀÚ·á
1. Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans, 33~34ÂÊ.
2. http://www.agilemodeling.com/artifacts/classDiagram.htm



* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[Á¶Çý¶õ]ºñÁÖ¾ó½ºÆ©µð¿À2008 S...
[½Å°æÁØ]Visual C++ 20...
[±è±Ù]¿ÀǼҽºÀÇ °¡Ä¡ ½ÇÇöÀ» Åë...
[¹®Á¾¼ö] ±â¾÷ÀÇ ¾ó±¼ 'ÄÁÅü¾ÅÍ...
[¹é½ÂÁÖ] °¡»óÈ­ÀÇ ½Ã´ë, IT ...
À©µµ¿ìCE µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ °ü...
[±â°í]¿Ã¸²ÇÈ ½ÃÁ𠺸¾È À§Çù¿¡ ...
ÀÏÇÒ ¸À ³ª´Â ±â¾÷Çü ³ëÆ®ºÏPC ¡¦µ¨ ¡®·¡Æ¼Æ©µå E6400'(13ÀÏ Ãâ°í) [00:09:50]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
3D ¸ÖƼÅÍÄ¡ µð½ºÇ÷¹ÀÌ¡¦Çï½ÌŰ ¿¬±¸¼Ò '½ÃƼ¿ö'(City Wall) [00:02:28]
Áöµð³ÝÄÚ¸®¾Æ ¿µ»óÁ¦ÀÛÆÀ
¡°Çѱ¹ SW´Â ·¹µå¿À¼ÇÀΰ¡?¡±
"¾×ƼºêX¿Í °øÁ¸ ¸ð»ö"¡¦±¸±Û, ...
°øÀÎÀÎÁõüÁ¦, ¿ì¸®¿¡°Ô ÀÓ¹ÚÇÑ ¹Ì...
¡®¾Ë¾à¡¯ µ¹Ç³Àº ³×À̹öµµ ¸ø¸»·Á?
UX´Â ·¯ºê¾×Ãò¾ó¸®½Ä ÇÁ·ÎÆ÷Áî
³×À̹öÆÇ ÆÄÀÌ¾îÆø½º3, 9¿ù4ÀÏ ...
KTF, ³» ¼Õ ¾ÈÀÇ ¹ý´ç 'º×´Ù...
KT ¸Þ°¡ÆÐ½ºÁ¸, Ȳ±Ý 10µ·¿¡ ...
»ï¼ºÀüÀÚ, '½Ç¼ÓÇü' µðÁöÅо×ÀÚ ...
ij³íÄÚ¸®¾Æ, À×Å©Á¬ ÇÁ¸°ÅÍ¡¤º¹ÇÕ±â...
Àå¸éÃÔ¿µµµ ¾Ë¾Æ¼­ 'ôô'¡¦ÆÄÀÎÇÈ...
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.