海瑞超市商品信息管理系统课程设计.doc

上传人:精*** 文档编号:850843 上传时间:2023-09-16 格式:DOC 页数:19 大小:716.02KB
下载 相关 举报
海瑞超市商品信息管理系统课程设计.doc_第1页
第1页 / 共19页
海瑞超市商品信息管理系统课程设计.doc_第2页
第2页 / 共19页
海瑞超市商品信息管理系统课程设计.doc_第3页
第3页 / 共19页
海瑞超市商品信息管理系统课程设计.doc_第4页
第4页 / 共19页
海瑞超市商品信息管理系统课程设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、目录1. 技能训练的目的12. 系统需求分析和总体设计1(1) 海瑞超市商品信息管理系统设计背景1(2) 海瑞超市商品信息管理系统分析2(3) 海瑞超市商品信息管理系统设计33. 数据库设计5(1) 数据库概念设计5(2) 数据库结构设计74. 数据库实施8(1)海瑞超市商品信息管理系统数据库表的建立8(2)海瑞超市商品信息管理系统数据库数据的装入105. SQL语句的高级应用10(1)安全性设计10(2)视图设计10(3)存储过程设计11(4)触发器设计12(5)索引设计126. 系统实现127. 系统总结181. 技能训练的目的在学习数据库基础相关课程和Java Web应用开发和后,我们对

2、信息管理系统的设计与开发有了一定的了解,这次技能训练(四)就是集中训练与实践的环节。JSP动态网页设计的目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行系统软件的开发、并在实践应用方面打下一定基础,提高学生系统软件开发的水平。后台数据库的设计,可以帮助学生熟悉SQL SERVER数据库管理系统的结构与组成;掌握SQL SERVER数据库管理系统的应用技术和设计开发技术。应用MyEclipse 和 SQL SERVER开发工具实现海瑞超市商品信息管理系统的设计与开发,最终达到掌握数据库管理系

3、统的使用和开发,提高分析问题、解决问题和实践应用能力。2. 系统需求分析和总体设计(1) 海瑞超市商品信息管理系统设计背景Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。而作为国内市场中的一些超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的信息处理方式和管理方法,因此加快超市的信息化进程是必可少的。小超市形态本身具有种种特点,在原先状况下不能有效地管理每种商品,收

4、款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。小超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,超市管理系统便显得尤为重要了,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。

5、本次设计便是利用SQL Server数据库与Jsp开发技术共同开发的一个海瑞超市商品信息管理系统,它能方便快捷地运用在一些中小型超市的营运之中。(2) 海瑞超市商品信息管理系统分析 功能需求分析 登录模块:实现管理员和普通用户的登录。 商品信息管理模块:管理员可以对商品的基本信息进行录入修改删除,普通用户可以看到商品信息。商品信息包括:商品编号,商品名称,进价,卖价,促销价,库存数量,货架销售数量,卖出数量,商品类型编号。 进货管理模块:管理员可以记录进货商品信息,并将该商品入库。入库商品信息包括:商品名,数量,进价,售价。 库存管理模块:管理员可以修改商品库存数。 上架管理模块:管理员可以选

6、择那些商品进行上架,也可以控制上架数量。上架信息包括:上架商品编号,商品名称,在售数量,库存数量,上架数量等。 商品销售模块:管理员可以修改商品销售数量,商品销售信息。普通用户可以售卖商品。 资金管理模块:管理员可以查询自己某个时间段内的进货支出资金,销售收入资金,以供自己进货与销售参考。 性能需求分析 性能方面:海瑞超市商品信息管理系统可供不同权限的管理员与用户使用,每个管理员与用户都可以方便的进行自己权限内内的相关操作。 可修改性方面:随着计算机技术的提高,海瑞超市商品信息管理系统可以根据超市的需要进行升级,从而提高它的实用性。 可用性方面:如果系统出现问题,可以用最短的时间进行恢复,同时

7、,每过一段时间,可以对系统进行故障检测。 安全性方面:该系统设有一个级别最高的管理员,可以对系统进行所有的操作,然后在低一级就是超市商品管理员,对商品的相关信息有管理权,最后一级是用户,可以查询超市商品的相关信息。 用户操作方面:不同的角色有不同的权限,登陆进去过后,根据需要,选择模块,方便进行各种操作。 界面要求方面:界面要清晰、美观、易于操作。(3) 海瑞超市商品信息管理系统设计海瑞超市商品信息管理系统,是一个非常有实用性的系统,不管是各类中小型超市,还是各种小商店,都需要有一个合适方便的商品管理系统,学完数据库的知识以后,我掌握了一些相关知识,但是,还没有应用于实践,借着这个课程设计的机

