°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "UML ½ÇÀü¿¡¼´Â À̰͸¸ ¾´´Ù" Á¤°¡ 20,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
ÃÑ 4°³ÀÇ µµ¼°¡ ÀÖ½À´Ï´Ù.
µµ¼À̹ÌÁö |
µµ¼¸í |
»óÅÂ |
°¡°Ý |
ÆǸÅÀÚ |
|
|
UML ½ÇÀü¿¡¼´Â À̰͸¸ ¾´´Ù
|
Áß
|
9,900¿ø
50,000 ¹Ì¸¸ ¹è¼Ûºñ3,000
|
|
|
|
|
UML ½ÇÀü¿¡¼´Â À̰͸¸ ¾´´Ù
|
»õÃ¥
|
18,000¿ø
20,000 ¹Ì¸¸ ¹è¼Ûºñ3,000
|
|
|
|
|
UML ½ÇÀü¿¡¼´Â À̰͸¸ ¾´´Ù
|
»õÃ¥
|
18,000¿ø
30,000 ¹Ì¸¸ ¹è¼Ûºñ5,000
|
|
|
|
|
UML ½ÇÀü¿¡¼´Â À̰͸¸ ¾´´Ù
|
»õÃ¥
|
18,000¿ø
20,000 ¹Ì¸¸ ¹è¼Ûºñ3,000
|
|
|
|
¿Å±äÀÌÀÇ ±Û ÃßõÀÇ ±Û ÁöÀºÀÌÀÇ ±Û
1Àå. ÀÌ Ã¥ÀÇ °³¿ä ´ÙÀ̾î±×·¥ÀÇ À¯Çü Ŭ·¡½º ´ÙÀ̾î±×·¥ °´Ã¼ ´ÙÀ̾î±×·¥ ½ÃÄö½º ´ÙÀ̾î±×·¥ Çù·Â ´ÙÀ̾î±×·¥ »óÅ ´ÙÀ̾î±×·¥ °á·Ð
2Àå. ´ÙÀ̾î±×·¥À¸·Î ÀÛ¾÷ÇÏ±â ¿Ö ¸ðµ¨À» ¸¸µé¾î¾ß Çϴ°¡? ¿Ö ¼ÒÇÁÆ®¿þ¾î ¸ðµ¨À» ¸¸µå´Â°¡? ¹Ýµå½Ã ÄÚµùÀ» ½ÃÀÛÇϱ⿡ ¾Õ¼ Æ÷°ýÀûÀÎ ¼³°è¸¦ ÇØ¾ß Çϴ°¡ UMLÀ» È¿°úÀûÀ¸·Î »ç¿ëÇϱ⠴ٸ¥ »ç¶÷µé°ú ÀÇ»ç¼ÒÅëÇϱ⠷εå¸Ê ¹é¿£µå(back-end) ¹®¼ ¹«¾ùÀ» º¸°üÇÏ°í ¹«¾ùÀ» ¹ö·Á¾ß Çϴ°¡ ¹Ýº¹À» ÅëÇØ ´Ùµë±â ÇàÀ§¸¦ Á¦ÀÏ ¸ÕÀú ±¸Á¶¸¦ Á¡°ËÇϱâ Äڵ带 ¸¶À½¼ÓÀ¸·Î ±×·Áº¸±â ´ÙÀ̾î±×·¥ÀÇ ÁøÈ ¹Ì´Ï¸Ö¸®Áò ¾ðÁ¦ ´ÙÀ̾î±×·¥À» ±×·Á¾ß Çϸç, ¾î¶»°Ô ±×·Á¾ß Çϴ°¡ ¾ðÁ¦ ´ÙÀ̾î±×·¥À» ±×·Á¾ß ÇÏ¸ç ¾ðÁ¦ ¸ØÃç¾ß Çϴ°¡ CASE µµ±¸ ÇÏÁö¸¸ ¹®¼È´Â ¾î¶»°Ô ÇÕ´Ï±î ±×·¯¸é JavadocÀº? °á·Ð
3Àå. Ŭ·¡½º ´ÙÀ̾î±×·¥ ±âº» °³³ä Ŭ·¡½º ¿¬°ü »ó¼Ó ¿¹Á¦ Ŭ·¡½º ´ÙÀ̾î±×·¥ ¼¼ºÎ»çÇ× Å¬·¡½º ½ºÅ×·¹¿ÀŸÀÔ Ãß»ó Ŭ·¡½º ÇÁ·ÎÆÛƼ ÁýÇÕ ÇÕ¼º ´Ù¼ö¼º ¿¬°ü ½ºÅ×·¹¿ÀŸÀÔ ³»ºÎ Ŭ·¡½º ÀÍ¸í ³»ºÎ Ŭ·¡½º ¿¬°ü Ŭ·¡½º ¿¬°ü ÇÑÁ¤»ç °á·Ð
4Àå. ½ÃÄö½º ´ÙÀ̾î±×·¥ ±âº» °³³ä °´Ã¼, »ý¸í¼±, ¸Þ½ÃÁö µî »ý¼º°ú ¼Ò¸ê ´Ü¼øÇÑ ¹Ýº¹ »ç·Ê¿Í ½Ã³ª¸®¿À °í±Þ °³³ä ¹Ýº¹°ú Á¶°Ç ½Ã°£ÀÌ °É¸®´Â ¸Þ½ÃÁöµé ºñµ¿±â ¸Þ½ÃÁö ´ÙÁß ½º·¹µå È°µ¿ÀûÀÎ °´Ã¼ ÀÎÅÍÆäÀ̽º¿¡ ¸Þ½ÃÁö º¸³»±â °á·Ð
5Àå. À¯½ºÄÉÀ̽º À¯½ºÄÉÀ̽º Àû±â À¯½ºÄÉÀ̽º¶õ ¹«¾ùÀΰ¡ ±âº» È帧 ´ëü È帧 ³ª¸ÓÁö´Â? À¯½ºÄÉÀ̽º ´ÙÀ̾î±×·¥ ½Ã½ºÅÛ °æ°è ´ÙÀ̾î±×·¥ À¯½ºÄÉÀ̽º °ü°è °á·Ð
6Àå. OOD(°´Ã¼ ÁöÇâ °³¹ß)ÀÇ ¿øÄ¢ ¼³°èÀÇ Ç°Áú ³ª»Û ¼³°èÀÇ ³¿»õ ÀÇÁ¸ °ü°è °ü¸®ÇÏ±â ´Ü ÇϳªÀÇ Ã¥ÀÓ ¿øÄ¢(The Single Responsibility Principle) °³¹æ-Æó¼â ¿øÄ¢(The Open-Closed Principle) ¸®½ºÄÚÇÁ ±³Ã¼ ¿øÄ¢(Liskov Substitution Principle) ÀÇÁ¸ °ü°è ¿ªÀü ¿øÄ¢(Dependency Inversion Principle) ÀÎÅÍÆäÀ̽º °Ý¸® ¿øÄ¢(Interface Segregation Principle) °á·Ð
7Àå. ½Çõ¹æ¹ý : dX ¹Ýº¹ÀûÀÎ °³¹ß(Iterative Development) ÃÖÃÊÀÇ Å½»ç ÀÛ¾÷ °¢ ±â´ÉÀÇ ÃßÁ¤Ä¡ Àâ±â ½ºÆÄÀÌÅ© °èȹ Â¥±â ¸±¸®½º °èȹÇϱ⠹ݺ¹ Áֱ⸦ °èȹÇϱâ Áß°£ ÁöÁ¡ °á°ú¸¦ ¼Óµµ¿¡ ¹Ý¿µÇϱ⠹ݺ¹ Áֱ⸦ °ü¸® ´Ü°è·Î Á¶Á÷Çϱ⠹ݺ¹ Áֱ⿡¼´Â ¾î¶² ÀÏÀÌ ÀϾ´Â°¡ ¦À» ÀÌ·ï °³¹ßÇϱâ Àμö Å×½ºÆ® ´ÜÀ§ Å×½ºÆ® ¸®ÆÑÅ͸µ °³¹æµÈ ÀÛ¾÷ °ø°£ ²÷ÀÓ¾ø´Â ÅëÇÕ ÀÛ¾÷ °á·Ð
8Àå. ÆÐÅ°Áö ÀÚ¹Ù ÆÐÅ°Áö UML ÆÐÅ°Áö ÀÇÁ¸ °ü°è ¹ÙÀ̳ʸ® ÄÄÆ÷³ÍÆ® - .jar ÆÄÀÏ ÆÐÅ°Áö ¼³°èÀÇ ¿øÄ¢µé ÆÐÅ°Áö ¸±¸®½º£¯Àç»ç¿ë µî°¡ ¿øÄ¢(Release£¯Reuse Equivalency Principle) °øÅë Æó¼â ¿øÄ¢(Common Closure Principle) °øÅë Àç»ç¿ë ¹ýÄ¢(Common Reuse Principle) ÀÇÁ¸ °ü°è ºñ¼øȯ ¿øÄ¢(Acyclic Dependencies Principle) ¾ÈÁ¤µÈ ÀÇÁ¸ °ü°è ¿øÄ¢(Stable Dependencies Principle) ¾ÈÁ¤µÈ Ãß»óÈ ¿øÄ¢(Stable Abstractions Principle) °á·Ð
9Àå. °´Ã¼ ´ÙÀ̾î±×·¥ ¾î¶² ¼ø°£ÀÇ ½º³À¼¦ È°µ¿ÀûÀÎ °´Ã¼ °á·Ð
10Àå. »óÅ ´ÙÀ̾î±×·¥ ±âº» °³³ä Ư¼ö À̺¥Æ® »óÀ§ »óÅ ÃÖÃÊ ÀÇ»ç-»óÅÂ¿Í ÃÖÁ¾ ÀÇ»ç-»óÅ FSM ´ÙÀ̾î±×·¥À» »ç¿ëÇϱâ SMC ICE : »ç·Ê ¿¬±¸ °á·Ð
11Àå. ÈÞ¸®½ºÆ½°ú Ä¿ÇÇ ¸¶Å© IV Ư¼ö Ä¿ÇǸÞÀÌÄ¿ ¸¶Å© IV Ư¼ö Ä¿ÇǸÞÀÌÄ¿ µµÀü ÀÚÁÖ Á¦½ÃµÇ±ä ÇÏÁö¸¸, ¾û¸ÁÀÎ Ä¿ÇǸÞÀÌÄ¿ ÇØ°á ¹æ¾È »ç¶óÁø ¸Þ¼µå Çã±úºñ Ŭ·¡½º »ó»ó»ÓÀÎ Ãß»óÈ Çϳª´Ô Ŭ·¡½º Ä¿ÇǸÞÀÌÄ¿ ÇØ°á ¹æ¾È ¼±À» ³Ñ¾î°£ ¿¬°á Ä¿ÇǸÞÀÌÄ¿ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º À¯½ºÄÉÀ̽º 1 : »ç¿ëÀÚ°¡ ²úÀÓ(Brew) ¹öÆ°À» ´©¸¥´Ù À¯½ºÄÉÀ̽º 2 : ContainmentVesselÀÌ ÁغñµÇ¾î ÀÖÁö ¾Ê´Ù À¯½ºÄÉÀ̽º 3 : Ä¿ÇÇ°¡ ´Ù ²ú¾ú´Ù À¯½ºÄÉÀ̽º 4 : Ä¿ÇǸ¦ ¸ðµÎ ¸¶¼Ì´Ù Ãß»ó ¸ðµ¨À» ½ÇÁ¦·Î ±¸ÇöÇϱâ À¯½ºÄÉÀ̽º 1 : »ç¿ëÀÚ°¡ ²úÀÓ ¹öÆ°À» ´©¸¥´Ù isReady() ÇÔ¼öµéÀ» ±¸ÇöÇϱâ start() ÇÔ¼öµéÀ» ±¸ÇöÇϱâ M4UserInterface.checkButtonÀº ¾î¶»°Ô È£ÃâµÇ´Â°¡ Ä¿ÇǸÞÀÌÄ¿¸¦ ¸¶¹«¸®Áþ±â ÀÌ ¼³°èÀÇ ÀåÁ¡ ¾î¶»°Ô ÀÌ·± ¼³°è¸¦ ¶°¿Ã¸± ¼ö ÀÖ¾úÀ»±î °´Ã¼ÁöÇâÀÇ °úÀ×(OOverkill)
12Àå. SMC ¿ø°Ý ¼ºñ½º : »ç·Ê ¿¬±¸ µ¶ÀÚ¿¡°Ô º¸³»´Â °æ°í ´ÜÀ§ Å×½ºÆ® SMCRemote ½Ã½ºÅÛ SMCRemoteClient SMCRemoteClient ¸í·ÉÁÙ SMCRemote Åë½Å ÇÁ·ÎÅäÄÝ SMCRemoteClient(SMC ¿ø°Ý Ŭ¶óÀ̾ðÆ®) ¸Þ½ÃÁö ·Î°Å ¿ø°Ý ¼¼¼Ç RemoteSessionBase(¿ø°Ý ¼¼¼Ç º£À̽º) RemoteRegistrar(¿ø°Ý µî·ÏÀÚ) RemoteCompiler(¿ø°Ý ÄÄÆÄÀÏ·¯) FileCarrier(ÆÄÀÏ ¿î¹ÝÀÚ) SMCRemoteClient¿¡ ´ëÇÑ °á·Ð SMCRemoteServer SocketService(¼ÒÄÏ ¼ºñ½º) SMCRemoteService(SMC ¿ø°Ý ¼ºñ½º) SMCRemoteServer ServerSession(¼¹ö ¼¼¼Ç) THREE-LEVEL FSM UserRepository(»ç¿ëÀÚ ÀúÀå¼Ò) OReillyEmailSender(¿À¶óÀϸ® ÀüÀÚ¿ìÆí Àü¼ÛÀÚ) PasswordGenerator(ºñ¹Ð¹øÈ£ »ý¼º±â) °á·Ð SMCRemoteClient¸¦ À§ÇÑ Å×½ºÆ® SocketService¸¦ À§ÇÑ Å×½ºÆ® SMCRemoteServer¸¦ À§ÇÑ Å×½ºÆ® ³ª¸ÓÁö Å×½ºÆ® (SMC°¡ ÀÚµ¿ »ý¼ºÇÑ) ¼¹ö ÄÁÆ®·Ñ·¯(ServerController)
ºÎ·Ï 1. ºÐ·Î(ÝÂÖØ) ´ÜÀ§ Å×½ºÆà ÆÐÅÏ ¿ª»ç À̸§ÀÇ À¯·¡
ºÎ·Ï 2. ÇÁ·Î¼¼½º(RUP vs. dX) ±Ç¸® ¸ñÇ¥ °¡Ä¡ ½Ã½ºÅÛ RUP(Rational Unified Process) dX : °¡Àå ÀÛÀº RUP °øÁ¤ ¿ä¾à
Âü°í¹®Çå ¿ë¾î´ë¿ªÇ¥
ÀÌ Ã¥Àº UMLÀ» °øºÎÇÏ·Á´Â »ç¶÷À» À§ÇÑ Ã¥ÀÌ ¾Æ´Ï´Ù.
ÀÌ Ã¥Àº UMLÀ» »ç¿ëÇÏ·Á´Â »ç¶÷À» À§ÇÑ Ã¥ÀÌ´Ù. ÀÌ Ã¥ÀÇ Ã¶Çп¡ ±×³ª¸¶ °¡±î¿î UML ¼ÀûÀ» ²Å´Â´Ù¸é ¸¶Æ¾ ÆÄ¿ï·¯°¡ ¾´ [UML Distilled] Á¤µµ°¡ ÀÖ°Ú´Ù. ÇÏÁö¸¸ À̸¶Àúµµ °¡±î¿î °ÍÀÌÁö, ÀÌÅä·Ï ½Ç¿ëÀûÀÌ°í ½ÇÀüÀûÀÌ¸é¼ ÃÖ¼ÒÁÖÀÇ(minimalism)ÀûÀÎ UML ¼ÀûÀº º»ÀÎÀÌ ¾Æ´Â ÇÑ ¾ø´Ù.
ÀÌ Ã¥ÀÇ ÃÊ°í¸¦ óÀ½ º¼ ¶§ ¡®UMLÀ» ¾ðÁ¦ »ç¿ëÇϴ°¡¡¯¶ó´Â Áú¹®¿¡ ÀúÀÚ°¡ ´äÇÑ °ÍÀ» Àаí´Â µÚÅë¼ö¸¦ Á׺ñ·Î ¾ò¾î¸Â´Â ´À³¦À» ¹Þ¾Ò´Ù. ¡®¹º°¡ ²À Å×½ºÆ®ÇØ¾ß ÇÒ °ÍÀÌ ÀÖ°í ±×°ÍÀ» Å×½ºÆ®ÇÏ´Â µ¥ ÄÚµå·Î ÇÏ´Â °Íº¸´Ù UML·Î ÇÏ´Â °ÍÀÌ ´õ °ª½Ñ °æ¿ì¿¡ UMLÀ» »ç¿ëÇÑ´Ù¡¯. µû¾Ç!
½Ç¹«¿¡¼ UMLÀ» »ç¿ëÇغ» »ç¶÷Àº ÀÌ Ã¥À» ÀÐÀ¸¸é¼ ³Ê¹« Áñ°Å¿î ³ª¸ÓÁö ¹Ú¼ö¸¦ Ä¡°í ¹ßÀ» ±¸¸£°Ô µÉÁöµµ ¸ð¸£°Ú´Ù. UMLÀ» »ç¿ëÇغ¸Áö ¸øÇÑ »ç¶÷Àº ¹«¸²ºñ°øÀ» °ÅÀú ÁÖ¿î ´À³¦À» ¹ÞÀ» °Í °°´Ù. Ȥ ÁÖº¯ÀÇ ÁúÅõ¿Í ½Ã±âÀÇ ´«Ãʸ®¸¦ ¹ÞÀ»Áöµµ ¸ð¸£°Ú´Ù. ±º´ë ´Ù³à¿Â »ç¶÷ÀÌ º°´Ù¸¥ ÀÌÀ¯ ¾øÀÌ ¸éÁ¦µÈ »ç¶÷À» º¸°í ÁúÅõ½ÉÀ» ´À³¢´Â °Íó·³. ÀÌ Ã¥Àº »ç½Ç UML¸¸ °¡¸£ÃÄÁÖÁö´Â ¾Ê´Â´Ù. XP¿Í °´Ã¼ ÁöÇâ ¼³°èÀÇ ¿øÄ¢±îÁöµµ ´ýÀ¸·Î ¾Ë·ÁÁØ´Ù. »ç½Ç ÀÌ·± ºÎ°¡ Áö½Ä ¾øÀÌ´Â UMLÀ» È¿°úÀûÀ¸·Î »ç¿ëÇϱ⠾î·Æ´Ù°í »ý°¢ÇÑ´Ù. ƯÈ÷ µÞºÎºÐÀÇ »ç·Ê ¿¬±¸¸¦ ÅëÇØ ±¸Ã¼ÀûÀÎ »ç·Ê¿¡¼ UMLÀÌ ¾î¶»°Ô »ç¿ëµÇ´ÂÁö, ¼³°è´Â ¾î¶»°Ô ÇÏ´ÂÁö µîÀ» µû¶ó°¡´Ù º¸¸é ¾î´À»õ ÁÖº¯ÀÇ ½Ã±â¿Í ÁúÅõ¸¦ ÇÑ ¸ö¿¡ ¹Þ´Â ÀÚ½ÅÀ» ¹ß°ßÇÏ°Ô µÉ °ÍÀÌ´Ù.
- ±èâÁØ(¾ÖÀÚÀÏ ÄÁ¼³Æà ´ëÇ¥)
|
|
|
|
|