mTDn
  ӻunutv]G^
    dH
    ]2125198^
    Bz
      be@]2125^eФAڭ̹nutAg
    Ln}o򥻰DGn]pBnoin}oH
    ӻAOD`@ǰݡFӳyn}oܽ]A
    DnӥDn]AOOGʡ]complexity^P
    ]change^CbAڭ̱NѰuynutz@ѪeAA
    HTAbUӪe~򻡩i@jCAڭ̥
    QʪDC
    @BOnʰD
      n}o{쪺Ĥ@ӤjDANOʪDFӽ
    תDOoͪAjiHkǬӭ]Gڥʪ
    ʡ]inherent complexity^Maʪʡ]accidental complexity
^A
    pUG
    (@)ڥʪ
      qynutz@Ѫ夤AOowqڥʪʪG
   @uunn@͡AڥʪʰD|}lsbC[ӬݡA
     ڭ̥iHNڥʪʵ@ӥ\Ao@ӥ\ॲPɸ
     R@ӰDCӳo@ӰDHO֡HeOHNO@
     snݨDHγo@snݨDۤYCv
@   ̦b²檺|@ӨҤlڥʪʰDAҦpGYa
     qݭn@ӭu򥻸ƪ޲ztΡAɳn骺ݨDN}lX
     {FnݨDX{ɭԡANNnݭn}lQ]pXӡA
     n}oHNnӤ@tΤR@sꪺu@CҦpG
     Ʈw]pGu򥻸ưϤX\ATFe
     {]pGnqX@A@OKʸơA
     nêFƽsפ]pGiHקX쪺T
     Cӳn}oHNnھڳoǻݨDAgLRCݭnR
     OH]ݨD\hƬOnഫTAo@YO
     ANnڭ̱qҦanAaA̪񪺸O̤KA
     pGHnDAaAOݭnhO@ǤO𪺡F
     ڭ̪HY]O@˪AHPYҡGӤH
     YO̮eBzAOTӤHN·СAoAUhH
     YN|ܱoHBzAoNOڥʪʰDC
@   unnݨD@͡AoӽʰDN|H͡AҥHڭ̺
     ڥʪʰDCӮڥʪʰDOPnݨD
     {׮AH|ҤlҡGqu
     ƺ޲ztΤݨDPɡA@w|AͷsݨDAҦp
     u~޲ztΡBuҶԨtεAɡA즳ƮwA[
     JsT]~BWUZɶ^A䶡Y]|ܱo
     C]AnڥʪʰDAPn骺WҬOA
     n骺ݨDUӷUhAnWҶVjAhһݭnn\]
     UӷUAڥʪʰD]|UjC
    (G)aʪ
     aʪʰDPڥʪʰDPA̻Pn骺
     DAOe̬OѨMס]solution^A]NOڭ̦b
     n}oL{AάUuҭlͥXӪgCq
     夤Aڭ̦AӤRNG
    u[aӬݡAڭ̥iHNaʪʵ@ӥ\Ao@
     \ॲPɲզX@ӸѨMסCӳo@ӸѨMתHO֡H
     eOHNO@snݨDHγo@snݨDۤ
     YCv
   @̾ڵ̪ŪAiHε̰ѥ[JavaTwon}o̤j|ɩť
     L@qܨӰGjW}oJava{HAH}ouӰ
     AiHϤءA@جOŪHAt~@شNOD
     H]Ҧp̡^Ce̩ҨϥΪ}ouOOH²AO
     ƥNiHFAάOLinuxViFӫ̨ϥΪ}ouhA
     qUltraeditBEclipseJBuilderCSA̪UU
     uOhFܦhAOnǷ|ΨhUuA]OݭnO@
     qɶhǲߡC
@   P˪Ҥl]oͦbLnVisual Studio]VS^}ouWAVS
     HԳ]puۻAOH}ou㪺n}oH
     Oݭn@qǲߦu~AQΡC
@    qt~@ӼhӬݡAn黲UuάOUӷU{yA
    DnتOƱiHNn}oD²ơAO̻{n
    }oOuzǤquwzAڭ̧QΤuND
    ²ƤAN|bt~@NQ²ƪAA
    ^ӡA]ǳn}oHA@ϥΥḼӪkA]@
    Nϥγo@ǤuCHJ2EEҡALQΤF\h]pҦ[IA
    ]ͤUX˪SʡG
    1.nBzy{b@qQάnXӤ]component^
C
    2.o@ǤSQΤ]interface^ӧe{Pʽ誺k]method^
C
    3.AQΪO]class^ӹ@oǤC
    4.AQΪAȡ]system service^ӪlƤεUo@Ǥ󪺵{
      ǡ]instanceAάOٹҡ^AHκ޲zL̪AB귽ϥ
      eC
    5.be{AJ2EEQJSP޳NBHTMLformBJavaScriptB
      tag librariesHservletsӧe{TϥΪ[ݡC
    6.QθƦsBO/R MappinguӺ޲zƪsC
    7.WzoǤeGbP޳NPɮפWAҦpQHTMLPXML
      ɮס]ҦpGweb.xml^ASQLDDLPDMLɮסiGjA귽]
      wɡ]ҦpGxx.properities^C
    8.WzoǤujݭnUuAҦpGsĶB;
      Hάlibɮס]ҦpGݭnΨ쨺@JARɡ^Aͳp
      ɩһݭnɮסAӶi泡pC
      Wһo@ǪFAuOJ2EED`D`²Bʦayz
    ӤwAnn@Javan}o̡]κ٬Java Developer^A
    iHܥhWoǬҵ{C]n黲Uu㪺oFA]N
    ڭ̭n̿nAn[cuUJӡA]NONڭ
    bn}oL{AݭnǲߧhFC
      aʪʰDͪӷAiHAĤ@OS
    hϰơ]Feature Delocalization^ASʡ]feature^
    wqаѾ\iTjFĤGO~hŪHơ]Working at the
    Wrong Level of Abstraction^CbAڭ̱NQׯSʥh
    ϰƪDC
    1.Sʥhϰ
@    ڭ̻ݭnwqϰơ]localization^Phϰ
      ]delocalization^A̾ڵ̪ŪA²aANOѨM
      ݨD{XOάOAP@ӦaάO۪񪺦a
      Aڭ̴NiH٥ϰơAPzApGOAڭ̴N
      hϰơC
@    bnut夤GuɦV[jջݭnP
      Mת@@Ao˪GyLhYsbCv
      ̥egLAYVNONn]|VӶVFt
      ~A夤]t@Io{GuDSʬOQݨDҩwqA
      ӸѨMׯSʬOѹ@ҩwqAOݨDP@AOӤ
      P[vCҦpGDSʴXGOϰƪAӸѨMׯS
      ʦbݨDAoXGOhϰƪCҦp@Ӻʪӫ~q
      ʪ\AiHb@ӤROiHAObݨD
      wqAgLPROA]AwʳBzOB
      OPƮwsOCӸѨMׯSʴXGO
      ƪAOADSʦb@AoXGOhϰƪC
      pG@Ӱӫ~qʪڭ̬O⥦@ӶXAOӫ~q
      ʥ\oݭnPXA]Aӫ~THʶR
      TC
@    o˪pڭ̥iHιϥܪkӻAаѾ\iϤ@jA
      iϤ@jO@ӯSʥhϰƥܷNϡAN@Ӻʪӫ
      ΨtΪϡAΥNOݨDANOѨMסA
      ڭ̱NݨDPѨMװϤӰϰAHOrder\ݨDҡA
      iHݨ쥦bѨMפOQ줣P@̭AӥH
      󪺸ѨM׬ҡAڭ̤]iHݨ]OQ줣P
      ݨDA]Ao˪tάOD`CpGo@Өt
      ΪDASgL@ӤwqL{ܡA]NOݨD
      SgLnRܡADSʱN󤣷|QϰơA
      ]NONo@Өtη|[C
    @o˪tγq`|ͨӰDAĤ@OӨtΪiyøO
      D]Traceability Problem^AĤGӰDOӨtέ
      D]Reconstruction Problem^AOpUG
    (1)tΪiyøODG
@     o@Dq`oͩ@DSʪѨMׯSʨSM
       ]wAҦp@ӰݨtΡAϥJavaBeanӳBzPJSP
       ޿AOblX]èSԲӪC@JavaBean
       ϥΥتAo@ӰݨtΪY\ݭns]pɭԡA
       ӨtΪ|ܱoD`axA]Aڭ̤|ԲӪDA
       pGYӥ\ܫAOO]|savT䥦\CH
       J2EEҡAnڭ̳q{XhAѨtΡA]O۷x
       @ƱA]ԲӪѨMׯSʪyzAOD`nC
    (2)tέذDG
