资源描述
课 程 设 计
课程名称:
软件工程设计
试验项目:
购物车管理系统
姓 名:
XXX
专 业:
计算机科学和技术
班 级:
XX班
学 号:
XXX
指导老师:
XXX
计算机科学和技术学院
试验教学中心
XXXX年XX月XX日
一、 需求分析
1 总体分析
现在,伴随互联网发展,越来越多人选择了网上购。网上购物即经济又便捷,是多数年轻人购物首选方法。
模拟C2C(Consumer to Consumer )网购,设计了简单购物车系统。
进入购物车系统主页后,卖家进入是商品管理模块,对自己要卖商品进行添加,删除,查询这些基础操作。买家则进入购置商品模块,查询到卖家所添加全部商品,选择自己心仪商品,添加到购物车。添加购物车时能够填写购置数量,添加到购物车后,还能够修改购置商品数量。
2 功效分析
2.1商品管理
在商品管理模块中,卖家能够添加商品,包含商品编号id,商品名称,商品价格,商品库存量,商品图片。数据保留位置在数据库中,在数据库中进行插入操作。
卖家能够查询商品,包含包含商品编号id,商品名称,商品价格,商品库存量,商品图片。数据保留位置在数据库中,在数据库中进行查询操作。
卖家能够删除商品,包含包含商品编号id,商品名称,商品价格,商品库存量,商品图片。数据保留位置在数据库中,在数据库中依据该商品编号id,对其进行删除操作。
2.2购置商品
在购置商品模块中,买家对其进行操作。首先查询能够购置商品,包含商品编号id,商品名称,商品价格,商品图片。数据保留位置在数据库中,在数据库中进行查询操作,查出全部商品。
买家选购商品,包含商品名称,选购数量,价格,商品图片和商品编号id。数据在程序中实施并保留。
买家查看购物车,包含已选购商品名称,选购数量,价格和商品编号id。数据在程序中实施并保留。
买家在购物车中取消已选中某个商品,依据商品id,对该商品进行删除。数据在程序中实施并保留。
买家在购物车中取消已选中全部商品,清空购物车。数据在程序中实施并保留。
买家在购物车中修改已选中商品数量。数据在程序中实施并保留。
二、 总体设计
1 总体模块划分
购物车管理系统划分为两个子模块。即:商品管理模块和购置商品模块。
2 模块结构化设计
2.1 变换分析
数据步骤图
模块结构图
三、 具体设计
1数据库设计
1.1 数据库物理结构
1.1.1 数据文件
数据字典
数据流名称:商品信息
起源:添加商品用户
去向:连接商品信息,实现商品信息增删改查
组成:商品ID(PK) + 商品名称NAME + 商品库存量GNUM +
商品价格PRICE + 商品图片PICTURE
商品ID为确定商品唯一性标识,是该商品主键。
商品名称NAME描述该商品名字。
商品库存量GNUM,添加商品是要添加库存量,当购置商品数量大于库存量是,该商品将不会被购置,显示余量不足。
商品价格PRICE描述该商品单价。
商品图片PICTURE,添加商品时要添加图片,这里图片存放在数据库中是图片名称,显示中会依据图片名称来寻求该商品图片来显示。
1.1.2 重做日志文件
建立重做日志文件
1.1.3 控制文件
控制文件直接COPY,然后在开启参数(control_files)里改就能够了
1.2 数据库逻辑结构
E-R图
1.3 数据库具体设计
1.3.1 表创建
系统维护数据表:
用户表:(商品编号(PK)、商品名称 、 库存量 、商品单价、商品图片)
商品表(table_goods)
字段
类型
含义
说明
id
number(10)
商品ID
用来唯一标识一个商品(PK)
name
varchar2(20)
商品名称
用来描述商品名称
gnum
number(10)
库存量
用来统计商品库存量,当购物车中购置商品数大于库存量是就不能购置
price
number(10)
商品单价
用来描述商品单价
picture
varchar2(20)
商品图片
用于储存上传图片图片名称
创建表sql语句:
Table_goods表
create table table_goods(
id number(10),
name varchar2(20),
gnum number(10),
price number(10),
picture varchar2(20)
);
1.3.2 序列建立
Table_goods表序列
Create sequence goods_seq
Increment by 1
Minvalue 1
Maxvalue 1000
Start with 1
Cache 20
Nocycle;
1.3.3 插入测试数据
向table_goods 表插入3条测试数据
insert into table_goods ( id,name,gnum,price,picture ) values
(goods_seq.nextval,'篮球',50,100,'basketball.jpg')
insert into table_goods ( id,name,gnum,price,picture ) values
(goods_seq.nextval,'QQ公仔',2,98,'qqbat.jpg')
insert into table_goods ( id,name,gnum,price,picture ) values
(goods_seq.nextval,'橄榄球',18,63,'ganlan.jpg')
注:插入图片名要和放在项目中图片文件名完全一致。
2 界面设计
依据子模块进行界面分析和设计
主页界面
2.1 商品管理模块
2.1.1 查询全部商品
商品卖家进入商品管理模块,进入显示全部已添加商品。
select id,name,gnum,price,picture from table_goods order by id
界面:
2.1.2 新增商品
卖家进入新增查询全部商品页面后,点击新增商品,跳转到新增商品页面。填写商品属性:商品名称,商品数量,商品单价,添加商品图片。点击提价后,继续跳到查询全部商品页面,显示全部已添加商品。
同时,新增也面还对添加属性做了校验。首先,文本域内内容不能为空,其次,添加商品数量和商品单价全部必需是数字。不然提交不回经过,并跳回笨页面,显示错误内容。
insert into table_goods (id,name,gnum,price,picture)
values(goods_seq.nextval,'新增商品名称','新增商品库存量','新增商品单价','新增商品图片图片名');
界面:
校验页面
2.1.2 删除商品
卖家进入新增查询全部商品页面后,点击删除商品,该商品被删除,再次查询全部商品,跳转到全部商品页面。删除该商品时,同时删除了该商品上传时匹配图片。
delete table_goods where id ='该商品商品编号'
2.2 购置商品模块
2.2.1 查询全部商品
买家进入主页后点击购置商品,查询全部商品后跳转到商品列表页面,显示全部
商品。
select id,name,gnum,price,picture from table_goods order by id ;
界面:
2.2.2 加入购物车
在商品列表页面点击添加购物车后,进入确定添加到购物车页面,显示商品名称,单价和图片,买家填写添加数量。点击提交跳转到购物车页面。
页面:
购物车显示界面:
2.2.2 继续购物
在购物车页面点击继续购物,进入商品列表页面,继续选购,添加到购物车。假如选购是同种商品,跳转到购物车后会合并已经有商品,将数量修改。
界面:
2.2.3 修改数量
在购物车页面数量栏修改商品数量,点击修改。购置数量就会被修改,总价钱会改变。
界面:
2.2.4 删除加入购物车中某个商品
在购物车也面点击删除,对应该条商品就会在购物车中被删除掉。
界面:
2.2.5 清空购物车
清空购物车后,购物车中全部选购商品全部已清空。
界面:
3 代码设计
全部代码附文件。
四、设计心得
30天课程设计最终在今天基础完成了。在这次课程设计中我用了JAVA WEB 做了这次购物车项目,对web开发又有了更深认识和更多了解。
要做好这个web项目,首先要对这些过程进行全方面分析,了解每一步和下一步关系,中间传输数据处理,以求最简练完成数据处理。其次是减小系统开销,之前考虑在购置商品模块对数据处理也是用数据库,添加个状态位,在购置商品模块中进行增删改查只是修改了状态位。以后想想,这么做不仅数据繁琐,而且连接数据库增加了系统开销。而将数据放在session中处理,节省了系统开销。
在做这个项目时,得意之处是添加了分页功效,每页显示三个,假如显示太多会使得页面看起来很乱。使用struts框架应用了form特征,对添加新商品页面进行了form校验。使得校验能很轻易完成。
但使用form校验一样给我带来了麻烦,没校验之前项目能够运行,form中加上校验方法后项目不能运行了。经过查资料了解,在form中写校验方法后,不需要校验页面假如也配置了相同form,就应该在struts-config.xml文件中actionvalidate属性设置为false。
当然,不足之处还有很多。比如没有实现库存量和购置数比较,没有添加完整购置过程,购置后修改库存量个数。我相信这些内容经过以后学习会不停地完善。
展开阅读全文