物资管理系统课程设计报告书.docx
《物资管理系统课程设计报告书.docx》由会员分享,可在线阅读,更多相关《物资管理系统课程设计报告书.docx(27页珍藏版)》请在冰豆网上搜索。
物资管理系统课程设计报告书
*******************
实践教学
*******************
软件学院
2012年春季学期
Java课程设计说明书
题目:
物资管理
专业班级:
软件工程(3)班
姓名:
------
学号:
---------
指导教师:
------------
成绩:
1.1项目背景..........................................................................................................................................1
1.2系统介绍..........................................................................................................................................1
1.3非功能需求.....................................................................................................................................2
3、详细设计................................................................................................................................................4
4、运行调试与分析讨论........................................................................................................9
4.2物资管理首页模块........................................................................................................................11
4.3修改密码模块................................................................................................................................12
4.4添加物资模块................................................................................................................................14
4.5物资删除模块................................................................................................................................15
4,.6物资修改模块...............................................................................................................................16
4.7物资查询模块................................................................................................................................18
4.8生成订单与查询模块....................................................................................................................20
4.9物资信息排序模块........................................................................................................................21
4.10帮助功能模块..............................................................................................................................23
摘要
在信息时代的今天,计算机参与企业日常业务管理已经成为企业现代化建设的当务之急。
物资管理信息系统的设计开发正是适应了这种要求。
物资管理信息系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备,易使用等特点。
我使用eclipse开发工具,利用其提供的各种面向对象的开发工具,用SQLServer2012作为数据库管理系统。
简单介绍了该系统的编程环境和实现关系型数据库。
在可行性研究和需求分析的基础上,对系统的设计方案、功能模块、数据库设计和系统的测试等进行了较详细的论述。
本系统主要由系统登录、密码修改、货物资料管理、订单管理模块构成,采用SQLServer2012大型数据库,具备强大的数据存储、查询功能,能充分满足数据量和用户多角度数据查询。
关键词:
物资管理、eclipse、SQLServer2012、面向对象、系统开发、数据库
序言
处在信息技术时代,每个人都深切感受到技术革新为我们带来的巨大便利。
这些技术(特别是计算机技术)彻底改变了我们的工作、生活的方式与节奏。
而在现代企业管理中,计算机也成为了必不可少的管理工具,它大大减轻了管理人员的工作负担,把人们从烦琐重复的工作中解放出来。
所谓物资管理,是指企业在生产过程中,对本企业所需物资的采购、使用、储备等行为进行计划、组织和控制。
物资管理的目的是,通过对物资进行有效管理,以降低企业生产成本,加速资金周转,进而促进企业盈利,提升企业的市场竞争能力。
企业的物资管理,包括物资计划制订、物资采购、物资使用和物资储备等几个重要环节,这些环节环环相扣、相互影响,任何一个环节出现问题,都将对企业的物资供应链造成不良影响。
因此,在市场异常活跃的今天,物资管理已不能用“计划”、“配额”、“定量”等几个简单概念进行诠释,它已经成为现代企业管理的重要组成部分,成为企业成本控制的利器,成为企业生产经营正常运作的重要保证,成为企业发展与壮大的重要基础。
众所周知,由于受传统计划经济的影响,在很长一段时期里,我国企业的物资管理模式被深深地烙上了“计划”的印记,按产量指标粗略制定物资计划、仅向少量指定供货商采购物资、无限量加大物资库存等现象屡见不鲜。
因此,创新企业物资管理模式并使其顺应现代企业的发展潮流,已经显得愈发重要了。
我国企业经过近三十年的改革与探索,在企业物资的计划、采购、使用、储备等管理环节上取得了诸多进展和成果。
在物资管理管理中,物资多,数量大,流动频繁,管理人员要面对大量的物资信息,如果采用手工记录方式,效率低、费时费力不说,还容易造成失误,给管理带来巨大的困难与不便。
为此,需要一种专门的计算机软件对仓库物资信息进行管理,包括物资基本信息、物资入库信息,物资出库信息、物资余额信息等的添加、删除、修改、查询等功能。
1、需求分析
1.1项目背景
物资管理系统是为确保施工生产高效运行,实现节约材料,降低工程成本,提高经济效益,充分发挥物资管理系统在企业项目责任成本管理中的作用而研发的一款软件。
物资管理是企业管理项目的重要组成部分,也是企业项目生产前的重要而复杂的准备工作。
对工程所需物资的计划,采购和管理过程实施有效的控制,满足产品的质量,符合设计要求,保证施工生产需要、优质、高效安全,确保项目部综合管理目标的实现。
1.2系统介绍
本系统定位于中小型仓库,以SQLServer2012为后台数据库,可在网络环境下的实现;操作系统选择目前常用的Windows7。
本系统功能应包含物资基本信息管理、物资入库管理、物资出库管理、物资订单管理等。
系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。
1.2.1用户需求
物资管理系统在设计时应充分满足企业的现实需求,同时也考虑到未来的发展,考虑到了适应信息化的发展要求。
具体表现在:
(1)利用信息系统建立起完整的物资管理管理体系;
(2)能连接数据库并实现添加、删除、修改、查询等功能;
(3)能对用户信息进行修改;
(4)根据库存数量产生订单,能进行相关信息的统计分析,排序,打印等;
(5)查询结果可以导出到Excel表中,方便报表数据的使用;
(6)实现帮助功能。
1.2.2性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,物资管理系统应该满足以下的性能需求:
(1)数据处理的及时性,准确性
系统处理的准确性和及时性是系统的必要性能。
本系统在设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。
由于本系统的各种数据对于整个系统的功能和性能举足轻重,因此其准确性在很大程度上决定了系统功能和性能。
在系统开发过程中,必须采用一定的数据验证方法确保数据的准确性。
(2)数据安全性
系统数据的安全性在整个系统中占有十分重要的地位。
任何系统都应保证数据的安全性。
(3)系统的易用性
本系统是直接面向业务操作员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,缩短用户对系统熟悉的过程。
1.3非功能需求
用户界面需求:
简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。
软件质量需求:
易用、健壮、兼容性好、运行稳定、有一定安全保障。
2、设计思路
2.1处理流程
总体流程图1如下:
图1系统流程图
2.2物资管理系统E-R图
E-R图也即实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
(1)实体型:
用矩形表示,矩形框内写明实体名;比如用户、物资等都是实体。
(2)属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来;比如管理员的用户名、密码都是属性。
(3)联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。
本系统实体图2如下。
图2物资管理系统E-R图
3、详细设计
详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。
详细设计的目标有两个:
实现模块功能的算法要逻辑上正确;算法描述要简明易懂。
3.1各功能模块流程图
3.1.1登陆程序流程图
登录界面中,所有用户登录都要进行身份的验证,通过身份的标志确定用户权限和功能界面。
如图3所示:
图3登陆程序流程图
3.1.2修改密码流程图
修改密码流程图4如下:
图4修改密码流程图
3.2数据库设计
3.2.1数据库的概念及特点
(1)数据库的概念
J.Martin给数据库下了一个比较完整的定义:
数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
(2)数据库的特点
1)实现数据共享
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
2)减少数据的冗余度
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。
减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
3)数据的独立性
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
4)数据实现集中控制
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。
利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
5)数据一致性和可维护性,以确保数据的安全性和可靠性
主要包括:
①安全性控制:
以防止数据丢失、错误更新和越权使用;②完整性控制:
保证数据的正确性、有效性和相容性;③并发控制:
使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏
6)故障恢复。
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。
数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。
比如对系统的误操作造成的数据错误等。
3.2.2数据库表设计
(1)物资信息表:
物资信息表是能对物资(包括物资名称、物资ID、类别、数量、品牌型号、价格、时间)信息进行添加、删除、修改、查询。
如所示:
汽车管理表
属性
数据类型
字段长度
是否主键
说明
物资名称
文本
50
是
物资ID
文本
8
否
类别
文本
50
否
数量
文本
50
否
品牌型号
文本
50
否
价格
文本
50
否
时间
文本
50
都
(2)管理员表
管理员表
属性
数据类型
字段长度
是否主键
说明
admin
文本
50
是
passage
文本
50
否
(3)订单表
订单表
属性
数据类型
字段长度
是否主键
说明
订单号
文本
50
是
物资名称
文本
50
否
物资ID
文本
50
否
发送地
文本
50
否
收单人
文本
50
否
所收金额
文本
50
否
接收时间
文本
50
否
4、运行调试与分析讨论
4.1登录模块
用户通过登录界面进入系统菜单,对物资进行操作,登录时,用户名与密码要与数据库中的数据相同,否则提示错误。
部分代码设计
Stringdrv="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Stringurl="jdbc:
sqlserver:
//127.0.0.1:
1433;DatabaseName=aaa";
Stringuser="chao";
Stringpwd="123";
Connectionconn=null;
ResultSetrs=null;
Statementstmt=null;
try{
Class.forName(drv);
conn=DriverManager.getConnection(url,user,pwd);
stmt=conn.createStatement();rs=stmt.executeQuery("select*fromlandwhereadmin='"+name+"'");
if(rs.next())//如果存在,就验证密码
{
if(rs.getString
(2).equals(mima))//如果密码正确就提示,反之
{
JOptionPane.showMessageDialog(null,"物资管理系统欢迎您");
frame.setVisible(false);
new物资管理首页();
}
4.2物资管理系统首页模块
4.3修改密码模块
部分代码设计
rs=stmt.executeQuery("select*fromlandwhereadmin='"+name+"'");
if(rs.next())
{
if(rs.getString("passage").equals(mima))
{
ps=conn.prepareStatement("updatelandsetpassage='"+passwordField_1.getText().toString()+"'whereadmin='"+textField.getText()+"'");
ps.executeUpdate();
JOptionPane.showMessageDialog(null,"操作成功!
","提示",JOptionPane.INFORMATION_MESSAGE);
}
4.4添加物资模块
部分代码设计
Stringsql="INSERTINTOwuzixinxiVALUES('"+textField.getText()+"','"+textField_1.getText()+"','"+textField_2.getText()+"','"+textField_3.getText()+"','"+textField_4.getText()+"','"+textField_5.getText()+"','"+textField_6.getText()+"')";
rs=stmt.executeQuery(sql);
4.5物资删除模块
部分代码设计
rs=stmt.executeQuery("select*fromwuzixinxiwhere名称='"+yhm+"'");
4.6物资修改模块
部分代码设计:
rs=stmt.executeQuery("select*fromwuzixinxiwhere名称='"+name+"'");
if(rs.next())
{
Object[]options={"确定","取消"};
intresponse=JOptionPane.showOptionDialog(null,"您确定修改?
","",JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE,null,options,options[0]);
if(response==0)
{
ps=conn.prepareStatement("updatewuzixinxiset名称='"+textField_2.getText()+"',物资ID='"+textField_3.getText()+"',类别='"+textField_4.getText()+"',数量='"+textField_5.getText()+"',品牌型号='"+textField_6.getText()+"',价格='"+textField_7.getText()+"',时间='"+textField_8.getText()+"'where名称='"+name+"'");
ps.executeUpdate()
4.7物资查询模块
部分代码设计
rs=stmt.executeQuery("select*fromwuzixinxiwhere名称='"+textField.getText()+"';");
4.8生成订单与查询模块
部分代码设计
Stringsql="INSERTINTO订单VALUES('"+textField.getText()+"','"+textField_1.getText()+"','"+textField_2.getText()+"','"+textField_3.getText()+"','"+textField_4.getText()+"','"+textField_5.getText()+"','"+textField_6.getText()+"')";
rs=stmt.executeQuery(sql);//查询语句
4.9物资信息排序模块
部分代码设计
rs=stmt.executeQuery("select*fromwuzixinxiorderby物资IDasc");
break;
case1:
rs=stmt.executeQuery("select*fromwuzixinxiorderby物资IDdesc");
}
4.10帮助功能模块
5、设计体会与小结
历时四个礼拜的课程设计终于完成了,这次的课程设计使我们受益匪浅。
首先老师给我们安排的任务是一人一个题目,这就要求我们全部参加到其中去,在完成任务的过程中,我们遇到了许多的困难,比如如何使用数据库、如何将程序连接到数据库等等一系列的问题,都让我们感到非常的难以实现,但是经过一段时间的查阅图书、查阅网上资料、询问老师以及同学,我们终于将一个一个的困难克服。
这次课设对我们最大的好处就是对JAVA的知识的巩固以及通过自学数据库库而对数据库有了从无到有的了解以及使用,这对我们下学期的课程也是非常有帮助的。
当然这次的课设也反映出我们平时学习中的一些问题,如学习部主动、学习知识不扎实等,以至于我们在课设时遇到的困难难么多,而且一开始还无从下手。
通过三个礼拜的学习,我们也认识到了自主学习的重要性以及强大的能量,如果总是等着老师来教的话,我们能学到的东西确实有限,而自己利用课余时间的学习才是我们大学学习最有效的学习手段。
由于我的水平有限,设计中肯定存在有不足之处,有待于在今后的实践中不断完善和改进,敬请各位老师给予批评和指正。
这次的课设让我们每一个人都学到了很多,谢谢老师们的辛苦工作!
参考文献
[1]丁振凡.Java语言实用教程.北京:
北京邮