当前位置:文档之家› 图书管理系统模板(附代码)

图书管理系统模板(附代码)

课程设计报告 图书管理系统的 设计与实现系 名:电子通信与软件工程系 专 业:计算机科学与技术指导教师:二○一三 年 十二 月装订线 中山大学南方学院目录第1章可行性分析 (1)1.1经济可行性 (1)1.2技术可行性 (1)第2章需求分析 (2)2.1 图书管理系统开发的目的 (2)2.2 图书管理系统开发的背景 (2)2.3 图书管理系统开发任务概述 (2)2.4 系统(或用户)的特点 (2)2.5 假定和约束 (3)2.6 软件功能说明 (3)2.7 对功能的一般性规定 (5)2.8 运行环境规定 (6)2.9支撑软件 (6)2.10 接口 (6)第3章总体设计 (7)3.1系统设计 (7)3.2结构设计 (11)3.2.1模块描述 (11)3.2.2系统角色设计 (13)3.3接口设计 (14)3.3.1用户界面设计规则 (14)3.3.2内部接口设计 (14)3.3.3外部接口设计 (14)3.3.4出错处理设计 (14)3.3.5系统维护设计 (14)第4章详细设计 (15)4.1 数据库设计 (15)4.1.1数据库概念结构设计 (15)4.1.2数据库逻辑结构设计 (15)4.2.1程序界面 (15)4.3 服务器模块 (19)4.3.1程序界面 (19)4.3.2功能说明 (19)4.4改进计划 (19)4.5支持软件 (20)4.6使用说明 (20)4.7出错和恢复 (20)4.8版权说明 (22)4.8.1开发团队 (22)4.8.2版权信息 (22)4.8.3版权信息 (22)第5章编码与测试 (23)5.1 编码阶段 (23)5.1.1 连接数据库代码 (23)5.1.2 登录代码 (23)5.1.3 注册代码 (25)5.1.4 违规处理代码 (26)5.2 软件测试报告 (26)5.2.1 引言 (26)5.2.2 测试步骤 (26)5.2.3 测试结果 (27)参考文献 (28)开发心得体会 (29)第1章可行性分析1.1经济可行性自21世纪开始,随着信息技术的飞速发展,越来越多的信息进入人们的生活,普通的人工技术记录已经难以满足人们的正常需求,这便出现了计算机记录管理信息。

我们所做的图书馆管理系统,只需一个管理者便可以操作大量的数据信息,省下大量的人力物力。

相比之下经济可行性很好。

技术可行性目前,我们绝大多数的图书馆都已经普及了图书管理系统。

由此证明,技术上是十分可行的。

1.2 法律可行性目前,在国内外是允许的,并没有触碰法律。

知识产权受法律保护。

第2章需求分析2.1图书馆管理系统开发的目的图书馆提供的物质资源越来越丰富,如何高效准确地对馆藏资料进行整理、借还、盘点成为困扰图书馆管理人员的问题。

2.2图书馆管理系统开发的背景图书管理系统可以降低了管理人员的劳动强度、大幅提高了图书盘点及错架图书整理效率、使错架图书的查找变得更为快捷便利、安全门摆放距离更加宽阔,使读者进出更加自如,有效简化了读者借还书手续,提高了图书借阅率,避免了读者与管理人员之间发生不必要争执,融洽了读者与管理人员之间的关系开发软件系统的名称:图书馆管理系统软件开发者:麦泽明刘志锋廖坤城面向对象(用户):中山大学南方学院全体师生及外来参观人员2.3图书馆管理系统开发任务概述软件开发的意图:使中山大学南方学院的全体师生方便借阅、归还图书。

管理人员方便管理。

应用目标:中山大学南方学院的全体师生及外来参观人员;作用范围:中山大学南方学院校内。

2.4 系统(或用户)的特点1,界面更加简约。

2,功能更加全面。

图2-1 层次方框图2.5 假定和约束目标在17周内完成,经费尚无2.6 软件功能说明图2-2 系统实体-联系图图2-3 系统的状态图2.7 对功能的一般性规定本处仅列出对开发产品的所有功能(或一部分)的共同要求,如要求界面格式统一,统一的错误声音提示,要求有在线帮助等。

1 精度的要求:账号、密码信息输入一定要正确才能登陆。

