2005年下半年软件设计师下午试题
试题一(15分)
阅读下列说明了和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司A开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。A公司决定采用面向对象的分析和设计方法开发此系统。图1-1所示为某类图书或唱碟被借阅时应记录的信息,图1-2
描述了系统定义的两个类Book 和CD,分别表示图书和唱碟的信息。
[图1-1]
图书/唱碟_________________________ |
|
[图1-2]
[问题1](3分)
经过进一步分析,设计人员决定定义一个类
Items_on_loan ,以表示类Book 和CD的共有属性和方法。请采用图1-2中属性和方法的名称给出类 Items_on_loan
应该具有的属性和方法。(注意:不同名称的属性和方法表示不同的含义,如CD中的composer 与Book中的author
无任何关系)
[问题2](6分)
为了记录每种图书或唱碟的历史记录,引入类CirculationHistory
,类中存储的信息是图1-1 中所表示的内容。请采用UML表示法将下列四个类间的关系表示出来。
[问题3](6分)
现需了解十大最畅销(借出次数最多)图书或唱碟。为此引入TemPopulate
类以存储所有十大畅销图书或CD的名称及其被借出的次数。下列顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有___(1)___个TenPopulate
实例对象最合适,一个TenPopulate 类实例对象最多需要和____(2)____ 个Items_on_loan 实例对象交互。