教务管理及教材订购系统设计文档

教务管理及教材订购系统设计文档
目录

一、概述 

1.1 开发背景

1.2 使用技术

1.3运行环境

1.4 设计目标

1.4.1权限管理

1.4.2信息管理

1.4.3选课管理

1.4.4 成绩管理

1.4.5教材订购

二、功能分析划分

2.1信息管理

2.1.1班级信息管理

2.1.2专业信息管理

2.1.3课程信息管理

2.1.4学生信息管理

2.1.5系部信息管理

2.2教材订购

2.2.1教师上传图书

2.2.2教务处审批图书

2.2.3查看已审核图书

2.3学生选课

2.3.1教师发布课程

2.3.2学生选择课程

2.3.3教务处审核人数

2.4成绩导出

2.4.1教师结课

2.4.2教师录入成绩

2.4.3学生查阅成绩

2.4.4学生导出成绩

三、总体设计

3.1ER图(实体-联系图)

3.2 UML类图设计

3.3 数据库架构图

四、问题处理

4.1安全处理

4.2输入处理 

4.3数据备份 

4.4错误日志

课程:JavaWeb应用开发

指导教师:袁飞

班级:2016级计算机科学与技术(4)班

项目:教务管理及教材订购系统

组长:李知遥  201610411408

组员:  肖丹    201610411420

 

一、概述 
1.1 开发背景
教务管理是高校管理的重要组成部分,对于学校和政府教育管理单位来说都至关重要,所以教务管理系统应该能够为使用者提供充足的信息和快捷的查询手段。但是由于高等院校的学生人数增加,教学地点和时间变化大,教材选用灵活,使用传统人工的方式管理教务信息,效率低、保密性差,不利于查找、更新和维护。我们开发了这款面向学生,教师,管理部门等的教务管理系统为使用者提供便利,使用计算机对教务信息进行管理,能够极大地提高教务管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。

1.2 使用技术
IoC容器:Spring

web框架:SpringMVC

orm框架:mybaits

安全框架:shiro

数据源:dbcp2

日志:sl4j

前端框架:Bootstrap

项目管理工具:Maven

1.3运行环境
IDE:IntelliJ IDEA

DBMS:Mysql

JDK:jdk1.8

服务器:Tomcat 8

1.4 设计目标
1.4.1权限管理
使用Shiro框架,实现对权限的管理。储存登录信息,对登录进行验证,根据不同的登录账户,分发权限角色,对不同页面url进行角色设置

1.4.2信息管理
管理员登陆可以对教师信息、学生信息、课程信息等进行增删改查操作,并修改其他账户的密码

学生登陆可以修改自己的密码

教师登陆可以修改自己的密码

1.4.3选课管理
管理员登陆可以获取开课名单和选课人数

教师登陆可以获取开课列表,选择课程的学生名单

学生登陆可以进行选课,选课成功后可以在已选课程中进行退课

1.4.4 成绩管理
管理员登陆可以查看课程的平均分数和及格比例

教师登陆可以给选择相关课程的学生打分,无法进行二次打分。

学生登陆可以查看

所有课程:所有选择的课程

已选课程:已经选择,但是还没有结课,老师没有给出成绩的课程

已修课程:显示各科成绩,并可以导出成绩表

1.4.5教材订购
教师登陆可以提交申请教材列表

管理员登陆可以查看教材申请列表,并更改申请状态

 

二、功能分析划分
2.1信息管理
2.1.1班级信息管理
2.1.2专业信息管理
2.1.3课程信息管理
2.1.4学生信息管理
2.1.5系部信息管理
2.2教材订购
2.2.1教师上传图书
2.2.2教务处审批图书
2.2.3查看已审核图书
2.3学生选课
2.3.1教师发布课程
2.3.2学生选择课程
2.3.3教务处审核人数
2.4成绩导出
2.4.1教师结课
2.4.2教师录入成绩
2.4.3学生查阅成绩
2.4.4学生导出成绩
 

三、总体设计
3.1ER图(实体-联系图)

 

 

  

 

 

 

 

3.2 UML类图设计

