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

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1370411 《面向对...
版权声明:本文为博主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:对开发了或启发该模式的人的致谢。


目录
相关文章
|
7月前
|
算法 数据安全/隐私保护 C++
【软件设计师备考 专题 】程序设计的核心:结构化程序设计与面向对象程序设计(一)
【软件设计师备考 专题 】程序设计的核心:结构化程序设计与面向对象程序设计
105 0
|
7月前
|
SQL 算法 测试技术
【软件设计师备考 专题 】程序设计的核心:结构化程序设计与面向对象程序设计(二)
【软件设计师备考 专题 】程序设计的核心:结构化程序设计与面向对象程序设计
129 0
|
4月前
|
算法 安全 uml
【 第十三章】软件设计师 之 面向对象程序设计
软件设计师 之 面向对象程序设计备考资料
【 第十三章】软件设计师 之 面向对象程序设计
|
7月前
|
程序员 C语言 C++
C++ using:软件设计中的面向对象编程技巧
C++ using:软件设计中的面向对象编程技巧
105 0
|
算法 安全 测试技术
软件工程基础知识
软件工程是一门关于软件开发过程、方法和工具的学科,它旨在提高软件开发的效率和质量,以满足用户需求和市场需求。软件工程涉及到软件开发的各个方面,包括需求分析、设计、编码、测试、维护等环节。本文将介绍软件工程的基础知识,包括软件开发生命周期、软件过程模型、软件需求工程、软件设计和软件测试等方面。 一、软件开发生命周期 软件开发生命周期是指软件从需求分析到维护的整个过程,它包括以下几个阶段: 1. 需求分析阶段:在这个阶段,软件开发人员与用户沟通,了解用户需求和系统需求,确定软件开发的目标和范围。 2. 设计阶段:在这个阶段,软件开发人员根据需求分析的结果,设计软件的架构、模块、接口等,确定
132 0
|
测试技术
48【软件工程】面向对象开发全面总结
面向对象开发(OOP)是一种重要的编程范式,它将现实世界中的事物抽象成程序中的对象,通过对象之间的交互实现系统的功能。本文将全面介绍面向对象开发的含义、原则、基本原则、方法等方面的内容,帮助读者更好地理解和应用面向对象开发方法,提高代码的可维护性、可扩展性和可重用性。
196 0
|
程序员 测试技术 C语言
c++面向对象程序设计入门
c++面向对象程序设计入门
160 0
面向对象程序设计-第一章:面向对象程序设计基础
面向对象程序设计-第一章:面向对象程序设计基础
186 0
面向对象程序设计-第一章:面向对象程序设计基础
|
敏捷开发 运维 数据可视化
软件工程基础知识总结
简单来说就是多人参与、有计划有步骤的构造一个符合质量标准的软件产品,这个过程称之为软件工程。我们都知道,参与人越多、产品越复杂、流程越繁琐,最终构造的软件产品就越可能出现问题。
软件工程基础知识总结
面向对象程序设计-第二章
面向对象程序设计-第二章
52 0
面向对象程序设计-第二章

热门文章

最新文章