首页 > 其他分享 >【系统架构设计师】论文:论混合软件架构的设计

【系统架构设计师】论文:论混合软件架构的设计

时间:2024-09-01 09:51:28浏览次数:6  
标签:架构 系统 变电站 用户 软件架构 服务器 设计师

论文:论混合软件架构的设计

文章目录

摘要

2022年3月,我所在的公司组织开发了一套完整的变电综合信息管理系统,在这个项目中,担任系统架构设计师职务,主要负责软件架构和网络安全体系架构设计的工作。该系统包括变电运行所需的运行记录、图形开票、安全生产管理、生产技术管理、行政管理、总体信息管理、技术台账管理、班组建设、学习培训、系统维护等各个业务层次模块。

本文首先简单地分析了C/S架构和B/S架构各自的优缺点,然后说明了混合C/S架构管理系统为例,结合实际情况,讨论了C/S和B/S混合架构的应用。实践证明,在软件项目的开发中,使用C/S与B/S混合架构的应用。实践证明,在软件项目的开发中,使用C/S与B/S混合软件架构,能节省开发和维护成本,使系统具有良好的开放性,易扩展性,便于移植等优点。

正文

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

1.项目概述
当前,我国电力系统正在进行精简机构的改革,变电站也在朝无人、少人和一点带面的方向发展(如:一个有人值班220KV变电站带若干个无人值班220KV和110KV变电站),减人增效是必然的趋势,而要很好地达到这个目的,使用一套完善的变电综合信息管理系统显得很有必要。2007年3月,笔者所在的公司组织有关力量,针对电力系统变电运行管理工作的需要,结合变电站运行工作经验,开发了一套完整的变电综合信息管理系统,在这个项目中,我担任系统架构设计师职务,主要负责软件架构和网络安全体系架构设计的工作。

TSMIS系统包括变电运行所需的运行记录、图形开票、安全生产管理、生产技术管理、行政管理、总体信息管理、技术台账管理、班组建设、学习培训、系统维护等各个业务层次模块。实际使用时,用户可以根据实际情况的需要选择模块进行自由组合,以达到充分利用变电站资源和充分发挥系统作用的目的。

系统的实现采用Visual C++、Visual Basic、Visual InterDev和Java语言和开发平台进行混合编程。服务器操作系统使用Windows 2003 Advanced Server,后台数据库采用SQL Server 2005。系统的实现充分考虑到我国变电站所电压等级的分布,可以适用于大、中、小电压等级的变电站所。

2.C/S与B/S的比较分析

C/S架构具有强大的数据操作和事物处理能力,模型简单,易于人们理解和接受。但随着企业规模的日益扩大,软件的复杂程度不断提高,C/S架构逐渐暴露了以下缺点:

  • 1、开发成本较高。C/S架构对客户段软硬件配置要求较高,增加了整个系统的成本。
  • 2、客户端程序设计复杂。采用C/S架构进行软件开发,大部分工作量放在客户端的程序设计上,客户端显得十分庞大。
  • 3、软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其他平台上运行。
  • 4、软件维护和升级困难。采用C/S架构的软件要升级,开发人员必须到现场为客户机升级,每个客户机上的软件都需要维护。对软件的一个小小改动(例如,只改动一个变量),每一个客户端都必须更新。

B/S架构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件架构。基于B/S架构的软件,系统安装、修改和维护全在服务器端能解决。用户在使用系统时,仅仅需要一个浏览器升级就可运行全部的模块,真正达到了零客户端的功能,很容易在运行时自动升级。与C/S架构相比,B/S架构也有许多不足之处。例如:

  • B/S架构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
  • B/S架构的系统扩展能力差,安全性难以控制。
  • 采用B/S架构的应用系统,在数据查询等响应速度上,要远远低于C/S架构。
  • B/S架构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。

3.C/S与B/S混合软件架构
传统的C/S架构并非一无是处,新兴的B/S架构也并非十全十美。由于C/S架构根深蒂固,技术成熟,原来的很多软件系统都是建立在C/S架构基础上的,因此,B/S架构要想着软件开发中起主导作用,要走的路还很长。C/S架构与B/S架构还将长期共存,其结合方式主要有两种。分别介绍C/S与B/S混合架构的两个模型。

(1)内外有别模型
在C/S与B/S混合架构的内外有别模型中,企业内部用户通过局域网直接访问数据库服务器,软件系统采用C/S架构,企业外部用户通过Internet访问Web服务器,通过Web服务器再访问数据库服务器,软件系统采用B/S架构。内外有别模型的优点是外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户的交互性强,数据查询和修改的响应速度较快。内外有别模型的缺点是企业外部用户修改和维护数据时,速度较慢,较繁琐,数据的动态交互性不强。

(2)查改有别模型
在C/S与B/S混合软件架构的查改有别模型中,不管用户是通过什么方式连接到系统,凡是需执行维护和修改数据操作的,就使用C/S架构。如果只是执行一般的查询和浏览操作,则使用B/S架构。查改有别模型体现了B/S架构和C/S架构的共同优点,但因为外部用户能直接通过Internet连接到数据库服务器,企业数据容易暴漏给外部用户,给数据造成了一定的威胁。

