当前位置: 首页 > news >正文

Java开发与实现教学管理系统动态网站


博主介绍:专注于Java .net  php phython  小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作

☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

基于Web的教学管理系统详细设计

1.  系统功能设计

    基于Web的教学管理系统主要是实现网上选课、信息查询、个人信息修改等功能的系统。根据教学管理系统的基本需求和不同角色使用系统的权限不同,设定本系统的具体功能如下:

1、管理员功能:实现学生信息查询、教师信息查询、添加或删除学生、添加或删除教师、留言管理、公告管理、课程信息录入及修改等功能。

2、教师功能:实现学生成绩录入及修改、个人信息查询及修改、选择选课的学生、网上留言和查看公告等功能。

3、学生功能:实现网上选课、成绩查询、个人信息查询及修改、网上留言及查看公告等功能。

2.  系统功能模块

系统功能模块所下如所示:

3.  数据库设计与实现

3.1  数据库功能设计

依据教学管理系统的处理需求,对数据库表的设计及功能如下:

学生个人信息表:用于存放学生的基本信息。

教师个人信息表:用于存放教师的基本信息。

课程信息表:用于存放课程的基本信息。

学生成绩表:用于存放学生的成绩纪录。

选课情况表:用于存入学生的选课纪录。

留言信息表:用于存放所有人的留言纪录。

3.2  数据库概念结构设计

  1、实体及其联系图:

   

2、系统流程图:

3.3  数据库逻辑结构设计

     根据上面的E-R图,建立六张数据库表,其结构如下所示:

                                 学生个人信息表

字段名

数据类型

是否为空

说  明

number

varchar(20)

not null

学号(主码)

name

varchar(20)

not null

姓名

sex

varchar(5)

not null

性别

age

bigint

not null

年龄

department

varchar(50)

not null

专业

college

varchar(50)

not null

学院

phone

varchar(20)

not null

电话

address

varchar(50)

not null

地址

inTime

varchar(50)

not null

入学时间

outTime

varchar(50)

not null

毕业时间

password

varchar(20)

not null

密码

                                  

                                 教师个人信息表

字段名

数据类型

是否为空

说  明

number

varchar(20)

not null

职工号(主码)

name

varchar(20)

not null

姓名

sex

varchar(5)

not null

性别

age

bigint

not null

年龄

department

varchar(50)

not null

部门

post

varchar(20)

not null

职称

remark

varchar(100)

not null

备注

password

varchar(20)

not null

密码

课程信息表

字段名

数据类型

是否为空

说  明

number

varchar(20)

not null

课程号(主码)

name

varchar(20)

not null

课程名

    credit

bigint

not null

学分

    teacher

varchar(20)

not null

授课老师

    time

varchar(50)

not null

上课时间

    address

varchar(50)

not null

上课地点

    type

varchar(50)

not null

课程类型

                                 学生成绩表

字段名

数据类型

是否为空

说  明

snumber

varchar(20)

not null

学生学号(外码)

cnumber

varchar(20)

not null

课程号(外码)

year

varchar(50)

not null

学年

term

bigint

not null

            学期

grade

float

not null

成绩

chongXiu

varchar(10)

not null

重修标志

                                 选课情况表

字段名

数据类型

是否为空

说  明

sno

varchar(20)

not null

学生学号

cno

varchar(20)

not null

课程号

name

varchar(20)

not null

课程名称

credit

bigint

not null

课程学分

teacher

varchar(20)

not null

授课老师

time

varchar(50)

not null

上课时间

address

varchar(50)

not null

上课地点

type

varchar(50)

not null

课程类型

selected

varchar(20)

not null

选课标志

                                 留言信息表

字段名

数据类型

是否为空

说  明

title

varchar(100)

not null

主题

     name

varchar(20)

not null

留言人

     email

varchar(50)

null

留言人email

     time

varchar(50)

not null

留言时间

     content

varchar(2000)

not null

留言内容

4.  业务逻辑层各Bean功能

    以下简单介绍一下一些主要的JavaBean及其相关方法。

1、Course.java:

       public Collection queryOperator(String hql):封装了查询的方法。

       public Course getCourse(String id):返回指定id的课程。

       public static void addCourse(CourseForm course):添加一门新的课程。

       public static void deleteCourse(String id):删除指定id的课程。

       public Collection getCourses():返回所有课程信息。

       public void changeCourseInfo(String id,Course cour):修改指定课程的信息

2、Grade.java:

   public Collection queryOperator(String hql):封装了查询的方法。

   public void addGrade(GradeForm grade):添加一条成绩纪录。

   public Collection getAllGrades(String sno):返回指定学生的所有成绩纪录。

   public Collection getYearGrades(String sno,String year):返回指定学生在指定学年的成绩。

   public Collection getTermGrades(String sno,String year,Long term):返回指定学生在指定学期的成绩。

   public static void changeGrade(String sno,String cno,String grade):修改指定学生指定课程的成绩。

