RationalRose-Ïêϸ½éÉܺÍÀý×ÓÏêϸ²Ù×÷

ʹÓÃRational Rose ½øÐÐUML¿ÉÊÓ»¯½¨Ä£

±¾¿Î³ÌÒÔijËù´óѧµÄ¡¶ÔÚÏßÑ¡Ð޿γ̹ÜÀíϵͳ¡·ÎªÀýÀ´½éÉÜÔõÑùʹÓÃRational Rose ½øÐÐUML¿ÉÊÓ»¯½¨Ä£¡£

×îÖյݽ»Èý¸öÎļþ£ºregist.mdl, regist.sql, VBµÄ´úÂë»òJavaµÄ´úÂë¡£ ÄÚÈÝ£º

Ò»¡¢ ϵͳÃèÊö ................................................................................................................... 2 ¶þ¡¢ ÓÃÀýͼ(Use Case View) ............................................................................................ 2 Èý¡¢ »î¶¯Í¼(Activity Diagram)(½¨Á¢Ñ¡Ð޿γÌĿ¼±í) .................................................. 5 ËÄ¡¢ Ïà¹ØµÄ°üºÍÀàÒÔ¼°¼òµ¥Ààͼ ................................................................................. 11 Îå¡¢ ÓÃÀýʵÏÖͼ(Use Case Realization Diagram) ......................................................... 13 Áù¡¢ ˳Ðòͼ(Sequence Diagram)ÓëºÏ×÷ͼ(Collaboration Diagram) ............................. 15 Æß¡¢ ÀàͼÖеĹØϵ(Relationships) ................................................................................. 18 °Ë¡¢ ÀàͼÖеIJÙ×÷ÓëÊôÐÔ ............................................................................................. 20 ¾Å¡¢ ÀàͼÖеķº»¯ ......................................................................................................... 22 Ê®¡¢ ״̬ͼ(Statechart Diagram) .................................................................................... 26 ʮһ¡¢ ¹¹¼þͼ(Component Diagram) .......................................................................... 31 Ê®¶þ¡¢ ²¿Êðͼ(Deployment Diagram) ......................................................................... 34 Ê®Èý¡¢ Éú³É³ÌÐò´úÂë .................................................................................................. 35 Ê®ËÄ¡¢ ´´½¨Êý¾Ý¿âÉè¼Æ .............................................................................................. 40 Ê®Îå¡¢ ¸½¼þ1£º×ª»»ºóµÄVisual Basic³ÌÐò ............................................................. 44 Ê®Áù¡¢ ¸½¼þ2£º×ª»»ºóµÄJava³ÌÐò .......................................................................... 45 Ê®Æß¡¢ ¸½¼þ3£ºÉú³ÉµÄSQLÓï¾ä .............................................................................. 46

1

Ò»¡¢ ϵͳÃèÊö

1£®´óѧ½ÌʦѡÔñ±¾Ñ§ÆÚÒª½ÌÊڵĿγ̣¬Ã¿Î»½Ìʦ×î¶àÖ»ÄÜÉϱ¨4Ãſγ̡£

2£®½Ìʦѡ¿Î½áÊøºó£¬½ÌÎñ¹ÜÀíÈËÔ±½øÐÐЭµ÷ºÍÈ·ÈϽÌʦµÄ¿Î³Ì£¬²¢´´½¨±¾Ñ§ÆڵĿγÌĿ¼±í£¬ÏòѧÉú¹«²¼¡£

2£®Ñ§ÉúÌîд¿Î³ÌÑ¡ÐÞ±í£¬Ã¿¸öѧÉú×î¶àÑ¡ÐÞ4Ãſγ̣»Ã¿ÃÅÑ¡Ð޿γ̵ÄѧÉúÊý×î¶àΪ10ÈË£¬×îÉÙΪ3ÈË¡£ÈËÊý´ïµ½10ÈËʱ£¬Í£Ö¹Ñ§ÉúµÇ¼Ç×¢²á´ËÃſγ̣» 3£®Ñ§ÉúÑ¡¿Î½áÊøºó£¬ÏµÍ³×Ô¶¯È¡ÏûÈËÊýÉÙÓÚÈýÈ˵Ŀγ̡£

4£®Ñ§Éú°´×îÖÕµÄ¿Î³Ì±íµ½²ÆÎñ´¦°ìÀíÊÕ·ÑÊÖÐø£¨billing system£©¡£ 5£®½Ìʦ¿É²éѯËù½Ì¿Î³ÌµÄѧÉú»¨Ãû²á(roster)¡£ 6£®½ÌÎñ¹ÜÀíÈËԱά»¤Ñ§Éú¡¢½ÌʦºÍ¿Î³ÌµÄÐÅÏ¢¡£

¶þ¡¢ ÓÃÀýͼ(Use Case View)

1£®¡¶ÔÚÏßÑ¡Ð޿γ̹ÜÀíϵͳ¡·ÖеÄÖ´ÐÐÕß(Actors)

? ×¢²áÑ¡Ð޿γ̵ÄѧÉú£» ? ½ÌÊÚÑ¡Ð޿γ̵ĽÌʦ£»

? ½ÌÎñ¹ÜÀíÈËÔ±±ØÐë»ã×ÜÑ¡Ð޿γÌÇé¿ö£¬ÖÆ×÷¿Î³Ì±í£»

? ½ÌÎñ¹ÜÀíÈËÔ±±ØÐëά»¤¹ØÓڿγ̡¢½ÌʦºÍѧÉúµÄËùÓÐÐÅÏ¢£» ? ²ÆÎñ¹ÜÀíϵͳ´Ó±¾ÏµÍ³ÖÐÈ¡³öÊÕ·ÑÐÅÏ¢¡£ 2£®Ê¹ÓÃRational Rose ´´½¨Ö´ÐÐÕß(Actors)

ͼ1

2

1) ÓÒ»÷browser¿òÖеÄUse Case View°ü£¬µ¯³ö¿ì½Ý²Ëµ¥£» 2) Ñ¡ÔñNew¡ª¡ªActorÏ

3) ÊäÈëÖ´ÐÐÕßµÄÃû×Ö£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä)

4) Èç¹ûÎĵµ´°¿Ú²»¿É¼û£¬Ñ¡ÔñÆÁÄ»ÉÏ·½µÄView¡ª¡ªDocumentation²Ëµ¥£» 5) ÔÚbrowser¿òÖÐÑ¡ÖÐËùÐèÖ´ÐÐÕߣ»

