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

版权声明:本文为博主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:对开发了或启发该模式的人的致谢。


上一篇:《软件测试的有效方法(第2版)》笔记(二)


下一篇:自然语言处理如何检查拼写错误?(Tensorflow实例教程&源代码)