Èí¼þ²âÊÔʵÑéÈý

±± ¾© ÁÖ Òµ ´ó ѧ

2012ѧÄꡪ2013ѧÄêµÚ 1 ѧÆÚ Èí¼þ²âÊÔ ÊµÑ鱨¸æÊé

ר Òµ£ºÐÅÏ¢¹ÜÀíÓëÐÅϢϵͳ

ʵÑéÌâÄ¿£º »ùÓÚOCLºÍ״̬ͼµÄÀà²âÊÔ¡¢OATSÀཻ»¥²âÊÔ ÊµÑé»·¾³£º Windows Server 2003¡¢VC6.0 ʵÑéÄ¿µÄ

ÕÆÎÕ»ùÓÚOCLºÍ״̬ͼµÄÀà²âÊÔÒÔ¼°OATSÀཻ»¥²âÊԵķ½·¨¡£

ʵÑéÄÚÈÝ

ʵÑé1£ºÒÔÏÂÊÇStudentÀàOCL˵Ã÷µÄÒ»²¿·Ö£¬Çë¸ù¾Ýÿ¸ö²Ù×÷µÄǰÖÃÌõ¼þºÍºóÖÃÌõ¼þ¹¹Ôì²âÊÔÓÃÀý¡£ÒªÇóдÃ÷²âÊÔÓÃÀýµÄ¹¹ÔìÒÀ¾Ý£¬ÒÔ¼°×îºóµÃµ½µÄ²âÊÔÓÃÀý¡£ Student

xh£¨Ñ§ºÅ£©> 0

age£¨ÄêÁ䣩>= 16 and age <= 40 Student::setAge(age : Int)

Pre: age >= 16 and age <= 40 Post: self.age = age and xh = xh@pre Student::setXh(xh : Int)

Pre: xh > 0

Post: self.xh = xh and age = age@pre

´ð£º

ǰÖÃÌõ¼þÖУ¬¢Ù£ºage >= 16£»¢Ú£ºage <= 40£»Post: self.age = age and xh = xh@pre ºóÖÃÌõ¼þÖУ¬¢Ù£ºself.age = age and xh = xh@pre£»Pre£ºage >= 16 and age <= 40

¹¹Ôì²âÊÔÓÃÀýÈçÏ£º

¢Ù(age >= 16 and age <= 40£¬self.age = age and xh = xh@pre) ¢Ú(not(age >= 16)and age <= 40£¬Exception) ¢Û(age >= 16 and not(age <= 40)£¬Exception)

¢Ü(not (age >= 16)and not(age <= 40)£¬Exception)

ǰÖÃÌõ¼þÖУ¬¢Ù£ºxh > 0£» Post: self.xh = xh and age = age@pre ºóÖÃÌõ¼þÖУ¬¢Ù£ºself.xh = xh and age = age@pre£»Pre£ºxh > 0 ¹¹Ôì²âÊÔÓÃÀýÈçÏ£º

¢Ú (xh > 0£¬self.xh = xh and age = age@pre) ¢Ú (not(xh > 0)£¬Exception)

ʵÑé2£º¿¼²ìÈËÖÀijÎï¼þµÄ¹ý³Ì¡£¼ÙÉèÖÀ³öÈ¥µÄ¾àÀëÓëÈ˵ĸ߶ȡ¢Á¦Á¿ÒÔ¼°Îï¼þµÄÖØÁ¿Óйأ¬²¢ÇÒÈ˵ÄÁ¦Á¿Ö»ÓдóÓÚÎï¼þµÄÖØÁ¿£¬È˲ÅÄÜʰÆðÎï¼þ¡£

¼Ù¶¨ÈËÓÃÀàPeopleÃèÊö£¬°üº¬ÈçÏÂÊôÐÔ£º (1) Height£ºÉí¸ß£¬±ØÐë´óÓÚ0.5Ã×; (2) Might£ºÁ¦Á¿£»

(3) ThingStatus£ºÎï¼þ״̬£¬ÓÐÈýÖÖȡֵ£ºNone£¨ÎÞÎï¼þ£©¡¢Pickedup£¨Ê°Æð