6) ½«¹â±êÖÃÓÚÎĵµ¿òÖУ¬ÊäÈëÏàÓ¦Îĵµ¡£ 3£®¡¶ÔÚÏßÑ¡Ð޿γ̹ÜÀíϵͳ¡·ÖеÄÓÃÀý(Use Case)

? ×¢²áÑ¡Ð޿γÌ(ѧÉú)£»

? Ñ¡Ôñ½ÌÊÚµÄÑ¡Ð޿γÌ(½Ìʦ)£» ? Ë÷È¡¿Î³Ì»¨Ãû²á(Roster)(½Ìʦ)£» ? ά»¤¿Î³ÌÐÅÏ¢(½ÌÎñ¹ÜÀíÈËÔ±)£» ? ά»¤½ÌʦÐÅÏ¢(½ÌÎñ¹ÜÀíÈËÔ±)£» ? ά»¤Ñ§ÉúÐÅÏ¢(½ÌÎñ¹ÜÀíÈËÔ±)£» ? ´´½¨¿Î³ÌĿ¼(½ÌÎñ¹ÜÀíÈËÔ±)£» 4£®Ê¹ÓÃRational Rose ´´½¨ÓÃÀý(Use Case)

ͼ2

1) 2) 3) 4) 5) 6)

ÓÒ»÷browser¿òÖеÄUse Case View°ü£¬µ¯³ö¿ì½Ý²Ëµ¥£» Ñ¡ÔñNew¡ª¡ªUse CaseÏ

ÊäÈëÓÃÀýµÄÃû×Ö£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä)

Èç¹ûÎĵµ´°¿Ú²»¿É¼û£¬Ñ¡ÔñÆÁÄ»ÉÏ·½µÄView¡ª¡ª Documentation²Ëµ¥£» ÔÚbrowser¿òÖÐÑ¡ÖÐËùÐèÓÃÀý£»

½«¹â±êÖÃÓÚÎĵµ¿òÖУ¬ÊäÈëÏàÓ¦Îĵµ¡£

5£®Ê¹ÓÃRational Rose ´´½¨Ö÷ÓÃÀýͼ(Main Use Case Diagram)

1) Ë«»÷browser¿òÖеÄUse Case View°üÖеÄMainÌõÄ¿£¬´ò¿ªÖ÷ÓÃÀýͼ£» 2) µ¥»÷Ñ¡ÖÐbrowser¿òÖеÄÖ´ÐÐÕߣ¬²¢½«ÆäÍϵ½Ö÷ÓÃÀýͼÖУ» 3) Öظ´µÚ2)²½£¬Ö±µ½Íê³ÉËùÐèµÄ¹¤×÷Ϊֹ£»

3

4) 5) 6) 7)

µ¥»÷Ñ¡ÖÐbrowser¿òÖеÄÓÃÀý£¬²¢½«ÆäÍϵ½Ö÷ÓÃÀýͼÖУ» Öظ´µÚ4)²½£¬Ö±µ½Íê³ÉËùÐèµÄ¹¤×÷Ϊֹ£»

ÔÚ¹¤¾ßÌõÖÐÑ¡Ôñµ¥Ïò¹ØÁª(Unidirectional Association)ͼ±ê£»

µ¥»÷Ò»¸öÖ´ÐÐÕߣ¬²¢Íϵ½ÏàÓ¦µÄÓÃÀýÉÏ£»»òµ¥»÷Ò»¸öÓÃÀý£¬²¢Íϵ½ÏàÓ¦µÄÖ´ÐÐÕßÉÏ¡£

Select courses to teachStudentProfessorRegister for coursesRequest course rosterBilling SystemMaintain student informationMaintain course informationMaintain professor informationRegistrarCreate course catalogue

ͼ3

4

Èý¡¢ »î¶¯Í¼(Activity Diagram)(½¨Á¢Ñ¡Ð޿γÌĿ¼±í)

ͼ4

1£®Ê¹ÓÃRational Rose ´´½¨»î¶¯Í¼(Activity Diagram)

1) ÓÒ»÷browser¿òÖеÄUse Case View°ü£¬µ¯³ö¿ì½Ý²Ëµ¥£» 2) Ñ¡ÔñNew¡ª¡ªActivity DiagramÏ

3) ÊäÈë»î¶¯Í¼µÄÃû×Ö£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä) 4) Ë«»÷browser¿òÖеÄActivity DiagramÃû³Æ£¬´ò¿ª¸Ãͼ¡£ 2£®Ê¹ÓÃRational Rose ´´½¨»î¶¯(Activity)

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñActivityͼ±ê£»

2) Ôڻͼ(Activity Diagram)Öе¥»÷Òª·ÅÖû(Activity)µÄλÖã» 3) ÊäÈë»î¶¯Ãû×Ö£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä) 4) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñState Transitionͼ±ê£»

5) µ¥»÷Ò»¸ö»î¶¯£¬²¢½«ÆäÍϵ½ÏàÓ¦µÄ»î¶¯ÉÏ¡£

5

ͼ5

3£®Ê¹ÓÃRational Rose ´´½¨¾ö²ßµã(Decision Points)

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñDecisionͼ±ê£»

2) Ôڻͼ(Activity Diagram)Öе¥»÷Òª·ÅÖþö²ßµãµÄλÖã» 3) ÊäÈë¾ö²ßµÄÃû×Ö£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä) 4) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñState Transitionͼ±ê£»

5) µ¥»÷Ò»¸ö»î¶¯£¬²¢½«ÆäÍϵ½ÏàÓ¦µÄ¾ö²ßµãÉÏ£» 6) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñState Transitionͼ±ê£»

7) µ¥»÷Ò»¸ö¾ö²ßµã£¬ÍÏÖÁ¹Õ½Ç´¦µ¥»÷×ó¼ü£¬ÔÙ½«ÆäÍϵ½ÏàÓ¦µÄ»î¶¯ÉÏ£» 8) Ë«»÷´ËÌõת»»Ïߣ¬´ò¿ª¹æ¸ñÉ趨¿ò£» 9) Ñ¡ÔñDetail ±êÇ©Ò³£»

10) ÔÚGuard Condition¿òÖÐÊäÈëÌõ¼þNo; 11) µã°´OK°´Å¤£¬¹Ø±Õ¹æ¸ñÉ趨¿ò£»

