1908400202qq

综合项目

 


   

1 绪论

1.1 项目概述

1.2 项目意义

2 开发工具和相关技术简介

2.1 Eclipse简介

2.2 Java语言介绍

2.3 MySQL简介

2.4 JDBC技术简介

3 系统需求分析

3.1 系统可行性分析

3.1.1经济可行性

3.1.2技术的可行性

3.1.3操作的可行性

3.2 系统需求分析

3.3 组内成员分工

3.4 进度安排

4 系统设计

4.1 系统设计

4.2 数据库设计

5 系统实现

5.1 界面实现

5.2 管理员界面实现

5.2.1 添加教师信息界面实现

5.2.2 删除教师信息界面实现

5.2.3 查找教师信息界面实现

5.2.4 查看所有教师信息界面实现

5.2.5 添加学生信息界面实现

5.2.6 删除学生信息界面实现

5.2.7 查找学生信息界面实现

5.2.8 查看所有学生信息界面实现

5.3 教师管理界面实现

5.3.1 添加学生成绩信息界面实现

5.3.2 删除学生成绩信息界面实现

5.3.3 查找学生成绩信息界面实现

5.3.4 查看所有学生成绩信息界面实现

5.3.5 添加课程信息界面实现

5.3.6 删除课程信息界面实现

5.3.7 查找课程信息界面实现

5.3.8 查看所有课程信息界面实现

5.4 学生界面实现

5.4.1 查找学生成绩信息界面实现

5.4.2 查看所有课程信息界面实现

5.4.3 学生选择课程界面实现

5.4.4 学生删除课程界面实现

5.4.5 学生查看选择课程结果界面实现

5.5 修改密码界面实现

6 系统测试

6.1 登录页面测试

6.2 管理员页面测试

6.3 教师页面测试

6.4 学生页面测试

7 结论和心得

 


1 绪论

1.1 项目概述

教务系统包括教师,学生,管理员三个模块。教师包括对学生成绩的增删查改以及对课程增删查改,具有修改自身账户的密码功能。学生包括对自身信息的查询和增删查改课程功能,具有修改自身账户的密码功能。管理员包括对教师信息的增删查改,添加学生和删除学生,写入添加学生和教师的初始账号密码,具有修改自身账户的密码功能。

1.2 项目意义

教务系统可实现不同账号登录对应界面可以修改密码,不同界面实现不同的分类管理可以提高教务管理的效率


2 开发工具和相关技术简介

本项目是教务管理系统。开发环境:EclipseMySQL;开发语言:Java语言;开发技术:JDBC,GUI等。本章将对开发工具和相关技术进行简单介绍。

2.1 Eclipse简介

 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

2.2 Java语言介绍

 java语言产生于C++语言之后,是完全的面向对象的编程语言,充分吸取了C++语言的优点,采用了程序员所熟悉的C和C++语言的许多语法,同时又去掉了C语言中指针、内存申请和释放等影响程序健壮性的部分

1. 创建一种面向对象的程序设计语言,而不是面向过程的语言;

2. 提供一个解释执行的程序运行环境,是程序代码独立于平台;

 3. 吸收C和C++的优点,使程序员容易掌握;

 4. 去掉C和C++中影响程序健壮性的部分,使程序更安全,例如指针、内存申请和释放;

 5. 实现多线程,使得程序能够同时执行多个任务;

 6. 提供动态下载程序代码的机制;

 7. 提供代码校验机制以保证安全性;

2.3 MySQL简介

 MySQL是一种DBMS,而且是一种一个小型的开源的关系型数据库管理系统2008年1月16日MySQL AB被Sun公司收购。而2009年,SUN又被Oracle收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。

MySQL它在世界范围内得到了广泛的安装和使用,应该是使用人数最多的数据库软件了,因为它有着这样的特性:

   成本——MySQL是开源软件,可以免费使用和修改。

   性能——MySQL性能很好处理速度很快。

   简单——MySQL很容易安装和使用,对新手友好。MySQL数据库软件也是使用最常用的数据库管理语言结构化查询语言SQL)进行数据库管理和操作。

