2005下半年软件设计师下午试题:面向对象系统设计与分析

需积分: 9 0 下载量 67 浏览量 更新于2024-07-19 收藏 345KB PDF 举报
在2005年下半年的软件设计师下午试题中,考察了面向对象分析与设计的基本概念和技术。试题涉及的主要知识点包括: 1. 面向对象分析和设计: - 设计人员采用了面向对象的方法来开发图书和唱碟信息管理系统的分析与设计。问题1要求根据已有的类Book和CD(图1-2),定义一个名为Items_on_loan的新类,该类应包含Book和CD共有的属性和方法。这涉及到类之间的继承或者组合关系,可能的属性如借出时间、归还时间等,方法可能包括借出、归还操作。 2. 模型表示与关系设计: - 问题2涉及创建类CirculationHistory,用于记录图书或唱碟的历史记录。这需要理解UML(统一建模语言)中关联、依赖或聚合等关系的表示,比如通过一对多或多对多关系链接Items_on_loan与CirculationHistory类。 3. 数据管理和查询优化: - 为了找出十大最畅销的图书或唱碟,引入了TemPopulate类,它存储图书或CD名称及其借出次数。在顺序图中描述了交互过程,当某个图书或唱碟达到十大畅销标准时,TemPopulate类会与Items_on_loan交互。系统运行过程中,可能需要一个TemPopulate实例来处理整个畅销排行的维护,而一个实例可能与多个Items_on_loan实例交互,因为Items_on_loan记录了所有借出的物品。 4. 软件设计原则: - 在整个试题中,还体现了软件设计中的开闭原则、里氏替换原则和单一职责原则,即新定义的类Items_on_loan尽可能复用已有类的功能,而TemPopulate类只关注其特定的业务逻辑,如统计畅销排行。 5. 数据结构与算法: - 问题中提到的“十大最畅销”涉及排序算法,可能是基于图书或CD的借出次数进行降序排序,以确定最畅销的前十名。 这些题目不仅测试了候选人的面向对象编程技能,还涵盖了数据库设计、数据查询优化以及基本的软件设计策略,展示了在实际软件项目中如何运用面向对象方法论来解决问题。