2 灵活性:当输入发生某些变化时,该系统对这些变化的适应能力。

3输入输出要求:输入账号,密码一定要正确④故障处理要求:软件卡死不会影响数据库信息。

2.8 运行环境规定该软件所需要的硬件设备要求:1,CPU Inter Pentium 1.600MHz 以上2,内存1024MB以上3,磁盘空间20GB以上2.9支撑软件数据库管理系统软件:SQL Myeclipse运行平台:Windows XP win7软件开发语言:JAVA、SQL语言2.10 接口外部接口1。

用户接口:采用窗口化,菜单式进行设计,在操作时响应热键。

2。

硬件接口:扫描仪器等内部接口通过面向对象语言设计类、第3章总体设计3.1系统设计顶层数据流图:第0层图:第1层图:登录子系统管理子系统:查询子系统:第二层图:(1)入库管理:(2)处理学生借书:(3)处理学生还书:(4)处理学生信息查询:(5)处理注销信息查询:(6)处理图书信息查询:图3-1软件结构图3.2结构设计3.2.1总体模块模块1:主界面模块2:登陆系统模块3:查询系统模块8:数据备份3.2.3系统角色设计1.系统管理员图3-3系统管理员用例图2.操作用户图 3-3用户用例图3.3接口设计3.3.1用户界面设计规则符合用户需求的、美观大方的用户界面。

3.3.2内部接口设计由于SQL Server 数据库的独特性,其数据库内部不需要特别设计接口,各模块根据文档内部控制域值提取其所需的数据。

3.3.3外部接口设计与硬件之间的接口:无与软件之间的接口:数据库接口,资源库接口 3.3.4出错处理设计出错处理:在错误发生时,给出出错的原因。

3.3.5系统维护设计采用模块化的设计,方便维护。

第4章详细设计4.1 数据库设计4.1.1数据库概念结构设计图1-3系统E-R图4.1.2数据库逻辑结构设计(1)书签表数据项:收藏ID、图书ID、图书名称、索书号(2)图书表数据项:id、图书id、图书书名、图书作者、图书馆isbn码、图书页码、图书价格、图书出版日期、图书出版社、图书分类、图书索书号(3)图书类别表数据项:图书分类号、图书分类名4.2 客户端模块4.2.1程序界面系统主界面菜单预览图书查询图书删除预览图书4.3 服务器模块4.3.1程序界面4.3.2功能说明主界面提供访问者操作:1查询图书2借阅图书3归还图书4修改个人信息4.4改进计划当前版本由于时间关系未作程序界面上的修饰,存在的界面不美观,上手难,不具亲和力等问题,这对于一款用于商业软件来说是一个非常严重的问题。

幸好,目前当前版本是为了向大家演示本程序功能,对界面方面的要求也就相对较低。

在后续版本中,会采用多窗口轮换显示,降低操作的复杂性 ;每个窗口,底层采用图画,在其上层添加透明的命令控件,来达到程序控制的目的。

后续版本中也将采用类似的方式以增强美观性。

4.5支持软件服务器Windows2000或Windows 2000 Advanced server ,Microsoft. SQL Server.客户端Windows XP ,IE 6.04.6使用说明1.安装、配置服务器端软件(1)在服务器上安装好 Windows2003后,配置 TCP/IP协议中 IP为192.168.0.1,工作组为 WORKGROUP,计算机名为 Server,设置打印机与文件共享。

(2)安装图书管理系统,将图书管理系统快捷方式加入启动项。

(3)安装 SQL Server 2005,将用户名、密码设为: 123、456。

导入位于数据库备份文件。

使用图书管理系统添加一条信息以供测试。

(4)安装、配置 Windowsxp,安装客户机应用软件,安装、调试网络共享,(5)全面测试2.安装客户机应用软件同样安装好系统后,配置TCP/IP协议中IP为192.168.0.2~192.168.0.255,设置工作组为 WORKGROUP,计算机名为房间号。

安装图书管理系统客户端,将图书管理系统快捷方式加入启动项。

3.安装调试运行服务器端图书管理系统,运行客户机端图书管理系统看是否能正常运行,检查设置以及网络共享是否良好。

4.7出错和恢复一般情况下,如遇客户端出错,重启客户机即可,不影响服务器及其它客户机的工作。