3.3 数据库架构图

四、问题处理
4.1安全处理
使用shiro进行权限管理,在用户使用错误的数据或访问没有权限的数据后,系统给出提示:”对不起,你非法使用数据,没有权限!“而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。用户输入的信息是非中文字符,系统提示:您所输入的信息是非中文字符。 

4.2输入处理 
    用户输入的信息是中文字符,但与本系统已收录的账户信息不匹配,系统提示:您所输入的信息不存在,请仔细核对您输入的信息是否在本系统收录的账户信息范围之内,重新输入, 管理员输入的不符合数据的类型,系统提示:输入格式错误请重新输入。

4.3数据备份 
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破环,但有可能占用更多的数据存储空间,权衡措施由用户来决定。 

4.4错误日志
    系统软件出错很容易在出错日志里看到,我们对可能发生的错误会有一个错误编号以及相应的处理方式,以手册的方式提供。用户可以根据系统的提示信息进行相应的排错处理,建立系统运行日志,用于记录系统在运行过程中出现的可以预知的或无法判断的系统错误信息。 

    硬件的出错处理信息需要检查网络环境。

转载于:https://www.cnblogs.com/oner-xd/p/10821891.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 复制行,phpstorm怎么快速复制当前行?

qq_花开花谢_0PhpStorm 默认快捷键ctrlj 插入活动代码提示ctrlaltt 当前位置插入环绕代码altinsert 生成代码菜单Shift Enter 新一行ctrlq 查看代码注释ctrld 复制当前行ctrly 删除当前行ctrlalty 刷新项目缓…

Project Student:维护Webapp(可编辑)

这是Project Student的一部分。 其他帖子包括带有Jersey的 Web服务 客户端,带有Jersey的 Web服务服务器 , 业务层 , 具有Spring数据的持久性 ,分片集成测试数据 , Webservice集成 , JPA标准查询和维护Webap…

金蝶云php webapi,K/3 Cloud Web API销售出库单PHP完整示例【分享】

按照惯例,先上图【销售出库单】保存,如图:已经打印出 登陆请求及登陆成功,保存请求及保存成功的返回信息。如下代码,是完全可以直接进行运行的代码,具体详见代码中注释。[code]//K/3 Cloud 业务站点地址$cl…

JavaFX自定义控件– Nest Thermostat第2部分

自从我开始创建Nest恒温器FX自定义控件以来,已经有一段时间了! 因此,上次,如Gerrit Grunwald所建议,我花了一些时间用inkscape复制Nest恒温器设计,这是构建JavaFX版本的第一步。 今天,我想与大…

haproxy实现会话保持

HAProxy系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.反向代理为什么需要设置cookie 任何一个七层的http负载均衡器,都应该具备一个功能:会话保持。会话保持是保证客户端对动态应用程序正确请求的基本要求。 还是那个被举烂…

python实现简单的百度翻译

这段时间,一直在学python,想找点东西实现一下,练手,所以我想通过python代码来实现翻译,话不多说,看吧! 以chrome为例 1 打开百度翻译 https://fanyi.baidu.com 2 找到请求的url地址 https://fanyi.baidu.…

php不会写 能看懂,人人都能看懂的全栈开发教程——PHP

既然我们是要实现从数据库里读取任务列表这个需求,那么首先我们就得知道如何通过编程的方式从数据库里把数据读出来。这里我们就选 PHP 作为我们的编程语言来实现我们的想法。为什么是 PHP 呢?主要有以下两个原因:PHP 比较简单,入…

与詹金斯一起连续交付Heroku

如果您安装了Jenkins Git插件,那么利用Jenkins并针对Heroku的连续交付管道的设置就非常简单。 通过此管道,对特定Git分支的更改将导致Heroku部署。 为了使此部署过程正常运行,您应该至少使用两个Git分支,因为您希望有一个针对自动…

安卓第三次作业

<?xml version"1.0" encoding"utf-8"?> <uses-sdkandroid:minSdkVersion"8"android:targetSdkVersion"18" /> <uses-permission android:name"android.permission.RECORD_AUDIO" /> <uses-permissio…

