管理子系统设计_第1页
管理子系统设计_第2页
管理子系统设计_第3页
管理子系统设计_第4页
管理子系统设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要在科技变化日新月异的当下,社会对于实用型人才和创新型人才的需求日益扩大。高校因此也着力培育创新型和实践性人才,而实验教学在这个过程中起到了关键作用。然而当下大部分学校的实验课程管理依然在采用人工管理的办法,对实验教学的发展形成了一定阻碍。所以,研发高校实验管理系统用以提升实验教学管理效率势在必行。本论文研究分析了实验管理系统管理子系统的基础实验数据管理,用户权限管理和实验教学管理功能需求;同时分析了系统的数据安全性和易用性的非功能性需求。除此之外论文完成了系统模块划分,并对系统各个子模块功能工作流程进行了详细描述。本系统使用.NET平台下的MVC框架进行构建,选择SQLServer2017数据库进行数据存储。最后论文对系统的功能进行了测试,确保功能确实可用,达到满足实验管理的目的。实验管理系统管理子系统实现了完成日常教学活动的基本功能,并提供管理员进行后台管理的功能,能够大幅提升实验管理效率。关键词:实验管理系统;数据库;ASP.NETAbstractWiththerapiddevelopmentofsciencetechnology,thedemandforpracticaltalentsandinnovativetalentsisincreasing.Therefore,collegesanduniversitiesalsofocusoncultivatinginnovativeandpracticaltalents,andexperimentalteachingplaysakeyroleinthisprocess.However,mostofthecurrentexperimentalcoursemanagementinschoolsarestillusingthemethodofartificialmanagement,whichhasformedacertainobstacletothedevelopmentofexperimentalteaching.Therefore,thatitimperativestodeveloptheexperimentmanagementsystemimprovetheefficiencyofexperimentteachingmanagement.Thispaperanalyzesthebasicexperimentaldatamanagement,userrightsmanagementandexperimentalteachingmanagementfunctionalrequirementsoftheexperimentalmanagementsystemmanagementsubsystem,andanalyzesthenonfunctionalrequirementsofdatasecurityandeaseofuseofthesystem.Inaddition,thepapercompletedthesystemmoduledivision,anddescribedthefunctionalworkflowofeachsubmoduleindetail.ThissystemusesMVCframeworkunder.NETplatformtobuild,andselectsSQLServer2017databasefordatastorage.Finally,thefunctionofthesystemistestedtoensurethatthefunctionisavailableandmeetthepurposeofexperimentmanagement.Themanagementsubsystemoftheexperimentmanagementsystemrealizesthebasicfunctionsofdailyteachingactivities,andprovidestheadministratorwiththefunctionofbackgroundmanagement,whichcangreatlyimprovetheefficiencyofexperimentmanagement.KeyWords:ExperimentManagementSystem;Database;ASP.NET目录TOC\o"1-5"\h\z\u第1章绪论 页绪论选题目的及意义目前我国的高校教学经费和教育实力都在不断地增长,各高校的教学规模也在不断扩大。而高校在培养学生的创新能力和实践能力的过程中,实验教学是十分重要的一个环节,各个高校都在加大对实验室和实验课程的投入。如购入更先进的实验设备,增加实验课程安排等举措。日新月异的信息化技术也为教学活动的开展提供了便利与机遇。如何利用现代的信息化技术对日益丰富的实验课程信息进行管理,已经成为了高校管理信息化建设亟需解决的一大难题。而实验信息管理工作在信息化的管理系统出现之前,往往需要人工手动记录在纸质文件中,并聘请专人对这些文件进行管理。在这种传统的管理方式下,实验教学资源利用率和实验信息管理效率是十分低下的。随着计算机技术的不断发展,无数行业都进入了信息化的高速路,高校也不能例外。所以各高校都纷纷着手开始研究实验管理系统用于帮助师生完成日常实验教学活动。而想要让实验管理系统切实有效地提升管理效率,则首先需要分析该如何解决传统管理模式下的缺陷和不足,具体如下:(1)实验课程信息的记录、储存、维护和查询需要耗费大量人力物力,且存在一定滞后性。(2)学生和教师想要对信息进行查询和修改相当不便,(3)各个学院的课程相互独立,难以统一整合管理。(4)手工录入信息容易出错。(5)难以对实验信息进行大规模统计以进行教学质量分析。研究并开发实验管理系统的目的,就是要解决以上传统管理模式存在的各种缺陷。来让实验管理更加现代化、信息化、高效化。而且事实上,实验管理系统的投入使用对于高校提升教学水平的意义是非常全面且深刻的:(1)全面提升实验管理水平,信息化的实验管理系统投入使用后,教师修改信息和学生查询信息等操作均通过网络在线进行,方便的同时确保信息的及时性。同时实验信息完全储存在数据库中,确保数据信息的安全和稳定性。(2)大幅提升实验信息管理人员工作效率以节省开支,信息化管理系统投入使用后,系统可以快速定位任一实验课程或学生,大幅减轻了对实验信息进行维护和管理的繁琐度。同时还可以对实验信息进行收集和统计。由上述内容可以分析得出,高校研发使用实验管理系统对于提升教学管理水平具有重要意义。选题基于这一点出发进行实验管理系统管理子系统的研究和开发。国内外现状分析实验管理系统最早出现在上个世纪80年代,随着计算机技术的不断发展,实验管理系统也在不断进化,经历了以下几个阶段:(1)最早在上个世纪80年代国际上就出现了最早的一代实验管理系统,但由于当时计算机技术远没有现在发达,软件硬件的发展水平都比较落后。所以研发出来的实验管理系统功能十分单一,只能处理简单数据,无法进行复杂业务。并且由于当时操作系统界面图形化水平较差,使用上比较繁琐,不利于非计算机专业学生和教师直接使用,所以效率比较低下。同时因为其针对固定的某个实验室进行开发所以通用性上也很差。在实验需求发生变化之后,缺乏可拓展性的该类系统也难以进行功能拓展和更新。虽然第一代实验管理系统无法满足实验教学活动的需要,但其的出现为日后更加先进便捷的实验管理系统提供了参考,打下了基础。(2)在信息技术快速发展的上世纪90年代,个人计算机得到了普及,成熟的操作系统让计算机的使用变得十分简单,每个人在经过简单学习后都可以轻松上手使用计算机。同时期出现的数据库技术可以进行大规模的数据存储和调用。而Web技术的出现让B/S架构取代了传统的C/S架构模式。其满足了数据库在网络上的数据共享,简单易懂的图形交互界面也让用户易于使用。这些变化和发展不断推动实验管理系统的进步。此阶段的实验管理系统已经很大程度上提升了实验管理水平和效率,初步实现了信息化管理和无纸化办公,很大程度代替了人工作业,取得了比较显著的进步。(3)进入21世纪后,单纯的数据储存查询功能不足以满足教学活动的需要。各高校都对管理系统进行了各种功能拓展,如采用算法技术来实现班级、课程、实验室的排班,还有对实验相关数据信息的统计分析。以此提升学校的教学管理水平。除此之外还有例如大数据、数据挖掘等等最新技术陆续被运用到实验管理系统中,这些技术也为提升学院管理水平质量作出了帮助。国内也有许多专家学者以及商业公司对实验管理系统进行研究和开发,如卢春燕开发的实验室管理系统使用.NET平台进行构建,在完成数据储存维护、在线查询等主要功能外,同时引入了蚁群算法用于进行自动排课,大幅减轻管理员工作量,并使用并行数据库技术防止系统出现故障无法运行导致数据库内容出错,还添加了备份恢复措施,即使数据出现错误或者丢失也可以通过该功能进行找回[1]。张德荣以化工实验室为研究对象,分析了成都工业职业技术学院实验室管理模式的缺陷,提出并设计了相应的管理系统,该系统基于ASP.NET平台开发,使用SQLServer2008数据库储存相关数据,其最终构建的系统包含了实验室管理、实验设备和损耗管理、危险化学品管理等功能模块。该系统有效提升了该院校实验室管理水平[2]。不过目前国内大多数的实验管理系统都较为落后,且设计上过于借用国外思想,在具体功能设计上也有一定差距,国外的实验管理系统较为注重实验信息的收集和分析,以此获取有价值的信息,用以改进教学方案。国内大多数的实验管理系统开发还停留在第二阶段,并没有考虑到实验相关数据的收集和管理,所以国内实验管理系统的开发还需要有更深入的研究。本文研究内容本文主要对实验管理系统管理子系统的设计与实现进行研究,在整个研究过程中主要完成以下几项工作:

