课程设计.docx
- 文档编号:27728347
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:22
- 大小:563.28KB
课程设计.docx
《课程设计.docx》由会员分享,可在线阅读,更多相关《课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
课程设计
华北科技学院
课程设计说明书
技能训练类(四)
班级:
信管XXXX姓名:
XX
班级:
信管B1X姓名:
XXX
设计题目:
海瑞超市商品信息管理系统
设计时间:
2014/3/10至2014/3/28
指导教师:
徐花芬
评语:
_________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:
___________评阅教师:
_____________
1.
技能训练的目的
在学习数据库基础相关课程和JavaWeb应用开发和后,我们对信息管理系统的设计与开发有了一定的了解,这次《技能训练(四)》就是集中训练与实践的环节。
JSP动态网页设计的目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行系统软件的开发、并在实践应用方面打下一定基础,提高学生系统软件开发的水平。
后台数据库的设计,可以帮助学生熟悉SQLSERVER数据库管理系统的结构与组成;掌握SQLSERVER数据库管理系统的应用技术和设计开发技术。
应用MyEclipse和SQLSERVER开发工具实现海瑞超市商品信息管理系统的设计与开发,最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。
2.系统需求分析和总体设计
(1)海瑞超市商品信息管理系统设计背景
Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。
而作为国内市场中的一些超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的信息处理方式和管理方法,因此加快超市的信息化进程是必可少的。
小超市形态本身具有种种特点,在原先状况下不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。
小超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。
为此,超市管理系统便显得尤为重要了,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
本次设计便是利用SQLServer数据库与Jsp开发技术共同开发的一个海瑞超市商品信息管理系统,它能方便快捷地运用在一些中小型超市的营运之中。
(2)海瑞超市商品信息管理系统分析
1功能需求分析
●登录模块:
实现管理员和普通用户的登录。
●商品信息管理模块:
管理员可以对商品的基本信息进行录入﹑修改﹑删除,普通用户可以看到商品信息。
商品信息包括:
商品编号,商品名称,进价,卖价,促销价,库存数量,货架销售数量,卖出数量,商品类型编号。
●进货管理模块:
管理员可以记录进货商品信息,并将该商品入库。
入库商品信息包括:
商品名,数量,进价,售价。
●库存管理模块:
管理员可以修改商品库存数。
●上架管理模块:
管理员可以选择那些商品进行上架,也可以控制上架数量。
上架信息包括:
上架商品编号,商品名称,在售数量,库存数量,上架数量等。
●商品销售模块:
管理员可以修改商品销售数量,商品销售信息。
普通用户可以售卖商品。
●资金管理模块:
管理员可以查询自己某个时间段内的进货支出资金,销售收入资金,以供自己进货与销售参考。
2性能需求分析
●性能方面:
海瑞超市商品信息管理系统可供不同权限的管理员与用户使用,每个管理员与用户都可以方便的进行自己权限内内的相关操作。
●可修改性方面:
随着计算机技术的提高,海瑞超市商品信息管理系统可以根据超市的需要进行升级,从而提高它的实用性。
●可用性方面:
如果系统出现问题,可以用最短的时间进行恢复,同时,每过一段时间,可以对系统进行故障检测。
●安全性方面:
该系统设有一个级别最高的管理员,可以对系统进行所有的操作,然后在低一级就是超市商品管理员,对商品的相关信息有管理权,最后一级是用户,可以查询超市商品的相关信息。
●用户操作方面:
不同的角色有不同的权限,登陆进去过后,根据需要,选择模块,方便进行各种操作。
●界面要求方面:
界面要清晰、美观、易于操作。
(3)海瑞超市商品信息管理系统设计
海瑞超市商品信息管理系统,是一个非常有实用性的系统,不管是各类中小型超市,还是各种小商店,都需要有一个合适方便的商品管理系统,学完数据库的知识以后,我掌握了一些相关知识,但是,还没有应用于实践,借着这个课程设计的机会,充分利用所学到的知识,进行一次实践,希望自己的应用能力得到提高。
本次设计便是利用SQLServer数据库与Jsp开发技术共同开发的一个海瑞超市商品信息管理系统,它能方便快捷地运用在相关中小型超市、各类商店的商品管理营运之中。
该海瑞超市商品信息管理系统主要是应用于中小型超市商品信息的管理,商品销售管理系统采用C/S结构,用户通过网络使用超市商品信息管理系统。
用户和管理员通过不同权限的账号登陆进入,行使不同的权力,其中,用户可以对商品的基本信息进行查询、购买,管理员可以对用户信息的查询、删除,商品基本信息的查询、入库、删除,修改等。
同时,使用该系统需要提供良好的用户界面,因此,还设计好了友好的用户界面。
总体结构如图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图,适当的进行优化后,可以得到以下七个关系模式:
用户(编号,用户名,密码,电话,权限)
商品(商品编号,商品名称,进价,售价,促销价,库存数量,在架数量,售出数量)
管理员(编号,用户名,密码,电话,权限)
商品类别(类别编号,类别名称)
进货记录(进货编号,商品编号,用户编号,进货日期,进货数量)
销售记录(销售编号,商品编号,用户编号,销售日期,销售数量)
资金记录(进货支出金额,销售收入金额,结算日期,)
4.数据库实施
(1)海瑞超市商品信息管理系统数据库表的建立
本系统采用SQLServer数据库来管理系统数据。
根据需求分析中可以看出数据量最大的在goods表中,因为商品信息比较多,也比较全面。
而本系统属于超市内部系统,使用的用户数不会太多,数据量最大的是有关于商品的信息,所以SQLServer数据库比较符合要求。
在SQLServer中创建数据表,部分数据表的结构如下:
①商品信息表如表1goods所示,存储商品的相关信息。
表1商品信息goods
字段名
名称
类型
约束
Gid
商品编号
INT
主键,非空
Gname
商品名称
VARCHAR(50)
Price0
进价
MONEY
price
卖价
MONEY
Price-cu
促销价
MONEY
kucun
库存数量
INT
onsale
货架销售数量
INT
saleout
卖出数量
ITN
Kid
商品类型编号
ITN
外键—商品类型表
建表代码:
CREATETABLEgoods(
GidintNOTNULL,
Gnamevarchar(50)COLLATEChinese_PRC_CI_ASNULL,
price0moneyNULL,
PricemoneyNULL,
price_cumoneyNULL,
kucunintNULL,
onsaleintNULL,
saleoutintNULL,
KidintNULL,
CONSTRAINTG1PRIMARYKEY(Gid),
CONSTRAINTG2FOREIGNKEY(Kid)REFERENCESkind(Kid));
②商品类型表kind,如表2所示,存储商品的类别信息。
表2商品类型表kind
字段名
名称
类型
约束
Kid
商品类型编号
INT
主键,非空
Kname
商品类型名称
VARCHAR(50)
建表代码:
CREATETABLEkind(
KidintNOTNULL,
Knamevarchar(50)COLLATEChinese_PRC_CI_ASNULL,
CONSTRAINTK1PRIMARYKEY(Kid));
③资金状况表mony,如表3所示,存储资金的收支情况。
表3资金状况表mony
字段名
名称
类型
约束
id
编号
INT
主键,非空
money
资金
MONEY
time
时间
DATETIME
kind
资金种类
VARCHAR(50)
建表代码:
CREATETABLEmoney(
idintIDENTITY(1,1)NOTNULL,
MoneymoneyNULL,
timedatetimeNULL,
Kindvarchar(50)COLLATEChinese_PRC_CI_ASNULL,
CONSTRAINTM1PRIMARYKEY(id));
④表4用户表user,如表4所示,存储用户权限及相关信息。
表4用户表user
字段名
名称
类型
约束
Uid
用户编号
INT
主键,非空
userName
用户名
VARCHAR(50)
passWord
密码
VARCHAR(50)
tel
联系电话
VARCHAR(50)
group
用户分组权限
INT
建表代码:
CREATETABLEusers(
UidintIDENTITY(1,1)NOTNULL,
userNamevarchar(50)COLLATEChinese_PRC_CI_ASNULL,
passWordvarchar(50)COLLATEChinese_PRC_CI_ASNULL,
telvarchar(50)COLLATEChinese_PRC_CI_ASNULL,
groupintNULL,
CONSTRAINTU1PRIMARYKEY(Uid));
(2)海瑞超市商品信息管理系统数据库数据的装入
在该系统中,对数据的装入比较方便简单。
使用Insert语句可以在直接在后台数据库装入数据。
还可以在图形界面中方便的为各数据表插入数据。
部分数据表的数据插入语句如下:
为kind表插入数据
INSERTINTOdbo.kind(Kid,Kname)VALUES(1,’生活用品’);
INSERTINTOdbo.kind(Kid,Kname)VALUES(2,’图书’);
INSERTINTOdbo.kind(Kid,Kname)VALUES(3,’学习用品’);
INSERTINTOdbo.kind(Kid,Kname)VALUES(4,’办公用品’);
INSERTINTOdbo.kind(Kid,Kname)VALUES(5,’电子产品’);
INSERTINTOdbo.kind(Kid,Kname)VALUES(6,’食品’);
5.SQL语句的高级应用
(1)安全性设计
根据超市商品信息管理系统的使用人员,将本系统分成系统管理员、商品管理员和用户三个级别,分别为user1,user2,user3。
系统管理员拥有最高权限,可以对系统所有的信息进行管理,包括商品管理员、商品、用户。
商品管理员可以对商品的相关信息进行增删改查操作,但不能进行用户信息的更新。
最后是用户,可以进行商品信息的浏览,商品的购买等操作。
(2)视图设计
创建视图,内容包括商品编号、进价、卖价、促销价、库存数量、货架销售数量、卖出数量、类型编号、类型名称,通过建立视图goods_view实现。
视图建立的SQL语句如下:
CREATviewgoods_view
AS
SELECTdbo.goods.Gid,dbo.goods.Gname,dbo.goods.price0,dbo.goods.price,dbo.goods.price_cu,dbo.goods.kucun,dbo.goods.onsale,dbo.goods.saleout,dbo.kind.Kname,dbo.goods.Kid
FROMdbo.goodsINNERJOINdbo.kind
ONdbo.goods.Kid=dbo.kind.Kid
(3)存储过程设计
创建存储过程hairun_register,功能为判断用户名是否已被注册。
创建的SQL语句如下:
USEhairun
if(object_id('user_register','p')isnotnull)
dropprocedureuser_register
go
createprocedureuser_register
@userNamevarchar(30),
@passWordvarchar(30),
@telvarchar(30),
@groupint,
@resultvarchar(50)output
as
begin
declare@sumint
select@sum=count(*)fromuserswhereuserName=@userName
if(@userName='')
begin
select@result='用户名不能为空';
end
elseif(@passWord='')
begin
select@result='密码不能为空';
end
elseif(@sum=0)
begin
insertintousers(userName,passWord,tel,groups)values(@userName,@passWord,@tel,@group)
select@result='注册成功,赶紧登录吧!
';
end
elseif(@sum=1)
begin
select@result='用户名已经在';
end
else
select@result='异常,请联系管理员!
';
end
(4)触发器设计
创建触发器goods_trigger,功能为向goods表中插入一条记录时,弹出提示信息,创建的SQL语句如下:
createtriggergoods_triggerongoods
insteadofinsert
as
declare@Gidvarchar(30),@Gnamevarchar(50),@price0money,@kucunint;
declare@pricemoney,@price_cumoney,@kidint;
select@Gname=Gname,@price0=price0,@price=price,@kucun=kucun,@price_cu=price,@kid=Kidfrominserted;
select@Gid=max(Gid)fromgoods;
select@Gid=@Gid+1;
INSERTINTOgoods(Gid,Gname,price0,price,price_cu,kucun,onsale,saleout,Kid)
VALUES(@Gid,@Gname,@price0,@price,@price_cu,@kucun,0,0,@kid)
print'添加成功!
';
(5)索引设计
建立索引是加快查询速度的有效手段。
根据本系统的需要,建立以下索引:
①因为商品信息常被用户和管理员查询,已经建立了‘商品编号’主键外,为了提高对商品信息的检索效率,还需为经常查询的字段添加索引。
因为商品的名称和价格常被查询,所以为商品的名称和价格添加组合索引。
②因为用户信息常被管理员查询,为了提高检索效率,除了系统自定义的主键以外,还需要为购买商品添加索引来提高检索效率。
6.系统实现
(1)海瑞超市商品信息管理系统运行界面
①商品上架页面
此页面功能为显示可以上架的商品,界面如图7所示。
可以根据在售数量与库存决定要上架的数量,填写好要上架数量后,点击确定按钮,就可以实现商品上架。
图7商品上架图
2商品销售页面
此页面功能为商品销售,界面如图8所示。
输入商品编号和购买数量后,点击确定按钮,能看到提示,提示商品的一些信息和小计,最后点击结算进入到结算界面。
所示:
图8销售图
实现该功能的主要代码如下:
<%@includefile="top.jsp"%>
销售商品
do_saleGoods.action"method="post">输入商品编号
propertyvalue="actionMessages.get (1)"/>"> propertyvalue="actionMessages.get(0)"/>
sale.action">结算 clear.action">清空 propertyvalue="#session.total"/>元 3资金状况信息页面 此页面功能为显示资金状况信息,界面如图9所示。 当发生商品进货或者销售商品时,资金状况就会发生变化,即不同的时间段,资金状况是变化的,该页面就实现了进货支出与售货收入两种状态下资金在不同时间段内的变化状况。 图9资金状况图 4商品上架指导页面 此页面功能为商品上架指导,界面如图10所示。 根据在售数量与售出的数量,结合库存判断商品销售情况,指导商品上架。 图10商品上架指导图 实现该功能的主要代码如下: <%@includefile="top.jsp"%> 上架指导 5修改商品信息页面 此页面功能为修改商品信息,界面如图11所示。 输入要修改商品的ID,点击查找按钮,根据下面的提示,参照修改前的记录进行修改,点击删除则该条记录整条被删除。 图11修改信息图 实现该功能的主要代码如下: <%@includefile="top.jsp"%> 修改商品 init_xiugai.action"method="post"> pr商品编号 商品名 种类 单价 数量 小计 序号 商品名 类别 在售数量 库存 售出的数量 输入商品ID
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计