1、学生档案管理系统苏州科技学院电子信息与信息实验中心面向对象课程设计报告学生档案管理系统专业年级班级学号姓名成绩指导教师2015年4月10日目录1 课程设计任务概述 11.1 选择目的与意义 11.2 设计任务与要求 11.3 开发环境以及工具 12 系统需求分析 22.1 系统功能分析 22.2 用例图及用例说明 32.2.1 增加学生档案用例 32.2.2 查询学生档案用例 42.2.3 更改学生档案用例 52.2.4 删除学生档案用例 73 系统设计 83.1 系统类图 83.2 系统活动图 93.3 系统时序图 93.3.1 管理员登录时序图 93.3.2 增加学生档案时序图 103.3
2、.3 查询学生档案时序图 103.3.4 更改学生档案时序图 103.3.5 删除学生档案时序图 114 系统实现 114.1 数据库连接模块 114.1.1 DBUtil.java关键代码 114.2 学生档案管理模块 124.2.1 增加学生档案 124.2.2 查找学生档案 124.2.3 更新学生档案 134.2.4 删除学生档案 135 系统测试 145.1 登陆测试 145.2 学生档案增加测试 145.3 学生档案查询测试 155.4 学生档案更改测试 155.5 学生档案删除测试 156 课程设计总结 167 参考文献 171 课程设计任务概述1.1 选择目的与意义“面向对象技
3、术”是计算机科学与技术专业的核心专业课,面向对象程序设计技术也是软件工程师的基本技能,“面向对象课程设计”的目的是理解和巩固面向对象程序设计的基本理论、原理和方法的重要的实践环节。 本课程设计综合应用学生所学知识,结合小型应用系统的设计,建立面向对象程序设计的概念,理解和巩固封装、类与对象、继承与多态、JAVA数据结构、多线程、IO、UI设计及UML等知识,为后续课程的学习打下良好的基础。通过实现学生档案管理功能的实际编程了解基于Swing的图形用户界面开发和数据库操作原理,提高Swing和JDBC技术结合的综合运用能力。1.2 设计任务与要求要求用面向对象的方法实现,且每个任务都采用文件存储
4、数据,不能使用数据库。每个题目均须具有以下功能: 1、用户管理,合法用户许可访问; 2、信息录入,包括记录的追加和插入; 3、信息删除; 4、信息修改; 5、信息排序和查询; 6、信息的保存和装载; 7、简单的帮助。1.3 开发环境以及工具开发环境:MyEclipse Enterprise Workbench Version: 2014JDK 1.7系统运行环境:WIN7 旗舰版 X64位数据库平台:MySQL 5.0.222 系统需求分析2.1 系统功能分析本系统主要实现学生档案的管理,主要功能包括学生档案信息的添加、修改、查询和删除,及一些辅助项目的管理,如系统用户管理、院系管理和专业管理
5、。整个系统模块划分如图2-1所示:图2-1 系统模块划分2.2 用例图及用例说明根据学生档案管理描述,画出学生档案管理系统整体用例图,见图2-2:图2-2 学生档案管理系统用例图由于院系管理与专业管理的用例与学生管理类似,以下给出学生管理的用例描述。2.2.1 增加学生档案用例(1)增加学生档案用例描述增加学生档案,是学生档案管理系统提供的一项基本服务。在学生档案管理系统的建模过程中,将这一行为抽象为一个用例。在不考虑软件的具体实现细节基础上,给出如下的用例描述:Use Case 名称增加学生档案执行者管理员前置条件管理员通过系统验证后,成功登陆学生档案管理系统事件流1、 输入学生学号;2、
6、输入学生姓名;3、 选择学生性别;4、 输入学生年龄;5、 选择学生所属院系;6、 选择学生所属专业;7、 点击“增加”提交。后置条件学生档案添加成功,提示“增加成功”,并清空增加界面。(2)增加学生档案用例图(如图:2-2-1)图2-2-1 增加学生档案用例图2.2.2 查询学生档案用例(1)查询学生档案用例描述查询学生档案,是学生档案管理系统提供的一项基本服务。在学生档案管理系统的建模过程中,将这一行为抽象为一个用例。在不考虑软件的具体实现细节基础上,给出如下的用例描述:Use Case 名称查询学生档案执行者管理员前置条件管理员通过系统验证后,成功登陆学生档案管理系统事件流1、 根据输入
7、学生学号;2、 点击“查询”按钮; 后置条件查询成功后,若查到符合条件学生信息,则返回在界面表格中,若查不到信息则不返回,清空查询各条件框中信息。(2)查询学生档案用例图(如图:2-2-2)图2-2-2 查询学生档案用例图2.2.3 更改学生档案用例(1)更改学生档案用例描述更改学生档案,是学生档案管理系统提供的一项基本服务。在学生档案管理系统的建模过程中,将这一行为抽象为一个用例。在不考虑软件的具体实现细节基础上,给出如下的用例描述:Use Case 名称修改学生档案执行者管理员前置条件管理员通过系统验证后,成功登陆学生档案管理系统,并查询出要更改档案的学生信息事件流1、 选中要更改学生的档
8、案信息;2、 在更改信息框中更改需要更改的信息;3、 点击“修改”按钮。后置条件修改成功后,在数据库中更新修改学生的档案,并清空修改信息框中的信息。(2)更改学生档案用例图(如图:2-2-3)图2-2-3 更改学生档案用例图2.2.4 删除学生档案用例(1)删除学生档案用例描述删除学生档案,是学生档案管理系统提供的一项基本服务。在学生档案管理系统的建模过程中,将这一行为抽象为一个用例。在不考虑软件的具体实现细节基础上,给出如下的用例描述:Use Case 名称删除学生档案执行者管理员前置条件管理员通过系统验证后,成功登陆学生档案管理系统,并查询出要更改档案的学生信息事件流1、 选中要删除学生的
9、信息;2、 点击“删除选中档案”按钮。后置条件学生档案删除成功,数据库中删除对应学生档案。(2)删除学生档案用例图(如图:2-2-3)图2-2-3 删除学生档案用例图3 系统设计3.1 系统类图学生档案管理系统总类图,如图3-1所示:图3-1 学生档案管理系统类图3.2 系统活动图学生档案管理系统活动图,如图3-2所示:图3-2 学生档案管理系统活动图3.3 系统时序图3.3.1 管理员登录时序图管理员登录时序图,如图3-3-1所示:图3-3-1 系统登录时序图3.3.2 增加学生档案时序图增加学生档案时序图,如图3-3-2所示:图3-3-2 增加学生档案时序图3.3.3 查询学生档案时序图查
10、询学生档案时序图,如图3-3-3所示:图3-3-3 查询学生档案时序图3.3.4 更改学生档案时序图更改学生档案时序图,如图3-3-4所示:图3-3-4 更改学生档案时序图3.3.5 删除学生档案时序图删除学生档案时序图,如图3-3-5所示:图3-3-5 删除学生档案时序图4 系统实现4.1 数据库连接模块4.1.1 DBUtil.java关键代码public class DbUtil private String dbUserName = root; private String dbPassword = ; private String driverName = com.mysql.jdb
11、c.Driver; private String dbUrl = jdbc:mysql:/localhost:3306/stuinfo; public Connection getConn() throws Exception Class.forName(driverName); Connection conn = DriverManager.getConnection(dbUrl,dbUserName,dbPassword); return conn; public void closeConn(Connection conn , PreparedStatement pstmt) throw
12、s SQLException if(pstmt!=null) pstmt.close(); if(conn!=null) conn.close(); 4.2 学生档案管理模块4.2.1 增加学生档案public int addStu(Connection conn, Student student) throws SQLException, ParseException / TODO Auto-generated method stub String sql = insert into stu values(?,?,?,?,?,?); PreparedStatement pstmt = con
13、n.prepareStatement(sql); pstmt.setInt(1, student.getId(); pstmt.setString(2,student.getName(); pstmt.setString(3, student.getSex(); pstmt.setInt(4, student.getYear(); pstmt.setString(5, student.getMajor(); pstmt.setString(6, student.getGrade(); return pstmt.executeUpdate(); 4.2.2 查找学生档案public Result
14、Set findStu(Connection conn, Student stu) throws SQLException / TODO Auto-generated method stub StringBuffer sb =new StringBuffer( select * from stu st where st.major=+stu.getMajor()+); if(stu.getId()!=0) sb.append( and st.id =+stu.getId(); if(stringUtil.isNotEmpty(stu.getName() sb.append( and st.na
15、me like %+stu.getName()+%); if(stringUtil.isNotEmpty(stu.getSex() sb.append( and st.sex like %+stu.getSex()+%); if(stu.getYear()!=0) sb.append( and st.year =+stu.getYear(); if(stringUtil.isNotEmpty(stu.getGrade() sb.append( and st.grade like %+stu.getGrade()+%); PreparedStatement pstmt = conn.prepar
16、eStatement(sb.toString(); return pstmt.executeQuery(); 4.2.3 更新学生档案public int updateStu(Connection conn, Student student) throws Exception / TODO Auto-generated method stub String sql = UPDATE stu SET name =?,sex = ?,year=?,major=?,grade=? WHERE id = ?; PreparedStatement pstmt = conn.prepareStatemen
17、t(sql); pstmt.setString(1, student.getName(); pstmt.setString(2, student.getSex(); pstmt.setInt(3, student.getYear(); pstmt.setString(4, student.getMajor(); pstmt.setString(5, student.getGrade(); pstmt.setInt(6, student.getId(); return pstmt.executeUpdate(); 4.2.4 删除学生档案public int deleteStu(Connecti
18、on conn, int stuId) throws SQLException / TODO Auto-generated method stub String sql = delete from stu where id = ?; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, stuId); return pstmt.executeUpdate(); 5 系统测试5.1 登陆测试登录测试用例:用例编号输入内容预期结果实际结果说明账号密码1adminadmin登录主界面成功登录主界面管理员账号能正确登
19、录2admin123456提示“用户名或密码错误”提示“用户名或密码错误”错误的密码无法登录系统3Dhxadmin提示“用户名或密码错误”提示“用户名或密码错误”错误的账户无法登录系统4admin(空)提示“请输入密码”提示“请输入密码”密码为空不能登录5(空)admin提示“用户名不能为空”提示“用户名不能为空”用户名为空时不能登录5.2 学生档案增加测试学生档案增加测试用例:用例编号操作步骤预期结果实际结果说明1a)输入学号:112001b)输入姓名:王二c)选择性别:男d)输入年龄:18e)选择院系:电子信息工程f)选择专业:电子Z1211g)点击“增加”按钮提“添加成功”提示“添加成功
20、”正常输入学生档案信息2a)输入姓名:王二b)选择性别:男c)输入年龄:18d)选择院系:电子信息工程e)选择专业:电子Z1211f)点击“增加”按钮提示“请输入学号”提示“请输入学号”不输入学号添加档案信息3a) 输入学号:112001b) 点击“增加”按钮提示“请输入姓名”提示请输入年龄只输入学号添加学生档案信息4a)输入学号:112001d)输入年龄:18g)点击“增加”按钮提示“请输入姓名”提示“请输入姓名”只输入学号和年龄添加档案信息5a)点击“增加”按钮提示“请输入学号”提示“请输入学号”不输入学生任何信息5.3 学生档案查询测试学生档案查询测试用例:用例编号操作步骤预期结果实际结
21、果说明1a) 输入学号:112004b) 点击“查询”按钮正确显示查询信息正确显示查询信息按学号查询2a) 点击“查询”按钮正确显示查询信息正确显示查询信息列出所有学生5.4 学生档案更改测试学生档案更改测试用例:用例编号操作步骤预期结果实际结果说明1a) 查询出要更改学生信息b) 选中该条信息c) 更改院系d) 更改专业e) 点击“修改”按钮提示“更新成功”提示“更新成功”修改学生院系与专业2a) 点击“修改”按钮提示“请先选择”提示“请先选择”不选中学生档案更改信息3a) 查询出要更改学生信息b) 选中该条信息c) 更改姓名d) 更改性别e) 点击“修改”按钮提示“更新成功”提示“更新成功
22、”修改学生姓名与性别5.5 学生档案删除测试学生档案删除测试用例:用例编号操作步骤预期结果实际结果说明1f) 查询出要删除学生信息g) 选中该条信息h) 点击“删除选中档案”按钮提示“删除成功”提示“删除成功”正常删除操作步骤2b) 点击“删除选中档案”按钮提示“请先选择”提示“请先选择”不选中档案直接删除6 课程设计总结通过对面向对象课程的学习,我们初步掌握了通过编程实现学生档案管理系统的主要核心,实现了一个简单的学生档案管理系统。本系统在目前的调试中,基本达到了当初的设计要求,设计上基本合理,功能基本完善,能够做到对学生档案信息的查询,删除,添加,修改等基本功能。由于各种原因,我们设计的学
23、生档案管理系统只完成了几个主要的功能实现,还存在着一些问题有待解决,系统设计的还不够精致同时也存在着很多的不足与缺陷,这还需要更我们进一步的完善。这几周来我们投入巨大精力完成课程设计,收获颇多。通过实现学生档案管理功能的实际编程了解了基于Swing的图形用户界面开发和数据库操作原理,提高了我们在Swing和JDBC技术结合方面的综合运用能力。7 参考文献1耿祥义,张跃平.Java面向对象程序设计M.北京:清华大学出版社,2009 2 孙家广等. 软件工程理论、方法与实践M.北京:高等教育出版社,2005.3 李春葆,曾平. 数据库原理与应用.第二版.北京:清华大学出版社,2007.4 Grant Palmer. Java程序员手册M.第一版.北京:清华大学出版社,2002.5 李敏波. Java 高级编程M.北京:清华大学出版社,2006.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1