(1)分析了实验管理系统管理子系统业务需求。通过对传统人工管理模式进行业务流程分析,分析实验管理系统管理子系统应该拥有哪些使用功能,除功能性需求外,也对系统的安全性、易用性、稳定性等非功能性需求作了分析。

(2)设计实验管理系统管理子系统架构并划分功能模块。在需求分析的基础上,设计了系统应用架构,并进行模块化分解。其中包括实验信息管理模块、用户权限管理模块、实验教学管理模块。

(3)实现实验管理系统管理子系统的系统架构和功能模块。完成了实验信息管理、用户权限管理、实验教学管理的模块开发与集成。

(4)在个人计算机上部署实验管理系统管理子系统并给出系统运行及测试结果分析。论文组织结构为详细且完整地说明系统的构建过程,本论文分为六个大章节若干小节对系统的分析设计与构建进行详细说明:第一章绪论:详细叙述论文选题背景及其意义、国内外研究现状分析、论文主要研究内容和论文组织结构。第二章相关技术概述:列举并简要描述了系统开发用到的重要计算机技术,其中包括MVC模式在B/S架构中的运用,和LINQ连接SQLServer数据库,以及使用算法加密数据库中的密码字段,还有使用NPIO处理Excel文件。第三章系统业务需求分析:对系统业务数据和过程进行分析和介绍,以此完成系统需求建模、系统数据建模和系统过程建模。第四章系统设计与实现:对系统应用架构进行设计,明确各系统功能的工作流程,完成数据库设计。并描述各功能实现的过程。第五章系统测试及分析:详细说明系统运行和部署环境,设计各种测试用例用于测试系统功能模块,针对测试结果进行分析,分析系统能否顺利完成业务流程。第六章结束语:总结本文所作的主要工作,指出尚有的不足和该如何进一步对系统进行改进。相关技术概述MVC架构在B/S结构中的运用ASP.NET技术是当下Web应用开发中较为广泛运用的前沿开发技术之一。它具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面,优点是将页面逻辑和业务逻辑互相分离,它分离程序代码与显示的页面内容,让网页图形表现更加丰富多彩且易于使用。同时精简了程序代码,使代码阅读起来更简洁、更轻松。ASP.NET技术所构建的应用程序几乎可以在任何支持Web应用的平台上顺利运行。另外ASP.NET支持的编程语言非常之多,如VB,C#,Jscript等,本文研究的实验管理系统管理子系统选用C#进行代码编写,好处是安全性和可靠性高。而ASP.NET与过去的Web开发模式相比,优势主要体现在运行性能强大、开发工具多样、代码和应用逻辑分离、可使用多种控件实现所见即所得等。ASP.NET的这些强大功能使得其快速成为了开发主流技术之一,而其自身也在不断地进化,但传统ASP.NET始终存在的问题是,用户每一次请求都要运行并转换服务器控件为HTML页面输出,如果页面较为复杂,转换和输出也会变得特别复杂,这些转换延长了网页响应时间。为解决这些问题,微软推出了ASP.NETMVC以代替原有的传统ASP.NET。ASP.NETMVC保留了传统ASP.NET的大部分优点的同时,将视图变成了纯HTML,并将后台代码迁移到简单的.NET类中,称为控制器。这样就不用转换控件为HTML页面,并且代码运行速度也得到了加快。本文的系统基于优化系统性能的目的选择了ASP.NETMVC架构进行系统开发。而信息化系统的系统结构主要有两种通用类型,分别是Browser/Server(浏览器/服务器端)和Client/Server(客户端/服务器端)。C/S结构出现较早,服务器端负责对数据进行处理和管理,客户端负责向用户展示服务器端的数据并与用户产生交互,把交互结果返回给服务器端。这样的模式存在的问题是:(1)客户端的运行对应用平台有所限制。(2)大规模使用的系统需要在每一台计算机上分别安装客户端。(3)服务器端所作的变动牵一发而动全身,每一个客户端都会被影响。而B/S结构借助互联网技术使用浏览器代替了客户端,只要装有浏览器并连接网络的任何终端都可以无需安装任何软件进行访问,并且实现应用与开发环境的分离,便于功能拓展,确保系统安全性。所以本系统选用B/S结构进行开发。本系统选用的ASP.NETMVC架构在B/S结构中,浏览器端从控制器发出HTTP请求,控制器从视图读取数据发送给服务器端的模型,模型访问数据库处理数据后创建新的视图。两种架构结合使用拥有了双方的优点,确保了系统的易用性、功能性、运行效率和可拓展性。LINQ连接SQLServer数据库在选用C#技术进行.NET开发时,在连接数据库时通常都会选用ADO.NET技术来实现数据访问。它支持连接目前的各个主流数据库,如MYSQL和SQLServer等,不仅限于可访问关系型数据库,非关系数据库也可以进行操作。其有两种类型的组件可以用来实现数据库访问,其一为DataSet,另一为.NET数据提供程序,下面就对这两个重要组件即数据库访问方式进行说明:(1)DataSet组件:又名数据源组件,通过该组件即可实现数据的直接连接,无需重复编程。在组件化之前的经典模式下,需要按照不同功能进行数据连接编程,经过组件化后只需要按照组件使用要求进行连接完成数据交互即可。大大地简化了开发过程,提升了编程效率。(2).NET数据提供程序:在该程序提供的访问方式下,最重要的数据访问组件是DataReader,其具有若干特点,如只向前和只读,所以该组件进行数据访问所占用的资源较少,并且不需要再次编写数据访问代码,只需要用户写好SQL数据访问语句,即可对数据库进行操作获得对象。该程序还可以和DataSet组件组合使用,可以对DataSet增加数据也可以将其之中的数据返回到数据源。这种组合使用的方式也可以大幅度简化数据连接代码的编写难度,对完成对数据库的增、删、改、查操作起到重要作用。而LINQtoSQL是ADO.NET系列技术的一部分。它基于ADO.NET提供程序模型提供的服务。因此,可以将LINQtoSQL代码与现有的ADO.NET应用程序混合在一起,并将当前ADO.NET解决方案迁移到LINQtoSQL中。LINQtoSQL是适合不需要映射到概念模型的开发人员使用的有用工具。通过使用LINQtoSQL,可以直接在现有数据库架构上使用LINQ编程模型。LINQtoSQL使开发人员能够生成表示数据.NETFramework类。这些生成的类直接映射到数据库表、视图、存储过程和用户定义的函数,而不映射到概念数据模型。在数据库选择上,本文的系统选择使用SQLServer2017进行数据存储。SQLServer2017是由微软公司推出的一种关系型数据库,被各类信息系统广泛运用,是目前市场上主流数据库之一。其除了对数据进行存储管理的基本功能以外,还拥有易于使用的图形化界面,提升工作效率。另外安全性上也值得信赖,连接程序也比较便捷,并且性能稳定成本不高。除了这些,SQLServer2017还具有快速数据恢复功能,如果出现故障导致事务日志向前滚动,管理员可以迅速重新连接到数据库修正错误,让数据库迅速恢复正常工作。本文的系统使用LINQtoSQL技术对SQLServer2017数据库进行连接,以此完成对实验相关信息的储存和管理,并可以通过用户界面对数据库进行各种操作。SHA算法加密安全哈希算法(SecureHashAlgorithm)主要适用于数字签名标准里面定义的数字签名算法。对于长度小于2^64位的信息,SHA1会产生一个160位的信息摘要。该算法经过加密专家多年来的发展和改进已日益完善,并广泛运用在各种计算机程序和应用中。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段更小的密文,也可以简单的理解为取一串输入码,并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说是对明文的一种“指纹”或是“摘要”,所以对散列值的数字签名就可以视为对此明文的数字签名。单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。SHA1将输入流按照每块512位进行分块,并产生20个字节的被称为信息认证代码或信息摘要的输出。该算法输入报文的长度不限,产生的输出是一个160位的报文摘要。输入是按512位的分组进行处理的。SHA1是不可逆的、防冲突,并具有良好的雪崩效应。通过散列算法可实现数字签名实现,数字签名的原理是将要传送的明文通过名为Hash的函数运算转换成报文摘要,报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。对于本系统而言,除了功能性的需求以外,信息的安全性也是需要考虑的问题。因此采用SHA1算法对数据库中储存用户密码的字段进行加密处理。NPOI读写Excel文件NPOI是开源的POI项目的基于.NET平台版本。而POI是一个开源的Java读写Excel、Word等微软OLE2组件文档的项目。使用NPOI即可在没有安装Office的情况下在.NET平台构建的系统中对Word或Excel文档进行读写操作。在.NET平台传统操作Excel的方法需要在服务器端预装Office并设置好权限及时更新;并且其会将只包含数字的列进行转换,如“000123”会变成“123”;导出文件时倘若字段内容以负号或等号开头,会把字段视作公式处理,所以会报错。而NPOI不需要预装Office,避免了需要购买Office授权的问题。而且包含了大部分Excel的特性,支持的文件类型也相当广泛,除了xls,xlsx,doc,docx外还支持ppt和pdf文件。最重要的是它完全免费节省开支,开发团队也在不断更新扩展功能和增加稳定性,使用起来非常方便。NPOI之所以强大的原因,并不在于它可以方便导出Excel文件,而是因为它支持导入Excel文件,并能“理解”OLE2文档结构。这也是一些其他Excel读写库薄弱的地方。一般来说,读取并理解结构要比单纯的导出复杂得多,因为导入的话必须预设一切糟糕和特殊情况都是可能发生的。而生成Excel文件只需要保证满足输出需求就足够了。如果把导入需求和生成需求视作两个集合,那么生成需求绝大多数情况下都是导入需求的子集,这一规律不仅体现在Excel读写库中,也体现在pdf读写库中,目前市面上大部分的pdf库仅支持生成,不支持导入。本系统对于导出Excel文件有业务需求,所以选用NPOI来完成导出Excel文件的功能模块。本章小结包括实验管理系统在内的计算机应用程序的发展离不开计算机技术的发展,开发技术是实现实验管理系统的必要工具,所以选择高效且实用的开发技术并进行合理组合是顺利进行实验管理系统开发的第一步。本章详述了几种开发技术的优劣势并加以选择,最后确定实验系统管理子系统使用MVC加B/S的系统架构,通过C#进行代码编写,并使用LINQtoSQL技术连接到SQLServer2017数据库。在数据库的用户登录信息表中对用户密码字段进行SHA加密确保信息安全性。由于系统需要导出Excel文件,所以选用NPOI进行Excel文件的读写。管理子系统业务需求分析管理子系统业务陈述在对实验管理系统管理子系统进行需求分析之前,需要先整理清楚实验管理系统管理子系统的业务流程。经过对学校实验管理业务的深层分析梳理,可以得知实验管理业务需要经历以下业务流程:(1)各学院制定好教学任务书。(2)管理员根据任务书将每个实验课程的学生名单、任课教师、教学班等相关信息进行整理汇总。(3)管理员给与学生和教师随时查阅的权限,并且教师可以对可修改部分作出修改。(4)教师按照教学班选择学生,并发布实验详情。(5)学生进行课程签到和提交实验报告。(6)教师整理签到数据,并对实验报告进行评阅和打分。如上所述,可以清楚地了解到实验管理系统管理子系统的业务流程,如图3-1所示。图3-1实验管理系统管理子系统业务活动图管理子系统需求建模经过对实验管理系统业务的分析整理,可以得出系统的各种需求,在功能性需求方面,每个角色需要完成如下所述的功能:(1)实验管理员对实验相关数据进行维护,包括增删改查在内的所有数据操作,以及对用户角色信息权限进行管理。(2)允许学生对实验相关数据进行查询,同时可以在线签到和在线提交实验报告。(3)允许教师对实验相关数据进行查询,并且可以对部分数据,如某门课程的学生列表,实验详情信息进行新增和修改。还可以在线评阅学生提交的实验报告,并导出相关数据和签到数据。实验管理系统管理子系统整体的用例图如图3-2所示:图3-2实验管理系统管理子系统用例图实验信息管理需求建模实验信息管理主要有以下几个功能:实验相关数据导入、指定数据修改和选择实验学生,详细功能描述如下:(1)实验相关数据导入:管理员可以根据任务书新建实验课程和教学班。(2)指定数据修改:管理员可以通过名称搜索出指定数据并对其进行修改。(3)选择实验学生:教师在自己的教学班内给自己的实验课程选择学生添加到课程中,如果是必修则默认全选。实验信息管理用例图如图3-3所示:图3-3实验信息管理用例图用户权限管理需求建模用户权限管理主要完成对用户的管理,如创建用户、用户角色管理和角色权限管理,详细功能描述如下:(1)创建用户:管理员可以创建用户并设置用户信息,如登录名、密码、姓名、用户角色、所属班级等。(2)用户角色管理:管理员可以修改某个用户的角色。(3)角色权限管理:管理员可以对某个角色所能进行的操作进行限制。用户权限管理用例图如图3-4所示:图3-4用户权限管理用例图实验教学管理需求建模实验教学管理负责处理日常教学任务,如实验信息查询、发布实验详情、在线提交和评阅实验报告、在线签到。详细功能描述如下:(1)实验信息查询:教师和学生可以通过搜索实验标题对实验信息进行查询。(2)发布实验详情:教师可以对自己负责的实验课程发布实验项目并附带附属文件提供给学生下载。(3)在线提交和评阅实验报告:学生对实验项目提交实验报告,教师对其进行批阅和打分,该实验报告的提交次数和分数分部都会展现给教师。(4)在线签到:学生对课程进行签到,教师对课程的签到信息进行导出,生成签到信息文档并提供下载。实验教学管理用例图如图3-5所示:图3-5实验教学管理用例图管理子系统数据建模实验管理系统管理子系统的用户有学生、教师和管理员,通过之前进行的业务需求分析即可得出系统需要设计以下实体:管理员信息、学生信息、教师信息、班级、实验课程、实验报告、签到信息、实验详情组成。学生和班级是多对一关系、实验课程对学生是多对多关系、教师对实验详情是一对多关系、学生对实验报告和签到信息是一对多关系。系统实体联系图如图3-6所示:图3-6实验管理系统管理子系统实体联系图管理子系统过程建模为更深入地理解系统业务流程,使用过程建模逐层分析业务流程和活动,所构建的数据流图如图3-7:图3-7实验管理系统管理子系统数据流图可以看出整个系统的数据流程,管理员将实验信息导入数据库,教师和学生可以从数据库中根据权限查询到允许该用户查看的部分数据。教师可以对自己的课程选择学生并发布实验详情到数据库。学生在线向数据库提交实验报告和签到信息,教师可以查看数据库中自己所教实验课程下学生提交的实验报告,并给出评阅和评分信息存到数据库。管理子系统非功能性需求系统的需求除了功能性的功能需求以外,还要有非功能性的需求以确保系统的工作质量,在非功能性需求上,需要确保系统的可用性、可修改性、安全性和易用性。在实现功能的过程中系统的可用性已经被实现,程序的可修改性则需要有良好的代码结构来使得日后便于对程序进行功能拓展和更新优化。安全性方面要求数据库对用户密码进行加密,且权限不足的用户角色无法对数据库进行数据删除和修改。另外系统应该完全在浏览器上完整运行,省去安装客户端的麻烦,因此也需要支持目前主流的浏览器,如:EDGE浏览器,IE8.0以上版本浏览器,Chrome谷歌浏览器等等。在系统易用性上,系统使用界面设计需要在美观大方的同时也简单易懂,让人机交互更轻松。另外由于系统要支持在移动端的Web浏览器上的显示,所以要对页面元素做一定的自适应以确保在移动平台上依旧可用。由于系统面向大量学生用户,所以系统应当能够处理大规模的并发访问请求。本章小结本章通过对实验管理系统管理子系统进行业务分析清楚了系统业务流程,以此进行系统需求分析和建模,基本确定了系统需要实现怎样的功能性需求和非功能性需求,并对系统数据库表和数据流进行了初步的分析设计。上述内容为之后对系统进行详细设计并实现系统打下了坚实基础。管理子系统设计与实现管理子系统应用架构系统总体应用架构是设计阶段中最核心的一环,直接关系到系统能否成功开发顺利运行并起到预期效果。根据前期对系统业务进行需求分析得出的结果,综合技术开发应用环境考虑,比较可以用于开发实现系统的各种计算机技术,最终选定使用C#语言和SQLServer2017数据库实现ASP.NET框架下的实验管理系统管理子系统。综合系统需求建模和使用技术以及易用性考虑,本系统还采用B/S结构,实现数据层、业务层、表示层三层结构互相分离。该系统的系统应用架构如图4-1所示:图4-1实验标题表示层由MVC中的控制器层和视图层和浏览器组成,负责将用户的HTTP请求发送给模型层,访问数据库进行处理后返回给视图层生成HTML页面在浏览器上显示给用户。业务层即为系统的功能模块,获取到HTTP请求则根据用户所提交的请求和表单信息利用LINQ连接数据库进行操作,并将结果返回给视图层。数据层则是SQLServer数据库,负责储存数据并处理业务层功能模块发来的请求并返回结果。管理子系统功能设计为提升系统质量,通常会将系统划分为多个模块进行开发,每个模块所负责的功能明确,需要完成的业务清晰,便于团队协作开发,而模块划分需要遵循一定的标准和原则:(1)根据系统的实际情况灵活划分模块大小,没有严格的规定。(2)每个模块之间要互相独立,这是将模块划分的必要条件,需要让单个模块内部的内聚性高而每个模块之间的耦合度低。(3)硬件部分尽可能连接在一起,能够兼容更多的硬件设备便于修改系统配置。(4)建立公共模块可以减轻工作冗余,减少工作量。(5)合理的模块扇入数和扇出数量,即子模块数量和被模块调用数量合理。成功且优秀的系统模块化可以把复杂的系统架构问题简单化成相对独立的简单模块,针对单个模块进行开发和测试比较容易,便于系统功能开发。低耦合的模块可以减少在某一模块中进行代码修改会给其他模块带来的影响,降低开发风险。根据之前进行的业务陈述和需求分析,已经明确了实验管理系统管理子系统的具体功能组成,模块化设计思想可以帮助我们进行合理的模块划分,完成系统功能架构,各个模块的功能各有不同,具体划分如图4-2所示:图4-2实验管理系统管理子系统功能结构图图中可以看到系统被分为三个模块,分别是实验信息管理模块,用户权限管理模块和实验教学管理模块,具体功能如下:(1)实验信息管理模块:辅助实验教学是开发实验管理系统的最终目的,所以系统中应该要储存高校的实验教学信息。实验信息可通过管理员手动批量导入,也可以指定某条信息进行修正。教师最后根据教学班选择学生完成完整的实验信息。(2)用户权限管理模块:用户对数据进行访问和操作需要拥有对应的权限,而权限附着在角色上,角色可以被赋予用户。该模块就是管理员对用户所拥有的角色和角色所拥有的权限进行管理,并且拥有管理员权限的用户可以创建用户。(3)实验教学管理模块:该模块主要完成各种教学活动管理,如实验信息查询,教师发布实验详情,在线提交、评阅实验报告、在线签到和数据统计导出功能。有了清晰的模块化的功能划分,后续实现每个功能模块时则会事半功倍。管理子系统数据库设计前文明确了实验管理系统管理子系统包含的实体,但在此基础上还要做一些细化,确定各个实体的字段,还有各个字段的储存方式,如字段长度还有字段类型如何,其物理数据模型图如图4-3所示:图4-3实验管理系统管理子系统物理数据模型图下面进行详细说明:(1)用户信息表用户信息表主要用于储存用户信息,其包含数据编号、用户编号、用户名、登录密码、角色、职业、姓名和班级。分析各字段储存模式需求后即可得到用户信息表的表结构,如表4-1所示:表4-1用户信息表字段说明字段储存格式和长度备注数据编号int主键用户编号nvarchar(50)用户名nvarchar(50)登录密码nvarchar(50)存入前进行SHA1加密角色nvarchar(10)职业nvarchar(10)姓名nvarchar(10)班级int外键,对应班级表中的数值编号(2)实验课程信息表实验课程信息表主要用于储存实验课程信息,其包含数据编号、实验课程编号、实验名称、课程类型、任课教师信息、实验教师信息。分析各字段储存模式需求后即可得到实验课程信息表的表结构,如表4-2所示:表4-2实验课程信息表字段说明字段储存格式和长度备注数据编号int主键课程编号nvarchar(50)课程名称nvarchar(50)课程类型nvarchar(10)值为“选修”或“必修”任课教师编号int外键,对应用户信息表中的数据编号实验教师编号int外键,对应用户信息表中的数据编号(3)班级信息表班级信息表主要用于储存班级信息,其包含数据编号、班级编号、班级名称、教师编号。分析各字段储存模式需求后即可得到班级信息表的表结构,如表4-3所示:表4-3班级信息表字段说明字段储存格式和长度备注数据编号int主键班级编号nvarchar(50)班级名称nvarchar(50)教师编号int外键,对应用户信息表中的数据编号(4)学生班级信息表学生班级信息表主要用于储存学生和班级的对应关系信息,其包含数据编号、班级编号、学生编号。分析各字段储存模式需求后即可得到班级信息表的表结构,如表4-4所示:表4-4学生课程信息表字段说明字段储存格式和长度备注数据编号int主键学生编号int外键,对应用户信息表中的数据编号课程编号int外键,对应实验课程信息表中的数据编号(5)学生签到信息表学生签到表主要用于储存学生签到信息,其包含数据编号、班级编号、学生编号和签到时间。分析各字段储存模式需求后即可得到班级信息表的表结构,如表4-5所示:表4-5学生签到信息表字段说明字段储存格式和长度备注数据编号int主键学生编号int外键,对应用户信息表中的数据编号班级编号int外键,对应班级信息表中的数据编号签到时间nvarchar(50)内容为时间格式(6)实验详情信息表实验详情信息表主要用于储存实验详情信息,其包含数据编号、实验标题、实验详情、实验任务书下载链接,教师编号和班级编号。分析各字段储存模式需求后即可得到实验详情信息表的表结构,如表4-6所示:表4-6实验详情信息表字段说明字段储存格式和长度备注数据编号int主键实验标题nvarchar(50)实验详情nvarchar(500)任务书名称nvarchar(50)教师所上传的文件名称教师编号int外键,对应用户信息表中的数据编号班级编号int外键,对应班级信息表中的数据编号(7)实验报告信息表实验报告信息表主要用于储存实验报告信息,其包含数据编号、报告标题、报告详情、提交时间、教师评语、得分、所属实验和提交学生编号。分析各字段储存模式需求后即可得到实验报告信息表的表结构,如表4-7所示:表4-7实验报告信息表字段说明字段储存格式和长度备注数据编号int主键报告标题nvarchar(50)报告详情nvarchar(4000)提交时间nvarchar(50)内容为时间格式教师评语nvarchar(500)得分int输入时作限制,为0-100的整数所属实验int外键,对应实验信息表中的数据编号学生编号int外键,对应用户信息表中的数据编号管理子系统功能实现在构建实验管理系统管理子系统的过程中,完成各种日常教学任务是实验管理系统的最终目的,因此需要完成的功能较多,本节选择几个功能使用类图和流程图来进行详细介绍。在线签到功能的实现在线签到模块主要实现签到和签到数据导出功能,该模块提供两个接口,非别是签到接口和导出接口。签到接口接受学生信息和课程信息,完成对签到信息的存入。导出接口接受课程信息,完成对该课程下签到信息的导出。在线签到模块类图如图4-3所示。图4-4在线签到功能类图学生在页面可以点击签到按钮进行签到,将个人信息和所属班级和签到时间信息组合成一个实体,通过LINQ保存到数据库中。教师可以将自己班级中的学生签到信息利用NOPI技术将数据库信息组合生成表格以Excel文件的方式进行导出。功能流程如图4-5所示:图4-5签到功能流程图在线评阅功能的实现在线提交、评阅报告模块主要完成提交报告和评阅报告两项功能,该模块提供两个接口,非别是提交接口和评阅接口。提交接口用于学生填写实验报告并提交。评阅接口用于教师评阅打分。在线提交、评阅报告模块类图如图4-6所示。图4-6在线提交、评阅报告模块类图学生在实验报告页面点击提交,填写实验报告标题和内容,选择对应实验课程点击提交,利用LINQ存入数据库。教师在实验报告页面即可点开进行查看并填写评语和进行打分,对数据库中的该项数据进行补充,填充空白字段,之后在实验详情界面可以看到该实验的实验报告提交情况,并以分数为划分对实验报告进行统计。学生也可以在学生页面查看教师评语和打分。功能流程如图4-7所示:图4-7在线评阅功能流程图教师选择学生功能的实现教师选择实验学生模块主要用于教师添加学生到实验课程中,该模块只提供一个添加接口,用于向实验课程中添加学生。教师选择实验学生模块类图如图4-8所示。图4-8教师选择实验学生模块类图教师根据自己的教学班、课程进行选择学生添加到课程中,如果是选修课则需要在班级的学生名单中通过选框进行选择,如果是必修课则默认全选。提交选课之后学生编号和课程编号组成“学生-课程”实体被存入数据库中,只有被选进这门课的学生才能参与关于这门课的教学活动,如提交实验报告、在线签到等。功能流程如图4-9所示:图4-9选择学生流程图本章小结本章进行了对系统的功能模块划分将整个实验管理系统管理子系统划分为三个大模块和若干小模块,明确了系统的技术架构,并根据系统需求设计了符合业务要求的数据库。还以使用流程图的方法说明了各个功能模块的实现过程和业务处理流程。管理子系统测试及分析管理子系统运行环境因为实验管理系统管理子系统基于.NET平台开发,采用B/S架构进行构建,同时使用SQLServer2017作为数据储存平台,由此可知系统的部署环境要求,具体如下:(1)操作系统方面,实验管理系统管理子系统支持部署在Windows系统环境中。(2)由于系统基于.NET平台,而只有IIS服务器支持.NET平台构建的系统,所以系统中必须安装IIS服务器。(3)数据库方面需要安装SQLServer2017或更高版本数据库来储存实验管理系统相关数据。(4)硬件方面,为确保实验管理系统稳定正常高效运行,系统对硬件配置有一定要求,内存需大于8G,CPU需为四核以上,硬盘容量大于300G。而用户的运行环境要求则低得多,由于系统前端为浏览器,所以对用户终端的操作系统和平台没有过多要求,只需要能够运行各终端上主流浏览器即可。测试用例及过程上一章对如何实现实验管理系统管理子系统作了详述,这一节要通过设计测试用例来对系统功能进行测试,通过对比预期结果和实际测试情况来测试各项功能有没有存在错误,是否能完成预期业务功能,能否对错误的输入进行一定的预防和提示用户进行正确输入。本实验管理系统主要有三大模块,每个模块下属若干子模块,功能划分明确,所以分别对模块进行测试即可达到测试系统的目的。下面就选择几个重要功能模块进行测试:实验信息管理功能测试教师选择学生功能测试:因为选课功能需要有班级信息、学生信息和实验课程讯息,所以事先将“数字媒体技术”班级存入数据库,班级中有三名学生,班级教师为“王老师”。再向数据库中存入两条课程信息,“图形图像处理技术”为选修课,“数学建模”为必修课。教师选择学生功能的测试用例如表5-1所示,运行图如图5-1所示。表5-1教师选择学生功能测试用例用例编号输入/操作期望结果实际结果1使用“王老师”的教师帐号进入选择学生页面列表中有“数字媒体技术”班级与期望结果一致2点击选课按钮进入选课页面,不选择课程直接点击提交提交失败提示:“请选择课程”3课程选择“图形图像处理”下方出现三名同学的姓名和选框与期望结果一致4勾选学生1和学生3姓名对应的选框。并点击提交提交成功可以在数据库中看到学生1和学生3已经被添加到课程中5课程选择“数学建模”下方出现三名同学的姓名和选框,同时选框默认全选且不可取消与期望结果一致6点击提交提交成功可以在数据库中看到三名学生已经被添加到课程中图5-1教师选择学生功能运行图用户权限管理功能测试创建用户功能测试:使用管理员帐号进行测试即可。测试用例如表5-2所示,运行图如图5-2所示:表5-2创建用户功能测试用例用例编号输入/操作期望结果实际结果1使用超级管理员帐号进入管理员管理界面列表中显示所有管理员信息与期望结果一致2点击新建,填写管理员信息但有任意一栏留空提交失败提示:“请填写该字段”3全部填写但输入已经被使用的工号或用户名,点击提交提交失败提示:“工号或学号已经被使用”4输入未被使用的工号和用户名,点击提交提交成功可以在页面看到刚刚新建的管理员用户5使用管理员帐号进入学生管理页面列表中显示所有学生信息与期望结果一致6点击新建,填写信息但有任意一栏留空提交失败提示:“请填写该字段”7全部填写但输入已经被使用的学号或用户名,点击提交提交失败提示:“工号或学号已经被使用”8输入未被使用的学号和用户名,点击提交提交成功可以在页面看到刚刚新建的学生用户9使用管理员帐号进入教师管理页面列表中显示所有教师信息与期望结果一致10点击新建,填写信息但有任意一栏留空提交失败提示:“请填写该字段”11全部填写但输入已经被使用的工号或用户名,点击提交提交失败提示:“工号或学号已经被使用”12输入未被使用的工号和用户名,点击提交提交成功可以在页面看到刚刚新建的教师用户图5-2创建用户功能运行图实验教学管理功能测试(1)在线签到功能测试:在线签到功能分为学生端和教师端,所以设计测试用例时要考虑教师和学生两端的操作,同时以签到信息表为空的情况下开始测试,在线签到功能的测试用例如表5-3所示,运行图如图5-3所示:表5-3在线签到功能测试用例表用例编号输入/操作期望结果实际结果1学生端不进行操作,教师端对图形图像处理课程导出签到信息能够正常下载导出的表格文件,但其中没有签到信息下载的表格文件中,除了第一行有列名以外,没有任何信息2学生端对ASP.NET课程进行签到,教师端对图形图像处理课程导出签到信息能够正常下载导出的表格文件,但其中没有签到信息下载的表格文件中,除了第一行有列名以外,没有任何信息3学生端使用不同的账号对图形图像处理课程进行签到,教师端对图形图像处理课程导出签到信息能够正常下载导出的表格文件,其中包含所有该课程学生签到信息下载的表格文件中包含了该课程全部签到信息图5-3在线签到功能运行图(2)发布实验详情功能测试:发布实验详情功能分为学生端和教师端,所以设计测试用例时要设计教师和学生两端的操作,同时以实验详情表为空的情况下开始测试,在线签到功能的测试用例如表5-4所示,运行图如图5-4所示。表5-4发布实验详情测试用例表用例编号输入/操作期望结果实际结果1使用某学生账号进入实验项目页面列表中没有任何信息列表为空2教师端对课程发布实验项目,填写标题或详情时留空不填或不上传附属文件如果是标题或详情内容未填写,则提示“请填写此字段”,如果是文件未上传,则提示“请上传文件”与期望结果一致3教师端对课程发布实验项目,完整填写全部表单并上传实验文件发布成功教师端和学习这门课程的学生都能够在列表中看到该实验项目。4学生端点击实验项目信息中的下载按钮下载教师上传的文件成功进行文件下载5教师端点击实验项目信息中的修改按钮可以对该实验项目信息进行修改,包括标题、详情和附属文件修改后可以在教师和学生端看到修改后的实验项目,点击下载也下载的是修改后的附属文件图5-4发布实验详情功能运行图(3)在线提交报告、评阅功能测试:在线签到功能分为学生端和教师端,所以设计测试用例时同样要考虑到教师和学生两端的操作。以事先向数据库存入一个实验详情为前提,同时实验报告表为空的情况进行测试,在线提交报告、评阅功能的测试用例如表5-5所示,运行图如图5-4所示。表5-5在线提交报告、评阅功能测试用例表用例编号输入/操作期望结果实际结果1使用学生账号进入实验报告页面列表中没有任何信息列表为空2点击提交按钮,填写实验报告标题和详情,选择实验项目,点击提交成功提交可以在页面中看到刚才提交的实验报告信息,不过评价栏为空,分数栏为“未打分”3教师端进入实验报告页面,点击批阅按钮,在评阅意见栏或评分栏留空并提交提交失败出现提示“请填写此字段”4教师端进入实验报告页面,尝试在评分栏输入非数字内容无法输入非数字字符无法输入除正负号、小数点以外的非数字字符5教师端进入实验报告页面,尝试在评分栏输入小于0或大于100或非整数的数值(如9.9)提交失败点击提交后分别提示:“值必须大于或等于0”,“值必须小于或等于100”,“请输入有效值,两个最接近的有效值分别为9和10”6教师端进入实验报告页面,点击批阅按钮,输入评阅意见和在0-100之内的整数评分,点击提交批阅成功可以在页面中看到刚才批阅的实验报告信息,评价栏从空变为了刚才输入的评语,分数栏为刚才输入的评分7学生端对同一实验项目提交共20次实验报告,教师端给与不同的打分,完成后进入实验项目界面实验项目页面,该项目后会显示实验报告数据统计实验项目信息中,提交次数显示为20,并根据打分对每个分段的报告数量进行统计展示图5-5在线提交报告、评阅功能运行图管理子系统性能测试为了对实验管理系统管理子系统进行性能测试,引入了ApacheJMeter测试软件对系统进行压力模拟测试。在使用其进行测试时采用的方案是:每10秒增加100个并发用户,直到并发用户数量达到1000人。在该过程中持续记录系统的内存占用率和响应延迟,从结果就可以分析出实验管理系统管理子系统是否达到使用需求,测试结果如表5-6所示:表5-6性能测试表并发用户数量响应延迟内存占用率2002.29秒25%4002.65秒30%6003.02秒34%8004.27秒38%10004.55秒44%测试结果分析通过使用测试用例对系统功能进行测试可以发现,系统的各个功能模块均能顺利完成业务,并且对错误的输入可以进行一定预处理并提示用户进行正确输入。而通过使用测试用例对系统性能进行测试可以得知,实验管理系统管理子系统能够承载大量并发用户。所以二者结合可以认为该系统符合实际应用需求。本章小结本章对实验管理系统的运行环境作了说明,并设计了测试用例用于测试系统的功能模块以及运行性能,从结果上分析,该系统目前可以完成其应当完成的实验管理业务。结束语论文工作总结实验课程教学是高校教学活动中核心的一环,对于培养学生实践能力和创新能力大有裨益。但实验课程五花八门,各个学院各个专业都开设有各种实验课程,传统的人工管理实验课程的方式效率低、开销大、易出错,为提升实验教学质量和管理效率,学校纷纷选择研究开发实验管理系统。在本文构建实验管理系统管理子系统的过程中,主要完成了下列工作内容:(1)选择系统所用的开发技术,实验管理系统管理子系统基于ASP.NET平台使用C#进行开发,选用了MVC+B/S系统架构确保系统的易用性,采用SQLServer2017数据库用于数据存储。而连接数据库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论