12) ÔÚ´ËÌõת»»ÏßÉϵ¥»÷×ó¼ü£¬Ñ¡ÖдËÌõת»»Ïߣ»

13) µã°´ÆÁÄ»ÉÏ·½µÄFormat:Line Style:Rectilinear²Ëµ¥£» 14) µ÷ÕûÕâÌõÏߣ¬Ê¹ÆäÃÀ¹Û¡£

6

ͼ6

4£®Ê¹ÓÃRational Rose ´´½¨Í¬²½Ìõ(Synchronization Bar)

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñHorizontal Synchronizationͼ±ê£»

2) Ôڻͼ(Activity Diagram)Öе¥»÷Òª·ÅÖÃͬ²½ÌõµÄλÖã» 3) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñState Transitionͼ±ê£» 4) Íê³ÉÏÂͼ¡£

7

ͼ7

5£®Ê¹ÓÃRational Rose ´´½¨Ó¾µÀ( Swim lanes)

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñSwim lanesͼ±ê£»

2) Ôڻͼ(Activity Diagram)Öе¥»÷Òª·ÅÖÃÓ¾µÀµÄλÖã» 3) Ë«»÷Ó¾µÀ£¬´ò¿ª¹æ¸ñ˵Ã÷¿ò£» 4) ÔÚName¿òÖÐÊäÈëÓ¾µÀµÄÃû×Ö£» 5) µã°´OK°´Å¤£¬¹Ø±Õ¹æ¸ñÉ趨¿ò£» 6) ¶ÔÓ¾µÀµÄ´óСλÖýøÐе÷Õû£»

7) ½«ËùÐèµÄ»î¶¯ºÍ±ä»»ÏßÍÏÖÁÐÂÓ¾µÀÖС£

8

ͼ8

6£®Ê¹ÓÃRational Rose ´´½¨Æðʼ»î¶¯ºÍÖÕÖ¹»î¶¯

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñÆðʼ»î¶¯»òÖÕÖ¹»î¶¯Í¼±ê£»

2) Ôڻͼ(Activity Diagram)Öе¥»÷Òª·ÅÖÃÆðʼ»î¶¯»òÖÕÖ¹»î¶¯µÄλÖã» 3) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñState Transitionͼ±ê£»

4) µ¥»÷Æðʼ»î¶¯£¬Íϵ½ÏàÓ¦µÄ»î¶¯ÉÏ£¬»òÕßµ¥»÷Ò»¸ö»î¶¯£¬ÍÏÖÁÖÕÖ¹»î¶¯ÉÏ¡£

9

ͼ9

10

ËÄ¡¢ Ïà¹ØµÄ°üºÍÀàÒÔ¼°¼òµ¥Ààͼ

1£®ÔÚRational RoseµÄBrowser¿òÖд´½¨Àà(Class)

ͼ10

1) ÓÒ»÷browser¿òÖеÄLogica View£¬µ¯³ö¿ì½Ý²Ëµ¥£»

2) Ñ¡ÔñNew¡ª¡ªClassÏ

3) ÊäÈëÀàµÄÃû×Ö£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä) 4) ÔÚËù½¨ÀàÉϵ¥»÷ÓÒ¼ü£¬µ¯³ö¿ì½Ý²Ëµ¥£»

5) Ñ¡ÔñOpen SpecificationÏѡÔñGeneral±êÇ©Ò³£» 6) ÔÚStereotype¿òÖÐÑ¡ÔñentityÀࣻ 7) µ¥»÷OK°´Å¤¹Ø±Õ¹æ¸ñ˵Ã÷¿ò¡£ ±ß½çÀà¡´Boundary Classes¡µ£º

? ¿ÉÓÃÀ´ËÜÔì²Ù×÷ÕßÓëϵͳ֮¼äµÄ½»»¥£» ? ¿ÉÓÃÀ´ÀíÇåÓû§ÔÚϵͳ±ß½çÉϵÄÐèÇó£» ? ¿ÉÉè¼Æ³éÏóµÄÓû§½çÃæ¶ÔÏó¡£ ¿ØÖÆÀà¡´Control Classes¡µ£º ? ¿ÉЭµ÷¶ÔÏóÖ®¼äµÄ½»Ò×£»

? ¿É½«Ê¹Óð¸ÀýµÄϸ½Ú²¿·Ö·â×°ÆðÀ´£» ? ¿É½«¸´ÔӵļÆËã»òÉÌÎñÂß¼­·â×°ÆðÀ´¡£ ʵÌåÀà¡´Entity Classes¡µ£º ? ´ú±íÓÀ¾Ã±£´æµÄÐÅÏ¢£»

? ´ú±íE-RÄ£ÐÍÖ®ÖÐÈË¡¢Ê¡¢Ê±¡¢µØ¡¢Îï»ò¸ÅÄîµÄÐÅÏ¢¼°ÐÐΪ¡£

2£®ÔÚRational RoseµÄBrowser¿òÖд´½¨°ü(Packages)

1) ÓÒ»÷browser¿òÖеÄLogica View£¬µ¯³ö¿ì½Ý²Ëµ¥£» 2) Ñ¡ÔñNew¡ª¡ª PackageÏ

3) ÊäÈë°üµÄÃû×Ö£»(PeopleInfo°üÓÃÀ´´æ·ÅÓëÈËÔ±ÓйصÄÄÚÈÝ£»Interfaces°üÓÃÀ´

´æ·ÅÓë½çÃæÓйصÄÄÚÈÝ£»UniversityArtifactsÓÃÀ´´æ·ÅÓëѧУ¹¤¼þÓйصÄÄÚÈÝ¡£)

4) н¨Í¼ÖеÄÏà¹ØÀ࣬²¢ÉèÖÃÆäÏàÓ¦µÄÀà±ð£» 5) µ¥»÷Browser¿òÖеÄÀ࣬½«ÆäÍÏÖÁÏàÓ¦µÄ°üÖС£

11

ͼ11

3£®Rational RoseÖеÄÖ÷Ààͼ(Main Class Diagram)

1) Ë«»÷browser¿òLogica ViewÖеÄMainÀàͼÒÔ´ò¿ªÖ®£» 2) µ¥»÷Browser¿òÖеİü£¬½«ÆäÍϵ½MainÀàͼÉÏ£» 3) Öظ´µÚ2)²½£¬Íê³ÉÏÂͼ¡£

