Bootstrap

Springboot开发的大学生寝室考勤系统刷脸进出宿舍系统论文

摘要

近年来随着社会科学技术的全面进步及高等教育的普及,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期,学生作为预备的高新技术人才数量也在急剧上升,随之而来的就是高校管理上的一系列问题,首当其冲的便是高校应对学生宿舍管理的严峻考验。传统陈旧的管理理念及落后的手工模式不足以满足日渐庞大的学生群体及其服务需求,低效的管理方式在一定程度上导致工作的重复和资源的浪费。

演示视频:
https://www.bilibili.com/video/BV1Da4y117ep/?share_source=copy_web&vd_source=11344bb73ef9b33550b8202d07ae139b

2020年席卷全球的新冠肺炎冠状病毒也加强了各大高校对于学生的宿舍管理的难度。由于新冠疫情是呼吸道类的疾病,因此人员密集场所成为疾病泛滥的重灾区,学生宿舍往往4、6、8人一间且学生集中,如在复工复产的前提之下,学生势必会返回学校,如有一人感染,则可能整栋宿舍学生甚至整个学校都会面临极大的风险。为解决上述问题,数字化、信息化的新型智能宿舍管理系统的研究与开发成为必然,辅以生物识别技术可极大的缓解当前高校在学生宿舍管理系统方面面临的各种难题。本文设计并实现一套基于人脸识别系统的宿舍管理系统,系统将运用人脸识别技术通过算法检测和提取人像信息,将得到的人脸特征值与先前录入系统的人员信息比对,实现人脸识别功能。另外系统还具备一系列学生日常所涉及的业务管理,管理人员通过平台能够快速、便捷的处理所有工作,达到高度信息化管理的目的。

本文根据疫情背景下高校学生宿舍管理的现状出发,对宿舍管理需求进行系统分析,并结合虹软ArcFace SDK技术,尝试提出构建基于人脸识别系统的学生宿舍管理系统功能设计,系统以广大学生群体为主要用户对象,基于有些用户并非计算机专业出身,因此本文所研发的系统须具有设计流程简明、操作过程简单的特点,方便广大的使用人员能够在较短的时间内熟练掌握。以期对高校建立类似系统提出建设性参考意见,使宿舍管理管理工作更加系统、更有条理,更富成效。

关键词:宿舍管理系统,人脸识别,疫情防控,SpringBoot,Java。

Abstract

With the overall progress of science and technology and the popularization of higher education in recent years, the information system based on computer and communication technology are booming, and the number of students as prepared high-tech talents is also rising sharply, which brings a series of problems in the management of colleges and universities, the first of which is the severe test of colleges and universities to deal with the management of student dormitories. The traditional old management concept and backward manual mode are not enough to meet the needs of the growing student population and its services, and the inefficient management way leads to the duplication of work and waste of resources to a certain extent.

The new pneumonia coronavirus that swept the world in 2020 has also made it more difficult for universities to manage student dormitories. Since the new coronavirus is a respiratory disease, densely populated places have become the hardest hit by the disease, and student dormitories often have 4, 6 or 8 students in a room and students are concentrated. In order to solve the above problems, the research and development of a new intelligent dormitory management system with digitalization and informationization becomes inevitable, supplemented by biometric technology can greatly alleviate the various difficulties faced by the current universities in student dormitory management system. In this paper, we design and implement a dormitory management system based on face recognition system, which will detect and extract portrait information through algorithms using face recognition technology, and compare the obtained face feature values with the information of people previously entered into the system to realize the face recognition function. In addition, the system also has a series of business management involved in students’ daily life, and the management personnel can handle all the work quickly and conveniently through the platform to achieve the purpose of highly informative management.

In this paper, according to the current situation of college student dormitory management in the context of the epidemic, the systematic analysis of dormitory management needs, and combined with the ArcSoft ArcFace SDK technology, tries to propose the construction of a face recognition system based on the functional design of the student dormitory management system, the system to the majority of student groups as the main user object, based on some users is not computer professional background, so the system developed by this topic must have the system developed in this project must have the characteristics of simple design process and simple operation process, so that the majority of users can master it in a relatively short time. It is expected to provide constructive suggestions for the establishment of similar systems in universities, so as to make the dormitory management more systematic, organized and effective.

Keywords: Dormitory Management System, Facial recognition, SpringBoot, Java

目录

TOC \o “1-3” \h \z \u 第1章 引言 1

1.1 研究背景和意义 1

1.2 国内外研究现状 1

1.2.1 国外研究现状 1

1.2.2国内研究现状 2

1.3 主要内容和工作安排 2

第2章 论文结构及文字格式 3

2.1论文结构 3

2.2学位论文中的引言 3

2.2.1引言的目的 3

2.2.2 引言构成及写作要求 4

2.3本章小结 4

第3章 注释、图表、公式和计量单位格式 5

3.1 注释 5

3.2图表格式 5

3.2.1 图格式 5

3.2.2 表格式 8

3.3公式格式 10

3.4计量单位格式 11

3.5本章小结 11

第4章 其他格式要求 12

4.1 页面要求 12

4.2页眉 12

4.3页脚 12

4.4打印要求 12

4.4.1 页面设置 12

4.4.2 字体 13

4.4.3 字号 13

4.5论文查重要求 13

4.6论文非学术性错误 14

附录 14

4.7本章小结 14

第5章 科学道德与学风 15

5.1 科学道德与学风问题 15

5.2 科研不端行为 15

5.2.1 科研不端行为的定义 15

5.2.2 科研不端行为的表现形式 17

5.3 科研不当行为 18

5.3.1 科研不当行为的定义 18

5.3.2科研不当行为的表现形式 18

5.4 科研规范 20

5.4.1 研究数据收集、记录和保存中的规范 20

5.4.2 研究数据使用中的规范 21

5.4.3 引文的规范 21

5.5 本章小结 22

第6章 参考文献的标注和要求 23

6.1 参考文献的重要性 23

6.2 顺序编码体系 23

6.2.1正文中引用文献的标注方法 23

6.2.2 文后参考文献表的著录方法 24

6.3 参考文献要求 25

6.4本章小结 26

第7章 总结与展望 27

7.1 主要工作与创新点 27

7.2 后续研究工作展望 27

参考文献 29

致谢 31

附录A 科技写作中非学术性低级错误的主要表现 33

附录B 36

一、英文原文 36

二、英文 36

三、源程序 36

四、其他 36

第1章 引言

研究背景和意义

研究背景

当今社会正在向数字化,信息化,网络化的时代迈进,管理信息系统的作用也越来越大。2012年,Face++通过较高水平的图像识别和深度学习技术,获得了联想之星的天使融资,并在2013年完成了2200万美元的A轮融资,2014年获得2500万美元的B轮融资。随着,阿里巴巴集团支付宝“笑脸支付”业务的广泛运用,标示着人脸识别技术已开始加速商业化,该技术很快将普及。在这样的背景下,高等学校作为培养高新技术人才的场所,自然也成为计算机高新技术发展的先驱,学生宿舍管理系统也就应运而生了。

2020年,新冠肺炎席卷全世界,给人类生产和生活带来了深远的影响,随着疫情进一步好转,疫情防控工作正逐步进入常态化。高校在校生规模不断扩大,给疫情防控工作常态化下的学生管理工作带来了新的挑战。宿舍是高校学生“三点一线”(教室、食堂、宿舍)的重要活动场所之一,目前大多数高校依然采用传统人工方式对学生宿舍进行管理,这种管理方式效率较低、工作耗时长、准确度不高,不能自动统计汇总宿舍管理数据。另外,人脸识别是人工智能中的一项核心技术,由于具有自然性、非强制性、非接触性、并发性等特点,使得人脸识别应用越来越广泛,社会正逐步进入 “刷脸”时代。人脸识别与指纹辨别、声音辨别等技术相比具有较强的安全性、稳定性及直接性,并且跟学校的疫情防控工作要求相契合,因此,研究在疫情常态化背景下将人脸识别应用于宿舍管理系统,可以使学生在学校中的人身安全与财产安全等得到更加有效的保障。

人脸识别系统的研究始于20世纪60年代,80年代以后随着计算机技术和光学成像技术的发展得到提高,于90年代后期进入初级应用阶段。与其他身份验证技术相比,人脸识别具有无需用户专门配合、接触等独特优势,使远距离身份验证成为

可能。随着现代计算机技术的不断发展,人脸识别技术在一定程度上得到了飞速发展,同时伴随着日新月异的生物鉴别技术和不断精准的图像处理技术辅助,人脸识别技术已被越来越多的用户所接受。人脸识别技术具有不需要输入密码、用户信息不易借用与丢失、假冒或者盗用、保密性更强、安全性更高等优势,从而使得人脸识别技术是最理想的身份认证方式。

目的及意义

在计算机技术日新月异迅速发展的今天,人脸识别作为新时代背景下的身份识别技术越来越得到广泛应用。人脸识别技术在身份识别研究领域中具有很大的研究空间,同比其他技术比如指纹识别,要更容易采集同时可信度更高且不易伪造。随着人们对于身份识别需求的不断深化,人脸识别技术越来越标准化、精确化、逐渐成为主流的研究方向。人脸识别技术首先对人脸进行检测,通过数字图像处理,提取关键特征值,并建立可靠的数学模型,以此完成人脸识别。

学生宿舍管理是高校后勤管理的重要组成部分。目前,仍有部分高校还采用手工记录数据进行宿舍管理的初级阶段。当查找某条记录时,由于数据量庞大,依靠人工进行逐条的查找,耗费时间,效率也比较低。特别在疫情背景下,依赖手工进行宿舍与入住学生的管理就更显得效率低下。在学生宿舍管理系统中引入人脸识别技术,能够提高宿管工作人员的工作效率与工作的准确性。搭建基于人脸识别技术的学生宿舍管理系统,在日后的学生宿舍管理过程中保障学生安全、稳定发挥着重要作用,同时也为学校的长远发展带来了保障。

本毕业设计选题,针对疫情背景下的管理特点,拟设计实现一个基于人脸识别的学生宿舍管理系统,为到访学生、入住学生、学校管理机构和宿管搭建一个灵活自由且安全可靠的管理平台,将人员、宿舍与床位进行绑定,使用生物识别技术,实现基于“楼→单元→层→宿舍→床位”的分配与入住、到访理、涉疫隔离管理、日常维护与报修管理等,并提供可视化的宿舍管理数据展示,达到以下目的:

1)疫情期间能有效管理学生的出入管理以及行动范围,进行合理安全的校园疫情防控工作。在学生宿舍管理系统中引入人脸识别技术,能够提高宿管工作人员的工作效率与工作的准确性。搭建基于人脸识别技术的学生宿舍管理系统,在日后的学生宿舍管理过程中保障学生安全、稳定发挥着重要作用,同时也为学校的长远发展带来了保障。

2)降低企业校园被盗事件的发生,往往偷盗事件不断发生的两个重要因素,第一是培养学生进行防盗意识比较薄弱,第二是通过校园硬件设施设备发展滞后。而其中一个环节的提高,都会影响使得偷盗事件发生率的降低。传统的监控系统设备,起到作用是可以方便案件发生后的追查。而人脸图像识别的门禁设备,是把事件的发生制止与未然。把犯罪嫌疑人止于门外。

3)提高安全性,解决潜在的风险。由于钥匙、磁卡的可复制性和强大的移动性,一旦钥匙丢失或传递,宿舍楼就处于次安全状态,实际上增加了管理的难度。人脸识别机,即人脸验证,不仅能保证人的身份,还能记录详细的信息。通过软件设置,还可以实现对人员的管理(如学生在休假时标识无效,给予休假学生特别许可)。

4)减少操作人员的工作量,提高工作效率。人脸识别机将取代延迟注册的处理程序。 减少处理人员与迟交学生接触的部分工作,减少由于迟交事件的扩展而增加处理人员工作量的不必要工作。