2.4 JDBC技术简介

  JDBCJava数据库连接)是一种用于执行SQL语句Java API,由一组用Java语言编写的类和接口组成。

操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数;

可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;

面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。

 

 


3 系统需求分析

3.1 系统可行性分析

3.1.1经济可行性

本程序的开发基于实际的教务系统,分别对管理员,教师,学生这三个不同需求进行了具体的实现。更加方便学校各方面的满足自己的需求。并且经济的需求不高。在经济上是可行的

3.1.2技术的可行性

 界面的设计可以使用GUI进行设计,与数据库的链接可以使用JDBC。以及JAVA基础知识等。有图形的界面可以方便用户使用。对用户来说操作简单易懂。因此本程序在技术上是可行的

3.1.3操作的可行性

本程序只要一台电脑并且有JAVA软件就能够正常使用,同时界面设计的简洁大方,也适合不同年龄段的人群使用。操作方便,符合大多数人的习惯。

3.2 系统需求分析

管理员:用户登陆界面实现,添加教师基本信息,删除教师基本信息,查找教师基本信息,查看所有教师基本信息。添加学生基本信息,删除学生基本信息,查找学生进本信息,查看所以学生信息。

教师:添加学生成绩,删除学生成绩,按学号或按姓名查找学生成绩,查看所有学生成绩。添加课程信息,删除课程信息,查找课程信息,查看所有课程信息。

学生:查询成绩信息,添加选课信息,删除选课信息,查找选课信息,查看所有课程信息。

 

 

 

 

3-1 教务管理系统功能模块图

3.3 组内成员分工

3-1 组内成员分工情况表

序号

姓名

组内角色

小组分工

备注

1

胡容

组长

登陆界面,管理员

增删查改老师学生,账号密码登录,

账号密码数据库,修改账号密码

2

黄佳睿

组员

教师

增删查改学生成绩信息,课程信息,教师学生基本数据库

3

滕玉旺

组员

学生

查询成绩,增删查改课程

说明:组内角色:组长为项目经理;其他人分别为编码、测试等。

3.4 进度安排

进度安排如表3-2所示。

3-2 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

3小时

需求分析

需求说明,功能模块图

设计阶段

2小时

系统设计

设计说明-可以画流程图;数据库设计

实现阶段

3天

编写代码

项目工程源代码

2天

系统测试

进行黑盒测试(功能测试)-测试说明

运行阶段

5小时

部署、运行

系统使用说明、运维报告-答辩

 

 

 


4 系统设计

4.1 系统设计

根据系统的实际功能需求分析,对系统功能部分进行了设计。

教师账号首字母为t,学生账号首字母为s,管理员账号首字母为a。

用户登录功能利用CUI输入框获取用户输入的账号和密码,点击账号对应的登录按钮进入所登录的页面。在登录按钮中设计对账号密码的判断功能首先利用JDBC中的查询方法来查找账号密码表中是否有该账号在将查找方法设计为有返回值方法,查询到输入的账号后返回账号对应的密码,如果没有该账号则返回空。再利用if语句判断密码是否为空且账号首字母是否符合对应界面的账号的首字母。如果其中一个不满足则提示账号错误。满足进行用户输入密码与查询账号得到的密码进行进行比较相同则跳出对应页面,不同则提示密码错误。

管理员模块功能实现利用数据库的增删查改对对应用户输入信息进行操作

教师模块功能实现了利用数据库进行学生成绩的增删改查,课程信息的增删改查。

学生模块功能实现了利用数据库查找学生的成绩,进行选课,删除课程信息查看选课结果等。

修改密码功能分为账号用户修改个人密码和管理员修该学生教师密码。账号修改个人密码用户输入新密码写入数据库,运用到了JDBC的查找和修改方法实现对数据库对应账号的密码更改。管理员修该学生教师密码与修改个人密码相同,但是在修改密码时需要输入修改的账号,利用if对账号是否存在进行条件判断如果存在与数据库中账号密码表中则进行对应账号密码的修改。

