面向对象方法学方程式

对象 + 类 + 继承 + 消息

基本概念

对象:具有相同状态的一组操作的集合。对属性值和操作的封装。

类:对具有相同数据和相同操作的一组相似对象的定义。

类是一个支持继承的抽象数据类型,对象是类的实例.

实例:由某个特定类所描述的具体对象

消息:要求某对象执行在定义它的类中所定义的某个操作的规格说明。

三部分:

  • 接收消息的对象
  • 消息名
  • 0 或多个变元

封装性:数据和操作集中起来放在对象内部。

继承:子类自动共享基类中定义的数据和方法的机制。

  • 提高程序可复用性(接口设计的复用,不是代码实现复用)
  • 派生类的功能可被基类指针引用,提高程序可扩充性和可维护性。

多态性:在类等级不同层次可共享一个方法名,不同层次每个类按各自

需要实现这个方法。

重载:函数重载;运算符重载

与传统方法比较

传统方法:系统是过程的集合;

面向对象方法:系统是交互对象的集合。

面向对象优点

(1)与人类习惯思维方法一致

(2)稳定性好

(3)可重用性好

(4)易开发大型软件产品

(5)可维护性好

UML

全称为Unified Modeling Language 目前最流行的面向对象建模语

必要性

捕获商业流程

促进沟通

管理复杂性

定义软件构架

促进软件复用

面向对象方法的发展

UML 是通用可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。

UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是总结以往建模技术经验并吸收当今优秀成果的标准建模方法。

UML 的形成、定义、优势

1997 年 UML1.1 被对象管理组织 OMG 确定为标准建模语言是软件工程领域最重要的、具有划时代重大意义的事件。 UML 是一种定义良好、易于表达、功能强大且普遍适用的标准的图形化建模语言 , 用它可以简明、准确地为目标系统建立模型 。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。

UML 组成

由视图、图、模型元素和通用机制几部分组成。

视图:从不同角度描述系统,建立多个模型。

图: 一个视图由多张图组成, UML 定义 9 种图。有机结合可形成任何形式视图。

模型元素:图中使用概念(用例、类、对象),统称模型元素。在图中用视图元素(图形符号)表示。

通用机制:通过通用机制为图通过附加信息,如注释、标签值等。

用例视图

定义了系统的外部行为,是最终用户、分析人员和测试人员所关心.该视图定义了系统的需求,因此约束了描述系统设计和构造的某些方面的所有其他视图。

主要元素:用例和执行者。

执行者:描述与系统交互的人或物,代表外部实体(如用户、硬件设备或其它软件系统)

设计视图

描述的是支持用例视图中规定的功能需求的逻辑结构。它由程序组件的定义,主要是类、类所包含的数据、类的行为以及类之间交互的说明组成。

实现视图

描述构造系统的物理组件,这些组件包括如可执行文件、代码库和数据库等内容.这个视图中包含的信息与配置管理和系统集成这类活动有关.

如何建立用例模型

1、发现执行者

发现执行者的原则、实例

谁使用该系统;

谁改变系统的数据;

谁从系统获取信息;

谁需要系统的支持以完成日常工作任务

谁负责维护、管理并保持系统正常运行

系统需要应付那些硬件设各;

系统需要和那些外部系统交互;

谁对系统运行产生的结果感兴趣。

2、发现用例

向执行者提出问题获取用例:

执行者需获取何种功能,需要作什么;

执行者需读取、产生、删除、修改或存储系统中某种信息

系统发生事件和执行者间是否需要通信;

3、确定用例间关系

关系包括四种:泛化、扩展、包含、使用

泛化关系:一般与特殊关系。

扩展关系:允许一个使用案例扩展另一案例提供的功能。

包含关系:一个基本 UseCase 行为包含另一个 UseCase 行为。

使用关系:某个用例使用另外一个用例的功能。