版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于MVC的学生健康信息打卡系统设计与实现摘要:新冠疫情给我们的生活带来了巨大的改变,尽管已经过去了一年多,情况有所好转,但仍不能放松警惕,做好日常防控就显得尤为重要。尤其是在高校这样的特殊环境,监控日常体温,及时反馈情况就很有必要了。本健康信息打卡系统主要面向的是高校学生和教师,采用EasyUI框架,使用ASP.NET语言,MVC模式,使用SQLSERVER作为数据库操作软件,基本完成了体温打卡系统的前后台相关功能。前台用户的相关功能包括查看首页新闻,查看打卡列表,参与打卡的功能,另有消息通知,异常查看等模块功能;后台管理模块主要有对用户的注册,身份的配置、打卡信息管理、首页新闻配置以及其他的配置内容等进行管理的功能。综上所述,本健康信息打卡系统基本满足了高校学生的体温打卡需求,减少了体温数据统计的麻烦,也为及时监控健康状况提供了平台,它是一个很有意义的体温打卡系统。关键词:疫情;健康打卡;ASP.NETMVC;数据库;目录5828前言 前言2020年新冠疫情席卷全球,极大的改变了我们的生活,认识病毒,积极防控开始成为我们的日常。随着我们一年多以来的不懈努力,基本控制了病毒的传播。在实践中我们逐步对病毒有所认知,戴口罩,保持社交距离,不必要不聚集等观念已经深入人心,其中最为重要的一点便是及时的检测体温。感染的人群有明显的特点便是反复的低烧,并且病毒会潜伏两周左右,通过检测体温,可以较快发现和诊断感染,及时就医,以便治疗和防止大范围的感染。高校作为一个人口密度大,流动频繁的特殊区域,一直是防疫的重要组成部分,由于其特殊性,不可避免的会出现人群的聚集,若是其中有感染或潜在感染者,很容易造成大范围的感染,酿成大祸。因此,高校防疫成了一项重要的任务。最有效的方式不失为每日检测体温并进行管理。但高校人数众多,数据繁杂,加之每日需要多次记录,在消耗和管理上都难度较大。针对这种情况,本人的毕业设计选择了针对学生的健康信息打卡系统,旨在帮助实现以上需求,统筹安排打卡和管理数据,帮助学生和老师统计体温状况,为大家的健康安全贡献自己的力量。第1章绪论1.1课题研究背景及目标1、课题背景随着新冠疫情席卷全球,人们的生活发生了巨大的改变,每天检测体温已经成为了我们日常的一部分。虽然随着我们一年多以来的不懈努力,基本控制了病毒的传播,但防控疫情依然不可懈怠。在实践中我们逐步对病毒有所认知,戴口罩,保持社交距离,不必要不聚集等观念已经深入人心,其中最为重要的一点便是及时的检测体温。感染的人群有明显的特点便是反复的低烧,并且病毒会潜伏两周左右,通过检测体温,可以较快发现和诊断感染,及时就医,以便治疗和防止大范围的感染。高校作为一个人口密度大,流动频繁的特殊区域,一直是防疫的重要组成部分,由于其特殊性,不可避免的会出现人群的聚集,若是其中有感染或潜在感染者,很容易造成大范围的感染,酿成大祸。因此,高校防疫成了一项重要的任务。最有效的方式不失为每日检测体温并进行管理。但高校人数众多,数据繁杂,加之每日需要多次记录,在消耗和管理上都难度较大。2、系统目标这次开发的网页内容是设计完成一个体温打卡系统,能够满足高校群体的基本需求,能够实现体温打卡网站所具备的功能,方便用户使用。本设计的主要内容可分为前台用户模块和后台管理模块,前台面向的对象主要是学生和教师,为他们提供一个体温打卡的平台,后台的功能主要方便管理员对用户的信息进行管理和网页的相关内容配置。设计应具备以下功能,学生参与打卡,教师管理打卡,管理员管理账号,配置相关内容。1.2设计原则本设计本着基本实现相关功能,设计一个使用体验良好,界面简洁明快,数据管理高效的体温打卡系统,需要遵循一般的软件设计原则,虽然实际开发工作中会包括非常多的设计思路,但本系统一般需要遵循以下三点基本原则。可读性鉴于软件设计的工作量,必将产生大量的代码,保证代码的可读性十分重要。要求代码格式清晰,内容简洁明了,尤其是在变量名的定义和函数的创建时,要注意做到“见名知意”,避免使用简单的a,b,c等字母作为变量名或函数名,以免混淆调用。其次要注意使用注释,多写注释不仅可以帮助用户整理开发流程,也可以为其他的人在浏览你的代码时节省时间,避免造成不必要的麻烦。代码也不要堆积在一起,尽量分开管理,存放在不同的文件或文件夹中,方便整理和调用。健壮性随着现在软件设计的体积和规模越来越大,软件的健壮性就成为了一种要求。软件的健壮性要求软件本身能够流畅的运行,在面对不同的软件环境或不同的数据输入时,能够及时运行和反馈,如果遇到了不符合软件要求的输入或操作,要系统能够快速报错,纠正错误,防止软件崩溃。安全性软件开发工程中,不可避免地会使用到大量的数据参与其中,保障其中的数据安全,不被恶意使用也是开发的重要原则之一。在接受了大量的数据之后,软件还要能够即使存储和加密,尤其是对用户的个人信息而言,避免泄露造成不必要的损失。不仅是数据,不良的操作也会造成软件的问题,这就对软件的多方面做出了要求。1.3开发技术1.3.1ASP.NETASP.NET是微软公司Mircosoft推出的一款类似C#编程方式的语言。是一款基于.NETFramework的Web开发平台。它不仅吸取了之前版本中深受用户喜爱的类似java,vb等语言的编程特点,简化了编程难度,同时也修正了以前版本的运行错误,推广了类似JAVA中接口等编程概念,更加方便用户使用。使用ASP.NET开发网站应用程序是一种全新的体验,他在代码编辑方面,提供了基础模板,Form模板和MVC模板三种方式,巧妙地将页面前端逻辑与后端开发业务逻辑分隔开,在分离繁杂的代码同时,不影响整体的功能,是程序显得更加简洁。它的主要特点如下:多语言支持能够支持多种语言编程是ASP.NET的一大特色,不同于其他编程语言的单一设计,ASP.NET能够使用C#支持的多种语言进行编程,这得益于其本省特有的语言二次编译系统,将其他语言通过优先编译让机器可读,来实现多语言的支持,尤其是在前端页面部分,ASP.NET不仅支持传统的HTML,JavaScript等方式的编程,还提供了特有的CSHTML供开发者使用。增强的性能在ASP.NET中,用户所创建的代码是在经过VisioStdio软件编译之后再运行的。在用户完成代码的创建和修改之后,软件会迅速执行编译工作,保证代码最基本的正确性,及时筛选和反馈代码的编译问题,节省了错误的执行时间。当用户再一次执行时,软件会直接调用上一次的错误报告并进行修正,减少了反复编译带来的时间及资源上的了浪费,提供了缓存服务,这就大大提高了服务的响应速度。服务器控件ASP.NET为使用Web应用程序的用户提供了一些的前端页面标签,包括日历,CheckBox,Button等控件在内的几十余种方案,方便了用户的使用。在Form等编程方式中,更是可以使用可视化的编程模式,直接从工具箱中拖拽相应控件便可以在页面上使用,节省了调整控件位置的时间同时,还可以轻松编辑控件属性,方便了用户的使用。支持web服务ASP.NET的Web应用程序也为用户提供运行所需的服务器支持,在控制台中添加了IISExpress服务器之后,用户可以直接运行自己的Web程序。程序在经过软件编译通过之后会在本机的IIS服务上启动,使用localhost的端口模拟实际操作状态,如果在运行过程中发生错误,服务器还会及时反馈程序执行中的错误,并在软件中表明报错语句,方便后续修改。1.3.2SQLSERVER数据库SQLSERVER数据库是Microsoft(中文名:微软)公司提供的一款数据库操作系统(DBMS),适用于大部分的中小型数据存储需求,是目前主流的以表为结构操作数据的数据库之一,与MySQL,Oracle一起收到广大开发人员的青睐。作为一个强大的数据库系统,它具备完整的数据库功能,多种SQL语言,函数支持,还提供了相关数据库代理来完成用户设定的特定任务。它的主要特点有:1、数据管理功能的完整性:1)存储大量的数据2)保存数据的持久性3)数据的共享性4)数据的可靠性2、完备关系的产品:1)保证访问的准则;2)全新视图更新准则:不同于以往的传统视图更新模式,本锐减中改变了视图中的字段形式,其对应的表中数据也会发生变化;3)物理性及逻辑性的独立准则;3、分布式处理功能。1.3.3其他技术1、MVC技术MVC模式是ASP.NET语言Web应用程序提供的三种编程模式之一。即使用M,V,C(Model,View,Controller模型-视图-控制器)设计创建Web应用程序的模式:Model(模型)用于记录关键的网页数据信息,如用户信息等,将其整理存储在用户创建的model中,还可以与数据库中的对应数据进行操作。View(视图)一般用于显示网页,是网页的前端页面,一般用于存储html或cshtml等前端文件。Controller(控制器)是程序的核心部分,会存储前端页面代码对应的业务逻辑,对应函数,数据库数据操作等,通常控制器会先从model中读取类的一些数据,通过控制器中的函数和逻辑,处理之后发送给前端和视图view。MVC模式同时也包含对前端语言HTML、CSS和JavaScript的支持。MVC模式的三级分层,方便了用户管理复杂的Web程序,将不同业务逻辑的内容分装在不同的文件当中,使得用户不用纠结于复杂的程序结构。MVC的三级分层同时也解决了分组开发中遇到的一些问题。同组中不同的开发人员可以同时开发不同的视图或控制器,修改类中的一些信息,但同时和其他部分不相互干扰。2、EasyUI工具jQueryEasyUI是一组基于jQuery的UI插件集合体,提供者的目标就是帮助web网页应用程序的开发者们更轻松的打造出功能丰富并且美观的UI界面。开发者不需要花费大量的时间成本去学习编写复杂的javascript,也不需要对css文件的样式模板有非常深入的了解,开发者只需要能够了解的只有一些简单的html控件和标签如div,button等就可以轻松上手。EasyUI虽然简单,但功能并没有什么删减,也为开发者们提供了大多数UI控件的使用,如:checkbox,button,link,轮播图等等。EasyUI有以下特点:1、基于jquery用户界面插件的集合2、为Web网页应用提供必要的功能3、EasyUI支持两种不同的前端编程方式,包括js方式和html方式4、支持HTML5(通过data-options属性)5、支持扩展,有很高的定制化,可根据自己的需求扩展控件
第2章需求分析2.1功能需求分析通过对掌上大学,今日校园等体温打卡部分的研究分析,综合目前对提问打卡的需求,再加上自己的分析,基于高校的特殊情况,健康信息打卡系统基本实现了普通用户、管理员维护的需求。前台用户必须登陆才能浏览网页,账号由管理员提供。登录到系统网站首页后,用户可以浏览首页新闻,收到打卡通知,查看打卡列表,并参与打卡。教师账号还可以发布打卡内容,查看打卡进度,对打卡的信息进行管理,增删改查等。后台管理员应具备注册账号,配置身份,用户信息管理、打卡信息管理、新闻公告管理、新闻配置,地区配置,体温配置等功能。用户信息管理包括查看用户信息、删除用户、修改密码,班级,学号等信息;网页设计完成后,需要基本满足高校对在校师生的体温数据管理需求,做到快速,高效的收集师生当前体温信息,便于管理员管理网页,管理师生账号及打卡信息数据的管理,即使反馈体温异常情况,帮助高校做到提前预防,即使反应,迅速处理。将疫情防控做到最好。2.2用例需求分析当用户在使用本体温打卡系统时,不免的会和一些数据发生交互。正确的处理这些过程正是开发者应该考虑的,因此将这些过程进行转化,通过Visio的UML用例图表现出来,就可以更好的分析需求,设计页面。本系统用户用例包括管理员,教师和学生三种。用户必须登陆才能浏览网页,账号由管理员提供。登录到系统网站首页后,用户可以浏览首页新闻,收到打卡通知,查看打卡列表,并参与打卡。教师账号还可以发布打卡内容,查看打卡进度,对打卡的信息进行管理,增删改查等。后台管理员应具备注册账号(包括用户的账号,密码,确认密码,身份,学号,班级等信息),配置身份(包括管理员,教师和学生三种用户身份),用户信息管理、打卡信息管理、新闻公告管理、新闻配置,地区配置,体温配置等功能。用户信息管理包括查看用户信息、删除用户、修改密码,班级,学号等信息;用例具体内容如下:2.2.1前台用户模块这个模块中,用户必须登陆才可以使用网页,用户的账号由管理员注册和管理,用户不可以自行注册或使用。登陆后可以自行修改密码。如忘记密码需要及时联系教师或管理员处理。如图2-1所示:图2-1登陆信息模块用例这个模块中,用户登陆后使用网页,根据账号权限使用网页,其中学生账号可以浏览新闻,接收打卡提醒,查看打卡内容,参与打卡。同一名学生不可以对同一条打卡信息重复打卡,会提示相关错误信息。具体用例如图2-2所示:图2-2学生模块用例这个模块中,用户登陆后使用网页,根据账号权限使用网页,其中教师账号可以发布打卡信息,发送打卡提醒,查看打卡情况并管理数据,如图2-3所示:图2-3教师模块用例这个模块中,学生打卡需要填写以下内容,当前体温,近14天所在地,是否接触过高风险人群,是否去过高风险地区,是否属实。创建时间会自动读取系统当前时间,全部填写完成后会记录入数据库。如图2-4所示图2-4打卡模块用例2.2.2后台管理模块1、账号管理模块这个模块中,后台管理员可以创建用户、删除用户、修改用户密码,设置用户权限,用户管理模块用例图,创建新用户时,需要配置用户的账号,密码,班级,学号,姓名,身份等信息,通过数据库记录相关信息。如图2-5所示:图2-5账号管理模块用例2、配置模块这个模块中,后台管理员可以配置新闻,地区,班级,体温,用户管理模块用例图,可以配置主页新闻内容,配置用户班级信息,配置打卡信息中的体温部分,还可以配置打卡信息中的近14天所在地部分。其中新闻部分可以配置首页新闻标题,新闻内容。班级部分可以配置学生所在班级,记录入数据库中,在创建账号时使用。体温配置可以帮助用户在参与打卡时使用,基本包括37.5以下,37.5-38.5之间,38.5以上三个部分,管理员也可以配置其他不同的体温区间。地区配置可以帮助用户在参与打卡时选择近14天所在地信息,基本包括校内,常州市内,江苏省内,省外和国外几种,管理员还可以配置其他不同的所在地信息。以上所有配置都会记录入数据库相关表中,便于后期管理。如图2-6所示:图2-6配置模块用例
2.3可行性分析2.3.1技术可行性体温打卡系统的开发和运行只需一台笔记本就可以实现,能够安装WindowsXP及以上操作系统,只要配置好环境,大学生使用的一台笔记本电脑就可以满足开发和运行的需求。本系统采用ASP.NET语言来设计,基于MVC三级分层模式,合理规划网页设计。前端界面会使用EasyUI框架来进行设计,同时配合JS、CSS技术使得网页设计可靠、美观、高效。网站的所有数据都会记录并保存在SQLSERVER数据库中,它能够存储大量的数据,对密码等重要信息进行加密,保障网页数据的安全,同时便于调用,方便开发者和用户对相关数据进行操作。2.3.2操作可行性本系统在前期调查和分析的过程中,全面分析了三种不同用户对于网页的使用需求,再不更改开发功能的前提下,力求完成一个操作简单,界面清晰,数据正确的体温打卡系统,简化开发过程,优化代码和数据库设计。2.3.3经济可行性随着每日体温打卡这种习惯深入人心,记录体温信息这种需求已经很普遍。但在高校等这种人员密集的场所,逐一统计体温信息,及时反馈的成本很大,传统的由教师或班级为单位统计信息,消耗的人力物力极大,还容易造成数据的错误。而本系统的设计旨在为以上问题提供解决方案,在保证数据的可靠性和时效性的前提下,极大的减少了人力物力的消耗,还能够简单的统计和操作数据,性价比较高,具有一定的经济可行性。
第3章系统功能概述3.1系统总体功能体温打卡系统的使用者主要是学生,教师和管理者。对于学生来说,登陆后需接受打卡任务消息,查看打卡任务,并参与打卡。教师可以发布打卡任务并管理打卡信息。管理员在后台可以注册账号并配置身份。配置网页其他相关内容。本体温打卡系统整体结构图,如图3-1所示:图3-1总体功能图3.1.1前台用户登录:用户使用管理员注册的账号和密码来使用本网页,不同的账号身份将对应不同的系统功能。新闻公告:登陆的用户可以看到管理员配置的网页首页新闻。消息接收:用户会接收到教师账号发布的打卡消息。打卡任务列表:学生可以查看打卡任务,教师账号还可以发布打卡任务并进行管理。打卡信息:学生参与打卡,填写个人信息,教师帐号还可以对打卡信息进行增删改查操作,管理数据。异常管理:教师账号对异常的打卡信息如发烧,不在省内的打卡进行查看,并做出相应提醒。3.1.2后台账号注册:管理员登陆后可以注册账号,设定账号的用户名,密码,班级,学号,身份等。身份配置:管理员设定账号的身份权限,包括管理员,教师,学生三种,不同的身份可以使用的网页功能不同。体温配置:管理员设定体温打卡部分的体温,分别为37.5以下;37.5-38.5之间;38.5以上;身份配置:管理员设定账号身份,分别为管理员,教师,学生;新闻配置:管理员可以设定首页所展示的新闻内容,进行增删改查操作。区域配置:管理员设定体温打卡时的近14天所在地设置。分别为校内;常州市内;江苏省内;省外;国外;
3.2数据库的设计与实现数据库是本体温打卡系统的核心,本系统使用的全部信息都会通过相关代码保存在SQLSERVER数据库里面。通过代码对各类表中数据的操作,从而实现系统所需要的功能。若对数据库中表的设计有误,不仅影响网页对相关数据的操作和调用,甚至有可能无法正确的打开本网页,数据库设计的重要性可见一斑。在设计数据库时,我们常会使用Visio中的模型来绘制数据库的E-R图,描述多表之间的关系。一般E-R图中会包含网页所使用的对象,对象的属性和对象间的关系三个内容。通过绘制E-R图,可以将抽象的数据关系具象为实际的表关系。3.2.1数据库概念结构设计——E-R图图3-2E-R图
3.2.2数据库关系图在绘制了E-R图之后,就可以开始搭建数据库了。在分析图中的对象及关系之后,我将本系统所需要的数据库表单设计出来,通过Visio将表与表之间的关系补全。供设计了如下几张表:用户表(User):(标识,用户名,密码,确认密码,姓名,学号),身份表(Role):(标识,身份名),班级表(ClassTable):(标识,班级名),用户身份关联表(UserRole):(用户标识,身份标识),用户班级关联表(UserClass):(用户标识,班级标识),打卡任务表(DakaInfo):(标识,标题,创建时间),打卡信息表(DakaTable):(标识,外键,用户信息,当前体温,近14日所在地,是否接触过高风险人群,是都去过高风险地区,是否属实),新闻表(NewsTable):(标识,新闻标题,新闻内容,创建时间)。数据库总体设计如图3-3所示:图3-3总体关系图3.2.3数据库具体设计用户表User:记录了网站用户的相关信息,包括账号,密码,确认密码,姓名和学号。管理员在注册用户账号时需要增加如下字段,对这张表进行操作。表3-1用户信息表(User)字段名称数据名称数据类型字段长度是否为空备注标识User_idInt10否PK账号User_accountString255否密码PasswordPassword255否确认密码ConPasswordPassword255否姓名UsernameString255否学号CodeNumberLong10否身份表Role:记录了用户账号的身份内容,包括标识id和身份名称两个字段。表3-2身份表(Role)字段名称数据名称数据类型字段长度是否为空备注标识Role_idInt10否PK身份名称RoleNameString255否用户身份关联表UserRole:记录了用户账号和用户身份的关系,不同的账号对应不同的身份关系。管理员在后台配置用户身份时操作这样表。表3-3用户身份关联表(UserRole)字段名称数据名称数据类型字段长度是否为空备注用户标识User_idInt10否身份标识Role_idInt10否打卡任务表DakaInfo:记录了教师发布的打卡任务相关内容,包括标识,标题,描述和创建时间四个字段,教师之需要配置标题和描述内容,标识为主键自加,创建时间读取系统当前时间。通过标识Dakainfo_id与打卡信息表相关联.表3-4打卡任务表(DakaInfo)字段名称数据名称数据类型字段长度是否为空备注标识DakaInfo_idInt10否PK打卡标题TitleString255否打卡描述DescText255是创建时间CreateTimeDateTime255否打卡信息表Daka:记录了打卡的相关信息,包括打卡人的相关信息,当前体温,近14天所在区域,是否接触高风险人群,是否去过高风险地区,是否属实等内容。其中打卡人信息读取当前使用网页的用户信息,通过Dakainfo_id与打卡任务表相关联,创建时间读取系统当前时间。后台管理打卡信息数据时对这张表进行操作。表3-5打卡信息表(DakaTable)字段名称数据名称数据类型字段长度是否为空备注标识Daka_idInt10否PK外键标识DakaInfo_idInt10否FK姓名UsernameString255否班级ClassNameString10否学号CodeNumberLong10否温度TempVarchar255否区域LocVarchar255否高风险人群HighRiskGroupInt1否高风险地区HighRiskAreaInr1否是否属实isTrueInt1否创建时间CreatetimeDatetime50否班级表ClassTable:记录了班级信息。表3-6班级表(ClassTable)字段名称数据名称数据类型字段长度是否为空备注标识Class_idInt10否PK班级名称ClassNameString255否用户班级关联表UserClass:记录了用户和班级之间的关联关系。表3-7用户班级关联表(UserClass)字段名称数据名称数据类型字段长度是否为空备注用户标识User_idInt10否班级标识Class_idInt10是新闻表News:记录了首页新闻的相关内容,包括新闻标题和内容。标识为主键自增,创建时间读取系统当前时间。管理员配置首页新闻时对这张表操作。表3-8新闻表(NewsTable)字段名称数据名称数据类型字段长度是否为空备注标识News_idInt10否PK新闻标题NewsTitleString255否新闻内容NewsContextTextmax否创建时间CreateTimeDatetime50否3.3数据库搭建3.3.1、创建数据库打开sqlserver,新建查询query,输入数据库创建语句,搭建一个名为“test”的数据库用于存放表单。Createdatabasetest;3.3.2、新建表单按照本文3.2数据库的设计与实现,在test数据库中插入以下八张表格:用户表:用于记录使用网页的用户信息,包括用户的账号,密码,确认密码,姓名,学号等信息。CREATETABLE[dbo].[users]( [id][int]IDENTITY(1,1)NOTNULL, [roleid][int]NULL, [username][varchar](50)NULL, [password][varchar](50)NULL, [createtime][varchar](50)NULL,CONSTRAINT[PK_users]PRIMARYKEYCLUSTERED( [id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]身份表:记录了用户账号的身份内容,包括标识id和身份名称两个字段。用户身份关联表:用于设定用户的身份,将user表与role表关联。班级表:记录班级信息用户班级关联表:用于设定用户班级,将user表与ClassTable表关联。新闻表:用于记录首页新闻模块数据,包括标识,标题,正文和创建时间字段。打卡任务表:记录发布的打卡信息,包括表示,内容,创建时间等字段,其中标识字段还将作为打卡信息表的外键。CREATETABLE[dbo].[daka]( [id][int]IDENTITY(1,1)NOTNULL, [dakaname][varchar](50)NULL, [createtime][varchar](50)NULL,CONSTRAINT[PK_daka]PRIMARYKEYCLUSTERED( [id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]打卡信息表:用于记录打卡的信息,是数据库中最为重要的一张表,也是本网页核心内容打卡的保障。包括打卡人的相关信息,当前体温,近14天所在区域,是否接触高风险人群,是否去过高风险地区,是否属实等内容。其中打卡人信息读取当前使用网页的用户信息,通过Dakainfo_id与打卡任务表相关联,创建时间读取系统当前时间。CREATETABLE[dbo].[dakatable]( [id][int]IDENTITY(1,1)NOTNULL, [dakaid][int]NULL, [wendu][varchar](50)NULL, [studentname][varchar](50)NULL, [studentbanji][varchar](50)NULL, [studentxuehao][varchar](50)NULL, [address][varchar](50)NULL, [gaofengxian_address][int]NULL, [gaofengxian_renqun][int]NULL, [istrue][int]NULL, [createtime][varchar](50)NULL,CONSTRAINT[PK_yidaka]PRIMARYKEYCLUSTERED( [id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]
第4章系统详细设计本系统的设计分为两大模块,前台模块和后台管理员管理模块。数据库部分使用sqlserver来创建设计好的数据库,以便在程序中使用。体温打卡系统的使用者主要是学生,教师和管理者。对于学生来说,登陆后需接受打卡任务消息,查看打卡任务,并参与打卡。教师可以发布打卡任务并管理打卡信息。管理员在后台可以注册账号并配置身份。配置网页其他相关内容。4.1前台操作模块4.1.1、系统登陆页面想要使用本系统,登陆时第一步。只有登陆了才可以使用本网站的功能,登陆的账号由管理员注册和配置。不同的权限账号可以浏览的网页信息不相同。登陆页如图4-1所示:网页登录的流程如下:用户输入用户名和密码,系统将输入的数据与数据库中进行比对,如果合法则登录成功,进入网页,如果不合法则会报错,重新登录。登陆成功之后系统会根据账号的身份来提供功能:图4-1登陆界面及流程图部分代码如下,通过SQL语句从相应的数据库中拿取数据和输入的账号密码比对,同时设置一些条件防止输入错误:publicJsonResultUserLogin(stringusername,stringpassword){if(string.IsNullOrEmpty(username)||string.IsNullOrEmpty(password)){returnJson("账号或密码不可为空。");}varsql=@"selecta.*,b.status,b.rolenamefromusersasaleftjoinrolesasbona.roleid=b.idwherea.username='"+username+"'anda.password='"+password+"'";vardt=sqlHelper.ExecuteDataTable(sql);if(dt==null||dt.Rows.Count==0){returnJson("账号或密码错误。");}Session["username"]=dt.Rows[0]["username"];Session["status"]=dt.Rows[0]["status"];Session["id"]=dt.Rows[0]["id"];returnJson("success");}4.1.2、系统首页登陆之后便可以浏览系统的主页。左侧为菜单栏,不同的账号身份能显示的菜单数量不同,首页一般展示相关新闻配置。首页如图4-2所示:图4-2新闻界面4.1.3、密码修改用户登陆之后便可以修改自己的密码,输入当前密码,新密码,确认密码即可。如图4-3所示:图4-3密码修改流程4.1.4、打卡任务页学生登陆后可以查看打卡任务页面,如果有打卡任务都会显示在这里,包含打卡标题,打卡信息和创建日期。如图4-4所示:图4-4打卡任务界面4.1.5、打卡流程体温打卡是本系统的核心功能,登陆之后查看打卡任务,如果有,学生参与打卡,如果没有,教师发布打卡任务后学生参与。参与过打卡的学生不可重复打卡。具体如图4-5,4-6所示:图4-5打卡图流程图中,用户登录网页,之后才能进入打卡的流程。学生查看是否有已发布的打卡任务。如果没有打卡任务则结束流程,如果有打卡任务就可以参与打卡,填写自己的相关信息,包括当前体温,近14天所在地,是否接触过高风险人群,是否去过高风险地区,提交信息是否属实等。图4-6打卡流程图一部分代码如下,在view视图中搭建打卡的表格,设置每行的内容,使用EasyUI的框架,配合js或html代码,设置每行的区域名,标题,格式等。:columns:[[{field:'ck',checkbox:true},//选择{field:'dakaname',title:'打卡名称',align:'center',width:'300'},{field:'studentname',title:'打卡学生',align:'center',width:'150'},{field:'wendu',title:'学生体温',align:'center',width:'200'},{field:'studentbanji',title:'学生班级',align:'center',width:'150'},{field:'studentxuehao',title:'学生学号',align:'center',width:'150'},{field:'address',title:'地区',align:'center',width:'150'},{field:'gaofengxian_address',title:'是否去过高风险地区',align:'center',width:'150',formatter:function(value,rows,index){if(rows.gaofengxian_address==0)return"是";elsereturn"否";}},{field:'gaofengxian_renqun',title:'是否接触高风险人群',align:'center',width:'150',formatter:function(value,rows,index){if(rows.gaofengxian_renqun==0)return"是";elsereturn"否";}},{field:'istrue',title:'是否属实',align:'center',width:'150',formatter:function(value,rows,index){if(rows.istrue==0)return"是";elsereturn"否";}}]]4.1.6、打卡管理页教师和管理员账号可以在打卡管理页面查看所有的打卡信息。这里包含具体的打卡内容,可以进行增删改查操作,排序,分页等。如图4-7所示:publicJsonResultTable(stringrows,stringpage){varnumber=(Convert.ToInt32(page)-1)*Convert.ToInt32(rows);varsql="";sql=@"select*fromwendu";DataTabledt1=sqlHelper.GetTable(sql);varls=DaTaTableToJson.GetModelFromDB<_wendu>(dt1);returnJson(new{total=dt1.Rows.Count,rows=ls},JsonRequestBehavior.AllowGet);}图4-7打卡管理图
4.2后台管理员操作模块4.2.1、管理员账号登陆时使用事先创建好的管理员账号才可以使用管理员相关的权限。需要提前在数据库中添加,具体的语句如下:insertintorolesvalues('管理员',0,'2021-05-01')insertintousersvalues(1,'admin','123456','2021-05-01’)4.2.2、配置后台网站的后台由管理员进行管理,需要管理员登陆后进行操作。管理员最重要的工作便是注册用户账号和配置整个网页。图4-8后台配置流程图注册及配置身份本系统的所有用户账号都有管理员进行注册,包括相关的用户名,密码,所在班级,学号,角色身份等。用户通过管理员注册的账号进行登录。不同权限的账号可以浏览的主页内容也不相同。相关流程图中,首先登陆管理员账号才可以使用网页的后台,管理员账号插入在sql查询中。登陆管理员账号后,可以使用用户注册,,输入用户的相关信息,选择用户的身份后完成这个流程。图4-8账号注册流程一部分代码如下,在控制器Controller中加入如下代码,函数中需求当前注册的用户名,密码和角色身份作为参数,判断数据是否为空和合法,确认无误后才可以成功注册,将数据插入数据库中。publicJsonResultUserRegs(stringusername,stringpassword,stringstatus,stringroleid){if(string.IsNullOrEmpty(username)||string.IsNullOrEmpty(password)){returnJson("账号或密码不可为空。");}if(string.IsNullOrEmpty(status)){returnJson("请选择账号对应权限。");}varsql="insertintousersvalues(null,"+roleid+",'"+username+"','"+password+"','"+DateTime.Now+"')";varnum=sqlHelper.ExecuteSql(sql);returnnum>0?Json("success"):Json("账号新增失败");}截图如下:图4-9账号注册及身份管理配置体温打卡时的温度部分由管理员进行配置,基本包括37.5以下,37.5-38.5,38.5以上三个部分。管理员也可以配置其他不同的体温配置提供给打卡的用户。截图如下:图4-10体温配置配置地区打卡信息中的近14天所在地部分也是由管理员进行配置。基本包括在校内,在常州市内,在江苏省内,省外及国外五种配置内容。管理员也可以配置其他的地区信息供用户使用。截图如下:图4-11区域配置配置新闻主页部分显示的相关新闻内容也是由管理员进行配置的。管理员在后台可以操作新闻的标题及内容,对新闻进行增删改查操作来布置首页新闻。截图如下:图4-12新闻配置4.2.3、管理数据学生参与打卡之后,教师权限账号和管理员账号可以对打卡的数据进行管理,包括对打卡信息的查看,排序,查找,分页等。对不正确的数据进行增删改查操作,是本系统的核心部分之一。具体的一部分代码及图示如下:在Controller中插入如下函数,设置行数rows和页码page作为参数保证相关数据分页功能,具体使用sql语句来调用数据,显示在页面上。publicJsonResultTable(stringrows,stringpage){varnumber=(Convert.ToInt32(page)-1)*Convert.ToInt32(rows);varsql="";sql=@"select*fromwendu";DataTabledt1=sqlHelper.GetTable(sql);varls=DaTaTableToJson.GetModelFromDB<_wendu>(dt1);returnJson(new{total=dt1.Rows.Count,rows=ls},JsonRequestBehavior.AllowGet);}截图如下:图4-13数据管理
第5章系统测试系统的测试是网页开发的最后一个环节。与开发一样十分重要,却也常常被人们所忽视。很多时候网页即使能够成功运行,也会包含一些问题,而系统测试则保障了系统的完整性和安全性。系统的测试一般分为两个部分,系统的功能测试与系统的性能测试,其中功能测试一般针对网页的具体实现,包括数据的输入输出,数据库的调用操作等;而性能测试一般针对网页在不同负载,不同环境下的响应速度与时间,在面临大量的请求和数据时是否会崩溃等。软件测试的目的是为发现系统中的存在错误和缺陷,以便开发者在后续的更新和维护中更好的操作。因此测试的过程的是发现问题并解决问题的过程。通过几个月的设计与校对之后,大体上完成了对本体温打卡系统的设计与实现,但还是会隐藏一些问题在代码之下,需要进行测试之后才能发现,为此我准备了一些测试用例来针对我的系统,在检测输入输出等问题的基础上,对内容的正确性,精准性进行测试,以保障程序能够平稳运行,保障用户信息安全和使用体验,也为开发工作和后续调整打下基础。5.1运行环境1、硬件环境:笔记本电脑一台。2、软件环境:(1)开发环境:IISExpress,MVC5,IE8以上浏览器;(2)开发工具:VisualStdio2012,EasyUI,EntityFrameWork;(3)后台数据库:SQLSERVER。5.2测试方法伴随计算机技术和软件工程等学科的发展,软件测试技术也开始针对不同的需求发生变化。尽管定制化的测试案例有很多,但其中的核心思路始终没有改变,即使用黑盒测试或白盒测试两种方法来校验软件的功能。在对不同的程序测试时,根据程序的大小,结构,数据复杂性等方面考量后,选择合适的测试方法来调整程序。黑盒测试对大多数的程序而言,黑盒测试一直是测试方法的首选。此方法将整个程序的中段包裹起来,只显示程序的输入与输出端,通过检测程序的输入,将实际输出与预计输出相比对,校验程序的正确性,这不仅降低了测试程序所需的成本,也保证了程序基本的性能,但在发生错误时不能及时定位错误发生的区域,尤其在大型项目中这一点尤为突出。白盒测试与黑盒测试不同,白盒测试是一种针对性极强的测试方法,他需要测试人员清楚地了解程序的每个部分,因为白盒测试的核心思路就是具体分析每一条线路,对数据在程序中处理的全过程进行观察和校验,以保障程序的正确性,一般针对功能较简单的程序或者对程序正确性有极高要求的时候使用,成本较高,耗时较长,但保障了性能。5.3系统测试用例基于程序开发的全过程及用户需求,我编写了以下几个测试用例来进行测试,测试方法选用了黑盒测试。表5.1对管理员账号测试用例用例名称管理员账号测试用例用例ID1用例描述输入管理员账号后,可以使用该账号登录网页,管理后台测试方案在sql中输入相应语句,检查网页是否可以使用该账号登录管理员身份,对网页的后台实施操作输入数据进入sqlserver,输入数据如下:insertintorolesvalues('管理员',0,'2021-05-01')insertintousersvalues(1,'admin','123456','2021-05-01’)点击运行预期结果插入数据成功。数据库中user表和role表都有相应数据。使用该账号”admin”和密码”123456”可以登陆网页,管理后台数据,配置相关内容。表5.2网站对数据库的访问测试用例用例名称网站对数据库的访问测试用例用例ID2用例描述管理员在后台注册账号,配置身份,之后可以使用该账号登录网页前台测试方案管理员在后台注册一名学生账号,配置身份,查看数据库中是否添加一条记录,前台是否能使用该账号登录。输入数据进入后台管理模块,输入以下数据:账号:studentYang身份:学生密码:123456点击提交。预期结果提交
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度供水行业节能减排合作协议3篇
- 广州市证券公司租赁合同范例
- 2025年特色民宿木地板定制与安装服务合同范本3篇
- 商业用电合同管理办法
- 二零二五年度新能源发电项目合同范本3篇
- 2025住房借款抵押担保合同范本
- 2025物流公司转让合同
- 厂房佣金合同范本
- 二零二五年度宝鸡市城市基础设施建设项目合同2篇
- 2025版爆破工程劳务分包合同范本(含安全监管)3篇
- 副总经理招聘面试题与参考回答(某大型国企)2024年
- 2024年SATACT家教培训合同
- 《ESPEN重症病人营养指南(2023版)》解读课件
- 智慧茶园监控系统的设计
- 2024年宜宾发展产城投资限公司第三批员工公开招聘高频难、易错点500题模拟试题附带答案详解
- 2024年省宿州市“宿事速办”12345政务服务便民热线服务中心招考15名工作人员高频考题难、易错点模拟试题(共500题)附带答案详解
- 2024年安徽省行政执法人员资格认证考试试题含答案
- 中国2型糖尿病运动治疗指南 (2024版)
- 人教版初中九年级全册英语单词表
- 人教版小学二年级数学下册数学口算、脱式、竖式、应用题
- DZ∕T 0405-2022 无人机航空磁测数据采集技术要求(正式版)
评论
0/150
提交评论