4.2 数据库设计

根据系统需求分析设计了3张表,分别为教师基本信息,学生基本信息表,账号密码基本信息表。具体信息如表4-1到表4-3所示。一下为参考,可以按照自己的需求修改

4-1  教师基本信息表

序号

字段名

数据类型

约束

是否为空

说明

1

number

varchar(255)

主键

教师工号

2

name

varchar(255)

 

教师姓名

3

sex

varchar(255)

 

教师性别

4

seniority

varchar(255)

 

教师教资

5

tel

varchar(255)

 

教师电话

6

specialty

varchar(255)

 

教师专业

7

course1

varchar(255)

 

教师课程

8

course2

varchar(255)

 

教师课程

用户表主要记录了普通用户基本信息,如表4-2所示。

4-2  学生基本信息表

序号

字段名

数据类型

约束

是否为空

说明

1

number

varchar(255)

主键

学生学号

2

name

varchar(255)

 

学生姓名

3

sex

varchar(255)

 

学生性别

4

age

int(255)

 

学生年龄

5

class

varchar(255)

 

学生班级

6

course1

varchar(255)

 

学生课程1成绩

8

course2

varchar(255)

 

学生课程2成绩

9

course3

varchar(255)

 

学生课程3成绩

10

course4

varchar(255)

 

学生课程4成绩

11

sum

varchar(255)

 

学生成绩总分

12

ke

int(255)

 

学生选修课1

13

ke1

varchar(255)

 

学生选修课2

 

账号密码表主要记录了账号密码基本信息,如表4-3所示。

4-3  账号密码本信息表

序号

字段名

数据类型

约束

是否为空

说明

1

number

varchar(255)

主键

账号

2

passworde

varchar(255)

 

教师姓名

 


5 系统实现

5.1 界面实现

通过输入账号密码来进行登录。登录界面如图5-1所示。

 

 

 

5-1  登录界面

5.2 管理员界面实现

管理员通过输入账号密码登录后,显示管理员页面,管理员界面如图5-2所示

 

 

 

5-2  管理员界面

 

 

5.2.1 添加教师信息界面实现

管理员点击添加教师信息按钮,显示要输入的相应信息的文本框 如图5-2-1所示

 

5-2-1  添加教师界面

5.2.2 删除教师信息界面实现

管理员点击删除教师信息按钮,输入相应老师的工号,删除相应老师的基本信息。如图5-2-2所示

 

 

 

5-2-2  删除教师基本信息界面

5.2.3 查找教师信息界面实现

管理员点击查找教师信息按钮,输入相应老师的工号,查找相应老师的信息。如图5-2-3所示

  

5-2-3  查找教师基本信息界面

5.2.4 查看所有教师信息界面实现

管理员点击查看教师信息按钮,查看所有教师的所有信息。如图5-2-4所示

 

5-2-4  所有教师信息页面

5.2.5 添加学生信息界面实现

管理员点击添加教师信息按钮,显示要输入的相应信息的文本框 如图5-2-5 

5-2-5  添加学生信息页面

5.2.6 删除学生信息界面实现

管理员点击删除学生信息按钮,输入相应学生的学号,删除相应学生的基本信息。如图5-2-6所示

 

5-2-6  删除学生信息页面

5.2.7 查找学生信息界面实现

管理员点击查找教师信息按钮,输入相应老师的工号,查找相应老师的信息。如图5-2-7所示 

 

5-2-7  查找学生信息页面

5.2.8 查看所有学生信息界面实现

   管理员点击查看学生信息按钮,查看所有学生的所有信息。如图5-2-8所示

 

5-2-8  查找所有学生信息页面

5.3 教师管理界面实现

教师通过输入账号密码登录后,显示教师管理页面,管理员界面如图5-2所示

 

 

 

 