ͼ12

4£®ÔÚRational RoseÖд´½¨°üÖеÄÖ÷Ààͼ(Package Main Class Diagram)

1) Ë«»÷MainÀàͼÖеÄUniversity Artifacts°ü£¬rose½«´ò¿ªÕâ¸ö°ü£¬²¢´´½¨Õâ¸ö

°üµÄÖ÷Ààͼ(Package Main Class Diagram)£»

12

2) µ¥»÷Browser¿òÖеÄÀ࣬½«ÆäÍϵ½ÀàͼÉÏ£» 3) Öظ´µÚ2)²½£¬Íê³ÉÏÂͼ¡£

ͼ13

Îå¡¢ ÓÃÀýʵÏÖͼ(Use Case Realization Diagram)

1£®Ê¹ÓÃRational Rose ´´½¨Âß¼­ÊÓͼÖеÄÓÃÀýͼ(Use Case Diagram)

ͼ14

1) ÓÒ»÷browser¿òÖеÄLogica View£¬µ¯³ö¿ì½Ý²Ëµ¥£» 2) Ñ¡ÔñNew¡ª¡ªUse Case DiagramÏ 3) ÊäÈëÓÃÀýͼµÄÃû×Ö¡°Realizations¡±£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä)

13

4) ÓÒ»÷browser¿òÖеÄLogica View£¬µ¯³ö¿ì½Ý²Ëµ¥£» 5) Ñ¡ÔñNew¡ª¡ª Use CaseÏ

6) ÊäÈëÓÃÀýµÄÃû×Ö£»(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä) 7) Ë«»÷н¨µÄÓÃÀý£¬´ò¿ªÓÃÀýµÄ¹æ¸ñÉ趨¿ò£»

8) µ¥»÷Stereotype¿ò£¬Ñ¡Ôñuse case realizationÑ¡Ï 9) ¹Ø±ÕÓÃÀýµÄ¹æ¸ñÉ趨¿ò£»

10) Öظ´4¡ª¡ª9²½£¬Ë«»÷¡°Realizations¡±£¬´ò¿ªÊµÏÖÓÃÀýͼ£» 11) ½«Ð½¨µÄʵÏÖÓÃÀýÍÏÈëͼÖУ¬ÈçÏÂͼ¡£

ͼ15

14

Áù¡¢ ˳Ðòͼ(Sequence Diagram)ÓëºÏ×÷ͼ(Collaboration Diagram)

1£®Ê¹ÓÃRational Rose ´´½¨Ë³Ðòͼ(Sequence Diagram)

ͼ16

1) ÓÒ»÷browser¿òÖеÄLogica ViewÖеġ°Maintain course information¡±ÊµÏÖÓÃ

Àý£¬µ¯³ö¿ì½Ý²Ëµ¥£»

2) Ñ¡ÔñNew¡ª¡ª Sequence DiagramÏ 3) ÊäÈë˳ÐòͼµÄÃû×Ö¡°Creat a course¡±£» 2£®ÔÚ˳ÐòͼÖд´½¨¶ÔÏóºÍÐÅÏ¢

1) Ë«»÷˳ÐòͼÃû³Æ£¬´ò¿ªË³Ðòͼ£»

2) ½«browser¿òUse CaseView°üÖеÄÖ´ÐÐÕß¡°Registrar¡±ÍÏÈëͼÖУ» 3) Ñ¡Ôñ¹¤¾ßÌõÖеġ°Object¡±Í¼±ê£»

4) µ¥»÷ͼÖзÅÖöÔÏóµÄλÖ㬲¢ÊäÈëÏàÓ¦µÄÃû×Ö£» 5) Öظ´3¡ª¡ª4²½£»

6) Ñ¡Ôñ¹¤¾ßÌõÖеġ°Object Message¡±Í¼±ê£» 7) ´ÓÐÅÏ¢·¢³öÕßÍÏÖÁÐÅÏ¢½ÓÊÕÕߣ» 8) ÊäÈëÐÅÏ¢µÄÃû×Ö£» 9) Öظ´6¡ª¡ª8²½¡£

15

ͼ17

3£®¸ø˳ÐòͼÖеĶÔÏó·ÖÅäÀà

1) µ¥»÷Ñ¡ÖÐBrowser¿òÖÐËùÐèµÄÀࣻ 2) ½«´ËÀàÍÏÖÁ˳ÐòͼÏàÓ¦µÄ¶ÔÏóÉÏ¡£

ͼ18

16

3£®½«Ë³Ðòͼת»»ÎªºÏ×÷ͼ

ͼ19

1) Ë«»÷˳ÐòͼÃû³Æ£¬´ò¿ªË³Ðòͼ£»

2) Ñ¡ÔñÆÁÄ»ÉÏ·½µÄ²Ëµ¥Browser¡ª¡ªCreate Collaboration Diagram£¬»òÕߵ㰴F5

¼ü£»

3) µ÷ÕûͼÖеĶÔÏóºÍÐÅÏ¢£¬Ê¹ÆäÃÀ¹Û¡£

17

Æß¡¢ ÀàͼÖеĹØϵ(Relationships)

1£®Ê¹ÓÃRational Rose ´´½¨¹Øϵ(Relationship)

ͼ20

1) ´ò¿ªUniversity Artifacts°üÖеÄMainÀàͼ£»

2) Ñ¡Ôñ¹¤¾ßÌõÖеġ°Association¡±Í¼±ê(Èô´Ëͼ±ê²»´æÔÚ£¬ÔòÓÒ»÷¹¤¾ßÌõ£¬Ñ¡Ôñ

CustomizeÏÆä¼ÓÈë)£»

3) µã°´ÀàͼÖеÄÒ»¸öÀ࣬ÍÏÖÁÁíÒ»¸öÀ࣬ÊäÈë¹ØϵµÄÃû³Æ£»

4) Ñ¡Ôñ¹¤¾ßÌõÖеġ°Aggregation¡±Í¼±ê(Èô´Ëͼ±ê²»´æÔÚ£¬ÔòÓÒ»÷¹¤¾ßÌõ£¬Ñ¡Ôñ

CustomizeÏÆä¼ÓÈë)£»

5) µã°´ÀàͼÖеÄÒ»¸öÕûÌåÀ࣬ÍÏÖÁÁíÒ»¸ö²¿·ÖÀ࣬ÊäÈë¹ØϵµÄÃû³Æ¡£