[vue插件]基于vue2.x的电商图片放大镜插件

最近在撸一个电商网站&#xff0c;有一个需求是要像淘宝商品详情页那样&#xff0c;鼠标放在主图上&#xff0c;显示图片放大镜效果&#xff0c;找了一下貌似没有什么合适的vue插件&#xff0c;于是自己撸了一个&#xff0c;分享一下。小白第一次分享&#xff0c;各位大神莫见笑…

MySQL之视图、触发器、事务、存储过程、函数

一. 视图 视图是一个虚拟表&#xff08;非真实存在&#xff09;&#xff0c;是跑到内存中的表&#xff0c;真实表是硬盘上的表&#xff0c;怎么就得到了虚拟表&#xff0c;就是你查询的结果&#xff0c;只不过之前我们查询出来的虚拟表&#xff0c;从内存中取出来显示在屏幕上…

Java 8 Friday Goodies:SQL ResultSet流

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 &#xff0c;现在我们觉得是时候开始一个新的博客系列了…

SpringCloud学习笔记(6)----Spring Cloud Netflix之负载均衡-Ribbon的使用

1. 什么是负载均衡&#xff1f; 负载均衡&#xff0c;就是分发请求流量到不同的服务器。 负载均衡一般分为两种 1. 服务器端负载均衡&#xff08;nginx&#xff09; 2. 客户端负载均衡&#xff08;Ribbon&#xff09; 2. 服务提供者&#xff08;spring-cloud-provider&#xff…

wait/notify实现线程间的通信

使线程之间进行通信之后&#xff0c;系统间的交互性更加强大&#xff0c;在大大提高CPU利用率的同时还会使程序对各线程任务在处理的过程中进行有效的把控与监督。 1.不使用wait/notify实现线程间通信 使用sleep()while(true)也可以实现线程间通信。 例如:两个线程&#xff0c…

洛谷 P3367 【模板】并查集

嗯... 题目链接&#xff1a;https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作&#xff1a;“并”和“查”。然后这道题主要就是考察这两种操作。将每一个点的“父亲”初始化为自己&#xff0c;然后分别进行“并”和“查”。 “并”&#xff1a;用递归函数fin…

jquery3和layui冲突导,致使用layui.layer.full弹出全屏iframe窗口时高度152px问题

项目中使用的jquery版本是jquery-3.2.1&#xff0c;在使用layui弹出全屏iframe窗口时&#xff0c;iframe窗口顶部总是出现一个152px高的滚动窗口无法实现真正全屏&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-…

ADF Faces。 立即的自定义客户端事件

在本文中&#xff0c;我将重点介绍ADF Faces Javascript API方法以从客户端触发自定义事件。 例如&#xff1a; function cliListener(actionEvent) {AdfCustomEvent.queue(actionEvent.getSource(), "servListener",null, true);}我们可以使用af&#xff1a;client…

Genymotion模拟器安装ARM架构编译应用失败解决方案

我们在安装一些应用到Genymotion模拟器会提示&#xff1a;adb: failed to install xx.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res-113] 原因是Genymotion采用的编译方式是x86&#xff0c;默认不支持ARM架构编译的应用&#xff0…

CentOS7.5 yum 安装与配置MySQL5.7.24

安装环境&#xff1a;CentOS7 64位 MINI版&#xff0c;安装MySQL5.7 1、配置YUM源 在MySQL官网中下载YUM源rpm安装包&#xff1a;https://dev.mysql.com/downloads/repo/yum/ 下面已经提供一个YUM源安装包,如果不需要特定版本可直接使用我提供的5.7.24版本 # 下载mysql源安装包…

5种改善服务器日志记录的技术

在最近的时间里&#xff0c;我们已经看到了许多工具可以帮助您理解日志。 诸如Scribe和LogStash之类的开源项目&#xff0c;诸如Splunk之类的本地工具以及诸如SumoLogic和PaperTrail之类的托管服务。 这些都可以帮助您将大量日志数据减少为更有意义的内容。 它们共有一个共同点…