SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
ํŒจํ„ด๊ณผ EA์˜ ๋งŒ๋‚จ

                     ์†์˜์ˆ˜
                 ๋ฐ๋ธŒํ”ผ์•„ ์•„ํ‚คํ…์ณ ์‹œ์‚ฝ
                ์‚ผ์„ฑ์ „์ž ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ ๊ทธ๋ฃน


     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                  COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์˜ค๋Š˜ ๋‚˜๋ˆŒ ์ด์•ผ๊ธฐ ๊ฑฐ๋ฆฌ๋“ค.


ยงํŒจํ„ด์˜ ์ •์˜ (ํŒจํ„ด์ด๋ž€?)
ยงํŒจํ„ด์— ๋Œ€ํ•œ ์˜คํ•ด์™€ ์ง„์‹ค


ยงํŒจํ„ด์œผ๋กœ ๊ฐ€๋Š” ๊ธธ


ยงํŒจํ„ด ๋นŒ๋“œ ์˜ค๋”
ยงํŒจํ„ด + ์ƒ์‚ฐ์„ฑ ๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ ์žก๊ธฐ
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๋„๋Œ€์ฒด..
1. ๋„๋Œ€์ฒด..
    ๋ฌด์—‡์ผ๊นŒ?
ํŒจํ„ด์€ ๋ฌด์—‡์ผ๊นŒ?




      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
 2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
Pattern
                               is

                             Father
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                       COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์šฐ๋ฆฌ๋Š” ์•„๋ฒ„์ง€์™€ ๋น„์Šทํ•œ
     ์ƒ๊น€์ƒˆ, ์„ฑ๊ฒฉ, ์Šต๊ด€ ๋“ฑ์„
     ์ƒ๊น€์ƒˆ, ์„ฑ๊ฒฉ,
         ์žˆ๋‹ค.
     ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์ด๋ฏธ ํ•ด๊ฒฐํ•œ ๋ฌธ์ œ์™€
             ๋ฌธ์ œ๋“ค์€..
         ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋“ค์€..
             ๋ฐฉ๋ฒ•(ํŒจํ„ด)
         ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•(ํŒจํ„ด)์œผ๋กœ
                ์žˆ๋‹ค.
         ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๊ณผ์—ฐ..
         ๊ทธ๋Ÿผ ํŒจํ„ด์€ ๊ณผ์—ฐ..

         ์™œ          ๋‚ด๊ฐ€       ์ ์šฉํ•˜๋ ค๋ฉด

         ์•ˆ๋ ๊นŒ?
         ์•ˆ๋ ๊นŒ?

     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                    COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
2. ํŒจํ„ด์— ๋Œ€ํ•œ ์˜คํ•ด์™€ ์ง„์‹ค




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
GoF 23๊ฐœ์˜ Pattern์œผ๋กœ
                                 23๊ฐœ์˜ Pattern์œผ๋กœ
                                      ๋งŒ๋“ค๊ธฐ?
                             ์šฐ์•„ํ•œ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ?



     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                             COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
ํŒจํ„ด๋“ค..
์ง€๊ตฌ์ƒ์˜ ํŒจํ„ด๋“ค..


                              +
       ๋…ผ๋ฌธ ํ˜•ํƒœ๋กœ ๋ฐœํ‘œ๋œ
       ํŒจํ„ด ๋ช‡ ๋ฐฑ๊ฐœ.

      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
 2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                    COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์•„๋‹ˆ๋‹ค.
                         ํŒจํ„ด์€ ์„ฌ์ด ์•„๋‹ˆ๋‹ค.

     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                    COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ„ด์ด ๋ญ‰์ณ์„œ
์‚ฌ์šฉ๋œ๋‹ค.
์‚ฌ์šฉ๋œ๋‹ค.
                                                          Common
                             Strategy                     Part
      Variable                              <<CREATES>>
      Part                                                (Modularity)
                             Factory


                                                          Log


                                        <<LINKS>>
                                                          Security
      Configurable
      Part                   Component                    Transaction
                             Configurator




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                                        COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ„ด์ด ๋ญ‰์ณ์„œ
์‚ฌ์šฉ๋œ๋‹ค.
์‚ฌ์šฉ๋œ๋‹ค.




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
ํŒจํ„ด์€ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„๋งŒ
๋‹ค๋ฃฌ๋‹ค ?




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
ํŒจํ„ด?
       ์†”๋กœ๋“ค์„ ์œ„ํ•œ ํŒจํ„ด?




http://www.amazon.com/Dating-Design-Patterns-Solveig-Haugland/dp/0974312002/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1239125189&sr=8-1




         ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
    2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                                                                     COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๋‹ค๋ฃฌ๋‹ค.
์†Œํ”„ํŠธ์›จ์–ด์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ํ–‰์œ„๋“ค์„ ๋‹ค๋ฃฌ๋‹ค.

ยง ํŒ€์„ ์ด๋ฃจ์–ด ์„ค๊ณ„ ๋Œ€๋ จ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํŒจํ„ด
 - http://portal.acm.org/citation.cfm?id=273484



                            +
ยง ํŒ€ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ ์‹œํ‚ค๋Š” ํŒจํ„ด
 - http://arload.wordpress.com/2008/09/02/teampro
   ductivity/

   ๊ทธ ์™ธ์—๋„ ๊ธฐํƒ€ ๋“ฑ๋“ฑโ€ฆ.
ยง ์ง€๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ ธ ์žˆ๋Š” ํŒ€ ํ˜‘์—…ํ•˜๋Š” ํŒจํ„ด
 - http://hillside.net/plop/2006/Papers/Library/patter
   http://arload.wordpress.com/2008/04/02/plopfestival/
   nstoenablePLoP2006_submission_v4.pdf
 - http://hillside.net/plop/2004/papers/vbricout0/PLo
   P2004_vbricout0_0.doc
      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธnd
ยง2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 ์ด๋„๋Š” ํŒจํ„ด
  ํšจ์œจ์ ์ธ ํšŒ์˜๋ฅผ KSAS                                 COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๋งŒ๋ณ‘ํ†ต์น˜์•ฝ?
  ํŒจํ„ด์€ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ?




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๋น„์•ฝ์ ์ธ
   ยง๋น„์•ฝ์ ์ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ ?
    ์ƒ์‚ฐ์„ฑ
   ยง์ƒ์‚ฐ์„ฑ ์ฆ๋Œ€ ?
    ์ตœ์ ํ™”
   ยง์ตœ์ ํ™” ?


    ์‹ฌ์ง€์–ด
   ยง์‹ฌ์ง€์–ด Silver Bullet ??
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์žฅ์ ์€..
ํŒจํ„ด์˜ ์žฅ์ ์€..




            ์œ ์—ฐ์„ฑ              ํ™•์žฅ์„ฑ
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                 COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
3. ํŒจํ„ด์œผ๋กœ ๊ฐ€๋Š” ๊ธธ...




      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
 2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
ํŒจํ„ด์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ๋งˆ์Œ๊ฐ€์ง




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์•„ํ‚คํ…์ณ์˜ ์ดํ•ด ๋Œ€์ƒ


                             Martin Fowler says โ€ฆ


    The expert developers working on that project have
    a shared understanding of the system design.


    This shared understanding is called โ€˜architecture
                                         architectureโ€™
                                         architecture

     http://www.martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                          COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
