面向对象系统分析与设计之软件架构和UML

先来了解一下什么是UML?

        统一建模语言(Unified Modeling Language, UML)用于对软件进行可视化描述、构造和建立软件系统的文档。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具。是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。

一、UML的应用

1、各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具。

2、适合用于迭代式的开发过程,是为支持大部分现存的面向对象开发过程而设计的,强调在软件开发中对架构、框架、模式和组件的中用。

二、UML的特点

1、一种可视化的建模语言,而不是编程语言。

2、不是过程,也不是方法,但允许任何一种过程和方法使用它。

三、UML中的RUP模型

1、一种过程方法,它属于迭代模型的一种。

2、使用面向对象技术进行软件开发的最佳实践。

3、迭代式开发、需求管理、使用以组件为中心的软件架构、可视化建模、验证软件质量及控制变更。

以上是对UML的知识点整理,下面我们要开始提炼本文的重点,《软件架构》。

软件架构的定义是什么?

在软件工程发展的初期,通常将软件设计的重点放在数据结构和算法的选择上。随着软件系统规模越来越大、越来越复杂,整个系统的结构设计和规范说明越来越重要,软件机构的重要性日益凸显。

        软件总是有架构的。将软件系统划分成多个模块,明确各模块之间的相互作用,组合起来实现系统的全部特性,就是系统架构。

        通常将一些经过实践证明的、可重复使用的软件架构设计策略总结成架构模式,以便交流和学习。软件架构中借鉴了许多计算机架构和网络架构等其他领域的思想和方法。

一、架构模式之管道/过滤器模式

面向对象系统分析与设计之软件架构和UML_第1张图片

 管道/过滤器模式图

1、体现功能模块高内聚、低耦合的 “黑盒” 特性,支持功能模块重用,便于系统维护。

2、每个过滤器自己完成数据解析和合成工作(如加密和解密),易导致系统性能下降,并增加了过滤器具体实现的复杂性。

3、典型应用包括批处理系统。

二、架构模式之面向对象模式

面向对象系统分析与设计之软件架构和UML_第2张图片

 面向对象模式

1、将模块数据的表示方法及其相应操作封装在更高抽象层次的数据类型或对象中。

2、典型应用是基于组件的软件开发。

三、架构模式之事件驱动模式

1、组件并不直接调用操作,而是触发一个或多个事件。

2、系统中的其他组件可以注册相关的事件,触发一个事件时,系统会自动调用注册了该事件的组件,即触发事件会导致另一组件中操作的调用。

3、典型的有图形界面工具,比如word、excel。

四、架构模式之分层模式

1、采用层次化的组织方式,每一层都为上一层提供服务,并使用下一层提供的功能。

2、允许将一个复杂问题他逐步分层实现。

3、典型应用是分层通信协议,如ISO/OSI的七层网络模型。

五、C/S模式

1、基于资源不对等,为实现共享而提出的模式。C/S模式将应用一分为二,服务器(后台)负责数据操作和事务处理,客户(前台)完成与用户的交互任务。

2、客户与服务器分离,允许网络分布操作,适用于分布式系统。

3、浏览器/服务器(B/S)模式:二层C/S  ----> 三(N)层C/S ----> B/S。比基于C/S架构的系统更容易部署和升级维护。

4、微信平台:属于胖服务器,瘦客户端模式,该模式降低了客户端系统开销,而后台系统将承受巨大的并发吞吐量、存储、内存、CPU等利用率超高等的开销。

面向对象系统分析与设计之软件架构和UML_第3张图片

 

你可能感兴趣的:(软考中项,系统架构)