统计分析软件详细需求讲解.docx
《统计分析软件详细需求讲解.docx》由会员分享,可在线阅读,更多相关《统计分析软件详细需求讲解.docx(127页珍藏版)》请在冰豆网上搜索。
统计分析软件详细需求讲解
查询统计分析软件
开发要求
软件环境
用途
类型
名称及版本
开发
开发工具
Myeclipse6及以上版本
开发语言
Java
数据库设计工具
Sqlserver2000及更高版本都要支持
数据库
Sqlserver2000及更高版本都要支持
服务器
tomcat6.0、JDK1.5
浏览器
搜狗,ie9及更高版本,火狐,360
生产
浏览器
搜狗,ie9及更高版本,火狐,360
服务器
WindowsXP/7/8windows2003\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;
4.门锁:
LockInfos;
5.下发白名单:
Lock_DataSwitchTab;
6.上传信息:
PassInfo;
7.数据服务网关在线信息:
HardWareEvents;
8.门锁状态信息:
DeviceStatusDetail;
9.硬件事件类型表:
DeviceEventType。
主要功能
1.一键统计;
2.图形分析;
3.获取客户数据库。
数据库内目标设备
1.数据服务网关多个;
2.分组多个;
3.分支多个;
4.门锁多个;
设备关联图:
说明:
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
1
门锁
1
1
名字
1
2
门锁
2
2
3
N
名字N
N
门锁N
说明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表:
HWClientStatusID(状态生成时编号)、HWid(从属设备ID)、
HW_Type(设备类型)、HW_Event_Type(事件类型)、HW_Event_Status(事件状态)、HWEventTime(时间戳)
查询条件说明
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(HWEventStatus=1)时表示门锁在线。
备注
事件类型:
HW_Event_Type=3(心跳)事件状态:
HW_Event_Status=1(在线)设备类型:
HWType=7(公寓锁)
门锁离线数:
表格编号
005
功能描述
查找出条件时间内每把锁的离线总数
数据库表名
HardWareEvents、LockInfos
字段名
LockInfos表:
LockId(锁ID)
HardWareEvents表:
HWClient_StatusID(状态生成时编号)、HW_id(从属设备ID)、HW_Type(设备类型)、HW_Event_Type(事件类型)、HW_Event_Status(事件状态)、HWEventTime(时间戳)
查询条件说明
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(HWEventStatus=0)时表示门锁离线。
备注
事件类型:
HW_Event_Type=3(心跳)事件状态:
HW_Event_Status=0(离线)设备类型:
HWType=7(公寓锁)
首次工作时间:
表格编号
006
功能描述
查找出条件时间内每把锁的第一条在线数据的时间
数据库表名
HardWareEvents、LockInfos
字段名
LockInfos表:
LockId(锁ID)
HardWareEvents表:
HWClient_StatusID(状态生成时编号)、HW_id(从属设备ID)、HW_Type(设备类型)、HW_Event_Type(事件类型)、HW_Event_Status(事件状态)、HWEventTime(时间戳)
查询条件说明
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(HWEventStatus=1)时表示门锁在线。
备注
事件类型:
HW_Event_Type=3(心跳)事件状态:
HW_Event_Status=0(离线)设备类型:
HW_Type=7(公寓锁)时间格式:
如:
2015-10-1418:
31:
30
电压值:
表格编号
007
功能描述
查找出这段时间内最后1条电压值
数据库表名
DeviceStatusDetail、LockInfos
字段名
LockInfos表:
LockId(锁ID)
DeviceStatusDetail表:
DeviceId(设备ID)、DeviceType(设备类型)、StatusKey(状态Key)、RecordTime(时间戳)、StatusValueDetail(电压值)
查询条件说明
1.首先按查询条件中所选择的LockId依次查找;
2.其次根据RecordTime查找出条件时间内每把锁的最后一条电压值;
3.即当满足(LockInfos表.LockId=DeviceStatusDetail表.DeviceId)and(DeviceType=
7)and(StatusKey=3)且在条件时间内最大时间的StatusValueDetail字段里的值。
备注
状态Key:
StatusKey=3(电池电压)
压降:
表格编号
008
功能描述
条件时间内最大时间的电压值与最小时间的电压值的差
数据库表名
DeviceStatusDetail、LockInfos
字段名
LockInfos表:
LockId(锁ID)
DeviceStatusDetail表:
DeviceId(设备ID)、DeviceType(设备类型)、StatusKey(状态Key)、RecordTime(时间戳)、StatusValueDetail(电压值)
查询条件说明
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(时间戳)、StatusValueDetail(电压值)
查询条件说明
1.首先按查询条件中所选择的LockId依次查找;
2.其次根据RecordTime查找出条件时间内每把锁的电压值为1.4V的次数;
3.即当满足(LockInfos表.LockId=DeviceStatusDetail表.DeviceId)and(DeviceType=7)and(StatusKey=3)and(StatusValueDetail=14)的总数。
备注
说明:
指令内收到的14代表1.4V,1.4V是异常现象
变更权限的次数:
表格编号
010
功能描述
条件时间变更权限的次数
数据库表名
LockDataSwitchTab、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
字段名
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应增加“紧急报警解除”类型
紧急呼叫开关长时间有效错误次数:
表格编号
014
功能描述
条件时间内紧急呼叫开关长时间有效错误次数
数据库表名
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=19)的总数
备注
DeviceEvent应增加“紧急呼叫开关长时间有效错误”类型
密码多次输入错误报警次数:
表格编号
015
功能描述
密码多次输入错误报警次数
数据库表名
DeviceEventType、LockInfos
字段名
LockInfos表:
LockId(锁ID)
DeviceEventType表:
DeviceID(设备ID)、DeviceType(设备类型)、DeviceEvent(事件类型)、MidFKID(上传数据唯一标识)、TimeStamp(时间戳)
查询条件说明
1.首先按查询条件中所选择的LockId依次查找;
2.其次根据distinct(MidFKID)将DeviceEventType表的内容进行去重;
3.根据TimeStamp查找出条件时间内每把锁的密码多次输入错误报警次数;
4