5-3  教师管理页面

5.3.1 添加学生成绩信息界面实现

教师点击添加学生成绩信息按钮,显示要输入的相应信息的文本框 如图5-3-1所示

 

5-3-1 添加学生成绩信息页面

5.3.2 删除学生成绩信息界面实现

教师点击删除学生成绩信息按钮,输入相应学生的学号,删除相应学生的成绩。如图5-3-2所示

 

5-3-2  删除学生成绩信息页面

5.3.3 查找学生成绩信息界面实现

教师点击查找学生成绩信息按钮,输入相应学生的学号或相应的姓名,查找相应学生的成绩信息。如图5-3-3-15-3-3-25-3-3-3所示

 

 

 

 

5-3-3-1  查找学生成绩信息页面

 

 

5-3-3-2  按学号查找学生成绩信息页面

 

5-3-3-3  按姓名查找学生成绩信息页面

5.3.4 查看所有学生成绩信息界面实现

 教师点击查看学生成绩按钮,查看所有学生的所有成绩。如图5-3-4所示

 

5-3-4  查看所有学生成绩信息页面

5.3.5 添加课程信息界面实现

教师点击添加课程信息按钮,显示要输入的相应信息的文本框,根据输入的工号添加课程 如图5-3-5所示

5-3-5  添加课程信息页面

5.3.6 删除课程信息界面实现

教师点击删除课程信息按钮,输入相应教师的工号,删除相应教师的课程。如图5-3-6所示

 

 

5-3-6 删除课程信息页面 

5.3.7 查找课程信息界面实现

教师点击查找教师课程信息按钮,输入相应教师的工号,查找相应教师的课程信息。  如图5-3-7所示

 

 

 

5-3-7 查找课程信息页面

5.3.8 查看所有课程信息界面实现

   教师点击查看课程信息按钮,查看所有教师的所有课程。如图5-3-8所示

 

 

 

 

5-3-8 查看所有课程信息页面

 

5.4 学生界面实现

学生通过输入账号密码登录后,显示教师管理页面,管理员界面如图5-4所示

 

5-4 学生页面

5.4.1 查找学生成绩信息界面实现

学生点击查找学生成绩信息按钮,输入相应学生的学号或相应的姓名,查找相应学生的成绩信息。如图5-4-1-15-4-1-25-4-1-3所示

 

5-4-1-1  查找学生成绩信息页面

  

5-4-1-2  按学号查找学生成绩信息页面

 

5-4-1-3  按姓名查找学生成绩信息页面

5.4.2 查看所有课程信息界面实现

   学生点击查看课程信息按钮,查看所有教师的所有课程。如图5-4-2所示

 

 

 

 

5-4-2 查看所有课程信息页面

5.4.3 学生选择课程界面实现

学生点击添加学生选课信息按钮,显示要输入的相应信息的文本框,并输入学号和想要选择的课程 如图5-4-3所示

 

5-4-3 学生选课信息页面 

5.4.4 学生删除课程界面实现

学生点击添加学生选课信息按钮,显示要输入的相应信息的文本框,并输入学号和想要选择的课程 如图5-4-4所示

 

5-4-4 学生选课信息页面

5.4.5 学生查看选择课程结果界面实现

学生点击查看学生选课结果按钮,显示要输入的相应信息的文本框,并输入学号,会显示相应的选课信息 如图5-4-5所示

 

5-4-5 学生选课信息页面

5.5 修改密码界面实现

管理员,教师,学生点击修改密码,输入新的密码,点击修改,显示修改成功,数据库更新密码。如图5-5所示。

 

 

 

5-5 修改密码页面

6 系统测试

6.1 登录页面测试

在登录界面对登录不同界面功能模块进行测试,测试结果如表6-1所示。

6-1 登录界面测试表

编号

测试功能

输入描述

预期结果

运行结果

HP01

教师登录

1.输入教师账号密码

2.点击教师登录按钮

显示教师管理信息页面

正常,与预期结果一致

