确定系统的需求、作用域和目标。
系统需要做什么?谁需要使用它?系统输出的内容是什么?系统可以满足一定的需求吗?
从底层上看 ,设计是定义系统组成并组织各组件间关系的过程。
类和对象的定义与配置。
系统的参与者:面向对象的系统由一系列类组成。决定系统中这些类的角色是非常重要的,而类由方法组成。
类与类之间常常通过继承关系联系起来以便遵循公用的接口。
可以为类定义其他关系。
可以创建由其他类型的对象组成的类。
可以创建用于管理多个其他对象实例的类。
可以创建知识简单的用到其他对象的类。
类之间的潜在关系往往在类的结构中就已经确定(例如:类方法参数中的类型提示指定了要使用的对象类型),但是对象之间的实际关系只在代码执行时才产生,这些对象间的关系增加了代码的灵活性。
设计过程中,必须决定某个操作合适属于某个类型,何时属于这个类型使用的另一个类。