ํŒจํ„ด๋„..
  ์—ญ์‹œ ํŒจํ„ด๋„..
  ํŒ€ ๋‚ด ์˜์‚ฌ ์†Œํ†ต์˜ ์ˆ˜๋‹จ์ด
     ์œ„ํ•ด์„ ,
  ๋˜๊ธฐ ์œ„ํ•ด์„ ,
           ํ•„์š”ํ•˜๋‹ค.
  ํŒ€์›๋“ค์˜ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๊ณผ์œ ๋ถˆ๊ธ‰




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                 COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๋‚จ์šฉ.
  ํŒจํ„ด์˜ ๋‚จ์šฉ.
  ๋ฆฌ์†Œ์Šค ์ œ์•ฝ์ด ์‹ฌํ•œ ์‹œ์Šคํ…œ์—
      ์ถ”๊ฐ€ํ•˜๊ธฐ??
  ์œ ์—ฐ์„ฑ ์ถ”๊ฐ€ํ•˜๊ธฐ??
     - Pipe & Filter
     - Component Configurator


     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                   COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์ฐพ์•„๋ผ!
ํŒจํ„ด์˜ ๊ฐ€์กฑ๊ด€๊ณ„๋ฅผ ์ฐพ์•„๋ผ!


     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
Compound Pattern
                             versus
                    Composite Pattern


     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                         COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์ „ํ˜•์ ์ธ ๊ฐ€์กฑ๊ด€๊ณ„

                             Strategy
                                                            Common
     Variable                                                 Part
                                            <<CREATES>>
     Part
                             Factory


                                                          Log


                                        <<LINKS>>
                                                          Security
     Configurable
     Part                    Component                    Transaction
                             Configurator




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                                        COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
JAWS - ์›น ์„œ๋ฒ„์˜
๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ์ž˜ ํ•ด๊ฒฐํ•œ ์‚ฌ๋ก€




                      ํŒจํ„ด์„ ์ด์šฉํ•œ ์›น ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ (ํ•œ๊ตญ์–ด ๊ฐ•์ขŒ)
         http://www.devpia.com/NET2/EvaCast/Lecture/?cu=view&r=11

     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                          COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๋งŽ์€
๊ฐ€์กฑ๊ด€๊ณ„ (Compound Pattern)
์‚ฌ๋ก€๋ฅผ ์•Œ์•„์•ผ..
    ์•Œ์•„์•ผ..


             ์‰ฝ๋‹ค.
์‹ค์ œ ์„ค๊ณ„ ์‹œ ์ ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค.

     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
4. ํŒจํ„ด์˜
                                    ์˜ค๋”..
                             ์˜ฌ๋ฐ”๋ฅธ ๋นŒ๋“œ ์˜ค๋”..




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                         COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๋นŒ๋“œ์˜ค๋”..
์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ํŒจํ„ด ๋นŒ๋“œ์˜ค๋”..




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
POSA 1 (์•„ํ‚คํ…์ณ ํŒจํ„ด)



- Layer                 - Model -View-Controller
- Pipe & Filter         - Presentation -Abstraction - Control


- Broker                - Reflection
- Master Slave
- Client โ€“ Dispatcher   - Counted Pointer
- Forwarder-Receiver    - Blackboard
POSA 2 (๋ถ„์‚ฐ ๊ฐ์ฒด๋ฅผ ์œ„ํ•œ ํŒจํ„ด)
POSA 3 (์ž์› ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ํŒจํ„ด)
ยงResource Acquisition    ยงResource Lifecycle
 - Lookup                 - Caching
 - Lazy Acquisition       - Pooling
 - Eager Acquisition      - Coordinator
 - Partial Acquisition    - Resource Lifecycle Manager



                         ยงResource Release
                          - Leasing
                          - Evictor
๊ทธ ์™ธ ํŒจํ„ด๋“ค..




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๊ทธ ์™ธ ํŒจํ„ด๋“ค..




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                Devpia A&D EVA   COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
๊ทธ ์™ธ ํŒจํ„ด๋“ค..




      Devpia A&D EVA
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ   ์•„ํ‚คํ…ํŠธ               7/19/2009 ํ™€. 2009.7.9~10 3
                                COEX ์žฅ๋ณด๊ณ 

                                                      9
์ฆ๋Œ€.
5. ํŒจํ„ด + ์ƒ์‚ฐ์„ฑ ์ฆ๋Œ€.
                      ๋‚ด ์นœ๊ตฌ..


                      ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
 2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                   COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
Code Template์„
์ด์šฉํ•œ ๊ณต์žฅ ๋งŒ๋“ค๊ธฐ
                 4
                 1
1. StreoType ์ƒ์„ฑ

      Setting โ€“ UML โ€“ Streotypes




      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
 2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   4
                                                        2
2. ํด๋ž˜์Šค ์„ค๊ณ„ ํ›„ StreoType ํ• ๋‹น




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   4
                                                       3
3. ๋ฉ”์†Œ๋“œ ์†์„ฑ์— ๋งž๋Š” ํƒœ๊น…์ƒ์„ฑ

     ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ ์žฌ๊ณ ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋Š”
     Database์—์„œ
     Database์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” (Get) ํƒ€์ž…์ธ ๊ฒฝ์šฐ.
                                    ๊ฒฝ์šฐ.




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                       COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   4
                                                              4
4. ์ฝ”๋“œ ์ƒ์„ฑ ํƒฌํ”Œ๋ฆฟ ์ž‘์„ฑ


      Settings โ€“ Code Generation Templates
  ๋‹ค์–‘ํ•œ                                   ์ƒ์„ฑํ•  ์ฝ”๋“œ
 ์–ธ์–ด ์„ ํƒ                                    ์ž…๋ ฅ


์ƒ์„ฑํ•  ์ฝ”๋“œ
  ํ…œํ”Œ๋ฆฟ
Namespace,
  Class,
Operation ๋“ฑ



  ์ŠคํŠธ๋ ˆ์˜ค
    ํƒ€์ž…๋ณ„
  ํ…œํ”Œ๋ฆฟ์„
      ์ง€์ •
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                         COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   4
                                                                5
์ŠคํŠธ๋ ˆ์˜ค ํƒ€์ž… ์ฝ”๋“œ ํ…œํ”Œ๋ฆฟ ์ถ”๊ฐ€




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   4
                                                       6
์ŠคํŠธ๋ ˆ์˜ค ํ…œํ”Œ๋ฆฟ ์ถ”๊ฐ€

     ยง Import Section

       - DLL ์ด๋‚˜              Namespace๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„


     ยง Operation Body

       - ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„ ๋ถ€์— ์‚ฌ์šฉ์ž ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ ํ•จ




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   4
                                                                       7
