文档介绍:评审和修正OOA模型
分析模型的一致性和完整性
一个良好的OOA模型,在问题论域内必须上一致的和完整的。因此为了建立一个完整的OOA模型,必须掌握分析模型的一致性和完整性的方法。OOA模型的一致性和完整性指的是模型的语法正确性。在OOA模型的环境中,有各种各样正确性准则,它们可以应用于OOA方法中。这些正确性准则可以标识为:
(1)命名约定。是指关于模型标号、标识符、指示符等的形式或格式的公认标准。命名约定使得通信清晰明了。命名约定应在应用论域中有实际意义,且是唯一的。名字中不应出现“与”和“或”之类的连接词。
(2)风格约定。是一种形式和格式的公认标准,应用于结构、过程、探索等,也可以应用于建模技术。
(3)语法需求。是指建模技术所要求的条件或行为。用于建成模的每个技术都有应当有一组语法需求,以保证用该技术建立起来的OOA模型的语法正确。
对于OOA模型的5个层次,分析模型的一致性和完整性有不同的要求,以下将分别进行讨论。
对象—类层
(1)命名约定。对象应当有一个合适的名字(唯一的),用于描述一个类,而不是类所执行一个功能或类的一个特性。它是一个名词或形容词—名词形式。
(2)风格约定。每个对象都应有一个明确意义的职责,每个对象应至少封装一个只有该对象知道的职责。对于那些只含有单个实例的对象的使用要谨慎。通常一个事件都是由一个对象识别,而事件的影响则应由一个或多个对象共同产生。
(3)语法需求。对象的描述要清晰明了,不能的二义性。必须正确使用对象和类属性类,每个对象不是参与对某一事件的识别,就是参与产生响应。
2、属性层
(1)命名约定。属性名字必须适当,能体现相关联对象的特性、质量或数据存储要求。通常采用名词或形容词—名词形式的词组,且命名中不用动词。
(2)风格约定。OOA模型中应当只出现基本的实例关系。应避免冗长的实例关系。
(3)语法需求。每个对象至少应含有一个属性,用来唯一标识对象的每个实例。
3、服务层
(1)命名约定。服务的命名必须能代表一些与对象相关联的工作、功能或处理。名字通常采用动词—名词形式的词组,尽量避免使用其他结构。
(2)风格约定。服务应当是经过精心设计的。如只有单一的入口点;不涉及并发处理;通过接收的消息或其他精心定义的事件来对其进行初始化;使用与语言无关的过程性描述来作规格说明等等。
(3)语法需求。每个对象都至少应有一个类服务,从而能操作对象的实例,访问一个或多个相关联的属性。服务的定义与输入输出的消息,以及封装在对象中的属性相一致。
4、结构层
(1)风格约定。当整体—部分关系中的“整体”部分是一个类属类,那么该类属类的每个子类型都必须纳入整体—部分关系中的“整体”部分。当整体—部分关系中的“部分
”是一个类属时,该类属的每个子类型都必须出现在整体—部分关系中的“部分”中。如果泛化—特化关系中的“特化对象”是一个类属类,那么该类属类中的每个子类型都必须出现在这个泛化—特化关系的“特化对象”中,当泛化—特化关系中的泛化—特化关系中的“泛化对象”部分是另一个类属类的特化对象时,该类属类的每个子类型都有必须出现在这个泛化—特化关系的“特化对象”中。
(2)语法需求。所有的结构在应用论域中都必须有实际意义。整体—部分结构应当是从一个实例的范围跨越到另