◆所有系统的存储数据需求必须说明为属性。 ◆出现在泛化特化关系中的对象必须以与这 个泛化-特化关系相一致的方式继承属性。 特化对象不能继承不是为该特化对象定义 的属性。所继承的属性必须在应用论域中 有意义 ◆属性的定义必须是唯一的,且该定义不能 为其它属性共享。 ◆每个属性应至少能被封装在该对象中的 个服务访问。其它对象中的服务不能访问 该对象中封装的任何属性。 ◆实例关系必须与应用论域的限制一致
◆参与实例连接关系的对象的属性必须与这 种关系相一致。 ◆所有基本的实例关系都必须出现在OOA模 型中。 ◆风格约定:OOA模型中应当只出现基本的实 例关系。冗余的实例关系应当避免。 ◆语法需求:类可能含有只应用于该类的属性。 这种属性的应用应前后一致,而且能够应用 于该类的所有实例
服务层 ◆命名约定:服务的命名必须合适。能代表 些与对象有关联的工作、功能或处理。服务 名在相关的对象中应是唯一的。服务名在应 用论域中必须有实际意义,不应用来表示实 现技术。通常名字应采用动词-名词形式的 词组,避免使用其它结构。名字中不应出现 “与”和“或”之类的连接词。 ◆语法需求: ◆每个对象都至少应当有一个类服务,还至 少应当有一个实例服务,从而能够访问 个或多个相关联的属性
◆服务的定义必须与输入输出的消息,以及 封装在对象中的属性相一致。 ◆没有封装在对象中的属性,服务是访问不 到的。 风格约定: ◆服务应当精心设计,服务应当 只有单一的入口点 癥不涉及并发处理; ※产生一个或一系列的输出; 通过接收一个消息或其它精心定义的事件 (如时间触发器)来对其进行初始化 癥使用简短的过程性描述来说明,这种描述 与实现语言无关
¯ 只有单一的入口点; ¯ 不涉及并发处理; ¯ 产生一个或一系列的输出; ¯ 通过接收一个消息或其它精心定义的事件 (如时间触发器)来对其进行初始化; ¯ 使用简短的过程性描述来说明,这种描述 与实现语言无关
桌语法需求: ◆参与到泛化特化关系中的对象继承服务时 必须与该泛化特化关系相一致。特化对象 不能继承不是为该特化对象定义的服务。 ◆参与到实例关系中的对象的服务必须与它 们的实例关系相一致。 ◆服务应当在对象的实例中应用。而服务在 类属类的实例关系中时,该类属类的每 个子类型都必须由这个服务定义。 ◆消息传递属性,这些属性必须与产生和接 收消息的服务相一致,即服务的所有输入、 输出都必须与该服务的规格说明相一致