综合课程设计实验报告.docx

上传人:太** 文档编号:60288156 上传时间:2022-11-15 格式:DOCX 页数:35 大小:1,023.41KB
返回 下载 相关 举报
综合课程设计实验报告.docx_第1页
第1页 / 共35页
综合课程设计实验报告.docx_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《综合课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《综合课程设计实验报告.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、附件八计算机科学与工程学院课程设计报告题目全称:图书借阅管理系统设计与开发题目难度等级: 4指导老师:职称:学生姓名:* 学号: * 班号: *计算机使用技 能(10分)课程设计报告 (30 分)计算机专业技能(60 分)加分项(不超 过5分)总分备注:如参加辩论,请辩论老师给出计算机专业技能(60分)的分数。请指导教 师给出除计算机专业技能(60分)以外的其他分数。如参加辩论,请辩论老师签字: 主要任务:设计并在DBMS上实现图书借阅数据库结构;设计并编码实现图书借阅管理软件。详细功能描述:图书管理模块:增删改查图书信息;借书管理模块:删改查借书记录;还书管理模块:增改查还书记录;预约管理模

2、块:增删改查图书预约记录。预期成果或目标:图书借阅管理软件和相关技术文档指导老师评语:指导教师签字:电子科技大学综合课程设计管理员信息:存放管理员信息。包括工号,姓名,性别,手机号码,身份证 号码,emailo管理员账号信息:工号,密码,密保问题,密保答案图3.1图书信息实体E-R图图3.2学生信息实体E.R图第三章数据库分析和设计图3.3学生账号实体E-R图图3.4预约实体E-R图电子科技大学综合课程设计图3.5借阅实体E-R图图3.6还书实体E-R图第三章数据库分析和设计图3.7管理员信息实体E-R图GAT/ Y 夕C/xw图3.9整体联系E-R图电子科技大学综合课程设计3.3数据库逻辑结

3、构设计一般逻辑模型设计关系模型的逻辑结构是一组关系模式的集合。将E-R图转换为关系模型就是 要将实体型、实体的属性和实体型之间的联系转换为关系模式。由ERD导出一般关系模型的四条原那么;一个1: 1联系可以转换为一个独立的关系模式,也可以与任意一端对应的 关系模式合并。如果软换为一个独立的关系模式,那么与该联系相连的各实体的码 以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。 如果与某一端实体对应的关系模式何明,那么需要在该关系模式的属性中加入另一 个关系模式的码和联系本身的属性。一个1: n联系可以转换为一个独立的关系模式,也可以与n端对应的关系 模式合并。如果转换为一

4、个独立的关系模式,那么与该联系相连的各实体的码以及 联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个m: n联系转换为一个关系模式。与该联系相连的各实体的码以及联系 本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一局部。3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元 联系项链呢的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码 组成关系的码或关系码的一局部。根据以上原那么将E-R图转换成的关系模式如下:书籍信息(编号,书名,作者,译者,出版社,库存,进货时间,分类)学生信息(堂号,姓名,班级编号,性别,出生日期,身份证号码,手机号

5、码)学生账号信息(堂号,密码,密保问题,密保答案,剩余可以借次数)学生预约(学号,书籍编号,预约时间,到期时间)学生借书(学号,书籍编号,借书时间,到期时间)学生还书(学号,书籍编号,还书时间)管理员信息(工号,名称,性别,手机号码,email,身份证号码)管理员账号信息(工51,密码,密保问题,密保答案)具体逻辑模型设计在SQL Server2017数据库中,首先创立MySystem数据库,然后根据数据库10第三章数据库分析和设计的逻辑结构分析创立的10张数据表。在前台访问数据库阶段设置了用户和密码, 用户为sa,密码为123456允许Null值 0口 口列名 g BnoBname Baut

6、hor Btranslator Bpublish BsortBintime Bstock Bacount表3图书信息表smallintvarchar(50) varchar(50) varchar(50) varchar(50) varchar(50) date smallint int允许Null值varchar(20) varchar(20) smallint nchar(1) date varchar(20) varchar(13)表3.2学生信息表列名* SnoSnamenoSsex Sbirthday Sid Sphone表3.3学生账号表电子科技大学综合课程设计列名g Sno8 b

