软件系统结构的选择和应用(1)

发表于:2007-06-12来源:作者:点击数: 标签:
1 引言 二十世纪六十年代的软件危机使得人们开始重视 软件工程 的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。 软件体系结构(Software Architecture,软

1 引言

二十世纪六十年代的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。

软件体系结构(Software Architecture,软件架构)的设计是整个软件开发过程中关键的一步。对于当今世界上庞大而复杂的系统来说,没有一个合适的体系结构而要有一个成功的软件设计几乎是不可想象的。不同类型的系统需要不同的体系结构,甚至一个系统的不同子系统也需要不同的体系结构。体系结构的选择往往会成为一个系统设计成败的关键。

典型的软件体系结构风格有很多。例如,设计图形用户界面(GUI)常用的事件驱动风格、设计操作系统常用的层次化设计风格、设计编译程序常用的管道与过滤器风格、设计分布式应用程序常用的客户机/服务器风格等。一个实用的软件系统通常是几种典型体系结构风格的组合[1]。

近年来,我们致力于软件体系结构理论和实践应用研究,取得了一些初步成绩。在第2节中,我们将给出一个选择和应用软件体系结构的实例。

2 软件体系结构的选择和应用

本节以某省社会保险管理信息系统(SIMIS)为例,讨论软件体系结构的选择和应用。

2.1 项目背景

SIMIS服从于国家劳动和社会保障部关于保险管理信息系统的总体规划,系统建设坚持一体化的设计思想,总体目标是建立比较完备、高效、与劳动和社会保障事业发展相适应、与国家经济信息系统相衔接的劳动和社会保险管理信息系统,实现劳动和社会保险管理体系的技术现代化、管理科学化。

SIMIS系统以IC卡为信息载体,完成劳动和社会保险的主要业务管理,即“五保合一”管理,包括养老保险、医疗保险、劳动就业和失业保险、工伤保险、女工生育保险。整个业务流程十分复杂,牵涉面相当广泛。SIMIS系统由省、地市、县三级组成,网络纵向覆盖全省各级劳动和社会保障机构,横向与财税、银行、卫生、邮政、企事业单位联网,是一个典型的广域网络系统;系统设计按照社会保险与个人账户相结合的模式,以养老保险为重点,并以此为全省劳动和社会保险管理信息网络主干网络,带动劳动力市场等其他社会保险业务管理信息系统建设。

2.2 体系结构设计

虽然国家劳动和社会保障部对整个业务有一套规定的指导性流程,但是,在调研的过程中,我们发现各市、县都或多或少地存在使用“土政策”的情况,正是这种“土政策”致使软件在设计阶段具有很多的不确定性需求。另外,我们还考虑到将来用户需求可能会发生变化,为了尽量降低维护成本,提高可重用性,我们引入了层次式软件体系结构的设计思想。

SIMIS系统采用层次式软件体系结构的基本出发点在于,这种软件结构不但能够满足不同规模的用户(县级,地、市级)的需求,可以方便地在最小的完成基本功能的基本系统和最大的完成所有复杂功能的扩充系统之间进行选择安装,而且通过逐层功能扩展的方法来进行软件实现,有利于程序设计和构件开发。同时,一定级别的抽象层可以作为一种知识积累,对于同类软件的快速开发有着很大的作用。

根据调研的结果,我们把SIMIS系统设计成具有通用核心层、基本应用层、业务管理层和扩展应用层四个层次的层次式软件体系构,如图1所示。

图1:SIMIS的层次式结构

通用核心层完成的是软件的一些通用的公共操作,这些操作能够尽量做到不与具体的数据库和表结构相关。通用核心层操作不但可以应用于SIMIS系统中,还可以方便地移植到其他的应用软件上。从面向对象的角度看,通用核心层构成了一个基类。以后各层的操作都是在继承基类的基础上,逐渐增强功能而得到的。


共2页: 1 [2] 下一页

原文转自:http://www.ltesting.net

...