@     ڭ̦AHݨtΨӻApGSѨMׯSʨSQM
       yzAάOn]pTwg򥢪ܡAbtέ
       خɡA]|JP˪pANnͪƻs޳NAnƻs
       骺]pGOݯʤAƻsXӪƻs~]@w|
       OݯʤC
      SʥhϰƪDAڭ̥iHoHUסGLj
    @@DѨM覡DݨDܤRkAȥϰDS
    ʻPѨMׯSʥiHɶqϰơAH־ӳntΪ
    {סAo譱QסAṲ̄]iHѾ\i|jAbU]2201^
    Aڭ̱N~򱴰Q~hŪHƵĳDC]^
    ѦҸơG
    i@jG媺eѰuSoftware Factories@ѡA
              Ū̥iHʶRӮѰѦҡAӮѬTpUG
              Jack Greenfield, Keith Short, Software Factories,
              Addison-Wesley, 2004.
    iGjGoӦWOƮwWA򥻩wqpGDDLGdata
              definition languageAƩwqyA²ӻANO
              ΨөwqƮwPRƮwykCDMLGdata 
manipulation
              languageAƾާ@yAƶidߡ]select^B
              sW]insert^Bק]update^PR]delete^C
              iHѦҤUC}G
              http://www.tomjewett.com/dbdesign/dbdesign.php?
page=ddldml.php&imgsize=medium
    iTjGSʡ]feature^wqAOfeatureHQγn
              ut夤HΨѦҸơASʬO@ӥNW
              ANOnݨD\ʻPD\ʻݨD
              ޿AԲӸƥiHѾ\GJ. Bosch, Design and Use
              of Software Architectures: Adopting and evolving a
              product-line approach, Addison-Wesley, 2000.
    i|jGBzסAj{ǭx]b2005~4
              eAjYͪBlogKeA
              쪺Ū̥ieBlogѦҡAѦҺ}G
http://blog.csdn.net/magus_yang/archive/2004/08/12/72656.aspx
