Java程序设计课程设计产品管理系统
组内分工情况:
学号
姓名
分工
组长
36号
宋
产品管理系统的出库与入库管理及相关界面
组员
33号
刘
产品管理系统的管理员管理及相关界面
35号
孙
产品管理系统的产品相关信息管理及相关界面
18号
鞠
产品管理系统的库存管理、数据库及相关界面
及依据
通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧,提高学生用程序的思想来解决实际问题的能力。
2.设计的主要内容及要求
设计题目:产品管理系统
需要完成的功能:
⑴ 操作员管理:用户登录及对操作员进行管理。
⑵ 产品信息管理:对产品信息进行添加、查询及修改。
⑶ 产品入库管理:实现对产品入库信息的数据管理操作;产品出库管理:实现对产品出库信息的数据管理操作。
⑷ 产品库存信息查询与修改:对库存信息进行查询与修改。
3.对设计说明书撰写内容、格式、字数的要求
⑴ 学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。
⑵ 装订格式
封面、任务书、成绩评审意见表、摘要和关键词、目录、正文、结论、致谢、参考文献。
⑶ 课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,三级节标题采用黑体小四号字,表题与图题采用宋体五号字。
4. 设计完成后应提交成果的种类、数量、质量等方面的要求
⑴ 课程设计任务书
⑵ 课程设计报告
⑶ 设计成品(光盘)
5.时间进度安排
顺序
阶段日期
计 划 完 成 内 容
备注
1
7.9
查阅资料,充分解读题目内容,小组分工,确定每个人的具体任务。
1天
2
7.10
数据库设计及登陆界面的实现。
0.5天
3
7.10-12
程序编制,程序整合。
2.5天
4
7.12
答辩。
0.5天
5
7.13
撰写课程设计报告。
1天
北京:外文出版社
⑵ Harvey M.Deitel/Paul J.Deitel.java 2程序设计教程.北京:机械工业出版社
⑶ 黄明/梁旭/曹利超.Java信息系统设计与开发实例.北京:机械工业出版社
⑷ 陈烨/张蓓.JDK1.5类库大全.北京:清华大学出版社
摘 要
由于物资生产的重要地位,生产管理具有举足轻重的作用,起计算机化在发达国家已达到95%以上,而我国在全国范围内推广计算机在管理中的应用,是在20世纪80年代初开始的。我国的计算机化管理起步虽晚,但发展快。特别是微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。
入库、库存、出库还是现在企业生产管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如:基于零库存思想的沃尔玛管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好生产管理系统,尽量减少生产管理的重复性和低效性就成为当前最重要的问题。商品生产管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。另外,员工信息和商品信息管理也是生产管理中一个必不可少的部分,它提供着与入库和出库相关的一些信息,使得整个系统更加完整、实用。我们通过对生产管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,从而设计出本系统,本系统是一个适应现今商品生产管理要求的计算机信息管理系统,具有一定的实际开发价值和使用价值。
本系统目标是实现入库、库存和出库统一管理,帮助企业实现产品信息化管理。通过统一管理,企业在入库、库存和出库各个环节的物流流向清晰,即可以动态掌握订单的执行情况,又可以随时掌握货存的现存量信息,从而减少盲目采购,避免库存积压。另外本系统采用JAVA语言进行开发,使系统具有兼容性好、速度快和安全性高的特点。
关键词 产品管理系统、产品进销存、JAVA程序、JBuilder、数据库设计目 录摘要……………………………………………………………………………..Ⅰ1引言…………………………………………………………………………12设计内容…………………………………………………………………22.1小组总体框架………………………………………………………………….22.2本次负责设计的功能模块…………………………………………………….22.3 小组分工表…………………………………………………………………23 数据库设计……………………………………………………………………………...4 3.1数据库需求分析…………………………………………………………….4 3.2数据库表设计…………………………………………………….44详细设计………………………………………………………………7 4.1主界面模块……………………………………………………….74.2产品出库信息管理模块…………………………………………….8 4.2.1此部分功能代码……………………………………….. .84.3产品入库信息管理模块………………………………………………10 4.1.3此部分功能代码……………………………………………. .10结…………………………………..13致14参考文献63
Java程序设计课程设计产品管理系统
1引言
由于物资生产的重要地位,生产管理具有举足轻重的作用,起计算机化在发达国家已达到95%以上,而我国在全国范围内推广计算机在管理中的应用,是在20世纪80年代初开始的。我国的计算机化管理起步虽晚,但发展快。特别是微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。
入库、库存、出库还是现在企业生产管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如:基于零库存思想的沃尔玛管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好生产管理系统,尽量减少生产管理的重复性和低效性就成为当前最重要的问题。商品生产管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。另外,员工信息和商品信息管理也是生产管理中一个必不可少的部分,它提供着与入库和出库相关的一些信息,使得整个系统更加完整、实用。我们通过对生产管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,从而设计出本系统,本系统是一个适应现今商品生产管理要求的计算机信息管理系统,具有一定的实际开发价值和使用价值。
本系统目标是实现入库、库存和出库统一管理,帮助企业实现产品信息化管理。通过统一管理,企业在入库、库存和出库各个环节的物流流向清晰,即可以动态掌握订单的执行情况,又可以随时掌握货存的现存量信息,从而减少盲目采购,避免库存积压。另外本系统采用JAVA语言进行开发,使系统具有兼容性好、速度快和安全性高的特点。
2设计内容
2.1小组总体框架
该项目是对一个鞋厂的产品信息及出入库情况进行管理的系统,主要包括操作员的权限管理、产品信息管理、产品入库、产品入库信息查询与修改、产品出库、产品出库信息查询与修改、产品库存信息查询与修改、产品库存情况图形化显示等几个部分。
系统主要划分为以下七个模块:
操作员管理模块:实现操作员的登录及操作用户的添加,更改密码和删除用户的管理。
产品信息管理模块:负责对产品信息进行添加和更新管理。并可查询所有产品信息。
入库操作模块:产品入库及入库管理。
出库操作模块:产品出库及出库管理。
库存信息管理模块:对库存信息进行管理。
库存信息图形显示模块:对指定查询进行分析,得到图形化的显示。
数据操作模块:封装对数据库的操作。
系统总体结构如(图2-1所示)。
2.2本次设计负责的功能模块
本次课程设计所负责的是关于入库操作模块:产品入库及入库管理;出库操作模块:产品出库及出库管理。
2.3 小组分工表
本次课程设计小组组员分工情况(如表2-1所示)。
表2-1 小组组员分工情况表
模块 姓名
宋
刘
孙
鞠
操作员管理模块
√
产品信息管理模块
√
入库操作模块
√
出库操作模块
√
库存信息管理模块
√
库存信息图形显示模块
√
数据操作模块
√
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图2-1 产品管理系统总体结构图
Java程序设计课程设计产品管理系统
3 数据库设计
3.1数据库需求分析
该系统包括产品信息表Productinfo(如表3-1所示)、产品入库信息表ProductIn(如表3-2所示)、产品出库信息表ProductOut(如表3-3所示)、产品库存信息表ProductStore(如表3-4所示)和用户表User(如表3-5所示)。
3.2数据库表设计
表3-1 产品信息表Productinfo
名称
字段名称
数据类型
主键
非空
标识
ID
自动编号
Yes
Yes
名称
Name
文本
No
Yes
负责人
Principal
文本
No
Yes
所属部门
Department
文本
No
No
单位
Unit
文本
No
No
单价
Unitprice
文本
No
No
商品描述
Comment
文本
No
No
表3-2 产品入库信息表ProductIn
名称
字段名称
数据类型
主键
非空
标识
ID
自动编号
Yes
No
款型
Model
文本
No
Yes
颜色
Color
文本
No
Yes
入库日期
Datein
文本
No
Yes
操作员
Operator
文本
No
Yes
备注
Comment
文本
No
Yes
本鞋号数量
Number36
数字
No
Yes
本鞋号数量
Number37
数字
No
Yes
本鞋号数量
Number38
数字
No
Yes
本鞋号数量
Number39
数字
No
Yes
本鞋号数量
Number40
数字
No
Yes
本鞋号数量
Number41
数字
No
Yes
本鞋号数量
Number42
数字
No
Yes
本鞋号数量
Number43
数字
No
Yes
本鞋号数量
Number44
数字
No
Yes
表3-3 产品出库信息表ProductOut
名称
字段名称
数据类型
主键
非空
标识
ID
自动编号
Yes
No
款型
Model
文本
No
Yes
颜色
Color
文本
No
Yes
入库日期
Datein
文本
No
Yes
操作员
Operator
文本
No
Yes
备注
Comment
文本
No
Yes
本鞋号数量
Number36
数字
No
Yes
本鞋号数量
Number37
数字
No
Yes
本鞋号数量
Number38
数字
No
Yes
本鞋号数量
Number39
数字
No
Yes
本鞋号数量
Number40
数字
No
Yes
本鞋号数量
Number41
数字
No
Yes
本鞋号数量
Number42
数字
No
Yes
本鞋号数量
Number43
数字
No
Yes
本鞋号数量
Number44
数字
No
Yes
表3-4 产品库存信息表ProductStore
名称
字段名称
数据类型
主键
非空
标识
ID
自动编号
Yes
No
款型
Model
文本
No
Yes
颜色
Color
文本
No
Yes
本鞋号数量
Number36
数字
No
Yes
本鞋号数量
Number37
数字
No
Yes
本鞋号数量
Number38
数字
No
Yes
本鞋号数量
Number39
数字
No
Yes
本鞋号数量
Number40
数字
No
Yes
本鞋号数量
Number41
数字
No
Yes
本鞋号数量
Number42
数字
No
Yes
本鞋号数量
Number43
数字
No
Yes
本鞋号数量
Number44
数字
No
Yes
表3-5 户表User
名称
字段名称
数据类型
主键
非空
标识
ID
自动编号
Yes
No
用户名
Username
文本
No
Yes
密码
Password
文本
No
Yes
权限种别
Power
文本
No
Yes
Java程序设计课程设计产品管理系统
4详细设计
首先建立一个名为ProductManager的工程文件,再在其中建立一个名为Manager的应用程序,然后开始以下操作工作。
4.1主界面模块
主模块负责应用程序的主界面,由它调用其他模块。因此主模块应该具有操作性好、界面清晰的特点,使用户能够很方便地找到所需功能(如图4-1所示)。
图4-1 产品管理系统主界面
根据功能需求和总体设计的结果,主界面模块应该由操作员登陆、操作员管理、入库管理、出库管理和库存管理组成。可以通过点击菜单项进入相应的功能模块。其中帮助为待加项,留待日后扩充和完善。4.2产品出库管理模块
这部分要实现将产品数量信息更新到数据库的功能,用户需要提供产品的数量和其他相关信息。
还要实现对产品出库的历史记录进行查询及修改的操作。我们所要显示的信息包括:款型、出库日期、颜色、操作员、备注和相应鞋码的鞋的数量。由于查询结果是多条的,因此要可以显示查询结果集中的所有记录。
界面设计(图4-2)如下:
图4-2 产品出库设计图
4.2.1此部分功能代码
void jButtonAdd_mouseClicked(MouseEvent e) {
//判断款型和颜色是否全部为空,若为空的弹出警告信息 if(jTextkuanxing.getText().trim().equals("")&&jTextkuanxing.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null," 款型和颜色不许全部为空!");
return;
}
String sql;
sql="select * from ProductStore ";
sql=sql+" where Model='"+jTextkuanxing.getText().trim()+"'";
sql=sql+" and Color='"+jCombocolor.getSelectedItem().toString().trim() +"'";
rs =db.getResult(sql);
try {
//如果已存在,则将原数据库中的数目减去新减去的数目并执行更新操作
if(rs.first()) { sql="updateProductStoresetNumber36=Number36-"+jText36.getText().trim()+",";
sql = sql + " Number37=Number37-" + jText37.getText().trim() + ",";
sql = sql + " Number38=Number38-" + jText38.getText().trim() + ",";
sql = sql + " Number39=Number39-" + jText39.getText().trim() + ",";
sql = sql + " Number40=Number40-" + jText40.getText().trim() +",";
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
//若不存在返回
else {
JOptionPane.showMessageDialog(null,"产品数据库中无此商品信息!");
return;
}
}
}//执行数据操作
if(db.executeSql(sql))
{//若成功则清空文本框
//reSetAllTextbox();
JOptionPane.showMessageDialog(null,"操作成功!");}
else
{
JOptionPane.showMessageDialog(null,"操作失败!");}
//当然对于产品出库信息表始终是插入新值
sql="insertintoProductOut(Model,Color,Dateout,Operator, Comment,Number36,Number37,Number38,Number39,Number40,Number41,Number42,Number43,Number44)values( ";
sql = sql + "'" + jTextkuanxing.getText() + "',";
sql = sql + "'" + jCombocolor.getSelectedItem().toString() + "',";
sql = sql + "'" + jTextdate.getText() + "',"; //date
sql = sql + "'" + jTextoperator.getText() + "',";
sql = sql + "'" + jTextcomment.getText() + "',";
sql = sql + "" + jText36.getText() + ",";
sql = sql + "" + jText37.getText() + ",";
sql = sql + "" + jText38.getText() + ",";
sql = sql + "" + jText39.getText() + ",";
sql = sql + "" + jText40.getText() + ",";
sql = sql + "" + jText41.getText() + ",";
Java程序设计课程设计产品管理系统
sql = sql + "" + jText42.getText() + ",";
sql = sql + "" + jText43.getText() + ",";
sql = sql + "" + jText44.getText() + "";
sql = sql + ")";
//使用DBManager对象执行操作 ,并返回成功或失败信息
if(db.executeSql(sql)){
//执行操作后清空文本框
reSetAllTextbox();
JOptionPane.showMessageDialog(null,"操作成功!");
}
else
{
JOptionPane.showMessageDialog(null,"操作失败 !");
}
}
4.3产品入库管理模块
这部分要实现将产品数量信息更新到数据库的功能,用户需要提供产品的数量和其他相关信息。
还要实现对产品出库的历史记录进行查询及修改的操作。我们所要显示的信息包括:款型、出库日期、颜色、操作员、备注和相应鞋码的鞋的数量。由于查询结果是多条的,因此要可以显示查询结果集中的所有记录。
4.3.1此部分功能代码
void jButtonAdd_mouseClicked(MouseEvent e) {
//判断款型和颜色是否为空,若有为空的弹出警告信息
if(jTextkuanxing.getText().trim().equals("")&&jTextkuanxing.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null," 款型和颜色不许为空!");
return;
}
String sql;
//生成sql语句
sql="select * from ProductStore ";
sql=sql+" where Model='"+jTextkuanxing.getText().trim()+"'";
sql=sql+" and Color='"+jCombocolor.getSelectedItem().toString().trim() +"'";
//执行搜索,检验此款型和颜色对应的鞋是否已存在
rs =db.getResult(sql);
try {
//如果已存在,则将原数据库中的数目加上新加入的数目并执行更新操作
if (rs.first() ) {
sql = "update ProductStore set Number36= Number36+" +jText36.getText().trim()+",";
sql = sql + " Number37 =Number37+" + jText37.getText().trim() + ",";
sql = sql + " Number38 =Number38 +" + jText38.getText().trim() + ",";
sql = sql + " Number39=Number39 +" + jText39.getText().trim() + ",";
sql = sql + " Number40=Number40+" + jText40.getText().trim() +",";
sql = sql + " Number41=Number41+" + jText41.getText().trim() +",";
sql = sql + " Number42=Number42+" + jText42.getText().trim() +",";
sql = sql + " Number43=Number43+" + jText43.getText().trim() +",";
sql = sql + " Number44=Number44+"+ jText44.getText().trim() +" ";
sql = sql + " where Model='" + jTextkuanxing.getText().trim() + "'";
sql = sql + " and Color ='" + jCombocolor.getSelectedItem().toString().trim() + "'";
}
//如果不存在,则执行插入操作,插入新信息
else {
sql="insertinto ProductStore(Model,Color,Number36,Number37,Number38,Number39,Number40,Number41,Number42,Number43,Number44)values( ";
sql = sql + "'" + jTextkuanxing.getText() + "',";
sql = sql + "'" + jCombocolor.getSelectedItem().toString() + "',";
sql = sql + "" + jText36.getText() + ",";
sql = sql + "" + jText37.getText() + ",";
sql = sql + "" + jText38.getText() + ",";
sql = sql + "" + jText39.getText() + ",";
sql = sql + "" + jText40.getText() + ",";
sql = sql + "" + jText41.getText() + ",";
sql = sql + "" + jText42.getText() + ",";
sql = sql + "" + jText43.getText() + ",";
sql = sql + "" + jText44.getText() + "";
sql = sql + ")";
}
}
catch (SQLException ex) {
}
//使用DBManager对象执行操作 ,并返回成功或失败信息
(null,"操作成功!");
}
//当然对于产品入库信息表始终是插入新值
sql="insertintoProductIn(Model,Color,Datein,Operator, Comment,Number36,Number37,Number38,Number39,Number40,Number41,Number42,Number43,Number44)values( ";
sql = sql + "'" + jTextkuanxing.getText() + "',";
sql = sql + "'" + jCombocolor.getSelectedItem().toString() + "',";
sql = sql + "" + jText38.getText() + ",";
sql = sql + "" + jText39.getText() + ",";
sql = sql + "" + jText40.getText() + ",";
sql = sql + "" + jText41.getText() + ",";
sql = sql + "" + jText42.getText() + ",";
sql = sql + "" + jText43.getText() + ",";
sql = sql + "" + jText44.getText() + "";
sql = sql + ")";
}
else
{
JOptionPane.showMessageDialog(null,"操作失败 !");
}
}
Java程序设计课程设计产品管理系统
结 论
我们经过了一个星期刻苦的学习和工作,在老师和小组成员的大力支持和配合下,我们小组终于在规定时间内完成了产品管理系统。
JAVA对我们来说也算是一门难度较大的课程。平时的学习过程中就给我们带来了很大的困难,一周的课设又要我们自己动手实践,无疑更是难上加难,但我们全体同学并没有放弃,在关老师的热心帮助下,我们终于突破了难关。
从最开始的不适应到将程度顺利的完成,我付出了许多的努力,通过这次课设不仅让我学到了许多在课堂上学不到的功能,也同时让我感受到知识的重要性,以及对产品管理系统的了解。在设计中我对很多相关技术都不熟悉,我便开始向别人请教和学习,查看大量的相关资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己空虚的作品一步步完善起来,每一次改进都是我学习的收获。从中我也充分认识到了面JAVA程序设计给我的学习带来了很大的帮助,让我学到了很多合作的经验也锻炼了我的整体思维的能力。有的时候把自己的新想法与他人分享,大家往往会提出置疑,但也就是在这种争论中才使我的想法不断的提高、成熟。
一周的课设让我学会了在困难面前要有一个正确的方向和认真对待问题的态度,这样才能在最短时间内用最有效的方法解决问题。在问题面前集体的力量是无穷大的,学会配合更是重中之重,通过配合可以使一个较难的问题变得通俗易懂。课堂上的东西微不足道的,只有把正确的把理论联系实践才能充分发挥的作用,做到精中求精。
在整个系统中运用JAVA程序设计理论,用JAVA语言对产品管理系统进行开发,用数据库做为后台支持,最终成功的完成了产品管理并能够实现多种的功能。从一开始接到题目,我自已就非常的混乱,不知道该从如何着手,在平时的学习中我就不能够充分的理解JAVA的理论,这回把理论应用到实践更是难上加难,但在老师和同组人员的帮助下,我顺利的完成了课设任务。
致 谢
本次课程设计的选题,研究及论文的撰写均是在我们的指导教师关老师的虑心指导下进行的。设计中的每一个环节无不凝聚着老师的心血。老师在软件开发方面有很多的实践经验,在我们面对问题的时候对我们虑心的指导及其他严谨的工作态度锐意创新的精神,使我们受益匪浅,在此特别向老师表示深深的感谢和由衷的敬意。
在系统完善过程中,我们也遇到了这样或那样的技术问题,但经过自己的不懈努力及查阅大量的资料,最终都得到了基本满意的答案。同时,同学也给了我许多有益的启示,促动和帮助,使我能够顺利的完成课题。
感谢实训E机房所提供的有利条件,老师们的传道授业,不仅使我们开阔了视野,拓宽了思路,增长了学识,而且为我们今后的工作和学习打下了牢固的基础,也使增强我们对计算机的兴趣。
在论文的最后,再次感谢关老师的指导以及对我们的鼓励,让我们在以后的日子里有更大的兴趣去继续开发我们的程序,同时本文在他的虑心指导下才顺利完成的。在我做论文期间,导师渊博的学识、严谨求实的科学精神、一丝不苟的治学态度和高尚的品格,深深的感染了我和每一个同学。论文的每次改动都离不开老师的辛勤工作,从各个方面来说,审查的工作往往比编写任务更复杂。正是导师百忙中不辞劳苦的帮助,才使我能够顺利完成这篇论文,在这里,对您衷心的表示感谢。在大学中有一起“共患难”的同学们,对我们有深远影响的老师们,他们使我们在今后的,继续学习或工作中,都是我们宝贵的财富。在最后我们要在次感谢我们的母校和对我们有深远影响的老师和同学们。祝你们今后一帆风顺,事事顺心。在这里谨以此文献给他们。参考文献
⑴ 侯捷/王建兴.Thinking in Java 2中文版.北京:外文出版社
⑵ Harvey M.Deitel/Paul J.Deitel.java 2程序设计教程.北京:机械工业出版社
⑶ 黄明/梁旭/曹利超.Java信息系统设计与开发实例.北京:机械工业出版社
⑷ 陈烨/张蓓.JDK1.5类库大全.北京:清华大学出版社
Java程序设计课程设计产品管理系统刘同学详细设计
首先建立一个名为ProductManager的工程文件,再在其中建立一个名为Manager的应用程序,然后开始以下操作工作。
4.1主界面模块
主模块负责应用程序的主界面,由它调用其他模块。因此主模块应该具有操作性好、界面清晰的特点,使用户能够很方便地找到所需功能如图4-1
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4-1 产品管理系统主界面
根据功能需求和总体设计的结果,主界面模块应该由操作员登陆、操作员管理、入库管理、出库管理和库存管理组成。可以通过点击菜单项进入相应的功能模块。其中帮助为待加项,留待日后扩充和完善。
4.2操作员登陆模块
4.2.1操作员登陆验证IPO图
此模块所要完成的功能就是操作员或管理员的登陆因此截面设计得很简洁,只有“用户名”和“密码”两个输入框以及“确定”和“取消”两个按钮,如图4-2。
图4-2
我设计的操作登陆系统由用户名和密码构成,在操作员输入用户名和密码后,系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在或密码是否正确,然后再根据用户从数据库中报取用户权限,根据权限的不同在执行主窗体中的SETPOWER过程时赋予不同的参数值。
输入:用户名和密码。
处理:
1)校验字符的有效性。用户要登陆本系统需要提供用户名和密码,在这里就是要检验用户名是否满足输入的要求,既检验用户名和密码是否为空,若为空,则提示输入用户名和密码。
2)效验用户名是否存在或密码是否存在或密码是否正确,即是否存在拥护输入的用户名,并且密码是否正确。
3)根据用户名和密码从数据库中提取用户权限。
4}根据从数据库中提取用户权限的不同执行主窗体中的SETPOWER过程,若为管理员,则可操作所有功能,若为操作员,则只能操作产品信息部分,不能进行用户信息的管理。
5)关闭窗体
输出:退出登陆功能或失败信息。
4.2.2操作员登陆功能代码
package Manager;
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.awt.event.*;
import java.sql.*;//由于涉及SesultSet对象,因此需要在代码头部引入此包
public class userLogin extends JDialog {
ResultSet rs; //定义结果集
private DBManager db =new DBManager();//定义数据库操作对象
MainFrame myMain; //定义主窗口类,用于操作父窗体
JPanel panel1 = new JPanel();
BorderLayout borderLayout1 = new BorderLayout();
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel2 = new JLabel();
JButton jButtonCancel = new JButton();
JLabel jLabel1 = new JLabel();
JTextField jTextFieldusername = new JTextField();
JButton jButtonOK = new JButton();
JPasswordField jPasswordold = new JPasswordField();
public userLogin(Frame frame, String title, boolean modal) {
super(frame, title, modal);
try {
jbInit();
pack();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
public userLogin() {
this(null, "", false);
}
public userLogin(MainFrame pmain) {
this(null, "", false);
myMain=pmain;
}
private void jbInit() throws Exception {
panel1.setLayout(borderLayout1);
this.getContentPane().setLayout(xYLayout1);
jLabel2.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel2.setText("密码");
jButtonCancel.setFont(new java.awt.Font("Dialog", 0, 16));
jButtonCancel.setText("取消");
jButtonCancel.addMouseListener(new 若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
jButtonOK.setText("确定");
jButtonOK.addMouseListener(new userLogin_jButtonOK_mouseAdapter(this));
jPasswordold.setText("");
xYLayout1.setWidth(410);
JAVA产品管理系统
xYLayout1.setHeight(239);
this.setTitle("用户登录");
getContentPane().add(panel1, new XYConstraints(0, 0, -1, -1));
this.getContentPane().add(jLabel1, new XYConstraints(86, 49, 99, 34));
this.getContentPane().add(jLabel2, new XYConstraints(88, 98, 80, 34));
this.getContentPane().add(jTextFieldusername, new XYConstraints(203, 50, 111, 31));
this.getContentPane().add(jPasswordold, new XYConstraints(204, 93, 110, 33));
this.getContentPane().add(jButtonCancel, new XYConstraints(201, 162, 94, 32));
this.getContentPane().add(jButtonOK, new XYConstraints(89, 163, 91, 31));
}
void jButtonCancel_mouseClicked(MouseEvent e) {
this.dispose();
}
//操作员登陆
void jButtonOK_mouseClicked(MouseEvent e) {
//检验用户名是否为空
if(jTextFieldusername.getText().toString().trim().equals("") )
{ JOptionPane.showMessageDialog(null,"用户名不可为空!");
return;}
//检验密码是否为空
if(jPasswordold.getText().toString().trim().equals("") )
{JOptionPane.showMessageDialog(null,"密码不可为空!");
return;}
//定义字符串对象,代表sql语句
String strSQL ;
//生成sql语句,用户名和密码从相应文本框取得
strSQL="select*fromuserwhere Username='"+jTextFieldusername.getText().toString().trim() +"' and Password='"+jPasswordold.getText().toString().trim()+"'";
//由DBManager对象执行查询过程
rs=db.getResult(strSQL) ;
//判断结果集是否为空
boolean isexist=false;
try {
isexist = rs.first();
}
catch (SQLException ex1) {
}
//若为空,则说明用户名不存在或密码不正确,弹出警告信息,并设定主窗体权限为无
if(!isexist )
{JOptionPane.showMessageDialog(null,"用户名不存在,或密码不正确!");
myMain.setEnable(false,false);
}
//若不为空,则说明用户名存在且密码正确,设定主窗体权限为有
else
{
try {
rs.first();
//若为管理员...
if (rs.getString("Power").equals("管理员")) {
myMain.setEnable(true, true);
this.dispose();
}
//若为操作员
else {
myMain.setEnable(true, false);
this.dispose();
}
}
catch (SQLException ex) {
}
}
}
}若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
}
public void mouseClicked(MouseEvent e) {
adaptee.jButtonCancel_mouseClicked(e);
}
}
class userLogin_jButtonOK_mouseAdapter extends java.awt.event.MouseAdapter {
userLogin adaptee;
userLogin_jButtonOK_mouseAdapter(userLogin adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jButtonOK_mouseClicked(e);
}
}
Java程序设计课程设计产品管理系统
4.3操作员添加模块
4.3.1操作员添加IPO图
这部分要实现的是添加新的操作员或管理员帐号的功能,用户需要提供用户名、密码、确认密码和登陆权限,界面设计如图4-3所示。
图4-3
登陆权限采用JcomboBox,密码和确认密码采用JpasswordField。
操作员的信息用用户名和密码构成,在操作员输入用户名和密码后,系统首先验证输入字符的有效性,再判断用户权限去顶是操作员还是管理员,根据权限的不同再实行数据库的插入过程。
输入:用户名、密码、确认密码和登陆权限。
处理:
1)校验字符的有效性。拥护要登陆本系统需要提供用户名和密码,在这里就是要检验用户名是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。
2)检验密码与确认密码是否一致。
3)根据用户名和密码判断用户权限。
4)根据权限的不同执行插入过程。若为管理员则可操作所有的功能,若为操作员则只能操作产品信息部分,不能进行用户信息的管理。
5)关闭窗体。
输出:添加成功或失效信息。
4.3.2操作员添加功能代码
package Manager;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.awt.*;
import java.awt.event.*;
public class userAdd extends JFrame {
//定义数据库操作对象
private DBManager db =new DBManager();
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel2 = new JLabel();
JButton jButtonCancel = new JButton();
JLabel jLabel1 = new JLabel();
JTextField jTextFieldusername = new JTextField();
JButton jButtonOK = new JButton();
JPasswordField jPasswordold = new JPasswordField();
JLabel jLabel3 = new JLabel();
JPasswordField jPasswordnew = new JPasswordField();
JLabel jLabel4 = new JLabel();
JComboBox jComboBoxpower = new JComboBox();
public userAdd() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
userAdd userAdd = new userAdd();
}
private void jbInit() throws Exception {
jPasswordold.setText("");
jButtonOK.setFont(new java.awt.Font("Dialog", 0, 16));
jButtonOK.setText("添加");
jButtonOK.addMouseListener(new userAdd_jButtonOK_mouseAdapter(this));
jTextFieldusername.setFont(new java.awt.Font("Dialog", 0, 16));
jTextFieldusername.setText("");
jLabel1.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel1.setText("用户名");
jButtonCancel.setFont(new java.awt.Font("Dialog", 0, 16));
jButtonCancel.addMouseListener(new userAdd_jButtonCancel_mouseAdapter(this));
jButtonCancel.setText("取消");
jLabel2.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel2.setText("密码");
xYLayout1.setWidth(480);
xYLayout1.setHeight(366);
this.getContentPane().setLayout(xYLayout1);
jLabel3.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel3.setText("确认密码");
jPasswordnew.setFont(new java.awt.Font("Dialog", 0, 16));
jPasswordnew.setText("");
jLabel4.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel4.setText("登陆权限");
//jComboBoxpower中加入权限的值
jComboBoxpower.addItem(" 操作员");
jComboBoxpower.addItem(" 管理员");
jComboBoxpower.setFont(new java.awt.Font("Dialog", 0, 16));
this.setTitle("添加用户");
this.getContentPane().add(jTextFieldusername, new XYConstraints(263, 32, 111, 38));
this.getContentPane().add(jLabel2, new XYConstraints(113, 99, 80, 34));
this.getContentPane().add(jLabel1, new XYConstraints(112, 33, 99, 34));
this.getContentPane().add(jPasswordold, new XYConstraints(264, 95, 111, 35));
this.getContentPane().add(jPasswordnew, new XYConstraints(261, 157, 117, 35));
this.getContentPane().add(jLabel3, new XYConstraints(108, 160, 110, 36));
this.getContentPane().add(jButtonCancel, new XYConstraints(252, 301, 94, 30));
this.getContentPane().add(jButtonOK, new XYConstraints(134, 300, 若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
this.dispose();
}
//添加新用户
void jButtonOK_mouseClicked(MouseEvent e) {
String strSQL ;
//判断是否添加用户名
if(jTextFieldusername.getText().trim().equals(""))
{JOptionPane.showMessageDialog(null,"用户名不可为空 ,请确认!");
return;
}
//校验用户两次输入的密码是否一致
if(!jPasswordold.getText().toString().trim().equals(jPasswordnew.getText().toString().trim() ) )
{JOptionPane.showMessageDialog(null,"两次输入的密码不一致,请确认!");
return;
}
//校验用户输入的权限是否为空
if( jComboBoxpower.getSelectedItem().toString().trim().equals(""))
{ JOptionPane.showMessageDialog(null,"权限不可为空,请确认!");
return;
}
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
if(db.executeSql(strSQL))
{JOptionPane.showMessageDialog(null,"成功添加!"); }
else
{ JOptionPane.showMessageDialog(null," 添加失败,请重新操作!"); }
}
}
class userAdd_jButtonCancel_mouseAdapter extends java.awt.event.MouseAdapter {
userAdd adaptee;
userAdd_jButtonCancel_mouseAdapter(userAdd adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jButtonCancel_mouseClicked(e);
}
}
class userAdd_jButtonOK_mouseAdapter extends java.awt.event.MouseAdapter {
userAdd adaptee;
userAdd_jButtonOK_mouseAdapter(userAdd adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jButtonOK_mouseClicked(e);
}
}
Java程序设计课程设计产品管理系统
4.4操作员密码修改模块
4.4.1操作员密码修改模块IPO图
这部分实现对操作员或管理员张好的密码进行修改的功能,用户需要提供用户名,原密码、新密码和去人新密耄缑嫔杓迫缤?-4
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4-4
操作员密码修改由用户名、原密码和新密码构成,在操作员输入用户名,密码和新密码后,系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在或密码是否正确,然后再执行更新过程。
输入:用户名、愿密码和确认新密码。
处理:
1)效验字符的有效性。要检验用户是否满足输入的要求,即检验用户名和密码文本框是否,若为空,则提示用户输入用户名和密码。
2)检验用户名是否存在或密码是否正确,即是否存在用户输入的用户名,并且密码是否正确。
2)检验新密码与确认新密码是否一致,防止用户误输入密码。
4)执行更新过程。
5)关闭本窗体。
输出:更新成功或失败信息
4.4.2操作员密码修改模块功能代码
package Manager;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class userUpdate extends JFrame {
ResultSet rs; //定义结果集
private DBManager db =new DBManager();//定义数据库操作对象
XYLayout xYLayout1 = new XYLayout();
JPasswordField jPasswordnew = new JPasswordField();
JLabel jLabel2 = new JLabel();
JButton jButtonCancel = new JButton();
JLabel jLabel1 = new JLabel();
JLabel jLabel3 = new JLabel();
JTextField jTextFieldusername = new JTextField();
JButton jButtonOK = new JButton();
JPasswordField jPasswordold = new JPasswordField();
JPasswordField jPasswordnewconfirm = new JPasswordField();
JLabel jLabel4 = new JLabel();
public userUpdate() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
userUpdate userUpdate = new userUpdate();
}
private void jbInit() throws Exception {
jPasswordold.setText("");
jButtonOK.setFont(new java.awt.Font("Dialog", 0, 16));
jButtonOK.addMouseListener(new userUpdate_jButtonOK_mouseAdapter(this));
jButtonOK.setText("更新");
jTextFieldusername.setFont(new java.awt.Font("Dialog", 0, 16));
jTextFieldusername.setText("");
jLabel3.setText("新密码");
jLabel3.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel1.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel1.setText("用户名");
jButtonCancel.setFont(new java.awt.Font("Dialog", 0, 16));
jButtonCancel.setText("取消");
jButtonCancel.addMouseListener(new userUpdate_jButtonCancel_mouseAdapter(this));
jLabel2.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel2.setText("原密码");
jPasswordnew.setText("");
jPasswordnew.setFont(new java.awt.Font("Dialog", 0, 16));
xYLayout1.setWidth(452);
xYLayout1.setHeight(326);
this.getContentPane().setLayout(xYLayout1);
jPasswordnewconfirm.setFont(new java.awt.Font("Dialog", 0, 16));
jPasswordnewconfirm.setText("");
jLabel4.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel4.setText("确认新密码");
this.setTitle("修改密码");
this.getContentPane().add(jTextFieldusername, new XYConstraints(257, 31, 111, 38));
this.getContentPane().add(jPasswordnew, new XYConstraints(257, 147, 114, 31));
this.getContentPane().add(jLabel2, new XYConstraints(107, 98, 80, 34));
this.getContentPane().add(jLabel1, new XYConstraints(106, 32, 99, 34));
this.getContentPane().add(jPasswordold, new XYConstraints(258, 94, 111, 34));
this.getContentPane().add(jPasswordnewconfirm, new XYConstraints(255, 205, 119, 31));
this.getContentPane().add(jButtonOK, new XYConstraints(125, 若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
void jButtonCancel_mouseClicked(MouseEvent e) {
this.dispose();
}
void jButtonOK_mouseClicked(MouseEvent e) {
String strSQL ;
//校验两次输入的新密码是否一致
if(!jPasswordnewconfirm.getText().trim().equals(jPasswordnew.getText().trim()))
{JOptionPane.showMessageDialog(null,"两次输入的新密码不一致!");
return;
}
//生成sql语句,用户名和密码从相应文本框取得
strSQL="select * from user where Username='"+jTextFieldusername.getText().trim() +"' and Password='"+jPasswordold.getText().trim()+"'";
//由DBManager对象执行查询过程
rs=db.getResult(strSQL) ;
//判断结果集是否为空
boolean isexist=false;
try {
isexist = rs.first();
}
catch (SQLException ex1) {
JOptionPane.showMessageDialog(null,ex1.toString() );
}
//若为空,则说明用户名不存在或密码不正确,弹出警告信息,并设定主窗体权限为无
if(!isexist)
{JOptionPane.showMessageDialog(null,"用户名不存在,或原密码不正确!");
return;
}
//若不为空,则说明用户名存在且密码正确,执行更新过程
(null,"成功更新!"); }
else
{ JOptionPane.showMessageDialog(null," 更新失败,请重新操作!"); }
}
}
}
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
}
class userUpdate_jButtonOK_mouseAdapter extends java.awt.event.MouseAdapter {
userUpdate adaptee;
userUpdate_jButtonOK_mouseAdapter(userUpdate adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
Java程序设计课程设计产品管理系统
4.5操作员删除模块
4.5.1操作员删除IPO图
这部分实现对操作员或管理员帐号进行删除的功能,用户需要提供用户名和密码,界面设计如图4-5
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4-5
在操作员输入用户名和密码后,系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在或密码是否正确,然后再执行更新过程。
输入:用户名和密码。
处理:
1)校验字符的有效性。要检验用户是否满足输入的要求,即检验用户名和密码文本是否为空,若为空,则提示用户输入用户名和密码。
2)检验用户名是否存在或密码是否正确,即是否存在拥护输入的用户名,并且密码是否正确。
3)执行删除过程。
4)关闭本窗体。
输出:删除成功或失败信息。
4.5.2操作员删除功能代码
package Manager;
import javax.swing.*;
import java.sql.*;
import com.borland.jbcl.layout.*;
import java.awt.*;
import java.awt.event.*;
public class userDelete extends JFrame {
ResultSet rs; //定义结果集
private DBManager db =new DBManager();
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel2 = new JLabel();
JButton jButtonCancel = new JButton();
JLabel jLabel1 = new JLabel();
JTextField jTextFieldusername = new JTextField();
JButton jButtonOK = new JButton();
JPasswordField jPasswordold = new JPasswordField();
public userDelete() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
userDelete userDelete = new userDelete();
}
private void jbInit() throws Exception {
jPasswordold.setText("");
jButtonOK.setText("确定");
jButtonOK.addMouseListener(new userDelete_jButtonOK_mouseAdapter(this));
jButtonOK.setFont(new java.awt.Font("Dialog", 0, 16));
jTextFieldusername.setText("");
jTextFieldusername.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel1.setText("用户名");
jLabel1.setFont(new java.awt.Font("Dialog", 0, 16));
jButtonCancel.setText("取消");
jButtonCancel.addMouseListener(new userDelete_jButtonCancel_mouseAdapter(this));
jButtonCancel.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel2.setText("密码");
jLabel2.setFont(new java.awt.Font("Dialog", 0, 16));
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
this.getContentPane().add(jLabel2, new XYConstraints(69, 78, 80, 34));
this.getContentPane().add(jLabel1, new XYConstraints(62, 25, 99, 34));
this.getContentPane().add(jPasswordold, new XYConstraints(195, 79, 111, 26));
this.getContentPane().add(jButtonOK, new XYConstraints(67, 141, 91, 31));
this.getContentPane().add(jButtonCancel, new XYConstraints(194, 139, 94, 30));
}
//退出此窗口
void jButtonCancel_mouseClicked(MouseEvent e) {
this.dispose();
}
//删除纪录
void jButtonOK_mouseClicked(MouseEvent e) {
//检验用户名是否为空
if(jTextFieldusername.getText().trim() =="")
{ JOptionPane.showMessageDialog(null,"用户名不可为空!");
return;}
//检验密码是否为空
if(jPasswordold.getText().trim() =="")
{JOptionPane.showMessageDialog(null,"密码不可为空!");
return;}
//定义字符串对象,代表sql语句
String strSQL ;
//生成sql语句,用户名和密码从相应文本框取得
strSQL="select*fromuserwhere Username='"+jTextFieldusername.getText().trim()+"'and Password='"+jPasswordold.getText().trim()+"'";
//由DBManager对象执行查询过程
rs=db.getResult(strSQL) ;
//判断结果集是否为空
boolean isexist=false;
try {
isexist = rs.first();
}
catch (SQLException ex1) {
}
//若为空,则说明用户名不存在或密码不正确,弹出警告信息
if(!isexist)
{JOptionPane.showMessageDialog(null,"用户名不存在,或原密码不正确!");
}
//若不为空,则说明用户名存在且密码正确
else
{
//由DBManager对象执行过程,若成功返回成功信息,若失败返回失败提示
strSQL="deletefromuserwhereUsername='"+jTextFieldusername.getText().trim() +"'";
if(db.executeSql(strSQL))
{JOptionPane.showMessageDialog(null,"成功删除!"); }
else
{ JOptionPane.showMessageDialog(null," 删除失败,请重新操作!"); }
}
}
}
class userDelete_jButtonCancel_mouseAdapter extends java.awt.event.MouseAdapter {
userDelete adaptee;
userDelete_jButtonCancel_mouseAdapter(userDelete adaptee) {
this.adaptee = adaptee;
}
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
}
}
Java程序设计课程设计产品管理系统
结论
时间就像流水,一去不复返。经过这样两周的课程设计,把我C语言的知识重新巩固了一遍,对结构体进一步理解,使我认识到结构体在程序设计中作用很大需要很好得掌握,特别对程序的模块化设计有了进一步的理解和体会,为今后的程序编写奠定了一定的基础。而这次的实训也给了我们一次机会,一次把学习到的知识付诸实践的机会。
知识宝贵,团队精神同样可贵,我想任务分组完成就是出于这样的考虑吧,团队合作不是把任务简单分开就能实现的。每个人学习知识的侧重点不尽相同,每人解决问题的思路也不一样,几个人相互讨论,相互辩论的过程中往往会产生出人意料的好想法,也许这就叫做灵感。分歧过后达成共识,团结协作,最终才造就了一个完整的可使用的程序。
实践的过程中出现了无法解决的问题,所以我们也查阅了大量相关资料和书籍,这也是获取知识最重要的途径之一,吸取前人的经验也是解决问题的很好途径,但是绝不能照抄代码,先继承后发展才能算是我的收获的。
“书到用时方恨少!”应用时的捉襟见肘才让我认识到了自己高级语言基础上的不足,每一门专业基础课都是我们手中不可替代的武器,只有把他们有机联系起来才有可能实现一个完整的功能,本次课程设计是我体会到只有付出才会有收获,只有平日认真学习关键时刻才会不捉襟见肘,只有团结一致才会成功,只有互助才会顺利
课程设计要亲手做过,不管它是否有结果。你要学的是知识,是解决问题的方法和思想,要端正学习态度,一时的成败不足以论英雄,每一次突破都是一种收获,就是在这样的过程中我们才能不断提高。在从开始接到课程设计,再到报告的完成,每走一步都渗透着努力和汗水。在收获知识的同时收获快乐。
随着时间的流失我会用今天所学到的用到今后的学习中,我会为了今后编写出更好的程序而努力学习,时刻记住只有付出才会有收获。
致谢
JAVA语言课程设计的选题、探讨及报告的撰写均是在我们的指导教师的悉心指导下进行的。设计中的每一个环节无不凝聚着老师的心血。老师在课程设计方面有很多的实践经验,在我们面对问题时,对我们的悉心指导及其严谨的工作态度和锐意创新的精神,使我们受益匪浅,在此特别向老师表示深深的感谢和由衷的敬意。
在程序完善的过程中,我们也遇到了这样或那样的问题,但经过自己的不懈努力及查阅大量的资料,最终都得到了基本满意的答案。同时,同学也给了我许多有益的启示,促动和帮助,使我能够顺利的完成课题。
感谢实训E机房所有给予我们帮助的老师,他们辛勤耕作,传道授业,不仅使我们开阔了视野,拓宽了思路,增长了学识,而且为我们今后的工作和学习打下了牢固的基础,也使我们增强了对计算机的兴趣。
同时也感谢学校给了我们这次难得的实训机会,实训的过程让我们看到了自己理论知识上的不足,已掌握的知识也在这次的实训中有了质的飞跃,知识能够应用那才是真正掌握了,也希望学校多给我们一些这样的机会。
在报告的最后,再次感谢我们的导师,本课题在她的悉心指导下才顺利完成的。在我写报告期间,导师渊博的学识、严谨求实的科学精神、一丝不苟的治学态度和高尚的品格,深深的感染了我和每一个同学。报告的每次改动都离不开老师的辛勤工作,从各个方面来说,审查的工作往往比编写任务更复杂。正是导师百忙中不辞劳苦的帮助,才使我能够顺利完成这个报告,在这里,对您衷心的表示感谢。在大学中有一起“共患难”的同学们,对我们有深远影响的老师们,你们是我在今后的宝贵的财富。在最后我要再次感谢我们的姜老师和其他负责实训的老师,祝你们在今后的学习和工作中,一帆风顺,事事顺心。在这里谨以此文献给大家。
Java程序设计课程设计产品管理系统孙同学详细设计
4功能实现
4.1添加产品信息模块
4.1.1操作员添加验证IPO图
这部分实现添加产品信息的功能,用户需要提供产品信息的相关资料,其界面设计如图4-1所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4-1 添加产品信息的窗口
在操作员输入产品信息的相关资料后,系统首先验证输入字符的有效性,然后再执行更新过程。
输入:产品信息的相关资料
处理:
1)校验字符的有效性。在这里需求有关的输入信息不许为空,比如产品的名称,负责人和所属部门,这些都是实际的产品管理过程中不可缺少的部分,因此在这里检验用户的输入若这些条件不满足的话会提示用户添加相应的信息;在满足的情况下才会继续执行下一步操作。
2)执行插入过程。从窗体取得用户的输入数据,将其加入到数据库中。
3)关闭本窗体。
输出:插入成功或失败信息。
4.1.2此部分功能代码
//定义数据库操作对象
Private DBManager db=new DBManager();
//接下来是添加产品信息的过程。在jButtonAdd的mouseClicked事件中要执行的
是添加产品信息的过程
//判断是否产品名称为空
if(jTextFieldname.getText().trim().equals(""))
{JOptionPane.showMessageDialog(null,"产品名称不可为空 ,请确认!");
return;
}
//判断是否负责人为空
if(jTextFieldperson.getText().trim().equals(""))
{JOptionPane.showMessageDialog(null,"负责人不可为空 ,请确认!");
return;
}
//判断是否产品所属部门为空
if(jTextFielddep.getText().trim().equals(""))
{JOptionPane.showMessageDialog(null,"产品所属部门不可为空 ,请确认!");
return;
}
//生成sql语句
strSQL="insert into productinfo(Name,Principal,Department,Units,Unitprice,Comment) values('";
strSQL= strSQL+jTextFieldname.getText().trim() +"','";
strSQL= strSQL+jTextFieldperson.getText().trim() +"','";
strSQL= strSQL+jTextFielddep.getText().trim() +"','";
strSQL= strSQL+jTextFielddanwei.getText().trim() +"','";
strSQL= strSQL+jTextFieldprice.getText().trim() +"','";
strSQL= strSQL+jTextFieldcomment.getText().trim() +"'";
strSQL= strSQL+ ")";
//由DBManager对象执行过程,若成功返回成功信息,若失败返回失败提示
if(db.executeSql(strSQL))
{JOptionPane.showMessageDialog(null,"成功添加!"); }
else
{ JOptionPane.showMessageDialog(null," 添加失败,请重新操作!"); }
//操作员可能在添加完一条信息后继续添加判断信息,为了操作方便,我们在窗体上添加了一个[清空]文本框按钮,执行此过程可以把窗体上所有文本框清空,便于操作员进一步操作,节省工作时间,提高效率。
void jButtonClear_mouseClicked(MouseEvent e) {
jTextFieldname.setText("");
jTextFieldperson.setText("");
jTextFielddep.setText("");
jTextFielddanwei.setText("");
jTextFieldprice.setText("");
jTextFieldcomment.setText("");
}
//这样就实现了产品信息的添加功能,当然作为一个完整的窗体,我们还需要[取消]按钮,用来退出窗口。
void jButtonExit_mouseClicked(MouseEvent e) {
this.dispose();
}
4.2产品信息修改模块
4.2.1产品信息修改IPO图
这部分实现的是对产品信息进行修改的功能,用户需要提供的是所要修改的产品的名称,其界面设计如图4-2所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4-2 产品信息修改窗口
员输入产品作息后,系统首先验证输入字符的有效性,然后调用数据库对象执行更新过程。
输入:产品名称
处理:
1) 首先根据用户输入的产品名称调出此产品的相关信息,若此产品不存在,则弹出信息提示用户更改数据后继续操作。调出产品作息后将其显示到对应文本框内,便于用户查看和继续操作。
2) 用户可以在窗体上修改所要更新的产品信息,系统会将窗体上的数据更新到数据库,并提示用户成功或失败的信息。
3) 执行删除过程。系统会从数据库中删除有关此产品的所有相关信息。
4) 关闭本窗体。
输出:更新成功或失败信息。
4.2.2此部分功能代码
//由于涉及ResultSet对象,因些需要在代码头部引入import Java.sql.* 包。
import Java.sql.*;
//定义数据库操作对象
Private DBManager db=new DBManager();
//接下来是更新产品信息的过程。更新过程是在用户输入产品名称后单击[确定]按钮,调出此产品的其他相关信息,然后在jButtonOK的mouseClicked事件中执行更新产品信息过程。
//调出产品相关信息
void jButtonDeside_mouseClicked(MouseEvent e) {
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
//判断结果集是否为空
boolean isexist=false;
try {
isexist = rs.first();
}
catch (SQLException ex1) {
}
//若为空,则说明产品不存在,弹出警告信息
if(!isexist)
{JOptionPane.showMessageDialog(null,"此产品不存在!");}
//若不为空,则说明产品存在
Java程序设计课程设计产品管理系统
else
{
try {
//将数据集中的数据显示在对应文本框中
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
void jButtonOk_mouseClicked(MouseEvent e) {
//定义字符串对象,代表sql语句
String strSQL ;
//生成sql语句
strSQL="update productinfo set Principal='"+jTextFieldperson.getText().trim() +"',";
strSQL= strSQL+" Department='"+jTextFielddep.getText().trim() +"',";
strSQL= strSQL+" Units='"+jTextFielddanwei.getText().trim() +"',";
strSQL= strSQL+" Unitprice='"+jTextFieldprice.getText().trim() +"',";
strSQL= strSQL+" Comment='"+jTextFieldcomment.getText().trim() +"'";
strSQL= strSQL+"where Name='"+jTextFieldname.getText().trim() +"' " ;
//由DBManager对象执行过程,若成功返回成功信息,若失败返回失败提示
if(db.executeSql(strSQL))
{JOptionPane.showMessageDialog(null,"成功更新!"); }
else
{ JOptionPane.showMessageDialog(null," 更新失败,请重新操作!");
//删除此产品信息
void jButtonDelete_mouseClicked(MouseEvent e) {
//定义字符串对象,代表sql语句
String strSQL ;
//生成sql语句
strSQL="delete from productinfo where Name='"+jTextFieldname.getText().trim() +"' " ;
//由DBManager对象执行过程,若成功返回成功信息,若失败返回失败提示
if(db.executeSql(strSQL))
{JOptionPane.showMessageDialog(null,"成功删除!"); }
else
{ JOptionPane.showMessageDialog(null," 删除失败,请重新操作!"); }
//为了操作方便,我们添加一个[清空]按钮用来清空窗体上的文本框。
//清空文本框
void jButtonClear_mouseClicked(MouseEvent e) {
jTextFieldname.setText("");
jTextFieldperson.setText("");
jTextFielddep.setText("");
jTextFielddanwei.setText("");
jTextFieldprice.setText("");
jTextFieldcomment.setText(""); }
//这样就实现了产品信息的添加功能,当然作为一个完整的窗体,我们还需要[取消]按钮,用业退出窗口。
void jButtonExit_mouseClicked(MouseEvent e) {
this.dispose();
4.3产品信息查询模块
4.3.1产品信息查询IPO图
这部分要实现查询产品信息的功能,用户不需要提供额外的查询条件,系统就可以自动调出所有的产品信息,界面设计如图4-3所示。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4-3 产品信息查询
在操员打开此窗口后,系统自动执行查询过程,并将查询结果在表格中显示出来。
输入:窗体加载。
处理:
1) 执行查询过程,此时会查询所有数据库中的记录。
2) 将查询结果在表中显示出来。将数据库中查询得来的数据显示到jrable中。
3) 关闭本窗体。
输出:成功或失败信息。
4.3.2此部分功能代码
//由于涉及ResultSet对象,因此需要在代码都引入import Java.sql.*包
Import Java.sql.*;
//由于会用到jtable,引入包sqljavax.swing.table.*;
Import Javax.swing.table.*;
//由于会用到Vector对象,引入包Java.util.*;
Import Java.util.*;
//定义结果集
ResultSet rs;
//定义数据库操作对象
Private DBManager db=new DBManager();
//接下来是显示查询结果的过程。我们先编写getResult方法,用于显示查询数据
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
//判断返回的结果集是否为空,若不为空显示每条记录
boolean isexist=false;
try {
isexist = rs.first();
}
catch (SQLException ex1) {
}
//若有数据,显示
if( isexist)
{
//移动游标到零的位置
rs.beforeFirst();
//逐条将查询结果显示在jtable中
while(rs.next() )
{tempvector=new Vector(1,1);
tempvector.add(rs.getString("Name")) ;
tempvector.add(rs.getString("Principal")) ;
tempvector.add(rs.getString("Department")) ;
tempvector.add(rs.getString("Units")) ;
tempvector.add(rs.getString("Unitprice")) ;
tempvector.add(rs.getString("Comment")) ;
model.addRow(tempvector);
}
}
//若无数据,显示警告对话框
else
{ JOptionPane.showMessageDialog(null,"无纪录!"); }
}
//若出现异常,弹出警告对话框
catch (SQLException ex) { JOptionPane.showMessageDialog(null,"发生错误!");
}
}
//然后在窗体的this_windowOpened事件中执行getResult过程
//在窗体显示时运行查询过程
void this_windowOpened(WindowEvent e) {
getResult();
}
//这样,我们的查询结果就完成了,它可以在打开此窗体的时候显示从数据库查询得来的所有产品的详细信息。
Java程序设计课程设计产品管理系统
结论
本次课程设计历时一周,在这一周的课程设计时间里,我们学到了许多书本以外的知识,锻炼了我们的动手能力,也再一次体会到了团队精神的重要性。
我们小组设计的题目是《产品管理系统》。设计中,针对这一题目,我们小组按照Java分析与设计的思想,将这次设计分为三大阶段,分别是设计内容、数据库设计、功能实现。我们针对设计的具体情况进行了细致的分工。每个人负责一块任务,其他人协助设计。我所负责的是:添加产品信息、产品信息修改、产品信息查询。设计的每个阶段都是紧密相连的,所以需要大家互相协调工作。由于小组成员奉献精神突出,我们很好地解决了这一问题。
设计中,我们首先针对所设计的题目对本校的产品信息管理系统进行了解、调研,然后大家一起讨论确定方案,完成系统的功能分析与需求分析,接下来根据功能分析与需求分析的结果进行后面的设计在设计过程中我们也遇到了一些困难。如功能和代码分析阶段,需要准确定义用户的需求,它是最困难、最耗费时间的阶段。因为时间因素,难免需求分析不充分,使设计出现缺陷与漏洞,给以后的设计工作带来诸多不便,影响工作的效率。
总而言之,这次课程设计不仅使我们巩固了所学的理论知识、锻炼了大家动手能,更重要的是通过设计使我们认识了自己在软件设计方面的缺点与不足,在以后的学习中有针对性地加强自己的设计能力,打下良好、扎实的基础,给将来的工作与学习带来更多的帮助
致谢
在本次课程实训设计中,我从指导关老师身上学到了很多东西。两位老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他们无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。
你们耐心的讲解,给予我很大的帮助,避免了系统开发时出现的很多错误,是系统能及时开发完成。同时我还要感谢帮助过我的所有人,和我并肩作战的、耐心帮助我的同学给与我不少帮助,这里一并表示感谢。
你们给了我很多好的建议,使我们的课程实训设能够顺利完成。
谢谢你们!
Java程序设计课程设计产品管理系统鞠同学详细设计
首先建立一个名为ProductManager的工程文件,再在其中建立一个名为Manager的应用程序,然后开始以下操作工作。
4.1主界面模块
主模块负责应用程序的主界面,由它调用其他模块。因此主模块应该具有操作性好、界面清晰的特点,使用户能够很方便地找到所需功能(如图4-1所示)。
图4-1 产品管理系统主界面
根据功能需求和总体设计的结果,主界面模块应该由操作员登陆、操作员管理、入库管理、出库管理和库存管理组成。可以通过点击菜单项进入相应的功能模块。其中帮助为待加项,留待日后扩充和完善。4.2库存信息管理模块
4.2.1库存信息管理IPO图
这部分要实现对产品库存信息进行查询及修改的操作。我们所要显示的信息包括:款型、颜色和相应鞋码鞋的数量。由于查询结果是多条的,因此要可以显示查询结果集中的所有记录。我们在窗体上添加了“第一条”、“前一条”、“后一条”、“最后一条”4个按钮用于循环显示查询结果。另外由于要实现对数据库中记录的修改操作,还添加了“更新”和“删除”两个按钮。由于我们要由此进入图形分析页面,还要有打开图形分析结果显示的窗口。修改窗体布局为XYLayout(如图4-2所示)。
图4-2 库存信息管理窗口
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
我们设计的是产品库存信息查询,在操作员输入查询的相关资料后,系统首先验证输入字符的有效性,然后根据用户要求再执行更新过程。
输入:款型和颜色。
处理:
1)校验输入的有效性,检验有关文本框是否为空。比如款型和颜色是查询的必选项目,不许为空。用户在输入后单击“查询”,系统会执行校验过程,若不满足条件会弹出相应的提示信息。
2)执行查询过程。将目前的rs中的数据显示在窗体上。用户也可以通过“第一条”、“前一条”、“后一条”和“最后一条”来查询所有的数据。
3)根据需要执行相应的更新或删除操作。
4)关闭本窗体。
输出:更新或删除操作成功或失败信息。
4.2.2此部分功能代码
//由于涉及ResultSet对象,因此需要在代码头部引入import Java.sql.*包
import Java.sql.*;
//定义所用的结果集
ResultSet rs;
//定义sql语句变量
String sql;
//定义DBManager对象,利用其中的方法来操作数据库
private DBManager db = new DBManager();
//接下来是入库信息管理的过程。我们要实现的是对用户输入的查询条件进行检索,若输入为空则检索所有记录,然后绑定查询的信息到窗体,并可以根据用户要求执行更新和删除操作
//我们先编写绑定resultset中的数据到窗体的过程,用于在窗体上绑定出与当前游标状态下的rs中的值
void showResult(){
try {
jTextkuanxing.setText(rs.getString("Model") );
jCombocolor.setSelectedItem(rs.getString("Color") ) ;
jText36.setText(rs.getString("Number36") );
jText37.setText(rs.getString("Number37") );
jText38.setText(rs.getString("Number38") );
jText39.setText(rs.getString("Number39") );
jText40.setText(rs.getString("Number40") );
jText41.setText(rs.getString("Number41") );
jText42.setText(rs.getString("Number42") );
jText43.setText(rs.getString("Number43") );
jText44.setText(rs.getString("Number44") );
}
catch (SQLException ex) {
System.out.println(ex.toString() ) ;
}
}
//在jButtonSearch的actionPerformed事件中执行制定查询条件下的查询操作
void jButtonSearch_mouseClicked(MouseEvent e) {
//定义变量,用来判断是否是第一个查询条件
boolean isfirst =true;
sql="select * from ProductStore ";
if (jTextkuanxing.getText().trim().length() ==0)
//如果款型的查询条件不为空
{}
else
{
sql=sql+" where Model='"+jTextkuanxing.getText().trim()+"'";
isfirst=false;
}
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
().toString().trim() +"'";
}
//执行数据库的查询操作
rs =db.getResult(sql);
try {
if(! rs.equals(null) )
//判断返回的结果集是否为空,若不为空显示第一条记录
{ rs.next();
showResult();
}
}
catch (SQLException ex) {
}
}
//这样我们所需要的数据就可以从数据库中检索出来,然而我们要实现的是对所有结果查询显示,这样就需要我们利用按钮来遍历结果集中的所有记录。以下是具体实现过程
//游标移动到第一条,显示纪录
void jButtonfirst_mouseClicked(MouseEvent e) {
try {
rs.first() ;
showResult();
}
catch (SQLException ex) {
Java程序设计课程设计产品管理系统
}
}
//游标移动到前一条,显示纪录
void jButtonpre_mouseClicked(MouseEvent e) {
try {
if(! rs.isFirst() )
{ rs.previous();
showResult();
}
}
catch (SQLException ex) {
}
}
//游标移动到后一条,显示纪录
void jButtonnext_mouseClicked(MouseEvent e) {
try {
if(! rs.isLast())
{ rs.next();
showResult();
}
}
catch (SQLException ex) {
}
}
//游标移动到最后一条,显示纪录
void jButtonlast_mouseClicked(MouseEvent e) {
try {
rs.last();
showResult();
}
catch (SQLException ex) {
}
}
//到这里,所有实现的问题就全部解决了,接下来我们要实现对绑定数据的更新和删除操作
//更新操作过程
void jButtonupdate_mouseClicked(MouseEvent e) {
sql="update ProductStore set Number36='"+jText36.getText().trim() +"',";
sql=sql+" Number37='"+jText37.getText().trim() +"',";
sql=sql+" Number38='"+jText38.getText().trim() +"',";
sql=sql+" Number39='"+jText39.getText().trim() +"',";
sql=sql+" Number40='"+jText40.getText().trim() +"',";
sql=sql+" Number41='"+jText41.getText().trim() +"',";
sql=sql+" Number42='"+jText42.getText().trim() +"',";
sql=sql+" Number43='"+jText43.getText().trim() +"',";
sql=sql+" Number44='"+jText44.getText().trim() +"' ";
sql=sql+" where Model='"+jTextkuanxing.getText().trim() +"'";
sql=sql+" and Color ='"+jCombocolor.getSelectedItem().toString().trim() +"'";
//使用DBManager对象执行操作 ,并返回成功或失败信息
if(db.executeSql(sql))
JOptionPane.showMessageDialog(null,"操作成功!");
else
JOptionPane.showMessageDialog(null,"操作失败!");
}
//删除操作过程
void jButtondelete_mouseClicked(MouseEvent e) {
sql="delete from ProductStore where Model='"+jTextkuanxing.getText().trim() +"'";
sql= sql+" and Color ='"+jCombocolor.getSelectedItem().toString().trim() +"'";
//使用DBManager对象执行操作 ,并返回成功或失败信息
if(db.executeSql(sql))
JOptionPane.showMessageDialog(null,"操作成功!");
else
JOptionPane.showMessageDialog(null,"操作失败!");
}
//当然作为一个完整的窗体,我们还需要“退出”按钮,用来退出此窗口
void jButtonexit_mouseClicked(MouseEvent e) {
this.dispose();
}
}
4.3数据操作模块
这一部分是数据库技术的核心和基础。由于整个应用程序要多次用到对数据库的操作,因此把所有需要的数据库操作封装到一个类中,只要每次实例化这个类然后调用其中的方法就可以了,不用每次都要重新创建连接对象等操作,方便了应用程序的编写,提高了开发效率。
以下是这个类的核心代码及简要说明。
package Manager;
//引入sql包
import java.sql.*;
//数据库操作类
public class DBManager {
//定义返回结果集
ResultSet rs ;
//创建指定数据库的URL
String strurl="jdbc:odbc:myProduct";
//缺省构造方法
public DBManager() {
}
//查询方法,返回查询结果集
public ResultSet getResult(String sql){
try{
//加载驱动程序
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
//执行SQL语句,返回结果集
ResultSet rs=stmt.executeQuery(sql);
//返回
return rs;
}
//异常处理
catch(Exception e){
System.out.println( "getResult------"+e.toString() );
//若有异常,返回null
return null;
}
}
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
stmt.executeUpdate(sql);
//提交到数据库
conn.commit();
//返回true,表示操作成功
return true;
}
catch(Exception e){
System.out.println( "executeSql------"+e.toString() );
//返回false,表示操作失败
return false;
}
}
}
Java程序设计课程设计产品管理系统结 论
通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,特别是在设计产品管理系统的后期,感觉算法和界面比起来,反倒界面设计上弱些,我觉得语言之间的差别不在于语法和算法,而是控件上的属性和方法。当然每种语言有它自己的特点,要熟练运用java,我觉得很有必要多多写些程序,加深对方法和属性的认识。在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这次实验应该说我收获颇大,通过实验巩固了java语言基础,也更深层次地认识了java,提高了运用语言的能力Java应该说是我接触到的第几个面向对象的语言之一,程序的设计让我感受到前所未有的成就感,我想这才是我们程序员的最终归宿,学好java自然理所当然。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。
致 谢
JAVA语言课程设计的选题、探讨及报告的撰写均是在我们的指导教师的悉心指导下进行的。设计中的每一个环节无不凝聚着老师的心血。老师在课程设计方面有很多的实践经验,在我们面对问题时,对我们的悉心指导及其严谨的工作态度和锐意创新的精神,使我们受益匪浅,在此特别向老师表示深深的感谢和由衷的敬意。
在程序完善的过程中,我们也遇到了这样或那样的问题,但经过自己的不懈努力及查阅大量的资料,最终都得到了基本满意的答案。同时,同学也给了我许多有益的启示,促动和帮助,使我能够顺利的完成课题。
感谢实训E机房所有给予我们帮助的老师,他们辛勤耕作,传道授业,不仅使我们开阔了视野,拓宽了思路,增长了学识,而且为我们今后的工作和学习打下了牢固的基础,也使我们增强了对计算机的兴趣。
同时也感谢学校给了我们这次难得的实训机会,实训的过程让我们看到了自己理论知识上的不足,已掌握的知识也在这次的实训中有了质的飞跃,知识能够应用那才是真正掌握了,也希望学校多给我们一些这样的机会。
在报告的最后,再次感谢我们的导师,本课题在她的悉心指导下才顺利完成的。在我写报告期间,导师渊博的学识、严谨求实的科学精神、一丝不苟的治学态度和高尚的品格,深深的感染了我和每一个同学。报告的每次改动都离不开老师的辛勤工作,从各个方面来说,审查的工作往往比编写任务更复杂。正是导师百忙中不辞劳苦的帮助,才使我能够顺利完成这个报告,在这里,对您衷心的表示感谢。在大学中有一起“共患难”的同学们,对我们有深远影响的老师们,你们是我在今后的宝贵的财富。在最后我要再次感谢我们的姜老师和其他负责实训的老师,祝你们在今后的学习和工作中,一帆风顺,事事顺心。在这里谨以此文献给大家。
Java程序设计课程设计产品管理系统
软件使用说明书
1、功能说明
本产品管理系统分为学系统管理、产品信息管理、出/入库管理和库存管理四个功能模块。
(1)系统管理模块主要是对管理员信息(如用户名、密码、权限等)进行管理。本模块又分为三个子模块:
添加用户
修改用户
删除用户
(2)产品信息管理模块主要是对产品分类进行管理。本模块又分为三个子模块:
添加新产品
修改产品信息
查询产品信息
(3)出/入库管理模块主要对产品信息进行管理。本模块又分为两个子模块:
产品入库/产品出库
产品入库查询/产品出库查询
(4)库存管理模块主要对当前库存信息管理。本模块又分为两个子模块:
库存信息查询
图表分析结果
2、操作向导
在使用本系统之前,首先拥要有自己的用户名与密码,才能登录此系统。若没有则可先注册,然后再登录。进入主界面后,就可进行一系列的操作。在系统管理菜单里可对用管理员信息进行注册、修改;产品信息管理中可对产品的基本信息进行添加、查询、修改和删除;出/入库管理可对产品进行出/入库的添加、显示、查询、修改和删除;库存管理可对当前库存信息进行查询以及用图形化的图表来表示当前库存信息。