HP02

学生登录

1.输入学生账号密码

2.点击学生登录按钮

显示学生管理信息页面

正常,与预期结果一致

HP03

管理员登录

  1. 输入管理员账号密码

2.点击管理员登录按钮

显示管理员管理信息页面

正常,与预期结果一致

登录界面模块测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。

6.2 管理员页面测试

在管理员界面功能模块进行测试,测试结果如表6-2所示。

6-2 管理员模块测试表

编号

测试功能

输入描述

预期结果

运行结果

HP01

添加教师信息功能

1.点击添加教师信息按钮

2.弹出的添加教师信息页面写入添加教师对应信息

3.点击确认添加按钮

JDBC数据库表中记录显示添加教师信息

正常,与预期结果一致

HP02

删除教师信息功能

1.点击删除教师信息按钮

2.弹出的删除教师信息页面写入删除教师工号

3.点击确认删除按钮

JDBC数据库表中记录无删除教师的信息

正常,与预期结果一致

HP03

查找教师信息功能

1.点击查找教师信息按钮

2.弹出的查找教师信息页面写入查找教师工号

3.点击查找按钮

弹出查找教师的相关信息表格

正常,与预期结果一致

HP04

查看所有教师功能

1.点击查看所有教师信息按钮

弹出显示所有教师信息的表格

正常,与预期结果一致

HP05

添加学生信息功能

1.点击添加学生信息按钮

2.弹出的添加学生信息页面写入添加学生对应信息

4.点击确认添加按钮

JDBC数据库表中记录显示添加学生信息

正常,与预期结果一致

HP06

删除学生信息功能

1.点击删除学生信息按钮

2.弹出的删除学生信息页面写入删除学生学号

3.点击确认删除按钮

JDBC数据库表中记录无删除学生的信息

正常,与预期结果一致

HP07

查找学生信息功能

1.点击查找学生信息按钮

2.弹出的查找学生信息页面写入查找学生工号

3.点击查找按钮

弹出查找学生的相关信息表格

正常,与预期结果一致

HP08

查看所有学生功能

1.点击查看所有学生信息按钮

弹出显示所有学生信息的表格

正常,与预期结果一致

HP09

修改学生教师密码

1.点击修改学生教师密码按钮

2.弹出的修改学生教师密码信息页面写入需要修改的账号和对应新密码

3.点击确认按钮

JDBC数据库表中记录账号密码为修改后密码

正常,与预期结果一致

HP10

修改登录账号密码

1.点击修改密码按钮

2.弹出的当前账号对应的密码修改界面输入新密码

3.点击确认按钮

JDBC数据库表中记录账号密码为修改后密码

正常,与预期结果一致

管理员模块测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。

 

6.3 教师页面测试

在教师界面功能模块进行测试,测试结果如表6-3所示。

6-3教师模块测试表

编号

测试功能

输入描述

预期结果

运行结果

HP11

添加学生成绩

1.点击添加学生成绩按钮

2.弹出的添加学生成绩页面写入要添加学生的相应成绩

3.点击确认添加按钮

数据库表中记录显示添加学生成绩信息

正常,与预期结果一致

HP12

删除学生成绩

1.点击删除学生成绩按钮

2.弹出的删除学生成绩页面写入要删除学生的学号

3.点击确认删除按钮

数据库表中记录显示学生成绩信息为0

正常,与预期结果一致

HP13

查找学生成绩

1.点击按学号查找或按姓名查找学生成绩按钮

2.弹出的按学号查找或按姓名查找学生成绩的相应页面

3.点击查找按钮

弹出查找到的学生成绩信息的表格

正常,与预期结果一致

HP14

查看所有学生成绩

1.点击查看学生成绩按钮

弹出所有的学生成绩信息的表格

正常,与预期结果一致

HP15

添加课程信息

1.点击添加课程信息按钮

2.弹出的添加课程信息页面写入要添加的相应课程

3.点击确认添加按钮

