手机销售系统数实训设计.docx
《手机销售系统数实训设计.docx》由会员分享,可在线阅读,更多相关《手机销售系统数实训设计.docx(19页珍藏版)》请在冰豆网上搜索。
手机销售系统数实训设计
网上手机销售系统
班级:
信息0901班
小组成员:
项慧孙云蕾
葛丹徐佳苹
指导教师:
胡配祥陆慧
实训时间:
2011-6-15
一、系统需求分析及数据库设计
1.1电子商务的发展与现状。
1.2系统工作流程
系统分为前台普通用户界面和后台管理界面。
商品的购物流程
在前台子系统用户可以登录,注册,可以浏览商品,搜索商品,购买商品,购物车查询,订单的查询,前台网站还进行新商品宣传展示,新上架商品和热销商品推荐等。
后台子系统供电子商务公司内部管理人员使用,可以进行新品上传,商品修改和调整,商品种类维护,可以对普通用户进行管理;对用户的订单进行管理,系统工作流程可以用图形象描述如下:
1.3系统功能模块图设计
1.3.1系统功能模块设计
下面对部分模块进行解释:
1.3.2前台功能模块
手机类别功能模块
用户可以通过预先分类好的手机类别来浏览相关的手机目录以至详细的手机信息,从中发现自己感兴趣的手机。
手机搜索功能模块
让用户通过手机类别号(ProductTypeId)、手机名称(ProductName)、封面(Cover)、介绍(Description)等为条件,通过搜索的功能来快速找到自己想要买的手机。
手机展示功能模块
对手机商品进行详细展示,包含手机封面图片,手机简介等,若想购买单击“加入购物车”即可。
购书车功能模块
当用户找到自己想购买的手机时,单击“加入购书车”的图标,将手机加入到购书车中。
在购物车页面中,可以修改商品数量,移出某手机商品,可以清空购物车,可以继续购物。
等到用户找到所有想买的手机之后,单击“结帐”的功能,进入结帐的网页。
用户订单功能模块
浏览客户已下的所有订单、查看订单详情,也可以取消尚未付款、发货的订单。
结账功能模块
在购物车模块,当用户找到所有想买的手机之后,单击“结帐”的功能,进入结帐的网页。
在结账页,会显示用户的个人资料信息,订单的明细商品信息,订单金额,及默认的收货地址及收货人。
这里可以更改收货地址和收货人,然后选择支付方式,单击“提交订单”,即产生订单,并进入付款页面。
在付款页面,显示产生的订单号。
1.3.3后台管理功能模块
手机管理功能模块
其下的子模块分别负责对手机信息进行添加、修改和删除,以及对缺手机的回复和管理,利用手机类别管理,还可以增加和修改手机类别,但由于受到外键约束的作用,被使用过的手机类别不能删除。
手机修改结果会同步在网站上更新,客户可以在第一时间浏览到最新的商品信息。
订单管理功能模块
管理员可以通过该模块实时对客户的订单进行处理。
管理员可以对订单进行浏览、查询,可以管理订单的付款和发货。
用户管理功能模块
管理员可以通过该模块对客户信息进行查找、浏览和删除。
1.4数据库设计
1.4.1数据库逻辑结构设计
逻辑结构设计的任务是将概念设计阶段设计的E-R图转换为恰当的关系模型逻辑结构的过程,就是进行关系模式的设计。
在转换过程中,最基本的要求是保证每个关系至少有一个码,每个属性都是不可分的数据项。
在进行关系模式的设计时,一定要遵循关系模式的指导理论,每个关系都应满足一定的规范。
本系统中我们要求满足第三范式(3NF),这样能使关系模式设计合理,达到减少数据冗余、提高查询效率的目的,同时还能满足数据的一致性、完整性要求。
通过数据库逻辑设计,得到下列几个基本关系表。
数据库逻辑设计就是把概念模型的E-R图转化为具体的关系数据模型,按照E-R图转变为关系模式的一般理论,我们把多对多的联系转变为一张关系表,把一对多的联系,合并到多端的实体中,从而把上述的E-R图转变成为下面的关系模式:
UserInfo(用户表):
用来存储用户的详细信息,主键为用户序号UserId,另外还有用户名,口令,E_mail,家庭地址性,电话,性别等字段。
ManageUser(后台管理人员表):
用来存储后台管理人员信息,主键为管理人员序号ManageUserId,另外还有管理人员用户名,口令,E_mail等字段。
ProductInformation(手机信息表):
用来存储手机信息,主键为手机序号ProductId,还有手机类别序号,手机名,价格,是否缺货,折扣率,销量,库存量,封面图片,简介等,其中折扣率和是否缺货字段默认值都为1。
ProductType(手机类别表):
用来存储手机类别,主键为手机类别序号ProductTypeId,还有手机类别名,说明等字段。
ShoppingCart(购物车表):
用来存储购物车信息,主键为购物车序号ShopingCartRecordId,还有用户号,手机号,购买手机数量,购物日期(默认值为getdate())等字段。
Orders(订单表):
用来存储订单信息,主键为订单序号OrderId,另外还有用户号,订单金额,订单日期,付款状态,发货状态,发货日期,收货地址,收货人等字段。
OrderDetails(订单细节表):
用来存储订单细节信息,主键为订单细节序号OrderDetailsId,还有订单号,手机号,购买数量等。
VisitInfor(用户访问表):
用来存储网站访问量,(VisitCount)。
1.4.2数据库物理结构设计
数据库表结构设计:
1、商品信息存储于ProductInformation的结构如下:
2、商品类别表(ProductType)
3、将用户信息表ShoppingUserInformation
4、管理用户表ManageUser
5、购物车信息表ShoppingCart
6、用户订单表Orders
7、订单详情表OrderDetails
8、VisitInfor(用户访问表):
1.4.3数据库完整性设计:
表之间的这张关系图展示了表之间的关系。
它们之间通过主键和外间的关系来确定的。
二、系统框架设计
2.1系统解决方案项目构成
为了用B/S设计模式的三层体系结构实现本电子商务系统的设计,用VS2005设计了一个名为“MobilephoneShop”的电子商务系统解决方案,用C#语言在该解决方案中建立了四个项目,如图2-4所示,这四个项目的有机结合,构成了本电子商务系统。
这四个项目分别和B/S设计模式的三层体系结
这四个项目的名称和作用分别如下:
Web表示层,主要显示网站的页面,即和用户直接打交道的页面。
BLL业务逻辑层
DAL数据访问层
Model实体层
2.2业务逻辑层设计与实现
下面是BLL层Product类的代码:
上图是增加手机产品和按产品号删除产品的BLL层的代码
publicintProductInformation_Add(ProductInformationModeoProductInformationModel)
{returnoProductInformationDAL.ProductInformation_Add(oProductInformationModel);
}
此代码是增加商品的代码、其中(ProductInformationModeoProductInformationModel)
是获取ProductInformationMode实体。
returnoProductInformationDAL.ProductInformation_Add(oProductInformationModel);
是根据ProductInformationDAL获取增加商品的代码。
publicintProductInformation_DeleteById(intProductId)
{
returnoProductInformationDAL.ProductInformation_DeleteById(ProductId);
}
此代码是按产品编号删除产品的代码。
(intProductId)是获取手机编号。
oProductInformationDAL.ProductInformation_DeleteById(ProductId);
是通过按手机编号从DAL层中获取代码删除手机信息。
2.3数据访问层设计与实现
上述代码是通过按产品号删除商品和返回产品库存量
publicintProductInformation_DeleteById(intProductId)
{
try
{
stringsqltext=string.Format("DELETEFROM[ProductInformation]WHEREProductId={0}",ProductId);
returnSqlDBHelper.ExecuteNonQueryCommand(sqltext);
}
catch(SqlExceptionex)
{
throwex;
}
catch(Exceptione)
{
throwe;
}
}
publicintProductInformation_DeleteById(intProductId)传进一个手机号,try-catach语句,通过删除命令返货受影响的行数。
同理返回产品库存量也是一样的。
三、界面表示层网页设计与实现
3.1用户控件和母板设计
Top控件:
上面是一个top控件。
通过右击-添加项-用户控件,新建一个top用户控件。
上述代码是引用css样式表。
控制页面的整体布局。
center;">
Class=father0是控制页面的banner。