计 算 机 科 学 与 技 术 学 院
学生信息管理系统设计报告
班 级:
姓 名: 学 号: 指导老师:
目录
一、需求分析 ..................................................................................... ......................... 2
1
二、概要设计 ..................................................................................... ......................... 2 三、详细设计 .............................................................................................................. 3 四、用户手册 .............................................................................................................. 5 六、测试结果 ..................................................................................... ......................... 6 七、参考文献 ..................................................................................... ......................... 7
一、需求分析
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做
2
到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。但本系统完全开发,力求使系统功能简洁明了,但功能齐全且易于操作。 经过综合分析,确定该系统包括以下功能: 1、 班级信息管理
班级信息管理包括对班级信息的设置。该模块可实现以下功能: 添加、修改和显示班级Id、班级名称。
2、 学生信息管理
学生信息管理包括对学生信息的管理。该模块可实现以下功能: 添加、修改、删除 和显示学生ID、学生姓名、学生年龄和所在班级名称。 3、 学生姓名模糊查询
学生姓名模糊查询是指根据学生姓名的部分字符查询学生信息。 4、 根据班级查询学生
根据班级查询学生是指由班级名称查询该班级的所有学生信息。 二、概要设计
1、系统设计总体目标
(1)本系统具有很强的可靠性,可以对在校的学生信息进行查询,对数据进行修改、删除,学生信息。
(2)本系统中的模块具有可续性。
(3)本系统操作方便、灵活、简单。用户只需输入学生的姓名信息就可以查询到学生的全部信息。 2.功能模块图
三、详细设计
(一)数据库设计 1.概念结构设计
3
(1)实体名:班级
属 性:班级ID 班级名称 实体E-R图如图所示
(2)实体名:学生
属性:学生ID 学生姓名 学生年龄 所在班级ID 实体E-R图如图所示
2.逻辑结构设计
根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。
学生信息管理数据库包含以下2个表:班级信息表department、学生信息表User (1)班级信息表
列名
数据类型 4
备注 id depname (2)学生信息表
列名 id sname sage cid Integer Varchar 数据类型 Integer Varchar Varchar Varchar 主键 无 备注 主键 无 无 无 (二)功能模块设计 1.班级信息管理模块
public int add(Department dep){//添加班级 int result=0;
Session s=HibernateSessionFactory.getSession(); Transaction tx=s.beginTransaction(); try{
s.save(dep); tx.commit(); s.close(); result=1;
}catch(Exception e){ tx.rollback();
e.printStackTrace(); }
return result; }
public List listDepartment(){//查询班级列表 List list; Session s=HibernateSessionFactory.getSession(); Transaction tx=s.beginTransaction(); String hql=\"from Department dep\"; Query query=s.createQuery(hql); list=query.list(); return list; }
public Department searchDepartment(Integer did){//根据ID查询班级 Department dep=new Department();
Session s=HibernateSessionFactory.getSession(); dep=(Department)s.get(Department.class, did); return dep;
5
}
public void saveDepartment(String name,Integer did){//修改班级信息 Transaction tx=null;
Session s=HibernateSessionFactory.getSession();
tx=s.beginTransaction();
Department dep=(Department)s.get(Department.class,did); dep.setDepname(name); s.update(dep); tx.commit(); }
2.学生信息管理模块
public int add(User user,String depname){//添加学生 int result=0; List list; Session s=HibernateSessionFactory.getSession(); Transaction tx=s.beginTransaction(); try{
String hql=\"from Department dep where depname=:dname\"; Query query=s.createQuery(hql); query.setString(\"dname\", depname); list=query.list();
Iterator it=list.iterator(); while(it.hasNext()){
Department dep=(Department)it.next(); User u=new User(); u.setDepartment(dep);
u.setSage(user.getSage()); u.setSname(user.getSname()); s.save(u); }
tx.commit(); s.close(); result=1;
}catch(Exception e){ tx.rollback();
e.printStackTrace(); }
return result;
6
}
public List listUsers(){//查询学生列表 List list; Session s=HibernateSessionFactory.getSession(); Transaction tx=s.beginTransaction(); String hql=\"from User u\";
Query query=s.createQuery(hql); list=query.list(); return list; }
public User searchSingleStudent(Integer did){
Session s=HibernateSessionFactory.getSession(); User u=new User();
return null; }
public void saveUser(String uname,Integer uid,Integer uage,String banjiname){ //修改学生信息 List list; Session s=HibernateSessionFactory.getSession(); Transaction tx=s.beginTransaction();
String hql=\"from Department d where d.depname=:dname\"; Query query=s.createQuery(hql);
query.setString(\"dname\", banjiname); list=query.list();
Iterator it=list.iterator(); while(it.hasNext()){
Department dep=(Department)it.next(); User user=(User)s.get(User.class,uid); user.setDepartment(dep); user.setSage(uage); user.setSname(uname); s.update(user); tx.commit(); } }
public void deleteStudent(Integer uid){//删除学生 Session s=HibernateSessionFactory.getSession();
7
Transaction tx=s.beginTransaction(); User user=(User)s.get(User.class, uid); s.delete(user); tx.commit(); s.close(); }
3.根据班级查询学生模块
public List findStudents(String depname){//根据班级查询学生 List list; Session s=HibernateSessionFactory.getSession(); Transaction tx=s.beginTransaction(); String hql=\"from User u where u.department.depname=:dname\"; Query query=s.createQuery(hql);
query.setString(\"dname\", depname); list=query.list(); return list; }
4.学生姓名模糊查询模块
public List searchStudent(String singleSname){学生姓名模糊查询 Session s=HibernateSessionFactory.getSession();
String hql_sname1=\"from User as u where u.sname like:cname\"; Query query_sname1=s.createQuery(hql_sname1);
query_sname1.setString(\"cname\", \"%\"+singleSname+\"%\"); List list=query_sname1.list(); return list; }
8