״̬£©¡¢LiftedUp£¨¾ÙÆð״̬£©£»

(4) ThingWeight£ºÎïÖØ£¬Ö»ÓÐThingStatusȡֵ²»ÊÇNoneʱ²ÅÓÐÒâÒ壬²¢ÇÒ

Ó¦´óÓÚ0¡£

¿ÉÒÔÓÃÒÔϼ¸¸ö·½·¨ÃèÊöÈ˵ÄÐÐΪ£º

(1) PickUp£ºÊ°ÆðÎï¼þ£¨ÐèÒýÓÃMight£¬Ö´ÐпÉÄܸıäThingStatus¡¢

ThingWeight£©£»

(2) LiftUp£º¾ÙÆðÎï¼þ£¨Ö´ÐпÉÄܸıäThingStatus£©

(3) Throw£ºÖÀÎï¼þ£¨ÐèÒýÓÃMight¡¢Height¡¢ThingWeight£¬Ö´ÐпÉÄܸıä

ThingStatus£©¡£

PeopleÀàµÄ״̬ת»»Í¼Èçͼ1Ëùʾ¡£ÇëÀûÓÃ״̬ת»»Í¼·¨Éè¼ÆÀà²âÊÔÓÃÀý£¬ÒªÇóÁгö²âÊÔÐòÁУ¬²¢×ö±ØÒª½âÊÍ˵Ã÷¡£

ThrowInitializeS1 PickUpS2LiftUpS3 ͼ1 PeopleÀàµÄ״̬ת»»Í¼

´ð£º

#s1: Initialize ¡¤ Pick Up ¡¤ Lift Up ¡¤ Throw #s2: Initialize ¡¤ Pick Up ¡¤ Lift Up ¡¤ Throw ¡¤Pick Up

ʵÑé3£ºÒ»¸öÃæÏò¶ÔÏóϵͳ°üº¬Ò»¸öclientÀࣨC1£©ºÍËüµÄÒ»¸ö×ÓÀࣨC2£©¡£ÕâЩclientÀàÓÖÓëÒ»¸öserverÀàS1½»»¥£¬Õâ¸öserverÀàÓÐÒ»¸ö×ÓÀàS2¡£Õâ¸öserverÀà°üÀ¨Ò»¸ö·½·¨foo()£¬Ëü°ÑM1µÄÒ»¸öʵÀý×öΪ²ÎÊý£¬M1ÓÐÒ»¸ö×ÓÀàM2¡£

ͼ2 client¡¢server¡¢messageµÄ½»»¥¹ØÏµÍ¼

ÇëʹÓÃÕý½»ÕóÁвâÊÔ·¨£¨OATS£©²âÊÔclientÓëserverÖ®¼äµÄÀཻ»¥¹ØÏµfoo£¬ÒªÇóÁгöÏêϸ²âÊÔ²½Ö裬²¢¸ø³ö×îÖյIJâÊÔÓÃÀý¡£

´ð£º

£¨1£©ÓÐÈý¸ö¶ÀÁ¢µÄ±äÁ¿£¨Factors: client£¬server£¬ºÍÏûÏ¢Àࣩ £» £¨2£©Ã¿¸ö±äÁ¿¿ÉÒÔÈ¡2¸öÖµ£¨Levels£©£»

£¨3£©Ñ¡ÔñL4(23)Õý½»±í¨D¨D±äÁ¿Îª3ÒòËØ£¬ÖµÎª2ˮƽ¡£ £¨4£©°ÑÖµÓ³Éäµ½Õý½»±íÖÐ

OA before mapping factors Run 1 Run 2 Run 3 Run 4 Factor 1 0 0 1 1 Factor 2 0 1 0 1 Factor 3 0 1 1 0 £¨5£©°ÑÒòËØºÍÖµÓ³Éäµ½±íÖУ¬ÎªÊ£ÏµÄˮƽÊýѡȡֵ

OA after mapping factors Test 1 Test 2 Test 3 Test 4

Client C1 C1 C2 C2 Server S1 S2 S1 S2 M M1 M2 M2 M1

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4