关机软件项目规划

news2024/9/20 7:58:01

一、概述

1.1 编写目的

此项目开发规划书的编写主要是为《UPS SNMP卡网络监控系统》中配套使用的关机软件做主要的规划和整合,在开发过程中起到引导作用,以及给使用者提供简要的说明。

1.2 项目背景

关机软件是UPS网络监控适配器项目监控层的组成部分,整体项目初期为研发公司自有的UPS SNMP网络监控卡、监控层软件。其中监控层包括可通过PC浏览SNMP卡本身的web网页和相关的配套PC软件,即集中上位机监控软件、SNMP卡搜索软件、服务器关机软件等等。

1.3 软件实现的功能

关机软件为UPS辅助的关机程序,可安装于连接网络的windows系统计算机上,通过SNMP网口转换卡与UPS相连,在完成关机软件与网络的硬件设定后,当关机软件通过固定IP和端口接收到由网络上的UPS所送出的市电故障,电池故障和UPS故障等讯息时,可保存和记录文档后,安全的关机。其主要功能有:

1、支持RFC1628的SNMP协议远程监控UPS;

2、可监控UPS的各种故障信息,功能使能设置和关机时间设置;

3、可选择关闭系统前自动保存重要文档,进入休眠状态等方式;

4、在关机或者休眠之前若故障解除可自动恢复正常;

5、可实时记录故障事件信息,用户可查询记录、打印、保存;

6、可以记录关机前文档档案,用户可通过关机档案查询记录;

7、支持任务栏隐藏模式运行,告警后可弹出告警信息;

8、联机断开后可自动连接,并且有开机自动启动功能;

1.4 已有类似产品分析

1.4.1 易事特的iSmartMate

        易事特的iSmartMate界面设计观感良好,在XP 32bit OS、Win7 64bit OS和linux32bit和64bit OS上都能正常运行。主窗口可显示网络的连接状态和UPS的运行状态,并且状态栏显示了时间日期和关机、agent连接等事务状态。采用的SNMP协议版本支持V1、V2、V3,并通过输入具体IP地址连接SNMP卡。

1.4.2 鼎坚的ClientMate

        鼎坚的ClientMate在IP的网络连接设置稍显负载,能够添加多个IP地址并存储,并且还具有搜索软件具备的自动搜索SNMP卡IP的功能。软件支持XP 32bit 和Win7 64bit 系统,能够设置密码,在只有输入原设定密码后方可更改软件的内设定值。

1.5 使用环境

该软件的使用环境如下所示:

二、系统需求

2.1 环境

2.1.1 系统环境

(1)硬件环境包括:

1. 计算机需求:服务器PC主机,支持RS232或者USB通信。

2. 连接线需求:UPS专用RS232 的9PIN串口线或者USB连接线,对于使用RS-232串口通讯的客户,将母的一端接在系统上的RS-232通讯口上;对于使用USB通讯的客户, 只需用专用的USB数据通讯线将电脑与UPS连接即可。

3. UPS需求:支持串口协议通信的UPS。

4.SNMP卡代理需求:支持RS232通信和RJ45网络通信。

(2)操作系统支持:

        本软件要求能够正常运行于Windows 32位及64位系统,Linux 32位及64位系统系统,支持多语言的切换。

2.1.2 开发平台

根据系统环境的要求,选择支持跨平台、多语言的开发平台QT。

2.2 工作模式

                本软件是一个监控类型的软件,分为窗口界面模式和任务栏模式。窗口界面模式在需要的时候设置和查看日志,任务栏模式隐藏运行,方便后台运行并关机。

2.3 功能性需求

2.3.1 主窗口界面

        网络通断状态、UPS连接状态、实时事件记录和状态栏当前时间、关机倒计时等显示功能。

2.3.2 设置

        IP,SNMP版本,关机保存路径,关机运行外部命令,关机时间,开机自动运行程序选择和弹出报警对话框的设置。

2.3.3 关闭

        上次关机的时间、程序以及保存的文件。

2.3.4 日志

        查询联机实时记录的事件日志和故障信息。

2.4 非功能性需求

1、以“查找”自动搜寻欲联机的地址(有搜索软件功能的需求);

2、局域网信息广播,设定是否启动局域网信息广播功能(服务器平台使用);

3、设定密码,当更改netagent内设定值需要输入原设定的密码才能更改设定值。

三、软件实现方案

3.1 主窗口界面

界面部分

功能分类

详细说明

网络状态

IP

被监控UPS对应的IP地址

UPS状态

