基于ASP.NET和SQL Server 2012实现的WEB酒品销售平台
摘 要
这次课题报告选择了网上酒品销售这个主题。在当下,人们对于购物的追求越来越高。而使用网上销售的方式,不仅可以让顾客更加方便地挑选到物美价廉的商品,也可以帮助商家在线经营,销售商品。既达到节约商家经营成本,增加利润,又可以方便顾客的生活。
在这次课题完成过程中,我主要进行了以下工作:搜集资料完成原型设计;店铺前端的设计;主要代码的编译;网站所需的数据库的编译。以.NET为基础的网上酒品销售系统在SQL数据库中存储数据,利用sql server语句完成了用户的注册与登录、查看和购买商品、修改个人信息,商家对订单的查询。也实现了商家对商品的添加与修改等功能。用户可以查看、修改自己的购物车及订单。管理员通过登陆可以对用户数据及图书信息进行增加、删除、修改、查询等操作。
在系统内部,利用了Table以及框架等组件完成了店铺的可视化窗口,方便了用户对商品的查看与商家的管理。
在我看来,本次课题完成的相对完整,所需要的功能齐全。其中的主要功能,如用户的登录注册、对商品的查看,管理员对商品进行管理的部分,都得到了较为完整的实现。我们对于asp和sqlserver数据库连接部分的知识掌握的不够好,出现了很多错误,在后期进行了修改。没有达到深刻理解的程度。
关键词 : http:// Asp.net ;sqlserver;框架;可视化
第1章 概述
本章是对网站需求,问题等进行分析。从用户端和管理段两个角度对网站进行规划。课题是基于web的酒类购物平台,主要是面向用户和面向商家实现不同的功能。
1.1 需求分析
1.1.1 可行性分析
随着网上购物的流行,网上对酒类商品的销售店铺也越来越多,但是大部分现有的酒类网店低价一直是酒类商品主要的销售手段,但在随后的发展中,仅仅是低价显然不能成为同类行业的竞争点且会因同质化逐渐被淹没。所以我们的店铺主要销售知名品牌的酒类商品,并且在页面中融入酒文化为消费者搭建酒类文化中心。
1.1.2 经济可行性
本系统所用的软件都是开源的,为开发软件节省了大量的金钱和时间,达到降低成本,提高开发效率的目的,本系统对计算机配置的要求不高,只要用自己的笔记本就可以进行开发,所以在经济上具有完全的可行性。
1.1.3 需求分析
面向用户的前台功能如下:
- 商品信息查询功能 :用户浏览网上商城,可以在网上商城首页、品牌分类等查看产品详细信息,可以按照价格,销量等元素排序
- 购物车功能 :顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车
- 订单平台功能 :顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作
- 网上结算功能 :顾客在订单被销售方确认后,要选择付款方式,并付款给销售方,然后完成结算
面向管理员的后台功能如下:
- 用户管理功能 :可以对用户的注册信息进行管理
- 商品管理功能 :管理员可以管理所有商品的发布,制定价格,确定商品信息,增删商品信息
- 管理商品功能 :管理员可以添加、修改、删除商品
数据库设计(对角色(User),商品(Goods),订单(Order)进行编写)
1.2 功能分析
1.2.1 游客用户
游客是没有进行账号注册的用户,他们具有的功能如下:
- 注册成为普通用户
- 浏览所有商品
- 查看商品详情
如图1-1所示:
1.2.2 会员用户
会员是通过本系统注册成功成为会员的浏览者,具有一般游客的权限,其具有的功能如下:
- 登录账号
- 浏览所有商品
- 查看商品详细信息
- 搜索商品
- 订单管理
- 购物车管理
- 个人信息管理
注册用户用例图图1-2所示:
1.2.3 系统管理员
系统管理员除拥有一切普通用户的权限之外,可以发布自己要销售的商品信息、修改或者删除某些自己没有货源的图书商品,其主要功能如下:
- 浏览所有商品
- 查看商品详细信息
- 管理员登录
- 添加商品信息
- 删除商品信息
- 修改商品信息
- 查看用户信息
- 修改用户信息
- 增加用户信息
如图1-3所示:
1.3 问题分析
首先销售系统要完成对用户注册,用户登录,店铺首页,订单平台。商家对用户的管理,商品后台管理。
在用户注册时要对用户信息进行判断,在登录时要对角色身份进行分析,普通用户进入浏览页面,商家进入后台管理。注册成功后,可以用刚注册的账号进行登录,之后可以对商品进行查看(不登录也可以查看)、加入购物车、付款等功能。
管理端在登录后,进入后台管理页面,对商品进行管理(修改商品信息、添加或删除商品)、查看店铺内注册过的用户信息。
1.4 技术分析
本系统用到的技术有以下几种:
- 网上酒类销售系统主要依靠SQL数据库对信息(商品信息、用户信息、订单信息)进行存储,这是本系统的主要功能
- 通过sql对商品进行搜索、添加新的商品、删除商品、修改用户信息等
- 利用Table表格灵活的功能,创建用户界面,接受数据库查询的信息,显示在网页中,方便用户查看
- 利用Photoshop、Css、js等技术对前端代码进行设计美化
1.5 性能分析
- 开发工具 :Visual Studio 2017 PS
- 开发技术 : http:// asp.net css html js
- 使用语言 :c#
- 数据库系统 :SQL server
- 运行环境 :windows 10
第2章 概要设计
通过对用户需求进行分析,该系统需要使用数据库对数据进行增删改查等操作。
2.1 系统分析
酒品购物系统是为了以方便用户为目的,在用户端和客户端进行增删改查的操作。
2.1.1 用户注册
用户在首页或者登录页面点击注册按钮,会跳转到注册页面。在填写完个人信息后,系统会对信息进行验证,通过后会在数据库中存储注册用户的个人信息,以便用户下次登录。
2.1.2 用户与管理员登录
用户与管理员可以在登录界面填写自己的昵称、密码,选择身份,随后会连接数据库,对填写的信息与数据库存储的信息进行对比。若相同,则用户进入店铺首页,管理员进入后台管理;若失败,则弹出提示框。
2.1.3 用户查看商品
用户成功登录后,可以进入店铺首页查看全部商品的大致信息。点击商品后,可以跳转到商品详情页面,了解商品的具体信息。并决定是否购买。
2.1.4 用户添加商品到购物车及查看订单
在查看商品的详细信息后,用户可以点击商品详情页的“加入购物车”按钮,将商品保存在购物车,随后可以进行购买操作。用户也可以对自己已经付款的订单进行查看。
2.1.5 用户更改个人信息
在店铺首页,用户可以点击“个人中心”,进入到自己信息的详情页面。在这个页面,用户可以对自己的信息进行修改并保存。
2.1.6 管理员进入后台管理页面
在管理员登录后,会进入后台管理页面。可以对商品进行修改、删除、添加等操作。
2.1.7 管理员查看订单
管理员可以查看所有用户的订单,进行管理(修改、删除等)。
2.1.8 管理员管理用户信息
管理员可以查看已注册的所有用户,为忘记密码的用户修改密码。
2.2 系统设计
系统的主要功能是方便管理员对用户和商品进行管理,也方便了用户对商品浏览、查询,购买,需要对用户信息,商品信息,管理员信息进行增加,删除和修改等操作。
- 建立数据库,通过分析酒品销售系统的结构,设计出合适的表格和字段
- 确定表间关系
- 编写代码连接数据库,实现数据的增加,删除,更改和査询等功能
功能结构设计如图2.1所示:
2.3 E-R图
2.4 数据库设计
经过分析,本系统需要有用户端和管理端。经过分析,得出以下实体:用户(包括管理员)、商品、订单、购物车。管理员可以对用户、商品、订单进行管理。管理员可以查看、更改多种商品,属于一对多的关系;用户可以查看多种商品,一种商品也可以被多个用户查看,属于多对多的关系;用户可以也仅可以查看自己的订单,属于一对一的关系;管理员可以查看所有订单,属于多对多的关系;用户仅可以查看自己的购物车,属于一对一的关系;由此可以得出数据库E-R,即图2-2。
系统功能描述如下:系统拥有若干用户,用户分为游客、会员、系统管理员三种。商家可以添加多种书籍。已注册的用户可以进行个人信息管理、购物车管理等。从上述功能描述可以抽取到的实体以及实体所对应的属性如下:
用户 :用户ID、登录帐号、登录密码、用户姓名、地址、联系电话
商品 :商品ID、商品品牌、商品名称、价格、库存、图片、介绍、评论
由E-R图可以得出用户表、管理员表、商品表三个数据表。
用户表
键名 | 类型 | 备注 |
---|---|---|
UserPetName | nvarchar(20) | 主键,不能为空,唯一 |
Userpwd | nvarchar(16) | 不能为空 |
UserID | nvarchar(12) | 不能为空 |
UserIDnumber | nvarchar(20) | 不能为空 |
UserName | nvarchar(20) | 不能为空 |
Telephone | nvarchar(13) | 不能为空 |
Address | nvarchar(30) | 不能为空 |
管理员表
键名 | 类型 | 备注 |
---|---|---|
ManagerID | nvarchar(10) | 不能为空 |
ManagerName | nvarchar(10) | 主键,不能为空,唯一 |
ManagerPwd | nvarchar(20) | 不能为空 |
Authority | nvarchar(10) | 不能为空 |
商品表
键名 | 类型 | 备注 |
---|---|---|
Goods_ID | nvarchar(10) | 主键,不能为空,唯一 |
Goods_Brand | nvarchar(15) | 能为空 |
Goods_Name | nvarchar(15) | 能为空 |
Goods_Price | int | 能为空 |
Goods_Sales | int | 能为空 |
Goods_Photo | nvarchar(30) | 能为空 |
Goods_Intoduction | nvarchar(30) | 能为空 |
Goods_Comment | nvarchar(50) | 能为空 |
2.4 时序图
游客作为执行者注册会员功能操作对应的顺序图如图2-8所示。
用户对店铺进行登录操作时对应的顺序图如图2-9所示。
用户对店铺进行添加购物车时对应的时序图如图2-10所示。
2.5 类图
用户作为执行者的类图如下:
管理员作为执行者的类图如下:
第3章 功能实现
3.1 用户的登录注册模块
通过连接数据库对用户和商家进行身份的添加与修改,通过身份验证确定角色,进行登录。
3.1.1 用户的登录注册模块
首先销售系统要完成对用户注册,用户登录,店铺首页,订单平台。商家对用户的管理,商品后台管理。在用户注册时要对用户信息进行判断,在登录时要对角色身份进行分析,普通用户进入浏览页面,商家进入后台管理。
-
前端
- 前端通过div,添加两个textbox和lable实现账号密码的输入
- 选项卡对用户身份进行确定
- 添加三个button分别改为登录、注册、忘记密码。实现系统的登录和页面的跳转
-
后端
- 连接数据库
- 对表信息进行查找
- 登录身份判断
- 未注册跳转到注册页面
- 忘记密码跳转到个人中心
- 登录成功进入首页
登录页面
注册图片
3.2 商品管理模块
系统管理员模块所具有添加修改商品信息或用户信息。在这里对其主要功能进行详细介绍。
3.2.1 商品管理模块
商品管理功能。管理员可以管理所有商品的发布,制定价格,确定商品信息,增删商品信息。
-
前端
- 在div里添加GridView编辑列。对每一列的信息进行编辑,使得页面的可视化更高
- 添加一个button,命名为添加方便管理员对信息进行添加。点击添加跳转到添加商品页面,对信息进行输入,在上传到数据库,在商品管理的GridView页面进行显示
-
后端
- 连接数据库
- 对表信息进行查找
- 登录身份判断
- 未注册跳转到注册页面
- 为登录跳转到登录页面
- 对表信息实现增删改
- 登录成功进入首页
3.3 添加商品模块
3.3.1 添加商品模块
-
前端
- 前端通过div,添加textbox和lable实现信息的输入
- 添加一个FileUpload实现文件上传
- 添加button,命名为上传将输入信息进行上传,上传到数据库中再由商品管理页面进行信息的显示
-
后端
- 连接数据库
- 对表信息进行查找
- 登录身份判断
- 未注册跳转到注册页面
- 未登录跳转到登录页面
- 对表信息进行插入
添加商品
添加成功页面
3.4 用户管理模块
3.4.1 用户管理模块
用户管理功能。管理员可以管理所有用户的发各种信息信息,增删用户信息。
-
前端
- 在div里添加GridView编辑列。对每一列的信息进行编辑,使得页面的可视化更高
- 添加一个button,命名为添加方便管理员对信息进行添加。点击添加跳转到添加商品页面,对信息进行输入,在上传到数据库,在商品管理的GridView页面进行显示
-
后端
- 连接数据库
- 表信息进行查找
- 登录身份判断
- 未注册跳转到注册页面
- 为登录跳转到登录页面
- 对表信息实现增删改
- 登录成功进入首页
3.5 购物车模块
3.5.1 购物车模块
购物车功能。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。
-
前端
- 在div里添加GridView编辑列。对每一列的信息进行编辑,使得页面的可视化更高
-
后端
- 连接数据库
- 表信息进行查找
- 登录身份判断
- 未注册跳转到注册页面
- 为登录跳转到登录页面
- 对表信息实现增删改
- 登录成功进入首页
用户通过商品详情页点击加入购物车并且登录跳转到购物车页面:
3.6 付款页
顾客在订单被销售方确认后,要选择付款方式,并付款给销售方,然后完成结算。支付页面通过端口连接到支付宝微信等支付端口进行支付操作,用户可以扫描生成的二维码进行支付。
第四章 结束语
课题完成情况良好,完成了管理员对平台商品进行添加、删除、修改的管理。实现了用户对于平台信息的浏览、分类、购买的需求。
经过几周写完了自己需要实现的功能,我对于本次三级课题有很多自己的感受。第一周的时候老师让对自己的项目进行了选择,并且对选择的项目进行原型设计,第一次进行原型的设计不知道要做些什么,经过了解和后期的学习我了解到了原型设计的要求和对项目进行原型设计方便我们对项目将要实现的内容进行设计和布局,对自己的设计思路进行分析也方便后期项目设计时知道自己要做些什么。在老师对我的原型设计进行了解后,对我们的界面设计和对界面的分类上提出了设计意见,让我知道了一般平常的习惯和设计时要设计的理解是不同的。在程序设计时要站在用户的角度看问题。这对我们的后来原型的修改和程序的设计提供了很多帮助。
对项目进行完原型设计后,我们根据自己的思路编写程序的界面,然后建表,并且对表中的字段进行设计。但是在实际操作中还是发现某些字段不合适,还要对一些字段进行修改。
在对程序进行完前端(界面)设计完成后,在和数据库的连接过程中有很多的报错和问题,经过小组成员之间的努力对一个又一个的问题进行修改。在这个过程中大家有了很大的进步,也体现出了团队合作的重要性。
在这几周对三级课题完成的过程中,我们共同努力,对课题进行完善,对项目内容进行完善,大大加强了项目的实用性。希望以后我们为能编写出更多更实用的项目。
参考文献
[1] 童爱红. Visual C#.NET应用教程[M]. 北京:人民邮电出版社,2004.3
[2] 李兰友 杨晓光. Visual C#.NET程序设计[M] 北京:清华大学出版社,2004.5
[3] 韩玉民. 计算机专业英语教学研究与实践 [J].计算机与信息技术,2008,(6):106-107.
[4] When mouse use computer.[EB/OL]. http://www. danscartoons.com/comp_d emo101.gif , 2008-12-26.
[5] ASP.NET4.5动态网站设计教程[M] 北京:清华大学出版社
[6] Web程序设计—— http:// ASP.NET 项目实训 [M] 北京:清华大学出版社
[7] 刘瑞新.SQL Server数据库技术及应用教程 [M]: 电子工业出版社. 2017.1