8、会,充分利用所学到的知识,进行一次实践,希望自己的应用能力得到提高。本次设计便是利用SQL Server数据库与Jsp开发技术共同开发的一个海瑞超市商品信息管理系统,它能方便快捷地运用在相关中小型超市、各类商店的商品管理营运之中。该海瑞超市商品信息管理系统主要是应用于中小型超市商品信息的管理,商品销售管理系统采用C/S结构,用户通过网络使用超市商品信息管理系统。用户和管理员通过不同权限的账号登陆进入,行使不同的权力,其中,用户可以对商品的基本信息进行查询、购买,管理员可以对用户信息的查询、删除,商品基本信息的查询、入库、删除,修改等。同时,使用该系统需要提供良好的用户界面,因此,还设计好了友好

9、的用户界面。总体结构如图1:图1 总体结构图3. 数据库设计(1) 数据库概念设计 实体员工E-R图如图2:图2 实体员工E-R图实体管理员E-R图如图3:图3 实体管理员E-R图实体商品E-R图如图4:图4 实体商品E-R图实体商品类别E-R图如图5:图5 实体商品类别E-R图 系统整体E-R图如图6:图6 系统整体E-R图(2) 数据库结构设计根据概念模型的E-R图,适当的进行优化后,可以得到以下七个关系模式:用户(编号,用户名,密码,电话,权限)商品(商品编号,商品名称,进价,售价,促销价,库存数量,在架数量,售出数量)管理员(编号,用户名,密码,电话,权限)商品类别(类别编号,类别名称

10、)进货记录(进货编号,商品编号,用户编号,进货日期,进货数量)销售记录(销售编号,商品编号,用户编号,销售日期,销售数量)资金记录(进货支出金额,销售收入金额,结算日期,)4. 数据库实施(1)海瑞超市商品信息管理系统数据库表的建立本系统采用SQL Server数据库来管理系统数据。根据需求分析中可以看出数据量最大的在goods表中,因为商品信息比较多,也比较全面。而本系统属于超市内部系统,使用的用户数不会太多,数据量最大的是有关于商品的信息,所以SQL Server数据库比较符合要求。在SQL Server中创建数据表,部分数据表的结构如下:商品信息表如表1 goods所示,存储商品的相关信

