进销存管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。
一.开发背景
由于公司发展需要,原有管理系统已不能满足业务需要,需要有更新的进销存管理系统来协助公司进行管理.
二.需求分析:
公司业务不断发展,原料及产品的进出愈加频繁且中间操作环节更加复杂,原有的管理系统在公司越来越快的发展下已经面临崩溃,仓库的管理需要重新规划,因此需要建立数据库和相配套的高级软件系统来进行管理。该数据库能够对客户,商品,供应商信息进行添加,删除,修改,同时能够进货,销售,查询,库存,系统等信息进行操作查询;要求本系统应具有以下特点:
1.具有良好的系统性能,友好的用户界面.
2.较高的处理效率,便于使用和维护.
3.采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期.
4.系统尽可能简化公司管理的难度,便于提高工作效率.
5.简化数据查询,统计难度
三:系统目标
通过以上需求分析,该系统应达到以下目标.
1.界面设计友好,美观
2.数据存储安全,可靠
3.信息分类清晰,准确
4.强大的查询功能,保证数据查询的灵活性
5.操作简单
6.系统安全,稳定
7.占用资源少,对硬件要求低
8.提供灵活,方便的权限设置功能,是整个系统那个的管理分工明确
系统功能结构
进销存管理系统分为6大功能模块,包括基础信息管理,进货管理,销售管理,查询管理,库存管理,系统管理.具体功能模块如下图:
图1-1 进销售管理系统功能结构
首先画出ER图
1-2客户信息实体图:
1-3商品信息实体图
1-4供应商信息实体图
1-5进货单实体图
1-6退货单实体图
1-7销售单实体图
1-8销售退货单实体图
1-9库存实体图
1-10管理员实体图
在access2008画出表之间的关系图:如下图2-1
数据库驱动类设计
private static String jdbcDrive ="sun.jdbc.odbc.JdbcOdbcDriver";
private String strcon = "jdbc:odbc:njue1"; //连接字符串
private Connection conn = null; //连接对象
private PreparedStatement pstm = null;
private CallableStatement cstm = null;
* 单态模式获取实例
* @return SqlManager对象
*/
public static SqlManager createInstance()
{
if (manager == null)
{
manager = new SqlManager();
manager.initDB();
}
return manager;
}
/**
* 初始化连接参数,由指定的DBType生成
*/
public void initDB()
{
try
{
Class.forName(jdbcDrive);
}
catch (Exception e)
{
System.err.println("initDB Error!" + e.getMessage());
e.printStackTrace();
}
System.out.println("成功加载驱动类!");
}
/**
* 连接数据库
*/
public void connectDB()
{
try
{
conn = DriverManager.getConnection(strcon); // 获取连接
conn.setAutoCommit(false); //设置自动提交为false
}
catch (Exception e)
{
System.err.println("connectDB Error!" + e.getMessage());
e.printStackTrace();
return;
}
System.out.println("成功连接到数据库!");
}
1.登陆窗口
图2-2
public LoginFrame()
{
super("进销存管理系统");
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
System.out.println(screenSize);
this.setBounds(screenSize.width / 3, screenSize.height / 3, 330, 230);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
submit = new JButton("确定");
submit.addActionListener(this);
cancel = new JButton("取消");
cancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)