上位机开发流程

文章目录
前言
一、上位机是什么?
二、开发步骤
1.了解需求
2.分析需求
3.设计软件模块
4.测试软件
5.交付及维护软件
总结:
前言
没有人可以真正理解另一个人。
你理解的也只能是你想理解的和可以理解的,我们可以抵达相对的理解。
世上却无绝对意义上的理解,
一个人不可能被另一个人完整地理解,这是人人都生性孤独的源头,又是每个人都可以做自己的力量。

标题一、上位机是什么?

上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。

下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。

通常工控机,工作站,触摸屏作为上位机,通信控制PLC,单片机等作为下位机,从而控制相关设备元件和驱动装置。

上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。

上位机和下位机通讯可以采用不同的通讯协议,可以有RS232的串口通讯或者采用RS485串行通讯。 可以说上位机是主机,下位机是从机,二者是主从关系。

二、开发步骤

1.了解需求

了解被开发的软件,各个功能和各个业务逻辑。

2.分析需求

业务需求( business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。

用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。

功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。

3.设计软件模块

(一)设计流程图

主要为:编辑、预处理、编译、链接、运行。

(二)设计目标

1、准确性
2、可读性
3、可维护性
4、可移植性
5、高效率

4.测试软件

软件测试方法的目的包括:发现软件程序中的错误、对软件是否符合设计要求,以及是否符合合同中所要达到的技术要求,进行有关验证以及评估软件的质量。最终实现将高质量的软件系统交给用户的目的。而软件的基本测试方法主要有静态测试和动态测试、功能测试、性能测试、黑盒测试和白盒测试等等。

软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以他的工作主要是发现软件的错误、有效定义和实现软件成分由低层到高层的组装过程、验证软件是否满足任务书和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,重要的是他要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。

在交付之前,开发者需要进行多次的软硬件联调,保证功能的实现。

5.交付及维护软件

软件维护活动类型总起来大概有四种:纠错性维护(校正性维护)、适应性维护、完善性维护或增强、预防性维护或再工程。

改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量要占整个维护工作量的17%~21%。所发现的错误有的不太重要,不影响系统的正常运行,其维护工作可随时进行:而有的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并且要进行复查和控制。

适应性维护是指使用软件适应信息技术变化和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的18%~25%。由于计算机硬件价格的不断下降,各类系统软件屡出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这些因素都将导致适应性维护工作的产生。进行这方面的维护工作也要像系统开发一样,有计划、有步骤地进行。

完善性维护是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外,还包括对处理效率和编写程序的改进,这方面的维护占整个维护工作的50%~60%,比重较大.也是关系到系统开发质量的重要方面。这方面的维护除了要有计划、有步骤地完成外.还要注意将相关的文档资料加入到前面相应的文档中去。

预防性维护为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。例如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。这方面的维护工作量占整个维护工作量的4%左右。

总结:

善于总结,多进一步。
————————————————
版权声明:本文为CSDN博主「我有一颗薄荷糖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_51988927/article/details/123378722

上位机开发流程-小白开始相关推荐

  1. 上位机软件开发流程是怎样的?上位机开发软件分享

    随着科技的发展, 上位机软件开发已经成为当今社会的一个重要组成部分.上位机软件开发是一种技术,它可以帮助用户更好地控制和管理计算机系统.它可以帮助用户更有效地完成任务,提高工作效率,提高生产力. 上位 ...

  2. python上位机开发实例-python上位机

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 若python上位机接受到的字符为"1',则print出ok,如果字符是 ...

  3. 上位机开发(架构设计)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 和一般的上位机开发相比,固件下载软件的流程是比较简单.清晰的.所谓的架构设计,一般都是从各种业务 ...

  4. C# | 上位机开发新手指南(一)概述

    C#上位机开发新手指南(一)概述 文章目录 C#上位机开发新手指南(一)概述 前言 学习C#编程基础 熟悉上位机开发相关知识 选择合适的开发环境 熟练掌握C#编程技巧 掌握常用控件的使用方法 学习与硬 ...

  5. C# | 上位机开发新手指南(七)加密算法

    上位机开发新手指南(七)加密算法 文章目录 上位机开发新手指南(七)加密算法 前言 加密算法的分类 对称加密算法和非对称加密算法 流加密算法和块加密算法 分组密码和序列密码 哈希函数和消息认证码 对称 ...

  6. esp32系列(11):ESP32 IDF平台 mpu6050 DMP 驱动移植及测试上位机开发

    目录 1 DMP 官方库介绍 1.1 DMP与MPL(Motion Processing Libraries)功能 1.2 运行MPL的硬件要求 1.3 Motion Driver 6.12 的架构 ...

  7. Matlab上位机开发

    Matlab上位机开发 1 了解上位机 1.1 上位机的作用 1.2 常用上位机开发方式 1.2.1 Windows上位机(基于串口通信) 1.2.2 Android上位机(基于网络通信) 1.3 教 ...

  8. 485通信原理_上位机开发之单片机通信实践

    经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...

  9. java开发plc上位机软件开发_上位机开发之西门子PLC-S7通信实践

    写在前面: 就目前而言,在中国的工控市场上,西门子仍然占了很大的份额,因此对于上位机开发而言,经常会存在需要与西门子PLC进行通信的情况.然后对于西门子PLC来说,通信方式有很多,下面简单列举一下: ...

最新文章

  1. 1—YOLO2:环境搭建
  2. 【Java报错】GP数据库 function point(unknown) is not unique.Could not choose a best candidate function 问题解决
  3. SX1301吞吐量是SX1276/8的多少倍?
  4. 执行work count程序报错Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
  5. 注解、垃圾回收和线程
  6. 【python】日志模块以及日志组件使用
  7. 使用git将本地仓库上传到远程仓库
  8. mysql mha好吗_MySQL高可用方案MHA的一些总结和思考
  9. Nodejs express 获取url参数,post参数的三种方式
  10. 北京上空出现三个太阳?专家:冰晶云对太阳光散射形成“幻日”
  11. Android仿qq登陆界面
  12. 【iOS】—— 懒加载
  13. 黑色主题的个人引导页,导航页html php源码
  14. 最小二乘法拟合椭圆——MATLAB和Qt-C++实现
  15. 机器学习基础---pr曲线的绘制
  16. 小程序的老祖宗PWA为什么没有火起来?
  17. Android 第三方RoundedImageView设置各种圆形、方形头像
  18. pinpoint 监控mysql_pinpoint分布式监控的基本使用 | 吴老二
  19. 中医文化的管理学启示
  20. Large函数和Small函数 Max Min

热门文章

  1. Luminati代理动态IP,海量资源可调用!
  2. github of gist完全使用指南
  3. php发邮件错误,从PHP发送邮件 – 是我的错误还是邮件服务器?
  4. 机器学习之线性回归模型的代价函数是凸函数的证明
  5. 矩阵分解--超详细解读
  6. KNN和Kmeans
  7. 写程序的时候常用什么字体?
  8. 微信浏览器禁止下载APK文件 微信扫描二维码 下载app的方法
  9. Anaconda下载以及创建自己的环境
  10. 「转行程序员」30岁想转行还能做什么?月入两万职位大比拼