软考中级系统集成项目管理 (5)面向对象系统分析与设计
1) 面向对象系统分析与设计
① 对象:
由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。对象是由一组属性和对这组属性进行的操作构成的。
② 类:
实体的形式化描述。类将该实体的属性(数据)和操作(函数)封装在一起。
③ 抽象:
通过特定的实例抽取共同特征以后形成概念的过程。抽象是一种单一化的描述,强调给出与应用相关的特性,抛弃不相关的特性。对象是现实世界中某个实体的抽象,类是一组对象的抽象
④ 封装:
将相关的概念组成一个单元模块,并通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
⑤ 继承:
表示类之间的层次关系(父类和子类),使得某类对象可以继承另外一类对象的特征,继承分为单继承(java)和多继承(C++)
⑥ 多态:
使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态使得某个属性或操作在不同的时期可以表示不同类的对象特性。
⑦ 接口:
描述对操作规范的说明,其只说明操作应该怎么做,并没有定义操作如何做。可以将接口理解为类的一个特例,它规定了实现此接口的类的操作方法,细节由实现该接口的类去完成。
⑧ 消息:
体现对象间的交互,通过它向目标对象发送操作请求。
⑨ 组件:
表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。组件应当是内聚的,并具有相对稳定的公开接口。
⑩ 复用:
指将已有的软件及其有效成分用于构造新的软件或系统。组件技术软件复用实现的关键。
⑪ 模式:
描述了一个不断重复发生的问题,以及该问题的解决方案。其包括特定环境、问题和解决方案三个部分组成,应用设计模式可以更加简单和方便地去复用成功的软件设计和架构,更快更好地完成系统设计。
2) 类和对象的关系:
① 类是对象的集合,对象是类的一个实例。Eg:动物是个类,狗啊猫啊是动物这个类的实例。
② 每个对象都是某一个类的实例
③ 每一个类在某一时刻都有零或更多的实例
④ 类是静态的,对象是动态的,可以被创建和删除
⑤ 类是生成对象的模板
3) 统一建模语言(UML):
用于对软件进行可视化描述、构造和建立软件系统的文档。
UML9
① 用例图
② 类图
③ 对象图
④ 组件图
⑤ 部署图
⑥ 状态图
⑦ 序列图
⑧ 协作图
⑨ 活动图
RUP
是使用了面向对象技术进行软件开发的最佳实践之一,对关键开发活动提供了准则、模板、工具等。
面向对象系统分析的模型由用例模型、类-对象模型、对象-关系模型和对象-行为模型。
面向对象的系统设计阶段对分析阶段给出的问题域模型,用面向对象方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。设计阶段主要包括用例设计、类设计和子系统设计等。
类之间的主要关系:
① 关联关系
② 依赖关系
③ 泛化关系
④ 共享聚集
⑤ 组合聚集
⑥ 实现关系