市电故障

当市电断开,UPS进入到电池模式

红色:告警

绿色:正常

灰色:未使能

电池电压低

在电池模式下,电池电压或容量低

UPS故障

UPS出现故障的告警

实时事件

联机实时记录

实时记录联机的时间,联机状态,IP

状态栏

当前时间

显示当前实时时间信息

关机倒计时

显示关机倒计时的时间

代理和UPS的状态

显示代理和UPS的连接状态

3.1 设置功能

        SNMP设置的实现主要为SNMP协议的实现,使用现有开源SNMP包在QT中进行编译,生成LIB库,在QT主程序中调用函数接口,来设置具体IP并搜索连接;采用QT文件保存编程、关机选项设置按钮等实现电源设置功能。

3.2 关闭功能

        记录上次关机时间和关闭程序,采用QT调用操作系统关机函数接口实现。

3.3 日志功能

        对代理发送的MIB故障信息进行记录,使用QT自带的SQL数据库功能,实现200条实时事件的记录。

3.4 帮助功能

        显示软件的版本、公司信息,可链接用户使用手册。

四、软件总体设计架构

本项目从功能划分,主要分为以下几个模块:

(1)操作界面模块

        这部分是与用户交互的程序界面,即所谓的UI。主要由故障和连接状态图标、实时事件显示列表、功能选项按钮等组成。

(2)数据处理模块

        数据处理模块是本软件的核心部分,主要包括SNMP的收发处理、SNMP的数据处理和IP、电源设置处理,其中SNMP数据处理又包括代理的MIB变量读取、日志记录和关机处理。SNMP建立在TCP/IP之上,是一个应用层协议,采用UDP方式通信,该软件通过收发处理实现对代理MIB的访问和控制,对采集到的故障信息进行归类处理,然后将这些数据信息显示在监控界面上并使用数据库进行日志记录,同时,管理进程发送指令给PC、服务器,命令其关机、关闭进程、文档保存等。

五、项目开发进度规划

(1)项目总体规划

项目名称: 

实现功能

具体IP的SNMP卡连接、实时事件记录、故障关机并保存已打开程序

项目预计周期

人员配备

分项目安排

项目风险

系统成本

备注: 

六、项目提交资料

本项目应提交以下资料(但不限于):

  1. 项目规划书;
  2. 软件架构设计说明书;
  3. 产品说明书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2083034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

16岁激活交学费银行卡需要本人实名电话卡,线下营业厅不给办,怎么办?

16岁激活交学费银行卡需要本人实名电话卡,线下营业厅不给办,怎么办? 话卡办理规定: 根据《民法典》和《电话用户真实身份信息登记规定》的相关要求,未满16周岁的用户通常需要在监护人的陪同下办理电话卡,并…

IO多路复用几种函数

1. select() 函数原型 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);参数说明 nfds:指定文件描述符的范围。这个值应设置为所有文件描述符中最大值加一。例如,如果监视的文件描述符是 0 到 …

斯坦福大学cs231n (图像分类)

1.介绍 当作图像分类时,分类系统接收一些分类图像,比如猫咪。并且系统清楚了一些已经确定了分类或者标签的集合。那么,计算机的工作就是根据图片,给他分配一些固定的分类或者标签。 对于一个计算机来说,这是一个非常…

【CVPR‘24】DeCoTR:使用 2D 和 3D 注意力增强深度补全

DeCoTR: Enhancing Depth Completion with 2D and 3D Attentions DeCoTR: Enhancing Depth Completion with 2D and 3D Attentions 中文解析摘要介绍方法方法3.1 问题设置3.2 使用高效的 2D 注意力增强基线3.3 3D中的特征交叉注意力点云归一化位置嵌入3.4 捕捉 3D 中的全局上下…

软件测试常见面试题汇总(2024版)

一、常见的面试题汇总 1、你做了几年的测试、自动化测试,说一下 selenium 的原理是什么? 我做了五年的测试,1年的自动化测试; selenium 它是用 http 协议来连接 webdriver ,客户端可以使用 Java 或者 Python 各种编…

MySQL的InnoDB、MyISAM的参数及常见错误码

1:参数 参数,也被称之为MySQL的系统变量,这些变量是影响MySQL运行的关键,对每个参数做出不同调整,都有可能直接影响到线上数据库的性能,具体的完整系统参数可参考《MySQL官网文档-系统变量》,官…

图表检测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

图表检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

通过写文件方式写入 Hive 数据

