面向对象方法学
面向对象方法学方程式
对象 + 类 + 继承 + 消息
基本概念
对象:具有相同状态的一组操作的集合。对属性值和操作的封装。
类:对具有相同数据和相同操作的一组相似对象的定义。
类是一个支持继承的抽象数据类型,对象是类的实例.
实例:由某个特定类所描述的具体对象
消息:要求某对象执行在定义它的类中所定义的某个操作的规格说明。
三部分:
- 接收消息的对象
- 消息名
- 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 行为。
使用关系:某个用例使用另外一个用例的功能。