数据库表中记录显示添加的课程信息

正常,与预期结果一致

HP16

删除课程信息

1.点击删除课程信息按钮

2.弹出的删除课程信息页面写入要删除课程对应的教师账号

3.点击确认添加按钮

数据库表中记录显示课程信息为0

正常,与预期结果一致

HP16

查找课程信息

1.点击查找课程信息按钮

2.弹出的查找课程信息页面写入要查找课程对应的教师账号

3.点击确认添加按钮

弹出查找到的课程信息的表格

正常,与预期结果一致

HP17

查看所有课程信息

1.点击查看课程信息按钮

弹出所有的课程信息的表格

正常,与预期结果一致

教师模块测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。

6.4 学生页面测试

在学生界面功能模块进行测试,测试结果如表6-4所示。

6-4 学生模块测试表

编号

测试功能

输入描述

预期结果

运行结果

 

1

查找学生成绩

  1. 点击查找学生成绩
  2. 点击按学号查找或按姓名查找
  3. 输入学号或姓名
  4. 点击查找

弹出学生成绩

正常,与预期结果一致

2

查看课程信息

  1. 点击查看课程信息
  2. 弹出课程信息

弹出课程信息

正常,与预期结果一致

 

3

查看选课结果

  1. 点击查看选课结果
  2. 输入学号
  3. 点击查找

出现自己的选课结果

正常,与预期结果一致

 

4

选择课程信息

  1. 输入自己的学号与选择的课程
  2. 点击确定

JDBC数据库中保存学生选择的课程

正常,与预期结果一致

 

5

删除课程信息

  1. 点击删除课程信息
  2. 输入学号
  3. 点击删除按钮

JDBC数据库中删除学生选择的课程

正常,与预期结果一致

 

学生模块测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果预期结果一致。

 

 

7 结论和心得

胡容:

心得:从项目选题再到项目测试成功,在这个过程中每个小组成员都是不可分割的起着至关重要的作用。在选题的过程中虽然大家各有各的观点,但是我们最终还是选择了教务管理系统这个题目。当题目定下来后,小组成员都齐心协力的向目标冲刺。终于在我们不断的讨论和修改,不断的磨合着不同的观点。完成了属于我们的综合项目。在这过程中给了我很多重要的感受,比如和小组成员一起讨论一起解决问题当问题解决时的成就感,在程序合并时看着成员的源代码想着自己实现同样功能的代码还能这样写。程序合并培养了我对源代码的看解提高了我代码的综合能力,在与小组成员的沟通交流中了解他的想法也增强了我的语言沟通能力。感谢老师给我们这种小组一起完成一个综合项目的机会,让我们一起成长。相信在以后的学习道路上这一次的经历将会帮助我很多。

黄佳睿:

心得:在此次综合项目中,让我对Java知识有了相比以前有了更深的理解和认识,当遇到问题时,会不断尝试,认真思索,与组内以及同学之间进行积极的互相讨论,这次项目共经历了四到五天时间左右,项目内容也从无到有,从简单到复杂,从运行是一堆错误到运行成功,每次不同的尝试,让我们提高了学习能力,锻炼我们的耐心和抗压能力,在这过程中,小组成员不断相互鼓励,提出不同的建议和看法,相互磨合,不断成长,提高了语言表达能力和自学能力,在此过程中也非常感谢老师和同学的帮助,在今后的学习生活中,我们要更加坚定自己的信仰,不断努力,不轻言放弃。

滕玉旺:

心得:通过这次的综合项目让我学会了很多的新知识,也让我懂得了团队配合的重要性。这个项目从无到有,每一段代码都是小组成员仔细思考出来的。这次实训,我们更多学到的是不懂就问和自己应该尽自己的全力去尝试,哪怕失败,只要自己尽自己的全力,和身边同学一起探讨而不是抄袭,团结合作,发挥团队意识,最后在自己的努力下,终于运行成功,这种成就感是非常满足的。

分类:

技术点:

相关文章: