首页 > 其他分享 >【系统架构设计师】论文:论软件架构的选择与应用

【系统架构设计师】论文:论软件架构的选择与应用

时间:2024-09-06 13:24:29浏览次数:10  
标签:架构 系统 SIMIS 开发 软件架构 从属 设计师

更多内容请见备考系统架构设计师-核心总结索引

论文:论软件架构的选择与应用

文章目录

摘要

公司承担了某省社会保险管理信息系统的开发工作,我在该项目中担任系统架构设计师职务,主要负责设计应用系统架构和网络安全体系架构。该系统以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

相关文章

  • 【系统架构设计师】论文:论软件系统架构评估
    论文:论软件系统架构评估文章目录论文一摘要正文总结论文二摘要正文总结论文一摘要2021年3月,我公司承担了国家某安全中心漏洞挖掘系统的开发工作,我在该项目中承担系统架构设计师的职务,主要负责系统的架构设计。该项目的主要目的是依托大数据平台从互联网流量中挖......
  • 软件架构基础
    前言:无效的公理公理是一种陈述或命题,被认为是基本的、无需证明的真理。在数学中,公理是构建理论体系的基石。然而,在软件架构领域,我们发现许多曾经被视为公理的观念,随着时间的推移和软件开发生态系统的不断演进,逐渐变得不再适用或需要重新审视。软件架构师一直努力在不断变化......
  • SSH框架整合实现Java三层架构实例(一)
    HTML前台发送请求代码:1<tr>2<td>选择收派时间</td>3<td>4<inputtype="text"name="takeTimeId"class="easyui-combobox"required="true"5data-options="url:'../........
  • Mysql高级篇(上)—— Mysql架构介绍(二)
    Mysql高级篇(上)MySQL架构介绍(二)逻辑架构逻辑架构剖析MySQL8.0中SQL执行流程Linux环境下MySQL8.0中SQL执行原理MySQL语法顺序Oracle中SQL执行流程(了解)数据库缓存池bufferpool(了解)存储引擎常见存储引擎简述InnoDB和MyISAM两种存储引擎的特点对比MySQL架构介绍(二)......
  • KTV收银手机版——未来之窗行业应用跨平台架构
     一、KTV手机收银:1.移动性强:收银员可以随时随地使用手机进行收银操作,不再局限于固定的收银台,能够更灵活地为顾客服务,例如在包房内为顾客结账。2.快速响应:能够更迅速地处理顾客的结账需求,减少顾客等待时间,提升顾客满意度。3.操作简便:手机界面通常设计简洁直观,易于操作......
  • 《Head First Software Architecture》读书笔记 —— Chapter 1: software architectu
    软件架构(SoftwareArchitecture)是一个软件系统成功的基石,它不仅决定了系统的结构,也直接影响到其可扩展性、可维护性和性能表现。在这篇博客中,我们将探讨软件架构的关键维度(dimensions)、架构决策(architecturaldecisions)以及常见的架构风格(architecturalstyles),以帮助您更好......
  • 3、【实战中提升自己】华为 华三中小型企业网络架构搭建 【MSTP、链路聚合、VRRP部署
     1 拓扑与说明         某公司的网络架构,这样的架构在目前的网络中是在常见的,假设您接收一个这样的网络,应该如何部署,该实战系列,就是一步一步讲解,如何规划、设计、部署这样一个环境,这里会针对不同的情况给出不同的讲解,比如拓扑中有2个ISP,假设客户需求是,想实现主备的......
  • 软件架构设计——DCI 范型
    什么是DCI范型?DCI(Data,Context,andInteraction)范型是一种软件架构设计模式,旨在更清晰地表达系统的行为和状态。DCI试图通过将系统的结构(数据)与行为(交互)分离开来,以便更好地解决业务逻辑的复杂性,并提高代码的可读性和可维护性。DCI范型由三个主要组成部分:数据(Data)、上下......
  • 系统架构师考试学习笔记第三篇——架构设计高级知识(14)系统规划
    本课时考点:        第14课时主要了解系统规划知识,此部分考点非常少,因此不作为重点掌握的知识。本课时知识架构如图14.1所示。一、系统规划概述        系统规划的主要步骤包括:        (1)对现有系统进行初步调查。        (2)分析和确定......
  • 【软考中级攻略站】-软件设计师(1)-数值及其转换和数据表示
    进制转换n进制->十进制步骤说明:识别基数:首先确认你正在处理的是n进制数,这里的n就是该数的基数。数位权重:从右向左数,每个位置上的数字都有一个权重,最右边的位置权重为0,依次向左递增。计算值:将每个位置上的数字乘以基数的相应幂次方,然后将所有的结果相加起来。假设有一......