5)减少因学生晚上在外面呆到很晚而发生事故的风险。首先,要搞清楚的是,大多数晚归的学生经常很晚回家,因为晚归的学生更加警惕。因此,有鉴于此,能够及时获得留学晚归学生的信息、留学晚归学生的人数,并集中管理一些留学晚归的“惯犯” ,不仅在校园管理中,“蛇打七寸”的结果是事半功倍,“把头埋进沙子里”也能给留学生一个警示。人脸识别系统,配备管理软件,可以方便地获取和管理深夜人员的信息。

国内外研究现状

1.2.1 国内研究现状

20世纪80年代初期,我国学者专家开始着手对于学生宿舍管理系统的构建、管理信息化等各方面进行研究。针对学生宿舍管理系统方面的研究,在很大程度上提高了学生管理工作的工作效率,改善了学校长期存在的资产流失、运营较差等的一系列问题。李玉霜、刘学超的著作中指出,我国大部分高校在学生宿舍管理过程中仍然采用传统的手工管理方式,学生信息的录入、整理、分类极为繁琐,不利于学校的长远发展,亟需转变传统思想观念,利用现代化计算机技术与数字图像处理技术改善现有的学生宿舍管理方法。李君法在其著作中指出,我国高校首先提高学生宿舍管理方法,构建新型的学生宿舍管理系统,才能赢得核心竞争力,才能立足于高校的长远稳定发展。魏霞飞、赵瑞玺著有文章中指出现阶段我国高校的学生宿舍管理仍然存在思想观念落后、手工管理方式滞后,严重影响了学生宿舍管理的工作开展,这一系列的问题需要得到及时解决,并且利用现代技术构建学生宿舍管理系统能够提高高校的核心竞争力,促进管理问题的有效解决。

通过研究现阶段学生宿舍管理系统的现状,不难发现,现有学生宿舍管理系统软件加入了新的设计理念与新的功能模式,虽然在功能上相对以前有了较大的改善,但是对于高校学生宿舍管理系统的需求仍然存在一定距离,亟需得到进一步的解决方案。鉴于以上阐述,在当前日新月异的科技发展过程中,结合学校对学生宿舍管理的实际需求,进行量身定制,研发出符合高校学生宿舍管理实际需要的系统软件,以更好地满足高校学生宿舍管理系统的需要。目前,我国各个高校逐步开始根据自身需求建立适用于学生宿舍管理的系统体系,并进一步解决学校宿舍管理流程方面遇到的问题,期待有效提高高校学生宿舍管理的核心竞争力。

随着国内人脸识别技术的高速发展,我国许多公司的在人事的管理、商品的管理以及重要的财务管理,包括各大高校都在使用计算机科技技术研发的智能信息管理系统。然而在我国,很多比较落后的地区,仍然有很多学校继续采用纸质的方式来管理学生的住宿信息,实用的智能信息化的学生管理系统在我国并没有得到广泛的应用。并且因为一些计算机技术的问题以及宿舍管理人员有限的计算机水平,导致很多人缺乏基础的计算机使用技能,有的高等学校应用到了学生宿舍管理的软件,但是学生宿舍管理人员并不是很能理解和合理化的使用这一类软件。2010年,秦川在中提出了学校信息基于计算机—体化的信息管理模式,实现了高校的宿舍物品以及信息的管理。2013年,朱金坛在中实现现代化的宿舍管理系统,整个系统围绕着宿舍的现代化管理而设计。信息化技术在我国仍然处在快速发展的阶段,很多技术尚未达到成熟,但是在当今信息技术迅猛发展的时代,大多数学校宿舍管理系统的使用也将趋向智能化、信息化,也会在不久的将来被普及使用。

1.2.2国外研究现状

通过研究国外现阶段学生宿舍管理系统的现状,了解到国外高校信息化的研究始于20世纪90年代初期。1990年,美国克莱蒙特大学Kenneth C.Green教授首次提出了“Campus Computing”(校园信息化)的概念,并于同年开始了针对美国高校信息化的研究项目,即Campus Computing Project(CCP,信息化校园计划),标志着高校信息化建设迈出了第一步。经过20多年的不断发展完善,美国高校信息化建设形成了以下特点。

1)政府高度重视。美国政府高度重视和支持高校信息化的发展。1993年,开始实施《国家信息基础设施行动计划》,为高校信息化的发展奠定了重要基础;1996年,又提出《教育技术规划》,指出“到2000年实现全美国所有的大学都建立校园网,每间教室和每个图书馆都联上Internet”,这一措施对当时美国高校的教学方式和手段产生了重要影响。2002年,正式颁布了《2002~2007年战略计划》,鼓励学校广泛应用科技手段更新教育方法,为高校信息化的健康发展提供了重要保障。在政府一系列政策的推动下,美国高校信息化获得了快速发展,能够很好地满足学校的教学、科研、管理以及学生的日常学习和生活的需要。

2)组织保障体系健全。美国高校通常采用CIO(Chief of Infromation Office,首席信息官)的组织管理体制。CIO主管学校信息化工作,由学校董事会或校长直接领导。CIO负责统一领导和管理高校的信息资源,管理高校信息技术和服务部门,制定信息系统建设发展规划,参与高校的高层决策。以美国加州大学伯克利分校的CIO体制为例,这所学校的校园信息化建设是世界公认的高校信息化建设典范。目前,该校的CIO由一名副校长担任,负责监督和统筹全校信息化建设,他是学校委员会的重要成员之一,直接对校长和委员会负责,直接参与学校的各项重大决策。CIO统一领导三个部门,即CIO办公室、信息技术与服务部、学校技术委员会。这三个部门又分别下设若干个部门或委员会,从而构成了非常健全和完善的组织体系。总的来说,美国高校的CIO组织管理体制比较完善,部门设置合理,职责权限清晰,人员配置齐全,这一组织体系有力推动了美国高校信息化建设的发展。

3)师生服务完善。在美国高校信息化机构中,一般都设有专门的信息技术服务部门,能够为学校师生员工提供非常周到细致的服务。他们的服务范围非常广泛,无论是教学支持服务还是师生员工信息系统管理,无论是无线网络服务还是电脑操作系统的安装维护,包括学生在线学习、软硬件购买与维护等,服务内容涵盖了教学、科研、管理、校园生活的方方面面。无论遇到什么问题,都可以通过电话、电子邮件、网络知识库服务等途径寻求帮助。良好的信息技术服务,不仅提高了信息技术的应用水平,也节省了使用者的时间,提高了工作效率。此外,美国高校的日常网络管理也非常严格规范,保证了校园网络运用的安全,并且通过为学校提供先进的技术和应用系统,支持学校的教学、科研和管理。

系统开发目标

本系统参考相关平台论文管理与下载的实现, 参考相关开放平台的评论管理功 能。实现学术论文在线阅读,附件下载,评论留言三大基本功能,在基本功能的 基础上进行拓展。概括来说有以下目标:

第一,进行详细的需求分析,使平台功能满足用户需求。

第二,对数据库的设计遵循三范式约束,有效组织和持久化数据。

第三,前后端技术采用流行、 稳定的框架,使平台能够正常运行。

第四,平台简单易用,能够很快上手,且界面简洁大方。

主要内容和工作安排

1.4.1 论文主要内容

在对疫情背景下国内外学生宿舍管理分析的基础上,针对目前国内疫情背景下的学生管理系统中存在的问题,本文结合当今中国互联网发展新趋势,以及当下疫情形势下的复工就业问题,分析并设计了 一套基于人脸识别的学生宿舍管理系统,实现在新时期下各大高校的学生宿舍管理系统的新选择,为整个学生宿舍管理系统的信息化、智能化发展提供相关的参考。在本文中作者主要做了以下几个方面的学习研究。

从现如今国内各大高校学生宿舍管理系统的现状和不足出发,分析目前国内各大高校的学生宿舍管理系统的优势和需求,提出可能的解决方案,完成新模式下详尽的系统的需求分析,为系统的开发提供指导。

深入学习生物特征识别技术、Java语言及Spring Boot框架,掌握IntelliJ IDEA开发工具的使用方法,了解 Web 应用前后端的开发流程。

对人脸识别技术原理进行深入的学习,熟悉人脸识别技术的过程,学习研究人脸识别技术的应用。

在前期的调研和学习工作的基础上,进行项目的设计开发与编码,并对开 发的应用程序进行包括功能性与非功能性在内的各项软件测试。

1.4.2 工作安排

本论文按照软件开发生命周期对基于人脸识别的学生宿舍管理系统进行的分析、设计与实现,实现了论文管理与评论留言等功能,增强学术氛围,提高学术素养。论文的总体是按照需求分析、系统设计、系统实现来组织架构。基于以上研究内容, 全文共分为七章,具体论文组织结构安排如下:

第一章为引言部分, 主要介绍本文的研究背景、目的、 意义以及目前国内外在这一领域的研究现状。

第二章介绍了课题中用到的各种技术,例如系统运用以实现人脸识别功能的生物识别技术之一虹软ArcFace SDK技术,后端才用的Spring boot+Mybatis框架,前端采用的HTML+CSS+JavaScript+MUI框架,B/S结构,还有课题采用的 MySQL数据库。

第三章主要介绍系统的需求分析, 通过用例建模探索系统用户功能性与非功能性需求。

第四章为系统概要设计部分,主要涉及目标系统体系结构、功能模块划分以及系统数据库的设计。

第五章为系统的详细设计与实现部分,首先会介绍本文项目的开发环境与开发所需的工具。之后会通过流程图等方式对目标系统的重点功能模块进行详细阐述,并给出实现过程中部分关键代码。

第六章为系统的测试部分,在这章会选择本文实现的系统中部分功能进行简单的黑盒测试与白盒测试。

第七章为全文总结与展望环节,主要归纳了在系统开发中遇到的各种问题与解决方案,最后对本系统的进一步开发提出了相关要求。

第2章 相关技术简介

2.1生物特征识别技术

现代生物识别过程通常分为三个步骤:生物识别数据信息采样,生物识别数据信息提取和生物识别信息特征匹配。数据采样过程是通过各种传感器从生物测定中收集原始数据的过程。生物特征提取过程从传感器收集的数据(通常是数学编码过程)和匹配阶段中提取反映个体特征的信息。它是计算生物识别排序和一致度判断之间相似性的过程。

生物识别技术主要包括人脸识别、指纹识别,语音识别和虹膜识别。生物识别技术已在上个世纪发展起来。其中,指纹识别技术已经成熟,但人脸识别技术的研究目前还处于起步阶段。人脸识别可以远距离捕获现有照片或摄像机的图像,无需特殊的采集设备,系统成本低。自动人脸识别可以在没有意识的情况下完成识别,在反恐应用中具有重要意义。

2.1.1 人脸识别

人脸识别,是一种较为便利、可靠的身份认证方式。它的工作原理是,首先对人脸进行数据采集,并作为基础信息存到数据库中。然后通过摄像头将捕捉到人脸信息进行数字图像处理,并与存在数据库中的人脸进行特征值匹配,具体实现原理如下图2-1所示。

图2.1 人脸识别系统原理框图

由图2-1不难看出,人脸检测作为人脸识别的输入源不可或缺,人脸特征值的提取以及人脸识别的算法是实现人脸识别系统的关键技术。目前,以Rowley为代表的主流人脸识别技术的研究都是通过对大量的人脸和非人脸样本进行处理分析,通过训练样本提取估值并作为人脸参照,以此判定人脸识别的结果,如图2-2所示。

图2.2 Rowley等人提出的人脸检测系统流程

2.1.2 虹软ArcFace SDK

虹软人脸识别SDK是一款集人脸检测、人脸跟踪、人脸比对、人脸查找、人脸属性、IR/RGB活体检测多项能力于一身的离线人脸识别SDK。

图2.3 虹软SDK功能图

支持Windows,Linux,Android等多个平台;支持离线服务,可在无网络环境下使用,本地化部署。有增值版和免费版两个版本;还支持静态图模式的检测方式和视频流模式的检测方式。

图2.4 虹软SDK检测模式说明

虹软人脸识别SDK使用非常简单。对于一般的人脸识别流程:

