




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告 课程名称课程名称 信息系统项目管理与实践信息系统项目管理与实践 课题名称课题名称 企业进销存管理企业进销存管理 专专 业业 xxx 班班 级级 xxx 学学 号号 xxxxxxx 姓姓 名名 xxx 指导教师指导教师 xxx xxx 20 xx 年年 x 月月 x 日日 一一 设设计计内内容容与与设设计计要要求求 1 1 课程设计目的课程设计目的 全面熟悉 掌握信息系统项目管理基本知识 增强对不同的问题运用和灵活选 择合适的数据结构以及项目管理描述的本领 熟悉编制和调试程序的技巧 掌握分 析结果的若干有效方法 进一步提高上机动手能力 增强面向对象程序设计概念 熟悉 java 语言编程 养成提供文档资料的习惯和规范编程的思想 为后继课程的实 验以及课程设计打下较扎实的基础 进一步提高上机动手能力 培养使用计算机解决实际问题的能力 为后继课程 的实验以及课程设计 特别是自学 毕业论文的完成打下扎实的基础 2 2 课题题目课题题目 进销存管理系统 酒店管理系统 企业门户网站 图书馆管理系统 3 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 目的 1 要求学生达到熟练掌握 java 语言的基本知识和技能 2 基本掌握面向对象程序设计的基本思路和方法 3 能够利用所学的基本知识和技能 解决简单的面向对象程序设计问题 2 基本要求 1 要求利用面向对象的方法以及 java 的编程思想来完成系统的设计 2 要求在设计的过程中 建立清晰的类层次 3 在系统中定义类 每个类中要有各自的属性和方法 4 在系统的设计中 至少要用到面向对象的一种机制 3 创新要求 在基本要求达到后 可进行创新设计 如根据查找结果进行修改的功能 4 写出设计说明书 三 三 设计方法和基本原理 设计方法和基本原理 1 问题描述 功能要求 某公司现有进销存物品 要求对所有的库存设备都能按照品名进行显示 查找 入 库和出库 保存的功能 进销存物品有下列属性 尺寸 类型 售价 重量 品牌 入库编号 2 问题的解决方案 根据系统功能要求 可以将问题解决分为以下步骤 1 分析系统中的各个实体之间的关系及其属性和行为 2 根据问题描述 设计系统的类层次 3 完成类层次中各个类的描述 包括属性和方法 4 完成类中各个成员函数的定义 5 完成系统的应用模块 6 功能调试 7 完成系统总结报告以及系统使用说明书 目录 1 系统需求分析 1 2 总体设计 2 2 1 总体设计模块图 2 2 2 数据结构及数据库 3 2 3 数据保存到数据库结果 3 3 详细设计 4 3 1 采用 Java 语言定义的相关数据类型 4 3 2 各子功能模块的实现函数 7 4 程序调试中的问题 8 5 使用说明 8 6 心得体会 10 7 附录 11 7 1 源代码 11 7 2 参考文献 33 8 评分表 34 1 系统需求分析 企业进销存管理系统的主要工作是对企业的进货 销售和库存以信息 化的方式进行管理 最大限度地减少各个环节可能出现的错误 有限减少 盲目采购 降低采购成本 合理控制库存 减少资金占用并提高市场灵敏 度 使企业能够合理安排进 销 存的每个关键步骤 提升企业市场竞争 力 针对经营管理中存在的问题 对进销存管理系统提出更高的要求 利 用 Java 语言和 SQL 数据库的相关知识设计与开发一个企业进销存管理系统 的管理模块 要求对所有的库存设备都能按照品名进行显示 查找 入库 和出库 保存的功能 可以在数据库中查询和删除所保存的记录 并具有 退出该系统模块的功能 企业进销存系统应该具有的功能 1 界面设计美观大方 操作方便 快捷 灵活 2 实现强大的进销存管理 包括基本信息 进货 销售和库存管理 3 能够在不同的操作系统下运行 不局限于特定的平台 4 提供数据库的备份与恢复功能 5 提供库存盘点功能 2 总体设计 2 1 总体设计模块图 业业业业业业业 业业业业业业业业业业业业业业业业业业业业业业业业业业 图 2 1 企业进销存管理系统总体设计模块 业业业业业业 业业业业业业业业业业业业业 业业业业 业业业 业业业业 业业业业 业业业业业业业 业业业业 业业业业业业业业 业业业业 业业业业业业业业业业业业业 业业业业 业业业业 业业业业 业业业业业 业业业业 业业业业业业 业业业业 业业业业业业 业业业业 图 2 2 各子功能模块 2 2 数据结构及数据库 程序利用 Java 语言编写 数据保存到 SQL 数据库实现数据保存和 查询以及数据库的更新 SQL 数据库中包括十个表和三个试图 分别为 tb rkth detail tb rkth main tb ruku detail tb ruku main tb sell d etail tb sell main tb spinfo tb userlist tb xsth detail tb xsth ma in v rkthView v rukuView v sellView 各自保存表中菜单下的数 据 2 3 数据保存到数据库结果 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 com lzw login Login public class JXCFrame private JPanel sysManagePanel private JDesktopPane desktopPane private JFrame frame private JLabel backLabel 创建窗体的 Map 类型集合对象 private Map ifs new HashMap public JXCFrame 2 链接数据库的相关数据类型 package com lzw dao import internalFrame guanli Item import java sql Connection import java sql Date import java sql DriverManager import java sql ResultSet import java sql ResultSetMetaData import java sql SQLException import java sql Statement import java util ArrayList import java util Iterator import java util List import java util Set import model TbGysinfo import model TbKhinfo import model TbKucun import model TbRkthDetail import model TbRkthMain import model TbRukuDetail import model TbRukuMain import model TbSellDetail import model TbSellMain import model TbSpinfo import model TbUserlist import model TbXsthDetail import model TbXsthMain public class Dao protectedstaticStringdbClassName com microsoft jdbc sqlserver SQLServerDriver protected static String dbUrl jdbc microsoft sqlserver localhost 7789 DatabaseName db JXC SelectMethod Cursor protected static String dbUser sa protected static String dbPwd protected static String second null public static Connection conn null 3 2 各子功能模块的实现函数 public class CzyGL extends JInternalFrame public class GengGaiMiMa extends JInternalFrame public class GongYingShangChaXun extends JInternalFrame public class GysGuanLi extends JInternalFrame public class JiaGeTiaoZheng extends JInternalFrame public class JinHuoDan extends JInternalFrame public class JinHuoTuiHuo extends JInternalFrame public class KeHuChaXun extends JInternalFrame public class KeHuGuanLi extends JInternalFrame public class KuCunPanDian extends JInternalFrame public class QuanManager extends JInternalFrame public class RuKuChaXun extends JInternalFrame public class RuKuTuiHuoChaXun extends JInternalFrame public class ShangPinChaXun extends JInternalFrame public class ShangPinGuanLi extends JInternalFrame public class XiaoShouChaXun extends JInternalFrame public class XiaoShouDan extends JInternalFrame public class XiaoShouPaiHang extends JInternalFrame public class XiaoShouTuiHuo Textends JInternalFrame public class XiaoShouTuiHuoChaXun extends JInternalFrame 4 程序调试中的问题 在 JXC Manager 与 db JXC 数据库的连接过程中 运行程序 出现如下错误 通过老师的指导 把下面程序段中的 password 置为空 在 db JXC 数据库中 把安全性中的登陆用户密码设置为空 如下图所示 保存后 连接成功 5 使用说明 1 运行程序到登陆界面 输入用户的姓名和密码 点击 登录 即可登录该系统 图 5 1 登陆界面 2 用户登陆后 单击菜单栏中的 基础信息管理 按钮 显示 客户 信息管理 商品信息管理 供应商信息管理 等信息 出现如下 5 2 界 面 点击进入 商品信息管理 可以进行商品的添加及修改删除操作 在 相应的位置输入商品的基本信息 单击 添加 如图 5 3 所示 即可把所输 入的数据保存到 db JXC 数据库中的 tb spinfo 表中 打开数据库中的数据 如下 5 4 所示 商品信息添加成功 图 5 2 进销存主界面 图 5 3 添加商品信息界面 图 5 4 添加信息后后台数据库查询结果显示 3 通过其他需要 可以对供应商及客户等信息进行增删改 对入库信息进行查 询 退货等多种操作 6 心得体会 两个星期的课设 在黑夜中终于结束了 这次用 Java 语言编写的界面 看起来容 易做起来难 每一个小模块的编写都会有很多的问题 在这次课设中 最主要的是 JXC Manager 与 db JXC 数据库的连接 在连接的过程中出现了很多问题 通过老师的 精心指导 最终顺利解决了连接问题 我知道 只有通过实践 我才能发现自己的不足 之处 从而不断的完善自己 首先是对 Java 语言不熟悉 实现起来困难 通过查找各 类资料 上网搜索相关资料 不断的熟悉和掌握 比起上课学习的理论知识 课程设计 更考验了我们综合分析问题 解决问题的能力 要求我们有细心 有恒心去规划我们的 思想 设计出美丽大方的界面 课设 是锻炼我们实践能力的好机会 任何事情都是从简单开始的 当我们知道编 写一个个简单的模块 要学会把模块拼接起来 最终系统化 通过课设 我们能够从中 学到更多的新知识 更好的充实自己 遇到难题上网搜索 请教老师 求助同学 虽然 我们流下了不少的汗水 当一个简单的模块实现 我无法表达收获的喜悦 顿时觉得编 程是个既有挑战又有意思的工作 因为每一次成功的背后都有曲折的过程 只要我们迎 难而上 成功就在不远 最后 感谢老师的指导 感谢同学们的帮助 这次课设我感触 颇多 喜欢课设背后的过程 7 附录 7 1 源代码 1 连接数据库模块函数 package com lzw dao import internalFrame guanli Item import java sql Connection import java sql Date import java sql DriverManager import java sql ResultSet import java sql ResultSetMetaData import java sql SQLException import java sql Statement import java util ArrayList import java util Iterator import java util List import java util Set import model TbGysinfo import model TbKhinfo import model TbKucun import model TbRkthDetail import model TbRkthMain import model TbRukuDetail import model TbRukuMain import model TbSellDetail import model TbSellMain import model TbSpinfo import model TbUserlist import model TbXsthDetail import model TbXsthMain public class Dao protected static String dbClassName com microsoft jdbc sqlserver SQLServerDriver protected static String dbUrl jdbc microsoft sqlserver localhost 7789 DatabaseName db JXC SelectMethod Cursor protected static String dbUser sa protected static String dbPwd protected static String second null public static Connection conn null static try if conn null Class forName dbClassName newInstance conn DriverManager getConnection dbUrl dbUser dbPwd catch Exception ee ee printStackTrace private Dao 读取所有客户信息 public static List getKhInfos List list findForList select id khname from tb khinfo return list 读取所有供应商信息 public static List getGysInfos List list findForList select id name from tb gysinfo return list 读取客户信息 public static TbKhinfo getKhInfo Item item String where khname item getName if item getId null where id item getId TbKhinfo info new TbKhinfo ResultSet set findForResultSet select from tb khinfo where 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 SQLException e e printStackTrace return info 读取指定供应商信息 public static TbGysinfo getGysInfo Item item String where name item getName if item getId null where id item getId TbGysinfo info new TbGysinfo ResultSet set findForResultSet select from tb gysinfo where 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 SQLException e e printStackTrace return info 读取用户 public static TbUserlist getUser String name String password TbUserlist user new TbUserlist ResultSet rs findForResultSet select from tb userlist where username 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 getString quan catch SQLException e e printStackTrace return user 执行指定查询 public static ResultSet query String QueryStr ResultSet set findForResultSet QueryStr return set 执行删除 public static int delete String sql return update sql 添加客户信息的方法 public static boolean addKeHu TbKhinfo khinfo if khinfo null return false return insert insert tb khinfo values khinfo getId khinfo getKhname khinfo getJian khinfo getAddress khinfo getBianma khinfo getTel khinfo getFax khinfo getLian khinfo getLtel khinfo getMail khinfo getXinhang khinfo getHao 修改客户信息的方法 public static int updateKeHu TbKhinfo khinfo return update update tb khinfo set jian khinfo getJian address khinfo getAddress bianma khinfo getBianma tel khinfo getTel fax khinfo getFax lian khinfo getLian ltel khinfo getLtel mail khinfo getMail xinhang khinfo getXinhang hao khinfo getHao where id khinfo getId 修改库存的方法 public static int updateKucunDj TbKucun kcInfo return update update tb kucun set dj kcInfo getDj where id kcInfo getId 修改供应商信息的方法 public static int updateGys TbGysinfo gysInfo return update update tb gysinfo set jc gysInfo getJc address gysInfo getAddress bianma gysInfo getBianma tel gysInfo getTel fax gysInfo getFax lian gysInfo getLian ltel gysInfo getLtel mail gysInfo getMail yh gysInfo getYh where id gysInfo getId 添加供应商信息的方法 public static boolean addGys TbGysinfo gysInfo if gysInfo null return false return insert insert tb gysinfo values gysInfo getId gysInfo getName gysInfo getJc gysInfo getAddress gysInfo getBianma gysInfo getTel gysInfo getFax gysInfo getLian gysInfo getLtel gysInfo getMail gysInfo getYh 添加商品 public static boolean addSp TbSpinfo spInfo if spInfo null return false return insert insert tb spinfo values spInfo getId spInfo getSpname spInfo getJc spInfo getCd spInfo getDw spInfo getGg spInfo getBz spInfo getPh spInfo getPzwh spInfo getMemo spInfo getGysname 更新商品 public static int updateSp TbSpinfo spInfo return update update tb spinfo set jc spInfo getJc cd spInfo getCd dw spInfo getDw gg spInfo getGg bz spInfo getBz ph spInfo getPh pzwh spInfo getPzwh memo spInfo getMemo gysname spInfo getGysname where id spInfo getId 获取所有商品信息 public static List getSpInfos List list findForList select from tb spinfo return list 获取库存商品信息 public static TbKucun getKucun Item item String where spname item getName if item getId null where id item getId ResultSet rs findForResultSet select from tb kucun where where TbKucun kucun new TbKucun try if rs next kucun setId rs getString id kucun setSpname rs getString spname kucun setJc rs getString jc kucun setBz rs getString bz kucun setCd rs getString cd kucun setDj rs getDouble dj kucun setDw rs getString dw kucun setGg rs getString gg kucun setKcsl rs getInt kcsl catch SQLException e e printStackTrace return kucun 获取入库单的最大 ID 即最大入库票号 public static String getRuKuMainMaxId Date date return getMainTypeTableMaxId date tb ruku main RK rkid 在事务中添加入库信息 public static boolean insertRukuInfo TbRukuMain ruMain try boolean autoCommit conn getAutoCommit conn setAutoCommit false 添加入库主表记录 insert insert into tb ruku main values ruMain getRkId ruMain getPzs ruMain getJe ruMain getYsjl ruMain getGysname ruMain getRkdate ruMain getCzy ruMain getJsr ruMain getJsfs Set rkDetails ruMain getTabRukuDetails for Iterator iter rkDetails iterator iter hasNext TbRukuDetail details iter next 添加入库详细表记录 insert insert into tb ruku detail values ruMain getRkId details getTabSpinfo details getDj details getSl 添加或修改库存表记录 Item item new Item item setId details getTabSpinfo TbSpinfo spInfo getSpInfo item if spInfo getId null if kucun getId null kucun getId isEmpty insert insert into tb kucun values spInfo getId spInfo getSpname spInfo getJc spInfo getCd spInfo getGg spInfo getBz spInfo getDw details getDj details getSl else int sl kucun getKcsl details getSl update update tb kucun set kcsl sl dj details getDj where id kucun getId mit conn setAutoCommit autoCommit catch SQLException e try conn rollback catch SQLException e1 e1 printStackTrace e printStackTrace return true public static int update String sql int result 0 try Statement stmt conn createStatement result stmt executeUpdate sql catch SQLException e e printStackTrace return result public static List findForList String sql List list new ArrayList ResultSet rs findForResultSet sql try ResultSetMetaData metaData rs getMetaData int colCount metaData getColumnCount while rs next List row new ArrayList for int i 1 i colCount i String str rs getString i if str null row add str list add row catch Exception e e printStackTrace return list public static String getSellMainMaxId Date date return getMainTypeTableMaxId date tb sell main XS sellID 在事务中添加销售信息 public static boolean insertSellInfo TbSellMain sellMain try boolean autoCommit conn getAutoCommit conn setAutoCommit false 添加销售主表记录 insert insert into tb sell main values sellMain getSellId sellMain getPzs sellMain getJe sellMain getYsjl sellMain getKhname sellMain getXsdate sellMain getCzy sellMain getJsr sellMain getJsfs Set rkDetails sellMain getTbSellDetails for Iterator iter rkDetails iterator iter hasNext TbSellDetail details iter next 添加销售详细表记录 insert insert into tb sell detail values sellMain getSellId details getSpid details getDj details getSl 修改库存表记录 Item item new Item item setId details getSpid TbSpinfo spInfo getSpInfo item if spInfo getId null if kucun getId null update update tb kucun set kcsl sl where id kucun getId mit conn setAutoCommit autoCommit catch SQLException e e printStackTrace return true 获取更类主表最大 ID public static boolean insertXsthInfo TbXsthMain xsthMain try boolean autoCommit conn getAutoCommit conn setAutoCommit false 添加销售退货主表记录 insert insert into tb xsth main values xsthMain getXsthId xsthMain getPzs xsthMain getJe xsthMain getYsjl xsthMain getKhname xsthMain getThdate xsthMain getCzy xsthMain getJsr xsthMain getJsfs Set xsthDetails xsthMain getTbXsthDetails for Iterator iter xsthDetails iterator iter hasNext TbXsthDetail details iter next 添加销售退货详细表记录 insert insert into tb xsth detail values xsthMain getXsthId details getSpid details getDj details getSl 修改库存表记录 Item item new Item item setId details getSpid TbSpinfo spInfo getSpInfo item if spInfo getId null if kucun getId null update update tb kucun set kcsl sl where id kucun getId mit conn setAutoCommit autoCommit catch SQLException e e printStackTrace return true 添加用户 public static int addUser TbUserlist ul return update insert tb userlist values ul getUsername ul getName ul getPass ul getQuan public static List getUsers List list findForList select from tb userlist return list 修改用户方法 public static int updateUser TbUserlist user return update update tb userlist set username user getUsername name user getName pass user getPass quan user getQuan where name user getName 获取用户对象的方法 public static TbUserlist getUser Item item String where username item getName if item getId null where name item getId ResultSet rs findForResultSet select from tb userlist where where TbUserlist user new TbUserlist try if rs next user setName rs getString name trim user setUsername rs getString username trim user setPass rs getString pass trim user setQuan rs getString quan trim catch SQLException e e printStackTrace return user 2 登陆界面模块函数 package com lzw login import java awt event ActionEvent import java awt event ActionListener import java awt event KeyAdapter import java awt event KeyEvent import javax swing JButton import javax swing JFrame import javax swing JLabel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 各铁路局笔试题目及答案
- 纪检专业面试题目及答案
- 2025年高考英语真题分类汇编专题07 阅读理解说明文、议论文(全国)(原卷版)
- 临时超市搭建方案范本
- 校园文明施工方案及措施
- 自制电梯改造方案范本
- 外墙架杆搭设施工方案
- 锋范车架安全性能测试题及答案解析
- 幼儿园教师核心能力培训大纲
- 江苏塑料钢板仓施工方案
- 产业经济学02产业组织理论
- 名著阅读《朝花夕拾 狗猫鼠》课件-部编版语文七年级上册
- 燃气轮机介绍课件
- 2023年南京江宁交通建设集团有限公司招聘笔试模拟试题及答案解析
- 立体构成技法--半立体构成课件
- 2022年国家公务员考试申论真题及答案解析(地市级)
- 冠心病围术期的护理25张课件
- YYT 1244-2014 体外诊断试剂用纯化水
- DB32-T 4063-2021建筑工程施工质量鉴定标准-(高清现行)
- 3养殖水环境及控制(1)ppt课件
- 小学一年级新生学籍注册模版
评论
0/150
提交评论