服务机构 ehicle discount rate: float=0.0 maintenance/ID discount rate price price( 20 10 交通工具维护 15 price price() part 0 venicle ID part number 零件 12 part number discount rate part m current number quantity quantity price discount 产品 20 134.00 0.0 min quantity float 2 10 6.50 0.0 current quantity float 15 25 21.75 5.0 price float 用关系数据库实现类 安交通大学刘海岩
西安交通大学 刘海岩 26 服务机构 discount_rate : float = 0.0 price( ) price( ) price 交通工具维护 part_number discount_rate 零件 min_quantity : float current_quantity : float price : float 产品 vehicle maintenance ID discount_rate price 1 10 20 2 10 35 3 15 5 part X vehicle ID part_number 1 1 2 12 3 6 part part_ number min_ quantity current_ quantity price discount 1 10 20 134.00 0.0 2 10 14 6.50 0.0 3 15 25 21.75 5.0 0 .. * 0 .. * 用关系数据库实现类
7、确定边界条件 设计中的大部分工作都与系统稳定的状态行为有关 但必须考虑边界条件:系统如何启动、初始化、关闭以及 故障处理。 初始化包括:常量、参数、全局变量、任务及保护独 享的处置设置。系统关闭时,应该释放所拥有的全部资源 并发系统中必须通知其他任务,系统要关闭。 运行中出现故障的原因可能是: 用户错误,系统应帮助用户纠正错误。 硬件错误,网络连接故障等情况需要保存临时状态。 °软件故障,在程序中多设计出现故障后的出口。 系统设计是不断迭代和演化的过程,要保证设计模型 是正确的、完整的、一致的、现实的、易读的 安交通大学刘海岩
西安交通大学 刘海岩 27 7、确定边界条件 设计中的大部分工作都与系统稳定的状态行为有关。 但必须考虑边界条件:系统如何启动、初始化、关闭以及 故障处理。 初始化包括:常量、参数、全局变量、任务及保护独 享的处置设置。系统关闭时,应该释放所拥有的全部资源。 并发系统中必须通知其他任务,系统要关闭。 运行中出现故障的原因可能是: • 用户错误,系统应帮助用户纠正错误。 • 硬件错误,网络连接故障等情况需要保存临时状态。 • 软件故障,在程序中多设计出现故障后的出口。 系统设计是不断迭代和演化的过程,要保证设计模型 是正确的、完整的、一致的、现实的、易读的
8、评审 如果分析模型与设计模型映射(如:每个子系统都 能追溯到一个用例或一个非功能需求),则设计模型是 正确的; 如果每个需求和每个系统设计问题都提到了,则模 型是完整的 如果一个模型不包括任何冲突,则它是一致的; 如果模型能够实现,则它是现实的 由非系统设计人员能够看懂模型,则模型是易读的 安交通大学刘海岩
西安交通大学 刘海岩 28 8、评审 如果分析模型与设计模型映射(如:每个子系统都 能追溯到一个用例或一个非功能需求),则设计模型是 正确的; 如果每个需求和每个系统设计问题都提到了,则模 型是完整的; 如果一个模型不包括任何冲突,则它是一致的; 如果模型能够实现,则它是现实的; 由非系统设计人员能够看懂模型,则模型是易读的
93对象设计 系统设计相当于大楼的建筑平面图,规定了每个房间 的用途,以及房间与房间之间、房间与外部环境之间的 连接机制。对象设计着重于每个房间的内部细节。 对象设计的主要任务是: 定义对象完整的接口 设计对象内部结构 构件选择 重组及优化 系统分析确定了问题域对象,以及它们之间的关系、 相关的属性、操作。系统设计确定了子系统和大多数重 要的求解域对象。对象设计要精细这些对象(这里的对 象包括子系统),并可能定义其他的求解域对象。 安交通大学刘海岩
西安交通大学 刘海岩 29 9.3 对象设计 系统设计相当于大楼的建筑平面图,规定了每个房间 的用途,以及房间与房间之间、房间与外部环境之间的 连接机制。对象设计着重于每个房间的内部细节。 对象设计的主要任务是: • 定义对象完整的接口 • 设计对象内部结构 • 构件选择 • 重组及优化 系统分析确定了问题域对象,以及它们之间的关系、 相关的属性、操作。系统设计确定了子系统和大多数重 要的求解域对象。对象设计要精细这些对象(这里的对 象包括子系统),并可能定义其他的求解域对象
1、定义对象的接口 对象的接口也称为对象的协议、对象的界面。它通过 定义对象可以接收的每个消息和当对象接收到该消息后 完成的相关服务来描述。接口提供了一种方法,把对象 基于操作的功能说明与具体实现区分开来,使得任何依 赖和使用接口的客户不必依赖于接口的具体实现,有利 于接口实现的替换 接口描述可以用UML中类图一样的符号,省略属性 部分,《 interface)要包含在类名部分中。比较多的人喜 欢用程序设计语言来定义接口,以便用编译器来发现接 口描述中的错误和不一致 下图给出了“转账”的Java接口描述 安交通大学刘海岩
西安交通大学 刘海岩 30 1、定义对象的接口 对象的接口也称为对象的协议、对象的界面。它通过 定义对象可以接收的每个消息和当对象接收到该消息后 完成的相关服务来描述。接口提供了一种方法,把对象 基于操作的功能说明与具体实现区分开来,使得任何依 赖和使用接口的客户不必依赖于接口的具体实现,有利 于接口实现的替换。 接口描述可以用UML中类图一样的符号,省略属性 部分,《interface》要包含在类名部分中。比较多的人喜 欢用程序设计语言来定义接口,以便用编译器来发现接 口描述中的错误和不一致。 下图给出了“转账” 的Java接口描述