软件工程学年设计之购物车管理系统.docx
- 文档编号:26543279
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:21
- 大小:367.63KB
软件工程学年设计之购物车管理系统.docx
《软件工程学年设计之购物车管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程学年设计之购物车管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
软件工程学年设计之购物车管理系统
课 程 设 计
课程名称:
软件工程设计
实验项目:
购物车管理系统
姓名:
XXX
专业:
计算机科学与技术
班级:
XX 班
学号:
XXX
指导教师:
XXX
计算机科学与技术学院
实验教学中心
XXXX 年 XX 月 XX 日
1、需求分析
1 总体分析
如今,随着互联网的发展,越来越多的人选择了网上购。
网上购物即经济又便捷,是多
数年轻人购物的首选方式。
模拟 C2C(Consumer to Consumer )的网购,设计了简单的购物车系统。
进入购物车系统主页后,卖家进入的是商品管理模块,对自己要卖的商品进行添加,删
除,查询的这些基本操作。
买家则进入购买商品模块,查询到卖家所添加的所有商品,选择
自己心仪的商品,添加到购物车。
添加购物车时可以填写购买数量,添加到购物车后,还可
以修改购买商品的数量。
2 功能分析
2.1 商品管理
在商品管理模块中,卖家可以添加商品,涉及商品编号 id,商品名称,商品价格,商
品库存量,商品图片。
数据保存的位置在数据库中,在数据库中进行插入操作。
卖家可以查询商品,涉及涉及商品编号 id,商品名称,商品价格,商品库存量,商品图
片。
数据保存的位置在数据库中,在数据库中进行查询操作。
卖家可以删除商品,涉及涉及商品编号 id,商品名称,商品价格,商品库存量,商品
图片。
数据保存的位置在数据库中,在数据库中根据该商品的编号 id,对其进行删除操作。
2.2 购买商品
在购买商品模块中,买家对其进行操作。
首先查询可以购买的商品,涉及商品编号 id,
商品名称,商品价格,商品图片。
数据保存的位置在数据库中,在数据库中进行查询操作,
查出所有商品。
买家选购商品,涉及商品名称,选购数量,价格,商品图片和商品编号 id。
数据在程序
中执行并保存。
买家查看购物车,涉及已选购的商品名称,选购数量,价格和商品编号 id。
数据在程序
中执行并保存。
买家在购物车中取消已选中的某个商品,根据商品 id,对该商品进行删除。
数据在程序
中执行并保存。
买家在购物车中取消已选中的全部商品,清空购物车。
数据在程序中执行并保存。
买家在购物车中修改已选中商品的数量。
数据在程序中执行并保存。
2、总体设计
1 总体模块的划分
购物车管理系统划分为两个子模块。
即:
商品管理模块和购买商品模块。
2 模块结构化设计
2.1 变换分析
数据流程图
模块结构图
3、详细设计
1 数据库设计
1.1 数据库物理结构
1.1.1 数据文件
数据字典
数据流名称:
商品信息
来源:
添加商品用户
去向:
连接商品信息,实现商品信息的增删改查
组成:
商品 ID(PK) +商品名称 NAME+商品库存量 GNUM+
商品价格 PRICE+商品图片 PICTURE
商品 ID 为确定商品唯一性的标识,是该商品的主键。
商品名称 NAME 描述该商品的名字。
商品库存量 GNUM,添加商品是要添加库存量,当购买商品数量大于库存量是,该商
品将不会被购买,显示余量不足。
商品价格 PRICE 描述该商品的单价。
商品图片 PICTURE,添加商品时要添加图片,这里的图片存储在数据库中的是图片的
名称,显示中会根据图片名称来寻找该商品的图片来显示。
1.1.2 重做日志文件
商品表(table_goods)
字段
类型
含义
说明
id
number(10
)
商品 ID
用来唯一标识一个商品(PK)
name
varchar2(20)
商品名称
用来描述商品名称
gnum
number(10
)
库存量
用来记录商品的库存量,当购物车中
购买的商品数大于库存量是就不能购
买
price
number(10
)
商品单价
用来描述商品的单价
建立重做日志文件
1.1.3 控制文件
控制文件直接 COPY,然后在启动参数(control_files)里改就可以了
1.2 数据库逻辑结构
E-R 图
1.3 数据库详细设计
1.3.1 表的创建
系统维护的数据表:
用户表:
(商品编号(PK)、商品名称 、 库存量 、商品单价、商品图片)
picturevarchar2(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 代码设计
所有代码附文件。
四、设计心得
一个月的课程设计终于在今天基本完成了。
在这次课程设计中我用了 JAVA WEB做
了这次的购物车项目,对 web 开发又有了更深的认识和更多的了解。
要做好这个 web 项目,首先要对这些过程进行全面的分析,了解每一步与下一步的关
系,中间传递数据的处理,以求最简洁的完成数据处理。
其次是减小系统开销,之前考虑在
购买商品模块对数据的处理也是用数据库,添加个状态位,在购买商品模块中进行的增删改
查只是修改了状态位。
之后想想,这样做不仅数据繁琐,而且连接数据库增加了系统的开销。
而将数据放在 session 中处理,节省了系统的开销。
在做这个项目时,得意之处是添加了分页的功能,每页显示三个,如果显示太多会使得
页面看起来很乱。
使用 struts 框架应用了 form 的特性,对添加新的商品页面进行了 form 校
验。
使得校验能很容易的完成。
但使用 form 校验同样给我带来了麻烦,没校验之前项目能够运行,form 中加上校验方
法后项目不能运行了。
通过查资料了解的,在 form 中写校验方法后,不需要校验的页面如
果也配置了相同 form,就应该在 struts-config.xml 文件中 action 的 validate 属性设置为
false。
当然,不足之处还有很多。
比如没有实现库存量与购买数的比较,没有添加完整的购买
过程,购买后修改库存量的个数。
我相信这些内容通过以后的学习会不断地完善。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 学年 设计 购物 管理 系统