《软件工程课程设计--基于二维码技术的高校考生身份认证系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计--基于二维码技术的高校考生身份认证系统.docx(50页珍藏版)》请在课桌文档上搜索。
1、软件工程课程设计课题名称:基于二维码技术的高校考生身份认证系统目录系统总体描述1系统总体架构图1数据库模块设计2一、 功能描述2二、 数据库实体关系模型(ER图)设计3三、 ER图转数据库关系模式4四、 数据字典51. Student表52. TeaCher表53. Exam表64. TemP表65. Exam_info_receiver表66. StudentJogin表67. StudentJogin表78. TeacherJogin表79. AdminJogin表710. TeaCheJPaSSWOrd_recoVery表811. Student_passwor_recovery表8用户
2、接口模块设计二9功能描述91.用户注册模块9基本功能描述9具体功能描述92 .用户登陆模块9基本9具体功能描述93 .相关用户的操作模块9(1)系统超级管理员操作模块9基本功能描述9具体功能描述10(2)普通管理员(教师)操作模块10基本功能描述10具体功能描述10(3)普通用户(学生)操作模块10基本功能描述10具体功能描述102. 数据流图111 顶层数据流图112 .第二层数据流图113 .第三层数据流图123. 数据字典141. 数据流142. 数据文件18终端模块21一、 功能描述211 .扫描模块212 .解码模块213 .后台指纹验证模块21二、 终端模块功能的逻辑描述:22三、
3、 数据流图23第一层数据流图:23第二层数据流图:23第三层数据流图:23四、 加工规格说明24五、 数据字典24二维码生成与加密模块26一、 模块功能整体描述26二、 模块子功能描述261 .学生信息二维码生成模块26基本功能描述26具体功能描述如下262 .指纹二维码生成模块26基本功能描述26具体功能描述如下263 .加密模块271.方法一27基本功能描述27具体功能描述如下272.方法二27基本功能描述27具体功能描述如下274 .准考证合成模块27基本功能描述27具体功能描述如下27三、 数据流图281. 顶层数据流图282. 第二层数据流图283. 第三层数据流图29四、 加工规格
4、说明30五、 数据字典341 .数据流342 .数据文件36一、 功能描述401. 网页发布模块402. 邮件发布模块41二、 数据流图411 .顶层数据流图412 .第二层数据流图413 .第三层数据流图42三、 加工规格说明43四、 数据字典441 .数据流442 .数据文件45系统总体描述本系统运用二维码技术,结合管理信息系统,为考试身份认证提供更加准确、便捷的支持。通过数据库收录的学生的基本信息,如照片、姓名、学号、指纹等,生成唯一的加密二维码标识每个学生,并将其打印到准考证中,教师可以通过带有特定扫描和解密软件的终端扫描二维码,从学生数据库中得到该学生最近并且最新的信息,同时终端在在
5、后台进行指纹比对,通过双重方式对学生的身份进行验证。系统总体架构图孽生信定模.调用4生圾 纹码模 布维威调用二维码生成 与加密模块返回特定的学生信息数据模型设计将该学生的信息呈现 在终端屏幕上终端模块返回发布考试信息的情况访问数据库,并将生成的 唯,标识信息插入数据库考务信息管理者提交考 试信息将解码后的信息返回返回这个学生的信息数据库模块设计学号:2010190319姓名:陈科第班级:信息管理与信息系统一班一、功能描述1 .本系统的数据库中需要存储学生的相关信息,包括学校所有的学生。这些信息包含学号、姓名、身份证号、性别、学校、学院、年级、专业、班级、照片地址、照片更新时间、指纹图片地址、唯
6、一标识字符串。这些信息可以由本校的数据库导入,或由管理员输入。其中“唯一标识字符串”由二维码生成模块生成,并插入数据库,用于生成与学生一一对应的唯一的二维码。2 .本系统的数据库中还应存储教师的相关信息。这些教师不包括学校所有的教师,而是从各个学院选取出来的验证学生上传的照片信息的教师。教师的信息包括职工号、姓名、身份证号、学校、学院。3 .数据库中还应该包含登陆系统的验证信息。登陆信息包含三个相对独立的表,第一个是学生的登录信息表,包括邮箱、密码;第二个是教师的登陆信息表,包括邮箱、密码;第三个是管理员登陆信息表,包括邮箱和密码。这三个表中的邮箱作为用户注册时必须提供的信息,并作为今后登陆系
7、统的用户名。4 .由于本系统提供给学生用户更新最近照片的功能,所以学生上传的照片信息在未通过教师验证之前需要存储到一个临时表当中。此表包括学生ID、临时照片地址、照片上传日期、是否通过验证。5 .教师可以在考务信息发布子系统中发布考务信息,学生也可以通过登录自己的账户或者登录自己的邮箱查看考务信息。所以数据库中还应存储考务信息。考务信息包括考试科目,考试地点、考试备注。6 .系统提供找回密码功能,所以应该存储密码找回问题。对学生与教师分别设计一个表,其中存储密码找回问题与对应的答案。每个老师或学生有且仅有一个密码找回问题。学生密码找回问题(id,三)Kr一字比7/(y学生登录信息教师密码找回问
8、题WlT-Cp1J考务信息I三)fXJ_a5DKWiTx7.SSsssss临时照片1管理员登录信息教师登录信息ji三zx)(ja,ER图转数据库关系模式四、数据字典1.Student表字段名字段类型备注StUdent_idinteger唯一标识学生的字段Numbervarchar(15)学号GenderChar(2)性别NameVarchar(20)姓名IdentificationnumberChar(18)身份证号Schoolvarchar(50)学校Collegevarchar(50)学院GradeVarchar(4)年级Majorvarchar(50)专业Classvarchar(4)班
9、级Photo_addressvarchar(200)照片在本地计算机上的地址Photo_update_timeDatetime照片更新时间finger_mark_addressvarchar(200)指纹图片地址UniqUe.stringsChar(40)唯一标识学生的字符串QJaddreSSVarchar(200)二维码图片地址2.Teacher表字段名字段类型备注Teacher_idInteger唯一标识教师的字符串Numbervarchar(20)教师号NameVarchar(IO)姓名Identification_numberChar(18)身份证号Schoolvarchar(50)学
10、校Collegevarchar(50)学院3.Exam表Exam字段数据类型备注Exam_idInteger唯一标识考务信息TimeDatetime考试时间Addressvarchar(50)考试地址Subjectvarchar(50)考试科目RemarkText(200)考试备注Teacher_idInteger对应教师表中的教师id4.Temp表字段数据类型备注StudentidInteger对应于StUdent表TempphotoaddressVarchar(200)临时照片地址UploadtimeDatetime照片上传时间Teacher_idInteger对应于teacheJid表5
11、. Examinforeceiver表字段数据类型备注StudentidInteger对应于StUdent表EXam_idvarchar(200)临时照片的地址6. StudentJogin表字段数据类型备注emailVarchar(50)邮箱用作登录用户名PasswordChar(40)登录密码Student_idInteger对应于StUdent表7. StudentJogin表字段数据类型备注emailVarchar(50)邮箱用作登录用户名PasswordChar(40)登录密码Teacher_idInteger对应于teacher表8.TeacherJogin表字段数据类型备注ema
12、i1Varchar(50)邮箱用作登录用户名PasswordChar(40)登录密码Teacher_idInteger对应于teacher表9.AdminOgin表字段数据类型备注emailVarchar(50)邮箱用作登录用户名PasswordChar(40)登录密码10.Teacherpasswordrecovery表字段数据类型备注Teacher_idInteger对应于teacher表QuestionVarchar(100)密码找回问题AnswerVarchar(100)问题答案11.StUdenJPaSSWOjrecovery表字段数据类型备注StudentidInteger对应于S
13、tUdent表QuestionVarchar(100)密码找回问题AnswerVarchar(100)问题答案用户接口模块设计学号:2010190420姓名:易霜平班级:信息管理与信息系统二班1 .功能描述1用户注册模块基本功能描述此模块实现普通管理员、普通用户的账户注册功能。(系统超级管理员不需注册、另外,为防止恶意抢注的现象,系统提供注册验证码以邮件或手机短信的形式发送给待注册的用户)具体功能描述普通管理员(如学院的教务管理人员)和普通用户(如学生或考生)通过此模块输入自己姓名、身份证号、院系学校、密码找回的保密问题、邮箱等相关信息,经系统确认用户输入的姓名和身份证号等相关信息与系统数据库
14、中的相关信息匹配后,允许申请注册的用户设置自己的账户密码(要求密码长度在六位及以上,可以是字母数字的组合)。申请注册的用户设置好自己的账户密码后,系统将密码(以加密的形式)存入到系统数据库中。2 .用户登陆模块基本功能描述此模块实现系统超级管理员、普通管理员、普通用户的登陆功能。经过注册的用户可以使用注册成功的账户及密码进行登陆,以访问相关的页面。具体功能描述用户输入自己的账号和密码,此模块检索系统数据库中对应该用户的账号的密码,如果匹配成功,则进入对应的操作界面,如:超级管理员进入超级管理员的操作界面,普通管理员进入对应的管理操作界面、普通用户(学生或考生)进入普通用户操作界面。如果,账户和
15、密码匹配不成功,则进行相应的友好提示并要求重新输入。如果密码忘记,则提供相应的友好提示,询问是否进行密码的找回功能(如可以通过回答注册时提供的保密问题的方式找回相关密码或通过邮箱验证更改密码)3 .相关用户的操作模块(1)系统超级管理员操作模块基本功能描述此模块可实现对普通管理员的管理并具有普通管理员的所有操作功能,超级系统管理具有系统最高操作权限。具体功能描述系统管理员超级管理员可以通过操作数据库已有的用户的注册信息实现对普通系统管理员和普通用户的管理,如:增加普通系统管理员、删除普通系统管理员、增加普通用户、删除普通用户、编辑或修改普通系统管理员或普通用户基本信息等。此外,超级系统管理员还
16、具有整个系统的整体或部分功能开启的功能,如:开启整个系统以使用户可以注册相关账户、关闭整个系统以拒绝任何人员的访问(这在系统升级和维护阶段可以使用)、开启系统部分功能,如:允许普通用户上传自己近期电子档的照片等。(2)普通管理员(教师)操作模块基本功能描述此模块用于对普通用户(学生或考生)相关信息的操作和管理。具体功能描述普通管理员通过操作数据库中普通用户的注册信息实现对普通用户的管理,如:增加普通用户,删除普通用户、编辑或修改普通用户的基本信息(支持批量增加/删除/编辑或修改),此外,普通用户上传的电子档形式的近期照片还需相关的普通管理员进行确认已区分是否同过验证,若照片确认通过则将照片信息
17、更新到数据库并以邮件形式自动的发送到相关用户的邮箱(可以同过调用系统邮件发送组件执行此操作,同时在普通用户访问自己的页面时系统应当显示确认照片通过的信息),若照片没有确认通过,则不更新数据库,而直接以邮件形式和网页形式给出上传失败的友好提示(并注明失败理由和重传的截止时间)。此外,此模块还具有考务信息的编辑、存储和发布功能,普通管理员编辑好考务信息后,将考务信息先存入到系统数据库,之后如需发布考务信息普通管理员可以点击发布功能以调用系统的考务信息发布模块执行发布。(3)普通用户(学生)操作模块基本功能描述此模块用于实现普通用户的一些相关操作。具体功能描述此模块可以实现一些基本的用户操作,如:上
18、传用户照片,当用户点击上传照片时,系统立即启用系统内置的照片上传窗口组件并向用户提供一个操作友好型的照片上传窗口,当用户上传照片成功后,给予普通用户相应的友好提示以提醒何时查看以确认照片是否通过系统验证。对于等待照片确认的用户,其网页形式的用户界面上应该应给出相应的友好提示,如未通验证、已通过验证、等待验证等相关字样。此模块还提供普通用户基本考务信息的查询功能,当用户点击查询时,即可启用系统的考务信息查询组件以调用由考务信息发布模块发布的考务信息(如:考试科目、考试时间、到时地点、注意事项等)。另外,此模块还向用户提供专门的二维码准考证打印功能,当用户点击打印时,系统即启用相关打印组件,开始执
19、行二维码准考证的打印。2.数据流图1.顶层数据流图2第二层数据流图(用户注册部分)(用户登录及操作需求响应部分)3.第三层数据流图学生表学生密码找回表教师表教师密码找回表第三层数据流图(学生注册部分)第三层数据流图(教肺注册部分)(学生及教师注册部分)学生密码找回问题表学生登录信口表考务信息杳彻需陟Z学生考务得息黄询*考务信息表学生苧净信息邮箱、密码密何件保密向学生登录验证无效邮或密赢发送保密向ISk送任军马问题的/方式/选杯密码找回方式发送龊件选译发送邮件的方式需求学生衣肾录验/、遍这一/4牛操作需求I响应学生照片上传(学生登录及学生操作需求响应部分)学生近期照片临时照片表考务信息表(教师登
20、录及教师操作需求响应部分)增加、删除教师增加、管理员登录信息表开启、关闭学生注册功能教师登录信息表加启、关闭松师增、删、改操作的功能,管理员管理员开关求能需功启闭教师密码找回表作成(管理员登录及管理员操作需求响应部分)3.数据字典1.数据流数据流名:邮箱别名:用户登录邮箱组成:邮箱号备注:数据流名:密码别名:用户登录密码组成:密码号备注:别名:用户保密问题组成:用户设置的保密问题备注:作为用户密码找回的方式数据流名:保密问题答案别名:用户保密问题答案组成:用户给出的保密问题答案备注:数据流名:验证邮件别名:用户用于找回密码的邮件组成:邮件地址+邮件主题+邮件内容备注:数据流名:登录验证成功别名
21、:用户登录验证成功与否组成:登录验证布尔值备注:数据流名:增加考生需求别名:增加考生的操作需求组成:增加考生操作需求布尔值备注:数据流名:删除考生需求别名:删除考生的操作需求组成:删除考生操作需求的布尔值备注:别名:用户无效登录邮箱组成:邮箱号备注:数据流名:无效密码别名:用户无效登录密码组成:密码号备注:数据流名:选择发送保密问题的方式组成:保密问题发送方式布尔值备注:数据流名:选择发送邮件的方式别名:组成:邮件发送方式布尔值备注:数据流名:考务信息查询需求别名:组成:考务信息查询布尔值备注:数据流名:二维码准考证打印需求别名:学生二维码准考证打印需求组成:打印需求布尔值备注:别名:学生近期
22、照片验证的操作需求组成:学生近照验证操作布尔值备注:数据流名:指纹验证需求别名:验证学生指纹的操作操作需求组成:学生指纹验证操作备注:数据流名:考务信息别名:教师编辑的考务信息组成:考试时间+考试地点+考试科目+考试备注备注:数据流名:失败提示别名:学生照片或指纹上传失败提示组成:照片上传失败提示信息+指纹上传失败提示信息备注:数据流名:有效指纹别名:学生上传有效的指纹组成:学生上传的指纹备注:数据流名:无效指纹别名:学生上传无效的指纹组成:学生上传的指纹备注:别名:学生近期照片组成:学生上传的近期照片备注:数据流名:照片上传需求别名:学生上传照片组成:照片上传需求布尔值备注:数据流名:学生考
23、务信息别名:学生用户的相关考务信息组成:考试时间+考试地点+考试科目+考试备注备注:数据流名:二维码准考证别名:学生二维码准考证组成:考生照片+准考证号+学号+班级+专业+学院+学校备注:2.数据文件文件名:学生登录信息表组成:学生邮箱号+密码组织:按系、专业和班级编号及学号从小到大排列备注:文件名:学生表组成:ID+学号+姓名+身份证+学校+学院+年级+专业+班级+照片地址+指纹地址+唯一标示符+二维码图片地址组织:按系、专业、班级、学号从小到大排列备注:文件名:学生密码找回问题表组成:ID+问题+答案组织:按ID从小到大排列备注:文件名:教师登录信息表组成:邮箱号+密码组织:按教师号从小到
24、大排列备注:文件名:教师密码找回问题表组成:ID+问题+答案组织:按教师号从小到大排列备注:文件名:教师表组成:教师ID+职工号+姓名+身份证号+学校+学院组织:按教师号从小到大排列备注:组成:考务ID+考试时间+考试科目+考试点+考试备注组织:按考务ID从小到大排列备注:终端模块一、功能描述扫描模块的功能用二维码扫描器对二维码进行扫描,得到一个连接网址和一个指纹图片,再用指纹扫描现场采集学生的指纹与二维码扫描得到的指纹图片在后台进行对比,将得到的结果显示在扫描终端,对于得到的网址会弹出一个打开连接的按钮,点击连接按钮则根据网址上后面部分字段向存储学生的数据库发送访问请求,获取考生信息呈现在浏
25、览器上面。1.扫描模块二维码扫描模块从每个考生带入考场的准考证上面扫描其二维码从二维码的几何图形上面获取第一层信息;指纹扫描模块扫描考生的指纹获取考生的指纹信息生成一张图片;2,解码模块考生二维码解码模块对录入的二维码上的几何信息运用特定且固定的算法进行解码得到一个连接数据库中考生基本信息的网址,并跳转到浏览器;指纹二维码解码模块将获取的第一层信息运用特定且固定的算法进行解码得到一张承载了考生指纹信息的图片,并分配一个临时存储空间存储图片。3.后台指纹验证模块将指纹扫描时生成的图片和解码时存储的图片在后台(在后台对比时为了防止指纹泄密)进行对比,并将结果显示在扫描器上(在该过程仅仅只显示指纹核
26、对的结果,之所以在该过程对比指纹信息为了减轻数据库的负载,如果在验证模块进行指纹对比,则需要在数据库中查找每个考生的指纹图片大大的增加了数据库的负载减缓了效率)。二、终端模块功能的逻辑描述:1 .安装二维码扫描软件(具有特定解密功能的软件);2 .将扫描器(摄像头)对准需要读入的由其数据经过特定的加密算法生成的唯一字段生成的二维码(两个二维码,一个存储存储基本信息的对应网址,另一个存储指纹信息(一张指纹图片);3 .如果扫描不成功,则可能有两类的问题:一类、扫描终端的问题;二类、二维码身的出现损坏;扫描多人考生的二维码,如果都不成功则可能是一类问题或,否则可能是二类问题;4 .如果是一类问题则
27、可能有两种情况1、硬件出现问题;2、软件问题;(如果软件更新之后还存在错误则可能是硬件问题否则则可能是软件问题);5 .将软件更新;6 .如果更新软件不能解决问题,则将硬件进行更换;7 .如果是二维码的问题,则返回给验证模或者直接当场告诉用户你的存储准考信息的二维码出现损害请重新打印”;8 .如果扫描成功则继续以下步骤;9 .对录入的信息利用特定的解密算法(如guid函数,guid函数能对每个学生的信息生成一个唯一标示符)进行解码;10 .如果解码不成功则可能是算法出现错误;11 .在扫描器上显示解码出错;12 .返回第一步安装另一种特定的解码软件如果解码软件;13 .如果成功,解码之后会得到
28、一个链接考生(用户)的基本信息的网址和一张承载考生指纹信息的图片并在扫描其上显示解码成功;14 .对于网址则跳转到浏览器显示点击连接网址或复制网址;15 .如果复制网址则再另外一个浏览器或者浏览器的另外一个窗口粘贴打开连接跳转;16 .如果点击连接网址则直接进行跳转;17 .后台将接收到由二维码扫描得到的唯一标示符;18 .后台根据接收到的唯一标示符向存储学生信息的数据库发送读取对应考生信息的请求;19 .由验证模块读取信息并将读取的信息发送后台的接收模块;20 .再由后台将考生的基本信息呈现在浏览器上显示出来供监考老师和学生观察和对比;21 .对于考生指纹信息,则分配一个临时存储空间存储;2
29、2 .要求考生进入考场时,在特定的指纹扫描仪上扫描指纹信息(一般假定是大拇指)即对考生指纹信息的录入,生成一张图片;23 .将该考生的指纹信息与存储在临时存储空间中的指纹信息在后台进行对比(对比的方式,如重叠率达90%以上则认为是同一个人);24 .如果二则吻合则在扫描器上显示一个布尔值为“true”的字段;25 .并将该“ture”字段传递给验证模块(在验证模块验证信息时,只有所有的信息都与考生以前存储的信息完全一致时才算验证通过);26 .如果二则不吻合,则在扫描器上显示一个布尔值为“false”的字段,(此时还不将false传递给验证模块)要求考生重新扫描指纹即返回到22;27 .三次以
30、上都不吻合,则终止考生的指纹扫描,并将“false”传递给验证模块;第一层数据流图:监考老师准考证、指纹学生信息表示符验证“模块第二层数据流图:第三层数据流图:描产用码解码1僧纹二2码解码监考老师基息生信学本二噬呈斜息潮器现息考生指纹二维码濯片指纹扫描两张图片信息标示*校对后的布尔值药师学主朋老和生四、加工规格说明扫描二维码出现两类问题二维码出现损坏软件出现问题解密算法不正确扫描器出 现问题硬件出现问题时扫描器录入的 原始信息解密得到一个连接网址 和一张指纹图片得到一个连接网址和一张指纹图片得到一个连接网址和一张指纹图片五、数据字典数据流“准考证”的字典条目数据流:准考证别名:准考证组成:准考
31、证号+照片+考试科目+考试时间+考试地点备注:数据流“学生信息标示符”的字典条目数据流:学生信息系统标示符别名:网址组成:域名+有GUlD生成的字段备注:数据流:学生基本信息别名:准考证组成:准考证号+身份证号+照片备注:二维码生成与加密模块学号:2010190324姓名:吴鹏班级:信息管理与信息系统一班一、模块功能整体描述二维码生成与加密模块是根据学生的部分信息及其他信息(如唯一标识号、指纹、网址)等生成唯一标识学生实体的二维码,并对二维码进行加密保护,防止学生信息泄露,保证了信息的安全传递,最终将产生的二维码与学生的基本信息合成准考证,方便考生的使用,也提高了考试准备工作的效率。模块子功能
32、描述1.学生信息二维码生成模块基本功能描述此模块实现学生基本信息二维码的自动生成功能。具体功能描述如下对于数据库中的每条学生记录,该模块的后台驱动程序会命令模块自动生成学生信息二维码,若命令正确执行则返回程序正确执行响应。模块会以MD5函数生成一条唯一标识学生信息的字符串,并将该字符串插入到数据库中。模块会自动将生成的字符串与该网站主页网址连接作为生成学生信息二维码的依据,之后根据此字符串并调用加密模块生成相应的二维码图片。该模块采用自动化模式生成学生信息二维码,模块会自动检索数据库中信息,如果还存在未生成二维码的学生记录(如刚插入的学生记录),系统会产生并向数据库中插入相应的标识字符串,并生
33、成相应的二维码图片。在生成二维码图片后,该模块会自动创建相应的文件夹(注意:文件夹需要建立在WEB服务器根目录的以外,以防非法者攻击)用于分类(如按学生所在院系班级分类)存储二维码图片。2 .指纹二维码生成模块基本功能描述此模块实现学生指纹信息二维码的自动生成功能。具体功能描述如下对于数据库中的每条学生记录,该模块的后台驱动程序会命令模块自动生成学生信息二维码,若命令正确执行则返回程序正确执行响应。该模块自动访问数据库,选出学生的指纹信息并调用加密模块生成相应的二维码图片。同学生信息二维码生成模块类似,该模块采用自动化模式生成指纹信息二维码,模块会自动检索数据库中信息,如果还存在未生成二维码的
34、学生记录(如刚插入的学生记录),系统会自动生成指纹信息二维码。在生成二维码图片后,该模块会自动创建相应的文件夹(注意:文件夹需要建立在WEB服务器根目录的外部,以防非法者攻击)用于分类(如按学生所在院系班级分类)存储二维码图片。.加密模块1.方法一基本功能描述此模块实现对信息的加密保护功能,供学生信息二维码生成模块和指纹二维码生成模块所调用。具体功能描述如下为满足用户的信息需求,保证信息的安全传送,基于特定的加密算法对从数据库中抽取出的关键学生信息(如标识字符串、指纹信息等)加密形成密文,防止无意修改以及非法篡改、伪造等使得学生信息暴露或损坏。如黑客攻击、计算机病毒、管理员无意修改信息等。该模
35、块与学生信息二维码生成模块,指纹信息生成模块协同进行,在生成二维码的时候对其中的学生信息进行加密保护,最终得到安全的二维码图片。该图片只有通过特定设备和解码模块才能得到明文信息。2.方法二基本功能描述此模块实现对信息的加密保护功能,供学生信息二维码生成模块和指纹二维码生成模块所调用。具体功能描述如下为满足用户的信息需求,保证信息的安全传送,基于特定的加密算法对生成的二维码加密(这里指的是学生信息二维码和指纹二维码),防止非法者使用扫描软件等获取学生信息,以及非法篡改、伪造等使得学生信息暴露或损坏。该模块与学生信息二维码生成模块,指纹信息生成模块协同进行,在生成二维码的后对二维码进行加密保护,最
36、终得到加密后的二维码图片。该图片只有通过特定设备和解码模块才能得到明文信息。4.准考证合成模块基本功能描述此模块实现学生基本信息、学生信息二维码、指纹二维码的合成,并生成一张完整的准考证。具体功能描述如下此模块用于及时生成考生准考证。模块会访问数据库,读取学生的相应信息(如姓名、性别、院系班级、准考证号、照片等信息),并按照学生信息对应的读取学生信息二维码和指纹二维码图片,按照规定格式(由学校制定)合并成一份完整的准考证。注:该模块只会在一定的时间内(一般为考试前一到两周)生成准考证,并且不会保存在服务器上。在考生需要时该模块可以提供准考证的合成功能,但需要考生及时打印或保存。顶层数据流图2.
37、第二层数据流图学生信息表学生信息表学生信息表学生信息表四、加工规格说明检查还未生成学生信息二维码的记录根据驱动程序的命令,访问数据库中的学生信息表文件,查看学生信息二维码字段如果字段不为空,则证明已生成了二维码,则不执行任何操作如果字段为空,则标识还没有生成二维码,则将信息传递给MD5函数生成唯一标识字符串,并将生成的字符串插入到学生信息表中MD5函数生成唯一标识字符串接收上一加工传来的参数如果还有未生成唯一标识符的记录,则生成并返回唯一标识的记录否则不执行任何操作链接网址和字符串接收来自上一加工传来的字符串,对每一个字符串执行以下操作如果网址获取操作正常执行,则将网址与与字符串连接起来作为唯
38、一标识学生的依据否则将错误返回并报错学生信息二维码生成根据由网址和标识生成的唯一字符串,执行以下操作若有生成二维码的请求,则生成学生信息二维码否则不执行任何操作创建文件夹保存二维码对已经生成的二维码执行以卜操作若文件夹还未创立,则创建文件夹保存二维码否则将二维码保存到相应的文件夹中检查还未生成指纹二维码的记录根据驱动程序的命令,访问数据库中的学生信息表文件,二维码地址字段如果字段不为空,则证明已生成了指纹二维码,则不执行任何操作否则将信息传递给下一加工,准备生成指纹二维码指纹二维码生成根据上一加工传递的信息,执行以下操作如果信息不为空,则生成指纹二维码否则不执行任何操作生成准考证根据学生的生成
39、准考证请求,执行以下操作若请求符合规范,并满足相应的信息要求在,则向“按学生基本信息找到对应的二维码”传递信息,找到相应的二维码,生成准考证,并将准考证信息返回给学生否则报错,并将错误信息显示给学生按学生基本信息找到对应的二维码根据学生提供的基本信息,执行以下操作如果找到与相应信息匹配的二维码,则生成准考证信息,并将该信息返回给生成准考证加工否则报错,没有找到相对应的二维码基于加密算法加密根据加密请求,执行以下操作若请求符合规范,则执行加密操作否则加密失败,将错误返回五、数据字典1.数据流数据流“学生信息”的字典条目数据流名:学生信息别名:获取学生信息组成:标识符+学号备注:根据标识符是否为空
40、,为每个学生生成唯一字符串数据流名:生成准考证请求别名:组成:学号备注:登陆后按照学号检索学生记录,获取相应信息数据流“准考证信息”的字典条目数据流名:生成准考证请求别名:生成准考证信息组成:姓名+性别+学院+年级+准考证号+照片地址+学生信息二维码地址+指纹二维码地址备注:数据流“学生信息二维码信息”的字典条目数据流名:学生信息二维码信息别名:生成学生信息二维码信息组成:学生信息二维码地址备注:数据流“生成唯一字符串”的字典条目数据流名:生成唯一字符串别名:生成唯一标识学生信息的唯一标识符组成:标识符备注:数据流“唯一标识”的字典条目数据流名:唯一标识别名:插入唯标识符组成:唯一标识符备注:
41、字符串为唯一标识学生的字段,将其插入到数据库中数据流名:指纹二维码信息别名:获取指纹二维码信息组成:指纹二维码信息地址备注:2.数据文件数据文件“学生信息”的字典条目文件名:学生信息组成:学生ID+学号+姓名+性别+身份证号+学校+学院+年级+专业+班级+照片地址+照片更新时间+指纹图片地址+照片更新日期+唯一标识符+学生信息二维码图片地址组织:按院系、专业和班级编号从小到大排列备注:数据项数据项“学生ID”的字典条目数据项名:学生ID别名:取值:正整数备注:数据项“学号”的字典条目数据项名:学号别名:取值:字符串备注:字符串中包含的字符为ITO数据项名:姓名别名:取值:字符串备注:数据项“性
42、别”的字典条目数据项名:性别别名:组成:男或女备注:数据项“身份证号”的字典条目数据项名:身份证号别名:取值:字符串备注:所含字符包括0-9或者a-z或者A-Z数据项“学校”的字典条目数据项名:学校别名:取值:字符串备注:数据项“学院”的字典条目数据项名:学院别名:取值:字符串备注:数据项名:年级别名:组成:字符串备注:字符串中的字符为0-9数据项“专业”的字典条目数据项名:专业别名:取值:字符串备注:数据项“班级”的字典条目数据项名:班级别名:取值:字符串备注:数据项“照片地址”的字典条目数据项名:照片地址别名:取值:字符串备注:数据项“照片更新时间”的字典条目数据项名:照片更新时间别名:组成:日期数据类型备注:字符串中的字符为0-9数据项名:指纹图片地址别名:取值:字符串备注:数据项“唯一标识符”的字典条目数据项名:唯一标识符别名:取值:字符串备注:数据项“学生信息二维码图片