3、Sc.java:

   public Collection queryOperator(String hql):封装了查询的方法。

   public static Sc getSc(String sno,String cno):返回一条指定的选课纪录。

   public static void addSc(Sc sc):增加一条选课纪录。

   public static void deleteSc(String sno,String cno):删除一条选课纪录。

   public Collection getScs(String sno):返回指定学生所选修的所有课程。

   public Collection getStudents(String cno):返回选修指定课程的所有学生。

   public Collection getTeaScs(String teaName):返回指定教师开设的选修课。

   public Collection getSelectedStudents(String cno):返回选修指定课程并且已经入选的学生。

   public void f_tSc(String sno,String cno):选择指定学生选修指定课程(即让其从未选中状态变成选中状态)。

   public void t_fSc(String sno,String cno):取消指定学生选修指定课程(即让其从选中状态变成未选中状态)。

4、Message.java:

   public void addMessage(MessageForm message):添加留言。

   public void deleteMessage(String title,String name,String email,String time,String content):删除留言。

   public int getMessageCount():返回留言总数。

   public Page listDate(String page_num):获得指定页面的数据,并封装在Page中返回。

   public Vector getResult():返回查询结果。

5、Student.java:

   public Collection queryOperator(String hql):封装了查询的方法。

   public static void addStudent(Student student):添加一个学生。

   public static void deleteStudent(String id):删除指定id的学生。

   public static Student getStudent(String id):返回指定id的学生。

   public boolean isStudent(LoginForm student):验证学生用户的登陆信息。

   public Collection getInformation(String id):返回指定学号的学生信息。

   public void chahgeStuInfo(StuInfoForm student):修改个人信息。

6、Teacher.java:

   public Collection queryOperator(String hql):封装了查询的方法。

   public static void addTeacher(Teacher teacher):添加一个教师。

    public static void deleteTeacher(String id):删除指定id的教师。

    public static Teacher getTeacher(String id):返回指定职工号的教师。

    public boolean isTeacher(LoginForm teacher):验证老师用户的登陆信息。

    public Collection getInformation(String id):返回指定职工号的教师信息。

    public void chahgeTeaInfo(TeaInfoForm teacher):修改个人信息。

5.  控制处理层

   系统的流程控制主要由Servlet与Action来共同完成,当用户提交了相关信息,便把这些信息发送到Servlet或Action中,Servlet或Action再调用对应的JavaBean的相关功能执行用户期望的操作,之后再跳转到相应的页面,并返回操作后的结果。这一过程对用户来说是透明的,用户仅能看到操作后返回的页面信息,对于整个系统的流程控制完全可以不必了解。

结论

  通过Eclipse开发工具与JSP开发语言的结合,Struts框架和Hibernate技术的整合应用,能很好

的建设一个教学管理网站,实现该网站所应有的功能模块。在此基础上经过两个多月的设计和开发,教学管理系统基本开发完毕,其功能基本符合要求,所有的模块的功能也都已经基本完成。在这次的设计过程中虽然碰到了许多难题。

大家点赞、收藏、关注、评论啦  其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者
 

http://www.lryc.cn/news/443051.html

相关文章:

  • 麒麟操作系统 MySQL 主从搭建
  • OSSEC搭建与环境配置Ubuntu
  • 【RabbitMQ】消息分发、事务
  • mysql mha高可用集群搭建
  • 如何解决“json schema validation error ”错误? -- HarmonyOS自学6
  • 基于Jeecg-boot开发系统--后端篇
  • Spring Boot实战:使用@Import进行业务模块自动化装配
  • Golang | Leetcode Golang题解之第415题字符串相加
  • 5. 数字证书与公钥基础设施
  • Centos中关闭swap分区,关闭内存交换
  • leetcode练习 二叉树的最大深度
  • Scrapy爬虫框架 Items 数据项
  • weblogic CVE-2018-2894 靶场攻略
  • 百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现
  • C++(2)进阶语法
  • 解决Hive乱码问题
  • Streamlit:使用 Python 快速开发 Web 应用
  • C#基础(11)函数重载
  • 堆栈指针寄存器SP的初值是多少?执行PUSH AX命令后,SP的值是多少?执行POP BX后,SP的值是多少?为什么答案给的是200,202,200。
  • python爬虫初体验(二)
  • 细说渗透测试:阶段、流程、工具和自动化开源方案
  • redis 十大应用场景
  • 信息安全数学基础(15)欧拉定理
  • sar(1) command
  • 掌握 JavaScript 中的函数表达式
  • OpenGL 原生库6 坐标系统
  • LabVIEW提高开发效率技巧----VI服务器和动态调用
  • 求1000以内所有恰好能分解成10组两个素数之和
  • Webpack 和 Vite 的区别
  • C++——初步认识C++和namespace的用法