统计分析软件详细需求汇总.docx
《统计分析软件详细需求汇总.docx》由会员分享,可在线阅读,更多相关《统计分析软件详细需求汇总.docx(150页珍藏版)》请在冰豆网上搜索。
统计分析软件详细需求汇总
查询统计分析软件
一、
开发要求
软件环境
用途
类型
名称及版本
开发工具
Myeclipse6及以上版本
开发语言
Java
开发
数据库设计工具
Sqlserver2000及更高版本都要支持
数据库
Sqlserver2000及更高版本都要支持
服务器
tomcat6.0、JDK1.5
浏览器
搜狗,ie9及更高版本,火狐,360
浏览器
搜狗,ie9及更高版本,火狐,360
生产
服务器
WindowsXP/78windows2003\windows2008
等Windows系列、tomcat6.0、JDK1.5
数据库
Sqlserver2000及更高版本都要支持
二、
其他非功能需求
性能需求
1.响应时间:
<=2s
2.并发支持:
10
安全措施需求
1.应对用户进行严格的访问控制,确保相关信息特别是重要数据信息的安全访问。
2.应采用防火墙等安全保障手段进行边界保护,防止对网络和服务器的恶意攻击。
质量需求
1.正确性:
保证交付的源码满足用户需求。
2.兼容性:
客户端浏览器需兼容搜狗,ie9及更高版本,火狐,360
3.分辨率自适应
4.健壮性:
系统对数据的处理要求有完善的效验方式,不可以因为用户操作错误而出现程序错误。
5.代码共用性:
6.可扩展性:
当需求中出现页面定制无法满足的页面功能时,可以编写专门对应该需求的模块来解决这个问题。
7.系统可根据需要定制同外部系统的通讯接口:
包括Webservice、数据库接口。
三、需求概述
查询对象:
sql-server数据库
1.数据服务网关:
DSGComputers
2.分组:
GroupInfos;
3.分支:
SubsInfos;
1
4.:
LockInfos;
5.下发白名单:
Lock_DataSwitchTab;
6.上传信息:
PassInfo;
7.数据服务网关在线信息:
HardWareEvents;
8.门锁状态信息:
DeviceStatusDetail;
9.硬件事件类型表:
DeviceEventType。
主要功能
1.一键统计;
2.图形分析;
3.获取客户数据库。
数据库内目标设备
1.数据服务网关多个;
2.分组多个;
3.分支多个;
4.门锁多个;
设备关联图:
分支N
分支1
门锁M
数据服务网关1
分组1
门锁1
门锁N
分组2
数据服务网关2
分组N
数据服务网关N
说明:
1.
数据服务网关的下级只能是分组,且一个数据服务网关可以带多个分组
;
2.
分组的下级可能是分支也可能直接就是门锁,一个分组可以带多个分支和门锁
;
3.分支的下级可能还是分支也可能是门锁,一个分支可以带多个分支和门锁。
查询统计分析结果可excel导出和导入;
1.查询结果可导出Excel格式的文件。
2.可将excel格式的统计结果导入,进行显示。
四、具体需求
一键查询统计
1.查询条件:
查询条件详细说明
1.整个架构树形结构显示;可任意选择树形结构内设备;
2.设备类型:
设备选择
数据服务网关:
显示名称(DSGComputers)
分组:
显示名称(GroupInfos)
统
计
分
析
软
件
2
SubsInfos)
门锁:
显示名称(LockInfos)
3.默认:
全部选择年、月、日、时、分、秒
起始时间
默认:
2015-11-0100:
00:
00
年、月、日、时、分、秒
结束时间
默认:
当前时间;
备注
2.查询结果:
A.门锁工作状态明细表结果效果图如下:
数数门
据据锁
服服ID务务
网网
关关
ID名
称
门最最紧平平平平平平开关
⋯⋯⋯⋯⋯.等
锁后后急均均均均均均门门
等
名一一报每每每每每每信信
次次警天天天天天天号号
父父次刷刷刷刷使锁质质
节节数双巡非卡用动量量
点
点
卡
更
法
总
常
作
平
平
ID
名
总
卡
卡
数
开
次
均
均
称
数
总
总
常
数
值
值
数
数
闭
开
关
次
数
1名1门
字锁
11
1名2门
字锁
12
23
⋯⋯
⋯⋯
N名N门
字锁
NN
说明1.选择的控件支持字段名排序;
2.查询结果要有进度条;
3.列行数较多,设置为可左右拖动的形式;
4.可以设置每页显示多少行。
默认显示
500行。
5.所涉及的次数和数值都写在配置文件内。
门锁工作状态明细查找方法如下(每把锁都具有的工作状态):
数据服务网关ID、数据服务网关名字:
表格编号001
功能描述数据服务网关ID、数据服务网关名字
3
数据库表名
字段名
查询条件说明
LockInfos、GroupInfos、DSGComputer
LockInfos表:
LockId(锁ID)
GroupInfos表:
GroupId(分组ID)
DSGComputer表:
DSGid(网关ID)、DSGName(网关名称)
1.首先按查询条件中所选择的LockId查找相应的GroupID;
2.根据GroupID在GroupInfos表里查找相应的DSGid;
3.再根据DSGid在DSGComputer表里查找相应的DSGName;
4.显示相应的DSGid和DSGName。
备
注
门锁ID、门锁名字:
表
格
编
号
002
功
能
描
述
门锁ID、门锁名字
数据库表名
LockInfos
字
段
名
LockInfos表:
LockId(锁ID)、LockName(锁名称)
查询条件说明
1.
在查询条件中所选择的依次查找
LockId和LockName;
2.
显示LockId和LockName。
备
注
最后一次父节点ID、父节点名称:
表
格
编
号
003
功
能
描
述
获取最后一次父节点ID、父节点名称
数据库表名
DeviceEventType、LockInfos、GroupInfos、SubsInfos、
字
段
名
LockInfos表:
LockId(锁ID)
GroupInfos表:
GroupId(分组ID)、GroupName(分组名称)
SubsInfos表:
SubId(分支ID)、SubName(分支名称)
DeviceEventType表:
DeviceId(设备ID)、FatherType(父节点类型)、FatherID(设备
ID)、MidFKID(上传数据唯一标识)、TimeStamp(时间戳)
查询条件说明
1.
首先按查询条件中所选择的
LockId依次查找;
2.
其次根据distinct(MidFKID)将DeviceEventType
表的内容进行去重并按照MidFKID
排正序获取最后
1条父节点;
3.
从数据库里查此字段,
LockId对应DeviceId
4.根据FatherType找到父节点类型(分组/分支)
5.再到相应类型的表(GroupInfos/SubsInfos)内根据(GroupId/SubId)=FatherID找到设备名称,即(GroupName/SubName);
6.显示父节点的ID和名称。
备注1.FatherType、FatherID未保存;
2.TimeStamp:
DSG和DLL协议内有个时间簇字段,在数据库内会存储,按照这个时间来查询
门锁在线数:
表
格
编
号
004
功
能
描
述
查找出条件时间内每把锁的在线总数
数据库表名
HardWareEvents、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
HardWareEvents表:
HWClient_StatusID(状态生成时编号)、HW_id(从属设备ID)、
4
查询条件说明
备注
HW_Type(设备类型)、HW_Event_Type(事件类型)、HW_Event_Status(事件状态)、
HW_Event_Time(时间戳)
1.首先按查询条件中所选择的LockId依次查找;
2.其次根据distinct(HWClient_StatusID)将HardWareEvents表的内容进行去重;
3.然后根据HW_Event_Time查找出条件时间内每把锁的在线总数;
4.即当满足(LockId=HW_id)and(HW_Type=7)and(HW_Event_Type=3)and(HW_Event_Status=1)时表示门锁在线。
事件类型:
HW_Event_Type=3(心跳)
事件状态:
HW_Event_Status=1(在线)
设备类型:
HW_Type=7(公寓锁)
门锁离线数:
表
格
编
号
005
功
能
描
述
查找出条件时间内每把锁的离线总数
数据库表名
HardWareEvents、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
HardWareEvents表:
HWClient_StatusID(状态生成时编号)、HW_id(从属设备ID)、
HW_Type(设备类型)、HW_Event_Type(事件类型)、HW_Event_Status(事件状态)、
查询条件说明
备注
HW_Event_Time(时间戳)
1.首先按查询条件中所选择的LockId依次查找;
2.其次根据distinct(HWClient_StatusID)将HardWareEvents表的内容进行去重;
3.然后根据HW_Event_Time查找出条件时间内每把锁的离线总数;
4.即当满足(LockId=HW_id)and(HW_Type=7)and(HW_Event_Type=3)and(HW_Event_Status=0)时表示门锁离线。
事件类型:
HW_Event_Type=3(心跳)
事件状态:
HW_Event_Status=0(离线)
设备类型:
HW_Type=7(公寓锁)
首次工作时间:
表
格
编
号
006
功
能
描
述
查找出条件时间内每把锁的第一条在线数据的时间
数据库表名
HardWareEvents、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
HardWareEvents表:
HWClient_StatusID(状态生成时编号)、HW_id(从属设备ID)、
HW_Type(设备类型)、HW_Event_Type(事件类型)、HW_Event_Status(事件状态)、
HW_Event_Time(时间戳)
查询条件说明
1.
首先按查询条件中所选择的
LockId依次查找;
2.
其次根据distinct(HWClient_StatusID)将HardWareEvents表的内容进行去重;
3.
然后根据HW_Event_Time查找出条件时间内每把锁的第一条在线数据的时间;
4.
当满足(LockId=HW_id
)and(HW_Type=7)and(HW_Event_Type=3)and
(HW_Event_Status=1)时表示门锁在线。
备
注
事件类型:
HW_Event_Type=3(心跳)
事件状态:
HW_Event_Status=0(离线)
设备类型:
HW_Type=7(公寓锁)
时间格式:
如:
2015-10-1418:
31:
30
电压值:
5
表格编号
功能描述数据库表名
字段名
查询条件说明
007
查找出这段时间内最后1条电压值
DeviceStatusDetail、LockInfos
LockInfos表:
LockId(锁ID)
DeviceStatusDetail表:
DeviceId(设备ID)、DeviceType(设备类型)、StatusKey(状
态Key)、RecordTime(时间戳)、StatusValue_Detail(电压值)
1.首先按查询条件中所选择的LockId依次查找;
2.其次根据RecordTime查找出条件时间内每把锁的最后一条电压值;
3.即当满足(LockInfos表.LockId=DeviceStatusDetail表.DeviceId
)and(DeviceType=
7)and(StatusKey=3)且在条件时间内最大时间的StatusValue_Detail
字段里的值。
备
注
状态Key:
StatusKey=3(电池电压)
压降:
表
格
编
号
008
功
能
描
述
条件时间内最大时间的电压值与最小时间的电压值的差
数据库表名
DeviceStatusDetail、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
DeviceStatusDetail表:
DeviceId
(设备ID)、DeviceType
(设备类型)、StatusKey(状
态Key)、RecordTime(时间戳)、StatusValue_Detail(
电压值)
查询条件说明
1.首先按查询条件中所选择的
LockId依次查找;
2.其次根据RecordTime查找出条件时间内每把锁的第一条和最后一条电压值;
3.
即当满足(LockInfos表.LockId=DeviceStatusDetail表.DeviceId)and(DeviceType
=
7)and(StatusKey=3)
且在条件时间内最小时间和最大时间的StatusValue_Detail
字
段里的值。
4.
最后将(最小时间的
StatusValue_Detail
的值---最大时间的StatusValue_Detail
的值);
5.结果保留1位小数
备
注
(说明:
指令内收到的
70代表7V);
举例:
100天内最后
1条电压值为75;第一条电压值为
80;
压降:
8V-7.5V=0.5V
异常情况:
如果最后
1条电压值大于第一条电压值则压降为
0;
电压值为1.4V次数:
表
格
编
号
009
功
能
描
述
条件时间内出现电压值为
1.4V次数
数据库表名
DeviceStatusDetail、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
DeviceStatusDetail表:
DeviceId(设备ID)、DeviceType(设备类型)、StatusKey(状态
Key)、RecordTime(时间戳)、StatusValue_Detail(电压值)
查询条件说明1.首先按查询条件中所选择的LockId依次查找;
2.其次根据RecordTime查找出条件时间内每把锁的电压值为1.4V的次数;
3.即当满足(LockInfos表.LockId=DeviceStatusDetail表.DeviceId)and(DeviceType=7)and(StatusKey=3)and(StatusValue_Detail=14)的总数。
备注说明:
指令内收到的14代表1.4V,1.4V是异常现象
变更权限的次数:
6
表
格
编
号
010
功
能
描
述
条件时间变更权限的次数
数据库表名
Lock_DataSwitchTab、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
Lock_DataSwitchTab表:
TargetId
(目标ID)、TargetType
(目标类型)
、CMDID(命
令ID)、MessTime(信息时间)
查询条件说明1.首先按查询条件中所选择的LockId依次查找;
2.其次根据MessTime查找出条件时间内每把锁的变更权限的次数;
3.即查找出这段时间内(LockInfos表.LockId=Lock_DataSwitchTab表.TargetId)and
(TargetType=7)andCMDID={1,8,9,10,11,12,13,14,21,22,23,36,
40,41,42,43,44,45,47,48,49,54,55,56,57,60,61}的总数;
备注1.TargetType=7表示公寓锁
紧急报警次数:
表
格
编
号
011
功
能
描
述
条件时间内紧急报警次数
数据库表名
PassInfo、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
PassInfo表:
DeviceID(设备
ID)、TimeStamp(时间戳)、PassStatus(通过状态)、
MidFKID(上传数据唯一标识)
查询条件说明
1.首先按查询条件中所选择的
LockId依次查找;
2.其次根据distinct(MidFKID)将PassInfo表的内容进行去重;
3.根据TimeStamp查找出条件时间内每把锁的紧急报警的次数;
4.即查找出这段时间内(LockInfos表.LockId=PassInfo表.DeviceID)and(PassStatus=24)
的总数
备注
紧急报警无响应次数:
表
格
编
号
012
功
能
描
述
条件时间内紧急报警无响应次数
数据库表名
DeviceEventType、LockInfos
字
段
名
LockInfos表:
LockId(锁ID)
查询条件说明
备注
DeviceEventType表:
DeviceID(设备ID)、DeviceType
(设备类型)、DeviceEvent(事
件类型)、MidFKID(上传数据唯一标识)、TimeStamp(时间戳)
1.首先按查询条件中所选择的
LockId依次查找;
2.其次根据distinct(MidFKID)将DeviceEventType表的内容进行去重;
3.根据TimeStamp查找出条件时间内每把锁的紧急报警无响应次数;
4.即查找出这段时间内(LockInfos表.LockId=DeviceEventType表.DeviceID)and(DeviceType=7)and(DeviceEvent=6)的总数
DeviceEvent应增加“紧急报警无响应”类型
紧急报警解除次数:
表格编号013
功能描述条件时间内紧急报警解除次数
数据库表名DeviceEventType、LockInfos
7
字段名
查询条件说明
备注
LockInfos表:
LockId(锁ID)
DeviceEventType表:
DeviceID(设备ID)、DeviceType(设备类型)、DeviceEvent(事件类型)、MidFKID(上传数据唯一标识)、TimeStamp(时间戳)
1.首先按查询条件中所选择的LockId依次查找;
2.其次根据distinct(MidFKID)将DeviceEventType表的内容进行去重;
3.根据TimeStamp查找出条件时间内每把锁的紧急报警解除次数;
4.即查找出这段时间内(LockInfos表.LockId=DeviceEventType表.DeviceID)and
(DeviceType=7)and(DeviceEvent=7)的总数DeviceEvent应增加“紧急报警解除”类型
紧急呼叫开关长时间有效错误次数:
表格编号
功能描述数据库表名
字段名
查询条件说明
备注