2£®Ê¹ÓÃRational Rose ´´½¨½ÇÉ«(Role)

18

ͼ21

1) н¨Ò»¸öPeople Info°üµÄMainÀàͼ£»

2) ÓÒ»÷¹ØϵÏß(¿¿½üÐèÒª´´½¨½ÇÉ«µÄÀàµÄÒ»¶Ë)£¬µ¯³ö¿ì½Ý²Ëµ¥£» 3) Ñ¡ÔñRole NameÏÊäÈë½ÇÉ«µÄÃû×Ö¡£

3£®Ôö¼Ó¶àÖضÈ

ͼ22

1) Ë«»÷¹ØϵÏߣ¬Ê¹Æ䵯³ö¹æ¸ñÉ趨¿ò£»

2) Ñ¡ÔñDetail±êÇ©Ò³(Role A Detail »òÕß Role B Detail)£» 3) ÔÚMultiplicity¿òÖÐÊäÈë»òÑ¡ÔñÏàÓ¦µÄ¶àÖضȣ» 4) µã°´OK°´Å¤£¬¹Ø±Õ¹æ¸ñÉ趨¿ò¡£ 4£®´´½¨°üÖ®¼äµÄ¹Øϵ

19

ͼ23

1) ´ò¿ªLogica ViewÖеÄMainÀàͼ£» 2) Ñ¡Ôñ¹¤¾ßÌõÖеġ°dependency¡±Í¼±ê£»

3) µã°´ÀàͼÖеÄÒ»¸ö¿Í»§°ü£¬ÍÏÖÁÁíÒ»¸ö¹©Ó¦°ü¡£

°Ë¡¢ ÀàͼÖеIJÙ×÷ÓëÊôÐÔ

ͼ24

20

1£®Ê¹ÓÃRational Rose ´´½¨ÊôÐԺͷ½·¨

1) ÓÒ»÷browser¿òLogica ViewÖÐUniversityArtifacts°üÖеÄÀ࣬µ¯³ö¿ì½Ý²Ëµ¥£» 2) Ñ¡ÔñNew¡ª¡ªAttributeÏÊäÈëÏàÓ¦µÄÃû×Ö£» 3) Öظ´1¡ª¡ª2²½£¬Íê³ÉÌí¼ÓÊôÐÔ£»

4) ÓÒ»÷browser¿òLogica ViewÖÐUniversityArtifacts°üÖеÄÀ࣬µ¯³ö¿ì½Ý²Ëµ¥£» 5) Ñ¡ÔñNew¡ª¡ªOperationÏÊäÈëÏàÓ¦µÄÃû×Ö£» 6) Öظ´4¡ª¡ª5²½£¬Íê³ÉÌí¼Ó²Ù×÷£» 2£®ÔÚÀàÖÐÔö¼ÓÁËÊôÐԺͲÙ×÷ºó¶ÔÀàͼµÄÓ°Ïì

1) ´ò¿ªUniversity Artifacts°üÖеÄMainÀàͼ£»

2) ½«Í¼ÖÐÏà¹ØÀàµÄÏÔʾ¸ÄΪlabel(ÓÒ»÷ÿһ¸öÀ࣬ѡÔñOptions: Stereotype

Display: Label²Ëµ¥);

3) ÀàͼÖÐÏàÓ¦µÄÊôÐÔÓë²Ù×÷×Ô¶¯±ä»¯ÎªÏÂͼ¡£

ͼ25

21

¾Å¡¢ ÀàͼÖеķº»¯

1£®Ê¹ÓÃRational Rose ´´½¨Ò»¸öÓзº»¯¹ØϵµÄÀàͼ

1) ÔÚPeople Info°üÖд´½¨Ò»¸ö¿ÕÀàͼGeneralization; 2) ´´½¨ÀàͼÖÐÏà¹ØµÄÀ࣬²¢½«Ïà¹ØµÄÀàÍÏÈëͼÖУ» 3) Ñ¡Ôñ¹¤¾ßÌõÖеġ°Generalization¡±Í¼±ê£» 4) µã°´ÀàͼÖеÄÒ»¸ö×ÓÀ࣬ÍÏÖÁÒ»¸ö¸¸Àࣻ 5) Öظ´µÚ4²½Íê³ÉÏÂͼ£»

ͼ26

6) ½«×ó±ßµÄ·º»¯¼ýÍ·ÍÏÖÁÓұߵķº»¯ÏßÉÏ£» 7) µ÷ÕûͼÐΡ£

22

ͼ27

2£®½«Óзº»¯¹ØϵµÄÀàͼ½øÐÐÀ©Õ¹

1) ½«Course OfferingÀàÍÏÈëͼÖУ¬²¢´´½¨¶ÔÓ¦µÄ¹ØÁªÏß¡¢½ÇÉ«¡¢¶àÖضÈ; 2) ΪÏà¹ØµÄÀà´´½¨ÊôÐÔ¡£

ͼ28

23

3£®½«Óзº»¯¹ØϵµÄÀàͼ½øÐÐÓÅ»¯

1) ÔÚBrowser¿òÖн«×ÓÀàÖеĹ«¹²ÊôÐÔÍÏÈ븸ÀàÖУ» 2) ½«×ÓÀàÖжàÓàµÄÊôÐÔɾȥ¡£

ͼ29

4£®½«Óзº»¯¹ØϵµÄÀàͼ½øÐжà²ã·º»¯

1) ÔÚPeople Info°üÖд´½¨Ïà¹ØµÄÀ࣬²¢ÍÏÈëͼÖУ» 2) ´´½¨¹ØϵÏß¡¢·º»¯ÏߺͶàÖضȡ£

24

ͼ30

25

Ê®¡¢ ״̬ͼ(Statechart Diagram)

1£®Ê¹ÓÃRational Rose ´´½¨×´Ì¬Í¼(Statechart Diagrams)

ͼ31

1) ÓÒ»÷browser¿òÖеÄCourseOfferingÀ࣬µ¯³ö¿ì½Ý²Ëµ¥£»

2) Ñ¡ÔñNew¡ª¡ªStatechart DiagramsÏ

3) ÊäÈë״̬ͼµÄÃû×Ö¡°CourseOffering States¡±¡£ 2£®Ê¹ÓÃRational Rose ´´½¨×´Ì¬(States)

ͼ32

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñStateͼ±ê£»

