进销存管理系统课设.docx
- 文档编号:6278478
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:26
- 大小:554KB
进销存管理系统课设.docx
《进销存管理系统课设.docx》由会员分享,可在线阅读,更多相关《进销存管理系统课设.docx(26页珍藏版)》请在冰豆网上搜索。
进销存管理系统课设
课程设计报告
课程名称信息系统项目管理与实践
课题名称企业进销存管理
专业xxx
班级xxx
学号xxxxxxx
姓名xxx
指导教师xxxxxx
20xx年x月x日
一、设计内容与设计要求
1.课程设计目的
全面熟悉、掌握信息系统项目管理根本知识,增强对不同的问题运用和灵活选择适宜的数据结构以与项目管理描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的假如干有效方法,进一步提高上机动手能力,增强面向对象程序设计概念,熟悉java语言编程,养成提供文档资料的习惯和规X编程的思想,为后继课程的实验以与课程设计打下较扎实的根底。
进一步提高上机动手能力,培养使用计算机解决实际问题的能力,为后继课程的实验以与课程设计,特别是自学、毕业论文的完成打下扎实的根底。
⑴进销存管理系统
⑵酒店管理系统
⑶企业门户
⑷图书馆管理系统
3.设计要求:
⑴设计课题题目:
按学号顺序〔每15位学生选择一题〕选择相应题号的课题。
换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:
①完成系统需求分析:
包括系统设计目的与意义;系统功能需求〔系统流程图〕;输入输出的要求。
②完成系统总体设计:
包括系统功能分析;系统功能模块划分与设计〔系统功能模块图〕。
③完成系统详细设计:
包括数据库需求分析;类层次图;界面设计与各功能模块实现。
④系统调试:
调试出现的主要问题,编译语法错误与修改,重点是运行逻辑问题修改和调整。
⑤使用说明书与编程体会:
说明如何使用你编写的程序,详细列出每一步的操作步骤。
⑥关键源程序〔带注释〕
⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给教师存档。
⑷不得抄袭他人程序、课程设计报告,每个人应表现自己的个性设计。
二、进度安排
第15周星期二上午8:
00-12:
00下午13:
00-17:
00
星期四上午8:
00-12:
00下午13:
00-17:
00
第16周星期三上午8:
00-12:
00下午13:
00-17:
00
课题1:
进销存管理系统
〔一〕、课程设计题目:
进销存管理系统
〔二〕、目的与要求:
1、目的:
〔1〕要求学生达到熟练掌握java语言的根本知识和技能;
〔2〕根本掌握面向对象程序设计的根本思路和方法;
〔3〕能够利用所学的根本知识和技能,解决简单的面向对象程序设计问题。
2、根本要求:
〔1〕要求利用面向对象的方法以与java的编程思想来完成系统的设计;
〔2〕要求在设计的过程中,建立清晰的类层次;
〔3〕在系统中定义类,每个类中要有各自的属性和方法;
〔4〕在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在根本要求达到后,可进展创新设计,如根据查找结果进展修改的功能。
4、写出设计说明书
〔三〕、设计方法和根本原理:
1、问题描述〔功能要求〕:
某公司现有进销存物品,要求对所有的库存设备都能按照品名进展显示、查找、入库和出库、保存的功能。
进销存物品有如下属性:
尺寸、类型、售价、重量、品牌、入库编号
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
〔1〕分析系统中的各个实体之间的关系与其属性和行为;
〔2〕根据问题描述,设计系统的类层次;
〔3〕完成类层次中各个类的描述〔包括属性和方法〕;
〔4〕完成类中各个成员函数的定义;
〔5〕完成系统的应用模块;
〔6〕功能调试;
〔7〕完成系统总结报告以与系统使用说明书
1系统需求分析
企业进销存管理系统的主要工作是对企业的进货、销售和库存以信息化的方式进展管理,最大限度地减少各个环节可能出现的错误,有限减少盲目采购、降低采购本钱、合理控制库存、减少资金占用并提高市场灵敏度,使企业能够合理安排进、销、存的每个关键步骤,提升企业市场竞争力。
针对经营管理中存在的问题,对进销存管理系统提出更高的要求,利用Java语言和SQL数据库的相关知识设计与开发一个企业进销存管理系统的管理模块。
要求对所有的库存设备都能按照品名进展显示、查找、入库和出库、保存的功能;可以在数据库中查询和删除所保存的记录:
并具有退出该系统模块的功能。
企业进销存系统应该具有的功能:
〔1〕界面设计美观大方,操作方便、快捷、灵活。
〔2〕实现强大的进销存管理,包括根本信息、进货、销售和库存管理。
〔3〕能够在不同的操作系统下运行,不局限于特定的平台。
〔4〕提供数据库的备份与恢复功能。
〔5〕提供库存盘点功能。
2总体设计
模块图
图2.1企业进销存管理系统总体设计模块
图2.2各子功能模块
2.2数据结构与数据库
程序利用Java语言编写,数据保存到SQL数据库实现数据保存和查询以与数据库的更新。
SQL数据库中包括十个表和三个试图,分别为tb_rkth_detail、tb_rkth_main、tb_ruku_detail、tb_ruku_main、tb_sell_detail、tb_sell_main、tb_spinfo、tb_userlist、tb_xsth_detail、tb_xsth_main、v_rkthView、v_rukuView、v_sellView,各自保存表中菜单下的数据。
〔1〕db-JXC数据库中tb_sell_main表的数据如如下图2.3.1:
图2.3.1后台数据库中销售商品的数据表
〔2〕db-JXC数据库中v_rukuView表的数据如下2.3.2所示:
图2.3.2数据库中入库商品的视图
3详细设计
3.1采用Java语言定义的相关数据类型
〔1〕登陆界面的相关数据类型:
import.lzw.login.Login;
publicclassJXCFrame{
privateJPanelsysManagePanel;
privateJDesktopPanedesktopPane;
privateJFrameframe;
privateJLabelbackLabel;//创建窗体的Map类型集合对象
privateMap
publicJXCFrame(){
}
〔2〕数据库的相关数据类型:
package.lzw.dao;
importinternalFrame.guanli.Item;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.ResultSetMetaData;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
importjava.util.Set;
importmodel.TbGysinfo;
importmodel.TbKhinfo;
importmodel.TbKucun;
importmodel.TbRkthDetail;
importmodel.TbRkthMain;
importmodel.TbRukuDetail;
importmodel.TbRukuMain;
importmodel.TbSellDetail;
importmodel.TbSellMain;
importmodel.TbSpinfo;
importmodel.TbUserlist;
importmodel.TbXsthDetail;
importmodel.TbXsthMain;
publicclassDao{
protectedstaticStringdbClassName=".microsoft.jdbc.sqlserver.SQLServerDriver";
protectedstaticStringdbUrl="jdbc:
microsoft:
sqlserver:
//localhost:
7789;"
+"DatabaseName=db_JXC;SelectMethod=Cursor";
protectedstaticStringdbUser="sa";
protectedstaticStringdbPwd="";
protectedstaticStringsecond=null;
publicstaticConnectionconn=null;
3.2各子功能模块的实现函数
publicclassCzyGLextendsJInternalFrame{...}
publicclassGengGaiMiMaextendsJInternalFrame{...}
publicclassGongYingShangChaXunextendsJInternalFrame{...}
publicclassGysGuanLiextendsJInternalFrame{...}
publicclassJiaGeTiaoZhengextendsJInternalFrame{...}
publicclassJinHuoDanextendsJInternalFrame{...}
publicclassJinHuoTuiHuoextendsJInternalFrame{...}
publicclassKeHuChaXunextendsJInternalFrame{...}
publicclassKeHuGuanLiextendsJInternalFrame{...}
publicclassKuCunPanDianextendsJInternalFrame{...}
publicclassQuanManagerextendsJInternalFrame{...}
publicclassRuKuChaXunextendsJInternalFrame{...}
publicclassRuKuTuiHuoChaXunextendsJInternalFrame{...}
publicclassShangPinChaXunextendsJInternalFrame{...}
publicclassShangPinGuanLiextendsJInternalFrame{...}
publicclassXiaoShouChaXunextendsJInternalFrame{...}
publicclassXiaoShouDanextendsJInternalFrame{...}
publicclassXiaoShouPaiHangextendsJInternalFrame{...}
publicclassXiaoShouTuiHuoTextendsJInternalFrame{...}
publicclassXiaoShouTuiHuoChaXunextendsJInternalFrame{...}
4程序调试中的问题
在JXC-Manager与db-JXC数据库的连接过程中,运行程序,出现如下错误,
通过教师的指导,把下面程序段中的password置为空,
在db-JXC数据库中,把安全性中的登陆用户密码设置为空,如如下图所示,保存后,连接成功!
5使用说明
〔1〕运行程序到登陆界面,输入用户的某某和密码,点击“登录〞,即可登录该系统。
登陆界面
〔2〕用户登陆后,单击菜单栏中的“根底信息管理〞按钮,显示“客户信息管理〞、“商品信息管理〞、“供给商信息管理〞等信息,出现如下5.2界面,点击进入“商品信息管理〞,可以进展商品的添加与修改删除操作,在相应的位置输入商品的根本信息,单击“添加〞,如图5.3所示,即可把所输入的数据保存到db-JXC数据库中的tb_spinfo表中所示,商品信息添加成功。
进销存主界面
添加商品信息界面
添加信息后后台数据库查询结果显示
〔3〕通过其他需要,可以对供给商与客户等信息进展增删改,对入库信息进展查询,退货等多种操作。
6心得体会
两个星期的课设,在黑夜中终于完毕了,这次用Java语言编写的界面,看起来容易做起来难,每一个小模块的编写都会有很多的问题,在这次课设中,最主要的是JXC-Manager与db-JXC数据库的连接,在连接的过程中出现了很多问题,通过教师的精心指导,最终顺利解决了连接问题。
我知道,只有通过实践,我才能发现自己的不足之处,从而不断的完善自己,首先是对Java语言不熟悉,实现起来困难,通过查找各类资料,上网搜索相关资料,不断的熟悉和掌握。
比起上课学习的理论知识,课程设计更考验了我们综合分析问题、解决问题的能力,要求我们有细心,有恒心去规划我们的思想,设计出美丽大方的界面。
课设,是锻炼我们实践能力的好机会,任何事情都是从简单开始的,当我们知道编写一个个简单的模块,要学会把模块拼接起来,最终系统化,通过课设,我们能够从中学到更多的新知识,更好的充实自己,遇到难题上网搜索,请教教师,求助同学,虽然我们流下了不少的汗水,当一个简单的模块实现,我无法表达收获的喜悦。
顿时觉得编程是个既有挑战又有意思的工作,因为每一次成功的背后都有曲折的过程,只要我们迎难而上,成功就在不远,最后,感谢教师的指导,感谢同学们的帮助!
这次课设我感触颇多,喜欢课设背后的过程。
7附录
7.1源代码
〔1〕连接数据库模块函数:
package.lzw.dao;
importinternalFrame.guanli.Item;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.ResultSetMetaData;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
importjava.util.Set;
importmodel.TbGysinfo;
importmodel.TbKhinfo;
importmodel.TbKucun;
importmodel.TbRkthDetail;
importmodel.TbRkthMain;
importmodel.TbRukuDetail;
importmodel.TbRukuMain;
importmodel.TbSellDetail;
importmodel.TbSellMain;
importmodel.TbSpinfo;
importmodel.TbUserlist;
importmodel.TbXsthDetail;
importmodel.TbXsthMain;
publicclassDao{
protectedstaticStringdbClassName=".microsoft.jdbc.sqlserver.SQLServerDriver";
protectedstaticStringdbUrl="jdbc:
microsoft:
sqlserver:
//localhost:
7789;"
+"DatabaseName=db_JXC;SelectMethod=Cursor";
protectedstaticStringdbUser="sa";
protectedstaticStringdbPwd="";
protectedstaticStringsecond=null;
publicstaticConnectionconn=null;
static{
try{
if(conn==null){
Class.forName(dbClassName).newInstance();
conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);}
}catch(Exceptionee){
ee.printStackTrace();}}
privateDao(){}
//读取所有客户信息
publicstaticListgetKhInfos(){
Listlist=findForList("selectid,khnamefromtb_khinfo");
returnlist;}
//读取所有供给商信息
publicstaticListgetGysInfos(){
Listlist=findForList("selectid,namefromtb_gysinfo");
returnlist;}
//读取客户信息
publicstaticTbKhinfogetKhInfo(Itemitem){
Stringwhere="khname='"+item.getName()+"'";
if(item.getId()!
=null)
where="id='"+item.getId()+"'";
TbKhinfoinfo=newTbKhinfo();
ResultSetset=findForResultSet("select*fromtb_khinfowhere"
+where);
try{
if(set.next()){
info.setId(set.getString("id").trim());
info.setKhname(set.getString("khname").trim());
info.setJian(set.getString("jian").trim());
info.setAddress(set.getString("address").trim());
info.setBianma(set.getString("bianma").trim());
info.setFax(set.getString("fax").trim());
info.setHao(set.getString("hao").trim());
info.setLian(set.getString("lian").trim());
info.setLtel(set.getString("ltel").trim());
info.setMail(set.getString("mail").trim());
info.setTel(set.getString("tel").trim());
info.setXinhang(set.getString("xinhang").trim());}
}catch(SQLExceptione){
e.printStackTrace();}
returninfo;}
//读取指定供给商信息
publicstaticTbGysinfogetGysInfo(Itemitem){
Stringwhere="name='"+item.getName()+"'";
if(item.getId()!
=null)
where="id='"+item.getId()+"'";
TbGysinfoinfo=newTbGysinfo();
ResultSetset=findForResultSet("select*fromtb_gysinfowhere"
+where);
try{
if(set.next()){
info.setId(set.getString("id").trim());
info.setAddress(set.getString("address").trim());
info.setBianma(set.getString("bianma").trim());
info.setFax(set.getString("fax").trim());
info.setJc(set.getString("jc").trim());
info.setLian(set.getString("lian").trim());
info.setLtel(set.getString("ltel").trim());
info.setMail(set.getString("mail").trim());
info.setName(set.getString("name").trim());
info.setTel(set.getString("tel").trim());
info.setYh(set.getString("yh").trim());}
}catch(SQLExceptione){
e.printStackTrace();}
returninfo;}
//读取用户
publicstaticTbUserlistgetUser(Stringname,Stringpassword){
TbUserlistuser=newTbUserlist();
ResultSetrs=findForResultSet("select*fromtb_userlistwhereusername='"
+name+"'");
try{
if(rs.next()){
user.setUsername(name);
user.setPass(rs.getString("pass"));
if(user.getPass().equals(password)){
user.setName(rs.getString("name"));
user.setQuan(rs.get
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进销存 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)