图书管理系统模板附代码.docx

上传人:b****6 文档编号:4038280 上传时间:2022-11-27 格式:DOCX 页数:29 大小:712.53KB
下载 相关 举报
图书管理系统模板附代码.docx_第1页
第1页 / 共29页
图书管理系统模板附代码.docx_第2页
第2页 / 共29页
图书管理系统模板附代码.docx_第3页
第3页 / 共29页
图书管理系统模板附代码.docx_第4页
第4页 / 共29页
图书管理系统模板附代码.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

图书管理系统模板附代码.docx

《图书管理系统模板附代码.docx》由会员分享,可在线阅读,更多相关《图书管理系统模板附代码.docx(29页珍藏版)》请在冰豆网上搜索。

图书管理系统模板附代码.docx

图书管理系统模板附代码

 

中山大学南方学院

课程设计报告

图书管理系统的

设计与实现

系名:

电子通信与软件工程系

专业:

计算机科学与技术

学号

姓名

任务

112011095

项目经理数据库设计程序员

112011086

需求分析PPT

112011074

界面设计总体设计

112011151

可行性分析、测试

112011163

详细设计、测试

指导教师:

二○一三年十二月

第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,CPUInterPentium1.600MHz以上

2,内存1024MB以上

3,磁盘空间20GB以上

 

2.9支撑软件

 

数据库管理系统软件:

SQLMyeclipse

运行平台:

WindowsXPwin7

软件开发语言:

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:

主界面

名称

主界面

标识

Book

子系统名称

系统

名称

接 口

说 明

输入

访问者、管理员

输出

系统数据

功 能

说 明

运行环

境说明

SQLServer2005,WindowsXP

调用关

系说明

调用模块

被调用模块

模块2:

登陆系统

名称

登陆系统

标识

Login

子系统名称

登陆子系统

系统

名称

接 口

说 明

输入

访问者

输出

系统数据

功 能

说 明

登陆系统进行操作

运行环

境说明

SQLServer2005,WindowsXP

调用关

系说明

调用模块

登陆模块

被调用模块

 

模块3:

查询系统

名称

查询系统

标识

QueryBook

子系统名称

查询子系统

系统

名称

*

接 口

说 明

输入

访问者

输出

系统数据(输出图书、读者信息)

功 能

说 明

读者查询图书信息、个人信息。

运行环

境说明

SQLServer2005,WindowsXP

调用关

系说明

调用模块

被调用模块

 

模块8:

数据备份

名称

数据备份

标识

copy

子系统名称

系统管理

系统

名称

接 口

说 明

输入

系统数据

输出

系统数据

功 能

说 明

实现系统数据的备份

运行环

境说明

调用关

系说明

调用模块

被调用模块

系统管理

3.2.3系统角色设计

1.系统管理员

图3-3系统管理员用例图

2.操作用户

图3-3用户用例图

3.3接口设计

3.3.1用户界面设计规则

符合用户需求的、美观大方的用户界面。

3.3.2内部接口设计

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

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或Windows2000Advancedserver,Microsoft.SQLServer.

客户端

WindowsXP,IE6.0

4.6使用说明

 

1.安装、配置服务器端软件

(1)在服务器上安装好Windows2003后,配置TCP/IP协

议中IP为192.168.0.1,工作组为WORKGROUP,计算机

名为Server,设置打印机与文件共享。

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

