ImageVerifierCode 换一换
格式:DOCX , 页数:62 ,大小:917.58KB ,
资源ID:23063957      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23063957.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计.docx

1、数据库课程设计数据库程序设计 -小型图书管理系统设计 专业班级: 10信息管理与信息系统本(一)班 小组组长: 罗国灏 学号:100513025 小组副组长: 张晓雅 学号:100513008小组成员: 周来明 学号:100914024 一、选题目的与系统概述 图书馆如果使用手工管理,效率低,易出错,手续繁琐,而且要耗费大量的人力。图书馆希望设计一个图书馆系统,方便图书的入库、图书的删除、读者对图书的查询等。管理人员可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况. 图书管理系统可以为学校教师和学生提供充足的信息和快捷的查询手段,让教师和

2、学生能够及时查询图书信息,更好地为读者服务。 本系统是小型图书管理系统,专为个人设计。此系统能方便给用户提供关于图书的相关内容。本系统启动后需要登陆,在登录界面中有一注册功能,待用户注册后,输入相应用户名及密码后,然后进入主界面。在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。系统共有5个功能模块:图书入库、图书查询、图书删除、图书概览、修改密码。支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、修改密码等。二、项目开发小组成员任务分配组长与小组成员互相商讨关于开发此款软件的所需要实现的何种功能及所需要的开发工具,之后先组成员们讨论出该项目的整体开发流程,形成一份明晰的纸

3、质稿。然后大致分配好各自的任务。其中,各个小组成员负责如下的任务:组长:负责设计并调试程序;副组长:负责设计数据库;成员:负责监督,并进行排版设计;三、系统可行性分析与相关技术背景分析1、可行性分析:(1)项目背景分析本项目名称为“小型图书管理系统”。该系统主要为管理员设计,方便查找图书及录入图书。系统功能主要包括:能够存储一定数量的图书信息并进行图书查询、图书删除、图书入库、图书概览、修改密码等,系统的注册功能可以让多个人登录系统,方便个人使用。本项目的任务提出者为安工计科学院,开发者为计科学院软件工程专业的学生。(2)性能分析小型图书管理系统的使用者是个人或是管理员。对于管理工作,性能要求

4、不是太严格,但需要方便图书入库等操作。(3)可靠性和安全性 由于图书管理系统的图书量会非常大,所以在对这些图书导入和查询时要保证速度。对于整个系统,由于是对管理员专用,并未设置权限控制。但是,数据库中的数据需要定时备份,防止系统数据丢失。(4)项目基本目标分析该系统的目标应考虑以下几个方面:(i)系统需要操作方便,方便管理员的管理。(ii)系统需要提供综合查询功能,方便图书的查询。(iii)系统需要良好的扩展性,方便功能扩展和性能扩展。(5)技术条件可行性分析本系统是一个采用面向对象技术、数据库技术等先进技术开发的应用程序,现有的开发技术已经成熟,虽没有大规模推广,相信不久的将来会被广泛应用。

5、利用现有哦技术可以达到功能目标。(6)经济可行性分析该系统为小型系统,花费小,开发时间短,开发人数少,既经济又适用。(7)社会因素方面的可行性 所建议系统的研制和开发都选用正版软件,将不会侵犯他人、集体和国家的利益,不会违反相关的国家政策和法律。(8)操作方面的可行性本系统的研制和开发充分考虑用户工作流程、计算机操作水平等,尽可能提供更人性化、直观的界面,满足用户要求。系统的操作方式在用户组织内可行。(9)可行性的结论经上述可行性分析,系统的研制和开发可以立即开始进行。2、相关技术背景分析: 本系统采用增加进度条、动态图片加载、登录进度页面等来完善系统。本系统运用RemoveBook、Regi

