*

Microsoft .NET §Þ³N¥N¨¥¤H±MÄæ¡G

³nÅé¬[ºc®vªº¦¨¥\¯µ³Z

§@ªÌ¡GªLÄ£¬Ã

2004 ¦~ 10 ¤ë

¸ê°T³nÅé²£¥Í¦³¨â­Ó®É´Á¬O«D±`¥O¤H½qÃh¡A¤@¬O 1980 «eªº¥D¾÷Àô¹Ò®É¥N¡A¨º®Éªº¸ê°T¨t²Î¤ä´©¦h¦~¤£Åܪº·~°È¡A²³æ¡Bí©w¡B¦³¥R¤Àªº®É¶¡¶}µo»P´ú¸Õµ{¦¡¡A¨Ã¥B¨Ï¥ÎªÌ´X¥G¬OµL±ø¥óªº±µ¨ü¡C¥t¤@­Ó®É¶¡¬O .com ºô¸ô®É¥N¡A¤@¨Ç²{¦b¬Ý°_¨Ó«Ü²³æªººô¸ô§Þ³N¡A´N¥i¥H§l¤Þ³\¦hªº¸êª÷»P¨Ï¥ÎªÌ¡C®É¶¡¦^¨ì¤µ¤Ñ¡A¥ø·~­±¹ïªº¬O¥þ²yÄvª§¡A¥þ²y¤Æªº²£·~¾ã¦X¡A²£«~±À³¯¥X·s¡A¥Í·N³W«hÅܤƧֳt¡A©Ò¥H«Øºc¤@­Óí©w¤ä´©¥ø·~Àç¹BªºÀ³¥Î¨t²ÎÀô¹Ò¡A¬O³nÅé¬[ºc®v (Software Architect) ³Ì¤jªº¬D¾Ô¡C

³nÅé¬[ºc®vªº¦¨¥\¯µ³Z

¦¨¥\ªº³nÅé¬[ºc®v¥²¶·¦³®Ä¸Ñ¨MÀ³¥Î¨t²Îªº½ÆÂø«×¡A½ÆÂø«×°£¤F¨Ó¦Û©ó¨Ï¥ÎªÌ»Ý¨D (Functional Requirements)¡A¤]¨Ó¦Û©ó³\¦h«D¥\¯à©Êªº»Ý¨D (Non-Functional Requirements)¡B»P«D§Þ³N©Êªº¬D¾Ô¡C«D¥\¯à©Ê»Ý¨D¥]¬A¥þ²yªººô¸ô³sµ²¡B²§½è¥­¥x»P§Þ³N¾ã¦X¡B¤j¶q¨Ï¥ÎªÌ¦P®É¤W½u¡Bí©w¡B¦w¥þ¡B°ÊºAªº·~°È³W«h¡B¤Îµ½Åܰʪº¨Ï¥ÎªÌ¤¶­±¡C«D§Þ³N©Êªº¬D¾Ô«h¨Ó¦Û©ó³nÅé³]­pÄݩ󰪫צۥD©Êªº¤u§@¡A½ÆÂøªº¨t²Î»Ý­n³nÅé¹Î¶¤¤À¤u¦X§@¡A¨î©w³nÅé¶}µo¬yµ{ªº³W½d (Guidelines)¡A³nÅé¬[ºc®v¤]­n­±Á{°õ¦æ»PºÞ²zªº¬D¾Ô¡C³nÅé¬[ºc®v¦¨¥\¦a§JªA¬D¾Ôªº¯µ³Z¦b©óµ½¥Î¤À¼h©â¶H³]­p (Abstraction levels) »P°í«ùªº«i®ð¡C

¤À¼h©â¶H³]­p

½ÆÂøªº¨t²Î¥]§t³\¦h¦]¯À»P¼h­±¡A³nÅé³]­p¤H­ûµLªk¤@¦¸«Øºc¸Ô²Óªº³]­p¡A¦P®Éº¡¨¬¦h¤è­±ªº»Ý¨D¡A©Ò¥H³nÅé¬[ºc®v¹B¥Î©â¶H¤Æªº¤èªk¡A¥H¨t²Î¤Æªº¨BÆJ¡A±q¾ãÅé¬[ºc³]­p¨ì²Ó³¡³]­p³v¨B¸Ñ¨M³¡¤Àªº½ÆÂø«×¡A¸g¹L¼Æ¦¸ªº³]­p¶g´Á¡A¤è¯à§¹¦¨¥þ³¡ªº³]­p¤u§@¡C³nÅé¨t²Î©â¶H³]­pªº¼h¦¸»P¨BÆJ¨Ì§Ç¬°¡G1. Domain Level Model¡A2. Business Process Model¡A3. Logical Level Model¡A4. Implementation Level Model¡C¨C­Ó Model ³£­n¥]§tÀRºAªºµ²ºc´y­z»P°ÊºAªº¦æ¬°´y­z¡A§Ú­Ì¥H UML »¡©ú¨C¤@­Ó¼h¦¸ªº³]­p¼Ò«¬¡C

¦h¼h¦¸³]­p¼Ò«¬ (Model)

Domain Level Model §âÀ³¥Î¨t²Î·í°µ¤@­Ó¶Â½c¡A´y­z¨Ï¥ÎªÌ»P¨t²Îªº¤¬°ÊÃö«Y¡A¥H UML ªºªí¥Ü¤èªk¬O Use cases diagram »P²©úªº´y­z¡A¦p¹Ï 1 ©Ò¥Ü¡CBusiness Process Model «h¬O´y­z¨Ï¥ÎªÌ»P¨t²Îªº¤¬°Ê¹Lµ{»P©Ò»Ý­nªº¸ê°T¡A¦p¹Ï 2 ©Ò¥Ü¡CLogical Level Domain «h¬O¼Ò²Õ¤Æªº¨t²Î³]­p¼Ò«¬¡A§â¨t²Î«ö·ÓÃö³s©Ê¤À¬°¼Æ­Ó¤l¨t²Î¡A¨Ã¥B³Ð³y³\¦h³nÅé³]­p©Ò»Ýªºª«¥ó¡A¨Ò¦p Meta-Data¡AAdapters¡AEvents µ¥µ¥¡A¦p¹Ï 3 ©Ò¥Ü¡CImplementation Level Model ¥]§t¹ê»Úªºµ{¦¡¼Ò²Õ¡B¸ê®Æ®w³]­p¡B»P¨ä¥L¤ä«ù³nÅé°õ¦æªºª«¥ó¡A¦p¹Ï 4 ©Ò¥Ü¡C

¹Ï 1
¹Ï 1

¹Ï 2
¹Ï 2

¹Ï 3
¹Ï 3

¹Ï 3
¹Ï 4

°í«ùªº«i®ð

³nÅé¬[ºc®v«ö·Ó©â¶H¤Æ­ì²z¡A«ö¨BÆJ¶i¦æ¤À¼h³]­p¥i¥H½T«Oº¡¨¬¨t²Î»Ý¨D¡A¦ý¬O¶}µo³nÅé¬O¤@ºØ¹Î¶¤¦X§@ªº¤u§@¡A³nÅé¬[ºc®v¦b±M®×¶i¦æªº¹Lµ{¤¤¡A±`±`¹J¨ì±j¤jªºªý¤O¡C¨Ò¦p¥DºÞ­¢©ó®Éµ{À£¤O¡A¥H¬°¤À¼h³]­pªº¹Lµ{¤¾ªø¡A¦Ó§Æ±æ¸õ¹L¤¤¶¡µ{§Ç¡A­n¨D³]­p¤H­ûª½±µ²£¥Í Final Solution¡F©ÎªÌ¦]¬°²Õ­û¤£¼ô±x³]­pÆ[©À¡A»{¬°¤jÅé¬[ºc³]­p¦n§Y¥iª½±µ Coding¡C«ö·Ó¾ú¥vªº¸gÅç¡A³o¨Ç¶}µo¤è¦¡¬Ý¦ü«K±¶¡A¦ý¬O±`±`Åý±M®×µLªkºÞ²z¡A¾É­P¥¢±Ñ¡C©Ò¥H³nÅé¬[ºc®v¥²¶·¼f«×§Î¶Õ¡A»P¹Î¶¤·¾³q¡A°í«ù¥¿½Tªº¤èªk¡A¤è¯à¦¨¥\§¹¦¨±M®×¡C


§@ªÌ²¤¶

ªLÄ£¬Ã¬° Microsoft.NET §Þ³N¥N¨¥¤H¡A¾È¾_¬ì§Þ°ÆÁ`¸g²z¡A¾ú¥ô²Ä¤Tªi¸ê°T§Þ³NÁ`ºÊ¤Î¨|ùּƦì¬ì§ÞÁ`¸g²z¡C±Mªø©ó¸ê°T¨t²Î³W¹º¤Î³nÅé¬ãµo¡A¾Ö¦³ Microsoft MCSD/MCSE/MCDBA¡ARational OOAD¡ALotus Notes/Domino µ¥»{ÃÒ¸ê®æ¡A¨Ã¬° Microsoft.NET/Java J2EE/ ª«¥ó¾É¦V¨t²Î¤ÀªR³]­pªº¸ê²`Á¿®v¤Î¦h®a¤½¥ÁÀç¾÷ºcªº e ¤ÆÅU°Ý¡C

·N¨£»P¤ä´©

 ±z¦³¥ô¦ó°ÝÃD¡B·N¨£©Î«ØÄ³¶Ü¡H±z¥i¥H³z¹L¤U¦C¹q¤l¶l¥ó»P§@ªÌ³sµ¸¡G
 lyaochen@ms3.hinet.net

§ó¦h¸ê°T

·Qª¾¹D .NET §Þ³N¥N¨¥¤H±MÄæªº¨ä¥L¤å³¹¶Ü¡H½Ð¦Ü¦¹±MÄæ©Ò¦³¦Cªí