




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中原工学院软件学院中原工学院软件学院 三三级级实实践践课课题题设设计计任任务务书书 姓姓 名名张林克 软件工程 java 方向 专业 104 班 题题 目目图书管理系统 设设 计计 任任 务务 开发一个比较完善的基于 java 语言的图书管理系统 内容包括登录 图书 读者 管理 员注册等内容 为图书的管理提供了一个很好的综合查询服务平台 主要功能包括 1 登录 为管理员 读者的登录所用 另有会员注册功能 参与 2 图书管理系统主页 包括图书信息 会员信息 注册会员信息等 参与 3 图书 管理员信息界面 图书 会员信息的查询 删除 修改等 参与 开发工具 java MyEclipse MySQL Photoshop 时时 间间 进进 度度 项目进度 日期123456712345671234567 设计休 息 休 息 编码 测试 备注 刘丽娜 任文义 韩婷婷 原原 主主 始始 要要 资资 参参 料料 考考 与与 文文 献献 01 Y Da niel Liang java 语言程序设计基础篇 进阶篇 机械工业出版社 02 刘勇 SQL Server2000 基础教程 M 清华大学出版社 指导教师签字 指导教师签字 2012 年年 03 月月 日日 I 课题题目 摘 要 随着计算机网络的飞速发展 Internet 技术越来越广泛的应用 网络覆盖的区域不 断扩大 给社会上各行各业之间都带来了发展的机遇 计算机网络软件技术图书馆关的 图 书经营部门的现代化的高效率的管理不可或缺的现代工具 indows P ASP SQLServer2000 已经成为网站建设的流行模式 本文详细的论述了图书管理系统设计和实现的全过程 在论述过程中 主要分五大 部分 第一部分主要包括绪论 相关背景和构架和对开发工具进行了相应的介绍 第二 部分是对系统需求分析及各环节的需求分析 第三部分是对图书管理系统功能的分析和 详细设计 该部分是本文的主体 在这一部分 介绍了本系统设计方案的实现过程 经 过论证得到系统模块功能并设计数据库 针对本系统的详细设计并以图书管理的内容进 行详细分析 第五部分是系统的实现和测试 本文通过对以上五部分的论述 使图书管 理系统各功能基本完成 关键词 图书管理 B S 结构 目录 摘摘 要要 I 第第 1 章章 项目分析项目分析 2 1 1 问题描述 2 1 2 技术分析 2 1 3 工程进度计划 2 第第 2 章章 系统分析与设计系统分析与设计 3 2 1 系统分析及设计 3 2 1 1顺序图 4 2 1 2类图 4 2 2 3系统体系结构设计 5 2 3 数据库设计 5 2 3 1E R图 6 2 3 2关系模式 6 2 3 3表的设计 6 第第 3 章章 实现与测试实现与测试 8 3 1 学生信息的查询 8 3 1 1活动图 8 3 1 2界面 9 3 1 3代码 12 3 2 4测试用例 21 第第 4 章章 结束语结束语 23 参考文献参考文献 24 附录附录 主要源程序主要源程序 25 杨栋梁 学生管理系统 2 第 1 章 项目分析 项目分析是对该系统开始进行之前进行的分析 包括设计该系统过程中所遇到的问 题 所用到的技术 以及该系统的所需的工程进度等内容 项目分析是对该系统的总体 规划 1 1 问题描述 该系统用 Java 与 Masql 的连接实现教师对学生的信息的管理 1 2 技术分析 该项目主要由 Java 语言编写 使用了 eclipse 和 Mysql 开发工具进行开发和功能的 实现 测试使用了白盒测试方法和黑盒测试方法 1 3 工程进度计划 第一周 2012 02 20 2012 02 26 开发项目之前的准备工作 包括调查和需求分析 以及项目规划和设计 第二周 2012 02 27 2012 03 04 应用具体的环境开发项目的代码 第三周 2012 03 05 2012 03 11 完成最后代码并进行测试 做最后的报告分析总 结 杨栋梁 学生管理系统 3 第 2 章 系统分析与设计 系统分析主要是验证该功能是否满足用户的需求 包括完成该项目的顺序图 类图 还有数据库的设计等 2 1 系统分析及设计 主要实现教师管理学生的信息的查询 包括对基本信息 选修课程 成绩的查询以 及选修课程等功能 通过调用数据库里面的信息得到学生的信息 通过向数据库里插入 数据 再查询得到选修的课程和成绩 图 2 1 学生管理系统顺序图 添 加 学 生 信 息 学生管理系统 系统选项 学生管理 退 出 系 统 增 加 学 生 信 息 删 除 学 生 信 息 修 改 学 生 信 息 查 找 学 生 信 息 重 新 登 录 修 改 密 码 杨栋梁 学生管理系统 4 2 1 1 顺序图 管理客户端 JMenubar 事件触发 增 加 学 生 信 息 修 改 学 生 信 息 查 找 学 生 信 息 退 出 系 统 删 除 学 生 信 息 重 新 登 录 修 改 密 码 登录 图 2 2 系统顺序图 2 1 2 类图 杨栋梁 学生管理系统 5 图 2 3 类图 2 2 3 系统体系结构设计 此系统根据教师对学生的信息的查询而设计 基本上实现了教师对学生的信息查询 增 删 改 差 以及登录 退出 修改密码和返回主菜单页面 2 3 数据库设计 由于考虑到本系统是应用在单机系统上 另外根据学校人员规模 我只建立起一个 数据库 在此数据库基础上建立起如下两个基本表 学生 学号 姓名 性别 籍贯 专业 户名 用户 密码 杨栋梁 学生管理系统 6 2 3 1E R 图 学生管理系统的 E R 图的设计如图 2 5 所示 学生管理员 学生号 姓名 籍贯 性别 专业 名字 密码 管理 删除 查询 修改 添加 图 2 4 学生管理系统 E R 图 2 3 2 关系模式 管理员 工作号 姓名 主键 工作号 学生 学号 姓名 性别 专业 籍贯 主键 学号 2 3 3 表的设计 数据库中包含 3 个表 即学生信息表 student 学生选课表 sc 设计要求如表 3 1 3 3 所示 表 2 1 学生信息表 student 名称字段名称数据类型主键非空 学号SnoChar 10 YesYes 学生姓名SnameVaechar2NoYes 性别SsexChar 2 NoNo 籍贯SaddVaechar2NoNo 专业zhuanyeVaechar2NoNo 姓名 课题名称 1 第 3 章 实现与测试 实现该系统的功能 并对实现的功能进行相应的测试工作 包括功能模块 活动图 界面和代码 3 1 学生信息的查询 学生管理系统登录界面模块是 test1 java 这个文件 test1 java 是学生管理系统的主运 行类 其中有运行整个程序的 main 方法 该文件生成了 test1 类的一个实例 从而生成了 学生管理系统的界面 如图所示 test1 类继承自 JFrame 类 实现 test1 类将所有的功能集 中到 JTree 的节点中 并通过调用其他模块来实现学生管理系统的各个功能 3 1 1 活动图 学生信息功能如图 3 1 所示 开始 输入学生号 点击确定 验证学生 号 学生信息 开始 JMenubar 触 发事件 结果 图 3 1 学生信息 姓名 课题名称 2 3 1 2 界面 姓名 课题名称 3 姓名 课题名称 4 姓名 课题名称 5 3 1 3 代码 学生个人信息 import javax swing import java awt BorderLayout import java awt FlowLayout import java awt Font import java awt GridLayout import java awt event ActionEvent import java awt event KeyEvent import java sql Connection import java sql ResultSet import java sql Statement import java util Map import java util TreeMap import javax swing public class Message extends JPanel private JLabel xuehaobiaoqian new JLabel 学 号 private JLabel xingmingbiaoqian new JLabel 姓 名 private JLabel xingbiebiaoqian new JLabel 性 别 private JLabel aihaobiaoqian new JLabel 籍贯 private JLabel zhuanye new JLabel 专业 private JLabel xuehao new JLabel private JLabel xingming new JLabel private JLabel xingbie new JLabel private JLabel add new JLabel private JLabel zy new JLabel private String j public Message String password try j password setLayout null xuehaobiaoqian setBounds 30 80 100 30 姓名 课题名称 6 xuehao setBounds 130 80 150 30 xingmingbiaoqian setBounds 30 180 100 30 xingming setBounds 130 180 180 30 xingbiebiaoqian setBounds 30 280 100 30 xingbie setBounds 130 280 500 30 aihaobiaoqian setBounds 30 380 100 30 add setBounds 130 380 100 30 zhuanye setBounds 30 480 100 30 zy setBounds 130 480 200 30 add xuehaobiaoqian add xingmingbiaoqian add xingbiebiaoqian add aihaobiaoqian add xuehao add xingming add xingbie add add add zhuanye add zy String j new String tf2 getPassword Connection c test getConnection Statement s c createStatement ResultSet r s executeQuery select sno sname ssex sadd zhuanye from student where sno j while r next true xuehao setText r getString 1 xingming setText r getString 2 xingbie setText r getString 3 add setText r getString 4 zy setText r getString 5 ta add p1 c close catch Exception ex ex printStackTrace 成绩 import java awt BorderLayout import java sql Connection import java sql ResultSet import java sql Statement import java util Vector import javax swing import javax swing table DefaultTableModel public class chengji extends JPanel private Vector rowVector new Vector private Vector columnVector new Vector private int columnCount 姓名 课题名称 7 private DefaultTableModel tablemodel new DefaultTableModel private JTable jte new JTable private String j public chengji String h j h try rowVector clear columnVector clear Connection c test getConnection Statement s c createStatement ResultSet r s executeQuery select cname c grade grade from stur join course on o o where sno j columnCount r getMetaData getColumnCount while r next Vector singleRow new Vector for int i 0 i columnCount i singleRow addElement r getObject i 1 rowVector addElement singleRow for int i 1 i columnCount i columnVector addElement r getMetaData getColumnName i columnVector set 0 课程名 columnVector set 1 学分 columnVector set 2 成绩 tablemodel setDataVector rowVector columnVector jte setModel tablemodel jte setRowHeight 40 jte setBounds 600 400 800 600 add new JScrollPane jte p3 add new JScrollPane jte BorderLayout CENTER c close r close catch Exception ex ex printStackTrace 查询课程 import java awt import java awt event ActionEvent import java awt event ActionListener import java sql Connection import java sql ResultSet import java sql Statement import java util Vector import javax swing import javax swing table DefaultTableModel public class selekecheng extends JPanel implements ActionListener private JLabel l new JLabel 请输入要查询的课程号 private JTextField t new JTextField 8 private JButton b new JButton 查询 private JButton b1 new JButton 查看所有选过课程 private JPanel p new JPanel 姓名 课题名称 8 private Vector rowVector new Vector private Vector columnVector new Vector private int columnCount private JTable jt private JScrollPane jsp private DefaultTableModel dtm private Vector v couid new Vector private static String j public selekecheng String t j t this selec o this course id public void selec this setLayout null l setBounds 100 50 300 100 t setBounds 250 90 100 30 b setBounds 360 93 60 25 b1 setBounds 460 93 150 25 this add l this add t this add b this add b1 dtm new DefaultTableModel jt new JTable dtm 创建表格 jsp new JScrollPane jt 将表格放入 JScrollPane this add jsp jsp setBounds 40 150 500 200 t addActionListener this b addActionListener this b1 addActionListener new ActionListener public void actionPerformed ActionEvent e cno public void cno try Connection c test getConnection Statement s c createStatement ResultSet rs s executeQuery select o cname from course join sc on o o where sno j ShowTable rs catch Exception ex ex printStackTrace public void actionPerformed ActionEvent e try if e getSource b if t getText equals JOptionPane showMessageDialog this 请输入课程号 错误 JOptionPane ERROR MESSAGE 姓名 课题名称 9 return if v couid contains t getText 该课程不在可选列表之中 JOptionPane showMessageDialog this 请输入正确的课程号 错误 JOptionPane ERROR MESSAGE t setText return else String number t getText trim Connection c test getConnection Statement s c createStatement ResultSet rs s executeQuery select o cname from course join sc on o o where o number and sno j ShowTable rs catch Exception ex ex printStackTrace public void ShowTable ResultSet rs try rowVector clear columnVector clear columnCount rs getMetaData getColumnCount while rs next Vector singleRow new Vector for int i 0 i columnCount i singleRow addElement rs getObject i 1 rowVector addElement singleRow for int i 1 i columnCount i columnVector addElement rs getMetaData getColumnName i columnVector set 0 课程号 columnVector set 1 课程名 dtm setDataVector rowVector columnVector rs close catch Exception ex ex printStackTrace public void course id try Connection c test getConnection Statement s c createStatement ResultSet rs s executeQuery select cno from course while rs next String cou id rs getString 1 v couid add cou id rs close c close catch Exception ex ex printStackTrace 姓名 课题名称 10 课程表 import java awt BorderLayout import java sql Connection import java sql ResultSet import java sql Statement import java util Vector import javax swing import javax swing table DefaultTableModel public class kecheng extends JPanel private Vector rowVector1 new Vector private Vector columnVector1 new Vector private Vector v 1 new Vector private Vector v 2 new Vector private Vector v 3 new Vector private int columnCount private JTable jte1 new JTable private DefaultTableModel tablemodel1 new DefaultTableModel private ResultSet r private String j public kecheng String g try this get this get1 this get2 j g rowVector1 clear columnVector1 clear Connection c test getConnection Statement s c createStatement String sql1 select kno k01 k02 k03 k04 k05 from kecheng String sql2 select kno k01 k02 k03 k04 k05 from ke String sql3 select kno k01 k02 k03 k04 k05 from kec if v 1 contains j r s executeQuery sql1 else if v 2 contains j r s executeQuery sql2 else if v 3 contains j r s executeQuery sql3 columnCount r getMetaData getColumnCount while r next Vector singleRow new Vector for int i 0 i columnCount i singleRow addElement r getObject i 1 rowVector1 addElement singleRow for int i 1 i columnCount i columnVector1 addElement r getMetaData getColumnName i columnVector1 set 0 课节号 columnVector1 set 1 星期一 columnVector1 set 2 星期二 columnVector1 set 3 星期三 columnVector1 set 4 星期四 columnVector1 set 5 星期五 tablemodel1 setDataVector rowVector1 columnVector1 姓名 课题名称 11 jte1 setModel tablemodel1 jte1 setRowHeight 50 add new JScrollPane jte1 c close r close catch Exception ex ex printStackTrace public void get try Connection c test getConnection Statement s c createStatement ResultSet r s executeQuery select sno from student where sno like 20111 while r next String a r getString 1 v 1 add a c close r close catch Exception ex ex printStackTrace public void get1 try Connection c test getConnection Statement s c createStatement ResultSet r s executeQuery select sno from student where sno like 20112 while r next String a r getString 1 v 2 add a c close r close catch Exception ex ex printStackTrace public void get2 try Connection c test getConnection Statement s c createStatement ResultSet r s executeQuery select sno from student where sno like 20113 while r next String a r getString 1 v 3 add a c close r close catch Exception ex ex printStackTrace 选修课程 姓名 课题名称 12 import java awt FlowLayout import java sql Connection import java sql ResultSet import java sql Statement import java util Vector import java awt import javax swing import javax swing table DefaultTableModel import java awt event public class ChoseCourse extends JPanel private JButton b new JButton 确定 private JLabel l new JLabel 供选择的课程列表如下 private JLabel l1 new JLabel 请输入要选课的号码 private JTextField t new JTextField private ResultSet rs private JTable jt private JScrollPane jsp 创建存放表格头和表格数据的 Vector 对象 private Vector v head new Vector private Vector v data new Vector 创建存放可选课程的课程号的 Vector 对象 private Vector v couid new Vector private Vector v id new Vector private JPanel p new JPanel private DefaultTableModel dtm private String j private static String k public ChoseCourse String w k w this sele this setLayout null l setBounds 60 100 200 20 this add l p setLayout new FlowLayout l1 setBounds 150 450 200 30 t setBounds 300 450 100 30 b setBounds 480 450 60 25 this add b this add l1 this add t add p BorderLayout SOUTH dtm new DefaultTableModel v data v head jt new JTable dtm 创建表格 jsp new JScrollPane jt 将表格放入 JScrollPane 中 jsp setBounds 150 150 500 300 this add jsp b addActionListener new ActionListener public void actionPerformed ActionEvent e j t getText sele get if j equals JOptionPane showMessageDialog null 请输入课程号 else if v couid contains j Statement s c createStatement String sq insert into sc sno cno values k j where sno k int i s executeUpdate sq if i 1 JOptionPane showMessageDialog null 选课成功 else JOptionPane showMessageDialog null 选课失败 c close rs close catch Exception ex ex printStackTrace else if v couid contains j JOptionPane showMessageDialog null 请输入正确的课程号 else JOptionPane showMessageDialog null 此门课你以选过 public void sele v head add 课程号 v head add 课程名 v head add 学分 v head add 老师 try Connection c test getConnection Statement s c createStatement String sql select cno cname c grade from course rs s executeQuery sql while rs next Vector v new Vector String cou id rs getString 1 v couid add cou id String cou name rs getString 2 String cou grade rs getString 3 v add cou id v add cou name v add cou grade v data add v c close rs close catch Exception e e printStackTrace public void get try Connection c test getConnection 姓名 课题名称 14 Statement s c createStatement String sql select cno from sc where sno k rs s executeQuery sql while rs next String a rs getString 1 v id add a catch Exception ex ex printStackTrace 3 2 4 测试用例 序 号 测试结论预期结果测试结果缺陷 描述 1 点击个人基本信息在右侧显示信息界 面 在右侧显示 信息界面 无 2点击重新登录出现登录界面 当 前界面消失 出现登录界 面 当前界 面消失 无 3点击退出系统弹出对话框 是否 要退出系统 点击 确定 关闭系统 弹出对话框 是否要退出 系统 点击 确定 关闭 系统 无 4点击退出系统弹出对话框 是否 要退出系统 点击 取消 回到当前界 面 弹出对话框 是否要退出 系统 点击 取消 回到 当前界面 无 姓名 课题名称 15 第 4 章 结束语 三周的实训时间很快就没了 三周里 我和小组里的其他三个人 共同完成了实 训的项目 认真听课 经过老师的指导 克服项目中遇到的困单 但项目中仍有部分 不够完善 需要我们继续改进 从实训开始 我们就开始着手设计 编程我们的项目 就是这个学生管理系统 这过程中 我们也与实训老师有了诸多交流 老师已经从事公司工作多年 有丰富的 工作经验 从老师的话里 我们得到了很多平时课本上学不到的知识 并且听到了关 于毕业后 自己专业的前景 我们都感觉受益匪浅 做项目的过程中 我们组一共四人 一开始就分工明确 像公司里做一个项目一 样 每个人都有自己的重点工作 其中 当然也遇到了不少困难 就几个人一起商讨 解决困难 完成项目之后 才长吁一口气 虽然每天要在机房呆上一天 但是每天因 为有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师听课讲解试卷及答案
- 2025年日语质量检测题库及答案
- 2025年辽宁教师考试真题及答案
- 2025年护理三基自测题库及答案
- 2025-2030中国燃气行业跨区域合作模式与典型案例报告
- 2025-2030中国燃气行业私域流量构建与精准营销实践报告
- 2025-2030中国燃气行业物联网技术渗透率及投资回报分析报告
- 2025-2030中国燃气行业技术交流会与产学研合作报告
- 2025-2030中国燃气行业安全生产标准化建设实施效果评估报告
- 2025-2030中国燃气行业区域价格差异形成机制分析报告
- 国开2025年人文英语4写作形考答案
- 足球俱乐部会员权益规定
- AIGC艺术设计 课件全套 第1-8章 艺术设计的新语境:AI的介入 -AIGC艺术设计的思考与展望
- 冀教版(三起)(2024)三年级上册英语Unit 1 Lesson 1 Hello!教案
- 老年教育课程体系2025年优化与探究式教学模式实践报告
- 学堂在线 遥测原理 期末考试答案
- 2025年湖南省市场监督管理局下属事业单位招聘考试笔试试题【答案】
- 2025春季学期国开电大专科《刑事诉讼法学》一平台在线形考(形考任务一至五)试题及答案
- 职业技术学院智能网联汽车技术专业人才培养方案
- 针灸调理养生在心脑血管疾病防治中的应用研究与实践
- 髋关节骨折护理
评论
0/150
提交评论