7、no sorder soverdue列名g Sno8 bno sorder soverduevarchar(20) smallint date date允许Null值表3.4预约信息表列名允许Null值snovarchar(20)Spasswordvarchar(18)Squestionvarchar(50)0Sanswervarchar(20)S statssmallint表3.5借阅信息表列名8 Sno8 bno sborrow soverdue列名8 Sno8 bno sborrow soverduevarchar(20) smallint date date允许Null值表3.6还书信

8、息表列名g Snog bnoS returnvarchar(20) smallintdate允许Null值表3.7管理员信息表12第三章数据库分析和设计列名g anoAnameAsexAphone AidAemailvarchar(20)varchar(50) char varchar(13) varchar(20) varchar(50)允许Null值0列名8 ano apassword aquestion Aanswer列名 enocnameS no列名 g xnoxname enoyuanname表3.8管理员账号表varchar(20) varchar(18) varchar(50)

9、varchar(20)表3.9班级表varchar(50) varchar(50) smallint表3.10专业表varchar(10)varchar(50)varchar(50)varchar(50)允许Null值00允许Null值允许Null值电子科技大学综合课程设计第四章系统设计和功能实现4.1 数据库连接类的构建public class ContentSQL Connection conn;public ContentSQL() throws SQLException,ClassNotFoundExceptionClass.forName(nH);String url = njdbc

10、:sqlserver:/localhost:1433;DatabaseName=MySystemn;String username = Hsan;String password = 123456”;conn = DriverManager.getConnection(url,username,pass word);4.2 系统登入对于图书馆管理系统而言,不是所有的用户都是可以使用的,所有需要添 加一个登陆模块。通过该模块来对用户的合法性进行判断,只有合法的用户才能 进入到系统。public void sureLoadingO String s = JTyan.getText().toLower

