更多内容请见: 备考系统架构设计师-核心总结索引
论文:论软件架构的选择与应用
文章目录
摘要
公司承担了某省社会保险管理信息系统的开发工作,我在该项目中担任系统架构设计师职务,主要负责设计应用系统架构和网络安全体系架构。该系统以IC卡为信息载体,完成劳动和社会保险的主要业务管理,即"五保合一"管理,包括养老保险、医疗保险、劳动就业和失业保险、工伤保险、女工生育保险。整个业务流程十分复杂,牵涉面相当广泛。
整个系统采用具有四层的层次式软件架构的设计思想,在业务管理层的设计中,采用了互连系统构成的系统的架构,把整个业务管理系统划分为八个从属系统。各从属系统的架构可以相同,也可以不同。整个系统的开发工作历时19个月,目前,该系统的开发工作历时19个月,目前,该系统已经稳定运行1年多的时间。实际证明,这种架构设计有效地降低了维护成本,提高了系统的开放性、可扩充性、可重用性和可移植性。本文以社会保险管理信息系统为例,讨论了软件架构的选择和应用。
正文
某年某月,所在公司承担了某省社会保险管理信息系统(以下简称为SIMIS系统)的开发工作,参加了该项目一些工作,担任系统架构设计师职务,主要负责设计应用系统架构和网络安全体系架构。
一、项目概述
SIMIS服务于国家劳动和社会保障部关于保险管理信息系统的总体规划,系统建设坚持一体化的设计思想,总体目标是建立比较完备、高效就业和失业保险、工伤保险、女子生育保险。整个业务流程十分复杂,牵涉面相当广泛。SIMIS系统由省、地市、县三级组成,网络纵向覆盖全省各级劳动和社会保障机构,横向与财税、银行、卫生、邮政、企事业单位联网,是一个典型的广域网络系统。系统设计按照社会保险与个人账户相结合的模式,以养老保险为重点,并以此为全省劳动和社会保险管理信息网络主干网络,带动劳动力市场等其他社会保险业务管理信息建设。
二、架构设计
国家劳动和社会保障部对整个业务有一套规定的指导性流程,但是在调研过程中,发现各市、县都或多或少存在使用土政策的情况,正是这种土政策致使软件在设计阶段具有很多的不确定性需求。另外还考虑到将来用户需求可能会发生变化,为了尽量降低维护成本,提高可重用性,引入了层次式软件架构的设计思想。SIMIS系统采用层次式软件架构的基本出发点在于,这种软件结构不但能够满足不同规模的用户的需求,可以方便地在最小的完成基本功能的基本系统和最大的完成所有复杂功能的扩充系统之间进行选择安装,通过逐层功能扩展的方法来进行软件实现,有利于程序设计和构建开发。同时一定级别的抽象层可以作为一种知识积累,对于同类软件的快速开发有着很大的作用。根据调研结果,把SIMIS系统设计成具有通用核心层、基本应用层、业务管理层和扩展应用层四个层次的层次式软件体系结构。
通用核心层完成的是软件的一些通用的公共操作,这些操作能够尽量做到不与具体的数据库和表结构相关。基本应用层是SIMIS系统数据采集的主要来源。业务管理层是对基本应用层的进一步扩展,主要完成SIMIS系统的业务管理,管理内容涉及劳动者个人、企业和其他劳动组织的信息,能够实现数据的初步汇总。扩展应用层是在典型应用系统的基础上扩充了一些更为复杂的功能,如对政策决策提供依据和支持,对政策执行状况进行监测、社会保险信息发布及个人账户电话语音查询系统等。
SIMIS的设计和开发重点放在业务管理上,在这一层的设计中,采用了互连系统构成的系统的架构,把整个业务管理系统划分为失业保险管理、养老保险管理、医疗保险管理、女工生育保险管理、工伤保险管理、工资收入管理、劳动关系管理、职业技能开发管理等八个从属系统,所有的从属系统共用同一个数据库管理系统,每个从属系统作为单独的系统,由不同的开发团队进行独立开发。
从属系统可以自称一个软件系统,脱离上级系统而运行,有其自己的软件生命周期,在生命周期内的所有活动中都可以单独管理,可以使用不同的开发流程来开发各个从属系统。各从属系统的架构可以相同,也可以不同。例如,在开发养老保险管理系统这个从属系统时,选择了正交软件架构。将整个系统设计为三级正交结构,第一级划分为八个线索,每个一级线索又可划分为若干个二级线索,每个二级线索又可划分为若干个三级线索。
每一条线索完成整个系统中相对独立的一部分功能,所有线索是相互独立的,即不同线索中的构件之间没有相互调用。由于采用了正交结构的思想,在系统开发时,分成若干个小组并行开发,视开发难度情况,每个小组负责一条或数条线索,由一个小组来设计通用共享的数据存取构件。由于各线索之间没有相互调用,所以各小组不会相互牵制,大大提高了编程的效率,缩短了开发周期,降低了工作量。
虽然各个从属系统相对独立,可以进行并行开发,但尽量注意了软件重用,以节约开发成本,加快开发进度。例如,基金收缴是失业保险、养老保险、医疗保险、女工生育保险和工伤保险五个从属系统中都要进行的操作,且操作流程大致一样,只是基金收缴的参数有所区别。就只安排养老保险丛属系统的开发团队开发一个通用构建,提供参数接口供其他从属系统使用。
总结
在SIMIS系统架构设计中,引入了层次式软件架构的设计思想。根据调研的结果,把SIMIS系统设计成具有通用核心层、基本应用层、业务管理层和扩展应用层四个层次。SIMIS的设计和开发重点放在业务管理层上,在这一层的设计中,采用了互连系统构成的系统的架构,把整个业务管理系统划分为八个从属系统。每个从属系统作为单独的系统,由不同的开发团队进行独立开发。各从属系统的架构可以相同,可以不同。
以上设计有效地降低了维护成本,提高了系统的开放性、可扩充性、可重用性和可移植性。但SIMIS的设计和开发也存在一些不足。例如,由于采用了互连系统构成的系统的软件架构,使用资源管理开销增大,各从属系统的开发进度无法同步等。又如,由于采用了B/S和C/S结构混合的异构结构,使外部用户修改和维护数据时,速度较慢,较繁琐,数据的动态交互性不强等。
标签:架构,系统,SIMIS,开发,软件架构,从属,设计师 From: https://blog.csdn.net/cui_yonghua/article/details/141955858