1 绪论 3
1.1 项⽬开发背景 3
1.2 项⽬开发意义 4
1.3 项⽬主要的内容 4
2 相关技术介绍及系统环境开发条件 5
2.1相关技术介绍 5
2.2系统环境开发条件 6
3 系统的需求分析与设计 7
3.1可⾏性分析 7
3.2需求分析 7
3.2.1系统总体概述 8
3.2.2功能性需求 8
3.2.3⾮功能性需求 9
3.2.4流程图设计 9
3.2.5系统ER图设计 10
3.3 数据库设计 11
3.3.1数据库设计的原则 11
3.3.3数据库表的设计 11
4系统功能模块实现 12
4.1 页⾯功能实现 13
4.1.1登陆模块实现 13
4.1.2学员列表模块实现 14
4.1.3题库列表模块实现 15
4.1.4做题列表模块实现 16
4.2⽇志功能模块 16
4.3安装部署 17
5 系统测试 18
5.1系统调试的⽬的和意义 18
5.2功能测试⽤例 18
6总结 20
参考⽂献: 21
致 谢 22摘要:本论⽂是按照软件⼯程中软件设计的要求,采⽤⾃顶向下的结构分析⽅法统筹分析学⽣
作业管理系统中的业务流程,描述系统开发的过程和关键技术的实现。本论⽂⾸先对项⽬的需求进⾏了概述,简略介绍项⽬开发的背景、项⽬开发的意义以及项⽬的主要特征,然后在规划系统阶段,根据软件⼯程中对软件设计的要求,经过跟学⽣和⽼师的了解,并且在⽹络上查当今学⽣作业管理的现状。完成了本系统的需求分析,并且对现⾏业务流程进⾏了优化处理之后是系统分析完成了数据流的分析与数据字典的分析,在系统的设计阶段主要是实现学⽣上交作业、⽼师下发作业,管理员对系统维护的功能。
在实现功能的同时还要对系统界⾯的设计做了细致的规划本系统主要采⽤spring开发框架制。使⽤的技术有mysql数据库、mybatis驱动框架以及tomcat服务端部署,⽤到的集成开发⼯具主要是IDEA和jdk1.8。
关键词: 作业管理系统; springboot; 设计;mysql
Absrtact: according to the requirements of software design in software engineering, this paper adopts the top-down structure analysis method to analyze the business process of student homework management system, and describes the process of system development and the realization of key technologies. This paper first summarizes the requirements of the project, briefly introduces the background of project development, the significance of project development and the
main characteristics of the project, and then in the planning system stage, according to the requirements of software design in software engineering, through understanding with students and teachers, and looking up the current situation of students’homework management on the network. After completing the demand analysis of the system and optimizing the current business process, the system analysis completes the data flow analysis and data dictionary analysis. In the design phase of the system, it mainly realizes the functions of students handing in homework, teachers distributing homework and administrators maintaining the system.
At the same time, we also make a detailed planning for the design of the system interface. This system mainly uses the spring development framework. The technologies used include MySQL database, mybatis driver framework and Tomcat server deployment. The integrated development tools used are mainly idea and JDK1.8.
Key words: job management system; springboot; Design; mysql
1 绪论
1.1项⽬开发背景
现如今计算机技术飞速发展,计算机管理在很多⾏业中的所占的⽐重越来越重要。这也就是在信息管理系统中计算机被⼴泛使⽤的原因。伴随着不断成熟完善的科学技术,计算机科学技术已经被⼈们深刻认识到了它的强⼤的功能。并且在⼈类⽣活的各个领域都有了计算机的影⼦,计算机正在⼈们的⽣活中发挥着越来越重要的作⽤。在计算机应⽤中,学⽣作业使⽤计算机对其进⾏管理,相对于⼿⼯管理来说,有着其⽆法⽐拟的优势。学⽣作业管理系统主要是管理⼀系列学⽣作业的业务,本系统的设计与开发⽬的是为了更加系统化的管理学⽣作业,并且使其查询⽅式更加的⽅便。因此,学⽣作业管理系统必将成为实现学校现代化和信息化管理教学的重要⼿段。当今,国内外对于学⽣作业的管理⽅式主要有⼀下⼏种⽅式:1、是将作业存到优盘上上交,带来的弊端就是成本过⼤,容易出现优盘丢失的现象;2、利⽤ FTP 技术,⽼师在机房开辟⼀个共享⽬录,学⽣们将作业上传到该⽬录中,带来的弊端是学⽣们只有上传和下载没有修改的权限 从安全层次⽅⾯可以保证每个⼈作业的完整性,但是容易出现学⽣由于操作失误,上传错误作业⽽⽆法删除的现象,并且在同⼀个⽂件夹中存在不能同命名的问题,加⼤了学⽣操作的难度;3、通过电⼦邮件的⽅式,发送到⽼师的邮箱带来的弊端是由于⽹络的原因,⽼师会收不到学⽣的作业;
4、学⽣们上交纸质的作业,这是现如今最普遍的⽅式,带来最⼤的弊端就是浪费资源,尤其是对环境资源的浪费。以上⼏点都会带来⼀些相似的问题,例如⽼师批改作业时很容易搞不清楚作业是否被批阅 新作业旧作业混在⼀块很难区分开来 不容易统计学⽣作业的完成情况。学⽣可以很容易的查看到别
⼈的作业,很容易发⽣抄袭现象。不利于学⽣们的学习。对于上交纸质作业的传统⽅式,步骤繁琐,效率低下,⽼师布置作业,学⽣写在作业本上,之后交给⽼师,等待⽼师批改完成之后在发还给学⽣。
针对上述提到的种种弊端,很多⼈也开始开发专门针对学⽣的作业管理系
统,但是由于⼀个⼈的技术有限,很难能够设计出学⽣⽼师都满意的系统。⽐如
说设计的系统操作过于繁琐,⽤户权限分配混乱等等。
1.2项⽬开发意义
学⽣作业管理系统开发的⽬的就是让传统⼿⼯教学⽅式转换为信息化管理
⽅式,使学校的教学模式发⽣新的变⾰,为学⽣乃⾄⽼师在教学⽅⾯提供⽅便的
条件。通过对学校的实际情况进⾏调查研究,不断完善的⾼校信息管理系统,必
将促使信息化管理在学校教学管理中所占的⽐重越来越重。本系统专门针对学校
教学⼯作的实际情况,开发学⽣⽼师真正想⽤的作业管理系统,使之能最⼤限度
的满⾜学⽣⽼师的需求。
学⽣作业管理系统开发的现实意义就是能够减轻⽼师的⼯作量,⽅便学⽣提
交作业,最⼤限度的节约资源,适应时代的潮流,⽆纸化办公是⼀种⽆法阻挡的
趋势。对于提交之后的作业。学⽣和⽼师能够很⽅便的浏览查看,计算机的使⽤
使录⼊⽅式变得更加的⽅便和快捷,最终实现了学⽣作业的⽆纸化。
1.3项⽬主要的内容
本⽂根据该软件的特性需求进⾏研究分析主要内容:⾸先介绍项⽬的开发的背景和研究的意义;⼆是介绍了对项⽬开发过程中所⽤到的相关技术的理论知识,及开发环境的介绍;三是对系统开发进⾏了必要的分析,为系统设计环节提供了相应的理论基础。四是实现系统开发的主要环节和前提条件,对项⽬系统的主要模块进⾏了详细的分析和设计,为后续的具体实现奠定基础。五是简要介绍了测试⽤例,让我们在顺利地完成程序的开发⼯作后,通过这些测试,快速有效地出了系统存在的不⾜之处并及时对其进⾏改动和完善。
2 相关技术介绍及系统环境开发条件
2.1相关技术介绍
开发者⼯具是由腾讯官⽅专门为⼩程序量⾝打造的开发者⼯具,它不仅轻巧、⽅便,主要是的对于电脑要求不是很⾼,所以在⼀般的电脑上都可以完成相应的开发,在系统调试测试过程中,也不要下载第三⽅插件,就可以完成系统测试环节,通过制定好的debug调试器就可以完成。
该系统基于浏览器的⽅式进⾏访问,采⽤springboot集成快速开发框架,前端使⽤vue⽅式,基于es5的语法,开发⼯具IntelliJ IDEA 2020.1.1 x64,因为该开发⼯具,内嵌了Tomcat服务运⾏机制,可不⽤单独下载Tomcat server服务器。
Java作为⾯向对象的开发开⾔,它不仅吸收了很多语⾔的各种优点,⽽且它的整个⽣态在所有语⾔中开放性是最好的,在学习上,可以到很多类似的功能代码,供以后参考学习,像⽬前asp开发语⾔在很⼤程度上都在模仿java的思维,如果学会java编程,在去掌握另⼀门语⾔,学起来就⾮常的快,因为它的简单性、⾯向结构性,减少了代码管理的复杂度,让编程过程更加的清晰、逻辑解耦性也更加分层化。Maven作为了⼀款项⽬版本管理软件,可以更好管理jar包的使⽤,以前在没有出现Maven管理⼯具,需要在⽹上下载很多版本的jar包类,有时候版本间不兼容性,影响系统的使⽤发挥,有时会出现不同的bug出现,使⽤Mavern⼯程项⽬后,就可以很好的杜绝这⼀难度题。MySQL是开源的关系型数据库,因为是开源所以没有版权的纠纷,现在很多公司都在利⽤mysql作为数据库的存储,不仅它的存储速率⽐较快,⽽且还可以在它的基础上进⾏⼆次开发,定制出更适合公司的数据库。
Vue的语法底层实现了双向数据绑定的原理,在重新更细或发布项⽬时候,不需要额外的重启项⽬,代码功能模块的实现,就可以在浏览器上反映出来,实现快速响应,不像有些可编译的语⾔,需要加载很多的插件,才能启动。
Spring封装了很多的java类库⽂件,在开发过程中,不需要写太多复杂的类⽂件,只需要引⽤spring这个框架,就可以完成快速开发的需要,所以Java编程的逻辑代码就变得⽐较清晰,各层之间的解耦性也⽐较强,可重⽤性也得到了很好的发挥,使得开发难度也更加轻松容易,它的主要两个特性就是依赖注⼊、⾯向接⼝思想;(AOP)切⾯思想;
IntelliJ IDE与eclipse对⽐,这两款都是java编程语⾔开发⼯具,与之不同之处,IDEA与第三⽅插件市场接⼊更多,开发效率与智能提⽰⽅⾯⽐eclipse更智能,在环境配置⽣成上IDEA也⽐较快,界⾯设计也⽐较⼲净简单。
HBuilder 是基于HTML、js、css的等H5语法的开发技术,使得开发者很容易上⼿学习,⾥⾯涉及的数据绑定基于Vue语法涉及,在开发效率上也⽐传统的jquery快,当然HBuilder 也保留了对jquery的⽀持,两种语法可以结合项⽬的需要,可以混合开发。该开发⼯具本⾝是由java编写完成,所以对原⽣项⽬的插件也有很好的兼容性。
2.2系统环境开发条件
该系统采⽤B/S架构,前端框架使⽤开发者⼯具开发,后台数据实现使⽤MYSQL
序号 软件环境 版本 备注
1 windows操作系统 10
2 数据库MYSQL 8.0
3 编程开发⼯具软件IDEA 2020.2
4 开发者⼯具 1.05
3 系统的需求分析与设计
作为软件前期开发过程中,需要对项⽬进⾏需求分析,⾸先要了解业务具体做什么,实现什么样的功能,在功能模块中细分每个功能模块的使⽤背景,只有这样在软件开发中,才不会重复出现因为架构设计的缺陷,导致在次设计底层数据结构的发⽣,此外,有些⾮功能的特细,⽐如数据库性能、安全性的考虑、⽹速的反映时间都是作为需求分析的约束条件,也是项⽬开发完成后,在运⾏时需要分析的⽬标。
3.1可⾏性分析
在系统开发的过程中系统的可⾏性分析是必不可少的,可⾏性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上⾯的⽬标还要必须考虑到解决这些问题的⽅法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这⾥可以⽤技术的可⾏性,操作的可⾏性,经济的可⾏性对我们的系统进⾏可⾏性的研究。
3.1.1技术性:本项⽬设计的系统主要采⽤layui前端开发,后端使⽤java语⾔以及springboot集成开发性框架,采⽤mysql数据库,根据⾃⾝所学专业,结合⽹上查阅案列及图书馆资料,开发实现是没有太⼤问题的。
3.1.2经济性:开发⼀套成熟的软件,都需要经过⼀段漫长的过程,这⾥设计到软件的需求分析、制定计划,开发⼈员、测试环节、调试过程,都需要资⾦及⼈⼒的投⼊。⽽这套软件的开发,可以通过⽹上开源源码及相关资料的学习,在硬件及电脑使⽤上,都是⾃⼰所⽤,所以在开发成本上可以忽略不计。
3.1.3操作性:本系统设计到的功能主要有登陆模块、学员信息管理模块、题⽬管理模块,作业下发模块,这些功能模块的相关知识,都是平常所设计到的常⽤功能,在操作上都是可以实现的。
3.2需求分析
通过了解⽤户的需求,可以知道操作简单的系统更易受到⽤户青睐,同时能够准确、完整的对信息进⾏管理。作业管理平台在对需求做相应的分析后,得出结论,系统主要分为两个⾓⾊:管理员和学员⽤户以及教师。
管理员模块主要进⾏数据的更新管理,功能分为系统⽤户管理、⽤户注册管理、题库设置管理、作业下发管理;教师模块主要有题库设置管理、作业下发管理;学员⾓⾊只能有作业完成模块。
3.2.1系统总体概述
该项⽬管理系统主要基于B/S设计模式,系统设计的功能有:学员信息管理模块、登陆注册模块、题库管理模块、下发作业模块。其系统结
构如图3-1所⽰:
3.2.2功能性需求
本系统是利⽤现代化的计算机⽹络技术将传统信息宣传⽅式整合,按照实践过程设计完成的。同时完善服务,初步设计⼀个学⽣作业管理系统平台以利于相关的事务操作。为了使系统在各项管理中发挥更⼤的作⽤,实现计算机信息化⾼效的管理,现将开发⽬标功能需求介绍如下:
下:
( 1) 管理员登录模块
管理员有权进⾏超市系统的管理,但所有的注册以及权限的使⽤,都需经过超级管理员授权,管理员进⼊主页后可以对⽤户进⾏相关功能的授权,⽐如:题库管理、⽤户管理、作业管理。
8.0怎么更新( 2)⽤户管理模块
拥有⼀定管理权限管理员,可进⾏⽤户列表的查看,以及对应的⽤户增加、删除、修改、查询操作。
( 3) 题库管理模块
拥有⼀定管理权限管理员,可进⾏ 题库列表的数据查看,以及 题库的商品增加、删除、修改、查询操作。
3.2.3⾮功能性需求
该系统不仅要满⾜功能性需求,还需要满⾜看不到的⾮功能性需求,⽐如系统的兼容性、⽤户界⾯整体性、⽹页访问的流畅性,主要归纳如下⼏点:类别 需求描述
兼容性 ⽀持多浏览器访问。
界⾯性 ⽹站整体美观、元素搭配协调。
安全性 访问控制不受到攻击,防⽌sql注⼊。3.2.4流程图设计
作业管理系统⼯作流程为。以下是总体的流程图设计如图3-2:
登陆管理流程图:登陆管理功能是系统的管理⼊⼝,当然也是系统防护级别最⾼层,如果没有好的安全防控机制,系统就会很容易遭受攻击;对此在设计时,主要会考虑以下⼏个⽅⾯。如下:1、验证⽤户名和密码是否在数据库表中存在记录;2检验⽤户名和密码输⼊是否合法,尤其是sql注⼊,防⽌⼊侵系统,篡改权限;3在⽤户登陆系统时,会为每⼀个⽤户提供⼀个seesionID,过期时间为30分钟,如果⽤户长期不使⽤系统,超出30分钟后,系统会⾃
动跳转到登录页。以下是部分流程图设计,如下:
3.2.5系统ER图设计
如图3-3系统ER图:
3.3 数据库设计
3.3.1数据库设计的原则
在建表时,表的主键要尽量的少,在表与表之间建⽴外键关系时,也要尽量的少,尽量减少数据库查询和CRUD操作的复杂度;系统恢复性操作,在设计数据库⽂件中考虑到表如果出现损坏,在短时间
内可以快速的恢复,减少成本的⽀出。在数据库系统开发过程中,⼀般都需要满⾜以下⼏个特点:字段冗余少,就是在设计表字段时,尽量减少不必要多余的字段出现,在设置表的参数类型时,合理控制参数字段长度;保密性和安全性要强,不要把系统关键字设置在表中,防⽌sql注⼊攻击;表与表之间的管理性要合理化,尽量减少三张以上的管理表查询,减少sql查询带来的系统性能的下降。
3.3.3数据库表的设计
⽤户表(user_name):⽤户编号、⽤户名称、、⽤户密码、性别、⽤户类型、电话、邮箱、院系、专业、班级
表3-1⽤户表(user_name)
字段名 字段描述 类型/长度 约束 备注
user_id ⽤户编号 Bigint PK
username ⽤户名称 Varchar(20) NOT NULL
password ⽤户密码 Varchar(20) NOT NULL
sex 性别 Varchar(20)
type ⽤户类型 Tinyint
mobile 电话 Varchar(20)
email 邮箱 Varchar(20)
Yuanxi 院系 Varchar(20)
Zhuanye 专业 Varchar(20)
banji 班级 Varchar(20)
发布评论