1.调用ASFOnlineActivation在线激活,激活后会生成激活文件,下次再运行就不用再次激活了。

2.调用ASFInitEngine初始化引擎,在这里可以选择人脸检测模式或人脸追踪模式(人脸追踪更快)以及传入其他参数。

3.调用ASFDetectFaces检测人脸,得到一帧图像里所有的人脸框。

4.调用ASFFaceFeatureExtract提取人脸特征

5.调用ASFFaceFeatureCompare对两个人脸特征进行对比,返回相似度。

2.1.3 人脸识别技术的优势

1)直观自然性。是指通过观察比较人脸来区分和确认身份,人脸是肉眼能够直观的判断信息源。方便人工确认,符合人的认知规律。

2)非强制性、不易仿冒。被识别的人脸图像信息可以主动获取而不被被测个体察觉,人脸识别是利用可见光获取人脸图像信息。人脸识别技术所独特的,人脸识别技术要求识别对象需要亲临识别现场。而不同于指纹识别或者虹膜识别需要利用电子压力传感器采集指纹,这些特殊的采集方式很容易被人察觉,从而带有可被伪装欺骗性。

3)人脸识别使用方便,非接触性,用户接受度高。相比较其他生物识别技术而言,人脸识别是非接触的,用户不需要和设备直接接触。

4)识别度高,速度快。与其它生物识别技术相比,人脸识别技术的识别精度处于较高的水平,误识率、拒认率较低。

5)成本较低,易于推广使用。由于识别技术所使用的是常规通用设备,价格均在一般用户可接受的范围之内,与其它生物识别技术相比,人脸识别产品具有很高的性能价格比。

以人脸识别为代表的新一代技术驱动的产业革命已经兴起。依托于物联网与人工智能的快速推进,人脸识别技术不再仅仅局限在考勤、门禁行业的简单应用,更多的将用于被动安防转化成主动安防。在这个“看脸”的时代,人脸识别技术将会被运用在各个领域越来越备受瞩目,而应用也会越来越广泛、成熟。

2.1.4人脸识别技术的局限

1)光照问题。光照变化是影响人脸识别性能的最关键因素,对该问题的解决程度关系着人脸识别实用化进程的成败。由于人脸的3D结构,光照投射出的阴影,会加强或减弱原有的人脸特征。尤其是在夜晚,由于光线不足造成的面部阴影会导致识别率的急剧下降,使得系统难以满足实用要求。

2)遮挡问题。对于非配合情况下的人脸图像采集,遮挡问题是一个非常严重的问题。特别是在监控环境下,往往被监控对象都会带着眼镜、帽子等饰物,使得被采集出来的人脸图像有可能不完整,从而影响了后面的特征提取与识别,甚至会导致人脸检测算法的失效。

3)年龄变化。随着年龄的变化,一个人从少年变成青年,变成老年,他的容貌可能会发生比较大的变化,从而导致识别率的下降。这个问题最直接的例子就是身份证照片的识别,在我国身份证的有效期一般都是20年,这20年间每个人的容貌必然会发生相当大的变化,所以在识别上也同样存在很大的问题。

4)动态识别。非配合性人脸识别的情况下,运动导致面部图像模糊或摄像头对焦不正确都会严重影响面部识别的成功率。在地铁、高速公路卡口、车站卡口、超市反扒、边检等安保和监控识别的使用中,这种困难明显突出。

5)图像质量问题。人脸图像的来源可能多种多样,由于采集设备的不同,得到的人脸图像质量也不一样,特别是对于那些低分辨率、噪声大、质量差的人脸图像(如手机摄像头拍摄的人脸图片、远程监控拍摄的图片等)如何进行有效地人脸识别是个需要关注的问题。同样的,对于高分辨图像对人脸识别算法的影响也需要进一步的研究。现在在人脸识别时,一般采用的都是相同尺寸,清晰度很接近的人脸图片,所以图像质量问题基本可以解决,但是面对现实中更加复杂的问题,还需要继续优化处理。

近几年,人脸识别技术日益创新突破,在各产业之间落地的应用项目有目共睹,但以目前技术来说仍然跟不上瞬息万变的社会变化和市场需求,例如今年新冠病毒突袭下,导致我国大批人脸产品无法在戴口罩的情况下进行扫描识别,事后各大厂商立即更新算法,但从此时也提醒了我们,面对未来的不确定性,技术不能一成不变,需要不断创新与突破。

2.2 Spring Boot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。Spring Boot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。

Spring Boot也是开发者和Spring 本身框架的中间层,帮助开发者统筹管理应用的配置,提供基于实际开发中常见配置的默认处理(即习惯优于配置),简化应用的开发,简化应用的运维;总的来说,其目的Spring Boot就是为了对Java web 的开发进行“简化”和加“快”速度,简化开发过程中引入或启动相关Spring 功能的配置。这样带来的好处就是降低开发人员对于框架的关注点,可以把更多的精力放在自己的业务代码上。

图2.5 Spring Boot的定位说明

同时随着微服务概念的推广和实践,Spring Boot的精简理念又使其成为Java微服务开发的不二之选,也可以说,Spring Boot其实就是为了微服务而生的Java web框架。现如今,Spring Boot已经在蓬勃发展的快速应用开发领域(rapid application development)为领导者。

图2.6 Spring Boot框架总体层次图

2.2.1 Spring Boot框架的优势

1)良好的基因。因为Spring Boot是伴随着Spring 4.0而生的,boot是引导的意思,也就是它的作用其实就是在于帮助开发者快速的搭建Spring框架,因此Spring Boot继承了Spring优秀的基因,在Spring中开发更为方便快捷。

2)简化编码。比如开发者要创建一个 web 项目,使用 Spring的开发者都知道,在使用 Spring的时候,需要在 pom文件中添加多个依赖,而Spring Boot则会帮助开发着快速启动一个 web容器,在Spring Boot 中,只需要在 pom文件中添加如下一个starter-web 依赖即可,不用一个个导入依赖。

3)简化配置。Spring 虽然使Java EE轻量级框架,但由于其繁琐的配置,一度被人认为是“配置地狱”。各种XML、Annotation配置会让人眼花缭乱,而且配置多的话,如果出错了也很难找出原因。Spring Boot更多的是采用 Java Config 的方式,对 Spring 进行配置。举个例子:新建一个类,但是不用 @Service注解,也就是说,它是个普通的类,那么开发者如何使它也成为一个 Bean 让 Spring 去管理呢?只需要@Configuration 和@Bean两个注解即可。

@Configuration表示该类是个配置类,@Bean表示该方法返回一个 Bean。这样就把TestService作为 Bean 让 Spring 去管理了,在其他地方,我们如果需要使用该 Bean,和原来一样,直接使用@Resource注解注入进来即可使用,非常方便。

@Resource private TestService testService;

另外,部署配置方面,原来Spring 有多个 xml 和properties配置,在Spring Boot 中只需要个application.xml即可。

4)简化部署。在使用Spring时,项目部署时需要开发者在服务器上部署tomcat,然后把项目打成war包扔到tomcat里,在使用Spring Boot后,开发者不需要在服务器上去部署 tomcat,因为Spring Boot内嵌了 tomcat,开发者只需要将项目打成jar包,使用java -jar xxx.jar一键式启动项目。

5)简化监控。开发者可以引入 spring-boot-start-actuator 依赖,直接使用 REST方式来获取进程的运行期性能参数,从而达到监控的目的,比较方便。但是 Spring Boot只是个微框架,没有提供相应的服务发现与注册的配套功能,没有外围监控集成方案,没有外围安全管理方案,所以在微服务架构中,还需要Spring Cloud来配合一起使用。

微服务是未来发展的趋势,项目会从传统架构慢慢转向微服务架构,因为微服务可以使不同的团队专注于更小范围的工作职责、使用独立的技术、更安全更频繁地部署。而继承了Spring的优良特性,与Spring一脉相承,而且支持各种REST API的实现方式。Spring Boot也是官方大力推荐的技术,可以看出,Spring Boot是未来发展的一个大趋势。

2.2.2 Spring Boot框架的局限

Spring Boot只是一个入门级的微框架:

1)缺少服务注册发现等外围方案;

2)缺少外围监控集成方案;

3)缺少外围安全管理方案;

4)缺少rest落地的URI规划方案;

5)将原有的Spring项目转成Spring Boot项目,很困难,更适合新建的项目;

6)集成度很高,对于了解底层不容易。

2.3 Mybatis

Mybatis是一个优秀的持久层框架, 它支持定制化 SQL、存储过程以及高级映 射。Mybatis避免了 JDBC 需要手写复杂的连接参数、 结果集检索等代码, 提供了注解和XML配置两种方式进行数据库操作[9] 。使用 Mybatis 具有很多好处,可以将代码与sql 语句分离, 实现系统的分层; 简单易学且灵活, 能够应对各种复杂的查询以及动态查询;提供标签映射,支持对象与数据库字段的映射关系,方便对象关系组之间的维护。为了使 Mybatis 更加简洁,MybatisPlus 通过封装基本的增删改查,只需要调用对应的方法便可自动实现功能,对于开发来说,大大提高了实现一些简单查询的效率。

2.4 Java语言

Java 是一门面向对象语言,具有跨平台、高性能等特点。不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java 的跨平台特性实现了一次开发多次运行的特点,其底层 JVM 屏蔽了各操作系统之间的差异性,使得在编码过程中只需要关注业务,而无需关注运行平台环境问题,使得开发任何类型的项目都得心应手。

2.5 B/S结构

C/S 指的是客户端/服务器,C/S 架构在技术上非常成熟,具有响应速度快、存取模式安全等特点。 但是,C/S 模式可扩展性差,客户端必须安装指定的软件,整个系统一旦进行升级,两端的代码都需要进行维护,且客户端平台很多,如 Windows、Linux、Android 等,需要针对平台开发一系列的客户端程序, 十分繁琐。

为了解决 C/S 架构的缺陷,尤其是随着 Web 技术的不断成熟,B/S 架构逐渐流行起来,其交互模式为浏览器服务器模式。对应用环境的依赖小,客户端只需要安装任意一种浏览器,即可通过 Http 协议与服务器通信。在软件维护方面与系统重用方面, B/S 架构开发的系统通常由不同模块组成,利于后期的维护。

本平台的开发采用B/S 模式, 用户通过浏览器输入 URL发送 HTTP 请求与服 务器进行交互,服务器使用Mybatis 框架与 Mysql 数据库交互,服务器处理完业务 流程将数据通过 HTTP 协议进行返回。系统的架构如下图所示。

图2.7 B/S架构图

2.6前端框架

前端的基本技术为HTML、CSS 、JavaScript三种。其中HTML 用于开发静态页面,CSS给标签增加样式,JavaScript负责处理各种事件。使用原生的三件套进行前端开发效率低下且样式很难做到美观,为此涌出了诸如 LayUI 、elementUI 、 semanticUI 等一系列的前端框架。Layui 是一套返璞归真的经典框架,主要面对后端程序员,采用模块化的思想,封装了诸如弹出层、日期组件分页组件等模块,同时提供了基本元素的各种样式。semanticUI是一个轻量级个性化的UI框架,界面简洁美观,与bootstrap 风格接近。两种框架都对移动端做了适配,其栅格系统会自适应当前屏幕进行展示,提高用户在不同设备下的使用体验。

本系统的开发提供发布公告、宿舍查询、体温上报等功能, 因此整合了第三方前端框架进行适配,如支持内容排版的 typo.css ,支持二维码生成的 qrcode.js 等。

2.7 MySQL数据库

MySQL是一种开源的关系型数据库管理系统,可将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内,从而加快了访问速度并提高了灵活性。MySQL 使用了标准的 SQL 语言形式。支持大型的数据库,可以处理拥有上千万条记录的大型数据库。MySQL 还可用于多种系统中,且支持多种语言。在 iServer/iPortal/iEdge 中,MySQL 可用于存储安全信息,在 iPortal 中,MySQL 还可用于存储门户数据。此外 iServer 也支持发布 MySQL 数据源的数据,目前支持5.6.16及以上版本。