11、息。表1 商品信息 goods字段名名称类型约束Gid商品编号INT主键,非空Gname商品名称VARCHAR(50)Price0进价MONEYprice卖价MONEYPrice-cu促销价MONEYkucun库存数量INTonsale货架销售数量INTsaleout卖出数量ITNKid商品类型编号ITN外键商品类型表建表代码:CREATE TABLE goods(Gid int NOT NULL,Gname varchar(50) COLLATE Chinese_PRC_CI_AS NULL,price0 money NULL,Price money NULL,price_cu money

12、NULL,kucun int NULL,onsale int NULL,saleout int NULL,Kid int NULL,CONSTRAINT G1 PRIMARY KEY(Gid),CONSTRAINT G2 FOREIGN KEY(Kid) REFERENCES kind(Kid);商品类型表 kind,如表2所示,存储商品的类别信息。表2 商品类型表 kind字段名名称类型约束Kid商品类型编号INT主键,非空Kname商品类型名称VARCHAR(50)建表代码:CREATE TABLE kind(Kid int NOT NULL,Kname varchar(50) COLLA

13、TE Chinese_PRC_CI_AS NULL,CONSTRAINT K1 PRIMARY KEY(Kid);资金状况表 mony,如表3所示,存储资金的收支情况。表3资金状况表 mony字段名名称类型约束id编号INT主键,非空money资金MONEYtime时间DATETIMEkind资金种类VARCHAR(50)建表代码:CREATE TABLE money(id int IDENTITY(1,1) NOT NULL,Money money NULL,time datetime NULL,Kind varchar(50) COLLATE Chinese_PRC_CI_AS NULL,

14、CONSTRAINT M1 PRIMARY KEY(id);表4 用户表 user,如表4所示,存储用户权限及相关信息。表4 用户表user字段名名称类型约束Uid用户编号INT主键,非空userName用户名VARCHAR(50)passWord密码VARCHAR(50)tel联系电话VARCHAR(50)group用户分组权限INT建表代码:CREATE TABLE users(Uid int IDENTITY(1,1) NOT NULL,userName varchar(50) COLLATE Chinese_PRC_CI_AS NULL,passWord varchar(50) COL

15、LATE Chinese_PRC_CI_AS NULL,tel varchar(50) COLLATE Chinese_PRC_CI_AS NULL,group int NULL, CONSTRAINT U1 PRIMARY KEY(Uid);(2)海瑞超市商品信息管理系统数据库数据的装入 在该系统中,对数据的装入比较方便简单。使用Insert语句可以在直接在后台数据库装入数据。还可以在图形界面中方便的为各数据表插入数据。部分数据表的数据插入语句如下: 为kind表插入数据INSERT INTO dbo.kind (Kid ,Kname)VALUES(1,生活用品);INSERT INTO d

16、bo.kind (Kid ,Kname)VALUES(2,图书);INSERT INTO dbo.kind (Kid ,Kname)VALUES(3,学习用品);INSERT INTO dbo.kind (Kid ,Kname)VALUES(4,办公用品);INSERT INTO dbo.kind (Kid ,Kname)VALUES(5,电子产品);INSERT INTO dbo.kind (Kid ,Kname)VALUES(6,食品);5. SQL语句的高级应用(1)安全性设计根据超市商品信息管理系统的使用人员,将本系统分成系统管理员、商品管理员和用户三个级别,分别为user1,user

17、2,user3。系统管理员拥有最高权限,可以对系统所有的信息进行管理,包括商品管理员、商品、用户。商品管理员可以对商品的相关信息进行增删改查操作,但不能进行用户信息的更新。最后是用户,可以进行商品信息的浏览,商品的购买等操作。(2)视图设计创建视图,内容包括商品编号、进价、卖价、促销价、库存数量、货架销售数量、卖出数量、类型编号、类型名称,通过建立视图goods_view实现。视图建立的SQL语句如下:CREAT view goods_viewASSELECT dbo.goods.Gid, dbo.goods.Gname,dbo.goods.price0,dbo.goods.price,dbo

18、.goods.price_cu, dbo.goods.kucun, dbo.goods.onsale, dbo.goods.saleout, dbo.kind.Kname, dbo.goods.KidFROM dbo.goods INNER JOINdbo.kind ON dbo.goods.Kid = dbo.kind.Kid(3)存储过程设计 创建存储过程hairun_register,功能为判断用户名是否已被注册。创建的SQL语句如下:USE hairunif (object_id(user_register, p) is not null) drop procedure user_re

19、gistergocreate procedure user_registeruserName varchar(30) ,passWord varchar(30) ,tel varchar(30) ,group int ,result varchar(50) outputasbegindeclare sum intselect sum=count(*) from users where userName=userName if(userName=) begin select result=用户名不能为空; endelse if(passWord=) begin select result=密码不

20、能为空; endelse if(sum=0)begin insert into users(userName,passWord,tel,groups) values(userName,passWord,tel,group) select result=注册成功,赶紧登录吧!;endelse if(sum=1)begin select result=用户名已经在; endelseselect result=异常,请联系管理员!;end(4)触发器设计 创建触发器goods_trigger,功能为向goods表中插入一条记录时,弹出提示信息,创建的SQL语句如下:create trigger go

21、ods_trigger on goods instead of insert as declare Gid varchar(30), Gname varchar(50), price0 money, kucun int; declare price money, price_cu money, kid int; select Gname = Gname, price0 = price0,price=price,kucun=kucun,price_cu=price,kid=Kid from inserted; select Gid= max(Gid) from goods; select Gid

22、=Gid+1; INSERT INTO goods(Gid,Gname,price0,price,price_cu,kucun,onsale,saleout,Kid) VALUES(Gid,Gname,price0,price,price_cu,kucun,0,0,kid) print 添加成功!;(5)索引设计建立索引是加快查询速度的有效手段。根据本系统的需要,建立以下索引:因为商品信息常被用户和管理员查询,已经建立了商品编号主键外,为了提高对商品信息的检索效率,还需为经常查询的字段添加索引。因为商品的名称和价格常被查询,所以为商品的名称和价格添加组合索引。因为用户信息常被管理员查询,为了提

23、高检索效率,除了系统自定义的主键以外,还需要为购买商品添加索引来提高检索效率。6. 系统实现(1)海瑞超市商品信息管理系统运行界面商品上架页面此页面功能为显示可以上架的商品,界面如图7所示。可以根据在售数量与库存决定要上架的数量,填写好要上架数量后,点击确定按钮,就可以实现商品上架。图7 商品上架图 商品销售页面此页面功能为商品销售,界面如图8所示。输入商品编号和购买数量后,点击确定按钮,能看到提示,提示商品的一些信息和小计,最后点击结算进入到结算界面。所示:图8销售图实现该功能的主要代码如下:销售商品输入商品编号输入购买数量div style=color:结算清空 合计元 商品编号商品名种类

24、单价数量小计 资金状况信息页面此页面功能为显示资金状况信息,界面如图9所示。当发生商品进货或者销售商品时,资金状况就会发生变化,即不同的时间段,资金状况是变化的,该页面就实现了进货支出与售货收入两种状态下资金在不同时间段内的变化状况。图9 资金状况图 商品上架指导页面此页面功能为商品上架指导,界面如图10所示。根据在售数量与售出的数量,结合库存判断商品销售情况,指导商品上架。图10 商品上架指导图实现该功能的主要代码如下:上架指导以下商品在售数量最少,注意续货,以免断货序号 商品名类别在售数量库存售出的数量 修改商品信息页面此页面功能为修改商品信息,界面如图11所示。输入要修改商品的ID,点击

25、查找按钮,根据下面的提示,参照修改前的记录进行修改,点击删除则该条记录整条被删除。图11 修改信息图实现该功能的主要代码如下:修改商品修改商品输入商品IDdiv style=color: (2)海瑞超市商品信息管理系统数据库连接连接方法:JDBC驱动程序。JDBC驱动程序,即JDBC Driver是应用与特定数据库的一套实施了JDBC接口的类集。Java程序在加载了JDBC驱动程序之后才能正常的操作相应的数据库。连接数据库的主要代码:package common;import java.sql.Connection;import java.sql.SQLException;import jav

26、a.sql.*;public class JdbcUtil /获取数据库连接public static Connection getConnection()Connection conn = null;/加载驱动try Class.forName(Constants.DB_DRIVER);conn = DriverManager.getConnection(Constants.DB_URL,test,123); catch (Exception e) e.printStackTrace();/try/Context context = new InitialContext();/Context

27、 c= (Context) context.lookup(java:/comp/env);/DataSource ds= (DataSource)c.lookup(db/source);/conn = ds.getConnection();/catch(SQLException e)/e.printStackTrace();/catch(NamingException e)/e.printStackTrace();/return conn;/关闭连接public static void closeConnection(Connection conn)if(conn != null)try co

28、nn.close(); catch (SQLException e) e.printStackTrace();/回滚操作public static void rollbackConnection(Connection conn)if(conn != null)try conn.rollback(); catch (SQLException e) e.printStackTrace();7. 系统总结在这次技能训练(四)中,通过对数据库的设计,复习了对SQL Server 数据库的知识,加深了对数据库设计的流程和方法的了解,对数据库表、视图、索引、存储过程、触发器等知识点有了更好的掌握。同时,通

29、过对超市商品信息管理系统的设计,让我们对一些信息管理系统的业务流程有了一定的了解。本次课程设计选择了海瑞超市商品信息管理系统,前台使用JSP 技术,后台使用SQL Server 数据库,对超市商品信息管理系统进行开发。在开发过程中也遇到了一些技术问题,例如,在JSP语言和SQL Server数据库的链接、存储过程的创建等。但是通过上网查找资料和同学的帮助下得到了解决。整个课程设计的过程当中,在开始的需求分析和相关信息的获取阶段我花了大概三天的时间来收集整理材料,由于我对超市商品信息管理系统这个领域比较陌生,所以花了比较长的时间来了解这个行业的情况和信息。在这次课程设计的数据库设计中,我先将整个

30、系统中划分成几个实体,分析每个实体属性,以及实体和实体之间的关系,然后在画E-R图。针对海瑞超市商品信息管理系统我主要设计了多张表,例如是goods(商品信息表)、kind (商品类型表)、 mony (资金状况表)、user (用户表)等;以及视图goods_view;触发器goods_trigger,存储过程hairun_register等。通过这次设计,我对JDBC中的ResultSet, Statement, PreparedStatement等有了很大认识,主要是在设计的时候对出错原因进行了分析,使得自己对JDBC的理解更加清晰。本系统的设计从最开始的可行性分析研究,需求分析,到系统的总体设计、详细设计,再到编码、测试等一个整体过程,使我真正明白了要做一个系统软件的难度,特别是要做一个真正可用的系统软件就更难了。我在学校要求的规定时间里,抓紧时间查询相关资料,研究其内容设计,分析其设计流程,逐渐理清思路,慢慢的本系统的初始思路完成。然后,多方搜集技术资料和设计资料,才基本上完成了海瑞超市商品信息管理系统的设计与开发。总的来说,这次课程设计还是比较成功的,基本上达到了课程设计的要求,实现了超市商品信息管理系统的基本功能,当然在以后的学习中,更应该努力学习专业知识,掌握更多的系统开发技术,使自己的技术水平更上一层楼。19

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922