通过写文件方式写入 Hive 数据 Hive最简单的写入数据方式就是通过Hive Jdbc写入Hive数据,但这并不是写入Hive最高效的方法。 Hive通过读取相关Hdfs的文件来获取数据信息,而通过直接写入Hdfs文件数据达到写入Hive数据的效果,这是目前最高效的…

《python语言程序设计》2018版第8章第2题检测子串,你可以用str类中的find方法检测一个字符串

我先用in来做一次 def find_text(text_input1, text_input2):a str(text_input1)b str(text_input2)if b in a:print(f"The {b} is in {a} ")else:print(f"The {b} is not in {a} ")text_n1 "Welcome to shenyang" text_n2 "to"fi…

zdppy_cache缓存框架升级,支持用户级别的缓存隔离,支持超级管理员管理普通用户的缓存

启动服务 import zdppy_api as api import zdppy_cachekey1 "admin" key2 "admin"app api.Api(routes[*zdppy_cache.zdppy_api.cache(key1, key2, api) ])if __name__ __main__:import zdppy_uvicornzdppy_uvicorn.run(app, host"0.0.0.0",…

JVM-类加载过程

类加载过程是 Java 虚拟机 (JVM) 将 Java 代码编译后的字节码文件加载到内存中,并进行解析和验证,最终使程序能够运行的关键步骤。 类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 1. 加载…

Vitis AI 基本认知(Tiny-VGG 标签获取+预测后处理)

目录 1. 简介 2. 解析 2.1 获取标签 2.1.1 载入数据集 2.1.2 标签-Index 2.1.3 保存和读取类别标签 2.2 读取单个图片 2.3 载入模型并推理 2.3.1 tiny-vgg 模型结构 2.3.2 运行推理 2.4 置信度柱状图 2.5 预测标签 3. 完整代码 4. 总结 1. 简介 本博文在《Vitis …

Python酷库之旅-第三方库Pandas(105)

目录 一、用法精讲 456、pandas.DataFrame.rdiv方法 456-1、语法 456-2、参数 456-3、功能 456-4、返回值 456-5、说明 456-6、用法 456-6-1、数据准备 456-6-2、代码示例 456-6-3、结果输出 457、pandas.DataFrame.rtruediv方法 457-1、语法 457-2、参数 457-3…

云计算实训38——docker网络、跨主机容器之间的通讯

一、docker⽹络 1.桥接--bridge 所有容器连接到桥就可以使⽤外⽹,使⽤nat让容器可以访问外⽹ 使⽤ ip a s指令查看桥,所有容器连接到此桥,ip地址都是 172.17.0.0/16 ⽹段,桥是启动docker服务后出现,在centos使⽤ br…

centos安装mysql8.0版本,并且实现远程连接

一、 卸载mysql 查看mysql安装情况 rpm -qa | grep -i mysql 删除上图中所有信息 rpm -ev mysql-community-release-el7-5.noarch --nodeps 再次查询,没有数据,则为删除干净 find / -name mysql rm -rf /var/lib/mysql 将机器上的所有mysql相关文…

一篇文章带你真正了解接口测试(附视频教程+面试真题)

一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、…

79.位域

目录 一.位域的概念 二.语法格式 三.无名位域 四.视频教程 一.位域的概念 有些数据在存储的时候并不需要一个完整的字节。比如使用一个变量表示开关的状态,开关只有开和关俩个状态,所以只需要使用0和1表示,也就是一个二进制位。所以这时候…

前端提升之——chrome浏览器插件开发指南——chrome插件介绍及入门

前言 有一天突发奇想,想要自己写一个浏览器插件玩一玩,并不做用于商业或者其他方面,仅仅用于自我技术的练习和提升。 这里的浏览器我选择Chrome,当然chrome插件同样适用于微软自带的 Microsoft Edge 在当今发达的互联网环境下&…

云微客短视频矩阵如何打造多元化的视频内容呢?

随着抖音、快手等平台的兴起,短视频已经成为了人们日常生活的一部分,也有不少企业通过短视频赛道实现了品牌曝光和获客引流,但是单一的视频内容终究很难长久的吸引用户,所以如何打造多元化的视频内容呢? 在这个快节奏的…

【二叉树】OJ题目

🌟个人主页:落叶 目录 单值⼆叉树 【单值二叉树】代码 相同的树 【相同二叉树】代码 对称⼆叉树 【对称二叉树】代码 另一颗树的子树 【另一颗树的子树】代码 二叉树的前序遍历 【二叉树前序遍历】代码 二叉树的中序遍历 【二叉树中序遍历】…