2.8 本章小结

本章主要介绍了项目中使用到的技术。首先介绍了实现人脸识别功能的生物特征识别技术,重点介绍了虹软人脸识别技术的特点优势和局限,之后讲解了Spring Boot+Mybatis框架的相关技术内容及Java语言,接着介绍了在前端开发中所用到的HTML、CSS 、JavaScript技术,最后对于所使用的MySql数据库也有简单的介绍。

第3章 系统可行性研究及需求分析

3.1 可行性研究

3.1.1 经济可行性

本系统的开发属于中小系统的开发,且系统涉及的技术栈为常用技术栈,开发周期较短,因此开发成本较低。整个系统所需的硬件资源为一台中小型服务器,具备网络通信与数据库存储等功能。服务器的选择可以为云服务器也可以为学校机房,运行成本较低。系统采用面向对象的思想设计,模块化高易于维护,不会产生较高的维护成本。因此,本系统的开发与运维在经济上是可行的。

3.1.2 技术可行性

通过第二章的介绍,本系统设计的技术栈均为当前流行的技术栈,大量使用框架技术,其全部为成熟稳定、开源、易用的框架,前后端交互接口具有便捷易用的封装,对于框架相关的问题可以在互联网上找到大量的解决方案。前后端涉及的技术细节不涉及复杂算法,均为与数据库相关的ACID操作,系统的业务复杂度不高。因此,该系统在技术上是可行的。

3.1.3 社会可行性

该系统对社会具有积极意义,该平台的出现能够营造良好的校园管理氛围,加强学生宿舍的管理,提高校园对学生的保护程度,有利于促进社会发展、人类进步。从法律角度分析,本系统不存在违法乱纪行为,不违反法律规定与公序良俗,不会对人民的生命与财产造成不好的影响。因此,本系统的开发对社会具有促进作用,具有社会可行性。

3.2系统功能性需求分析

在系统功能性需求分析中主要是确定“系统必须做什么?”,并且以尽可能详细的方式定义系统应该完成的每一个逻辑功能。本节将主要从系统参与者的角度出发,分析目标系统必须实现的用户功能性需求。

根据本系统设计服务模式,将系统主要参与者分为学生,管理员,宿舍管理员和学院管理员(辅导员)。开发针对于疫情背景下基于人脸识别的学生宿舍管理系统,就是将学生宿舍管理的相关工作跟学校校园网络系统向结合,提供统一的操作管理平台。具有相关操作权限的系统管理人员可以较为方便的查询、修改、分析、统计有关学生的各类信息,通过不同维度的分析,以便做出相应管理措施。该系统的用户根据不同的角色分配有不同的增删查改权限。比如普通学生用户只具有查看自己相关信息的权限,而宿舍管理人员可以对所有的学生用户的相关信息进行查找或者修改维护。大多高校的教务管理系统与学生的宿舍信息并不相关,开发学生宿舍管理系统,可以使得各个平台的数据进行共享交互。这样更便于学校对学生的管理以及考核,基本上可以实现从纸质化办公到信息化办公的过度。

由于本系统将会提供基于人脸识别的智能宿舍管理服务。因此首先必须实现用户人脸识别功能。首先需要用户进行人脸数据采集,输入人脸图像信息后,通过算法对脸部不同器官进行数据采样,提取特征值进行准确的识别并且录入系统中。然后,再通过实验验证的方式对上述人脸数据进行人脸识别系统验证登录进入系统后进行对系统的一系列操作。

3.3 系统用例建模分析

基于对系统功能需求的分析,可以大致确定系统必须实现的功能。在分析系统用例时,参与者指的是与系统交互的外部用户。与参与者有关的用例是指一个或多个参与者与系统之间的交互序列。在本节中,系统用例建模分析主要从参与者的角度描述系统需求,并结合不同参与者的功能需求来执行必要的用例分析,最后结合实际情况给出详细的用例描述。

3.3.1学生用例建模分析

由3.2节系统功能性需求分析可知,学生可以在系统进行的操作如下:

1)学生可以在智能宿舍系统注册(注册时人脸识别采集)、登录系统;

2)学生可以在系统上进行查看或修改个人信息、密码等;

3)学生可以根据学号查询到所在宿舍号、宿管姓名、室友基本信息和寝室长信息;

4)学生可以申请换寝室、寝室维修并查看自己的申请数据信息。

5)学生可以在系统上进行考勤签到(寝室长考勤),自主健康监测上报(体温、身体不适等),并且可以查看自己的数据记录。

由以上用例建模分析可得出管理员用例图如下图 3.1:

图3.1 学生用例图

学生“登录”具体用例描述如下:

表3.1 登录用例描述

用例名:学生登录

参与者:学生

前置条件:进入系统首页面

包含用例:输入学号,输入密码

概括:学生在进入宿舍管理系统时需登录后进行操作

主序列:

学生点击页面中的登录按钮打开登录页面

输入学号和密码信息

前端验证学号和密码是否为空

后端判断是否有该学生

后端对学生密码进行比对

返回给前端跳转指令并并跳转回前端

可替换序列:

步骤1:如果账户或者密码信息为空则跳回步骤 1

步骤2:如果没有该账户则返回给前端无账户的错误指令

步骤3:如果密码匹配失败则返回给前端密码错误的错误指令

学生“注册(人脸采集)”具体用例描述如下:

表3.2 注册用例描述

用例名:学生注册(人脸采集)

参与者:学生

前置条件:进入系统首页面

包含用例:输入学号,输入密码

概括:学生在日常生活中使用宿舍管理系统需注册激活人脸识别后使用

主序列:

学生点击页面中的注册按钮按钮

输入自己的学号及密码

前端验证学号和密码是否为空

后端判断是否有该学生

后端对学生学号进行比对

返回给前端跳转指令并跳转回前端

采集录入人脸

注册成功

可替换序列:

步骤4:如果账户或者密码信息为空则跳回步骤 1

步骤5:如果没有该账户则返回给前端无账户的错误指令

步骤6:如果密码匹配失败则返回给前端密码错误的错误指令

学生“查看、修改个人信息”具体用例描述如下:

表3.3 查看、修改个人信息用例描述

用例名:查看、修改个人信息

参与者:学生

前置条件:登录进入系统首页

概括:学生在个人中心页面可以查看、修改自己的基本信息、密码等

主序列:

学生点击个人中心进入到个人中心页面

查看或修改自己想要修改的个人信息

确认保存

学生“换寝、维修申请”具体用例描述如下:

表3.4换寝、维修申请用例描述

用例名:换寝、维修申请

参与者:学生

前置条件:登录进入系统首页

概括:学生在个人中心页面可以申请换寝或寝室维修

主序列:

学生点击个人中心进入到个人中心页面

学生点击导航栏中的换寝申请或维修申请查看自己的申请信息

点击右侧菜单栏我要申请换寝或我要申请维修

填写申请单上传数据单击确定申请或提交按钮

申请提交成功

学生“考勤签到”具体用例描述如下:

表3.5考勤签到用例描述

用例名:考勤签到

参与者:学生

前置条件:登录进入系统首页

概括:学生在个人中心页面可以查看自己的考勤数据

主序列:

学生点击个人中心进入到个人中心页面

点击右侧菜单栏我的考勤记录跳转页到我的考勤记录页面查看数据

学生(室长)点击右侧菜单栏提交寝室考勤进行考勤上报

签到成功

学生“健康监测上报”具体用例描述如下:

表3.6健康监测上报用例描述

用例名:健康监测上报

参与者:学生

前置条件:登录进入系统首页

概括:学生在个人中心页面进行每日的健康监测上报

主序列:

学生点击个人中心进入到个人中心页面

点击右侧菜单栏健康监测上报跳转页到健康监测上报页面

填写健康监测数据后提交

提交成功

3.3.2管理员用例建模分析

由 3.2节系统功能性需求分析可知,管理员作为具有系统最高权限的管理者功 能性需求信息如下:

管理员能够查看系统中的所有信息,包括学生,宿管,辅导员等;

管理员能够增删改查数据库中的数据。

由以上用例建模分析可得出管理员用例图如下图 3.2:

图3.3 管理员用例图

管理员“管理学生”具体用例描述如下:

表3.7 管理学生信息用例描述

用例名:学生管理

参与者:管理员

前置条件:进入后台管理页面

主序列:

管理员点击页面中的增删改查功能或打开数据库学生表

对学生信息进行增删改查

确认保存

管理员“管理宿舍”具体用例描述如下:

表3.8 管理宿管信息用例描述

用例名:宿舍管理

参与者:管理员

前置条件:进入后台管理页面

主序列:

管理员点击页面中的增删改查功能或打开数据库用户表

对宿舍信息进行增删改查

确认保存

管理员“管理辅导员”具体用例描述如下:

表3.9 管理辅导员信息用例描述

用例名:辅导员管理

参与者:管理员

前置条件:进入后台管理页面

主序列:

管理员点击页面中的增删改查功能或打开数据库用户表

对宿舍信息进行增删改查

确认保存

管理员“数据管理”具体用例描述如下:

表3.10 数据管理信息用例描述

用例名:数据管理

参与者:管理员

前置条件:进入后台管理页面

主序列:

管理员点击页面中的增删改查功能或打开数据库表

对各类数据信息进行增删改查

确认保存

3.3.3宿舍管理员用例建模分析

由 3.2节系统功能性需求分析可知,学生可以在系统进行的操作如下:

1)宿舍管理员可以通过人脸识别自由进行宿舍楼,且可以查看宿舍楼出入记录;

2)宿舍管理员可以自主上报健康监测数据,查看学生上报的考勤数据、健康监测数据并拥有修改权限(确认真实性);

3)宿舍管理员可以查看或修改个人信息,查看并处理学生提交的换寝、维修申请;

4)宿舍管理员可以对寝室的公告通报进行基本的增删改查管理;

由以上用例建模分析可得出管理员用例图如下图 3.3:

图3.3 宿舍管理员用例图

宿舍管理员“宿舍信息管理”具体用例描述如下:

表3.11 宿舍信息管理用例描述

用例名:宿舍信息管理

参与者:宿舍管理员

前置条件:进入后台管理页面

包含用例:增删改查(宿舍分配、宿舍出入记录、公告通报、换寝维修申请)

主序列:

宿舍管理员点击左侧菜单栏的宿舍管理功能进入页面

宿舍管理员选择想要增删改查的数据

确认保存

宿舍管理员“学生信息管理”具体用例描述如下:

表3.11 学生信息管理用例描述

用例名:学生信息管理

参与者:宿舍管理员

前置条件:进入后台管理页面

包含用例:删改查(学生考勤数据、学生健康数据)

主序列:

宿舍管理员点击左侧菜单栏的宿舍考勤、学生健康监测子功能进入页面

宿舍管理员选择想要删改查的数据

确认保存

宿舍管理员“个人信息管理”具体用例描述如下:

表3.11 个人信息管理用例描述

用例名:个人信息管理

参与者:宿舍管理员

前置条件:进入后台管理页面

包含用例:个人健康监测上报

主序列:

宿舍管理员点击左侧菜单栏的个人信息、上报健康监测数据子功能进入页面

宿舍管理员选择想要增删改查的数据

提交确认保存

3.3.4学院管理员(辅导员)用例建模分析

由 3.2节系统功能性需求分析可知,辅导员可以在系统进行的操作如下:

辅导员可以查看或修改学生或本人的个人信息。

辅导员可以查看学生上报的考勤数据(出入宿舍记录)、健康监测数据并拥有修改权限(确认真实性);

由以上用例建模分析可得出管理员用例图如下图 3.4:

图3.3 辅导员用例图

辅导员“学生信息管理”具体用例描述如下:

表3.12 学生信息管理用例描述

用例名:学生信息管理

参与者:辅导员

前置条件:进入后台管理页面

主序列:

辅导员点击左侧菜单栏的学生管理功能进入页面

辅导员选择想要增删改查的数据

确认保存

辅导员“个人信息管理”具体用例描述如下:

