资源描述
毕业设计(项目报告)
题目: 超市管理系统
指导教师: 职称:
1 项目简介
1.1 项目介绍
20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。
超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
1.2 项目开发目标
在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。本系统主要包括分类管理,商品管理和查询管理。
1.3 运行环境
为了保证该系统的正常运行,全面实现该系统设计研发的功能作用,针对该系统的实际需要及客户要求,经过详细的调研和论证,制定了以下的软、硬件运行环境的建设方案。如表1.1,表1.2所示:
表1.1 硬件坏境配置表
处理器:
512M以上
内存:
256M以上
硬盘:
8GB以上
表1.2 软件环境配置表
操作系统:
Windows XP以上操作系统
浏览器:
Internet Explorer 6.0以上
1.4 开发环境
运行环境需求:
MyEclipse8.5开发工具、MySQL 5.0数据库、Internet浏览器、tomcat6.0服务器。
1.5 项目来源
本项目是自己开发的一个小型超市管理系统,参考了学习过的课本javaEE实现了此功能。
2 项目总体设计
2.1 系统技术框架设计
2.1.1 系统架构
该系统采用MVC的设计模式,运用当前比较主流的三大开源框架中的struts2+hibernate框架集成开发,Model层由Hibernate实现数据持久化处理,Controller层由struts2来完成和实现,View层由jsp进行显示,js负责前台验证。
框架不仅仅只完成这些简单的约束,更重要的是,框架为我们封装好了一些冗余,且重用率低的代码。并且使用反射与动态代理机制,将代码实现了通用性。比如如果你用servlet开发,你需要在servlet获取表单的参数,每次都要获取很麻烦,而struts底层就使用反射机制和拦截器机制帮助我们获取表单的值,我们就不用每次都手写那些代码了,简化了开发,当然你必须遵守一些规定来配置。还有比如hibernate,它提供了一些通用性很强的对数据库的增删改差,如果你使用jdbc每次做一些简单的操作的时候都必须写sql,但使用hibernate就不需要这么麻烦了,直接save,update就可以。当然,你还是要遵循其一些规范而配置。使用框架大大的简化了开发,提高了开发效率和系统运行效率。
2.1.2 系统结构描述
图2.1系统功能的整体架构
2.2 功能模块设计
2.2.1 用户登录
用户登录功能是给系统管理人员使用的,主要包括以下功能模块:管理员登录。
2.2.2 商品分类管理功能
主要包括以下功能模块:查看分类、添加分类、修改分类、删除分类。
2.2.3商品信息管理功能
主要包括以下功能模块:查看商品、添加商品、修改商品信息、删除商品、查询商品信息。
2.3 系统数据库设计
2.3.1 实体及其关系
科技项目申报的数据库采用hibernate连接可操作数据库。数据库中有3张表,分别是tbAdmin(用户表),tbCategory(商品分类表),tbGoods(商品信息表)。
2.3.2 各个表设计
表2.1 用户表设计(tbAdmin)
字段名称
数据类型
说明
id
int
管理员编号(主键)
name
char
用户名
pass
char
用户密码
表2.2商品分类表设计(tbCategory)
字段名称
数据类型
说明
categoryId
int
分类编号(主键)
categoryName
char
分类名称
表2.3商品信息表设计(tbGoods)
字段名称
数据类型
意义
id
int
商品编号(主键)
categoryId
int
商品分类编号(外键)
name
char
商品名称
price
char
商品价格
label
char
商品标号
address
char
商品产地
manufacturer
char
生产厂家
dateBegin
char
生产日期
lshelfLife
char
保质期
mainMaterial
char
主要材料
2.3.3 创建表的sql语言
用户表
-- ----------------------------
-- Table structure for `tbadmin`
-- ----------------------------
DROP TABLE IF EXISTS `tbadmin`;
CREATE TABLE `tbadmin` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '管理员编号',
`name` char(20) NOT NULL,
`pass` char(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tbadmin
-- ----------------------------
INSERT INTO `tbadmin` VALUES ('1', 'admin', '123456');
商品分类表
-- ----------------------------
-- Table structure for `tbcategory`
-- ----------------------------
DROP TABLE IF EXISTS `tbcategory`;
CREATE TABLE `tbcategory` (
`categoryId` int(11) NOT NULL AUTO_INCREMENT,
`categoryName` char(20) DEFAULT NULL,
PRIMARY KEY (`categoryId`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tbcategory
-- ----------------------------
INSERT INTO `tbcategory` VALUES ('1', '食品类');
INSERT INTO `tbcategory` VALUES ('2', '生鲜类');
INSERT INTO `tbcategory` VALUES ('3', '洗化类');
INSERT INTO `tbcategory` VALUES ('4', '家百');
INSERT INTO `tbcategory` VALUES ('5', '家纺');
商品信息表
-- ----------------------------
-- Table structure for `tbgoods`
-- ----------------------------
DROP TABLE IF EXISTS `tbgoods`;
CREATE TABLE `tbgoods` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`categoryId` int(11) NOT NULL,
`name` char(20) NOT NULL,
`price` char(15) DEFAULT '未知',
`label` char(50) DEFAULT '无',
`address` char(100) DEFAULT NULL,
`manufacturer` char(50) DEFAULT NULL,
`dateBegin` char(50) DEFAULT NULL,
`shelfLife` char(100) DEFAULT '未知',
`mainMaterial` char(150) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `categoryId` (`categoryId`),
CONSTRAINT `tbgoods_ibfk_1` FOREIGN KEY (`categoryId`) REFERENCES `tbcategory` (`categoryId`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tbgoods
-- ----------------------------
INSERT INTO `tbgoods` VALUES ('1', '1', '娃哈哈矿泉水', '3元', '1', '河南省郑州市', '河南郑州食品有限公司', '2014.06.18', '9个月', '水、矿物质');
INSERT INTO `tbgoods` VALUES ('15', '1', '薯片', '10元', '2', '湖北省武汉市', '湖北武汉食品有限公司', '2014.11.13', '3个月', '面粉');
INSERT INTO `tbgoods` VALUES ('16', '1', '辣条', '0.5元', '3', '北京市', '北京食品有限公司', '2014.05.26', '2个月', '香精');
3 项目功能描述
3.1登录管理模块描述
3.1.1 用户登录
登录模块,就是提供登录的界面(如图3.1),管理员输入用户名和密码登录进入管理平台。如果输入错误的用户名,密码会显示((如图3.2)页面。
图3.1 登录界面
图3.2 登录错误界面
3.2 商品分类管理功能模块描述
3.2.1 查看商品分类信息
从用户界面登录即可查看到商品分类信息(如图3.3)页面。
图3.3 商品分类信息页面
3.2.2 添加新分类
点击添加新分类显示(如图3.4)页面,添加成功之后显示(如图3.5)页面。然后是商品分类信息(如图3.6)页面。
图3.4 添加新分类页面
图3.5 添加成功页面
图3.6 添加成功后在商品分类信息中显示
3.2.3 修改商品分类信息
修改商品分类信息(如图3.7)页面,之后显示成功添加(如图3.8)页面,最后在商品分类信息中显示(如图3.9)页面。
图3.7 修改页面
图3.8 修改成功页面
图3.9 修改后在商品信息分类中显示
3.2.4 删除商品分类信息
删除商品分类信息(如图3.10)页面,之后显示成功删除(如图3.11)页面,最后在商品分类信息中显示(如图3.12)页面。
图3.10 删除商品信息页面
图3.11 删除成功页面
图3.12 删除后在商品分类中显示
▪3.3商品分类管理功能模块描述
3.3.1 查看商品信息
在化妆品后点击查看即可显示(如图3.13)页面。
图3.13 查看商品页
3.3.2 查找商品
点击查找商品即可显示(如图3.14)页面,在精确查找中输入‘薯片’显示(如图3.15)页面,在模糊查找中输入‘薯’也可显示(如图3.16)页面。
图3.14 查找商品页面
图3.15 精确查询显示页面
图3.16 模糊查询显示页面
3.3.3 添加商品信息
在化妆品点击添加新商品则显示(如图3.17)页面,然后显示成功(如图3.18)页面,最后回到食品类商品列表显示(如图3.19)页面。
图3.17 添加新商品页面
图3.18 添加成功页面
图3.19 化妆商品列表页面
3.3.4 修改商品信息
点击化妆品后的修改即可显示(如图3.20)页面,然后是修改成功(如图3.21)页面(把化妆品修改为家居百货),最后回到家居百货商品列表可查看(如图3.22)页面。
图3.20 商品修改页面
图3.21 商品修改成功页面
图3.22 家居百货商品列表页面
3.3.5 删除商品信息
在家居百货商品列表点击删除显示删除成功(如图3.23)页面,然后回到洗化类商品列表查看(如图3.24)页面。
图3.23 删除成功页面
图3.24 家居百货列表页面
4 项目技术总结
4.1 技术创新及特点
4.1.1 技术总结
该项目作为一个Web网站,首先最重要的是要掌握Web的基础技术:JSP、Servlet、JDBC等,其次再结合目前比较主流的框架struts2、hibernate来实现,使程序受到严格的约束和规范。个人认为Web基础是重点,而框架只是作为java技术的扩展,帮我们更好的来完成项目。
Model层由Hibernate实现数据持久化处理,实现java对象和实体的唯一性和相关性。
Controller层由struts2控制和处理数据业务流程,很好的实现前台和数据的交互。
View层由jsp进行显示,js负责前台验证。
4.1.2项目特色
随着现代科学技术的迅猛发展,计算机技术已渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入数字化时代,有巨大的数据信息等待着加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。 作为国内市场的一些中小超市,他们在信息化过程中的步伐要落后大中型超市,而对于这些企业的资源管理,信息的存储和处理也显的迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的电算化进程是必不可少的。
我在本次设计之中选择了超市信息管理系统设计,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力、改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的反馈信息分析,使管理人员快速对市场的变化作出相应决策,加快超市的系统建立的技术基础。
4.2 个人收获与体会
在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象的编程语言,不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性较强,可以说比较的经典和强悍。所以学习JAVA,不仅对我们以后学习其他语言有很大的好处,而且也让我们知道了和理解了作为一个编程人员首先应具有的良好心理素质,那就是冷静思考和专心致志。对待学术知识应该是严谨和认真。
通过这次毕业答辩作业,我深深的明白了自己的不足,面对如此寻常的java代码,并不能熟练掌握,代码量认识的少,知识点也比较生疏,所以我不能做出更好的程序,至少现在的我没有满足,我知道自己水平还很低,所以我会更加努力。
24
展开阅读全文