1.对象是指一组属性及这组属性上的相关操作;对象由三部分组成:对象名、属性和操作(方法)

2.是一组具有相同属性和相同操作的对象集合;类由三部分组成:类名、属性和操作(方法)。是否建立丰富的类库是衡量一个面向对象程序设计语言成熟与否的重要标志之一

3.继承是在某个类的层次关联中不同的类共享属性和操作的一种机制。继承是面向对象方法区别于其他方法的一个核心思想。

4.封装的基本单位是对象,封装的三大优点:能减少耦合类内部能实现自由改变有一个更清楚的接口

5.消息是对象间通信的手段,一个消息通常包括接收对象名、调用的操作名和适当的参数

6.多态性是指同一个操作作用于不同的对象时产生不同的执行结果。

7.构件(组件)是一个功能相对独立的具有可重用价值的软件单元,其特点是可重用性。在面向对象方法中,一个构件由一组对象构成,包含了一些协作的类的集合,它们共同工作来提供一种系统功能。

8.面向对象分析常用方法:1Coad/Yourdon方法(1990年提出的)2Booch方法;3OMT方法;4OOSE(以用例代取数据流图)5UML(统一建模语言,是可视化语言,可用于详细描述的语言构造语言一种文档化语言。

9.UML构架:UML架构几个视图的记忆作用,逻辑视图是最低的是类和对象的集合。进程视图是线程和进程相关的。实现视图是物理代码和组件建模,已经到组件了,层次有点高,呵呵。部署视图是组件部署到物理的、可计算节点上,组件部署。用例视图:已经开始用例,到了需求分析了。

l祼”:逻辑视图:类和对象的集合

l”:实现视图(构造视图):基于物理代码和组件进行建模。

l”:部署视图:把组件部署到一组物理的、可计算节点上

l”:用例视图:需求分析模型

l”:进程视图:可执行线程和进程作为活动类的建模。逻辑视图的一资执行实例

10.UML中的类图关系总结:

l依赖:可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A;表现在代码层面,为类B作为参数被类A在某个method方法中使用:比如在用户登录时用户类(User)调用系统中的加解密类的加密静态方法(EncryptAndDecryptUtil.encrypt)对用户输入的密码就行加密,而后与数据库存储的密文密码就行比对。此时UserEncryptAndDecryptUtil之间的关系就是依赖。

l关联:它体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;如J2EE开发中的ActionService的关系,ActionService关系是长期性的,必然的

l聚合:聚合是关联关系的一种特例,体现的是整体与部分、拥有的关系,即has-a的关系,但此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分

l组合:组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分。

对于继承和实现这两种比较简单,在这就不再做介绍。

小结:从代码层面看只要一个类中包含了另一个类那么它们间就存在关系,因为这个类的行为需要另一个类的某个属性或某个属性才可以实现。但是人为的对此进行了区分,就像把按照年龄这个维度将“人”区分为“婴儿、小孩、少年、青年、中年、老年”等。通过“关系紧密程度”的维度将其又区分为了“依赖、关联、组合、聚合”等。

按照关系紧密程度有强到弱分别为:组合>聚合>关联>依赖。

11.箭头指向的总结:

l组合、聚合关系:AB组成,指向B

l依赖关系:A使用B的方法,指向B

l关联关系:AB关联,指向B

12.类之间的关系(容易考归类,选择题):

l依赖关系:有两个元素AB,如果元素A的变化会引起元素B的变化,则称元素B依赖于元素A。(独立元素)spacer.gif(依赖元素)

l泛化关系:描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承泛化关系的反关系。(子元素)spacer.gif(父元素)

l关联关系:表示两个类的实例之间存在的某种语义上的联系。spacer.gif

l实现关系:是用来规定接口和实现接口的类或组件之间的关系。spacer.gif

spacer.gif

13.UML系统静态结构的静态模型:对象图、复合结构图、构件图、包图、部署图、类图(对付狗包不累)

l类图:描述类与类之间的静态关系。它不仅现实了信息的结构,同时还描述了系统的行为。类图是面向对象建模中最重要的模型。

l对象图UML中的对象图与类图巨头相同的表达形式。对象图可以看做是类图的一个实例。

l构件图:是面向对象系统的物理方面进行建模时要用的两种图之一。它可以有效的现实一组构件,以及它们之间的关系。

l部署图:描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。

UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化,它们分别是:

类图。类图显示了一组类、接口、协作以及它们之间的关系。在面向对象系统建模中类图是最常用的图,用于说明系统的静态设计视图。

对象图。对象图显示了一组对象以及它们之间的关系。用对象图说明在类图中所发现的事物实例的数据结构和静态快照。

构件图。构件图显示了一组构件以及它们之间的关系。用构件图说明系统的静态实现视图。

部署图。部署图显示了一组节点以及它们之间的关系。用部署图说明体系结构的静态实施视图。

14.UML系统动态结构的动态模型:用例图、活动图、交互概要图、定时图、制品图、顺序图、通信图、状态机图(用活交通定制,顺(序)撞)

l用例图:用例实例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果。一个用例定义一组实例。它确定了一个和系统参与者进行交互、并可由系统执行的动作。参与者代表与系统接口的任何事物或人,它是指代表某一种特定功能的角色,参与者都是虚拟的概念。用例是对系统行为的动态描述。

l活动图:用来表示系统中各种活动的次序,它的应用非常广泛,既可用来描述用例的工作流程,也可以用来描述类中某个方法的操作行为。

l状态图:用来描述对象状态和事件之间的关系。

l交互图:表示各组对象如何依赖某种行为进行协作的模型。

l顺序图:用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。

l协作图:用于描述相互合作的对象间的交互关系和链接关系。

15.用例模型是系统功能和系统环境的模型,它通过对信息系统的所有用例、用户以及用例和用户之间的交互进行描述,表达了系统的功能性需求,可以帮助客户、用户和开发人员在如何使用信息系统方面达成一致的认识。用例是贯穿整个系统开发的一条主线,同一个用例模型既是需求工作流程的结果,也是分析设计工作以及测试工作的前提和基础。

16.UML(统一建模语言)是一种用来对软件密集系统进行可视化建模的语言,是一种为面向对象开发系统的产品进行说明、可视化和编制文档的标准语言。它是一种建模语言,不是一种方法,它本身独立于过程的,可以在使用过程中使用它。

17.面向对象分析的主要目标:1描述用户需要;2建立创建软件设计的基础;3定义软件完成后可被确认的一组需求。

18.统一软件开发过程(RUP)是一种“过程方法”,它是迭代模型的一种具体实现,是使用面向对象技术进行软件开发的最佳实践。RUP6个基本实践经验:1、迭代式开发。2、需求管理。3、使用以组件为中心的软件架构。4、可视化软件建模。5、验证软件质量。6、控制软件变更。

19.UML规范提供了用例之间包含(include)、扩展(extend)和泛化(generalization)等3种相关性的关系。抽象用例是从几个执行相同功能步骤的用例中,将公共步骤提取而成的独立用例,它代表某种形式的“复用”,是降低用例之间冗余的一种工具。在UML的用例图上,将使用之间的这种关系标记为扩展关系。

20.在面向对象系统建模过程中,通常用概念模型来详细描述系统的问题域。类图用于描述系统的静态结构化设计,用于表示概念模型。

21.封装是一种信息隐蔽技术,其目的是把类中的数据同函数组合在一起,根据情况赋予外部对类内数据和函数有publicprotectprivate之一的存取权限,以达到共享和隐藏类的数据和函数的目的。类是对象的模板,对象是类的一个实例(Instance

22.软件架构为软件系统提供了一个结构、行为和属性的高级抽象,并由构成系统的元素的描述和元素的相互作用、元素集成的模式,以及这些模式的约束组成。

23.软件架构设计的总体目标是:最大化复用、复杂问题简单化、灵活的扩展性。

24.基于软件架构的设计方法(ABSD)是体系结构驱动。ABSD方法是一个自顶向下、递归细化的过程,且迭代的每一个步骤都是清晰定义的。

25.软件体系结构的研究内容包括(但不限于):1、软件体系结构分析、设计及验证。2、软件体系结构描述语言及工具。3、软件体系结构风格。4、特定领域的体系结构。5、软件体系结构的评估等。

26.在进行体系结构评估时,通常要先精确地得出具体的质量目标(例如可靠性、易修改性和效率等)。并以之作为判定标准该体系结构优劣的标准。

27.WEB Service的主要目标是跨平台的互操作性,适合使用Web Service的情况有(但不限于):1、跨越防火墙。2、集成不同语言编写的在不同平台上运行的应用程序。3、跨公司业务集成(即B2B集成)。4、软件重用等。

28.在某些情况下,Web服务也可以会降低应用程序的性能。不适合使用Web Service的情况包括(但不限于):1、构建单机应用程序(使用本地API即可)。2、局域网上的同构应用程序(直接通过TCP等调用会更有效)等。

29.J2EE应用服务运行环境包括构件(Component)、容器(Container)和服务(Service)。

30.计算机的四类数据环境是:文件环境(不使用数据管理系统)、应用数据库环境(使用数据管理系统)、主题数据库环境(数据库的建立基本独立于具体应用)和信息检索系统环境(为自动信息检索、决策支持和办公自动化而设计,数据动态变化)。

31.Web Service是一种利用SOAP可在Internet互相访问的组件技术,XMLWeb Service平台中的一种数据格式。

32.数据仓库系统的结构通常包含数据源、数据的存储与管理、联机分析处理(OLAP)服务器,以及前端分析工具等四个层次。

33.J2EE模型中,中间层的业务功能通过EJB构件实现,使用JSP实现业务逻辑处理结果的动态发布,构成动态的HTML页面;中间层也可以使用Servlet实现更为灵活的动态页面。