1 引言
二十世纪六十年代的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。
软件体系结构(Software Architecture,软件架构)的设计是整个软件开发过程中关键的一步。对于当今世界上庞大而复杂的系统来说,没有一个合适的体系结构而要有一个成功的软件设计几乎是不可想象的。不同类型的系统需要不同的体系结构,甚至一个系统的不同子系统也需要不同的体系结构。体系结构的选择往往会成为一个系统设计成败的关键。
典型的软件体系结构风格有很多。例如,设计图形用户界面(GUI)常用的事件驱动风格、设计操作系统常用的层次化设计风格、设计编译程序常用的管道与过滤器风格、设计分布式应用程序常用的客户机/服务器风格等。一个实用的软件系统通常是几种典型体系结构风格的组合[1]。
近年来,我们致力于软件体系结构理论和实践应用研究,取得了一些初步成绩。在第2节中,我们将给出一个选择和应用软件体系结构的实例。
2 软件体系结构的选择和应用
本节以某省社会保险管理信息系统(SIMIS)为例,讨论软件体系结构的选择和应用。
2.1 项目背景
SIMIS服从于国依投蜕缁岜U喜抗赜诒O展芾硇畔⑾低车淖芴骞婊低辰ㄉ杓岢忠惶寤纳杓扑枷耄芴迥勘晔墙⒈冉贤瓯浮⒏咝А⒂肜投蜕缁岜U鲜乱捣⒄瓜嗍视Α⒂牍揖眯畔⑾低诚嘞谓拥睦投蜕缁岜O展芾硇畔⑾低常迪掷投蜕缁岜O展芾硖逑档募际跸执⒐芾砜蒲Щ?lt;BR>
SIMIS系统以IC卡为信息载体,完成劳动和社会保险的主要业务管理,即“五保合一”管理,包括养老保险、医疗保险、劳动就业和失业保险、工伤保险、女工生育保险。整个业务流程十分复杂,牵涉面相当广泛。SIMIS系统由省、地市、县三级组成,网络纵向覆盖全省各级劳动和社会保障机构,横向与财税、银行、卫生、邮政、企事业单位联网,是一个典型的广域网络系统;系统设计按照社会保险与个人账户相结合的模式,以养老保险为重点,并以此为全省劳动和社会保险管理信息网络主干网络,带动劳动力市场等其他社会保险业务管理信息系统建设。
2.2 体系结构设计
虽然国家劳动和社会保障部对整个业务有一套规定的指导性流程,但是,在调研的过程中,我们发现各市、县都或多或少地存在使用“土政策”的情况,正是这种“土政策”致使软件在设计阶段具有很多的不确定性需求。另外,我们还考虑到将来用户需求可能会发生变化,为了尽量降低维护成本,提高可重用性,我们引入了层次式软件体系结构的设计思想。
SIMIS系统采用层次式软件体系结构的基本出发点在于,这种软件结构不但能够满足不同规模的用户(县级,地、市级)的需求,可以方便地在最小的完成基本功能的基本系统和最大的完成所有复杂功能的扩充系统之间进行选择安装,而且通过逐层功能扩展的方法来进行软件实现,有利于程序设计和构件开发。同时,一定级别的抽象层可以作为一种知识积累,对于同类软件的快速开发有着很大的作用。
根据调研的结果,我们把SIMIS系统设计成具有通用核心层、基本应用层、业务管理层和扩展应用层四个层次的层次式软件体系构,如图1所示。

图1 SIMIS的层次式结构
[本文共有 2 页,当前是第 1 页] <<上一页 下一页>>
通用核心层完成的是软件的一些通用的公共操作,这些操作能够尽量做到不与具体的数据库和表结构相关。通用核心层操作不但可以应用于SIMIS系统中,还可以方便地移植到其他的应用软件上。从面向对象的角度看,通用核心层构成了一个基类。以后各层的操作都是在继承基类的基础上,逐渐增强功能而得到的。
基本应用层是SIMIS系统数据采集的主要来源,包括劳资人事管理、工资管理、岗位管理和社会保险管理等系统,是参保单位的管理平台,与通用核心层共同完成劳动和社会保险业务的基本操作。
业务管理层是对基本应用层的进一步扩展,主要完成SIMIS系统的业务管理,管理内容涉及劳动者个人、企业和其它劳动组织的微观信息,能够实现数据的初步汇总。业务管理层与其内包含的两层一起构成了SIMIS的典型应用系统。
扩展应用层是在典型应用系统的基础上扩充了一些更为复杂的功能,如对政策决策提供依据和支持,对政策执行状况进行监测、社会保险信息发布及个人账户电话语音查询系统等。
这种层次式软件体系结构的组织方式具有便于增加新功能,使系统具有可扩展性,有利于软件重用等优点。
SIMIS的设计和开发重点放在业务管理层上,在这一层的设计中,我们采用了互连系统构成的系统(SIS)的体系结构[2],把整个业务管理系统划分为失业保险管理、养老保险管理、医疗保险管理、女工生育保险管理、工伤保险管理、工资收入管理、劳动关系管理、职业技能开发管理等八个从属系统,所有的从属系统共用同一个数据库管理系统,每个从属系统作为单独的系统,由不同的开发团队进行独立开发。
从属系统可以自成一个软件系统,脱离上级系统而运行,有其自己的软件生命周期,在生命周期内的所有活动中都可以单独管理,可以使用不同的开发流程来开发各个从属系统。
| 机电之家版权所有Copyright©2005-2009
Jdzj.Com All Rights
Reserved. 主办运营:杭州滨兴科技有限公司 办公地址:浙江省杭州市滨江区伟业路1号高新软件园9-409 邮编:310032 投放广告:0571-87774297 申请家家通:0571-87774298 图文传真:0571-87774298 电子邮箱:ete@zj.com 更多联系方式>> |
协办指导:浙江省杭州市高新区机电一体化学会 依托基地:杭州市高新技术创业服务中心 (省级高新技术创业服务中心) 企业资质:浙江省科技企业 浙江省杭州市科技型孵化企业 网站公共备案号:浙ICP备05041018号 经营许可证号:浙B2-20080178 |
| 机电之家工程管理网所分享的工程管理,合同与档案管理,质量与成本管理,进度管理,风险管理,施工与现场管理,工程监理, 项目管理知识,竣工验收管理,工程技术,工程施工方案,施工工艺流程,施工技术方法,工程施工设计,工程案例, 成功工程案例,失败工程案例,工程论文,软件工程论文,工程项目管理论文,工程造价论文,工程材料论文工程, 监理论文,工业工程论文,等都是来自会员自行公布。如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。 | |