- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象设计UML实践(第2版)部分课后习题答案
第二章
2.1
2.2下图使用对象名称的代码中的变量的名称。虽然这可能是澄清当前的例子中,它运行对象名和变量名的两个截然不同的概念混淆的风险。这是有潜在危险的环境中,对象被重新分配到不同的变量。
此图说明了不同的数字可以存在一个目录条目:零个,一个或多个部分对象。
除了装配对象,此图中的所有对象已经出现答案(一)部分。
客户对象已加入在这个图中所示,发送到组件的初始投资成本信息。
2.3(a)数据重复,每个零件只能指向一个目录条目
2.4
2.7
第八章
8.1(a)“INSTANCEOF”定型只来作说明。一个事实,即对象的位置类的实例已经显示在标签中的每个对象。
(b)我们假定该计数器保持一个整数值,它被初始化为零。 “设置”和“复位”具有相同的效果,所以被建模为一个单一的操作,“setToZero”。
(c)一个枚举用于指定开关的可能状态。在这种特定的情况下,一个布尔状态变量可以被使用,但定义一个枚举,提供了更大的范围扩展。另外,由于该类接口,可以指定不指定记录的状态如何。
(d)许多“多重属性,用于记录亮着的灯组,使用图8.3所示的颜色枚举。 OCL收集文字符号已被用来显示此属性的值对象图标。
8.2(a) 租借出去,一个人可以拥有零个或更多的书籍,每本书可以借由在任何给定的时间最多只有一个人。
(b) 一个人可以有读了许多书,每本书的很多人可能已经被读出。
(c) 一块只能在同一时间占据一个方块,如果它已被捕获,它不占用广场。每平方可以最多有一个一块就可以了。如果目的是只模拟棋盘上的棋子,在这种关联的右侧的多样性应该是刚好1。
(d) 下面的多重性是指在一个给定的时间内谁是已婚的人,假设没有一夫多妻或一妻多夫。的配偶关系是对称的,它可以简单地被标记关联的名称。
(e) 一个人可以拥有零个或更多的孩子,但每个人都有正好有两个(生物)的父母。这种关系是不是对称的,因此增加角色的名字,使预期的诠释更清晰。
8.5
8.16
第九章
9.1
9.7
第十章
10.11
10.15
第十二章
12.1任何对象的客户对象链接到两个`SavingsAccount和`DepositAccount的实例图,其中,将违反XOR约束。最简单的例如图如下所示。
12.2任何对象图所示,其中一人作为主席的一个委员会,他们不是会员将违反子集约束。这一个简单的示意图如下图所示。这是假设,有没有`的memberOf person对象之间的联系及委员会A,在图上没有显示。
12.4
context Customer inv:????savingsAccount-size() = 0 or depositAccount-size() = 0
异或约束可以用以下约束形式表示
context C inv:????d-size() = 0 or e-size() = 0
12.8
12.9
context Employee inv:????not manager-isEmpty() implies self.department = manager.department
context Person inv:????manager-forAll(e | e.contract.grade.salary self.contract.grade.salary)
context Department inv:????staff-exists(e | e.contract.grade.salary 100000)
12.10
表达式左边是个体,右边是聚集
context Person inv:????not self.manager-includes(self)
12.11.
context Customer inv:????account-forAll(a | a.balance 100)
第十三章
13.1
13.4
13.15
13.16
4.17
创建预约时输入所有餐桌号码。另外,餐桌太小例外可以提供增加另外餐桌来完成预约。
界面方面,需要表示多个餐桌属于一个预约的情况。可以使用相同颜色,并增加预约ID引用。
文档评论(0)