●面向对象的基本概念
基本概念:对象、类、抽象、封装、继承、多态、接口、消息、组件、模式、复用。
对象3要素:对象标识、对象状态、对象行为。
类的数据(属性)表现类静态方面;类的函数(功能)表现类动态方面。
类和对象的关系:每个对象都是某一个类的实例;每个类有零或多个实例;类是生成对象的模
板;类是静态的,它的存在、语义和关系在程序执行前就已经定义好了,对象是动态的,它在
程序执行时可以被创建和删除。
继承表示类之间的关系,可分为单继承和多继承。Java是单继承语言,C++是多继承语言。
多态是一种方法,使得多个类中可以定义同一个操作或属性名,并在每个类中都有不同的实
现。
接口是对操作规范的说明,定义操作应该做什么,没有定义操作如何做,即没有定义实现细
节。
消息是对象间的交互手段。
组件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个功能),并提供了一
组接口的实现方法。组件应利于复用,同时提供公共特性和可变特性。
模式是一条由3部分组成的规则,表示了一个特定环境、一个问题、一个解决方案之间的关
系。每个模式描述了一个重复发生的问题,以及该问题的解决方案。
●统一建模语言UML与可视化建模
统一建模语言(UML,UnifiedModelingLanguage)是一个通用的可视化建模语言,它是面向
对象分析和设计的一种标准化表示,用于对软件进行描述、可视化处理、构造和建立软件系统
的文档。
UML描述了系统的静态结构和动态行为,它将系统描述为一些独立的相互作用的对象,构成为
外界提供一定功能的模型结构。静态结构定义了系统中重要对象的属性和服务;动态行为定义
了对象的时间特性和对象为完成目标而进行相互间通讯的机制。
UML不是一种可视化的程序设计语言,是一种可视化的建模语言。UML没有定义一种标准的
开发过程,但它比较适用于迭代式的开发过程,是为支持面向对象的开发过程设计的。
●面向对象系统分析
面向对象的系统分析指运用面向对象的方法分析问题域,建立基于对象、消息的业务模型,形
成对客观世界和业务本身的正确认识。
面向对象的分析模型由用例模型、类-对象模型、对象-关系模型、对象-行为模型组成。
(1)用例模型描述用户和系统间的交互;
(2)类-对象模型描述系统涉及的全部对象和类;
(3)对象-关系模型描述对象间的静态关系;
(4)对象-行为模型描述系统的动态行为。
●面向对象系统设计
面向对象的系统设计指用分析阶段给出的问题域模型,用面向对象的方法设计出软件基础架构
(概要设计)和完整的类结构(详细设计),以实现业务功能。
面向对象设计阶段:用例设计、类设计、子系统设计。
●软件体系结构定义
软件架构定义:将软件系统划分为多个模块,明确各模块间的相互作用,组合起来实现系统的
全部特性。
软件架构不仅确定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统各要素间的对
应关系,提供了一些设计决策的基本原则。
●典型体系结构
软件架构设计的一个核心问题是能够使用重复的架构模式,能否达到架构级的软件复用。
常见的架构模式:
管道/过滤器模式;面向对象模式;事件驱动模式;分层模式;知识库模式;C/S模式;
●软件体系结构设计方法
软件架构设计是动态的,初期的设计并不能完全确定下来,和建筑设计不同。
架构设计的目标:最大化复用;复杂问题简单化(这也是中间件和多层技术的根本目标);灵
活的扩展性;
●软件体系结构分析与评估
软件架构设计注意事项:关系数据库优于对象数据库,前者成熟,多厂商支持,后者技术先
进;用户界面选择使用HTML(HTTP);灵活性与性能考虑,即考虑独立于厂家方案还是单
厂家方案;选择成熟的技术可以规避项目风险;聘请经验丰富的架构设计师。
●软件中间件
中间件(Middleware)用来解决分布系统的异构问题。中间件是位于硬件、操作系统等平台和
应用之间的通用服务,这些服务有标准的程序接口(API)和协议。
中间件的分类:
数据库访问中间件(ODBC-Windows;JDBC-Java);远程过程调用中间件(RPC);面
向消息的中间件(MOM);分布式对象中间件(CORBA;EJB;DCOM);事务中间件
(TPM);