如遇服务器出错,重启电脑,如不能解决,重装服务器端程序即可,如遇其它网络问题需自行解决。

如遇数据库出现问题,将数据库备份文件重新导入,注意,数据库需经常备份。

4.8版权说明4.8.1开发团队第19小组:麦泽明、刘志锋、廖坤城、张俊城、郑志远4.8.2版权信息版权所有 . 第19小组保留所有权力。

图书管理系统由麦泽明、刘志锋、廖坤城、张俊城、郑志远共同开发 ,全部核心技术归属第19小组。

4.8.3免责条约由于该程序是免费加以许可的 ,因而也就无法保证该程序符合可用性准则。

任何情况下 ,程序的质量风险和性能风险完全由您承担。

第5章编码与测试5.1 编码阶段5.1.1 连接数据库代码try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");}try{String url = "jdbc:mysql://localhost:3306/book";Connectioncon=DriverManager.getConnection(url,"root","root");Statement sql;5.1.2 登录代码import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class Login extends JFrame implements ActionListener{ Container cp=null;JFrame f=null;JButton j1,j2;JTextField name;JPasswordField pwd;JLabel jlable1,jlable2;JPanel jp;Login(){jp=new JPanel();f=new JFrame();jp.setLayout(new GridLayout(3,2));addComponents();this.setLayout(new BorderLayout(50,50));this.add(BorderLayout.NORTH,new JLabel(""));this.add(BorderLayout.SOUTH,new JLabel(""));this.add(BorderLayout.EAST,new JLabel(""));this.add(BorderLayout.WEST,new JLabel(""));this.add(jp);this.setTitle("用户登录界面");this.setSize(350,220);this.setVisible(true);}void addComponents(){JLabel jlbu=new JLabel();jlbu.setText("用户名");name=new JTextField();JLabel jlbp=new JLabel();jlbp.setText("密码");pwd=new JPasswordField();//pwd.setEchoChar("*");j1=new JButton("登录");j2=new JButton("取消");j1.addActionListener(this);j2.addActionListener(this);jp.add(jlbu);jp.add(name);jp.add(jlbp);jp.add(pwd);jp.add(j1);jp.add(j2);f.add(jp);}public void confirm(){try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException e){System.out.println("加载驱动程序失败!");}try{String url = "jdbc:mysql://localhost:3306/book";Connectioncon=DriverManager.getConnection(url,"root","root");Statement sql=con.createStatement();String uname=name.getText().trim();String Mima=pwd.getText().trim();String queryMima="select * from user whereuser_name='"+uname+"' and password='"+Mima+"'";ResultSet rs=sql.executeQuery(queryMima);if(rs.next()){new Book(uname);f.hide();con.close();}else{JOptionPane.showMessageDialog(null,"该用户不存在","提示!", JOptionPane.YES_NO_OPTION);}name.setText("");pwd.setText("");}catch(SQLException g){System.out.println(g.getErrorCode());System.out.println(g.getMessage()); }}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("登录")){confirm();}else if(cmd.equals("取消")){f.dispose();}}public static void main(String []arg){Login a=new Login();}}5.1.3 注册代码jbt1.addActionListener(this);//注册监听器jbt2.addActionListener(this);public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("确定")){f.hide();}if(cmd.equals("返回"))f.hide();}5.1.4 违规处理代码try{String url = "jdbc:mysql://localhost:3306/book";Connectioncon=DriverManager.getConnection(url,"root","root");Statement sql;String ql=(String)(ar[index][1]);String s="delete * from book where book_no ='"+ql +"'"; sql=con.createStatement();int del=sql.executeUpdate(s);if(del==1){JOptionPane.showMessageDialog(null,"删除成功!","信息", JOptionPane.YES_NO_OPTION);}con.close();f.repaint();}catch(SQLException g){System.out.println(g.getErrorCode());System.out.println(g.getMessage());}5.2 软件测试报告5.2.1 引言5.2.2 测试步骤1打开****系统并选择测试类型及其他参数2 设置URL3浏览器设置4 开始测试5.2.3 测试结果1 测试结果概况2 测试结果视图参考文献[1] 张海藩.软件工程导论.计算机应用技术,2018开发心得体会姓名麦泽明:我认为,这门课实在获益良多,并且有一些心得体会:相信团队合作才可能把项目做好。

相关主题