实训报告.docx
《实训报告.docx》由会员分享,可在线阅读,更多相关《实训报告.docx(14页珍藏版)》请在冰豆网上搜索。
实训报告
郑州轻工业学院
实训报告
实训名称:
仓库管理系统
姓名:
。
。
。
。
院(系):
软件学院
专业班级:
。
。
。
。
。
。
。
。
。
。
。
。
学号:
。
。
。
。
。
。
。
。
。
。
。
。
。
指导教师:
梁树军、徐洁、王文冰、潘凯杰、
张建伟、袁亚丽
成绩:
时间:
2011年7月6日至2011年7月27日
目录
一、综序
1.1仓库管理系统简介--------------------------3
1.2系统流程图--------------------------------3
二、系统设计的思路和整体框架
2.1系统设计的思路----------------------------4
2.2系统整体框架------------------------------4
三、功能或者模块实现的思路
3.1各功能或者模块实现的思路------------------4
3.2模块之间的接口关系------------------------7
四、系统设计的结果
4.1登陆界面--------------------------------8
4.2部分功能界面----------------------------8
五、实训感想-----------------------------------11
一、综序
1.1仓库管理系统简介
仓储在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控制及发货,将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力。
目前公司所需产品众多,靠传统的手工管理方式很不方便,传统简单、静态的仓储管理已无法保证企业各种资源的高效利用。
如今的仓库作业和库存控制作业已十分复杂化多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大损失。
本系统产品的信息有产品编号,名称,价格,库存量,类别等。
每个产品对应一个供应商,供应商的信息有供应商编号,名称,城市等。
产品通过供应商编号得知该产品由哪个供应商提供,用户可以添加产品、删除产品、产品进货、产品出货。
供应商的信息有供应商编号,名称,城市等,用户可以添加供应商、删除供应商、修改供应商。
而且可以根据条件查询产品、导出查询结果集、导入文件数据。
另外还提供密码修改功能,提供系统参数设置功能,如界面风格改变成Windows风格,背景颜色,背景画面,字体等设定。
登陆页面友好,不仅能够为用户提供快捷、方便的登陆方式,而且能够为用户提供友好、方便的业务操作页面。
本系统规范仓库管理,实现信息化管理仓库,方便仓库管理员管理仓库,以便于相关部门查看有关物料的库存及相关信息等,及时采购,销售等。
通过有效控制库存,大大减少资金占用,提高资金周转速度,从而提高企业的经济效益。
另外对相关数据进行统计分析,提取出重要的信息元素给企业的决策者,从而做出正确的决策。
最终提高企业的核心竞争力。
另外系统采用C/S架构(客户端/服务器)三层架构,并对数据库进行连接。
对产品管理实现了添加产品,删除产品,产品进货,产品出货等功能;对供应商管理实现了添加供应商,删除供应商,修改供应商等功能;另外还提供了查询产品,修改密码,导出查询结果集等功能。
解决了以前信息陈旧滞后的弊病。
不论物品流向哪里,我们都可以自动跟踪,并以快速、准确、低成本的方式为客户提供最好的服务。
1.2系统流程图
二、系统设计的思路和整体框架
2.1系统设计的思路
1,建立数据表;在Mysql中建立数据表,将需要的数据输入到数据表中,以便以下的程序对其进行调用。
2,连接数据库;这是访问数据库不可缺少的一步。
3,系统登陆界面;注意添加错误信息提示功能,对密码实现不可见操作。
4,系统主界面;其中包括基本数据,进出货管理,查询视图,系统管理四个切换键,每个切换键中又包含不同的功能键,从而实现不同的功能。
5,供应商与商品信息管理;与数据库进行连接,要实现对其可以进行添加与删除的操作。
6,进出货管理;
7,操作员的添加与删除;
8,对用户的密码进行修改。
这也需要与数据库进行交互。
2.2系统整体框架
三、功能或者模块实现的思路及模块之间的接口关系
3.1各功能或者模块实现的思路
《一》
JLabeltitle=newJLabel("仓库管理系统");//添加一个标签式的标题。
title.setBounds(140,50,400,50);//设置标题的位置与大小。
title.setFont(newFont("",0,32));//设置字体大小。
title.setForeground(Color.black);//设置字体颜色。
《二》
btnOk=newJButton("登入");//添加一个按钮。
btnOk.setBounds(110,230,90,30);
LoginListenerloginListener=newLoginListener();//初始化一个监听。
btnOk.addActionListener(loginListener);//对这个按钮添加监听。
《三》
以下代码是验证输入的用户名和密码是否正确的语句,如果错误,显示提示信息,如果正确,跳转到下一个页面。
switch(flag){
case-1:
lblFlagName.setText("用户名错误,请重新输入!
");
txtUserName.setText("");
pwdPassword.setText("");
break;
case0:
lblFlagPassword.setText("用户名错误,请重新输入!
");
txtUserName.setText("");
pwdPassword.setText("");
break;
case1:
//本句是跳转到下一个界面的语句。
newStorage();
user=newUserData();
user.setUserName(strUsername);
UserLogin.this.setVisible(false);
break;
case2:
sysError.setText("错误");
txtUserName.setText("");
pwdPassword.setText("");
break;
}
《四》
以下代码是添加切换键的语句。
tabbedPane.addTab("基本数据",null,baseManagePanel,"基本数据");
tabbedPane.addTab("进货出货管理",null,depotManagePanel,"进货出货管理");
tabbedPane.addTab("查询视图",null,searchStatisticPanel,"查询视图");
tabbedPane.addTab("系统管理",null,sysManagePanel,"系统管理");
《五》
removePanel=newJPanel();//初始化一个面板。
removePanel.setLayout(null);//设置布局方式为空。
removePanel.setBounds(40,30,520,260);
removePanel.setBorder(BorderFactory.createTitledBorder("修改与删除供应商信息"));//在原Panel中添加一个面板。
《六》
Telephone=newJTextField();//初始化一个文本框。
Telephone.setBounds(100,110,160,20);
Telephone.setEditable(false);//文本框设置为不可编辑的形式。
Telephone.addKeyListener(newInputKeyListener());//对键盘事件设置一个监听。
《七》
以下部分代码是一个错误信息提示框代码。
if(supplierHandler.isExistSupplierById(intSupId)){
JOptionPane.showMessageDialog(AddSupplierPanel.this,
"No."+intSupId+"供应商已经存在,请重新输入",
"Results!
",JOptionPane.WARNING_MESSAGE);
}
《八》
publicSupplierManagePanel(){
setIconifiable(true);//设置面板是否可以缩放。
setClosable(true);//设置面板是否可以关闭。
setTitle("供应商管理");
JTabbedPanetabPane=newJTabbedPane();
finalAddSupplierPaneladdSupplierPanel=newAddSupplierPanel();
finalModifySupplierPanelmodifySupplierPanel=newModifySupplierPanel();
tabPane.addTab("添加供应商",null,addSupplierPanel,"添加供应商");
tabPane.addTab("修改与删除供应商",null,modifySupplierPanel,"修改与删除供应商");
getContentPane().add(tabPane);
pack();
setVisible(true);
}
《九》
以下部分程序是连接数据库的语句。
Stringsql="updatesupplierssetsup_name=?
sup_address=?
"
+"postcode=?
sup_telephone=?
sup_fax=?
"+
"sup_relationer=?
sup_email=?
wheresup_id=?
";
《十》
publicintgetSupplierId(){
returnsupplierId;
}//得到输入的Id。
publicvoidsetSupplierId(intsupplierId){
this.supplierId=supplierId;
}//将输入的Id放入数据库中。
3.2模块之间的接口关系
a,用户登录与主界面之间的连接。
importreal.action.dao.LoginDao;//将LoginDao添入。
importreal.action.data.UserData;将UserData添入。
importreal.action.view.main.Storage;将Storage添入。
privateclassLoginListenerimplementsActionListener{//实现'ActionListener'接口。
publicvoidactionPerformed(ActionEvente){
LoginDaologinHandler=newLoginDao();//定义一个新LoginDao。
StringstrUsername=txtUserName.getText().trim();
char[]chrPassword=pwdPassword.getPassword();
StringstrPassword=newString(chrPassword);
if((strUsername).equals("")){//判断用户名是否为空。
JOptionPane.showMessageDialog(cont,"用户名不能为空!
","Caution",JOptionPane.WARNING_MESSAGE);//面板提示错误信息框。
return;
}
}
publicstaticUserDatagetUser(){
returnuser;//得到输入的user。
}
publicstaticvoidsetUser(UserDatauser){
UserLogin.user=user;//将输入的user.,,放入数据库中。
}
b,对mysql进行连接。
#=====================lutao.mysql=================
driver=com.mysql.jdbc.Driver
url=jdbc:
mysql:
//localhost:
3306/aicdata
user=root
password=admin
4.1登陆界面
1、登录页面实现用户身份的认证。
并提供错误信息提示功能。
4.2部分功能界面
1、用户身份认证后的第一个界面如图所示,其主要功能是展示系统功能和功能选择。
其中包括基本数据,进出货管理,查询视图,系统管理四个切换键,每个切换键中又包含不同的功能键。
2、供应商管理系统界面,提供了添加和删除的功能。
3、商品的进出货情况界面。
4、商品信息及供应商信息查询界面。
5、添加与删除操作员界面。
6、修改密码界面。
五、实训感想
为期十二天的仓库管理系统的制作在紧张和忙碌中度过,虽然时间不长,但还是让我学到了不少东西,对于编程也有了相当程度的理解。
通过这个程序设计,我了解了数据库应用系统的设计过程和基本流程,通过Eclipse编程和数据库设计实践了仓库管理系统的应用。
在实现的过程中,遇到了不少的问题和困难,但在各位老师和同学的帮助下,成功的解决了这些问题。
通过十二天的仓库管理系统的制作,我学会一点数据库设计,虽然,掌握得还很浅薄,但对于我来说,有着重大的意义。
一个学期JAVA的学习,在这十二天终于得到了一些成果,成果虽小但给我带来了许多的信心。
我相信我可以再今后的日子里做得更好。
另外以前在JAVA课上学的仅仅是理论上的知识,这次的课程设计让我们感受到了课上的东西用到实处的难处。
让我们知道了要做到学以至用必须要在学习理论知识的同时要联系实际,多实践来提高对课本知识的认识,光看书、光学习理论是没有出路的,有句话说的好:
“实践才能出真知。
”这样才可以把所学习的东西发挥到实处来。
这次的仓库管理系统设计,我受益颇多。
这次设计的仓库管理系统还有很多不完善的地方,还需要改进,所以仓库管理系统设计虽然结束了,但是我会继续把自己没有完善的地方加以完善,努力做到最后,为自己以后能掌握更多的知识和找到一个理想的工作打下坚实的基础。
本次实验的设计课题仓库管理系统课程设计。
在经过十二天的忙碌和准备后,总算是完成了。
通过本次实训发现自己对知识的运用还不是很熟练,为了以后能在工作岗位上能有较好的收获还应该在课后把知识复习几遍,使理论与实践更好的结合,最终达到学以致用的目的。
这次的实训锻炼了自己的自主学习的能力,以后要在这方面多培养自己,在做作业的过程中我发现,自己必须有一个好的工作态度,否则会很容易出现错误,在输入数据时一定要认真,不能有一点马虎,否则后果不堪设想。
由于经验的匮乏,难免有许多考虑不周全的地方,如果没有老师的督促指导,以及一起学习的同学们的大力帮助与支持,想要完成这个设计是难以想象的,而且在实验过程中将会遇到许许多多不可克服的难题。
本次课程设计是在老师的精心指导下和其他同学的大力帮助下完成的。
每位老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生了重要影响。
他们渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。
同时,在此次课程设计过程中我也学到了许多了关于数据库方面的知识,实验技能有了很大的提高,编程能力也得到进一步提高。
本次对仓库管理系统的设计使我在今后的学习当中,有了明确的方向与目标。
我相信,只要我能坚持不懈的努力下去,我一定能够把这方面的知识掌握的更牢固!