面向对象分析与设计:类模型基础与设计原则

需积分: 0 1 下载量 162 浏览量 更新于2024-07-11 收藏 13.99MB PPT 举报
本资源主要探讨了面向对象分析与设计中的筛选候选类的过程,强调了在系统分析与设计中如何确定哪些概念应转化为类。在描述中提到了如何判断一个概念是否应该作为类来建模,并给出了具体例子,如在个人图书管理系统中,"书籍"是一个重要的类,而其属性包括"书名"、"作者"、"类别"、"出版社"和"书号"。此外,内容还涵盖了软件设计过程的不同阶段,如RUP统一软件开发过程和ICONIX过程,以及类模型基础和面向对象设计原则。 在面向对象分析与设计中,重要的是理解问题域并识别核心概念。"筛选候选类"是这一过程的关键步骤,它涉及去除非问题域的实体(如"小王"、"人"、"家里")和系统自身("个人图书管理系统"、"系统"),以及识别那些描述核心概念的属性(如"书籍"的属性)。例如,"规则"虽然不直接作为类存在,但可以指导"书籍"类构造函数的编写,而"基本信息"和"关键字"则可被视为"书籍"类属性的统称,无须单独建模。 "功能"、"新书籍"、"信息"和"记录"这类词汇通常表示需求的描述,它们不是问题域的本质,因此在建模时可以剔除。这种筛选有助于保持模型的简洁性和针对性,避免不必要的复杂性。 在更广泛的设计上下文中,内容提到了面向对象范型的基本思想,即通过功能分解解决问题。然而,这种方法在应对变化时存在局限性,因为它不利于代码的维护和扩展。为了解决这个问题,引入了模块化和面向对象设计原则,如使用函数或模块来封装特定的功能,以便于在需求变化时只修改相关部分,降低对整体代码的影响。 例如,展示形状的功能可以被模块化,每个形状类型对应一个显示函数。当需要添加新形状时,只需扩展对应的模块,降低了代码的耦合度,增强了系统的灵活性和可维护性。这反映了面向对象设计的核心理念,即通过封装、继承和多态来适应需求的变化。 此资源提供了关于系统分析与设计中筛选候选类的深入见解,以及如何通过面向对象的方法来构建可扩展和可维护的软件系统。