首页 > 其他分享 >可测试,可维护,可移植:上位机软件分层设计的重要性

可测试,可维护,可移植:上位机软件分层设计的重要性

时间:2024-09-08 12:03:32浏览次数:11  
标签:测试 机软件 可移植 上位 分层 模块 软件

互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗?
有必要。本文从三个方面论述。分别是可测试,可维护,可移植。
可测试
软件黑盒测试更普遍,但很难覆盖所有应用场景。于是有了接口测试、模块化测试以及单元测试。都是通过降低测试对象的复杂度,来实现更全面的测试。那么将上位机软件分为前后端、甚至服务模块、下位机对接模块等。并做好接口划分,也就提升了软件的可测试性。从而提升质量。
可维护
低耦合的代码更容易修改。模块内部的函数变动不会影响到模块外。相反,前后端混合,页面一个控件的改动,都要去修改底层通讯模块。这样只会提升维护难度、降低软件可测试性,也就降低软件质量。
可移植
分为前后端,那么可以单独复用后端或前端代码。例如:新项目里,下位机不变,通讯协议不变。只是页面元素、布局改变。那么不修改后端代码。新前端按固定接口写好,就能直接配合使用了。
以上,就是从三个方面论述了上位机软件分层设计的必要。

标签:测试,机软件,可移植,上位,分层,模块,软件
From: https://www.cnblogs.com/tiankong0012/p/18402730

相关文章

  • Docker 镜像的分层概念
    40.镜像的分层概念来更深入地理解镜像的概念‍镜像的分层镜像,是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜......
  • 计算机软件著作权有何作用
    计算机软件著作权:守护创新成果,驱动行业发展的核心力量在当今这个数字化时代,计算机软件作为信息技术的核心载体,已经深入到我们生活的方方面面,从智能手机应用、云计算服务到人工智能系统,无一不彰显着软件技术的巨大影响力。然而,随着软件行业的蓬勃发展,软件作品的保护与利用问题......
  • 3292. 称检测点查询 来源:第二十次CCF-CSP计算机软件能力认证 枚举 排序
    #include<iostream>#include<cstdio>#include<algorithm>usingnamespacestd;constintN=210;pair<int,int>p[N];intn,X,Y;intmain(){cin>>n>>X>>Y;for(inti=1;i<=n;i++){......
  • 3293. 风险人群筛查 来源:第二十次CCF-CSP计算机软件能力认证 模拟枚举
    #include<iostream>#include<cstring>#include<algorithm>#definexfirst#defineysecondusingnamespacestd;intn,k,t,x1,y1,x2,y2;intmain(){cin>>n>>k>>t>>x1>>y1>>x2......
  • 三水的计算机网络学习之旅----实例探索如何来分层处理
    主机A要访问某个Web服务器1.首先在浏览器地址栏中输入Web服务器的域名,2.紧接着主机向Web服务器发送一个请求报文,3.服务器收到请求报文后执行相应操作,然后给主机发送响应报文4.主机收到响应报文后由浏览器负责解析与渲染。我们从五层原理体系来进行进一步解析:封装过程:(自......
  • 2024年最新计算机软件毕业设计选题大全:数百热门选题推荐✅
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作​主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP......
  • vscode文件分层时找不到eslint配置问题
    我的文件夹是这样的--root--server--webserver里用的是eslint5.16.0,没有任何问题web因为是vuter+eslint9.9.1,就各种报错,项目越写越难受,最后忍不住查了一下到底怎么配置新版的vscode+eslint版本:vscode:1.92.2eslint:9.9.1vscode工作区.vscode文件夹里加上一个文......
  • NumPyro入门API和开发人员参考 pyro分布推理效果处理程序贡献代码更改日志入门教程使
    NumPyro文档¶NumPyro入门API和开发人员参考烟火元素分布推理效果处理程序贡献代码更改日志入门教程使用NumPyro的贝叶斯回归贝叶斯分层线性回归例如:棒球击球率示例:变型自动编码器例子:尼尔的漏斗例子:随机波动例如:亚麻和俳句可变推断参数化NumPyro模型的自动绘制不良后几何及......
  • 浅谈分层图
    #用途-解决一些在带权图中,最多$k$次优惠**一条边权**#基本步骤1.分成$k+1$层,从$0$好开始,每层图与原图一样。其中第$i$层图是用了$i$次优惠到达的图。2.对于所有边,若在第$i$层图中,那么就新连一条边从$u$指向第$n+1$层图的$v$,权值为**优惠的值**。3.......
  • 单片机软件工程师与硬件工程师:协同共创智能未来
    摘要:本文深入探讨了单片机软件工程师与硬件工程师在单片机开发中的重要作用。详细阐述了软件工程师的职责包括需求分析、软件设计、编码实现、调试与测试以及维护与升级等,同时强调了其所需的编程语言、开发工具、算法与数据结构、操作系统、硬件知识、问题解决和团队合作等技能......