๊ฐ„๋‹จํ•œ ์˜ˆ - OperationBody
     %if opTag:"DataAccessType" =="get" %
         opTag:"DataAccessType"
              :"DataAccessType                  //๋ฐ์ดํ„ฐ๋ฅผ
                                                //๋ฐ์ดํ„ฐ๋ฅผ ์–ป์–ด์˜ค๋Š” ์ฟผ๋ฆฌ
     IDataReader reader = null;
     %opReturnType% retVal = new %opReturnType%();
      opReturnType%              %opReturnType
                                  opReturnType%();
     try
     {
         // 1. Create the Database object, using the default database service.
                       DatabaseFactory.CreateDatabase();
         Database db = DatabaseFactory.CreateDatabase();
                  log.Debug("Create Database Factory");
                  log.Debug("Create


         // 2. Create DB Command
                                      "$queryName
                                        queryName";
                  string sqlCommand = "$queryName";
                               db.GetStoredProcCommand(sqlCommand);
                   dbCommand = db.GetStoredProcCommand(sqlCommand);
                  log.Debug("GetStoredProcCommand("
                  log.Debug("GetStoredProcCommand(" + sqlCommand + ")");
                           ("GetStoredProcCommand
                   โ€ฆ.
       %elseIf opTag:"DataAccessType" =="set"%
                    :"DataAccessType
     } %elseIf opTag:"DataAccessType" =="set"%      //๋ฐ์ดํ„ฐ๋ฅผ
                                                    //๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š” ์ฟผ๋ฆฌ
     DbConnection connection = null;
     UInt32 retVal = 0;
     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                                                    COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   4
                                                                                                             48
     try                                                                                                   8
Reverse
 Engineering




               4
               9
ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   5
                                                       0
ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   5
                                                       1
๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•
โ€“ ํ”„๋กœ์„ธ์Šค๋กœ ๋””๋ฒ„๊น… ํ•˜๊ธฐ




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   5
                                                       2
ํ”„๋กœ์„ธ์Šค๋กœ ๋””๋ฒ„๊น…ํ•˜๊ธฐ




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   5
                                                       3
๋””๋ฒ„๊น… ๋‚ด์šฉ์„
         Diagram์œผ๋กœ
Sequence Diagram์œผ๋กœ ์ƒ์„ฑ




      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
 2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   5
                                                        4
๋””๋ฒ„๊น… ๋‚ด์šฉ์„
               Diagram์œผ๋กœ
      Sequence Diagram์œผ๋กœ ์ƒ์„ฑ




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                 COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10   5
                                                        5
Unit Testing
Unit Testing๊ณผ ์—ฐ๋™๋จ
           Testing๊ณผ
     ํ˜„์žฌ        JUnit, Nunit)
    ยงํ˜„์žฌ xUnit (JUnit, Nunit) ํ˜•ํƒœ๋กœ ์ƒ์„ฑ๋ฐ
         ๊ฐ€๋Šฅํ•จ.
     ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•จ.
     ๋‹ค๋ฅธ      Test๋Š”         Script๋กœ
    ยง๋‹ค๋ฅธ Unit Test๋Š” Package Script๋กœ
     ์—ฐ๋™๊ฐ€๋Šฅ.
     ์—ฐ๋™๊ฐ€๋Šฅ.




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                   COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
Visual Studio.NET
               mstest)
๋‚ด์žฅ UnitTest (mstest)์…‹ํŒ… ๋ฒ•




     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์ฐธ๊ณ ์ž๋ฃŒ
                         โ€œPattern
                           Pattern-
ยง Frank Buschmann et al, โ€œPattern-Oriented Software Architecture : A System of
  Patternsโ€,
  Patternsโ€, Volume 1, Wiley


                         โ€œPattern
                          Pattern-                  Architectureโ€,
ยง Douglas Schmidt et al, โ€œPattern-Oriented Software Architectureโ€,            Volume 2,
  Wiley


ยง Eric Gamma et al, โ€œDesign Patterns : Elements of Reusable Object Oriented
                    โ€œDesign
  Softwareโ€ , Addison Wesley
  Softwareโ€


ยง Pipe & Filter Pattern, http://www.codeproject.com/cs/design/PipesAndFilters.asp


ยง Reflection Pattern, http://www.codeproject.com/csharp/introreflection.asp




      ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
 2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                                       COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์ฐธ๊ณ ์ž๋ฃŒ
                 Douglas C. Schmidt (PLoP Editor, POSA 2, 4 Writter)

                 JAWS: An Application Framework for High Performance
                 Web System
                 http://citeseer.ist.psu.edu/81775.html (En)
                 http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r
                 =11 (Kr)


                 Ralph Johnson (GoF , Design Patterns)

                 Evolving Frameworks
                 http://st-www.cs.uiuc.edu/users/droberts/evolve.html (En)
                 http://arload.wordpress.com/2008/09/15/evolvingframewor
                 ks/ (Kr)


     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                              COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
์ฐธ๊ณ ์ž๋ฃŒ
                Robert C. Martin
                Principles of Package Architecture (Design Principles and
                Design Patterns)

                http://www.objectmentor.com/resources/articles/Principles_a
                nd_Patterns.pdf (En)
                http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r=1
                08 (Kr)



    Load to Architect
    http://www.arload.net

    EvaCast (Online Free Lecture)
    http://www.evacast.net

     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                               COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
Question?
                                                        ์ €์ž‘์žํ‘œ์‹œ-๋น„์˜๋ฆฌ
                   ์ด ์ €์ž‘๋ฌผ์€ ํฌ๋ฆฌ์—์ดํ‹ฐ๋ธŒ ์ปค๋จผ์ฆˆ ์ฝ”๋ฆฌ์•„ ์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด๋ณ€๊ฒฝํ—ˆ๋ฝ 2.0 ๋น„์˜๋ฆฌ-๋™์ผ์กฐ๊ฑด๋ณ€๊ฒฝํ—ˆ๋ฝ
                                           ๋ผ์ด์„ผ์Šค์—
                                   ๋Œ€ํ•œ๋ฏผ๊ตญ ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์ด์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค       ์žˆ์Šต๋‹ˆ๋‹ค.
                  This work is licensed under Creative Commons Korea Attribution 2.0 License.



     ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS
2009 ํ•œ๊ตญ  ์•„ํ‚คํ…ํŠธ                                                                     COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10

Weitere รคhnliche Inhalte

Andere mochten auch

Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk Server
Markus Christen
ย 
Publisher subscriber pattern
Publisher subscriber patternPublisher subscriber pattern
Publisher subscriber pattern
DaeMyung Kang
ย 

Andere mochten auch (11)

Design Pattern 3
Design Pattern 3Design Pattern 3
Design Pattern 3
ย 
Design patterns ์Šคํ„ฐ๋”” -strategyํŒจํ„ด
Design patterns ์Šคํ„ฐ๋”” -strategyํŒจํ„ดDesign patterns ์Šคํ„ฐ๋”” -strategyํŒจํ„ด
Design patterns ์Šคํ„ฐ๋”” -strategyํŒจํ„ด
ย 
Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk Server
ย 
Publisher subscriber pattern
Publisher subscriber patternPublisher subscriber pattern
Publisher subscriber pattern
ย 
Learn design pattern-1
Learn design pattern-1Learn design pattern-1
Learn design pattern-1
ย 
Desing Pattern-2
Desing Pattern-2Desing Pattern-2
Desing Pattern-2
ย 
4. publish / subscribe
4. publish / subscribe4. publish / subscribe
4. publish / subscribe
ย 
Design pattern 4
Design pattern 4Design pattern 4
Design pattern 4
ย 
์˜ˆ์ œ๋กœ ๋ณด๋Š” Pattern ์—ฐ์ƒ๋ฒ•
์˜ˆ์ œ๋กœ ๋ณด๋Š” Pattern ์—ฐ์ƒ๋ฒ•์˜ˆ์ œ๋กœ ๋ณด๋Š” Pattern ์—ฐ์ƒ๋ฒ•
์˜ˆ์ œ๋กœ ๋ณด๋Š” Pattern ์—ฐ์ƒ๋ฒ•
ย 
์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ”๋ผ ๋ณธ Functional Reactive Programming with RxJava - SpringCamp2015
์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ”๋ผ ๋ณธ Functional Reactive Programming with RxJava - SpringCamp2015์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ”๋ผ ๋ณธ Functional Reactive Programming with RxJava - SpringCamp2015
์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ”๋ผ ๋ณธ Functional Reactive Programming with RxJava - SpringCamp2015
ย 
Proxy pattern
Proxy patternProxy pattern
Proxy pattern
ย 

ร„hnlich wie Pattern and EA

Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€
Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€
Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€
Yousun Jeong
ย 
์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€
์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€
์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€
YoungSu Son
ย 
C++ api design ํ’ˆ์งˆ
C++ api design ํ’ˆ์งˆC++ api design ํ’ˆ์งˆ
C++ api design ํ’ˆ์งˆ
HyeonSeok Choi
ย 

ร„hnlich wie Pattern and EA (12)

Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€
Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€
Enterprise ํ™˜๊ฒฝ์—์„œ์˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ ์šฉ ์‚ฌ๋ก€
ย 
์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€
์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€
์•„ํ‚คํ…ํŠธ๊ฐ€ ์•Œ์•„์•ผ ํ•  12/97๊ฐ€์ง€
ย 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
ย 
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceCloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
ย 
[๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 7๊ธฐ Tech Talk]แ„‹แ…ฉแ„‰แ…ณแ†ผแ„†แ…ตแ†ซ_Swiftแ„‹แ…ด Protocol์—๋Š” ๊ฐ๋™์ด ์žˆ๋‹ค
[๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 7๊ธฐ Tech Talk]แ„‹แ…ฉแ„‰แ…ณแ†ผแ„†แ…ตแ†ซ_Swiftแ„‹แ…ด Protocol์—๋Š” ๊ฐ๋™์ด ์žˆ๋‹ค[๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 7๊ธฐ Tech Talk]แ„‹แ…ฉแ„‰แ…ณแ†ผแ„†แ…ตแ†ซ_Swiftแ„‹แ…ด Protocol์—๋Š” ๊ฐ๋™์ด ์žˆ๋‹ค
[๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 7๊ธฐ Tech Talk]แ„‹แ…ฉแ„‰แ…ณแ†ผแ„†แ…ตแ†ซ_Swiftแ„‹แ…ด Protocol์—๋Š” ๊ฐ๋™์ด ์žˆ๋‹ค
ย 
ํ†ตํ•ฉํ•จ์ •์‹œ์Šคํ…œ๊ณตํ•™(Total ship systems engineering) ๊ธฐ๋ฐ˜ ROC ๋ฐ OMOE ๊ฐœ๋ฐœ์—ฐ๊ตฌ
ํ†ตํ•ฉํ•จ์ •์‹œ์Šคํ…œ๊ณตํ•™(Total ship systems engineering) ๊ธฐ๋ฐ˜ ROC ๋ฐ OMOE ๊ฐœ๋ฐœ์—ฐ๊ตฌํ†ตํ•ฉํ•จ์ •์‹œ์Šคํ…œ๊ณตํ•™(Total ship systems engineering) ๊ธฐ๋ฐ˜ ROC ๋ฐ OMOE ๊ฐœ๋ฐœ์—ฐ๊ตฌ
ํ†ตํ•ฉํ•จ์ •์‹œ์Šคํ…œ๊ณตํ•™(Total ship systems engineering) ๊ธฐ๋ฐ˜ ROC ๋ฐ OMOE ๊ฐœ๋ฐœ์—ฐ๊ตฌ
ย 
ecdevday4
ecdevday4ecdevday4
ecdevday4
ย 
C++ api design ํ’ˆ์งˆ
C++ api design ํ’ˆ์งˆC++ api design ํ’ˆ์งˆ
C++ api design ํ’ˆ์งˆ
ย 
Sw ์•„ํ‚คํ…์ฒ˜์™€ sw ๊ณตํ•™
Sw ์•„ํ‚คํ…์ฒ˜์™€ sw ๊ณตํ•™Sw ์•„ํ‚คํ…์ฒ˜์™€ sw ๊ณตํ•™
Sw ์•„ํ‚คํ…์ฒ˜์™€ sw ๊ณตํ•™
ย 
User Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud BizUser Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud Biz
ย 
๋ฏธํ•ด๊ตฐ์˜ ์„ค๊ณ„์กฐํ•ฉ๋„๊ตฌ์ธ ASSET ์†Œ๊ฐœ ๋ฐ ์‚ฌ์šฉ๋ฒ•
๋ฏธํ•ด๊ตฐ์˜ ์„ค๊ณ„์กฐํ•ฉ๋„๊ตฌ์ธ ASSET ์†Œ๊ฐœ ๋ฐ ์‚ฌ์šฉ๋ฒ•๋ฏธํ•ด๊ตฐ์˜ ์„ค๊ณ„์กฐํ•ฉ๋„๊ตฌ์ธ ASSET ์†Œ๊ฐœ ๋ฐ ์‚ฌ์šฉ๋ฒ•
๋ฏธํ•ด๊ตฐ์˜ ์„ค๊ณ„์กฐํ•ฉ๋„๊ตฌ์ธ ASSET ์†Œ๊ฐœ ๋ฐ ์‚ฌ์šฉ๋ฒ•
ย 
5G Cloud ๊ธฐ์ˆ 
5G Cloud ๊ธฐ์ˆ 5G Cloud ๊ธฐ์ˆ 
5G Cloud ๊ธฐ์ˆ 
ย 

Mehr von YoungSu Son

Mehr von YoungSu Son (20)

Fault Tolerance ํŒจํ„ด
Fault Tolerance ํŒจํ„ด Fault Tolerance ํŒจํ„ด
Fault Tolerance ํŒจํ„ด
ย 
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance TuningClean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance Tuning
ย 
์ธ๊ณต์ง€๋Šฅ ์‹๋ณ„์ถ”์ ์‹œ์Šคํ…œ ์‹ค์ฆ๋žฉ ๊ตฌ์ถ•๋ฐ ์šด์˜ - ํ‰๊ฐ€๋ชจ๋ธ ๊ณ ๋„ํ™”
์ธ๊ณต์ง€๋Šฅ ์‹๋ณ„์ถ”์ ์‹œ์Šคํ…œ ์‹ค์ฆ๋žฉ ๊ตฌ์ถ•๋ฐ ์šด์˜ - ํ‰๊ฐ€๋ชจ๋ธ ๊ณ ๋„ํ™”์ธ๊ณต์ง€๋Šฅ ์‹๋ณ„์ถ”์ ์‹œ์Šคํ…œ ์‹ค์ฆ๋žฉ ๊ตฌ์ถ•๋ฐ ์šด์˜ - ํ‰๊ฐ€๋ชจ๋ธ ๊ณ ๋„ํ™”
์ธ๊ณต์ง€๋Šฅ ์‹๋ณ„์ถ”์ ์‹œ์Šคํ…œ ์‹ค์ฆ๋žฉ ๊ตฌ์ถ•๋ฐ ์šด์˜ - ํ‰๊ฐ€๋ชจ๋ธ ๊ณ ๋„ํ™”
ย 
Prototype ํŒจํ„ด (์‹ฌ๋งŒ์„ญ)
Prototype ํŒจํ„ด (์‹ฌ๋งŒ์„ญ) Prototype ํŒจํ„ด (์‹ฌ๋งŒ์„ญ)
Prototype ํŒจํ„ด (์‹ฌ๋งŒ์„ญ)
ย 
Chain of Responsibility (์‹ฌ์ˆ˜์—ฐ - ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ 10๊ธฐ)
Chain of Responsibility (์‹ฌ์ˆ˜์—ฐ - ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ 10๊ธฐ)Chain of Responsibility (์‹ฌ์ˆ˜์—ฐ - ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ 10๊ธฐ)
Chain of Responsibility (์‹ฌ์ˆ˜์—ฐ - ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ 10๊ธฐ)
ย 
Singleton ํŒจํ„ด (๊น€์ง„์˜ - EVA, ์†Œ๋งˆ์— 10๊ธฐ)
Singleton ํŒจํ„ด (๊น€์ง„์˜ -  EVA, ์†Œ๋งˆ์— 10๊ธฐ) Singleton ํŒจํ„ด (๊น€์ง„์˜ -  EVA, ์†Œ๋งˆ์— 10๊ธฐ)
Singleton ํŒจํ„ด (๊น€์ง„์˜ - EVA, ์†Œ๋งˆ์— 10๊ธฐ)
ย 
์‹ค์ „ ์„œ๋ฒ„ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ๋…ธํ•˜์šฐ
์‹ค์ „ ์„œ๋ฒ„ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ๋…ธํ•˜์šฐ ์‹ค์ „ ์„œ๋ฒ„ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ๋…ธํ•˜์šฐ
์‹ค์ „ ์„œ๋ฒ„ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ๋…ธํ•˜์šฐ
ย 
์ƒ์„ฑ ํŒจํ„ด (๊ฐ•ํƒœ์šฐ - ์†Œ๋งˆ์— 10๊ธฐ)
์ƒ์„ฑ ํŒจํ„ด (๊ฐ•ํƒœ์šฐ - ์†Œ๋งˆ์— 10๊ธฐ) ์ƒ์„ฑ ํŒจํ„ด (๊ฐ•ํƒœ์šฐ - ์†Œ๋งˆ์— 10๊ธฐ)
์ƒ์„ฑ ํŒจํ„ด (๊ฐ•ํƒœ์šฐ - ์†Œ๋งˆ์— 10๊ธฐ)
ย 
์ดˆ๋ณด ๊ฐœ๋ฐœ์ž/ํ•™์ƒ๋“ค์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ
์ดˆ๋ณด ๊ฐœ๋ฐœ์ž/ํ•™์ƒ๋“ค์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž/ํ•™์ƒ๋“ค์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ
์ดˆ๋ณด ๊ฐœ๋ฐœ์ž/ํ•™์ƒ๋“ค์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ
ย 
DevOps ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ (ํด๋ผ์šฐ๋“œ, ๋ชจ๋ฐ”์ผ ์ค‘์‹ฌ)
DevOps ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ (ํด๋ผ์šฐ๋“œ, ๋ชจ๋ฐ”์ผ ์ค‘์‹ฌ) DevOps ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ (ํด๋ผ์šฐ๋“œ, ๋ชจ๋ฐ”์ผ ์ค‘์‹ฌ)
DevOps ์˜คํ”ˆ์†Œ์Šค ํŠธ๋žœ๋“œ (ํด๋ผ์šฐ๋“œ, ๋ชจ๋ฐ”์ผ ์ค‘์‹ฌ)
ย 
๋ชจ๋ฐ”์ผ ์•ฑ ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐฉ๋ฒ• 101 (Mobile Application Performance Analysis Methodology 101)
๋ชจ๋ฐ”์ผ ์•ฑ ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐฉ๋ฒ• 101 (Mobile Application Performance Analysis Methodology 101) ๋ชจ๋ฐ”์ผ ์•ฑ ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐฉ๋ฒ• 101 (Mobile Application Performance Analysis Methodology 101)
๋ชจ๋ฐ”์ผ ์•ฑ ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐฉ๋ฒ• 101 (Mobile Application Performance Analysis Methodology 101)
ย 
DevOps ์‹œ๋Œ€๊ฐ€ ์š”๊ตฌํ•˜๋Š” ํ’ˆ์งˆํ™•๋ณด ๋ฐฉ๋ฒ•
DevOps ์‹œ๋Œ€๊ฐ€ ์š”๊ตฌํ•˜๋Š” ํ’ˆ์งˆํ™•๋ณด ๋ฐฉ๋ฒ• DevOps ์‹œ๋Œ€๊ฐ€ ์š”๊ตฌํ•˜๋Š” ํ’ˆ์งˆํ™•๋ณด ๋ฐฉ๋ฒ•
DevOps ์‹œ๋Œ€๊ฐ€ ์š”๊ตฌํ•˜๋Š” ํ’ˆ์งˆํ™•๋ณด ๋ฐฉ๋ฒ•
ย 
ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผํ•  ์„ฑ๋Šฅ ์ด์•ผ๊ธฐ
ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผํ•  ์„ฑ๋Šฅ ์ด์•ผ๊ธฐํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผํ•  ์„ฑ๋Šฅ ์ด์•ผ๊ธฐ
ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผํ•  ์„ฑ๋Šฅ ์ด์•ผ๊ธฐ
ย 
Android ์„ฑ๋Šฅ ์ง€ํ‘œ์™€ Oreo ์˜ ๊ฐœ์„ ์‚ฌํ•ญ
Android ์„ฑ๋Šฅ ์ง€ํ‘œ์™€  Oreo ์˜ ๊ฐœ์„ ์‚ฌํ•ญ Android ์„ฑ๋Šฅ ์ง€ํ‘œ์™€  Oreo ์˜ ๊ฐœ์„ ์‚ฌํ•ญ
Android ์„ฑ๋Šฅ ์ง€ํ‘œ์™€ Oreo ์˜ ๊ฐœ์„ ์‚ฌํ•ญ
ย 
์•ˆ๋“œ๋กœ์ด๋“œ Oreo์˜ ๋ณ€ํ™”์™€ ๋ชจ๋ฐ”์ผ ์•ฑ/ํ”Œ๋žซํผ์˜ ์ ํ•ฉํ•œ ์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•
์•ˆ๋“œ๋กœ์ด๋“œ Oreo์˜ ๋ณ€ํ™”์™€  ๋ชจ๋ฐ”์ผ ์•ฑ/ํ”Œ๋žซํผ์˜ ์ ํ•ฉํ•œ ์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•์•ˆ๋“œ๋กœ์ด๋“œ Oreo์˜ ๋ณ€ํ™”์™€  ๋ชจ๋ฐ”์ผ ์•ฑ/ํ”Œ๋žซํผ์˜ ์ ํ•ฉํ•œ ์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•
์•ˆ๋“œ๋กœ์ด๋“œ Oreo์˜ ๋ณ€ํ™”์™€ ๋ชจ๋ฐ”์ผ ์•ฑ/ํ”Œ๋žซํผ์˜ ์ ํ•ฉํ•œ ์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•
ย 
ํด๋ผ์šฐ๋“œ & ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผ ํ•  ์„ฑ๋Šฅ ํ’ˆ์งˆ ์ด์•ผ๊ธฐ
ํด๋ผ์šฐ๋“œ & ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผ ํ•  ์„ฑ๋Šฅ ํ’ˆ์งˆ ์ด์•ผ๊ธฐํด๋ผ์šฐ๋“œ & ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผ ํ•  ์„ฑ๋Šฅ ํ’ˆ์งˆ ์ด์•ผ๊ธฐ
ํด๋ผ์šฐ๋“œ & ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์•Œ์•„์•ผ ํ•  ์„ฑ๋Šฅ ํ’ˆ์งˆ ์ด์•ผ๊ธฐ
ย 
SW ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„๋ฐฉ๋ฒ•
SW ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„๋ฐฉ๋ฒ• SW ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„๋ฐฉ๋ฒ•
SW ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„๋ฐฉ๋ฒ•
ย 
[NEXT] Android Profiler ์‚ฌ์šฉ๋ฒ•
[NEXT] Android Profiler ์‚ฌ์šฉ๋ฒ• [NEXT] Android Profiler ์‚ฌ์šฉ๋ฒ•
[NEXT] Android Profiler ์‚ฌ์šฉ๋ฒ•
ย 
Android Studio ๊ฐœ๋ฐœ ์…‹ํŒ… + Genymotion
Android Studio ๊ฐœ๋ฐœ ์…‹ํŒ… + GenymotionAndroid Studio ๊ฐœ๋ฐœ ์…‹ํŒ… + Genymotion
Android Studio ๊ฐœ๋ฐœ ์…‹ํŒ… + Genymotion
ย 
FullStack ๊ฐœ๋ฐœ์ž ๋งŒ๋“ค๊ธฐ ๊ณผ์ • ์†Œ๊ฐœ (Android + MEAN Stack + Redis ๋‹ค๋ฃจ๊ธฐ)
FullStack ๊ฐœ๋ฐœ์ž ๋งŒ๋“ค๊ธฐ ๊ณผ์ • ์†Œ๊ฐœ  (Android + MEAN Stack + Redis ๋‹ค๋ฃจ๊ธฐ) FullStack ๊ฐœ๋ฐœ์ž ๋งŒ๋“ค๊ธฐ ๊ณผ์ • ์†Œ๊ฐœ  (Android + MEAN Stack + Redis ๋‹ค๋ฃจ๊ธฐ)
FullStack ๊ฐœ๋ฐœ์ž ๋งŒ๋“ค๊ธฐ ๊ณผ์ • ์†Œ๊ฐœ (Android + MEAN Stack + Redis ๋‹ค๋ฃจ๊ธฐ)
ย 

Pattern and EA

  • 1. ํŒจํ„ด๊ณผ EA์˜ ๋งŒ๋‚จ ์†์˜์ˆ˜ ๋ฐ๋ธŒํ”ผ์•„ ์•„ํ‚คํ…์ณ ์‹œ์‚ฝ ์‚ผ์„ฑ์ „์ž ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ ๊ทธ๋ฃน ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 2. ์˜ค๋Š˜ ๋‚˜๋ˆŒ ์ด์•ผ๊ธฐ ๊ฑฐ๋ฆฌ๋“ค. ยงํŒจํ„ด์˜ ์ •์˜ (ํŒจํ„ด์ด๋ž€?) ยงํŒจํ„ด์— ๋Œ€ํ•œ ์˜คํ•ด์™€ ์ง„์‹ค ยงํŒจํ„ด์œผ๋กœ ๊ฐ€๋Š” ๊ธธ ยงํŒจํ„ด ๋นŒ๋“œ ์˜ค๋” ยงํŒจํ„ด + ์ƒ์‚ฐ์„ฑ ๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ ์žก๊ธฐ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 3. ๋„๋Œ€์ฒด.. 1. ๋„๋Œ€์ฒด.. ๋ฌด์—‡์ผ๊นŒ? ํŒจํ„ด์€ ๋ฌด์—‡์ผ๊นŒ? ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 4. Pattern is Father ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 5. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 6. ์šฐ๋ฆฌ๋Š” ์•„๋ฒ„์ง€์™€ ๋น„์Šทํ•œ ์ƒ๊น€์ƒˆ, ์„ฑ๊ฒฉ, ์Šต๊ด€ ๋“ฑ์„ ์ƒ๊น€์ƒˆ, ์„ฑ๊ฒฉ, ์žˆ๋‹ค. ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 7. ์ด๋ฏธ ํ•ด๊ฒฐํ•œ ๋ฌธ์ œ์™€ ๋ฌธ์ œ๋“ค์€.. ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋“ค์€.. ๋ฐฉ๋ฒ•(ํŒจํ„ด) ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•(ํŒจํ„ด)์œผ๋กœ ์žˆ๋‹ค. ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 8. ๊ณผ์—ฐ.. ๊ทธ๋Ÿผ ํŒจํ„ด์€ ๊ณผ์—ฐ.. ์™œ ๋‚ด๊ฐ€ ์ ์šฉํ•˜๋ ค๋ฉด ์•ˆ๋ ๊นŒ? ์•ˆ๋ ๊นŒ? ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 9. 2. ํŒจํ„ด์— ๋Œ€ํ•œ ์˜คํ•ด์™€ ์ง„์‹ค ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 10. GoF 23๊ฐœ์˜ Pattern์œผ๋กœ 23๊ฐœ์˜ Pattern์œผ๋กœ ๋งŒ๋“ค๊ธฐ? ์šฐ์•„ํ•œ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ? ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 11. ํŒจํ„ด๋“ค.. ์ง€๊ตฌ์ƒ์˜ ํŒจํ„ด๋“ค.. + ๋…ผ๋ฌธ ํ˜•ํƒœ๋กœ ๋ฐœํ‘œ๋œ ํŒจํ„ด ๋ช‡ ๋ฐฑ๊ฐœ. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 12. ์•„๋‹ˆ๋‹ค. ํŒจํ„ด์€ ์„ฌ์ด ์•„๋‹ˆ๋‹ค. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 13. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ„ด์ด ๋ญ‰์ณ์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์‚ฌ์šฉ๋œ๋‹ค. Common Strategy Part Variable <<CREATES>> Part (Modularity) Factory Log <<LINKS>> Security Configurable Part Component Transaction Configurator ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 14. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ„ด์ด ๋ญ‰์ณ์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์‚ฌ์šฉ๋œ๋‹ค. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 15. ํŒจํ„ด์€ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„๋งŒ ๋‹ค๋ฃฌ๋‹ค ? ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 16. ํŒจํ„ด? ์†”๋กœ๋“ค์„ ์œ„ํ•œ ํŒจํ„ด? http://www.amazon.com/Dating-Design-Patterns-Solveig-Haugland/dp/0974312002/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1239125189&sr=8-1 ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 17. ๋‹ค๋ฃฌ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ํ–‰์œ„๋“ค์„ ๋‹ค๋ฃฌ๋‹ค. ยง ํŒ€์„ ์ด๋ฃจ์–ด ์„ค๊ณ„ ๋Œ€๋ จ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํŒจํ„ด - http://portal.acm.org/citation.cfm?id=273484 + ยง ํŒ€ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ ์‹œํ‚ค๋Š” ํŒจํ„ด - http://arload.wordpress.com/2008/09/02/teampro ductivity/ ๊ทธ ์™ธ์—๋„ ๊ธฐํƒ€ ๋“ฑ๋“ฑโ€ฆ. ยง ์ง€๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ ธ ์žˆ๋Š” ํŒ€ ํ˜‘์—…ํ•˜๋Š” ํŒจํ„ด - http://hillside.net/plop/2006/Papers/Library/patter http://arload.wordpress.com/2008/04/02/plopfestival/ nstoenablePLoP2006_submission_v4.pdf - http://hillside.net/plop/2004/papers/vbricout0/PLo P2004_vbricout0_0.doc ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธnd ยง2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 ์ด๋„๋Š” ํŒจํ„ด ํšจ์œจ์ ์ธ ํšŒ์˜๋ฅผ KSAS COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 18. ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ? ํŒจํ„ด์€ ๋งŒ๋ณ‘ํ†ต์น˜์•ฝ? ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 19. ๋น„์•ฝ์ ์ธ ยง๋น„์•ฝ์ ์ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ ? ์ƒ์‚ฐ์„ฑ ยง์ƒ์‚ฐ์„ฑ ์ฆ๋Œ€ ? ์ตœ์ ํ™” ยง์ตœ์ ํ™” ? ์‹ฌ์ง€์–ด ยง์‹ฌ์ง€์–ด Silver Bullet ?? ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 20. ์žฅ์ ์€.. ํŒจํ„ด์˜ ์žฅ์ ์€.. ์œ ์—ฐ์„ฑ ํ™•์žฅ์„ฑ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 21. 3. ํŒจํ„ด์œผ๋กœ ๊ฐ€๋Š” ๊ธธ... ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 22. ํŒจํ„ด์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ๋งˆ์Œ๊ฐ€์ง ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 23. ์•„ํ‚คํ…์ณ์˜ ์ดํ•ด ๋Œ€์ƒ Martin Fowler says โ€ฆ The expert developers working on that project have a shared understanding of the system design. This shared understanding is called โ€˜architecture architectureโ€™ architecture http://www.martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 24. ํŒจํ„ด๋„.. ์—ญ์‹œ ํŒจํ„ด๋„.. ํŒ€ ๋‚ด ์˜์‚ฌ ์†Œํ†ต์˜ ์ˆ˜๋‹จ์ด ์œ„ํ•ด์„ , ๋˜๊ธฐ ์œ„ํ•ด์„ , ํ•„์š”ํ•˜๋‹ค. ํŒ€์›๋“ค์˜ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 25. ๊ณผ์œ ๋ถˆ๊ธ‰ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 26. ๋‚จ์šฉ. ํŒจํ„ด์˜ ๋‚จ์šฉ. ๋ฆฌ์†Œ์Šค ์ œ์•ฝ์ด ์‹ฌํ•œ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€ํ•˜๊ธฐ?? ์œ ์—ฐ์„ฑ ์ถ”๊ฐ€ํ•˜๊ธฐ?? - Pipe & Filter - Component Configurator ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 27. ์ฐพ์•„๋ผ! ํŒจํ„ด์˜ ๊ฐ€์กฑ๊ด€๊ณ„๋ฅผ ์ฐพ์•„๋ผ! ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 28. Compound Pattern versus Composite Pattern ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 29. ์ „ํ˜•์ ์ธ ๊ฐ€์กฑ๊ด€๊ณ„ Strategy Common Variable Part <<CREATES>> Part Factory Log <<LINKS>> Security Configurable Part Component Transaction Configurator ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 30. JAWS - ์›น ์„œ๋ฒ„์˜ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ์ž˜ ํ•ด๊ฒฐํ•œ ์‚ฌ๋ก€ ํŒจํ„ด์„ ์ด์šฉํ•œ ์›น ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ (ํ•œ๊ตญ์–ด ๊ฐ•์ขŒ) http://www.devpia.com/NET2/EvaCast/Lecture/?cu=view&r=11 ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 31. ๋งŽ์€ ๊ฐ€์กฑ๊ด€๊ณ„ (Compound Pattern) ์‚ฌ๋ก€๋ฅผ ์•Œ์•„์•ผ.. ์•Œ์•„์•ผ.. ์‰ฝ๋‹ค. ์‹ค์ œ ์„ค๊ณ„ ์‹œ ์ ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 32. 4. ํŒจํ„ด์˜ ์˜ค๋”.. ์˜ฌ๋ฐ”๋ฅธ ๋นŒ๋“œ ์˜ค๋”.. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 33. ๋นŒ๋“œ์˜ค๋”.. ์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ํŒจํ„ด ๋นŒ๋“œ์˜ค๋”.. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 34. POSA 1 (์•„ํ‚คํ…์ณ ํŒจํ„ด) - Layer - Model -View-Controller - Pipe & Filter - Presentation -Abstraction - Control - Broker - Reflection - Master Slave - Client โ€“ Dispatcher - Counted Pointer - Forwarder-Receiver - Blackboard
  • 35. POSA 2 (๋ถ„์‚ฐ ๊ฐ์ฒด๋ฅผ ์œ„ํ•œ ํŒจํ„ด)
  • 36. POSA 3 (์ž์› ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ํŒจํ„ด) ยงResource Acquisition ยงResource Lifecycle - Lookup - Caching - Lazy Acquisition - Pooling - Eager Acquisition - Coordinator - Partial Acquisition - Resource Lifecycle Manager ยงResource Release - Leasing - Evictor
  • 37. ๊ทธ ์™ธ ํŒจํ„ด๋“ค.. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 38. ๊ทธ ์™ธ ํŒจํ„ด๋“ค.. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ Devpia A&D EVA COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 39. ๊ทธ ์™ธ ํŒจํ„ด๋“ค.. Devpia A&D EVA ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ 7/19/2009 ํ™€. 2009.7.9~10 3 COEX ์žฅ๋ณด๊ณ  9
  • 40. ์ฆ๋Œ€. 5. ํŒจํ„ด + ์ƒ์‚ฐ์„ฑ ์ฆ๋Œ€. ๋‚ด ์นœ๊ตฌ.. ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 42. 1. StreoType ์ƒ์„ฑ Setting โ€“ UML โ€“ Streotypes ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 4 2
  • 43. 2. ํด๋ž˜์Šค ์„ค๊ณ„ ํ›„ StreoType ํ• ๋‹น ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 4 3
  • 44. 3. ๋ฉ”์†Œ๋“œ ์†์„ฑ์— ๋งž๋Š” ํƒœ๊น…์ƒ์„ฑ ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ ์žฌ๊ณ ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋Š” Database์—์„œ Database์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” (Get) ํƒ€์ž…์ธ ๊ฒฝ์šฐ. ๊ฒฝ์šฐ. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 4 4
  • 45. 4. ์ฝ”๋“œ ์ƒ์„ฑ ํƒฌํ”Œ๋ฆฟ ์ž‘์„ฑ Settings โ€“ Code Generation Templates ๋‹ค์–‘ํ•œ ์ƒ์„ฑํ•  ์ฝ”๋“œ ์–ธ์–ด ์„ ํƒ ์ž…๋ ฅ ์ƒ์„ฑํ•  ์ฝ”๋“œ ํ…œํ”Œ๋ฆฟ Namespace, Class, Operation ๋“ฑ ์ŠคํŠธ๋ ˆ์˜ค ํƒ€์ž…๋ณ„ ํ…œํ”Œ๋ฆฟ์„ ์ง€์ • ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 4 5
  • 46. ์ŠคํŠธ๋ ˆ์˜ค ํƒ€์ž… ์ฝ”๋“œ ํ…œํ”Œ๋ฆฟ ์ถ”๊ฐ€ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 4 6
  • 47. ์ŠคํŠธ๋ ˆ์˜ค ํ…œํ”Œ๋ฆฟ ์ถ”๊ฐ€ ยง Import Section - DLL ์ด๋‚˜ Namespace๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ยง Operation Body - ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„ ๋ถ€์— ์‚ฌ์šฉ์ž ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ ํ•จ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 4 7
  • 48. ๊ฐ„๋‹จํ•œ ์˜ˆ - OperationBody %if opTag:"DataAccessType" =="get" % opTag:"DataAccessType" :"DataAccessType //๋ฐ์ดํ„ฐ๋ฅผ //๋ฐ์ดํ„ฐ๋ฅผ ์–ป์–ด์˜ค๋Š” ์ฟผ๋ฆฌ IDataReader reader = null; %opReturnType% retVal = new %opReturnType%(); opReturnType% %opReturnType opReturnType%(); try { // 1. Create the Database object, using the default database service. DatabaseFactory.CreateDatabase(); Database db = DatabaseFactory.CreateDatabase(); log.Debug("Create Database Factory"); log.Debug("Create // 2. Create DB Command "$queryName queryName"; string sqlCommand = "$queryName"; db.GetStoredProcCommand(sqlCommand); dbCommand = db.GetStoredProcCommand(sqlCommand); log.Debug("GetStoredProcCommand(" log.Debug("GetStoredProcCommand(" + sqlCommand + ")"); ("GetStoredProcCommand โ€ฆ. %elseIf opTag:"DataAccessType" =="set"% :"DataAccessType } %elseIf opTag:"DataAccessType" =="set"% //๋ฐ์ดํ„ฐ๋ฅผ //๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š” ์ฟผ๋ฆฌ DbConnection connection = null; UInt32 retVal = 0; ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 4 48 try 8
  • 50. ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 5 0
  • 51. ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 5 1
  • 52. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ• โ€“ ํ”„๋กœ์„ธ์Šค๋กœ ๋””๋ฒ„๊น… ํ•˜๊ธฐ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 5 2
  • 53. ํ”„๋กœ์„ธ์Šค๋กœ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 5 3
  • 54. ๋””๋ฒ„๊น… ๋‚ด์šฉ์„ Diagram์œผ๋กœ Sequence Diagram์œผ๋กœ ์ƒ์„ฑ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 5 4
  • 55. ๋””๋ฒ„๊น… ๋‚ด์šฉ์„ Diagram์œผ๋กœ Sequence Diagram์œผ๋กœ ์ƒ์„ฑ ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10 5 5
  • 57. Unit Testing๊ณผ ์—ฐ๋™๋จ Testing๊ณผ ํ˜„์žฌ JUnit, Nunit) ยงํ˜„์žฌ xUnit (JUnit, Nunit) ํ˜•ํƒœ๋กœ ์ƒ์„ฑ๋ฐ ๊ฐ€๋Šฅํ•จ. ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•จ. ๋‹ค๋ฅธ Test๋Š” Script๋กœ ยง๋‹ค๋ฅธ Unit Test๋Š” Package Script๋กœ ์—ฐ๋™๊ฐ€๋Šฅ. ์—ฐ๋™๊ฐ€๋Šฅ. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 58. Visual Studio.NET mstest) ๋‚ด์žฅ UnitTest (mstest)์…‹ํŒ… ๋ฒ• ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 59. ์ฐธ๊ณ ์ž๋ฃŒ โ€œPattern Pattern- ยง Frank Buschmann et al, โ€œPattern-Oriented Software Architecture : A System of Patternsโ€, Patternsโ€, Volume 1, Wiley โ€œPattern Pattern- Architectureโ€, ยง Douglas Schmidt et al, โ€œPattern-Oriented Software Architectureโ€, Volume 2, Wiley ยง Eric Gamma et al, โ€œDesign Patterns : Elements of Reusable Object Oriented โ€œDesign Softwareโ€ , Addison Wesley Softwareโ€ ยง Pipe & Filter Pattern, http://www.codeproject.com/cs/design/PipesAndFilters.asp ยง Reflection Pattern, http://www.codeproject.com/csharp/introreflection.asp ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 60. ์ฐธ๊ณ ์ž๋ฃŒ Douglas C. Schmidt (PLoP Editor, POSA 2, 4 Writter) JAWS: An Application Framework for High Performance Web System http://citeseer.ist.psu.edu/81775.html (En) http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r =11 (Kr) Ralph Johnson (GoF , Design Patterns) Evolving Frameworks http://st-www.cs.uiuc.edu/users/droberts/evolve.html (En) http://arload.wordpress.com/2008/09/15/evolvingframewor ks/ (Kr) ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 61. ์ฐธ๊ณ ์ž๋ฃŒ Robert C. Martin Principles of Package Architecture (Design Principles and Design Patterns) http://www.objectmentor.com/resources/articles/Principles_a nd_Patterns.pdf (En) http://www.devpia.com/net2/EvaCast/Lecture/?cu=view&r=1 08 (Kr) Load to Architect http://www.arload.net EvaCast (Online Free Lecture) http://www.evacast.net ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10
  • 62. Question? ์ €์ž‘์žํ‘œ์‹œ-๋น„์˜๋ฆฌ ์ด ์ €์ž‘๋ฌผ์€ ํฌ๋ฆฌ์—์ดํ‹ฐ๋ธŒ ์ปค๋จผ์ฆˆ ์ฝ”๋ฆฌ์•„ ์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด๋ณ€๊ฒฝํ—ˆ๋ฝ 2.0 ๋น„์˜๋ฆฌ-๋™์ผ์กฐ๊ฑด๋ณ€๊ฒฝํ—ˆ๋ฝ ๋ผ์ด์„ผ์Šค์— ๋Œ€ํ•œ๋ฏผ๊ตญ ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์ด์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์žˆ์Šต๋‹ˆ๋‹ค. This work is licensed under Creative Commons Korea Attribution 2.0 License. ํ•œ๊ตญSW์•„ํ‚คํ…ํŠธ ๋Œ€ํšŒ 2 nd KSAS 2009 ํ•œ๊ตญ ์•„ํ‚คํ…ํŠธ COEX ์žฅ๋ณด๊ณ  ํ™€. 2009.7.9~10