学生信息管理设计分析
背景
教师管理学生信息不便,学生查询个人信息、选课困难。
目的及意义
便于教师系统化管理学生信息以及为学生选课、查询成绩等提供便利。
可行性分析
采用B/S模式开发的,使用主流的后台开发框架SpringBoot,SpringBoot自动化配置,可以简单高效搭建好项目。前端开发框架使用了Vue。使用MySQL作为数据库,采用Maven管理项目,简化项目依赖,便于项目的可持续集成。
需求分析
学生信息管理系统,应分为2种不同权限的用户。分别为:教师、学生。用户登录后根据数据库内用户的身份分配权限。
学生可以查询学生基本信息(包括住宿信息、选课信息、考试成绩等),可以修改个人信息比如登录密码、头像信息,可以添加选课信息。
教师可以查询学生信息以及教师个人信息,可以对学生成绩信息进行上传和修改。
相关开发技术环境
Java语言
Java是一种基于类和面向对象的通用编程语言,在Java中,一切都是对象。Java比较容易扩展,因为它是基于对象模型。编程语言的结构使开发人员可以在任何地方编写代码并在任何地方运行它,而不必担心底层计算机体系结构。Java 可用于为各种平台构建应用程序,Java 用于为运行JRE的不同平台编写应用程序,并支持在单个设备(如计算机或移动电话)上运行的应用程序。Java还可用于开发以分布式方式工作的应用程序。Java 支持多线程,大型应用程序可以转换为多个线程并同时执行。这意味着同一应用程序可以分布在网络中的服务器或客户端之间,并且可以同步执行,减少了执行程序所需的资源和时间。Java还可用于编写应用程序模块或小程序作为网页的一部分,许多地方都使用Java构建了Web应用程序。Java的应用非常广泛,潜力巨大,Java将在未来很长一段时间内受到需求。
Vue
Vue.js是JavaScript的渐进式框架,用于构建Web界面和单页应用程序。Vue.js不仅用于Web界面,还用于Electron框架的桌面和移动应用程序开发。Vue.js是一个简单,快速增长且适应性强的框架,可以在开发应用程序中实现。HTML扩展和JS基础使Vue迅速成为最受欢迎的前端工具。Vue的渲染速度极快,作为轻量级框架,要下载的数据更少意味着更短的加载时间。Vue 被设计为在大多数常见用例中具有高性能,而不需要太多手动优化。Vue 拥有庞大的可选库生态系统,Vue.js提供了一个单文件组件,这使其成为松散耦合和可重用的代码。干净的脚本架构整洁的语法使Vue更受欢迎。Vue附带了高级Web工具,用于构建现代风格的单页应用和前端 Web 应用。通过高度解耦,此框架提供了使用自定义模块和可视组件扩展 Web 应用功能的机会。
Mybatis
MyBatis 是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
ElementUI
ElementUI 是一个由国内团队开发的一个开源工具,Element UI是一个整洁的Vue.js组件框架,是技术堆栈的UI组件类别中的工具。
SpringBoot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者。
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
MySQL数据库
MySQL目前由Oracle公司开发,分发和支持。MySQL数据库软件作为一个客户端/服务器系统,由多线程SQL服务器组成,支持不同的后端,几个不同的客户端程序和库,管理工具以及各种编程接口。
MySQL是开源的,这意味着任何人都可以下载,免费使用和修改该软件。MySQL的结构和风格非常朴素,使用简单易于理解,多数任务都可以在命令行中直接执行,从而减少了开发步骤。MySQL规模小,功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用已经够用,这些特性使得MySQL成为世界上最受欢迎的开放源代码数据库。
MySQL是一种开放源代码的关系型数据库管理系统,MySQL数据库系统使用最常用的数据库管理语言,结构化查询语言进行数据库管理。
数据库设计
系统ER模型

教师表(teacher)
教师表包括教师编号(t_id)、姓名(t_name)、性别(t_gender)、职位(position)、授课编号(teach_id),ER图如下所示

学生表(student)
学生表包括学号(stu_id)、姓名(stu_name)、性别(stu_gender)、院系(faculty)、专业(specialized)、出生日期(birth)、宿舍编号(room_id)

宿舍表(room)
宿舍表包括宿舍编号(room_id)、楼栋(building)、楼层(floor)

成绩表(score)
成绩表包括成绩编号(score_id)、课程编号(teach_id)、课程名称(teach_name)、学生成绩(stu_score)

课程表(teach)
课程表包括课程编号(teach_id)、课程名称(teach_nema)、上课时间(teache_year)、教室(classroom)

数据库表创建
教师表
CREATE TABLE `teacher` (`t_id` varchar(30) NOT NULL,`t_name` varchar(20) NOT NULL,`t_gender` varchar(10) NOT NULL,`position` varchar(20) DEFAULT NULL,`teach_id` varchar(30) NOT NULL,PRIMARY KEY (`t_id`)
) character set utf8;
学生表
CREATE TABLE `student` (`stu_id` varchar(40) NOT NULL,`stu_name` varchar(20) NOT NULL,`stu_gender` varchar(10) NOT NULL,`faculty` varchar(30) NOT NULL,`specialized` varchar(30) NOT NULL,`birth` datetime NOT NULL,`room_id` varchar(40) NOT NULL,PRIMARY KEY (`stu_id`)
) character set utf8;
宿舍表
DROP TABLE IF EXISTS `room`;
CREATE TABLE `room` (
`room_id` varchar(40) NOT NULL,
`building` varchar(30) NOT NULL,
`floor` int(10) NOT NULL,
PRIMARY KEY (`room_id`)
) character set utf8;
成绩表
CREATE TABLE `score` (`score_id` varchar(50) NOT NULL,`teach_id` varchar(30) NOT NULL,`teach_name` varchar(30) NOT NULL,`stu_score` double(50,0) DEFAULT NULL,PRIMARY KEY (`score_id`)
) character set utf8;
课程表
CREATE TABLE `teach` (`teach_id` varchar(30) NOT NULL,`teach_nema` varchar(30) NOT NULL,`teache_year` datetime DEFAULT NULL,`classroom` varchar(60) DEFAULT NULL,PRIMARY KEY (`teach_id`)
) character set utf8;
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