表3.13 个人信息管理用例描述

用例名:个人信息管理

参与者:辅导员

前置条件:进入后台管理页面

主序列:

辅导员点击左侧菜单栏的基本信息进入页面

辅导员选择想要增删改查的数据

确认保存

3.4 系统非功能性需求分析

非功能性需求主要是系统用户或者开发者对系统性能、 安全性、易用性、可扩展性、可靠性、运行环境等方面的要求或期望。下面将针对本系统做简要非功能性需求分析。

1)界面友好性

Web 应用开发的主要内容之一是用户界面开发。对于系统的一般用户,用户将不会在乎您的应用程序逻辑有多复杂以及所涉及的算法有多好。如果应用程序没有提供友好的图形用户界面 (GUI) ,那么将很难吸引用户。对于此系统,需要为用户提供简单而优雅的图形用户界面,以增强用户的视觉体验。

2)系统响应时间

针对疫情背景下基于人脸识别的学生宿舍管理系统来说,一方面智能信息化,尤其是人脸识别技术会占用较大的网络带宽,因而使得用户的界面产生延迟;另一方面,该系统会涉及到大量的数据库存取操作,因此可能造成响应的延迟。作为开发者而言必须综合考虑可能影响系统响应时间的诸多因素。在互联网行业中,通常认为用户在 2 秒内响应客户被认为是“非常有吸引力”的用户体验。在 5 秒内响应被认为是“良好”的用户体验,并在 10 秒内响应被认为是“不良”的用户体验,因此必须严格控制系统响应时间。

3)系统可用性

系统可用性要求主要是最大限度契合用户操作习惯,符合用户操作习惯的应用不仅能带来良好的用户体验,更是任何一款Web应用长远发展的必然要求。在本系统中用户操作设计主要参考目前主流社交应用用户交互操作,力求最大限度提高用户体验。

3.5本章小结

本章主要详细介绍目标系统的需求分析链接,并在进行需求分析之前从多个角度进行系统可行性研究。然后,通过对现实中的在线面试系统的功能设计进行比较和分析,确定系统的一般功能需求,然后从系统参与者的角度进行用例分析,以确定系统的功能需求。

第4章 系统概要设计

4.1系统体系结构设计

本系统的设计首先遵循操作方便的原则,简单的操作界面可以极大地缩短对用户进行培训的时间,用通俗易髓的语言向用户讲解系统的操作流程及所要实现的功能。由于历史文化差异,学校职工学历水平普遍较低,复杂的操作界面及流程将为今后系统在学校的推广带来极大的困难,不利于上级单位与下级单位之间资源的共享及知识的交流,同时,简单明了的操作系统的设计将在很大程度上为学校节约一定生产成本,减轻企业的经济压力。其次。系统的设计遵循经济适用的原则,在设计过程中充分考虑学校的经济现状,结合学生宿舍管理系统应解决的实际问题进行设计,确保系统设计的经济性与实用性。具有一定实用价值的学生宿舍管理系统既切合系统本身的实际,解决了自身学生宿舍管理存在的问题,也为下一步系统的广泛推广奠定了基础。

不仅仅要保证系统操作方便性,同时还要保证系统的安全性和稳定性。学生的个人信息数据的泄漏必将造成一定的不稳定,同时对学校造成不良的社会影响,带来一系列不必要的麻烦。因此,系统在设计过程中,在确保登录界面安全的同时,还应具备一定的防病毒能力,避免数据的泄漏。除此以外,系统还应具备一定的稳定性,确保操作界面的连续通畅,避免操作中断为用户带来的困扰,为用户节约时间、提高工作效率提供保障。

在遵循以上原则的同时,学生宿舍管理系统的设计还应考虑一定的先进性,当今时代,信息技术发展迅速,利用各种计算机技术设计的应用系统日新月异,具备一定前瞻性的系统可以在今后很长一段时间顺应技术的发展,不被淘汰,为企业节约一定的经济成本。除此以外,具备一定的兼容性也是系统设计必须要考虑的原则,同WPS的兼容性使得文档可以在不同打开方式下进行编辑、修改一样,学生宿舍管理系统的兼容性可以使系统能够兼容更多的新技术,确保系统的长久广泛使用,为用户带来方便。

本系统是“基于人脸识别开发的学生宿舍管理系统”, 因此本系统会有 Web 前端和服务器后端两个部分,Web前端和服务器后端 Java Script等技术通过API来获取数据或服务进行交互通信。因此系统需要采用B/S (Browser/Server) 体系

结构,即浏览器服务器体系结构。随着Internet技术的兴起,广为应用的 C/S 结构的一些不足逐渐暴露出来。因此,对C/S 结构的一种变化或者改进势在必行。在这样的背景下,B/S (Browser/Server)体系结构应运而生。在这种结构下, 用户工作界面通过浏览器来实现,极少部分事务逻辑在前端 (Browser) 实现,主要事务逻辑在服务器端 (Server) 实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

图4.1 web系统架构

4.2系统功能模块结构设计

系统功能模块设计主要是进一步对系统功能进行模块化,并对目标系统的各个 功能给出合理的划分,划分的主要依据是用户的总体需求和所完成的业务功能。根据第三章的功能要求部分,系统的主要参与者是学生,管理员,宿舍管理员和辅导员。为了使每个功能模块的划分反映出模块之间独立性的原则,努力实现“高内聚力,低耦合”的设计目标;该系统主要将系统划分为学生子系统,管理员子系统,宿舍管理员子系统和辅导员子系统。接下来将为每个子用户系统进行详细的功能模块结构设计。

4.2.1 学生子系统功能模块结构设计

由第三章系统需求分析结果可知,学生子系统主要是行查看或修改个人信息,自主上报健康监测,查询宿舍信息、公告通报,申请换寝、维修,签到考勤这些功能。图 4.1 展示了学生子系统功能模块结构设计。

图4.2 学生子系统功能模块结构图

各个功能模块具体描述如下:

  1. 登录:该功能主要实现了学生使用学生智能宿舍管理系统的前置条件。

  2. 注册(采集人脸):该功能主要实现了学生使用学生智能宿舍管理系统的前置条件以及通过人脸识别进出入宿舍楼的实现。

  3. 查询宿舍信息:该功能主要实现学生使用学生智能宿舍管理系统是能精确地查询到自己的宿舍完整信息。

  4. 查看公告通报:该功能主要实现学生使用学生智能宿舍管理系统时能及时了解到自己宿舍楼栋的实时信息。

  5. 换寝申请:该功能主要实现学生能通过使用学生智能宿舍管理系统向管理员,宿管提交换寝申请。

  6. 宿舍维修申请:该功能主要实现学生能通过使用学生智能宿舍管理系统向管理员,宿管提交宿舍维修申请。

  7. 签到考勤:该功能主要实现学生使用学生智能宿舍管理系统进行签到考勤数据反馈给管理员,宿管,辅导员查看。

  8. 上报健康监测:该功能主要实现学生使用学生智能宿舍管理系统个人中心页面中的上报健康监测功能实时上报自己的健康情况数据反馈给管理员,宿管,辅导员查看。

  9. 查看/修改个人信息:该功能主要实现学生能及时使用学生智能宿舍管理系统查看/更新自己的个人信息。

4.2.2 管理员子系统功能模块结构设计

由第三章系统需求分析结果可知,管理员子系统能使用系统所有模块功能,主要是进行数据管理。图 4.2展示了管理员子系统功能模块结构设计。

图4.2 管理员子系统功能模块结构图

各个功能模块具体描述如下:

  1. 学生管理:该功能主要实现了对于学生数据的增删改查等管理。

  2. 宿管管理:该功能主要实现了对于宿舍管理员数据的增删改查等管理。

  3. 宿舍管理:该功能主要实现了对于宿舍数据的增删改查,分配等管理。

  4. 辅导员管理:该功能主要实现了对于辅导员数据的增删改查等管理。

  5. 数据信息管理:该功能主要实现学生宿舍管理系统中数据信息的增删改查处理。

4.2.3 宿舍管理员子系统功能模块结构设计

由第三章系统需求分析结果可知,宿舍管理员子系统主要划分为宿舍管理模块和学生管理模块。图 4.3展示了宿舍管理员子系统功能模块结构设计。

图4.3 宿舍管理员子系统功能模块结构图

各个功能模块具体描述如下:

  1. 宿舍管理:该功能主要实现了对于宿舍出入记录数据的查看,宿舍分配工作,宿舍基本信息的增删改查,宿舍楼栋的公告与通报管理以及处理学生提交的换寝/维修申请。

  2. 学生管理:该功能主要实现了宿管人员能查看学生的签到考勤,健康监测数据以及基本信息。

4.2.4 辅导员子系统功能模块结构设计

由第三章系统需求分析结果可知,辅导员子系统主要是后台管理模块。图 4.4展示了辅导员子系统功能模块结构设计。

图 4.4 辅导员子系统功能模块结构图

各个功能模块具体描述如下:

  1. 学生出入宿舍记录:该功能主要实现了辅导员能查看学生出入宿舍的记录。

  2. 查看学生基本信息:该功能主要实现了对于辅导员能查看学生的基本信息。

  3. 查看学生健康数据:该功能主要实现了对于辅导员能查看学生自主上报的健康监测数据。

  4. 个人信息查看/修改:该功能主要实现了对于辅导员能查看/修改想要查找/修改的个人信息数据。

4.3系统数据库设计

在系统概要设计阶段,系统数据库设计主要是通过概念建模得出整个系统的实 体-关系(Entity-Relationship,E-R),这是独立于任何一种数据库管理系统(Database Management System ,DBMS) 信息结构的数据模型;然后可以再通过逻辑设计将 概念模型 E-R 图转化为指定的逻辑模型。

4.3.1 系统E-R模型设计

在构建系统 E-R 模型时,划分实体和属性有如下两个基本标准:

1)属性必须是不可分割的数据项,属性中不能包括其他的属性或实体型。

  1. E-R 图中的联系是实体之间的联系,因而属性不能与其他实体型之间有联系。

由第三章系统功能性需求分析可以导出系统的5个主要实体,包括“学生”、“管理员”、“宿舍管理员”、“辅导员”、“学生宿舍”这5个实体型,其余对应实体属性描述如下:

学生:学号、密码、姓名、性别、电子照、出生日期、专业学院、班级、所属辅导员、宿舍、电话、微信。

管理员:工号、密码、姓名、性别、电子照、出生日期、职位、电话。

宿舍管理员:工号、密码、姓名、性别、电子照、出生日期、职位、宿舍电话、电话。

辅导员:工号、密码、姓名、性别、电子照、出生日期、职位、电话。

学生宿舍:宿舍号、宿舍管理员、宿舍类别(男/女)、单间入住人数、防疫类别。

同时,由第三章系统功能性需求分析可得出各个实体型之间的联系如下:

“学生宿舍”实体型与“学生”实体型存在的“入住”关系。一栋宿舍可以入住多名学生,而每名学生只能拥有唯一的宿舍,故他们之间存在一对多(1:n)联系。

“学生宿舍”实体型与“宿舍管理员”实体型存在的“雇佣”关系。每栋宿舍可以关联拥有多名宿管,而每名宿管也可负责多栋宿舍,故他们之间存在多对多(m:n)联系。

“辅导员”实体型与“学生”实体型存在的“管理”关系。一名辅导员可以负责多名学生的日常工作,而每名学生只能拥有唯一的辅导员,故他们之间存在一对多(1:n)联系。

“宿舍管理员”实体型与“学生”实体型存在的“查看”关系。一名辅导员可以查看多名学生的数据信息,而每名学生也能查看负责本宿舍楼栋所有宿管人员的信息,故他们之间存在一对多(m:n)联系。

“管理员”实体型与“学生宿舍”实体型存在的“发布”关系。一位管理员可以负责所有学生宿舍楼栋的分配发布工作,故他们之间存在一对多(1:n)联系。

“管理员”实体型与“学生”实体型、“宿舍管理员”实体型以及“辅导员”实体型都存在的“管理”关系。一位管理员可以负责所有学生、宿管人员以及辅导员的信息管理工作,故他们之间存在一对多(1:n)联系。

