数据库原理及应用 课程设计报告--图书管理系统.docx
据库原理及应用课程设计报告题目:图书管理系统专业班级:计算机科学与技术班目录一、需求分析3二、系统运行环境3三、功能需求描述3四、模块结构图4五、数据库设计45.1数据库分析45.2数据库概念设计45.3数据库逻辑结构设计55. 4数据库字典6六、程序模块设计66. 2界面设计106.3程序运行11七、模块的实现12八、总结22一、需求分析(1)能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除;(2)能够实现对读者档案的查询和编辑管理;(3)能够进行罚款功能;(4)能够进行借阅历史的查询功能;二、系统运行环境操作系统为WindoWS8、W为dows7或windowsXP使用的集成开发工具ECliPSe数据库采用SQLSerVer2008项目运行环境为JDK8o三、功能需求描述资料维护:为了存放图书、读者档案的全部数据,本系统将每一本图书和每位读者的信息进行管理。系统维护包括对各种表记录的修改、删除、添加等操作。系统查询:可以按图书编号、借阅证编号等相关信息进行查询系统管理:进行员工管理、数据备份和数据恢复。报表统计:包括统计图书信息、读者信息、借阅信息和罚款信息等。其它操作:包括修改密码、添加用户、页面设置等四、模块结构图图1.1系统业务逻辑关系五、数据库设计5.2数据库概念设计2.1局部E-R图图书信息管理系统主要分为以下几个局部E-R图:n5. 3数据库逻辑结构设计图书信息(图书编号,书名,作者姓名,出版社,出版日期,在库数,所在书库)借阅者(姓名,堂号,班级,院系)销书清单(图书编号,管理者编号,图书名称,销书日期,销书数量)借阅(学号,图书编号,借出日期,到期日期,拖欠日期,罚款数目)管理(管理员编号,学号,图书编号)5.4数据字典序号字段名数据类型约束备注1ISBNvarchar(13)主键嘛甘2booknamevarchar(40)非空图书名字3writervarchar(21)非空储4translatorvarchar(30)非空译者5publishervarchar(50)非空出版社6datasmalldatetime非空出版日期7priceSmalldatetime非空价格8Idint主键q=9typeNamevarchar(20)非空图书类别10daysint无可借天数11fkfloat无罚款12bookISBNvarchar(13)无图书编号13bkrrowDatedatetime非空借阅时间14backDatedatetime非空归还时间15namevarchar(12)非空姓名16sexvarchar(2)非空性别17ageint非空年龄18identityCardvarchar(30)非空身份证号19workdatedatetime非空办证时间20telvarchar(50)非空电话号码21passwordvarchar(10)非空密码22adminbit非空系统管理员23datedatetime非空办借书证时间24numberint非空押金25operatorvarchar(6)非空证件26zkfloat非空每天借阅金额27maxNumint非空最大借阅书籍量28zjint非空证件29zyvarchar(50)非空职业30bztimedatetime非空读者办理时间6. 2界面设计:登入界面设计管理员界面设计6.3程序运行:登入界面管理界面图书信息添加界面图书婚号图书胡昭书名林作者J2345789则限1235789出版日明铁饿死的鱼缺该死的鱼5:Sa:8;98578675465.1655656.huu.别:科算机类四书J*计算机IVHP什K也大庄书r佞以吒的鱼.快漱耐鱼计H机类图书,中双死的金忤浪犯的邑_下画嘤图书测试计苴麻图书国函潦,32S3232.100cocoooo.出版商卜Q出版社出版社出版日期gP07-12"2¾2I<7-12-23瓯112&2C<O7-12-282QC8-01-02GO6-O1-O3图书信息修改界面医书馆苣理案境®荃3S段德护一 :新书订购哲理I施带阅管理冬系统继护神f漏号借书日期 应迁日期读锄号国B书信能理淡者爆号读者姓名JfBJS唧喇书册价格:与前时泡:借出当篇用书2016-06-24 06 27 5«司十何有记案书福编号:书18例:图书借阅管理界面七、模块的实现7.1数据库连接部分packagecom.tony;importjava.awt.BorderLayout;importjava.awt.Dimension;/importjava.awt.Dialog.ModalExcIusionType;importjava.awt.event.ComponentAdapter;importjava.awt.event.ComponentEvent;.URL;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JInternalFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JToolBar;importjavax.swing.UIManager;importjavax.swing.WindowConstants;importjavax.swing,border.BevelBorder;importcom.tony,iframe.BookLoginIFrame;importcom.tony.util.CreatecdIcon;*主窗体*/publicclassLibraryextendsJFrameprivatestaticfinalJDesktopPaneDESKTOP_PANE=newJDesktopPane();publicstaticvoidmain(Stringargs)try(UIManager.SetLookAndFeel(UIManager,getSystemLookAndFeelClassName();newBookLoginIFrame();登录窗口catch(Exceptionex)ex.PrintStackTrace();publicstaticvoidaddIFame(JInternalFrameiframe)/添加子窗体的方法DESKTOP_PANE.add(iframe);)publicLibrary()super();SetDefaultcioseOperation(WindowConstants.EXIT_ON_CLOSE);/SetModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);SetLocationByPlatfonn(true);setSize(800,600);SetTitIe("图书馆管理系统”);JMenuBarmenuBar=CreateMenu();/调用创建菜单栏的方法SetJMenuBar(menuBar);JToolBartoolBar=CreateToolBar();/调用创建工具栏的方法getContentPane().add(toolBar,BorderLayout.NORTH);finalJLabellabel=newJLabel();label.SetBounds(O,O,O,O);label,setIcon(null);/窗体背景DESKTOP_PANE.addComponentListener(newComponentAdapter()publicvoidComponentResized(finalComponentEvente)Dimensionsize=e.getComponent().getSize();label.setSize(e.getComponent().getSize();label.setTextCr<html><imgwidth=*+size,width+height=*+size,height+"src,*+this.getClass().getResource(*backlmg.jpg")+*>><html>*););DESKTOP_PANE.add(label,newIntegerdnteger.MIN_VALUE);getContentPane().add(DESKTOP_PANE);* 创建工具栏* returnJToolBar* /privateJToolBarCreateToolBar()/创建工具栏的方法JToolBartoolBar=newJToolBar();toolBar.SetFloatable(false);toolBar.SetBorder(newBevelBorder(BevelBorder.RAISED);JButtonbookAddButton=newJButton(MenuActions.BOOK_ADD);/ImageiconiCon=CreatecdIcon.add(*bookAdd.bmp");创建图标方法ImageIconicon=newImageicon(Library,class.getResource("bookAddtbjpg");添加菜单栏图标bookAddButton.seticon(icon);bookAddButton.SetHideActionText(true);/bookAddButton.SetToolTipText(*fjdkjfk*);图片上提示字toolBar.add(bookAddButton);/toolBar.add(MenuActions.BOOK_MODIFY);在工具栏中添加图书修改与删除图标JButtonbookModiAndDelButton=newJButton(MenuActions.BOOK.MODIFY);Imageiconbookmodiicon=CreatecdIcon.add(*bookModiAndDeltb.jpg*);创建图标方法bookModiAndDelButton.seticon(bookmodiicon);bookModiAndDelButton.SetHideActionText(true);toolBar.add(bookModiAndDelButton);JButtonbookTypeAddButton=newJButton(MenuActions.BOOKTYPE_ADD);ImageiconbookTYpeAddicon=CreatecdIcon.addCbookTypeAddtb.jpg");创建图标方法bookTypeAddButton.seticon(bookTypeAddicon);bookTypeAddButton.SetHideActionText(true);toolBar.add(bookTypeAddButton);JButtonbookBorrowButton=newJButton(MenuActions.BORROW);ImageiconbookBorrowicon=CreatecdIcon.add(*bookBorrowtb.jpg*);创建图标方法bookBorrowButton.setIcon(bookBorrowicon);bookBorrowButton.SetHideActionText(true);toolBar.add(bookBorrowButton);JButtonbookOrderButton=newJButton(MenuActions.NEWBOOK_ORDER);ImageiconbookOrdericon=CreatecdIcon.add(*bookOrdertb.jpg");/创建图标方法bookOrderButton.seticon(bookOrdericon);bookOrderButton.SetHideActionText(true);toolBar.add(bookOrderButton);JButtonbookCheckButton=newJButton(MenuActions.NEWBOOK_CHECK_ACCEPT);ImageiconbookCheckicon=CreatecdIcon.add(*newbookChecktb.jpg*);创建图标方法bookCheckButton.setIcon(bookCheckicon);bookCheckButton.SetHideActionText(true);toolBar.add(bookCheckButton);JButtonreaderAddButton=newJButton(MenuActions.READER_ADD);ImageiconFeaderAddicon=CreatecdIcon.add(*readerAddtb.jpg*);/创建图标方法TeaderAddButton.seticonCreaderAddicon);TeaderAddButton.SetHideActionText(true);toolBar.add(readerAddButton);JButtonreaderModiAndDelButton=newJButton(MenuActions.READER_MODIFY);ImageiconTeaderModiAndDelicon=CreatecdIcon.add(*readerModiAndDeltb.jpg");/仓U建图标方法TeaderModiAndDelButton.seticon(TeaderModiAndDelicon);TeaderModiAndDelButton.SetHideActionText(true);toolBar.add(readerModiAndDelButton);JButtonExitButton=newJButton(MenuActions.EXIT);ImageiconExiticon=CreatecdIcon.add(*exittb.jpg*);创建图标方ExitButton.setlcon(Exiticon);ExitButton.SetHideActionText(true);toolBar.add(ExitButton);returntoolBar;)*创建菜单栏*/privateJMenuBarCreateMenu()/创建菜单栏的方法JMenuBarmenuBar=newJMenuBar();JMenubookOrderMenu=newJMenu();/初始化新书订购管理菜单bookOrderMenu.seticon(CreatecdIcon.add(*xsdgcd.jpg")bookOrderMenu.add(MenuActions.NEWBOOK_ORDER);bookOrderMenu.add(MenuActions.NEWBOOK_CHECK_ACCEPT);JMenubaseMenu=newJMenuO;/初始化基础数据维护菜单baseMenu,seticon(CreatecdIcon.addCjcsjcd.jpg");(JMenuTeaderManagerMItem=newJMem(“读者信息管理”);TeaderManagerMItem.add(MenuActions.READER_ADD);TeaderManagerMItem.add(MenuActions.READER_MODIFY);JMenubookTYpeManageMItem=newJMern("图书类别管理”);bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD);bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY);JMenumenu=newJMemI("图书信息管理”);menu,add(MenuActions.B00K_ADD)menu.add(MenuActions.B00K_M0DIFY);baseMenu,add(FeaderManagerMItem);baseMenu,add(bookTypeManageMItem);baseMenu,add(menu);baseMenu.addSeparator();baseMenu,add(MenuActions.EXIT)JMenuborrowManageMenu=newJMenu();/借阅管理borrofanageMenu.seticon(CreatecdIcon.addCjyglcd.jpg*);borro(anageMenu.add(MenuActions.BORROW);/借阅borro(anageMenu.add(MenuActions.GIVE_BACK);/归还borro(anageMenu.add(MenuActions.BOOK_SEARCH);/搜索JMenuSysManageMenu=newJMenu();/系统维护SysManageMenu.seticon(CreatecdIcon.add(*jcwhcd.jpg*);JMenuUserManageMItem=newJMenU("用户管理");/用户管理UserManageMItem.add(MenuActions.USER_ADD);UserManageMItem.add(MenuActions.USER_MODIFY);SysManageMenu.add(MenuActions.MODIFY_PASSWORD);SysManageMenu.add(UserManageMItem);menuBar.add(baseMenu);/添加基础数据维护菜单到菜单栏menuBar.add(bookOrderMenu);/添加新书订购管理菜单到菜单栏menuBar.add(borrowManageMenu);/添加借阅管理菜单到菜单栏menuBar.add(SysManageMenu);/添加系统维护菜单到菜单栏returnmenuBar;八、总结经过这次的学习。了解了关于数据库程序设计,学习了JDBC的连接方法,更加深入的学习了SQLServer的使用,通过对Eclipse中WindowsBUiIder插件的学习和使用,方便快捷的进行可视化界面开发,大大提高了系统开发的效率。参考文献1罗超理,李万红.管理信息系统原理与应用M.清华大学出版社,20022艾德才,计算机信息管理基础M.中国水利水电出版社,20013 JeffRobin.ManagementofInformationSyStenIM.机械工业出版社,20024 TimFLee.ImplementMISM.北京出版社,2001