面向对象=对象(objects)+类(classes)+继承(inheritance)+消息通信(communication with messages)
对象:对象标志(供系统内部唯一的识别对象);属性(状态、数据、用来描述对象的静态特征);服务(操作、行为或方法,用来描述对象的动态特征)
类和类库:类是对象的抽象定义,是一组具有相同数据结构和相同操作的对象的集合。类与对象是抽象描述与具体实例的关系,一个具体的对象被称为类的一个实例(instance)。
继承和多态:过载多态(重载多态),强制多态,包含多态,参数多态。前两种统称为专用多态(特定多态),后两种称为通用多态。
消息通信:消息指向对象发出的服务请求,它应该含有下述信息:提供服务的对象标志、消息名、输入信息和回答信息
UML(Unified Modeling Language,统一建模语言):是一种语言;是一种可视化语言;是一种可用于详细描述的语言;是一种构造语言;是一种文档化语言
UML结构:构造块(建模元素、关系、图);公共机制(规格说明、修饰、公共分类、扩展机制);构架(逻辑视图、进程视图、实现视图、布署视图、用例视图)
UML视图:系统静态结构的静态模型(包括类图、构件图、布署图),系统动态结构的动态模型(包括对象图、用例图、序列图、协作图、状态图、活动图)
用例图:用例模型描述的是外部执行者(Actor)所理解的系统功能,用于需求分析阶段。参与者(Actor)代表与系统接口的任何事物或人,它是指代表某一种特定功能的角色,参与者都是虚拟的概念
用例(Use Case)是对系统行为的动态描述,它可以促进设计人员、开发人员与用户的沟通,理解正确的需求,还可以划分系统与外部实体的界限,是系统设计的起点。
包含和扩展:一种用于重用的包含关系,用构造型《include》(可以从两个或者两个以上的原始用例中提取公共行为,或者发现能够使用一个组件来实现某一个用例的部分功能是很重要的事时,应该使用包含关系)。另一种是用于分离出不同的行为用构造型《extend》(如果一个用例明显地混合了两种或两种以上地不同场景,即根据情况可能发生多种事情。我们可以断定将这个用例分为一个主用例和一个或多个辅用例描述可能更加清晰)
类和对象:类的命名(最顶部的格子包含类的名字);类的属性(中介的格子包含类的属性,用以描述该类对象的共同特点。可见性包括Public、Private、Protected 分别用+-#号表示)类的操作(Operation)
类之间的关系:依赖关系(如果元素A的变化会引起元素B的变化,则称元素B依赖(Dependency)于元素A,用带箭头的虚线表示依赖关系,如:一个类向另一个类发消息;一个类是另一个类的成员)、泛化关系(描述了一般事物与该事物中的特殊种类之间的关系,也就是父类和子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是从父类中继承的,而父类则是子类的泛化,在UML中,使用带空心箭头的实线表示,箭头指向父类)、关联关系(关联(Association)表示两个类的实例之间存在的某种语义上的联系,老师在某学校工作,一个学校有很多间教室,则老师和学校、学校和教室之间有关联关系)(聚合关系表示整体和部分的关系,用一个带空心菱形的实线表示(电脑、显示器);组合关系:如果聚合关系中的表示“部分”的类的存在,与表示“整体”的类有紧密的关系,如公司和部门,则使用组合关系,使用带实心菱形的实线表示)、实现关系(用来规定接口和实现的类或组件之间的关系,接口是操作的集合,这些操作用于规定类或组件的服务,使用一个带空心箭头的虚线表示)
交互图:表示各组对象如何依某种行为进行协作的模型。通常可以使用一个交互图来表示和说明一个用例的行为。顺序图:用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。协作图:用于描述相互合作的对象间的交互关系和链接关系;顺序图着重体现交互的时间顺序,协作图则着重体系交互对象间的静态链接关系。
状态图:用来描述对象状态和事件之间的关系。通常用状态图来描述单个对象的行为。
活动图:表示系统中各种活动的次序,可以用来描述用例的工作流程,也可以用来描述类中某个方法的操作行为。
构件图:(物理建模-构件图、部署图)可以有效的显示一组构件,以及它们之间的关系。构件图通常包括构件、接口,以及各种关系
部署图:也称实施图,构件图是说明构件之间的逻辑关系,而布署图描述系统硬件的物理拓扑结构,以及在此结构上执行的软件
【【【【类图 类图展示了一组类、接口和协作及它们间的关系,在建模中所建立的最常见的图就是类图。用类图说明系统的静态设计视图,包含主动类的类图——专注于系统的静态进程视图。系统可有多个类图,单个类图仅表达了系统的一个方面。要在高层给出类的主要职责,在低层给出类的属性和操作。
对象图 对象图展示了一组对象及它们间的关系。用对象图说明类图中所反应的事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面的因素外,它与类图作用是相同的。
用况图 用况图展现了一组用况、参与者以及它们间的关系。可以用用况图描述系统的静态使用情况。在对系统行为组织和建模方面,用况图的是相当重要的。
交互图 交互图展现了按一定的目的进行的一种交互,它由在一个上下文中的一组对象及它们间交互的信息组成。交互图也可用于描述一个用况的行为。顺序图和协作图都是交互图,顺序图和协作图可以相互转换。
顺序图 展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。
协作图 展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。
状态图 展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系统的动态视图。它对于接口、类或协作的行为建模尤为重要,可用它描述用况实例的生命周期。
活动图 活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤)。它对于系统的功能建模特别重要,强调对象间的控制流程。
高层活动图用于表示需要完成的一些任务,即用于分析用况,理解涉及多个用况的工作流、多线程及并行,显示相互联系的行为整体,还可用于对企业过程建模,对系统的功能建模。低层活动图用于表示类的方法。但活动图不适用于描述动作与对象间的关系,显示对象间的合作以及显示对象在生命周期内的运转情况。
构件图 构件图展现了一组构件之间的组织和依赖,用于对原代码、可执行的发布、物理数据库和可调整的系统建模。
部署图 部署图展现了对运行时处理节点以及其中构件的配署。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。用部署图说明系统结构的静态部署视图,即说明分布、交付和安装的物理系统。
】】】】】
面向对象分析:
OMT(Object Modeling Technique)方法:建立对象模型(确定类和对象、确定结构与关联、划分主题、定义属性、定义服务)、建立动态模型、建立功能模型
用UML进行分析:建立域模型(寻找类、确定类之间的关联、为类添加职责、域模型的详细度)、建立用例模型(用例是什么?用例模型是如何产生的?识别参与者、合并需求获得用例、绘制成用例图、细化用例描述)
面向对象设计
Coad/Yourdon方法:发现类和对象、识别结构、定义主题、定义属性、定义服务。面向对象设计模型需要进一步区分以下四个部分:问题域的设计(属性、服务、类和对象、结构、对象行为);人-机交互界面的设计(交互界面子系统的设计、交互界面子系统和应用之间接口的设计);应用控制的设计;与问题领域有关的设计
Booch方法:在给定的抽象层次上识别类和对象、识别这些对象和类的语义、识别这些类和对象之间的关系、实现类和对象
OMT方法:从三个视角描述系统,相应的提供了三种模型,对象模型、动态模型、功能模型。四个阶段(分析、系统设计、对象设计、实现)
Jacobson方法:不同处在于他涉及整个软件生命周期,包括需求分析、设计、实现和测试等四个阶段。关键是用例,Jacobson将用例模型与其他五种系统模型(领域对象模型、分析模型、设计模型、实现模型、测试模型)关联
2016年5月计算机软件水平考试报名时间专题
[考试动态]2016年2月24日云南2016年上半年计算机软考报名入口
[考试动态]2016年2月24日河北2016年上半年计算机软件水平考试报名时间2月26日至3月14日
[考试动态]2016年2月24日河北省人事考试网河北2016年上半年计算机软件水平考试报名通知
[考试动态]2016年2月24日保定2016年上半年计算机软件水平考试报名时间2月26日至3月14日
[考试动态]2016年2月24日