2) ÔÚ״̬ͼÖе¥»÷Òª·ÅÖÃ״̬µÄλÖã»

3) ÊäÈë״̬µÄÃû×Ö¡£(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä)

26

3£®Ê¹ÓÃRational Rose ´´½¨×´Ì¬×ª»»(State Transitions)

ͼ33

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñState Transitionsͼ±ê£» 2) µ¥»÷Æðʼ״̬£¬²¢ÍÏÖÁÏÂÒ»¸ö״̬£»

3) ÊäÈë״̬ת»»µÄÃû×Ö¡£(Èç³ö´í£¬¿ÉÓÃRenameÃüÁî¸ü¸Ä) 4£®Ê¹ÓÃRational Rose ´´½¨Æðʼ״̬

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñStartͼ±ê£»

2) ÔÚ״̬ͼÖе¥»÷Òª·ÅÖÃÆðʼ״̬µÄλÖã» 3) ÓÃ״̬ת»»Ïß½øÐÐÁ¬½Ó¡£

ͼ34

27

5£®Ê¹ÓÃRational Rose ´´½¨½áÊø״̬

ͼ35

1) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñStopͼ±ê£»

2) ÔÚ״̬ͼÖе¥»÷Òª·ÅÖýáÊø״̬µÄλÖã» 3) ÓÃ״̬ת»»Ïß½øÐÐÁ¬½Ó¡£

6£®Ê¹ÓÃRational Rose Ôö¼Ó״̬ת»»µÄϸ½Ú²¿·Ö

1) Ë«»÷ijÌõת»»Ïߣ¬´ò¿ª¹æ¸ñÉ趨¿ò£» 2) Ñ¡ÔñDetail ±êÇ©Ò³£»

3) ÔÚÏàÓ¦µÄ¿òÖÐÊäÈëaction(/ºóµÄÄÚÈÝ)¡¢guard condition([ ]ÀïµÄÄÚÈÝ)ÒÔ¼°·¢³ö

µÄsend(^ºóµÄÄÚÈÝ);

4) µã°´OK°´Å¤£¬¹Ø±Õ¹æ¸ñÉ趨¿ò¡£

28

ͼ36

7£®Ê¹ÓÃRational Rose Ôö¼Ó״̬µÄActions²¿·Ö

1) Ë«»÷ij¸ö״̬£¬´ò¿ª¹æ¸ñÉ趨¿ò£» 2) Ñ¡ÔñActions±êÇ©Ò³£»

3) ÓÒ»÷Actions¿òÖеÄÈÎһλÖ㬵¯³ö¿ì½Ý²Ëµ¥£» 4) Ñ¡ÔñInsertÏ½«´´½¨Ò»¸öÀàÐÍΪentryµÄaction£» 5) Ë«»÷Õâ¸öaction£¬µ¯³öactionµÄ¹æ¸ñÉ趨¿ò£»

29

ͼ37

6) ÔÚwhen¿òÖÐÉ趨ÏàÓ¦µÄÀàÐÍ£»

7) ÔÚtype¿òÖÐÉ趨£ºaction»òÕßsend event(ÓÃ^±íʾ); 8) ÊäÈëactionµÄÃû×Ö£¬»òeventµÄÐÅÏ¢£» 9) µã°´OK°´Å¤£¬¹Ø±ÕAction¹æ¸ñÉ趨¿ò¡£ 10) µã°´OK°´Å¤£¬¹Ø±Õ״̬¹æ¸ñÉ趨¿ò¡£

30

ͼ38

ʮһ¡¢ ¹¹¼þͼ(Component Diagram)

1£® ʹÓÃRational Rose ´´½¨Main¹¹¼þͼ(Component Diagram)

1) ÔÚBrowser¿òÖеÄComponent ViewÖд´½¨Í¼Öеĸ÷¸ö¹¹¼þ°ü£» 2) Ë«»÷Browser¿òÖеÄComponent ViewÖеÄMain¹¹¼þͼ£» 3) ½«Browser¿òÖеÄComponent ViewÖеĹ¹¼þ°üÍÏÈëͼÖУ» 4) ´´½¨°üÖ®¼äµÄÒÀÀµÏß¡£

31

ͼ39

2£®´´½¨University¹¹¼þ°üÖеĹ¹¼þ

1) Ë«»÷Main¹¹¼þͼÖеÄUniversity°ü£¬´ò¿ªÍ¼ÐΣ» 2) ÔÚ¹¤¾ßÌõÖÐÑ¡ÔñComponentͼ±ê£» 3) µ¥»÷ͼÖÐijһλÖ㬷ÅÖù¹¼þ£» 4) ÊäÈë¹¹¼þÃû³Æ¡£

ͼ40

3£®½«ÀàÓ³Éäµ½¹¹¼þÉÏ

32

ͼ41

1) 2) 3) 4) 5) 6)

ÓÒ»÷Browser¿òÖеÄCourseOffering¹¹¼þ£¬µ¯³ö¿ì½Ý²Ëµ¥£» Ñ¡ÔñOpen SpecificationÏ Ñ¡ÔñRealizes±êÇ©£»

ÓÒ»÷ËùÐèµÄÀ࣬µ¯³ö¿ì½Ý²Ëµ¥£» Ñ¡ÔñAssignÏ£¨·ÖÅ䣩

µã°´OK°´Å¤£¬¹Ø±Õ¹æ¸ñÉ趨¿ò¡£

33

Ê®¶þ¡¢ ²¿Êðͼ(Deployment Diagram)

1£®Ê¹ÓÃRational Rose ´´½¨²¿Êðͼ(Deployment Diagram)

1) Ë«»÷Browser¿òÖеIJ¿Êðͼ(Deployment Diagram)£»

2) Ñ¡Ôñ¹¤¾ßÌõÖеÄProcessorͼ±ê£¬²¢µ¥»÷ͼÖÐijһλÖã» 3) ÊäÈë½áµãµÄÃû×Ö£»

4) Ñ¡Ôñ¹¤¾ßÌõÖеÄConnectionͼ±ê£» 5) µã»÷ijһ½áµã£¬ÍÏÖÁÁíÒ»½áµã£» 6) Ñ¡Ôñ¹¤¾ßÌõÖеÄTextͼ±ê£» 7) ÔÚÏàÓ¦½áµãÏÂдÉÏÎÄ×Ö¡£

ͼ42

34

Ê®Èý¡¢ Éú³É³ÌÐò´úÂë

