1、(完整word版)数据库课程设计班级事务管理系统 1.数据库设计内容1.1.课程设计任务与要求1.1.1.任务班级事务管理系统问题描述:班级管理信息系统的任务是收集、存储、管理班级同学的相关信息,以及班级日常管理中的相关信息。为班级信息公开、增进同学交流了解服务,同时加强班级管理、提高班级管理与服务的效率和质量。1.1.2.设计要求、实现用户登录。、实现管理员管理班级事务。(学生信息、成绩、课程、详细信息的增、删、改、查)、实现学生成绩查询。、实现个人事务管理。、实现生活委员班费管理。1.1.3.运行环境WindowsXP、SQL Server5.0、Myeclipse6.0、Tomcat5.
2、5.28、IE 浏览器、JDK1.2需求分析1.2.1.数据需求班级事务管理系统需要完成功能主要有:学生基本信息的输入,包括学号、姓名、担任职务等。学生基本信息的添加、查询、修改、删除,包括学生学号、姓名、职务、角色等。学生成绩的添加、查询、修改、删除,包括学号、课程号、分数。课程的添加、删除,包括课程号、课程名、学分、任课老师。生活委员对班费的管理,包括班费的收入、支出。个人对本人事务的管理,包括时间和事件。1.2.2事物需求管理员对学生事务管理部分,要求:a、可以查询学生基本、详细信息、课程信息以及成绩。b、可以对学生基本信息、详细信息进行添加、修改及删除操作。c、可以对课程信息进行添加、
3、删除操作。d、可以对学生成绩进行添加、删除操作。生活委员对班费的管理,要求:a、可以查询班费收入支出的详细信息。b、可以对班费信息进行添加、修改、删除操作。1.2.3关系模式学生用户表(学号、姓名、密码、担任职务、角色)课程表(课程号、课程名、学分、任课老师)成绩表(主键、学号、课程号、成绩)学生详细信息表(id、学生学号、出生日期、身份证号码、家庭往址、宿舍号、银行卡号)生活委员事物表(ID、时间、活动地点、活动人数、消费前班费余额、消费金额、消费后班费余额、活动意义、活动结果)其它管理页面(ID、时间、内容、结果)1.3概念结构设计1.3.1. E-R图担任职务密码学号角色姓名角色姓名ID
4、密码ID成绩管理家庭住址出生日期学号ID身份证号银行卡号学生详细信息查询管理学生基本信息管理员生活委员事务管理课程名课程管理管理角色密码姓名学生分数课程号学号结果事件时间查询总余额人数消费金额地点个人事务管理结果课程号时间ID意义ID任课老师学分1.4.逻辑结构设计1.4.1表结构1.4.2数据库设计及完整性约束学生用户表:create table user(id int auto_increment primary key,username varchar(10),userpass varchar(20),userjob varchar(10),userrole varchar(10)课程表
5、:create table course(id int auto_increment primary key,cname varchar(20),ccredit int,cteacher varchar(20)成绩表:create table Sc(id int auto_increment primary key,uid int,cid int,sgrade varchar(5)ALTER TABLE Sc ADD CONSTRAINT fk_Sc_uid FOREIGN KEY(uid) REFERENCES user(id);ALTER TABLE Sc ADD CONSTRAINT f
6、k_Sc_cid FOREIGN KEY(cid) REFERENCES course(id);学生详细信息表:create table stuinfo(id int auto_increment primary key,stuid int,stubirth varchar(20),stuidentity varchar(30),stuaddr varchar(200),studorm varchar(20),stucard varchar(20)ALTER TABLE stuinfo ADD CONSTRAINT fk_stuinfo_stuid FOREIGN KEY(stuid) REF
7、ERENCES user(id);生活委员事物表:create table shwy(id int auto_increment primary key,time varchar(20),addr varchar(100),stunum int ,startmoney decimal,expense decimal,endmoney decimal,actmeaning text,actresult varchar(10)其它管理页面:create table qita(id int auto_increment primary key,qtime varchar(20),qcontent t
8、ext,qresult varchar(20)1.4.3.数据库用户权限管理该系统设置三种类型的用户(1)管理员(admin) 即系统管理员拥有对学生基本信息、详细信息、成绩、课程的管理权限。(2)生活委员(shwy) 可以对班级班费收入支出的详细信息进行管理;(3)其他个人(qita)对个人事务事件进行管理。2.应用系统设计2.1.需求分析2.1.1数据需求班级事务管理系统需要完成功能主要有:学生基本信息的输入,包括学号、姓名、担任职务等。学生基本信息的添加、查询、修改、删除,包括学生学号、姓名、职务、角色等。学生成绩的添加、查询、修改、删除,包括学号、课程号、分数。课程的添加、删除,包括课
9、程号、课程名、学分、任课老师。生活委员对班费的管理,包括班费的收入、支出。个人对本人事务的管理,包括时间和事件。2.1.2事物需求管理员对学生事务管理部分,要求:a、可以查询学生基本、详细信息、课程信息以及成绩。b、可以对学生基本信息、详细信息进行添加、修改及删除操作。c、可以对课程信息进行添加、删除操作。d、可以对学生成绩进行添加、删除操作。生活委员对班费的管理,要求:a、可以查询班费收入支出的详细信息。b、可以对班费信息进行添加、修改、删除操作。2.1.3关系模式学生用户表(学号、姓名、密码、担任职务、角色)课程表(课程号、课程名、学分、任课老师)成绩表(主键、学号、课程号、成绩)学生详细
10、信息表(id、学生学号、出生日期、身份证号码、家庭往址、宿舍号、银行卡号)生活委员事物表(ID、时间、活动地点、活动人数、消费前班费余额、消费金额、消费后班费余额、活动意义、活动结果)其它管理页面(ID、时间、内容、结果)2.1.5数据字典 为了使各数据流,数据处理过程,存储过程不能反映其中的数据成,数据项目,数据特性,所以用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以后的实现提供供有关元素一致性定义和详细的描述:数据流字典数据流名称:管理员登录(P3) 来源:管理员去向:查询学生基本信息数据组成:姓名+密码+登录权限数据流名称:学生个人登录 来源:个人去向:查询个人信
11、息数据组成:姓名+密码+登录权限数据流名称:生活委员登录 来源:生活委员去向:班费管理数据组成:姓名+密码+登录权限数据流名称:所有学生基本信息查询 来源:管理员去向: 查询处理过程数据组成:学号|姓名|密码|担任职务|角色数据流名称:所有学生详细信息查询 来源:管理员去向: 查询处理过程数据组成:学生学号|出生日期|身份证号码|家庭往址|宿舍号|银行卡号数据流名称:成绩和课程查询来源:学生去向:查询处理过程数据组成:主键|学号|课程号|成绩数据流名称:班费管理查询来源:生活委员去向:查询处理过程(P3)数据组成:ID|时间|活动地点|活动人数|消费前班费余额|消费金额|消费后班费余额|活动意
12、义|活动结果数据流名称:个人事务查询来源:学生去向:查询处理过程数据组成:ID|时间|内容|结果2.2.概念结构设计班费管理个人事务管理个人事务管理课程管理成绩管理详细信息管理基本信息管理生活委员管理班费事宜管理员管理班级事务班级事务管理系统2.3.详细设计2.3.1流程图更新页面删除删除添加页面查询基本信息添加页面详细信息查询管理员查询全部成绩登录添加页面添加页面删除普通用户添加页面删除个人事务管理页面事务登录界面班费管理页面添加页面删除更新页面成绩查询个人页面删除课程查询2.4.运行界面2.4.1管理员登陆界面2.4.2管理员查询、添加、修改、删除学生基本信息表程序代码说明package
13、.dao;import java.io.UnsupportedEncodingException;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import java.util.List;import .bean.UserBean;import .util.DBConnection;public class StudentDao public List q
14、ueryAllStudent()List list = new LinkedList();Connection conn = DBConnection.getConnection();try PreparedStatement ps = conn.prepareStatement(select * from user);ResultSet rs = ps.executeQuery();while (rs.next() UserBean student = new UserBean();student.setId(rs.getInt(id);student.setUsername(rs.getS
15、tring(username);student.setUserpass(rs.getString(userpass);student.setUserjob(rs.getString(userjob);student.setUserrole(rs.getString(userrole);list.add(student); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return list;public UserBean
16、 queryById(int id)Connection conn = DBConnection.getConnection();UserBean student=null;try PreparedStatement ps = conn.prepareStatement(select * from user where id=?);ps.setInt(1, id);ResultSet rs = ps.executeQuery();while (rs.next() student = new UserBean();student.setId(rs.getInt(id);student.setUs
17、ername(rs.getString(username);student.setUserpass(rs.getString(userpass);student.setUserjob(rs.getString(userjob);student.setUserrole(rs.getString(userrole); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return student;public int updat
18、eStuInfo(UserBean stu)Connection conn = DBConnection.getConnection();UserBean student=null;int flag=0;try PreparedStatement ps = conn.prepareStatement(update user set username=?,userpass=?,userjob=?,userrole=? where id=?);ps.setString(1,stu.getUsername() );ps.setString(2,stu.getUserpass() );ps.setSt
19、ring(3,stu.getUserjob();ps.setString(4,stu.getUserrole() );ps.setInt(5, stu.getId();flag= ps.executeUpdate(); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return flag;public int deleteInfo(int id)Connection conn = DBConnection.getConn
20、ection();UserBean lb=null;int flag=0;try PreparedStatement ps = conn.prepareStatement(delete from user where id=?);ps.setInt(1, id);flag= ps.executeUpdate(); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return flag;public int addStude
21、ntInfo(UserBean ub) int flag = 0;Connection conn = DBConnection.getConnection();PreparedStatement ps;String username=ub.getUsername();try username=new String(username.getBytes(ISO-8859-1),UTF-8); catch (UnsupportedEncodingException e1) e1.printStackTrace();try ps = conn.prepareStatement(insert into
22、user(username,userpass,userjob,userrole) values(?,?,?,?);ps.setString(1, ub.getUsername();ps.setString(2, ub.getUserpass();ps.setString(3,ub.getUserjob();ps.setString(4, ub.getUserrole();flag=ps.executeUpdate();conn.close(); catch (SQLException e) e.printStackTrace();return flag;2.4.3.成绩查询、添加、删除程序代码
23、说明:package .dao;import java.io.UnsupportedEncodingException;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import java.util.List;import .bean.CoursBean;import .bean.ScBean;import .bean.UserBean;import .u
24、til.DBConnection;public class ScDao public List queryAllSc()List list = new LinkedList();Connection conn = DBConnection.getConnection();try PreparedStatement ps = conn.prepareStatement(select * from sc);ResultSet rs = ps.executeQuery();while (rs.next() ScBean scb= new ScBean();scb.setId(rs.getInt(id
25、);scb.setUid(rs.getInt(uid);scb.setCid(rs.getInt(cid);scb.setSgrade(rs.getString(sgrade);list.add(scb); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return list;public int deleteScInfo(int id)Connection conn = DBConnection.getConnecti
26、on();ScBean lb=null;int flag=0;try PreparedStatement ps = conn.prepareStatement(delete from sc where id=?;);ps.setInt(1, id);flag= ps.executeUpdate(); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return flag;public int addScInfo(ScBea
27、n ub) int flag = 0;Connection conn = DBConnection.getConnection();PreparedStatement ps;try ps = conn.prepareStatement(insert into sc(uid,cid,sgrade) values(?,?,?);ps.setInt(1, ub.getUid();ps.setInt(2, ub.getCid();ps.setString(3,ub.getSgrade();flag=ps.executeUpdate();conn.close(); catch (SQLException
28、 e) e.printStackTrace();return flag;2.4.4.课程的查询、添加、删除程序代码说明:package .dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import java.util.List;import .bean.CoursBean;import .bean.ScBean;import .util.DBCon
29、nection;public class CourseDao public List queryAllCourse()List list = new LinkedList();Connection conn = DBConnection.getConnection();try PreparedStatement ps = conn.prepareStatement(select * from course);ResultSet rs = ps.executeQuery();while (rs.next() CoursBean scb= new CoursBean();scb.setId(rs.
30、getInt(id);scb.setCname(rs.getString(cname);scb.setCcredit(rs.getInt(ccredit);scb.setCteacher(rs.getString(cteacher);list.add(scb); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return list;public int deleteCourseInfo(int id)Connection
31、 conn = DBConnection.getConnection();ScBean lb=null;int flag=0;try PreparedStatement ps = conn.prepareStatement(delete from course where id=?;);ps.setInt(1, id);flag= ps.executeUpdate(); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();re
32、turn flag;public int addCourseInfo(CoursBean cb) int flag = 0;Connection conn = DBConnection.getConnection();PreparedStatement ps;try ps = conn.prepareStatement(insert into course(cname,ccredit,cteacher) values(?,?,?);ps.setString(1, cb.getCname();ps.setInt(2, cb.getCcredit();ps.setString(3,cb.getCt
33、eacher();flag=ps.executeUpdate();conn.close(); catch (SQLException e) e.printStackTrace();return flag;2.4.5.学生详细信息的查询、添加、删除程序代码说明:package .dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import java.u
34、til.List;import .bean.StuInfoBean;import .util.DBConnection;public class StuInfoDao public List queryAllStuInfo()List list = new LinkedList();Connection conn = DBConnection.getConnection();try PreparedStatement ps = conn.prepareStatement(select * from stuinfo);ResultSet rs = ps.executeQuery();while
35、(rs.next() StuInfoBean sfb= new StuInfoBean();sfb.setId(rs.getInt(id);sfb.setId(rs.getInt(stuid);sfb.setStubirth(rs.getString(stubirth);sfb.setStuidentity(rs.getString(stuidentity);sfb.setStuaddr(rs.getString(stuaddr);sfb.setStudorm(rs.getString(studorm);sfb.setStucard(rs.getString(stucard);list.add
36、(sfb); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return list;/管理员删除学生详细信息public int deleteStuInfo(int id)Connection conn = DBConnection.getConnection();StuInfoBean lb=null;int flag=0;try PreparedStatement ps = conn.prepareStatement
37、(delete from stuinfo where id=?;);ps.setInt(1, id);flag= ps.executeUpdate(); catch (SQLException e) e.printStackTrace();finallytry conn.close(); catch (SQLException e) e.printStackTrace();return flag;/添加学生详细信息public int addStuInfo(StuInfoBean cb) int flag = 0;Connection conn = DBConnection.getConnec
38、tion();PreparedStatement ps;try ps = conn.prepareStatement(insertintostuinfo(stuid,stubirth,stuidentity,stuaddr,studorm,stucard) values(?,?,?,?,?,?);ps.setInt(1, cb.getStuid();ps.setString(2, cb.getStubirth();ps.setString(3, cb.getStuidentity();ps.setString(4,cb.getStuaddr();ps.setString(5, cb.getSt
39、udorm();ps.setString(6,cb.getStucard();flag=ps.executeUpdate();conn.close(); catch (SQLException e) e.printStackTrace();return flag;2.4.6.普通用户登录界面2.4.7.个人事务管理登录界面2.4.8.生活委员管理特殊权限程序代码说明:package .dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import java.util.List;import .bean.ShwyBean;import .util.DBConnection;public class ActivityDao public List queryAllActivity()List list = new LinkedList();Connection conn = DBConnec
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100