11、Case();if (JTnum.getText().isEmpty()JOptionPane.showMessageDialog(null,n学号/工号不能为空);else if (JTpassword.getText().isEmpty()/ 密码为空JOptionPane.showMessageDialog(null, ”请填写密码”); else if (s.isEmptyO) JOptionPane.showMessageDialog(nuH,验证码不能为空); else if (s pareTo(Syan) != 0) / 验证码错误 JOptionPane.showMessage

12、Dialog(null,验证码错误); Syan = getYan(); else /登录String num = JTnum.getText();/获取当前的学号,用于传递到服务端String password 二 JTpassword.getText();/ 获取当前密码,用于验证 String Admit = (String) JTid.getSelectedItem();/ 获取当前组合框的值, try (Long.parseLong(num);Socket socket = new Socket(ip, 8181);/ 服务端端口为818114第四章系统设计和功能实现DataOutp

13、utStream toServer = new DataOutputStream(socket.getOutputStream();toServer. writelnt( 1);toServer.writeUTF(Admit);/ 传递组合框的值-身份toServer.writeUTF(num);/ 传递学号DatalnputStream from Server = newDataInputStream(socket.getInputStream();String fromPassword = fromServer.readUTF();/ 从服务端获取当前学号对应的密码if (fromPass

14、word.equals(nn) /用户不存在,换验证码图片JOptionPane.showMessageDialog(null, ”该用户不存在:来自一个帅哥的提醒”,JOptionPane.YES_NO_CANCEL_OPTION);Syan = getYan(); else if (password.equals(fromPassword) ok = true;else /密码错误,并且换验证码图片JOptionPane.showMessageDialog(null,密码错误”来自个帅哥的提醒,JOptionPane.YES_NO_CANCEL_OPTION);Syan = getYan(

15、);Q图书借还管理系统登录界面学号:201601聆证码:p65pP65P.确定图4.1系统登入界面目录摘要Ill第一章绪论11.1 研究工作的背景与意义11.2 课程设计主要内容1第二章图书馆管理系统分析22.1 需求分析22.2 功能分析2管理员业务流程图32.2.1 学生业务流程图42.3 系统开发环境4第三章数据库分析和设计53.1 数据库分析53.2 数据库概念设计5数据库逻辑结构设计103.2.1 一般逻辑模型设计10具体逻辑模型设计10第四章系统设计和功能实现 144.1 数据库连接类的构建144.2 系统登入144.3 学生界面16查询图书界面164.3.1 预约图书界面18查询

16、记录界面194.4 管理员界面21管理图书模块214.4.1 管理学生模块244.5 修改密码和密保界面27修改密码界面274.5.1 修改密保界面28第五章总结和展望30致谢31参考文献32电子科技大学综合课程设计4.3学生界面查询图书界面Q学生端- x书名用户u编号书名作者修者出版社类型库存操作1数据库原理胡旺nu I I电子工业.计算机6双击Bi的2c语言陈文宇nu I I电子科技计算机10双击Hi为3数据结构.戴波nu I I电子工业.计算机6双击88为4微积分高健nu I I高等教育.数学20双击8!的5白鹿原陈忠实nu I I人民文学文学1双击fli约6英语高级读说张山nu I I

17、外研社出版社英语12双击约7中国近代史胡远nu I I高等教育历史16双击8!约8艺术与生活李天nu I I艺术出版社艺术6双击HI约9体育与生活宋真nu I I人民出版社体育7双击约姓名:李克强学号:201601性别:男身份:学生剩余可借次数:9查询倏约J %约情况借书情区还书情况 查询方式:书名 按编号排序查询图4.2学生查询图书界面界面按编号查询,假设查询方式输入为空,那么点击查询的时候会出现所有的图书信 息,当查询方式有输入信息时,根据查询方式的类别支持模糊查询。编号排序JButton JBfind2 = new JButton(按编号排序查询);J B find2. setFont(

18、font2);JBfind2.setBounds(462, 10, 186, 28);JBfind2.setToolTipText( 支持模糊查询”);JBfind2.setContentAreaFilled(false);add(JBfind2);JBfind2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent argO) / TODO Auto-generated method stubtry (Socket socket = new Socket(Login.ip, 8181);D

19、ataOutputStream toServer = new DataOutputStream(socket .getOutputStreamO);16第四章系统设计和功能实现toServer.writeInt(5); 查询书籍toServer. writelnt( 1);toServer.writeUTF(comboBox.getSelectedItem().toString();toServer. writeUTF(JTfind.getText();ObjectlnputStream fromServer = new ObjectlnputStream(socket .getlnputSt

20、reamO);ArrayList list = (ArrayList) fromServer .readObject();int i = 0 J = 0;ob = new Objectlist.size() 8;if (list.size() != 0) for (book book : list) j = 0;obij+ = book.getNo();obij+= book.getName(); obij+= book.getAuthor(); obij+= book.getTranslator(); obij+ = book.getPublsh(); obij+ = book.getSor

21、t();obij+= book.getStock();。“用+= ”双击预约”; i+;table = new JTable(new MyTable(ob, ss);table.setFont(font);table.setRowHeight(28);table.addMouseListener( tableaction); else JOptionPane.showMessageDialog(null,未查询至ll结果”);ob = new Object00;table = new JTable(new MyTable(ob, ss);table.setFont(font);电子科技大学综合

22、课程设计432预约图书界面图4.3学生预约图书界面当设置的监听器监听到鼠标双击时,那么跳出预约界面,点击确认预约,那么一 条预约记录写入后台数据库。JButton JBsure = new JButton(确定预约)JBsure.setFont(new Font(“楷体,Font.BOLD, 20);JBsure.setBounds(318, 340, 150, 37);contentPane.add(JBsure);JBsure.setContentAreaFilled(false);frame.getRootPane().setDefaultButton(JBsure);JBsure.ad

23、dActionListener(new ActionListener() public void actionPerformed(ActionEvent argO) int isYES = JOptionPane.showConfirmDialog(null,确定预约?”确定预约? JOptionPane.YES_NO_OPTION);18第四章系统设计和功能实现433查询记录界面图I学生端用户u姓名:李克强字号:201601性别:男身份:学生剩余可借次数:9妾询偿冢馍约情况I得书情况还再情况;刷新/查询编号书名作者译者出版社类型预约时间到期时间1数据库原理胡盯nu 1 1电子工业出版社计算机

24、2016-04-062016-04-07图4.4学生预约记录界面H学生端- x用户u姓名:李克强学号:201601性别:男身份:学生剩余可借次数:9妾询偿务一偿约情况 借H情应还书情况 刷新/查询编号书名作者译者出版社类型借书时间应还时间1数据庠原理胡旺nu 1 1电子工业出版社计舁机2018-04-302018-05-30图4.5学生借阅记录界面电子科技大学综合课程设计图4.6学生还书记录界面点击刷新按钮,从数据库预约信息表匹配学号调出所有预约信息,呈现在界 面中。public void HandleOrder() Socket socket = new Socket(Login.ip, 8

25、181);DataOutputStream toServer = newDataOutputStream(socket.getOutputStream();toServer.writelnt(6);/ 预约toServer. writelnt(2);toServer. writeUTF(Login.JTnum.getText();ObjectlnputStream fromServerOb = newObjectInputStream(socket.getInputStream();Array Li s t list =(ArrayList) fromServerOb.readObject()

26、;ob = new Objectlist.size()8;int i = 0, j = 0;if (list.size() != 0) for (book book : list) if。7)j = 0;obij+= book.getNo();obij+ = book.getName();obij+ = book.get Author();obij+= book.getTranslator();obij+ = book.getPublsh();20第四章系统设计和功能实现obij+ = book.getSort();obij+ = book.getTime();obij+= book.getO

27、rderTime();i+;table = new JTable(new MyTable(ob, s);table.setFont(font);table.setRowHeight(28); else JOptionPane.showMessageDialog(nuH,没有预约书籍);ob = new Object09;table = new JTable(new MyTable(ob, s);table.setRowHeight(28);)由于篇幅有限,只举了查询预约记录的关键代码。4.4管理员界面管理图书模块性别男查询方式:编号库存添加书籍进货时间1998-09-082008-01-082

28、018-02-082012-04-012006-05-012013-07-072003-05-062008-05-082018-05-30操作双击修改 费修不 双击修改 双击修改 双击修改 双击修改 双击修改 双击修改 双击修改图4.7管理员删除和修改图书界面查询书籍界面和学生端原理相同,当监听器监听到双击鼠标时,那么跳出修改 和删除界面,点击相应按钮,通过使用sql语句写入数据库。/按编号查找JButton JBfindNo 二 new JButton(按编号排序查询”);电子科技大学综合课程设计JBfindNo.setBounds(445, 116, 185,38); JBfindNo.s

29、etContentAreaFilled(false);JBfindNo.setFont(font);contentPane.add(JBfindNo);frame.getRootPane().setDefaultButton(JBfindNo);JBfindNo.addActionListener(new ActionListener() public void actionPerformed(ActionEvent argO) / TODO Auto-generated method stub try (Socket socket = new Socket(Login.ip, 8181);D

30、ataOutputStream toServer = new DataOutputStream(socket.getOutputStream();toServer.writelnt(5);/ 方式5toServer.writelnt( 1);/ 子方式2toServer. writeUTF(comboBox.getSelectedItem().toString();toServer. writeUTF(JTfind.getText();ObjectlnputStream fromServer = new ObjectInputStream(socket.getInputStream();Arr

31、ayList list = (ArrayList) fromServer.readObject();/监听表格class TableAction implements MouseListener public void mouseClicked(MouseEvent e) int Mousercount = e.getClickCount();if (Mousercount = 2) int r 二 table.getSelectedRow();String BookNum = table.getValueAt(r, 0).toString();String BookName = table.

32、getValueAt(r, l).toString();String BookAuthor = table.getValueAt(r, 2).toString();String BookTranslator;if (null = obr3) BookTranslator = elseBookTranslator = table.getValueAt(r, 3).toString();String BookSort = table.getValueAt(r, 5).toString();String BookPublish = table.getValueAt(r, 4).toString();

33、String Time = table.getValueAt(r, 7).toString();Point p = frame.getLocation();String S stock = table. get Vai ue A t(r, 6).toString();int x = (int) p.getX();int y = (int) p.getYQ;ChangBooklnformation bookinformation = new ChangBookInformation(BookNum, BookName, BookAuthor, BookTranslator, BookSort,

34、BookPublish, Sstock, Time, 1);bookinformation.show(x + 120, y + 50);22第四章系统设计和功能实现确定图4.8管理员增加图书界面点击增加图书,跳出图4.8的界面,在每个框内输入信息,点击确定时判定合 法后将信息写入数据库,点击刷新后,查询书籍界面出现新增的图书。/添加书籍else if (2 = ok) /编号JLabel JLno = new JLabel(编号)JLno.setHorizontalAlignment(SwingConstants.RIGHT);JLno.setFont(font);JLno.setBounds

35、(47, 26, 101, 30);contentPane. add( JLno);JTBno = new JTextField(Sno);JTBno.setFont(font);JTBno.setBounds( 158, 26, 307, 30);contentPane.add(JTBno);JButton JBsure = new JButton(确定”);JBsure.setFont(new Font。楷体: Font.BOLD, 18);JBsure.setContentAreaFilled(false);JBsure.setBounds(200, 400, 136, 29);cont

36、entPane.add(JB sure);电子科技大学综合课程设计frame.getRootPane().setDefaultButton(JBsure);JBsure.addActionListener(new ActionListener() public void actionPerfbrmed(ActionEvent argO) 管理学生模块H管理学生界面管理学生界面学号姓名201602周伤病201604扶摇201602周德嘉201603王博文201601李克强杳询方式:|学生学号Y处理预约姓名:班级:周德嘉六班学号:性别:计算机科学与技术院:计算机 :201602操作双击管理预约双击

37、管理换约双击管理便约双击管理侯约双击管理便约书籍号:书名:白鹿原作者:陈忠实到期时间:2018年6删除该记录确认修改图4.9管理预约记录界面点击处理预约,出现所有预约记录,双击管理预约出现图4.9界面,根据需求 可进行删除和修改操作。JButton JBapp 二 new JButton(处理预约)JBapp.setContentAreaFilled(false);JBapp.setFont(font);JBapp.setBounds(20, 44, 170, 33);contentPane.add(JBapp);JBapp.setToolTipTextC默认按到期时间排序)JBapp.add

38、ActionListener(new ActionListener() public void actionPerformed(ActionEvent argO) / TODO Auto-generated method stubtry (Socket socket = new Socket(Login.ip, 8181);DataOutputStream toServer = new DataOutputStream(socket.getOutputStream();toServer.writeInt(l 1);/ 方式 1124第四章系统设计和功能实现toServer.writelnt(

39、1);/ 子方式 1toServer.writeUTF(comboBox.getSelectedItem().toString();/ 传 递查找的方式toServer.writeUTF(JTfind.getText();/ 传递keyObjectlnputStream fromServer 二 newObjectInputStream(socket.getInputStream();ArrayList list = (ArrayList) fromServer.readObject();EH管理学生界面学号姓名编号201601李克会1数据J201602周德叁2c语言201604扶摇8艺术杳闻

40、方式:学生学号卜:一又理预石查看借书情况目管理学生界面姓名:李克强学号班级:六班性别系:计异机科学与技术院:计算机- X201601男 :书籍号:1书名:数据库原理 胡旺借书时间:|2018卜|年|6 日月应还时间:2018-05-30删除该记录确认修改图4.10管理借阅记录界面点击查看借书情况,出现所有借阅记录,双击查看出现图4.10界面,根据需 求可进行删除和修改操作。/查看借书情况JButton JBborrow = new JButton(查看借书情况); JBborrow.setContentAreaFilled(false);JB borrow. setFont(font);JBb

41、orrow.setBounds(216, 45, 170, 33);contentPane.add(JBborrow);JBborro w. setToolTipText(默认按借书时间排序)JBborrow.addActionListener(new ActionListener() public void actionPerformed(ActionEvent argO) / TODO Auto-generated method stub try (计算机信息处理系统的引进已彻底改变了许多系统的经营管理模式。图书管 理系统是学校管理机制中的重要组成局部,通过对图书管理系统的运行管理机制 进

42、行调查研究,开发了此系统。系统是采用Java做前台,通过JDBC驱动和数据库 进行连接,后台数据库那么采用的是SQLServer。本次开发完成了课程设计的全部要 求,实现了系统的两个端口,分别是管理员端与学生用户端。系统管理员可以用 该系统进行书籍的增加,查看、删除书籍的信息,以及书籍信息的修改,对预约、 借阅、归还书籍记录进行系统的管理。学生用户也可以通过管理员借书还书,查 看自己的预约、借阅,归还记录,并且可以预约书籍,管理员可以查看到所有的 信息,学生用户只能看到自己的信息不能看到其他同学的信息。论文将全面介绍 所设计的图书管理系统的系统功能和业务流程,并对系统进行详细的数据分析和 设计

43、,最终完成系统开发。关键词:图书馆管理系统,SQLServer, Java ,学生端,管理员端电子科技大学综合课程设计Socket socket = new Socket(Login.ip, 8181);DataOutputStream toServer = new DataOutputStream(socket.getOutputStream();toServer. writelnt( 11);toServer.writelnt(2);/ 子方式2toServer. writeUTF(comboBox.getSelectedItem().toString();toServer. writeUTF(JTfind.getText();ObjectlnputStream fromServerOb = new ObjectInputStream(socket.getInputStream();ArrayList list = (ArrayList) fromServer

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