O O D方法
面向对象的设计办法是00办法中.个中央过渡环节。其重要感化是对O0A进一步的规范化整顿,以便可以或许被0OP直接核收。在000的设计进程中,要睁开的重要有如下几项工作。
1.对象界说规格的求精进程
对于O0A所抽象出来的对象类以及汇集的剖析文档,0OD须要有一个依据设计请求整顿和求精的进程,使之更能相符OOP的须要。这个整顿和求精进程重要有两个方面:一是要依据面向对象的概念模子整顿剖析所肯定的对象构造、属性、办法等内容,纠正毛病的内容,删去不需要和反复的内容等。二是进行分类整顿,以便于下一步数据库设计和法式处置模块设计的须要。整顿的办法重要是进行归类,对类、对象,属性,办法和构造,主题进行归类。
2.数据模子和数据库设计
数据模子的设计须要肯定类或对象属性的内容,新闻衔接的方法,体系拜访、数据模子的办法等。最后每个对象实例的数据都必需落实到面向对象的库构造模子中。
每个对象都有本身的属性和状况,我们须要把这个对象的属性和状况保留在数据库中,那么最幻想最简略的情形,就是一个对象对应张物理表,而对象之间的联系关系关系(一对一,一对多,多对多)也可以简略映射成数据库的主一外键关系。但还有许多非数据库关系须要斟酌,如:继续、聚合、依附等。张表若何继续自另一张表呢?关系数据库显然没有如许的界说,这就须要用ORmapping来完成这种语义的转换。例如,当实例化一个子对象时,OR-mapping负责从代表了“父”对象的表中读出父对象属性并将其赋值给子对象,而且当父对象变更时,OR-mapping须要把这一变更反应到所有子对象实例。
3.优化
象和构造的优化、抽象、集成。00D的优化设计进程是从另一个角度对剖析成果和处置营业进程的整顿归纳,优化包含对
模块相符一般模块化所请求的且模块之间期合度弱。集成化使得单个构件有机地联合在一路,对象和构造的模块化表现00D供给了一种范式,这种范式支撑对类和构造的模块化。这种互相支撑。
4.状况图
状况图表现某个类所处的分歧状况和该类的状况转换信息。每个类都有状况,但不是每个类都应当有一个状况图。只对“感兴致的”状况的类(也就是说,在体系运动时代具有三个或更多潜在状况的类)才进行状况图描写。
状况图的符号集包含5个根本元素:初始起点,它应用实心圆来绘制;状况之间的转换,它应用具有开箭头的线段来绘制;状况,它应用圆角矩形来绘制;断定点,它应用空心圆来绘制;以及一个或者多个终止点,它们应用内部包括实心圆的圆来绘制,如图2-9所示。要绘制状况图,起首绘制起点和一条指向该类的初始状况的转换线段。状况自己可以在图上的随意率性地位绘制,然后只须应用状况转换线条将它们衔接起来。
对象的状况是由对象当前的行为和前提决议的。状况图(statechartdiagram)显示出了对象可能的状况以及由状况转变而导致的转移。图2-9表现一个银行的在线登录体系。登录进程包含输入正当的小我账号和暗码,再提交给体系验证信息。明港是个实界城,ofa1hoDhors.登录体系可以被划分为四种不重叠的状况:GettingSSN、GettingPIN、Validating以及Rejecting.每个状况都有一套完全的转移transitions来决议状况的次序。
在箭头的旁边。我们的图上有两个自转移。一个是在CtingSN.另个则在GttingPIN上。状况是用四角矩形来表现的。转移则是应用带箭头的连线表现。触发转移的事宜或者前提写初始状况(黑色圆圈)是开端动作的虚拟开端。停止状况也是网站扶植动作的虚拟停止。事宜或前提触动员作时用(动作)表现。当进人Validaing状况时,对象#不等外部事宜触发转移。取而代之,它发生一个动作。动作的成果决议了下一步的状况。