主题解释 几个主角可以在一个特定的用例中担任同一角色。由于出纳员和会计都要核对帐目余额,因此用例将他们视为负责核对工作的同一外部实体。该共享角色被建模为主角-余额监管员,它被原先的两个主角所继承。这种关系使用主角泛化关系来表示。 出纳员 (Teller) 和会计员 (Accountant) 这两个主角继承了余额监管员 (Balance Supervisor) 的所有特征。所以,这两个主角都能担任余额监管员的角色。 使用 一个用户可在系统中担任多个角色,这意味着用户实际上可能对应于多个主角。为了使模型更为清楚,您可以用一个继承了多个主角的主角来表示该用户。每个被继承的主角都代表该用户在系统中担任的某个角色。 | <script language="JavaScript" type="text/javascript"> <!-- function loadTop() { if(parent.frames.length!=0 && parent.frames[1].name=="ory_toc") { alert("已分栏显示 Rational Unified Process"); } else { if(window.name=="ory_doc") { window.name = "xyz1234"; } var expires = new Date(); expires.setTime (expires.getTime() + (1000 * 20)); document.cookie = "rup_ory_doc=" + escape (document.URL) + "; expires=" + expires.toUTCString() + "; path=/"; var new_ory_doc_loc = null; for(i=document.links.length-1;i>=0;i--) { if(document.links[i].href.indexOf("index.htm")!=-1) { new_ory_doc_loc = document.links[i].href; break; } } if(new_ory_doc_loc!=null) { top.location = new_ory_doc_loc; } } } // --> </script><script language="JavaScript" type="text/javascript"> <!-- function getImageUrl(image) { var new_ory_doc_loc=null; for(i=document.links.length-1;i>=0;i--) { if(document.links[i].href.indexOf("index.htm")!=-1) { new_ory_doc_loc = document.links[i].href.substring(0,document.links[i].href.lastIndexOf("/")); new_ory_doc_loc = new_ory_doc_loc + "" + image; return new_ory_doc_loc; } } return null; } // --> </script><script language="JavaScript" type="text/javascript"> <!-- MSFPhover = (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 )) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))); function MSFPpreload(img) { var a=new Image(); a.src=img; return a; } // --> </script><script language="JavaScript" type="text/javascript"> <!-- if(MSFPhover) { RupGray=MSFPpreload(getImageUrl('/images/rup1.gif')); RupBlue=MSFPpreload(getImageUrl('/images/rup1_a.gif')); } // --> </script> |
Rational Unified Process |