6、st、Book、BookIn、QueryBook、BookBrower、StartWindow、UpdateMima、Login九个类来编写系统。用Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize();等函数获得当前屏幕大小,从而确定框架的位置。用JLabel label=new JLabel(new ImageIcon(5.gif);来调用动态图片,并用Time类设置时间,用以实现登录进度界面过程。用addActionListener(this)事件监听器来实现单击按钮时执行的事件,如单击“

7、取消”按钮时退出当前界面。四、系统设计与关键技术.1、流程图说明:首先是进入登录界面,相当于在登陆模块,要求管理员输入用户名和密码;然后判断管理员帐号及密码的正确性,如果不正确或不存在,则退出系统,否则进入图书管理系统的主界面。进入主界面后,用户要选择所需执行的功能,即通过鼠标点击相应项,来完成所需操作。2、数据库设计在图书管理系统中,共设计2张表。本系统使用Windows SQL server 2000来创建数据库表。数据库的名称为BookSystem.mdb。1.表book字段名称数据类型图书名文本图书号文本(主键)单价文本作者文本出版社文本入库时间文本2.表user字段名称数据类型用户名

8、文本(主键)密码文本3、关键技术本小项目系统采用技术大部分是java教材里的相关知识,各种类的建立。操作系统:windows xp;开发工具:Eclipse;运行环境:JDK 1.6.0;编程语言:Java语言等。利用Eclipse开发项目,是可以提高项目的开发效率的。这些理论知识为该项目的进行提供了有力支持。五、系统测试与操作实施方法(1)注册模块注册模块主要包含用户名、输入密码及确定密码三个文本,和确定、取消两个按钮,由Regist实现。在输入完成后,选择确定按钮,会显示“注册成功”窗口,从而把用户信息储存到数据库中的user表中等。当注册成功后就可以用注册的账号进行登录了 。从而就可以进

9、行后续的功能操作。而点击取消按钮,则会退出程序。(2)登录及加载正在登录模块 因为对图书管理系统中所收录的信息的保密性,所以设置了登录模块,而对于登录模块,主要由Login实现。对于已注册的用户,可以通过注册来获得账号,从而可以使用图书管理系统,并获得其中的信息。对于未注册的用户则不能进入和使用图书管理系统。验证密码是调用Book数据库中的user表中的信息进行对比。加载登录模块:主要由StartWindow实现,当用户名存在而且密码正确时,进入登录界面。加载对应的动态图片及进度条,给用户一正在登录的视觉效果。(3)主界面模块 当系统登录完毕后,进入图书管理系统主界面,由Book实现。在主界面

10、中,主要包含图书查询,图书入库,图书删除,图书概览,修改密码及退出系统等六大功能,用户可以根据不同的需要进行选择不同的功能进行实现,而且在主界面框架中加载动态图片。(4)图书查询模块 当单击图书查询按钮时,进入图书查询功能,主要是按图书号进行查询,由BookBrower实现。查询时系统调用Book数据库中的book表中的图书信息,当找到对应图书号时,系统将加载数据库表中的信息显示出来,即图书名、图书号、单价、作者、出版社、入库时间等信息;如果没有,则会提示“您输入的图书号不存在,请重新输入”的提示。 (5)图书入库模块 进入图书入库界面后,用户输入图书的相关信息,用户必须输入此图书的全部信息,

11、如果有未输入的信息,系统则会提示“请填写图书全部信息”的提示;如果输入的图书号在数据库中已经存在,系统则会提示“图书号已经被使用,请重新输入”的提示。(6)图书删除模块 删除图书时,点击主界面上的“图书删除”按钮,在弹出的对话框中的“请输入要删除的图书名:”后的JTextField文本框里输入要删除的图书名,点击对话框下面的“查询”按钮,系统会调用showRecord(String ql)函数搜索数据库中有关的书籍,并将此类书籍的详细信息显示在列表框中。在列表框的上边有一个“该种图书共有XX本”的提示,“XX”表示搜索出的结果共有几种书籍。此时若要继续删除搜索结果中的图书,需选中该图书所在的列

12、表行,再点击“删除”按钮,系统调用deleteRecord(int index)函数从数据库中删除相应的记录。如果不选中所删除图书所在行的话而直接点击“删除”按钮的话,会提示“请选定要删除的表格行”。(7)图书概览模块 浏览系统中所有的图书信息时,可点击主界面中的“图书概览”按钮,在所弹出的对话框中将以表格的形式显示出来,显示图书的所有信息是从数据库中存储的相关信息中提取出来。(8)修改密码模块 若要修改登录密码时,可点击主界面中的“修改密码”按钮,在弹出的对话框中需输入的信息为:“用户名”、“原密码”、“新密码”、“确认密码”。当填好信息后点击“确定”按钮后,系统会调用updateM()函数

13、来检查所输入的信息是否符合要求,请注意,输入的原密码需和用户名相一致且正确,不然会提示错误信息;输入的新密码和确认的密码也需一致,不然也会提示错误信息。如果都符合要求,将更新数据库,否则提示错误并重新输入。(9)退出系统模块 当点击退出系统后,系统调用setVisable(boolean)函数,退出系统。六、系统设计总结与回顾通过小组成员2个周不懈努力,我们小组终于成功的把程序按功能分成不同的模块进行编写、编译、调试和修改,对各个模块所对应对话框的制作以及相应函数的调用,使各个分功能得以实现;最后,在程序中进行各个不同模块的调用,把各个功能对应的函数在同一个大的前提下运行以实现最终的信息的存取

14、、修改和删除以及记录和读取,这样就能实现用户想要得到的功能。在项目工作的这一段时间里大家相处融洽,小组内部共同探讨解决问题的方法,向各模块负责人学习模块功能处理方式在做图书管理系统时,从中学到了很多专业知识,使自己对实现某一功能不在感觉无从下手。不过在实现过程中,借阅很多相关专业知识,遇到很多问题,所以我们的相关专业知识方面还需要进一步加强,测试技能及测试管理方面还需要进一步完善学习。更好的吸收项目经验,做好以后的补丁测试工作及其他项目的测试工作。经过这次课程设计,我们学会了Java在程序设计中的功能实现和数据调试,Java框架及其函数实现,增加了我们在实战中的工作能力和信心,在这次课程设计中

15、,我们共同设计和研究,最终实现程序顺利运行,感觉到了在一个程序设计中团队合作是多么重要,虽然这次设计时间短暂但我们会在以后的学习中继续努力。七、参考文献1 Java语言程序设计基础篇(原书第6版)、(美)梁(Liang,Y.D.)著;万波等译-北京:机械工业出版社,2008.62 张广彬等.Java课程设计案例精编M.北京:清华大学出版社,2007,1.3 黄晓东.Java课程设计案例精编M.北京:中国水利水电出版社,2004,5.4 求是科技.Java数据库系统开发实例导航M.北京:人民邮电出版社,2004,9.5张海藩,软件工程导论(第4版).北京:清华大学出版社,20036李芝兴,Jav

16、a 程序设计之网络编程. 清华大学出版社,20067 张海藩,牟永敏。面向对象程序设计实用教程。北京:清华大学出版社,2001八、附录源代码:1、注册界面package org;import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.util.*;import java.sql.*;import javax.swing.text.JTextComponent; /extends JFrameclass Regist implements ActionListener JFrame f3; Contai

17、ner cp; JPanel jp1; JButton jbt1,jbt2;/按钮:确定、取消、 JLabel label; /标签 JTextField tf1,tf2,tf3; /定义文本框 JLabel label1; Regist() f3=new JFrame(); cp=f3.getContentPane(); / 初始化面板、按钮、标签、文本框 jp1=new JPanel(); /- jbt1=new JButton(确定); jbt2=new JButton(取消); /- label=new JLabel(填写注册信息,SwingConstants.CENTER); lab

18、el.setForeground(Color.blue); /- tf1=new JTextField(20); tf2=new JPasswordField(20); tf3=new JPasswordField(20); /- /布局,添加控 JPanel jpanel=new JPanel(); jpanel.add(label); JPanel pp4=new JPanel(); /JPanel jpane4=new JPanel(); cp.add(jpanel,North); JPanel pp2=new JPanel(new GridLayout(3,1); JPanel pp3

19、=new JPanel(); pp4.setLayout(new GridLayout(3,1); pp4.add(new JLabel(用户名,SwingConstants.CENTER); pp2.add(tf1); pp4.add(new JLabel(密码,SwingConstants.CENTER); pp2.add(tf2); pp4.add(new JLabel(确认密码,SwingConstants.CENTER); pp2.add(tf3); pp3.add(jbt1); pp3.add(jbt2); cp.add(pp4,West); cp.add(pp2,Center);

20、 cp.add(pp3,South); /cp.add(jpane4,East); /- Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width; /*取得显示器窗口的宽度*/ int y=screen.height; /*取得显示器窗口的高度*/ f3.setSize(400,300); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter);/*显示在窗

21、口中央*/ f3.setVisible(true); jbt1.addActionListener(this);/注册监听器 jbt2.addActionListener(this); public void insertRecord() if(tf1.getText().equals()|tf2.getText().equals() JOptionPane.showMessageDialog(f3,请填写用户资料); return; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)

22、System.out.println(加载驱动程序失败!); try String url = jdbc:sqlserver:/localhost:1433;databasename=BookSystem;/直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url,sa,); Statement sql; String s=insert into users values(+tf1.getText()+,+tf2.getText()+); sql=con.createStatement(); /查询输入的图书号是否在数据库中

23、存在 String query=select * from users where 用户名=+tf1.getText()+; ResultSet rs=sql.executeQuery(query);/返回查询结果集*/ boolean moreRecords=rs.next(); if(moreRecords) JOptionPane.showMessageDialog(null,用户名已存在,请重新注册); con.close(); tf1.setText(); tf2.setText(); tf3.setText(); return; if(tf2.getText().equals(tf

24、3.getText() int insert=sql.executeUpdate(s); if(insert=1) JOptionPane.showMessageDialog(null,注册成功!); tf1.setText(); tf2.setText(); tf3.setText(); else JOptionPane.showMessageDialog(null,请重新确认密码!); tf2.setText(); tf3.setText(); catch(SQLException g) System.out.println(E Code+g.getErrorCode(); System.

25、out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals(确定) insertRecord(); else if(cmd.equals(取消) f3.setVisible(false) public static void main(String arg) Regist a=new Regist(); 2、登录界面package org;import java.awt.event.*;import javax.

26、swing.*;import java.awt.*;import java.util.*;import java.sql.*; public class Login extends JFrame implements ActionListener Container cp=null; JFrame f=null; JButton j1,j2,j3; JTextField t1,t2; /JPasswordField ;/ JLabel jlable1,jlable2; Color c; JPanel jp1,jp2 Login() f=new JFrame(小型图书管理系统); j1=new

27、JButton(确定); j2=new JButton(取消); j3=new JButton(成为管理员); cp=f.getContentPane(); jlable1=new JLabel(管理员账户); jlable2=new JLabel( 密码 ); jp1=new JPanel() public void paintComponent(Graphics g) super.paintComponent(g); ImageIcon img = new ImageIcon(33.jpg); Dimension size=this.getParent().getSize(); int x

28、=this.getWidth(); int y=this.getHeight(); g.drawImage(img.getImage(),0,0,x,y,null); ; jp2=new JPanel(); t1=new JTextField(18); t2=new JPasswordField(18); t1.setOpaque(false); t2.setOpaque(false); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2); jp1.add(t2); JLabel JL=new JLabel(欢迎登陆,SwingConstants.CENTER); setLayout(new BorderLayout(5,2); /边界布局管理器 cp.add(JL,North); jp2.add(j1); jp2.add(j2); jp2.add(j3); cp.add(jp1,Center); cp.add(South,jp2); /jp1.setBackground(new Color(255,153,255); /面板jp1背景颜色

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1