1.面向对象的基本含义
所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性,来认识、理解、刻划客观世界和
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
、构建相应的软件系统。
2.多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。
多态性是一种特性,这种特性使得一个属性或变量在不同的时期可以表示不同类的对象。在一个接口后面隐藏了许多不同的实现
3.覆盖(overriding)和重载(overloading)
覆盖(overriding):是指在子类中重新定义与父类同名的方法。
重载(overloading):是指在同一个类中定义的几个操作或操作符都具有相同的名字。
4.接口(Interface)的概念:
所谓接口就是对操作规范的说明。通俗地说,接口只是说明函数应该做什么(What),但没有定义函数如何做(How)。
5.UML的主要包括3种构造块(Building Blocks):
1)事物(Things):
构成模型图的一些基本图示符号,它们表示一些面向对象的基本概念。
2)关系(Relationships):
表示基本图示符号之间的关系。
3)图(Diagrams):
特定的视角对系统所作的抽象描述。
事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。
6.在UML中有4种事物:
- 结构事物Structural thing:
class, interface, collaboration, use case, active class, component, node
- 行为事物Behavioral thing
interaction, state machine
- 分组事物Grouping thing
package, subsystem
- 注释事物Annotational thing
note
7.协作(collaboration):协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其它元素构成的群体,这些协作行为大于所有元素的各自行为的
总和。因此,协作有结构、行为和维度。
8.交互(ineraction):交互是这样一种行为,他由在特定语境中共同完成一定特定任务的一组对象之间交换的消息组成。一个对象群体的行为或单个操作的行为可用一个交互来描述。Interaction 涉及一些其他元素,包括消息、动作序列(由一个消息所引起的行为)、links (对象间的连接)。
9.在UML中有4种关系:
-关联Association描述了两个或多个类之间的结构性关系。
-依赖Dependency An dependency is a semantic relationship between two things in which a change to one thing (the independent thing) may affect the semantics of the other things (the dependent thing ).
-泛化Generalization泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为。
-实现Realization 实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。
10.UML有用于描述如下事物的语义规则:
•命名 为事物、关系和图起名
•范围 给一个名称以特定含义的语境
•可见性 怎样让其他人使用或看见名称
•完整性 事物如何正确、一致地相互联系
•执行 运行或模拟动态模型的含义是什么
11.UML中有4种贯穿整个语言且一致应用的公共机制:
1) 详述 UML的详述提供了一个语义底版,它包含了一个系统的各模型的所有部分,并且各部分相互联系,并保持一致。因此,UML的图只不过是对底版的简单视觉投影,每一个图展现了系统的一个特定的方面。
2) 修饰 UML表示法中的每一个元素都有一个基本符号,可以把各种修饰细节加到这个符号上。
3) 通用划分 类/对象二分法,接口/实现二分法。
4) 扩展机制 对UML图示符号的扩展。包括:
-构造型Stereotype 新构造块建模
-标注值Tagged value 新属性建模
-约束Constraint 新语义规则建模
12.UML 预定义了6种可应用于关联关系的约束:
1) 隐式implicit - 表示关系不是显式的,而仅是概念性的。
2) 有序ordered - 表示关联一端的对象集是显式有序的。
3) 可变changeable - 可以自由增加、移动和改变对象之间的链(links)。
4) 只增addOnly - 可以从关联另一端的一个对象增加新的链。
5) 冻结frozen - 一旦从从关联另一端的对象增加了一个链,就不能对它修改或删除。
6) 或or - 表示在一组关联中,对每个关联的对象只能有一个显式的关联。
13.UML 预定义了4种可应用于泛化关系的约束:
1) 完全complete 2) 不完全incomplete 3) 互斥disjoint 4) 重叠overlapping
*14.UML应用的三要素,工具、过程、表示法。
*15.UML应与软件工程过程相结合,典型的软件过程的特点:用况驱动的、以软件构架为中心的、迭代的。
*16.一种典型的软件架构的表示:4+1 View
用例视图:从系统外部的操作者的角度来描述系统需求。
逻辑视图:描述系统内部的静态结构和动态行为,即从内部描述如何设计实现系统功能。
实现视图:系统的物理实现,描述系统由哪些程序构件所组成。
进程视图:描述系统运行时的架构,强调并发系统中存在的各种通信和同步问题。
实施视图:描述系统的拓朴结构,描述系统的软件与各种硬件设备之间的配置关系。
17.UML预定义了17个依赖的构造型(stereotyped dependency),可分成六组:
(一) 类图中8种
1)绑定bind - 表明源对目标模板使用给定的实际参数进行实例化。
2) 导出derive - 表明可以从目标计算出源。
3) 友元friend - 表明源对目标的特定可见性。
4) 的实例instanceOf - 表明源对象是目标类元的一个实例。
5)参数 parameter –表明操作与参数的关系。
6) 强类型powertype - 表明目标是源的强类型;强类型是一个类元,其对
象都是一个给定父类的子类。
7) 精化refine - 表明源比目标处于更精细的抽象程度上。
8) 使用use - 表明源元素的语义依赖于目标元素的公共部分的语义。
(二)包之间的2种依赖
1) 访问access - 表明源包有权引用目标包中的元素。
2)引入import - 是一种访问,它表明把目标包的公共内容加入到源包的命名
空间(好像这些内容已被声明在源包中)。
(三) 用例之间的2种依赖
1) 延伸extend - 表明目标用况延伸了源用况的行为。
2)包含include - 表明源用况在其指定的位置上显式地合并了另一个用况的
行为。
(四) 对象交互建模之间的3种依赖
1) 变成become - 描述了目标对象与源对象是相同的,但在后续的时间点上
属性值、状态或角色可能会不同。
2) 调用call - 表明源操作调用目标操作。
3) 复制copy - 表明目标对象是源对象的精确复制,但目标对象是独立的。
(五) 状态机中的1种依赖
1) 发送send - 表明源操作向目标发送事件。
(六) One stereotype is in the context of organizing the elements of your system into subsystem.
1) 跟踪trace - 表明目标是源的历史上祖先。
18.Associations, Aggregation, & Composition
Ø Association:
- An object of class A holds a semi-permanent reference to an object of class
B, with no containment semantics.
Ø - Example: Book(s) have author(s).
Ø Aggregation:
- Instances of class B exist independently of object A, but object A maintains
knowledge of specific instance(s) of class B; used for collections and weak
part/whole relations.
Ø - Examples: A bookshelf holds a collection of books.
Ø Composition:
- Object B is part of object A, such that B is created when A is created, and B is
destroyed when A is destroyed. B has no existence other than as a part of A.
- Example: A book is composed of its pages and cover.
19.关联与依赖、泛化的比较
依赖是对表示了不同重要级别的类建模,依赖是使用关系。
泛化是对表示了不同抽象级别的类建模,泛化是“is a kindof”关系。
关联是对相互同等的两个类建模,关联描述了类的对象间相互作用的结构路径。
关联的数据驱动观点: 对于每一对类,如果需要从一个类的对象到另一个类的对象导航,就要在这两个类之间说明一个关联。
关联的行为驱动观点: 对于每一对类,如果一个类的对象要与另一个类中不作为其操作的参数的对象相互交互,就要在这两个类之间说明一个关联。
20.构件图的主要作用
1) Modeling Source Code
2) Modeling an Exectable Release
3) Modeling Tables,Files,and Documents
4) Modeling an API
21.节点(Node)是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个构件集合一般来说位于一个节点,但有可能从一个节点转到另一个节点。
22.实施图的主要作用
1) Specify the distribution of processes/components
2) Identify performance bottlenecks
23.UML 预定义了5种可应用于包的构造型:
1) 虚包facade - 描述一个包只是其他一些包的视图。
2) 框架framework - 描述一个主要由模式组成的包。
3) 桩stub - 描述一个作为另一个包的public内容代理的包。
4) 子系统subsystem - 描述一个表示被建模的整个系统的一个独立部分的包
5) 系统system - 描述一个表示被建模的整个系统的包。
24.链指明了一个对象向另一个对象(或自身)发送消息的路径。多数
时候,这样标定一个路径的存在就足够了。如果需要更精细地表示路径
是如何存在的,可以将链的端点用以下标准构造型修饰:
- 关联association: 说明对应的对象通过关联是可见的。
- 自身self: 说明对应的对象因为是本操作的调遣者(dispather),
所以是可见。
- 全局global: 说明对应的对象在全局范围内可见。
- 局部local: 说明对应的对象在局部范围内可见。
- 参数parameter: 说明对应的对象因为是一个参数,所以是可见。
25.转换transition
一个转换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。
一个转换由5部分组成:
1) 源状态source state
2) 事件触发event trigger
3) 监护条件guard condition
4) 动作action
5) 目标状态target state
26.历史状态允许一个组合状态包含顺序子状态,以记住来自组合状态的转换之前的最后活动着的子状态。
27.活动图的几个基本要素
Ø 活动状态Action states:represent the execution of an
activity or step within the flow of events.
Ø 活动状态之间的转移transitions
Ø 判断decisions: 一种表示判断决策的特殊活动
Ø 保证条件guard conditions: 只有保证条件为真时转移才
发生。
Ø 同步条synchronization bar: 一种表示活动之间的同步的
特殊活动,
Ø 起点和终点:起点有且只有一个,终点可有一个或多个。
28.所谓泳道技术,是将活动用虚线分成一些纵向区域,这些纵向区域称为泳道。每个区域代表一个特定类,或者人,或者部门的责任区。
Ø 泳道技术是活动图中引入的一种面向对象机制。可为提取类及
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
各个对象之间的交互提供方便。
29.用例之间的关系:什么是延伸extend?什么是包含include?二者有什么区别?请举例说明。
30.假设一车队要建立一个车辆维修及管理系统(carms),已知各种机动车辆均由车身、发动机、传动系统、制动系统、照明系统等组成。客车可能配有空调系统和音响系统,而货车可以加挂拖车。Carms关系所辖各种车辆的各个主要系统的工作状况(1∽5级评分)、维修记录(维修日期、修理或零件更换情况、费用、维修人员等)以及车辆的一些基本信息,包括品牌、厂商、购买日期、载重量、乘客数等,各个车辆上的各种系统均可能被更换。有关车辆的各种数据可以被输入、修改、统计和打印等。
如采用面向对象的方法分析该系统,依据上述说明回答下列问题:
(1) 请列出系统中涉及到的对象。
(2) 指出哪些对象之间存在着“一般与特殊”的关系,哪些是“部分和整体”的关系。
(3) 作为一个简易示范系统,请给出一个设计方案:绘制一个类图,并对图中的各种成分分别给出简要说明。
31.将下面的协作图转换为顺序图。
转换完的顺序图为: