DM将按实现环境进一步细化AM,此时需明确地定义对象的界面、操作的语义以及处理与实现相关的其他问题。如DBMS、编程语言的特征、是否为分布式系统等。
方法/步骤
1、DM由设计的对象块组成,更进一步地说,软件对象块组成DM的实际结构并显示系统是如何设计的。这些块将实现为源代码。对象块是实际实现的抽象,每个块的实现可能是源代码中的一个特定类,即由一个类实现一个块。然而,一个块也可以由几个不同的类来实现,因此,块成为抽象源代码的一种方法。
2、在面向对象语言中,程序员实际编写的模块就是类。当使用一种特定语言时,应该直接使用相关的概念,例如00语言中的类(class)或Ada语言中的包(package)。此外,使用的术语是对象或者类。在开发DM时,一个简单的规则是:首先在AM基础上机械地生成DM.即将分析中获得的每一个对象都初始化为块。该转换规则意味着在模型之间的过渡中可获得清晰的可跟踪性。
3、为软件系统建模时必须在AM中为系统提供一个健壮的结构,由于AM中的每个对象已成为DM中的一个块,因此,在AM中引人的改变仅局限于引起DM中对应块的改变。可跟踪性是系统开发中的重要特性,每一个系统在它的生命期间无疑会发生变化,无论变化是由新的需求引起的还是由其他原因引起的,总是需要知道改变源代码的位置,这就是可跟踪性的巨大优势。
4、可跟踪性是双向的,就是说还可以从DM中的块返回到AM中的对象,以便查阅它们发生了什么变化。即使系统发生了大的改变,也能容易地找出其工作流程。功能的局部化也很重要,它可使得系统的改变不致于影响过大。
5、下面将构造前面描述的回收机系统的例子,这个描述虽然是一个被简化的埂琴逾癌概要描述.但能清楚地表示工作模型,并足以相当容易地表现一个完整的构造过程。DM的语义与AM有些不旎髂坑若同.AM用逻辑术语来描述,它是所建系统的一张概念图。DM是所建实际系统的抽象,第一个DM是从AM直接映射而来的,它的最终结构将要反映实现环境对构造的影响,但又要保持设计不违反AM中所建立的逻辑结构,所以DM需要保证设计既有合理的逻辑结构又具有鲁棒性。
6、在DM中,块的语义应该反映实际系统中对象存在的语义,而且对象间擢爻充种的联系也应该真实反映系统中对象之间所发生鹚兢尖睁的实际关系。例如,多数语言确实没有实现扩展联系的方法。在实现阶段,必须确定如何实现这种关联,并改变DM来反映这种关系.同样的,如果编程语言没有提供继承性机制,必须在实现中反映AM中的继承性.在建立DM的过程中,第一个概念是系统软件结构,把它放在第一位是因为必须考虑实现环境,有可能导致结构发生改变.也有可能需要把系统分配到计算机系统中的不同结点上.所以系统需要分成多个块,甚至可能需要改造成全新的块.封装到现存的DBMS中。