1、Web系统开发课程设计报告 Web系统开发课程设计报告 课 题: 学生信息管理系统 专 业: 数字媒体技术 班 级: 1708班 组 长:张2023843 组 员:张202344 樊2023 康202340 邓 202309 2023年6月10日 目 录 一、系统描述 2 1、需要实现的功能 3 2、设计目的 3 二、分析与设计 3 1、功能模块划分 3 2、数据库结构描述 4 3、系统详细设计文档 6 4、各个模块的实现方法描述 9 5、测试数据及期望结果 11 三、系统测试 16 四、心得体会和总结 23 五、代码 24 一、系统描述 1、需求实现的功能 1.1、录入学生根本信息的功能 学
2、生根本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,那么不能再插入该学号。 1.2、修改学生根本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1.3、查询学生根本信息的功能 可使用 “姓名对已存有的学生资料进行查询。 1.4、删除学生根本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的局部。一个功能齐全、简单易
3、用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一局部,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。例如
4、:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、本钱低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、标准化、自动化,从而到达提高学生信息管理效率的目的。 二、分析与设计 1、功能模块划分 学生信息管理系统 浏览学生信息 查询学生信息 添加学生信息 修改学生信息 删除学生信息 普通学生用户模块 班委管理员模块 浏览学生信息 查询学生信息 学生管理 登陆管理 修改登陆密码 显示登
5、陆用户 图1 功能模块划分图 2、数据库结构描述 2.1、数据库E-R模型 用户管理 账号 密码 职位 图2 用户管理E-R图 学 生 总学分 出生地 年龄 专业 性别 姓名 学号 班级 图3 实体学生E-R图 2.2、数据库关系模型二维表 表1 学生表student 字段 数据类型 说明 stuId nvarchar(30) 学号 stuName nvarchar(30) 姓名 stuSex nvarchar(30) 性别 stuAge int 年龄 stuJg nvarchar(30) 籍贯 stuZy nvarchar(30) 专业 classId nvarchar(30) 班号 stu
6、Sourse numeric(5,2) 总学分 图4 录入数据后的学生表 表2 登陆权限表login 字段 数据类型 说明 userId nvarchar(30) 用户名账号,即登陆Id password nvarchar(30) 登陆密码 position nvarchar(30) 职位,如班委,普通学生 图5 录入数据后的登陆权限表 3、系统详细设计文档 3.1、系统执行流程图 进度条闪屏 用户登陆 登陆验证 false true 班委管理员界面 普通学生界面 查询 添加 修改 删除 查询 显示 班委管理员 普通学生用户 退出 退出系统 结束 结束 退出系统 true false fals
7、e true 修改用户登陆密码 显示登陆用户信息 图6 系统执行流程图 3.2、类的划分 表3 学生信息查询类 类名 类的成员属性与方法 说明 StuQuery.java JPanel jp1 定义一个面板 JLabel jp1_jl1 定义两个标签 JTextField jp1_jtf1 定义一个文本输入框 JButton jp1_jb1,jp1_jb2,jp1_jb3 定义三个按钮 JTable jtb 定义一个表 JScrollPane jsp 定义一个滚动面板,用于存放表 TableModel tm 自定义一个表模型,用于更新表数据 public StuQuery(Frame Main
8、,String title ,boolean model) 构造方法,通过传递三个参数,实现对话 super(Main,title,model) 调用父类的构造方法,实现模式对话 public void actionPerformed(ActionEvent arg0) 事件响应方法 表4 修改学生信息类 类名 类的成员属性与方法 说明 UpdateStu.java JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8 定义八个标签,用于设置数据库表的字段名 JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8 定义八个文
9、本框,用于接收表的各字段值 JButton jb1,jb2,jb3 定义三个按钮,用于事件响应 public void addView() 这是修改学生界面的函数封装 public AddStu(Frame Main,String title,boolean model) 构造方法,通过传递三个参数,实现对话 super(Main,title,model) 调用父类的构造方法,实现模式对话 public UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model) 因为要修改信息,那么必须要获得所选中的那一行的
10、所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row public void 事件响应方法 actionPerformed(ActionEvent e) 表5 修改管理人员信息类 类名 类的成员属性与方法 说明 UpdateLogin.java JLabel jl1,jl2,jl3 定义三个标签,即用户名,密码,职位 JTextField jtf1,jtf2,jtf3 定义三个文本框,对应三个标签的值 JButton jb1,jb2,jb3 定义三个按钮,用于事件响应 JTable jtb 定义一个表格,用于显示登陆用户信息 PurV
11、iewModel pvm 自定义登陆用户信息的数据更新模型 public void upView() 这是修改账户信息权限的界面函数的封装 public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model) 因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row super(Main,title,model) 调用父类的构造方法,实现模式对话 public void actionPerfor
12、med(ActionEvent e) 事件响应方法 表6表模式-更新数据 类名 类的成员属性与方法 说明 TableModel.java Vector rowData,row,column 定义表格所需要的集合表,行,列 ResultSet rs 定义一个记录集,用于接收从数据库返回来的记录集 SqlConn conn 定义一个用于连接数据库的对象,SqlConn是连接数据库的类 public TableModel(String sql) 构造方法,并传一个SQL语句,实现查询操作 public String getColumnName(int column) 这是一个重写的方法,用于设置表的
13、列名 public int getColumnCount() 得到数据模型记录集的列数 public int getRowCount() 得到数据模型记录集的行数 public Object getValueAt(int arg0, int arg1) 得到数据模型记录集某行某列的值 4、各个模块的实现方法描述 说明:此处只包含了个人完成的模块的实现方法描述 4.1、学生信息查询 学生信息查询窗口,采用了基于管理窗口,即主界面的对话框实现,实现方法如下: 1定义查询所需要的面板和组件。 2调用父类的构造方法,实现模式对话。 3进行学生信息查询。 4.2、修改管理人员信息 修改管理人员信息的界面
14、,通过模式对话,即继承JDialog对话框来实现的,实现方法如下: 1定义修改学生信息的相关组件。 2加载数据库,获得选中的那一行的所有信息。 3把组件添加到窗体。 4调用父类的构造方法,实现模式对话。 5调用修改用户权限信息的界面的方法。 6修改管理人员信息。 7调用数据库连接,并设置操纵更新的sql语句。 4.3、修改学生信息 修改学生信息的界面,通过模式对话,即继承JDialog对话框来实现,实现方法如下: 1定义修改学生信息的相关组件。 2加载数据库,获得选中的那一行的所有信息。 3把组件添加到窗体。 4调用父类的构造方法,实现模式对话。 5调用修改学生信息的界面的方法。 6修改学生信息。 7完成相应功能。 4.4、更新数据 这是一个表模型,用于数据更新,实现方法如下: 1定义表格所需要的集合。 2定义一个记录集,用于接收从数据库返回来的记录集。 3定义一个用于连接数据库的对象。 4设置表格的列名。 5创立表的记录集。 6调用数据库连接。 7设置表的列名,并得到表的列数和