由以上实体及其属性与实体型之间的的联系可得出系统概念模型如图 4.5 系统概念模型 E-R 图。

图4.5系统概念模型E-R图

4.3.2 系统数据库表设计

由 4.3.1 节分析得到的系统概念模型 E-R 图,可进一步转化为数据库的关系模式,再由关系模式设计数据库中的表结构,最终实现数据库设计。

下面将给出本系统数据库信息表与主要数据表的定义。

表4.1 系统数据库信息表

数据库表名

对应关系模式名

中文说明

sr_user

用户

用户信息表

sr_student

学生

学生信息表

sr_class

班级

学生班级表

sr_major

专业

专业类别表

sr_college

学院

学院类别表

sr_department

宿舍楼

宿舍楼栋表

sr_room

寝室

寝室信息表

sr_repair

寝室维修申请

寝室维修申请数据表

sr_apply_change

换寝申请

换寝申请记录数据表

sr_tip

宿舍公告

宿舍公告信息表

sr_bulletin

宿舍通报

宿舍通报信息表

sr_health

健康数据

健康数据表

sr_inout_dep

宿舍出入记录

宿舍出入记录数据表

sr_stu_attendance

学生考勤记录

学生考勤记录表

表4.2 用户信息表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

序列号

uno

varchar

11

not null

工号

upass

varchar

255

not null

密码

realname

varchar

255

姓名

sex

varchar

10

性别

borth

varchar

255

—_

出生日期

photo

varchar

255

电子照

position

varchar

255

—_

职位

tel

varchar

255

电话

phone

varchar

255

手机

表4.3 学生信息表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

序列号

sno

varchar

11

not null

学号

upass

varchar

255

not null

密码

realname

varchar

255

姓名

sex

varchar

10

性别

borth

varchar

255

出生日期

major_id

int

0

专业

Class_id

int

0

班级

photo

varchar

255

电子照

room

varchar

255

—_

宿舍

wx

varchar

255

微信

phone

varchar

255

手机

表4.4 学生班级表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

cname

varchar

255

班级名

major_id

int

0

专业

表4.6 专业类别表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

major

varchar

255

专业名

college_id

int

0

学院

表4.7 学院类别表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

colloge

varchar

255

学院名

表4.8 宿舍楼栋信息表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

序列号

dname

varchar

255

宿舍楼栋名

user_id

int

0

宿舍管理员

ddesc

varchar

255

宿舍类别

num

int

0

单间入住人数

is_normal

varchar

255

防疫类别

表4.9 寝室信息表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

序列号

room

varchar

255

宿舍寝室号

department_id

int

0

宿舍楼栋

note

varchar

255

寝室信息

num

int

0

单间入住人数

student_id

varchar

255

入住学生

student_info

varchar

255

入住学生信息

loader_id

int

0

寝室长编号

loader_info

varchar

255

寝室长信息

表4.10 健康数据表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

序列号

sid

int

255

学生序列号

uid

int

0

用户序列号

college_id

int

0

所属学院

type

varchar

255

类别

temperature

float

10

体温

healthy_code

varchar

255

健康码

stroke_code

varchar

255

行程码

health

varchar

255

健康状况

department_id

int

0

宿舍楼栋

room_id

int

0

寝室号

inroom

varchar

255

是否在寝

表4.11 宿舍出入记录数据表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

sid

int

0

学生编号

uid

int

0

用户编号

type

varchar

255

账号类别

inout

varchar

255

出入状态

college_id

varchar

255

学院

room_id

int

0

寝室

department_id

int

0

宿舍楼栋

表4.12 学生考勤数据表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

sid

int

0

学生编号

isin

varchar

255

是否在寝

outmsg

varchar

255

出寝事由

room

varchar

255

寝室

qdate

varchar

255

考勤日期

college_id

int

0

学院

room_id

int

0

寝室

department_id

int

0

宿舍楼栋

表4.13 宿舍通报信息数据表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

title

varchar

255

通报标题

context

longtext

0

通报内容

user_id

int

0

发布者

room_info

varchar

255

寝室

cts

varchar

255

发布时间

表4.14 宿舍公告信息数据表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

title

varchar

255

公告标题

context

longtext

0

公告内容

user_id

int

0

发布者

cts

varchar

255

发布时间

表4.15 寝室维修申请数据表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

content

varchar

255

not null

申请内容

stu_id

int

0

not null

申请学生

imgurl

varchar

255

故障照片

status

Int

0

解决状态

time

varchar

255

申请时间

表4.16 换寝申请记录数据表

字段名

字类型段

长度

主键或外键

字段约束

中文属性名

id

int

0

primary key

not null

编号

context

text

0

申请内容

stu_id

int

0

申请学生

result

varchar

255

解决状态

result_ts

varchar

255

解决时间

result_msg

varchar

255

解决信息

usr_id

Int

0

处理人

cts

varchar

255

申请时间

4.4 本章小结

本章为目标系统概要设计部分,其中主要针对Web应用的特点进行了系统体系结构设计,其中涉及Web前端与服务器后端架构设计;其次“高内聚、低耦合”目标对系统进行了相关功能模块划分;最后,根据第三章系统功能需求分析结果抽象出目标系统E-R模型,并根据此模型给出数据库中表的逻辑设计。

第5章 系统详细设计与实现

通过第四章的分析与设计,主要明确了目标系统整体体系结构与相关功能模块划分。在本章,主要针对系统各个功能模块进行详细设计与实现,内容涉及 Web前端界面设计、服务器端数据处理与数据存储过程实现等,同时将对系统中涉及的关键技术进行详细说明。

5.1 系统开发环境和工具

表5.1 系统开发环境与工具

操作系统:Windows 10

系统集成开发环境:IntelliJ IDEA2022.1.1

数据可视化环境:Navciat Premium 12.1.22

依赖:JDK,Tomcat,Springboot,Mybatis

本系统主要分为Web前端和服务器后端两部分。Web前端主要完成用户界面的展示,以及用户数据的简单校验,并借助 JavaScript进行前后端的数据交互;服务端采用Ajax行数据交互和通信的处理,使用Ajax请求数据时,被请求的URL地址,就叫做数据接口(简称接口)。同时,每个接口必须有请求方式。下面作者将分模块阐述系统详细设计与实现。

5.2 系统流程详细设计

5.2.1

5.3 登录与注册设计与实现

5.3.1 前台登录注册设计与实现

本系统的主要设计模式为:所有使用本系统的用户必须登录验证身份后在使用系统服务方式,包括用户进行系统的首页界面和个人中心界面,所有用户通过注册采集人脸后,服务端验证用户账号唯一性并保存人脸数据;

图5.1主要展示了学生登录注册信息流程图。

图5.1 学生登录注册信息流程图

Web网页前端主要获取到学生输入的登录所需的学号和密码,前端获取到学生的登录点击后先判断一下输入是否为空,如果不为空则使用POST方式将输学生入的数据传递到后台,后台在数据库中进行查找账号,并将进行md5加密后的密码进行比对, 如果账户存在且比对成功则将账户信息存在数据库中,并且返回跳转链接, 如果未能通过则返回错误信息让学生重新输入。

学生登录使用Ajax的POST方法,POST 请求服务端URL为:

http://localhost:8099/web/student/tologin#faq

下列图 5.2 分别为学生登录/注册实现效果图。

图5.2 学生登录/注册实现效果图

5.2.2 后台管理页面登录设计与实现

后台管理系统,三种管理角色也需验证身份后再使用管理角色的服务,最高级别的系统管理员角色需负责其他管理工作中的人脸数据采集注册后才能确保所有管理角色能顺利登录后台管理系统使用服务。

图5.1主要展示了学生登录注册信息流程图。

图5.3 用户后台管理登录流程图

Web网页前端主要获取到学生输入的登录所需的学号和密码,前端获取到学生的登录点击后先判断一下输入是否为空,如果不为空则使用POST方式将输学生入的数据传递到后台,后台在数据库中进行查找账号,并将进行md5加密后的密码进行比对, 如果账户存在且比对成功则将账户信息存在数据库中,并且返回跳转链接, 如果未能通过则返回错误信息让学生重新输入。

面试官登录使用Ajax的POST方法,POST 请求服务端URL为:

http://localhost:8099//login.html

下列图 5.4 分别为用户后台管理登录实现效果图。

图5.4 用户后台管理登录实现效果图

5.3 人脸识别功能设计与实现

本系统针对疫情背景下的学生宿舍管理采用虹软人脸识别SDK实现人脸识别功能,具体流程如下:

1.调用activeOnlines在线激活,激活后会生成激活文件,下次再运行就不用再次激活了。

2.调用getFaceEngine初始化引擎,在这里可以选择人脸检测模式或人脸追踪模式(人脸追踪更快)以及传入其他参数。

3.调用getFaceData检测人脸,得到一帧图像里所有的人脸框。

4.调用FaceFeature提取人脸特征

5.调用Compare对两个人脸特征进行对比,返回相似度。

下列图 5.5为人脸识别功能流程图。

图 5.5为人脸识别功能流程图。

实心该功能的核心代码如下:

public static FaceData getFaceData(byte[] bytes){

FaceData faceData = new FaceData();

//人脸检测
}

//特征提取

}

//特征值比对(返回相似度)

//引擎卸载

下列图 5.6为人脸识别功能实现效果图。

图 5.6人脸识别功能实现效果图

5.3 健康监测功能设计与实现

本部分是针对于疫情背景下校园内学生宿舍管理的所有用户的健康情况进行实时监测功能,每日由用户自主上报健康情况后也可查看自己的健康情况上报数据记录。上报的数据由优先级高的用户进行数据监测及后续管理。

下列图5.7主要展示了健康监测功能的流程图。

图5.7 用户健康监测上报的流程图

实现该功能的核心代码如下:

@RequestMapping(“/toedit”)

public String toedit(@RequestParam(value=“pageNo”,defaultValue=“1”)int pageNo

,SrHealth o,Model model ) {

if(o.getId()!=null){

o=healthService.getById(o.getId());

}else{

o.setHdate(DateUtils.getNowDate());

}

model.addAttribute(“o”, o);

model.addAttribute(“pageNo”, pageNo);

return Sys.jsp+“/health_add”;

}下列图5.8与图5.9分别展示了学生与后台三位管理人员健康监测功能的效果实现。

图5.8 学生健康监测功能的效果实现

5.5 本章小结

介绍了科研不端行为和科研不当行为以及科研规范。

第6章 系统测试

6.1 系统测试原则概述

软件开发的过程中 bug是无法避免的,因此在软件上线前,必须进行严格的系统测试,提早将问题解决,避免上线后导致系统无法正常运行。有数据表明,在软件开发的过程中,系统测试所需的时间基本上等于研发的时间。这样算来测试部分所花费的费用将在系统开发成本中占有较重要的一部分比例。假若算上软件的后期维护,在软件的生命周期内,为避免系统上线后出现问题,测试工作将是不可或缺的一部分。

在工作中,往往重心更偏重于研发而忽略了测试工作。恰恰相反,测试的用例繁多,加上系统上线后,会有很多的用户来操作系统,你无法提前预知用户的操作行为,会导致更多的错误。在实际工作中,会有以下几个方面的问题:

1、测试工作人员积极性不高,成就感不强,相比较软件开发人员,测试工作相对比较容易,并且大部分功能问题并不是很多。

2、测试人员发现 bug后,需要告知程序开发人员,开发人员修改后,再进行测试。有时候这个过程过多,就会大大增加测试人员的工作量。

3、测试用例比较多,经常出现重复性的步骤或者操作,会使得测试变得很乏味,长时间测试会使得测试人员失去积极性。

4、测试人员需要多轮的测试反馈,开发人员每发一个release版本,测试人员都需要进行新的一轮测试,将问题进行归类,会根据严重程度以及是否影响功能来判断是否再需要开发人员进行release。

