面向对象分析与设计考试重点集合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
状态图通常是对类描述的补充;说明该类的对象所有可能的状态,以及哪些事件将导致状态的改变。状态图描述了对象的动态行为,是一种对象生存周期的模型。 一个状态图包括一系列的状态以及状态之间的迁移
状态图中定义的状态有:初态、终态、中间状态、组合状态、历史状态等
一个状态图只能有一个初态,而终态可以有多个,也可以没有终态。
事件名可以是包括三个标准事件(entry, exit 不能被中断, do )在内的任
何事件延迟事件是指在当前状态下暂不处理,但将推迟到该对象的另一个
状态下排队处理的事件。用特殊的动作defer 表明一个事件被延迟:
画状态图的步骤⑴列出对象具有的所有状态2标识导致状态转换的事件
⑶为状态和迁移定义状态变量和动作//当一个对象接收到某个事件时,会导致从一个状态转换到另一个状态,称为状态迁移//引起状态迁移的原因通常有两种: (1) 当标在迁移箭头上的事件出现时会引起状态的迁移。(2)状态迁移被自动触发//状态迁移的语法如下:事件 [条件] / 动作表达式 说明:●事件:指已发生并可能引发某种活动的一件事;●[条件]:由方括号围起的关系或逻辑表达式;●动作表达式:一个触发状态迁移时可执行的过程表达式; 事件是指已发生并可能引发某种活动的一件事 //在图间的消息箭头有两种画法:1.从表示源对象的状态图中的状态迁移上画虚线箭头到表示目标对象的状态图的边框上;2.在两个状态图的边框间画虚线箭头,表示源对象在其执行期间的某时刻发送该消息。//子状态(substate)是嵌套在另一状态中的状态。
一个含有子状态的状态被称作组合状态//从源状态可以转移到
组合状态本身,也可以直接转移到组合状态中的子状态。//子状态之间可分为“or ”关系和
“and ”关系两种。“or ”关系说明在某一时刻仅可到达一个子状态,“and ”关系说明组合状态中在某一时刻可同时到达多个子状态。//历史指示器用来记忆内部的状态,用里面标有H 字母的圆圈表示。历史状态意义:使用历史状态,可以记住从组合状态中退出时所处的子状态,当再次进入组合状态时,可直接进入到这个子状态,而不是再次从组合状态的初态开始 H 和H*的区别:H 只记住最外层的组合状态的历史。H*可记住任何深度的组合状态的历史。
静态分析呈现如何定义对象以及对象之间的关系,不能揭示对象之间如何交互。//动态分析呈现出系统如何对来自于使用者的行动、请求作出反应,并呈现出消息的传递和对象之间的交互//顺序图表示问题域中对象之间的交互过程;重点放在描述一个用例执行过程中,参与该用例的对象之间传递消息的先后顺序,强调消息传递的时间性。//顺序图的4个基本元素: 对象(Object )生命线(Lifeline )消息(Message )激活(Activation//生命线 是一条垂直的虚线;表示顺序图中的对象在一段时间内的存在;每个对象的底部中心的位置都带有生命线。 生命线是一个时间线从时序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。 对象与生命线结合在一起称为对象的生命线//消息是两个对象之间的单路通信,从发送方到接收方的控制信息流。消息可以是信号,也可以是调用//同步消息前面提到的消息是指同步的消息(Synchronous Message )。同步消息是指当消息一旦被启动,则只有等到激活结束之后,返回消息才会传送给呼叫者。异步消息表示为一条带有箭头直线。异步消息是一旦启动
之后,会立刻返回呼叫者,呼叫者会接着执行接下来的动作,而不会等待消息的回传。激活(Activation)表示该对象被占用以完成某个任务去激活——则指对象处于空闲状态、在等待消息。//当描述一些列的互动过程时,一些特定的步骤可能需要满足某些条件才会继续执行,或者必须使用循环来处理某个集合中的元素,这些片段称为交互片段//组合片段定义了交互片段的表达式(Expression)。因此,组合片段包含两部分:交互算子(Interaction Operator),由简单的英文字母组成;交互运算元(Interaction Operand),包含一个或多个交互片段。//Opt只有当条件成立时,才执行单一运算元。类似于程序设计语言中的:if (…) then …。//alt表达多种选择,当条件成立时,执行相关的运算元。类似于:if…else if…Loop用于表示循环,被包含的交互运算元会被执行多次loop的条件表达式表示为:minint, maxint [条件],或者是[for each 对象]。//Break用于跳出循环;一般会在break后面加上条件,当条件为真时,被包含的运算元会被执行。
Hibernate配置文件(hibernate.cfg.xml)Hibernate的映射声明(*.hbm.xml)集合映射、组件映射//Hibernate配置文件(hibernate.cfg.xml)主要用于配置数据库连接和Hibernate 运行时属性Hibernate配置文件可以有两种格式:hibernate.propertieshibernate.cfg.xml //jdbc.fetch_size 和jdbc.batch_size两者影响Hibernate的CRUD(create,read,update,delete)性能!//映射文件*.hbm.xml描述POJO 类和关系数据库之间的映射通过POJO 类的数据库映射文件,Hibernate可以理解//主键生成策略generator 可选的
类之间可以建立四种关系:关联、依赖、聚合和泛化。//多重性(mutiplicity)用来指示一个类的多少对象与另一个类的一个对象相关。//关联和属性在类关联和类属性之间存在紧密的联系。源类和目标类之间的关联意味着源类的对象能够承载到目标类对象的引用。//依赖关系是指一个类的元素使用了另一个类。依赖关系描述类之间的引用关系//泛化关系是描述类之间的继承关系。利用泛化来表达类之间的相似性//聚合聚合用来描述两个类之间的整体—部分关系。在聚合中,部分类可以没有整体类而存在。//组合是一种特殊的聚合关联。在组合关联中用来组成整体类的部分类不能独立存在。整体类由部分类组成,部分类需要整体类才能存在。这种关系意味着销毁整体类将会同时销毁部分类。//抽象类
如果一些具体类具有相同的方法或属性,我们可以把这些相同的方法或属性从这些具体类抽取出来,把它们封装到一个抽象类中,然后,通过扩展抽象类,重新定义这些具体类。抽象类是一种不能直接实例化的类,也就是说不能用抽象类创建对象。//接口是一种类似于抽象类的机制,接口中的方法都是抽象方法。