(3)安装SQLServer2005,将用户名、密码设为:

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(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!

");}

try{

Stringurl="jdbc:

mysql:

//localhost:

3306/book";

Connectioncon=DriverManager.getConnection(url,"root","root");

Statementsql;

5.1.2登录代码 

importjava.awt.event.*;

importjavax.swing.*;

importjava.awt.*;

importjava.awt.Container;

importjava.util.*;

importjava.sql.*;

classLoginextendsJFrameimplementsActionListener

{Containercp=null;

JFramef=null;

JButtonj1,j2;

JTextFieldname;

JPasswordFieldpwd;

JLabeljlable1,jlable2;

JPaneljp;

Login(){

jp=newJPanel();

f=newJFrame();

jp.setLayout(newGridLayout(3,2));

addComponents();

this.setLayout(newBorderLayout(50,50));

this.add(BorderLayout.NORTH,newJLabel(""));

this.add(BorderLayout.SOUTH,newJLabel(""));

this.add(BorderLayout.EAST,newJLabel(""));

this.add(BorderLayout.WEST,newJLabel(""));

this.add(jp);

this.setTitle("用户登录界面");

this.setSize(350,220);

this.setVisible(true);

}

voidaddComponents(){

JLabeljlbu=newJLabel();

jlbu.setText("用户名");

name=newJTextField();

JLabeljlbp=newJLabel();

jlbp.setText("密码");

pwd=newJPasswordField();

//pwd.setEchoChar("*");

j1=newJButton("登录");

j2=newJButton("取消");

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);

}

publicvoidconfirm()

{

try{

Class.forName("com.mysql.jdbc.Driver");

}

catch(ClassNotFoundExceptione)

{System.out.println("加载驱动程序失败!

");

}

try{

Stringurl="jdbc:

mysql:

//localhost:

3306/book";

Connectioncon=DriverManager.getConnection(url,"root","root");

Statementsql=con.createStatement();

Stringuname=name.getText().trim();

StringMima=pwd.getText().trim();

StringqueryMima="select*fromuserwhereuser_name='"+uname+"'andpassword='"+Mima+"'";

ResultSetrs=sql.executeQuery(queryMima);

if(rs.next())

{

newBook(uname);

f.hide();

con.close();

}

else{

JOptionPane.showMessageDialog(null,"该用户不存在","提示!

",

JOptionPane.YES_NO_OPTION);

}

name.setText("");

pwd.setText("");

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());}

}

publicvoidactionPerformed(ActionEvente)

{

Stringcmd=e.getActionCommand();

if(cmd.equals("登录")){

confirm();

}

elseif(cmd.equals("取消")){

f.dispose();

}

}

publicstaticvoidmain(String[]arg){

Logina=newLogin();

}

}

5.1.3注册代码 

jbt1.addActionListener(this);//注册监听器

jbt2.addActionListener(this);

publicvoidactionPerformed(ActionEvente)

{

Stringcmd=e.getActionCommand();

if(cmd.equals("确定"))

{

f.hide();

}

if(cmd.equals("返回"))

f.hide();

}

5.1.4违规处理代码 

try{

Stringurl="jdbc:

mysql:

//localhost:

3306/book";

Connectioncon=DriverManager.getConnection(url,"root","root");

Statementsql;

Stringql=(String)(ar[index][1]);

Strings="delete*frombookwherebook_no='"+ql+"'";

sql=con.createStatement();

intdel=sql.executeUpdate(s);

if(del==1)

{JOptionPane.showMessageDialog(null,"删除成功!

",

"信息",JOptionPane.YES_NO_OPTION);

}

con.close();

f.repaint();

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

5.2软件测试报告

5.2.1引言 

5.2.2测试步骤 

1打开****系统并选择测试类型及其他参数

2设置URL 

3浏览器设置 

4开始测试

5.2.3测试结果 

1 测试结果概况 

2测试结果视图

参考文献

[1]张海藩.软件工程导论.计算机应用技术,2018

开发心得体会

姓名麦泽明:

我认为,这门课实在获益良多,并且有一些心得体会:

相信团队合作才可能把项目做好。

从整个项目的过程来看,团队合作中需要沟通、分工、协作和监督。

在设计过程中,确实遇到了不少问题,但经过组员的沟通以及组长的领导问题得到了很好的解决,工作得以顺利完成。

还有对问题思考的严谨性,我们换位思考,一个好的软件应当包含了更加人性化的,更完整的功能,在细节上的处理同样也是很重要的,更能得到用户的青睐。

 

姓名刘志锋:

这学期软件工程我们组项目是图书管理系统,给我最大的感受是:

做一项项目必须制定详细计划,并严格按照计划来执行。

由于日常还有别的学习任务,也不能把所有工作都堆期末再来完成,所以计划就尤为重要。

让我们有更充裕的时间进行修改,进行问题的考虑以及解决。

当然,我的沟通能力也得到了很好的加强,小组成员的相互讨论更好的促进了项目进度的推进,增加了彼此之间的了解。

感谢老师的悉心教导,在以后的学习工作,我也应当更加努力,更为耐心的解决问题,与人交流。

姓名廖坤城:

做每一件事都有自己的所获所得。

通过这次软件工程,虽然花了很多时间完成组长派下来的一些小任务,但是对于我来说意义是很重要的。

激起了对本专业的兴趣。

虽然有时候在一个小小的错误中耽误了大量时间,但是最后找出原因后内心是充满着快乐与开心。

所以通过这次图书管理系统的设计,通过不懂就要问,让我更多明白的是只有亲自参与其中项目的设计,才能在其中学到东西,品尝到Java的魅力。

同时也能够感受到搭档的团结,共同接受与挑战困难,共同分享其中的苦与乐。

 

 

姓名张俊城:

经过几个星期的努力,我们的项目终于基本算完成了。

在这几个星期的学习里,让我懂的了很多。

我很感谢我的团队,特别是我们机智组长,他用他那充满智慧的大脑把我们都征服了,我们在他的安排下有条不紊的进行着项目设计,利用我们各自的特长,把项目更好的完善。

在这也让我懂的了团队合作的重要,因为合作让我们更加懂的自己的不足,让我们在做项目的同时也收获着快乐。

我感谢这次项目设计让我们走在一起,希望还有下次合作的机会。

 

姓名郑志远:

不知不觉,学习了软件工程这门课程已经一个学期了,获益良多。

通过对课本知识的逐渐了解,我们小组进行了图书管理系统的设计的工作。

激发了对学习的积极性,更重要的是让我们培养了团队协作的精神,通过分工合作,查找资料书籍解决了许多设计时遇到的问题。

在今后的学习中要注意多读书、多思考、多练习,不断熟悉书本的基础,并以此为基础将其扩散开来,通过实践来应用开来。

感谢老师辛勤的教导,让我们对软件工程这方面有了更深入的认识,并且通过做项目来获得更深刻的认识。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

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

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