天天看点

《面向对象软件工程》笔记(二)

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1370411

《面向对象软件工程》笔记(二)

 第五章 用类进行建模

OCSF对象客户机-服务器框架

统一建模语言Unified Modelling Language

OMG对象管理组织Object Management Group

1、UML有多种类型的图,包括:

(1)类图:描述类及类之间的关系;

(2)交互图:(包括两种图:顺序图和协作图)通过描述对象之间如何交互来展示系统行为;

(3)状态图和活动图:展示了系统内部是如何运作的;

(4)构件和部署图:展示如何重逻辑上和物理上安排系统的不同构件。

UML的特征:

(1)具有详细的语义,描述各种符号的含义;

(2)具有扩展机制,允许软件设计人员表示非UML核心部分的概念;

(3)它具有相关的文本语言,称为对象约束语言(Object Constraint Language,OCL),用来说明图中元素的各种情况。

UML的目标是为软件开发提供支持。

有几种面向对象的方法,其中一些使用UML表示模型。Rational统一开发过程(Rational Unified Process,RUP)就是这些方法的一个例子。

UML是一种建模语言,用来创建软件系统可视化模型。在软件开发中,模型是至关重要的,它们用来描述和验证软件系统。

(1)模型应该使用标准符号;

(2)模型应该尽可能被客户和用户理解;

(3)模型应该让软件工程师能够洞察整个系统;

(4)模型应该提供抽象。

模型既可以用来帮助创建设计,也可以用来分析和评审这些设计。

2、UML类图的要素

类图描述了软件系统中的数据。

在类图中显示的主要符号有:

(1)类class:表示数据类型本身;

(2)关联association:表示类之间的链接;

(3)属性attribute:是类及其实例中的简单数据;

(4)操作operation:表示类及其实例所执行的功能;

(5)泛化generalization:把类组织成继承层次结构。

3、实例图(instance diagram):给出了存在于程序执行过程中某个特殊点的对象与链接

的配置示例。

类图的高级特征:

(1)聚合(aggregation):是表示”部分-整体“关系的特殊关联。

(2)接口(interface):描述了一组对象中的部分可见行为。

(3)约束、注释和描述性文本

(4)对象约束语言基础

OCL是一种规格说明语言,而非编程语言。

OCL声明仅仅是指定系统中的必须为true的逻辑事实。

OCL本身是不能编译和执行的。

OCL语句也可以用自动代码生成。

类图中的OCL语句可以指定属性值和关联。它们还可以声明操作的前置条件和后置条件。

OCL语句的组成元素:

(1)对角色名称、关联名称、属性和操作结果的引用;

(2)逻辑值真与假;

(3)逻辑操作符;

(4)字符串;

(5)整数和实数;

(6)数学运算。

第六章 使用设计模式

(1)有助于保证类图中关系分离的模式:抽象-发生(Abstraction-Occurrence)模式、观察者(Observer)模式、玩家-角色(Player-Role)模式;

(2)用来创建实例层次的模式:通用层次(General-Hierarch)模式

(3)委托(Delegation)模式;

(4)可以使用委托访问一个或更多其他类的功能的模式:适配器(Adapter)模式、外观(Facade)模式和代理(Proxy)模式;

(5)有助于保护其它对象不会受到预料之外访问的模式:恒定(Immutable)模式和只读接口(Read-Only Interface)模式。

1、模式简介

模式是在特定上下文中遇到的一般性问题的可重用解决方案的概要。

设计模式Design Pattern就是用在建模或设计中的模式。

好的模式应该尽可能通用,包含那些已经被证明能够有效解决指定上下文中问题的解决方案。

模式必须用易于理解的方式来描述。

每个模式都应该有一个名字,还应该具有如下信息:

(1)上下文context:模式应用的一般环境;

(2)问题problem:解释要克服主要困难的一两句话;

(3)约束force:解决问题时要考虑的关系或影响;

(4)解决方案solution:建议使用的解决问题的方法;

(5)反模式antipattern:在此上下文中很差或根本不起作用的模式;

(6)相关模式related pattern:(可选)与本模式相似的解决方案;

(7)参考reference:对开发了或启发该模式的人的致谢。

继续阅读