1£®Ê¹ÓÃRational RoseΪ¹¹¼þÉ趨³ÌÐòÉè¼ÆÓïÑÔ

ͼ43

1) ÓÒ»÷Browser¿òComponent ViewÖÐUniversity°üÖеÄCourseOffering¹¹¼þ£¬

µ¯³ö¿ì½Ý²Ëµ¥£»

2) Ñ¡ÔñOpen SpecificationÏ´ò¿ª¹¹¼þCourse OfferingµÄ¹æ¸ñÉ趨¿ò£» 3) ÔÚLanguage¿òÖÐÑ¡ÔñÏàÓ¦µÄÓïÑÔ£» 4) µã°´OK°´Å¤¹Ø±Õ¶Ô»°¿ò¡£

2£®½¨Ä£¸¨Öú¹¤¾ß£¨ÈçÐèÒªÉ趨£¬Ôò¿É½øÈ룬һ°ãÇé¿öÏ¿ÉÊ¡ÂÔ£©

1) ÓÒ»÷Browser¿òLogica ViewÖÐUniversity°üÖеÄCourse OfferingÀ࣬µ¯³ö¿ì

½Ý²Ëµ¥£¬Ñ¡ÔñModel AssistantÏ

2) ÈçÐèÒªÉ趨£¬Ôò¿É¸ü¸ÄÑ¡Ïһ°ãÇé¿öÏ¿ÉÊ¡ÂԴ˲½²Ù×÷£»

3) ±à³ÌÓïÑÔΪVisual Basicʱ£¬¼ûͼ44,Ç°ÌáÊÇϵͳ±ØÐë°²×°ÁËVB£»±à³ÌÓï

ÑÔΪJavaʱ£¬¼ûͼ45,Ç°ÌáÊÇϵͳ±ØÐë°²×°ÁËJDK¡£

35

ͼ44£º±à³ÌÓïÑÔΪVisual Basicʱ

36

ͼ45£º±à³ÌÓïÑÔΪJavaʱ

3£®Éú³É´úÂë

1) ÓÒ»÷Browser¿òComponent ViewÖÐUniversity°üÖеÄCourseOffering¹¹¼þ£¬

µ¯³ö¿ì½Ý²Ëµ¥£»

2) Ñ¡ÔñUpdate CodeÏ

37

ͼ46

3) Ñ¡ÖÐÏàÓ¦µÄcheck¿ò£¬µã»÷Next°´Å¤£»

ͼ47

38

4) µã»÷Finish°´Å¤£»

ͼ48

5) ÈçÓдíÎó£¬ÔòÏÔʾÏàÓ¦´íÎó£» 6) µã°´Close°´Å¤£¬¹Ø±Õ´°¿Ú¡£

39

Ê®ËÄ¡¢ ´´½¨Êý¾Ý¿âÉè¼Æ

1£®½«ÊµÌåÀàµÄpersistenceÊôÐÔÉèΪpersistent

±¾ÏµÍ³ÓÐËĸöʵÌåÀࣺStudent¡¢Professor¡¢Course¡¢CourseOffering£¬·Ö±ð½«ËüÃǵÄpersistenceÊôÐÔÉèΪpersistent¡£

ÒÔCourseΪÀý£¬Ë«»÷Browser¿òLogical ViewÖÐUniversityArtifactsÖÐCourseÀ࣬µ¯³öclass specification¶Ô»°¿ò£¬Ñ¡Ôñdetail tab£¬½«persistenceÊôÐÔÉèΪpersistent¡£

ͼ49

40

2£®Éú³ÉÊý¾ÝÄ£ÐÍ

½«UniversityArtifacts°üºÍPeopleInfo°üת³ÉÊý¾Ý¿âµÄÊý¾ÝÄ£ÐÍ¡£

ÒÔUniversityArtifactsΪÀý¡£ÓÒ»÷Browser¿òLogical ViewÖÐUniversityArtifacts°ü£¬µ¯³ö¿ì½Ý²Ëµ¥£¬Ñ¡ÔñData Modeler/ Transform to Data Model¡£µ¯³ö¶Ô»°¿ò£¬ÔÚDestination SchemaÖмüÈ롱db¡±£¬µã»÷¡±OK¡±¡£ÔÚBrowser¿òLogical ViewÖн«Éú³É¡±Schemas¡±°üºÍ¡°db¡±×Ó°ü¡£×Ó°üÖÐÉú³ÉÁËT_CourseºÍT_CourseOfferingÁ½¸ötable¡£

¶ÔPeopleInfo°ü½øÐÐÏàͬ²Ù×÷£¬Éú³ÉT_Student, T_Professor, T_RegistrationUserÈý¸ötable.

ͼ50

41

3£®´´½¨Data Model Diagram

ÓÒ»÷Browser¿òÖÐLogical View/¡±Schemas¡±/¡°db¡±£¬µ¯³ö¿ì½Ý²Ëµ¥£¬Ñ¡ÔñData Modeler/ New/ Data Model Diagram£¬Éú³ÉÒ»¸öData Model Diagram, È¡ÃûΪMain¡£

ͼ51

Ë«»÷Main£¬´ò¿ª½øÐб༭£¬½«Îå¸ötableÍϽødiagram£¬Éú³ÉERͼ¡£

ͼ52

42

4£®Éú³ÉSQLÓï¾ä

ÓÒ»÷Browser¿òÖÐLogical View/¡±Schemas¡±/¡°db¡±£¬µ¯³ö¿ì½Ý²Ëµ¥£¬Ñ¡ÔñData Modeler/ Forward Engineer£¬¸úwizard½øÐвÙ×÷£¬½«Éú³ÉµÄSQLÓï¾ä±£´æÔÚÎļþÖС£²Î¼û¸½¼þ3¡£

Äã¿ÉÒÔÑ¡ÔñÉú³É±í¸ñcreate»òdropµÄSQLÓï¾ä¡£

ͼ53

43

Ê®Îå¡¢ ¸½¼þ1£º×ª»»ºóµÄVisual Basic³ÌÐò

Option Explicit

'##ModelId=3E2A1E9D0148 Implements Course

'##ModelId=3E2E13980177

Private mCourseObject As New UniversityArtifacts.Course /*ÓÉCourse ·º»¯¶øÀ´*/ '##ModelId=3E2A980002EE

Public Teacher As Professor /*ÓÉÉèÖýÇÉ«¶øÀ´*/ '##ModelId=3E2A9DAE0261

