§@ªÌ¡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´yz»P°ÊºAªº¦æ¬°´yz¡A§ÚÌ¥H UML »¡©ú¨C¤@Ó¼h¦¸ªº³]p¼Ò«¬¡C
¦h¼h¦¸³]p¼Ò«¬ (Model)
Domain Level Model §âÀ³¥Î¨t²Î·í°µ¤@Ӷ½c¡A´yz¨Ï¥ÎªÌ»P¨t²Îªº¤¬°ÊÃö«Y¡A¥H UML ªºªí¥Ü¤èªk¬O Use cases diagram »P²©úªº´yz¡A¦p¹Ï 1 ©Ò¥Ü¡CBusiness Process Model «h¬O´yz¨Ï¥ÎªÌ»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

¹Ï 2

¹Ï 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¤¤¶¡µ{§Ç¡An¨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ªí