总结

在设计TSMIS系统时,充分考虑到变电站分布管理的需要,采用C/S与B/S混合架构的内外有别模型。在TSMIS系统中,变电站内部用户通过局域网直接访问数据库服务器,外部用户通过Internet访问Web服务器,再通过Web服务器访问数据库服务器,外部用户只需一台接入Internet的计算机,就可以通过Internet查询运行生产管理情况,无须做太大的投入和复杂的设置。这样也方便所属电业局及时了解各变电站所的运行生产情况,对各变电站的运行生产进行宏观调控。此设计能很好地满足用户的需求,符合可持续发展的原则,使系统有较好的开放性和易扩展性。

该系统已经在全国的多个变电站使用,用户反应良好。真正满足了变电管理朝无人、少人和一点带面的发展趋势的需要,提高工作效率、增强准确性,对工作过程中的各种记录都能详实、准确的记载,减少大量手工重复录入,达到变电站无人、少人值班的目的。实践证明,在软件项目的开发中,使用C/S与B/S混合架构,能节省开发和维护成本,使系统具有良好的开放性,易扩展性,便于移植等优点。

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

标签:架构,系统,变电站,用户,软件架构,服务器,设计师
From: https://blog.csdn.net/cui_yonghua/article/details/141776934

相关文章

  • 【系统架构设计师】论文:论SOA面向服务架构技术的应用
    论文:论SOA面向服务架构技术的应用文章目录摘要正文总结摘要本人于2020年7月参加国内某某知名港口供电业务系统的开发工作,在该项目中主要担任系统架构师,主要负责该系统架构和网络安全体系架构设计。经过近20年的港口信息化建设,港口供电系统已经建立了一些应用系统,......
  • 企业架构设计之IFW实践回顾
    企业架构设计之IFW实践回顾 前言笔者几年前曾参与过一套网络银行的系统建设以及后续这套系统在信用、云服务、保险、基金、支付等领域的复用,使用了IFW模型的变体。当时仅仅是根据架构师的设计进行编码、测试和交付以及后续的维护,没有对这套模型进行系统化的总结,心中总是......
  • 【AI System】Ascend NPU 架构 & CANN 平台入门学习
    AscendNPU架构&CANN平台入门学习概述昇腾NPU是专门用于AI训练/推理计算的AI专用处理器,其中的AICore能够在很大程度上提高AI计算的效率。本文将主要介绍ASCENDNPU的硬件架构&工作原理、AICore的计算模式以及异构计算平台CANN等内容。NPU硬件架......
  • 大模型 | RAG 架构设计三阶段:Naive RAG 架构设计、Advanced RAG 架构设计、Agentic RA
    第一阶段:NaiveRAG架构设计大型语言模型(LLMs)虽然展现出卓越的性能,但在处理特定领域或知识密集型任务时,存在一些挑战,比如:产生虚假信息、知识陈旧以及推理过程的非透明性和不可追溯性。RAG技术作为一种有希望的解决方案,通过融合外部数据库的知识,有效应对了这些问题。它显著......
  • 9 张图总结 MySQL 架构
    原文:9张图总结一下MySQL架构前言目前大部分的后端开发人员对MySQL的理解可能停留在一个黑盒子阶段。对MySQL基本使用没什么问题,比如建库、建表、建索引,执行各种增删改查。所有很多后端开发人员眼中的MySQL如下图所示:导致在实际工作中碰到MySQL中死锁异常、SQL性能太差......
  • 构建以数据为核心智慧型工业园区新架构方案
    1.项目背景与目标智慧型工业园区新架构的构建旨在通过数据驱动实现节能、绿色、高效和安全的目标,以应对当前工业园区在基础数据收集、系统管理和操作复杂性方面的挑战。2.现状分析当前工业园区的发展面临数据收集难题、系统分散、操作复杂以及孤岛效应,这些问题限制了工业......
  • 数据库系统------三级模式架构
    分层设计主要分为3个层级物理层物理层就是描述数据库如何存储记录,即数据的实际存储方式,是how逻辑层逻辑层就是描述数据库中存储数据的结构以及它们之间的关系,即存储了什么样的数据,是what视图层视图层就是描述数据的呈现方式,即哪些数据应该被哪些用户看到,换句话说,不......
  • 软考软件设计师考前必看-多10分版
         ......
  • 云计算:LNMP网站架构,前期准备,安装php,安装MySQL
    准备工作(初始化)1.关闭防火墙systemctl disablefirewalld --now    //直接永久关闭防火墙2.关闭SELINUX 查看SELINUX:getenforce永久关闭:[root@localhost~]#vim/etc/selinux/configSELINUX=enforcing|disabled或者[root@localhost~]#sed-i's/^S......
  • 系统架构设计师——系统工程学
    概述.系统工程是一种跨学科的方法论,旨在通过系统方法组织管理技术来实现系统的规划、研究、设计、制造、试验和使用。它的核心在于从整体的角度出发,合理地开发、设计、实施和运用系统科学和技术,确保系统能够成功地实现其预定目的。以下是系统工程的几个关键视角:目的:系统......