5、测试人员往往容易将自己的主观意愿以及操作习惯来测试软件,这样会导致测试不全面,容易产生遗漏。

这些都是测试过程容易遇到的问题,因此必须设计严谨的测试方案,严格按

照测试方案进行测试,才能够保证产品质量。

对软件进行系统的测试,需要进行以下几个方面的测试,包括:性能测试、功能测试以及安全测试等。这些测试中,性能测试主要是测试系统在高负荷条件下,系统的稳定性。该种测试能够很好地测定系统的实际效率;功能测试主要是测验功能与业务需求之间的关联性,设计的内容与实际客户的需求内容是否存在一定的关联性;安全测试主要就安全内容进行评判{32]。

系统测试原则指的是就系统进行测试时是否坚持了原则,就检测的各项标准进行系统评判,了解吻合情况。为了更好地帮助系统进行检测和测验,因此在进行测试时需要秉承六大原则,因此就系统的状态进行了测试[32]。

1、引入第三方执行测试。之所以引入第三方测试机构参与到系统测试作为首要原则,一方面是因为系统测试是一项强度大、复杂性高的工作,如果交由系统开发设计人员参与测试,那么必然受到主观因素的影响。另一方面是因为所引入的第三方检测机构业务精湛、专业性强,便于后期系统设计的修改和完善。

2、尽早测试。系统测试的第二个原则是尽早实施测试过程。由于系统测试时伴随整个设计过程的,在这个过程中存在许多未知或难以发现的问题,因此系统测试开展的越早就能尽快发现问题并作出修正,由此也能够推动系统设计向下一环节深入。

3、详细设计测试方案。保证系统上线后稳定运行,需要制定详细的测试方案,才能够发现系统潜在的问题。并且对非正常情况下有可能产生的问题,如短路、网络异常等,必须做好有效应对方案126]。

4、合理分配测试时间。第四项原则是合理分配系统测试时间,因此系统测试是一项高强度、繁琐性的工作,必须保持高度细致,因此,要对系统测试的各个时间段提前做好计划并认真执行。

5、及时纠错。及时纠错原则是系统测试的第五项原则,该原则要求测试过程中针对存在的错误要及时纠正,尽管系统测试和纠错都是一场繁琐发杂的工作,需要耐心细致的监测每个细节,即使在纠错后也要对系统再次测试,避免再次产生错误。

6、全面检查。系统测试要渗透到系统设计的每一个环节,实施全程测试,一

旦出现差错,就会造成难以弥补的损。因此,全面检测能够避免这种损失的产生。

总之,系统测试的六大原则相互联系,构成一个整体。这六大原则贯穿整个系统测试过程,保障测试工作的成功完成。

6.2 系统测试方针

为提高系统运行的稳定性,使得测试工作更加完整,正常情况下对系统进行完整的测试工作需要进行以下几个步骤:单元测试、集成测试、确认测试、系统测试、测试案例及脚本测试等主要这六个方面。

(1)单元测试

细分单元测试的对象为系统的功能模块,这是软件所具有的最基本的组成单元。通过单元测试,能够将系统的各个功能模块全部测试一遍,通过单元测试就可以检验软件的功能是否已经按照需求分析以及功能说明列表中所列的功能已经全部完成,是否还有遗漏等。同时,完成单元测试也意味着所有的功能点都包含,软件是否基本上可以运行。

(2)集成测试

集成测试需要将各个功能模块完成衔接,主要测试各个功能模块间的接口是否有问题,数据是否可以同步更新等。防止模块之间产生数据或者功能的冲突,导致系统无法正常运行。

(3)确认测试

确认测试是指系统上线后,能否按照预期一样正常工作,主要是验证系统功能与客户需求之间是否有差距。完成集成测试后,接下来需要对系统的性能进行验证。首先需要根据最初的需求分析,结合系统所实现的的功能,明确测试任务与目标,开展系统测试。

(4)系统测试

软件开发完成后,必须要将系统与所依赖的其他软硬件部分结合(如:本系统需要与人脸采集的硬件模块)进行相关功能测试,测试过程中的具体测试内容包含恢复性、安全性、性能及强度等。

单纯的系统测试,具体实施过程中通常需要把握以下几点:

1、系统功能测试:针对需求分析,结合功能列表,逐一将各个功能进行测试,这是系统测试最为基本的一项,系统软件能否满足需求,首先进行系统功能测试。

2、强度测试及性能测试:系统能否在上线后经受得住考验,就需要进行强度测试。通过设定并发数据量,假设系统处于高并发高负荷状态,看系统能否正常运行,能否达到预期目的。

3、安全性测试:测试并检验系统的内部维护机制是否能够安全高效地保持系统稳定运行。安全性测试是对错误数据、非法数据、无效数据以及系统操作权限等干扰项的综合测试,主要目的防止用户信息被泄漏,以及防止系统遭受到网络的攻击而不能正常运行。

(5)测试方案主要有以下内容:

测试目的,完成测试所需要达到的目标,验证软件是否与客户需求一致;测试描述,完成测试的各项测试用例以及对测试结果的合理分析;测试平台,主要是指,测试人员在测试过程中,系统所在的开发运行环境;测试周期,是指从测试人员开始第一轮测试开始到系统最终上线之间的时间;测试类型,包括黑盒测试、白盒测试等测试方式;测试层次,针对不同的测试版本,主要指测试的多个层面;测试系统,指需要对其进行测试的整体系统;测试分系统,根据功能所划分的各个子系统;测试模块,是指针对系统功能所划分的各个功能子模块。除此之外,测试过程中的档案编号、参数设置、输入输出条件、实际测试值与理论期望值的对比也属于测试方案的重要内容。

(6)测试案例及脚本测试

测试人员根据功能模块需要提前写测试案例以及测试脚本,测试用例及脚本的主要内容有:

a.系统集成测试的检查策略,确保所有功能点都可以测到;

b.测试数据的各项理论期望值,针对不同的输入,系统的输出是否正确,是否出现偏差,出现的偏差是否在可控范围内;

c.测试环境和测试条件,一般情况下需要在测试环境中进行测试,以免与正式环境的内容产生冲突或者混淆;

d.测试脚本的在线测试方式;c.测试环境的核验;

f.测试过程的核验;

g.测试结果和数据的核验;

h.关键测试指标和数据的比对,通过关键指标,可确定系统是否能够正常运行,是否需要重新修改;

i.分析测试生成的结果和数据,优化脚本以展开自动化测试执行操作。

6.3功能测试

系统测试是软件系统开发的重要环节,它关系到最终软件产品质量的高低。 经严格考虑后,根据学宿舍管理系统(BIS)的特性,利用“黑盒测试”对该系统进行了测试。

黑盒测试主要是通过将整个软件或某个功能当成是一个黑匣子,在测试过程中将不会考量功能模块的内部架构形式以及基础逻辑,仅仅只对其功能的输出进行测试。 功能测试又被认为是对该系统要求的一种检验,它主要是检验该系统在有关功能上的要求,并发现功能上的要求和该系统的区别。 黑盒测试技术广泛地应用于系统功能测试下针对线路管理功能之线路信息维护功能,设计功能测试表对各个子功能进行测试,验证。

此部分重点对人脸识别功能进行测试,通过对人脸的检测以及特征值的提取是否正确,主要包括人脸的检测以及人脸的识别两部分。

6.3.1 人脸检测

人脸检测即在处理一张任意提供的图像时,通过适当的搜索算法以确定图像中是否存在人脸,若为真则将此人脸的大小、方位以及表情等脸部信息作为返回值进行传递。

1)人脸检测的速度

人脸检测所耗费的时间是一项很重要的评价检测能力优劣的指标。在处理大量照片的工作时,人脸检测所用时越少,就意味着处理器所承担的负荷越小,也同时意味着项目成本方面的节约;而对移动端的用户来说,缩短人脸检测时间能够提升产品的效率和用户的满意程度,因而本系统采用了多种方法以优化人脸检测程序,缩短检测用时,当前在各大主流桌面PC端和移动端均能够进行实时性检测。

2)人脸检测的环境

本系统可在强光照,弱光照以及无光照(夜间)等多种不同条件的环境中支持人脸检测,同时还能检测到正面和侧面等不同角度的脸部位置。

3)人脸检测的效果

本系统所采用的人脸检测技术在微信、QQ等社交平台上对照片图像的检测已经达到了79%以上的准确率以及70%左右的召回率。

6.3.2 人脸识别

人脸识别技术即通过算法比对多张人脸图片的相似程度,用以判断这些图片是否源自于同一个人,此技术称为人脸识别-1:1验证。通过一张人脸图片作为输入,从系统录入的人脸数据库中匹配出与其近似的人脸作为备选图片,此技术称为人脸识别-1:N验证检索。本系统所研制的人脸识别技术,从微信、QQ等社交平台提取大量实验数据,累计处理数千张人脸图片,较好地适应了中国人的脸部特征识别。

  1. 1: 1人脸识别

本系统的1:1人脸识别和验证技术能够使用于门禁控制以及身份验证等方面,是一套具备实时性和安全性的人脸识别系统。

本系统的人脸识别技术通过对纹理、对比度以及语音等特征值的综合判断分析,准确率高,安全性好。

2)1:N人脸识别

本系统的1:N人脸识别技术已经应用于门禁、考勤、签到、准入等各种场合,针对不同脸部特征进行录入和检索,达到了快捷、方便、高效的人脸检索效果。本系统的人脸识别技术,重点解决实际场景中的问题,包括人脸光照、表情、角度以及姿态等变化,通过大量现实应用中的实验结果和数据,所得出人脸模型极具价值。

3)高度准确率

在本系统进行的线性工作流程测试中,人脸识别已经达到79%以上的准确率,实验效果良好。

6.4 测试用例

因为该系统内适配的功能模块数量较多,需要测试的对象极为繁杂,为了能够减少篇幅占用量所以仅仅只展示时系统登入功能模块的测试用例,具体的可见下面的表格6.1,根据最终的测试结果能够看出,系统登入功能模块的实际功能实现情况与预计完全相符。

表6.1 登录测试用例

序号

操作描述

输入数据

期望结果

测试结果

1

输入账号和密码信息

账号:20190123

密码:123456

登录成功跳转到主页面

登录成功跳转到主页面

2

输入账号信息

账号:20190123

弹出密码为空提示框

弹出密码为空提示框

3

输入密码信息

密码:123456

弹出账号为空提示框

弹出账号为空提示框

4

不输入账号和密码信息

弹出账号和密码为空提示框

弹出账号和密码为空提示框

6.5 系统测试结果

学生宿舍管理系统在经过以上测试程序后,各项功能基本符合系统设计的预期目标。但是,该系统能否经得起大数据的并发考验,还需要在实际操作中验证。毕竟,在某些时段学生流量大,数据采集比较频繁,数据处理压力比较大,对系统的硬件、软件都是极大的考验。需要不断的检测与修正,才能够逐渐提高系统的稳定性。

6.6 本章小结

本章详细介绍了系统测试的一些方法,并对学生宿舍管理系统进行详细的测试分析,通过系统的测试发现本课题所设计的学生宿舍管理系统能够满足预先的设计要求。

总结与展望

本章主要对本课题研究的内容、方法、步骤等进行总结,分析本课题研究过程及应用在学生宿舍人脸识别系统的意义,并对本课题接下来的研究方向与前景进行展望规划。同时指出本课题研究存在的不足,为下一步系统各方面功能的完善指明了方向。

学生宿舍人脸识别系统的开发与应用是学校实现人员资源集约化管理、加强对学生宿舍人员管理的最直接、有效的途径,构建符合学校实际的学生宿舍人脸识别系统有着极强的现实意义,和广泛的用途和作用。

本文基于人脸识别技术,设计了学生宿舍管理系统。该系统主要包含以下几个功能模块:人脸信息采集管理、数据信息安全防护、人脸检测与识别、人脸识别结果等日常工作业务的自动化处理,同时根据各单位的上下级关系可灵活上报和下发单位人员信息,极大地减轻了工作人员的劳动强度,提高了工作效率。本论文所做的系统应用在学校,解决了宿舍人员人工管理工作强度大、准确性不高等诸多问题,该系统操作简单、便捷,节约了大量的人力、物力、财力,为学校对人员的监控与管理提供了坚强的保障。

