问答题 【说明】
一个图书馆信息管理系统的分析与建模。下面是某图书馆的有关介绍。
图书馆雇有若干管理员,各自具有编码、姓名等属性。管理员可上岗,也可下岗。
图书馆中备有若干图书,每本图书有书号、书名、出版社、价格等属性。图书馆不定期地购买并注册新图书供读者借阅,也可将报废的旧书注销以停止借阅。
图书馆可为众多读者提供服务。每个读者在借阅之前需注册姓名、性别、地址、Email等内容。读者可在终端上查询。每个读者最多可同时借阅5本书。每本图书借期为30天;若有一本书超期,则不可再借其他图书。一本书超期一天罚款0.1元。若一本书超期3个月不归还,则发布通告。若读者的图书丢失,在罚款处理之前不能借书,每本报失的图书罚款该书价的2倍。注册新读者不受限制;在注销读者之前,该读者必须归还所有借阅的图书,或者报失并接受罚款。
【用例图】

【协作图】
【正确答案】return(还书)(2)outdate(超期)(3)Reader Register(读者注册)(4)Book Cancel ReSister(图书注销)
【答案解析】[分析]
仔细阅读题目,可以发现“图书馆不定期地购买并注册新图书供读者借阅,也可将报废的旧书注销以停止借阅”,这句需求前半部分已经在用例图中显示出来,后半部分没有用例图说明,同时(4)处的前件是“图书登记”,可以得出(4)是Book Cancel Register (图书注销)。同样道理,从题目说明中“每个读者在借阅之前需注册姓名、性别、地址、Email等内容”,得到(3)处是Reader Register(读者注册);从题目说明中“一本书超期一天罚款 0.1元。若一本书超期三个月不归还,则发布通告”,得到(2)处是outdate(超期),(1)处是return(还书)。
【正确答案】0…1、(6)0…1
【答案解析】[分析]在UML中重复度表示为一个整数范围n…m,整数n定义所连接的最少对象的数目,而m则为最多对象的数(当不知道确切的最大数时,最大数用*号表示)。例如,
0…1 表示0~1个对象
0…*或者* 表示0~多个对象
5…17 表示5~17个对象
2 表示2个对象
【正确答案】全局的约束应用于一个链接角色,指定相应的实例是可见的,因为它是一个全局量。
2.局部的约束应用于一个链接角色,指定相应的实例是可见的,因为它是操作的局部
变量。
3.参数应用于一个链接角色,指定相应的实例是可见的,因为它是某个操作的参数。
4.自我应用于一个链接角色,指定对象可以向它自己发送消息。
5.投票应用于消息,限制一组返回的消息。投票约束指定从这组消息中以大多数投票的方式选出返回的值。
6.广播应用于消息,指定不能以某种顺序发出该消息。
7.创建影响对象生命,将在交互的执行中创建对象。
8.注销影响对象生命周期,对象将在一个交互的执行中被注销。
9.临时是影响对象生命周期的一个约束。临时的对象的创建和注销是在一个操作的同一执行中,它是创建和注销约束的结合。
【答案解析】[分析]题目中的9个约束应用于交互。可以用顺序图从时间的角度来看交耳,也可以用协作图从空间的角度来看交互,或者还可以用活动图从工作的角度来看交互。在所有类型的交互图(顺序图、协作图和活动图)中,消息、对象和链接是最重要的概念。对象是通过链接连接起来的(而不是关联),每个链接都有两个链接角色。当对象进行交互时,它们扮演角色(链接的角色),并且通过链接相互发送消息。