Public NewProperty2(3 To 10) As Student /*ÓÉÏÞ¶¨Ìõ¼þ¶øÀ´*/ '##ModelId=3E2A7BEB035D Public NewProperty As Course '##ModelId=3E2A826C0109

Public Sub getOffering()/*ÓÉgetOffering²Ù×÷¶øÀ´*/ End Sub

'##ModelId=3E2A827B0280

Public Sub addProfessor()/*ÓÉaddProfessor²Ù×÷¶øÀ´*/ End Sub

'##ModelId=3E2E139801F4

Private Sub Course_getOfferings()/*ÓÉ·º»¯¼Ì³Ð¶øÀ´*/ End Sub

'##ModelId=3E2E13980203

Private Sub Course_setProfessor()/*ÓÉ·º»¯¼Ì³Ð¶øÀ´*/ End Sub

'##ModelId=3E2E13980213

Private Property Set Course_(ByVal RHS As CourseOffering) End Property

'##ModelId=3E2E13980261

Private Property Get Course_() As CourseOffering End Property

'##ModelId=3E2E1F55030D Public Sub CourseOffering() End Sub

'##ModelId=3E2E3247038A

Private Property Set Course_theProfessorCourseManager(ByVal RHS As ProfessorCourseManager) End Property

'##ModelId=3E2E32480000

Private Property Get Course_theProfessorCourseManager() As ProfessorCourseManager End Property

'##ModelId=3E2E3248003E

44

Private Property Set Course_theCourseOffering(ByVal RHS As CourseOffering) End Property

'##ModelId=3E2E3248009C

Private Property Get Course_theCourseOffering() As CourseOffering End Property

Ê®Áù¡¢ ¸½¼þ2£º×ª»»ºóµÄJava³ÌÐò

//Source file: C:\\\\Program Files\\\\Rational\\\\RUPBuilder\\\\University\\\\CourseOffering.java package University;

public class CourseOffering extends Course /*ÓÉCourse ·º»¯¶øÀ´*/ {

private Course mCourseObject;

public Professor Teacher; /*ÓÉÉèÖýÇÉ«¶øÀ´*/ public Student NewProperty2[]; public Course NewProperty; /** @roseuid 3E2E1F55030D */ public CourseOffering() { } /**

* @roseuid 3E2A826C0109 */

public void getOffering()/*ÓÉgetOffering²Ù×÷¶øÀ´*/ { } /**

* @roseuid 3E2A827B0280 */

public void addProfessor()/*ÓÉaddProfessor²Ù×÷¶øÀ´*/ { } /**

* @roseuid 3E2E139801F4 */

private void Course_getOfferings()/*ÓÉ·º»¯¼Ì³Ð¶øÀ´*/ { } /**

* @roseuid 3E2E13980203 */

private void Course_setProfessor()/*ÓÉ·º»¯¼Ì³Ð¶øÀ´*/ {

45

} /**

* @param RHS

* @roseuid 3E2E13980213 */

private void Course_(CourseOffering RHS) { } /**

* @return CourseOffering * @roseuid 3E2E13980261 */

private CourseOffering Course_() {

return null; } }

Ê®Æß¡¢ ¸½¼þ3£ºÉú³ÉµÄSQLÓï¾ä

CREATE TABLE T_Course ( name SMALLINT NOT NULL, description SMALLINT NOT NULL, creditHours SMALLINT NOT NULL, T_Course_ID INTEGER NOT NULL, CONSTRAINT PK_T_Course7 PRIMARY KEY (T_Course_ID) );

CREATE TABLE T_CourseOffering ( T_CourseOffering_ID INTEGER NOT NULL, T_Course_ID INTEGER, T_RegistrationUser_ID INTEGER NOT NULL, COL_2 INTEGER NOT NULL, CONSTRAINT PK_T_CourseOffering8 PRIMARY KEY (T_CourseOffering_ID) );

CREATE TABLE T_RegistrationUser ( realname VARCHAR ( 255 ) NOT NULL, username VARCHAR ( 255 ) NOT NULL, password VARCHAR ( 255 ) NOT NULL, birthday DATE NOT NULL, gender SMALLINT NOT NULL, T_RegistrationUser_ID INTEGER NOT NULL, department INTEGER NOT NULL, CONSTRAINT PK_T_RegistrationUser11 PRIMARY KEY (T_RegistrationUser_ID)

46

);

CREATE TABLE T_Professor ( T_RegistrationUser_ID INTEGER NOT NULL, CONSTRAINT PK_T_Professor12 PRIMARY KEY (T_RegistrationUser_ID) );

CREATE TABLE T_Student ( T_RegistrationUser_ID INTEGER NOT NULL, CONSTRAINT PK_T_Student13 PRIMARY KEY (T_RegistrationUser_ID) );

CREATE INDEX TC_T_CourseOffering35 ON T_CourseOffering (COL_2);

CREATE INDEX TC_T_CourseOffering28 ON T_CourseOffering (T_Course_ID);

ALTER TABLE T_CourseOffering ADD CONSTRAINT FK_T_CourseOffering13 FOREIGN KEY (COL_2) REFERENCES T_Professor (T_RegistrationUser_ID) ON DELETE NO ACTION ON UPDATE NO ACTION;

ALTER TABLE T_CourseOffering ADD CONSTRAINT FK_T_CourseOffering8 FOREIGN KEY (T_Course_ID) REFERENCES T_Course (T_Course_ID) ON DELETE NO ACTION ON UPDATE NO ACTION;

ALTER TABLE T_CourseOffering ADD CONSTRAINT FK_T_CourseOffering10 FOREIGN KEY (T_RegistrationUser_ID) REFERENCES T_Professor (T_RegistrationUser_ID) ON DELETE NO ACTION ON UPDATE NO ACTION;

ALTER TABLE T_Professor ADD CONSTRAINT FK_T_Professor11 FOREIGN KEY (T_RegistrationUser_ID) REFERENCES T_RegistrationUser (T_RegistrationUser_ID) ON DELETE NO ACTION ON UPDATE NO ACTION;

ALTER TABLE T_Student ADD CONSTRAINT FK_T_Student12 FOREIGN KEY (T_RegistrationUser_ID) REFERENCES T_RegistrationUser (T_RegistrationUser_ID) ON DELETE NO ACTION ON UPDATE NO ACTION;

47

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ì滻Ϊ@)