系统设计中的三化指什么
通用化
产品的通用化是以互换性为基础的,对产品或系统的共性和相似特征,经归并、简化、选优、统一,找出其最佳的物理特性或典型结构,尽可能扩大同一对象的使用范围的一种标准化形式。传统的硬件产品的通用化主要是指组成设备的零部件的继承和通用,产品通用化从通用单元的形成情况看有两种类型,一种是统计分析现有产品,优选出通用单元,称为继承型通用化; 另一种是根据总体需求专门开发新的通用单元,称为开发型通用化,实际工作中,往往是既有继承,又有开发。
通用化的对象极为广泛,只要是有利于避免或者减少重复劳动、节约资源的产品单元都可以是通用化对象。对软件产品而言,主要是指构成信息系统、软件产品的分系统、软件配置项、软件部件、软件单元。因此,软件的通用化主要包括:
(1) 软件单元的通用化;
(2) 软件部件的通用化;
(3) 软件配置项的通用化;
(4) 软件分系统的通用化。
分系统以上层次的产品要作为软件通用化的对象做到通用虽然难,也有成功的实例,比如美军的COE(公共互操作环境);系统一级的软件产品通用化一般都是基础的公共支撑服务,比如操作系统、数据库管理系统等,对于与应用密切相关的应用业务软件,由于特定的作战使用要求和技术战术指标,一般很难做到相互通用和替代。
软件产品的通用化是通过对需求的分析、凝练,并通过规范软件的界面、接口、数据结构和网络、传输协议等方式,满足不同用户需求,扩大软件产品的使用范围的标准化形式。
软件产品通用化的核心是形成通用化的需求,通过对不同用户需求的收集、分析、沉淀和归并,甚至提出前瞻性、冗余的需求,形成具有一定普适性软件功能、性能,即软件的规格。
软件通用化的基本原理是通过领域工程、面向对象技术实现软件功能、性能的通用性,通过构件化技术、服务化技术实现软件外部规格、形态和接口的一致性,实现软件的互换。
系列化
系列化是从产品使用要求和发展规律出发,将同一功能产品的主要参数或者规格按一定的数系或要求作合理规划,并对其型式和结构进行简化和统一,使产品有序发展并形成一定的序列,以满足用户广泛要求的一种标准化形式。
软件系列化是把一类软件产品的主要功能、性能特性和配置的规模,按照应用模式、应用的平台环境和用户进行分类、分级形成合理的序列,以较少的品种或规格满足最大使用范围的标准化方式。
软件系列化的目的是以较少的品种规格满足最大的需求。软件系列化的对象可以是软件系统/分系统、软件配置项、软件服务、软件部件(构件)。软件系列化的分类一般不以产品的性能参数、几何参数作为分类、分级的依据,软件系列化的产品通用以建立软件的型谱为产品的基本型,将型谱中不同层次(软件系统、软件分系统、软件配置项、软件部件)、不同领域、专业的软件产品按照应用模式、应用的平台环境、应用用户类型形成基于基本型的系列产品。常见的软件系列化的划分类型如下。
(1)领域和用户
按照领域或者软件应用的用户划分,例如指挥信息系统软件可以划分为陆军、海军、空军、火箭军等不同的军兵种指挥信息系统。
(2)用户特征
按照用户影响软件功能、性能以及规模配置的关键特征进行划分,例如战略战役级指挥信息系统,战术级指挥信息系统,固定适指挥信息系统、机动式指挥信息系统。
(3)软件安装部署的应用环境
按照软件部署、安装和运行的环境进行划分,例如依据不同的计算机硬件平台划分、不同的操作系统划分、不同的数据库管理系统划分。
(4)软件的技术体制和体系结构
按照软件的技术体制和体系结构进行划分,例如C/S 架构、B/S 架构进行划分,按照服务化的技术体制、按照构件化技术体制划分。软件产品的系列化应首先建立领域的软件产品的型谱,再研制开发型谱中各类软件的基本型,在此基础上形成不同规格、形态的系列化产品。软件产品的型谱不是现有的不同规格的同类产品简单罗列,软件产品的型谱一般按照某领域、某类软件的体系结构为基础,对功能、用途为核心建立基本型软件,在依据部署的软件基础环境、硬件平台环境、接口以及软件形态等的差异,形成不同的系列产品,比如适用于桌面计算、服务器计算、移动计算的不同的环境的软件产品。
组合化
组合化是对某一类产品进行功能、分析和结构分解的基础上,划分并设计、生产一系列不同功能的能重复利用的通用单元(通用模块),然后在新产品开发时选取相应的通用模块,并补充专用单元和零部件,组成能满足要求的新产品的一种标准化形式。
软件的组合化不仅是软件降低软件复杂性的基本方法,也是提高软件系统灵活性、可扩展性的方法。软件的模块化是将复杂的软件系统分解为一组高内聚、低耦合的模块,通过对这些模块的集成(组合)形成不同的软件系统。
对于一个领域,软件的模块划分可以是一致的、稳定的,依据软件的体系结构可以对领域软件的基本组成模块进行划分,一般的应用层模块的划分相对复杂、多变,可以依据具体的系统需求进行补充、完善和增加,提供基础数据共享、软件集成以及通信、网络传输等服务的软件,相对功能独立、通用性强,一般作为通用模块,是系统软件组成中相对固定的模块。通用模块一般具有功能性、独立性、可组装性、通用性的特点。