图书销售管理系统JAVA课程设计说明书Word格式.docx
《图书销售管理系统JAVA课程设计说明书Word格式.docx》由会员分享,可在线阅读,更多相关《图书销售管理系统JAVA课程设计说明书Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
2016年11月21日
完成时间:
2016年12月21日
设计成绩:
学习能力
(20)
解决方案
UI设计
技术水平
协作与表达
总分(100)
指导教师(签名)20年月日
1前言
1、1问题的提出
在现在的书店运营管理中,图书销售管理系统有着十分重要的作用,然而,用大型销售管理软件对于小型书店来说成本过大,不能发挥出大型管理软件的优点,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种小书店自然有十分重要作用。
某小型书店出于这种目的制作了这个图书销售管理系统。
1、2任务与分析
本课题主要的任务就是设计一个图书销售管理系统。
1、2、1、系统的基本要求:
调查一个书店的图书销售业务,设计的图书销售系统主要包括进货、退货、统计、销售、查询功能。
①进货:
根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商。
输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。
②退货:
顾客把已买的书籍退还给书店。
输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。
③统计:
根据销售情况输出统计的报表。
一般内容为每月的销售总额、销售总量及排行榜等信息。
④销售:
输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。
⑤查询:
允许用户设置条件进行进货、退货、统计、销售与库存书籍的信息查询。
1、2、2、数据库要求:
在数据库中至少应该包含下列数据表:
图书信息管理表
1、2、3、要求:
基于JFrame窗体设计、使用MVC模式
数据库使用SQLServer或者MySQL或者Oracle
2、系统总体设计
2、1开发工具
开发工具:
选用Eclipse,Eclipse就是Java的集成开发环境,使用方便,快速,Java就是完全面向对象的,将一切事物封装,具有简单性、面向对象、分布式、解释
型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。
Java中提供的swing框架可以方便快速的编写图形用户界面。
开发环境:
Windows10,需要安装JDK1、7,配置Java的运行环境。
2、2系统框图
系统流程图
2、3模块功能
2、3、1进货
可以根据图书的库存量进行筛选出需要进货的图书,输入图书名与进货数量对图书进行进货,保存数据到数据库。
2、3、2退货
查瞧所有图书退货信息,根据书名进行退货,输入退货量对图书库存进行修改。
2、3、3销售
根据数据库中的图书信息,查询图书售价与库存,根据图书名对图书进行销售,并修改图书库存。
2、3、4查询
查瞧进货单,退货单与查瞧销售单
2、3、5统计
统计出图书销售总数与销售总额,并查瞧图书销售数的排行。
3交互界面设计
3、1控件介绍
控件就是用户可与之交互以输入或操作数据的对象。
控件通常出现在对话框中或工具栏上。
本套系统采用了菜单组件JMenu,面板控件Jpanel,文本编辑框JTextFiled,表格控件JTable,按钮控件JButton。
3、2窗体(以下逐个阐述:
您选用的控件的截图、特点、选用理由)
3、2文本编辑框
可用于用户输入数据,可以取出文本框内的内容进行其她相关的操作。
3、3表格组件
3、4菜单栏组件
JMenuBar组件用来存放按钮。
4功能详细设计
本节结合系统组成框图,对系统中每个模块的功能、输入、输出、主要数据结构、设计思想、算法流程等方面进行详细论述,说明本设计在这几方面有何优缺点(对多种设计方案/方法简要对比分析的基础上,说明本设计的优缺点)。
4、1建立数据库
首先在SQLManagementStudio中建立一个bookmanager数据库,在数据库中创建了booktable表,表中存放图书各种信息(书名、进价、售价、进货数、退货数、销售数、销售额、库存)。
4、2连接数据库
在微软官网中下载Java对数据库操作的JDBC、jar包,导入到项目中,使用包中的函数连接到已创建的数据库中。
publicstaticConnectiongetConnection(){
Connectionconnection=null;
try{
connection=DriverManager、getConnection(URL,NAME,PASSWORD);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e、printStackTrace();
}
returnconnection;
}
4、3图书信息
在界面中输入图书的书名查找到要修改的图书
publicImportBookInfoIFindBookByName(StringbookName){
//TODOAuto-generatedmethodstub
Connectionconn=null;
PreparedStatementps=null;
ResultSetrs=null;
Stringsql="
selectibookprice,ibooknum,inventoryfrombooktablewherebookname=?
"
;
ImportBookInfoimportBookInfo=null;
conn=DBUtils、getConnection();
ps=conn、prepareStatement(sql);
ps、setString(1,bookName);
rs=ps、executeQuery();
if(rs、next()){
importBookInfo=newImportBookInfo();
importBookInfo、setBookName(bookName);
importBookInfo、setiBookPrice(rs、getFloat
(1));
importBookInfo、setiBookNum(rs、getInt
(2));
importBookInfo、setInventory(rs、getInt(3));
}
}catch(SQLExceptione1){
e1、printStackTrace();
try{
thrownewSQLException("
根据书名查询失败"
);
}catch(SQLExceptione2){
e2、printStackTrace();
}finally{
DBUtils、close(conn,ps,rs);
returnimportBookInfo;
5系统功能测试
结合程序运行过程的截图,阐述本软件各个模块功能的实现以及协作工作情况。
进货
退货
销售
查询
统计
结论
应包括以下两部分内容:
任务完成情况,包括功能、特点(与众不同)及存在问题、修改对策。
结合本次课程设计的全过程,谈谈自己的收获、体会、建议。
本次课程设计完成了工资管理系统的基本要求,实现了查询单个员工的基本信息,所有的员工的基本情况,单人的某月份的工资情况,部门的工资情况,以及查瞧各个部门的人数与基本信息。
不过此版本还就是有很大的不足的,未能实现添加员工的功能,也不能实现改动工资的功能。
实验过程中,我分为逻辑设计与详细设计两个步骤实现、逻辑设计指的就是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块与各抽象数据类型;
详细设计则为定义相应的存储结构并写出各函数的伪码算法、作为逻辑设计的结果,应写出每个抽象数据类型的定义,各主要模块的算法,并画出模块之间的调用关系图;
详细设计的结果就是对数据结构的基本操作的规格说明做出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类C语言写出函数形式的算法框架。
通过这次课程设计,使我灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法与技能;
提高综合运用所学的理论知识与方法独立分析与解决问题的能力;
并用系统的观点与软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度与良好的工作作风。
熟练掌握数据的存储表示与基本操作的实现,能够利用存储设计算法解决简单的航空订票问题。
同时在这学期的实验中,培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
我学会了很多学习的方法。
而这就是日后最实用的。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
这对于我的将来也有很大的帮助。
以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
就像中国提倡的艰苦奋斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它。