- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ecan幼儿园安全管理系统设计
PAGE \* MERGEFORMAT 5
Ecan幼儿园安全管理系统分析设计
一:需求分析
1:学生和教师都要刷卡出入园,系统记录每次出入园时间,学生入园必须记录身体健康状况(健康、观察、服药),并提供具体查询。分别计算出学生和教师的出勤人数,并以柱状图显示。
2:数据必须有备份,要求至少保存五年数据。
3:刷卡要有文字声音提示,学生刷卡显示姓名外还必须显示班级以及身体健康状况,其中持卡人姓名要突出显示。
二:数据库设计
用户表UserInfo
ID:编号
UserName:用户名 UserPwd:用户密码
UserType:用户类型(管理用户、操作用户)
IC卡信息表ICInfo
ID:编号 ICID:IC卡编号
ICName:姓名 ICClass:班级(如果是教师的话为空)
Type:类型(学生、教师) Mode:模式(入园、出园)
Status:状态(健康、观察、服药) TriggerTime:触发时间(年月日时分秒格式)
学生信息表StudentInfo
ID:编号 StudentID:学号
StudentName:姓名 StudentIC:对应IC卡号
Class:班级 StudentSex:性别
StudentX1:监护人1姓名 StudentX1Tel:监护人1联系方式
StudentX2:监护人2姓名 StudentX2Tel:监护人2联系方式
StudentAddr:家庭住址 IsIn:是否已经入园
IsOut:是否已经出园
教师信息表
ID:编号 TeacherID:教职工号
TeacherName:姓名 TeacherIC:IC卡号
TeacherSex:性别 TeacherTel:联系电话
TeacherAddr:家庭住址 IsIn:是否已经入园
IsOut:是否已经出园
三:问题分析
1:自动备份刷卡数据
配置文件定义开关IsAutoCheckData用来存储是否自动备份数据。
每次程序启动时,判断当前月份是否小于八月份,如果小于八月份,说明是上半年,查找根目录是否存在bak开头的加上年份加上01.db(bak201201.db),如果不存在,则复制当前数据库到根目录并重命名为bak201201.db格式的文件,然后清空刷卡信息表ICInfo,并压缩数据库(清空表后会多出很多空余空间,需要压缩减少数据库体积)。如果大于八月份说明是下半年,同上查找根目录是否存在bak201202.db格式的文件,同上操作。这样的话每个学期数据库都会依次备份,格式bak201201.db、bak201202.db、bak201301.db,01代表上半年,02代表下半年。同时保持新学期数据库重新记录刷卡信息,加快数据库检索速度,保证每个学期数据完整性,(如果要查询上个学期的刷卡信息,只要将对应备份数据库名字改为myCS.db即可)。
废弃算法:程序启动后自动将30天前的所有数据清除,只保留最近30天的数据。
缺点:破坏了数据的完整性,同时没有备份数据库。
2:手工出入园自动查找已出入园学生和教师
学生表和教师表增加字段IsIn、IsOut分别存储该学生和教师是否已经刷卡,1代表已经刷卡,0代表没有刷卡。配置文件LastClearInOutData存储最后一次重置所有人员刷卡状态的时间。
程序首次启动后,判断LastClearInOutData是否为今天,如果不是说明今天还没有重置所有刷卡状态,此时将所有人员刷卡状态置为0,将LastClearInOutData改为当前时间保存,防止一天中多次启动不能判断当天是否已经重置刷卡状态。手工出入园界面启动后,分别从学生表和教师表中查找符合要求的数据填充到已入园已出园列表框。
丢弃算法:加载学生和教师数据,依次遍历刷卡信息表,如果今天已近存在该人员信息,则填充到已入园、已出园列表框。
缺点:当数据量不断增大时,速度会越来越慢,每次执行大量循环(400个学生的话,大概执行400人*400次刷卡=160000次循环)。
3:自动核对刷卡信息
无人刷卡30分钟后,自动重发刷卡信息到对应班级教室面板,以班级为单位,9字节数据。
定义一个计数器计数,在刷卡信息窗体中放置一个定时器,间隔1分钟判断当前界面是否显示,显示则说明最近有人刷卡,将计数清零,如果不显示,说明显示器已经关闭,计数累加,当计数累加到20时并且已经启用自动核对刷卡信息,则将今天刷卡信息依次按照班级组建9字节数据,然后发送数据到对应班级面板ID。
废弃算法:手工单击按钮发送消息核对刷卡信息。
缺点:不够人性化,每次都需要专人单击按钮,同时如果某个教室灯板在发送整
文档评论(0)