本文对基于人脸识别系统的学生宿舍管理系统进行了详细的设计,并对系统进行了较为系统的测试,验证了系统的安全可靠性。具体的内容包括以下几个方面:

(1)首先,针对实际情况,对业务流程进行详细的分析,分析学生宿舍人脸识别管理的现状及亟需解决的问题,明确研究方向以及确定研究内容。

(2)从功能需求及性能需求两方面对系统所要实现的功能进行分析,明确该课题开发的系统所需要实现的功能。根据人脸识别技术,作为本课题的核心逻辑算法,建立数学模型。然后根据需求分析,确定系统功能模块。接着对系统架构进行搭建,对数据库、页面进行设计,最后对系统进系统测试。

本课题所研究与开发的学生宿舍人脸识别系统的应用让学校内部的资源得到了充分的利用,基本满足了学生宿舍管理的需要,提高了学校的整体信息化技术水平。但是随着新型技术的开发拓展,对学生宿舍管理功能要求更高。系统虽然初步实现,但是依旧还有更多的功能和服务有待开发和完善,系统界面的美化,培训模块的完善,系统的扩展功能等等。在完善学生宿舍管理系统的基础上,使得成为建立学校数字化管理系统的重要部分。

希望以后设计的系统能够与更先进的信息技术紧密结合,使平台与客户端相结合,能够通过手机进行系统操作,使得系统依托云平台服务进行拓展,为学校的长远发展提供更多的帮助。

参考文献

中国标准研究中心等. GB/T7713.1-2006.学位论文编写规则[S]. 北京:中国标准出版社, 2006.

汪继祥. 作者编辑手册[M]. 北京:科学出版社, 2004: 109, 118, 146-148.

全国科学道德和学风建设宣传教育领导小组. 科学道德与学风建设宣传参考大纲(试用本). 北京: 2011.

中国标准研究中心等. GB/T7714-2005. 文后参考文献著录规则[S]. 北京: 中国标准出版社, 2005.

李娜芬.障碍环境中Swarm突现计算模型研究及行为控制:[D]. 重庆: 重庆邮电大学, 2013.

谢希仁. 计算机网络(第五版)[M]. 北京: 电子工业出版社, 2008: 349-352.

Thomas L Floyd. Digital Fundamentals (Seventh Edition) [M]. 北京: 科学出版社, 2002: 349-352.

Robert D. Thompson. 数字电路简明教程[M]. 马爱文, 赵霞, 李德良等. 北京: 电子工业出版社, 2003: 449-452.

吕学勤, 陈树果, 林静. 求解0/1背包问题的自适应遗传退火算法[J]. 重庆邮电大学学报(自然科学版), 2013, 25(1): 138-142.

Atzori L, Iera A, Morabito G. The Internet of things: a survey[J]. Computer Networks, 2010, 54(15): 2787 -2805.

Mohammed M,Kasim A. Multi-Criteria Vertical Handover by TOPSIS and Fuzzy Logic[C]//2011 International Conference on Communications and Information Technology (ICCIT). [s. l.]:IEEE Press, 2010: 97-102.

AgrawalL R, Gehrke J, Gunopulos D, et al. Automatic subspace clustering of high dimensional data for data mining applications[C]//In Proceedings of the 1998 ACM SIGMOD. Seattle: ACM Press, 1998:94-105.

伏梦盈. 基于博弈论的协作通信中继节点选择:[D]. 长沙: 湖南大学, 2012.

工业与信息化部电信研究院. 中国物联网白皮书[R]. 201:1 -3

中国标准研究中心等. GB/T7713.1-2006. 学位论文编写规则[S]. 北京: 中国标准出版社, 2006.

陈国平, 张百珂, 马耀辉. 一种基于蓝牙技术的手机防盗防遗失报警方法. 中国, 201110369930.0[P]. 2014.

MagicBoy, 李鹏. GPS定位基本原理浅析: Mobile On Lion镜像站点[OL], 2010-12-09 (2015-01-27). http://www.cnblogs.com/magicboy110/archive/2010/12/09/1901669.html.

工业和信息化部关于电信服务质量的通告(2014年第1号)[OL].(2014-03-03). http://www.miit.gov.cn/n11293472/n11293832/n11293907/n11368223/15864477.html.

致谢

致谢二字一级标题:黑体3号字居中,段前17磅,段后16.5磅,1.5倍行距,致谢二字与致谢内容之间不空行。致谢内容正文样式:宋体小四号,1.5倍行距。

可以从下列方面致谢:协助完成研究工作和提供便利条件的组织或个人;在研究工作中提出建议和提供帮助的人;给予转载和引用权的资料、图片、文献、研究思想和设想的所有者;其他应感谢的组织或个人。

主要感谢导师和对论文工作有直接贡献及帮助的人士和单位。学位申请人的家属及亲朋好友等与论文无直接关系的人员,一般不列入致谢的范围。

致谢辞应谦虚诚恳,实事求是,切忌浮夸与庸俗之词。

附录A 科技写作中非学术性低级错误的主要表现

本附录主要针对学位论文写作或中文科技论文写作,供重庆邮电大学学位论文查非工作参考。未尽事宜,可参考重庆邮电大学论文写作要求、重庆邮电大学学报编辑部等国内期刊社、出版社的通用出版规定。

推荐阅读《科学出版社作者编辑手册》、《科学道德与学风建设宣传参考大纲(试用本)》等写作指导性书籍或资料,可了解更多、更详尽的通用写作出版规范。

基本语言规范

字词

错字

别字

漏字

赘字

“的”、“地”、“得”不分。如将“为了更好地验证本算法的效”误为“为了更好的验证本算法的效果”。

拼音等输入法录入错误同音或同形词。

将硕士学位论文翻译为paper(应为thesis)。

常识错误。比如把地区称为国家。

数字中的小数点错误。

句法

病句

错句

中文式英文

句子缺乏主语。比如用短语当句子。

一句话内前后主语不一致,逻辑混乱,可读性差。

按中文习惯翻译英文摘要。比如直接在英文摘要中用paper等当主语。

用机器软件翻译中文摘要导致的各种字、词、句低级错误。

标点

符号

该用不用

乱用

误用

不断句。比如一长段话仅一个句号。

引用他人文字没有使用引号(将导致学术不当行为)。

句后缺乏句号。

括号、引号等符号没有成对使用,正确配套。

用“如下”等引出下文时缺乏冒号。

乱用符号。比如在句字中随意打逗号分割断句,或该用句号的用逗号。

破折号“——”与连接号“-”混用。

语种

中西文语言错误混用

中西文符号错误混用

中文论文中提供的图、表、公式中错误出现英文文字。

中英文标点符号错误混用。如英文摘要中出现中文逗号;公式编号等处的阿拉伯数字编号用中文括号配套。

通用内容规范

一致性

前后内容不一致

多处出现的对象、变量、名称等前后不统一(包括同一参数在图、表中与在正文中的不一致,同一参数大小写的不统一)。

中西文摘要的内容、关键词等不一致。

完备性

文档结构缺项

内容缺乏

中文摘要后缺乏关键词等文档要素。

首次出现变量、缩写、专业名词等未说明含义。

摘要、正文的内容分别不能自解释。比如摘要中含引用论文编号或变量名、缩写等不明信息。

变量、数字出现时缺乏名称、量纲说明。

出现图、表时缺乏相应说明。

相关性

出现无关内容

内容和形式不相关

有隐藏的无关信息。

文本内容被故意图形化。

图、表混用。应用表说明的误用图,或表目与表身分界不清晰。

非必要冗余

内容多处重复

一段文字或句子在摘要、正文等处出现不止一次。

专业写作规范

文字

口语化

不遵循行业惯用语要求

违反保密等规定

写作中使用口语。

硕士学位论文摘要、正文等地用“我们”或“we”当主语。

随意更改行业惯用语。如用小写英文字母表示行业约定的缩写。

涉及隐私、保密等专业要求时未按规定处理。如保密项目名称直接明文出现。

数量转行。如同一数量,一部分在上一行,部分在下一行。

公式转行不规范。公式通常在加、减、乘运算符号处转行,如果是乘运算应在上一行末加点乘号。如果是矢量运算应在合适的地方转行或附加说明。

算法、程序

不完备

不规范

使用伪码描述算法时不规范。

算法、程序中出现未解释或注释的内容。

图表、公式

类型混乱

内容缺乏

质量差

编号错误

放置位置错误

未按行业规范的图形类型制图。如功能模块图混合系统流程图,动态、静态图不分;程序流程图出口众多。

随意编造图形元素,错误制图。如箭头流转混乱;图上的线条无法区分,随意交叉。

图元素缺乏。如判断框分支标识不全。

未按要求插入矢量图,截图质量差,不清晰。

有错误或多余信息。如从word中截取图表,图上还有回车符号。

无坐标单位,无图例。

图、表格式、风格不一致,比如字体、字号、线条粗细等。

图中字太小,难以辨认。

图名在图之前,或图出现在正文说明之前,甚至缺少相应图、表说明。

表名在表之后。

公式编号混乱,或编号中出现“公式”字样。

摘要和结论

不规范

总结归纳不够

摘要写作不规范,不能对论文进行高度概括。

没有对取得的成果进行提炼,仅仅是重复描述所做的工作,没有与绪论相呼应。

参考

文献

格式错误

要素缺乏

未按相关的规范整理格式。

作者姓和名顺序混乱(应姓在前,名在后),未按要求缩写其名、缩写名未大写、或乱加缩写点(应不加)。

缺乏卷期、出版地、页码、文献类型等要素。

拼音、西文中的大小写、标点符号未按要求统一。

多处格式细节不统一(并非对标准理解不同导致)。

文后参考文献未按照在文中引用的先后顺序排列。

引用

引用错误

引用不当

该引不引

章节标题上加引用符号。

使用他人的公式、图、表未明确给出引用出处(将导致学术不当行为)。

使用相对引用时出错。如“见下图”时,文字下并没有图,已经被排版到别的地方。

正文中参考文献、公式、图表等的引用关系混乱。如错位引用。

正文中提及参考文献作者时,未按原语种惯例排列其姓和名的顺序(中文应姓前名后,英文反之),西文缩写名的字母未大写或其后未加缩写点。

编辑出版规范

模版

不符合标准格式

格式不统一

格式错误

随意更改全文字体、字号、行距、对齐方式等。

全文各处格式不一致。如一个图、表内的字号、字体不统一,忽大忽小;如一个变量在正文里以公示出现时随意缩放大小,明确区别于正文文字,或影响正常行距。

变量等格式错误。如正体、斜体、粗体等未正确使用(如向量、矩阵未用粗斜体);变量下标未编辑为下标;变量无量纲、无单位或单位错误。

章节、图表、公式、参考文献等未按要求编号。如学位论文中公式、图表等要求按章独立编号。

公式、图表的编号不连续。

格式细节错误。如公式编号未右对齐,同时公式本身居中;要求居中的标题等内容而未居中;在设置变量斜体、粗体时把前后括号、标点符号一律包含在内。

参考文献格式不按模板要求,信息不全。

版面

版面混乱

行距不一

文中随意“开天窗”,出现不合理的空白行(如3-5行以上)并严重影响版面完整性。

正文和引用的图表距离太远。

图、表的标题和其内容分离在不同页面,被粗暴截断。

标题出现在页面的最后一行。

其他要求

特别

规定

未执行

执行不严格、完整

盲审论文未按要求隐去相关信息。如正文、致谢、成果列表等中故意留有个人信息。

保密论文提供方式违规。

附录B 英文翻译

指导教师制定与专业相关的外文文献内容,由学生独立翻译成中文,其外文文献内容翻译成中文后的内容不得少于3000字符。译文和原文附于附录部分,按照正文格式进行排版。若原文没有电子版只是原版的复印件,复印件装订在内可不计页码。

;