网上手机销售系统
班 级: 信息 0901 班
小组成员:项慧 孙云蕾
葛丹 徐佳苹
指导教师:胡配祥 陆慧
实训时间:2011-6-15
目 录
一、系统需求分析及数据库设计 ..................................................................................................................2
电子商务的发展与现状。 .............................................................................................................2
系统工作流程 .................................................................................................................................2
系统功能模块图设计 .....................................................................................................................2
系统功能模块设计 ..............................................................................................................2
前台功能模块 ......................................................................................................................3
后台管理功能模块 ..............................................................................................................4
数据库设计 .......................................................................................................................................4
数据库逻辑结构设计 .............................................................................................................4
数据库物理结构设计 .............................................................................................................6
数据库完整性设计: ............................................................................................................8
二、系统框架设计 ..........................................................................................................................................8
系统解决方案项目构成 .................................................................................................................8
业务逻辑层设计与实现 .................................................................................................................9
数据访问层设计与实现 ...............................................................................................................11
三、界面表示层网页设计与实现 ................................................................................................................12
用户控件和母板设计 ...................................................................................................................12
网站首页设计 ...............................................................................................................................17
网上手机销售网页设计 ...............................................................................................................18
四、总结与体会 ............................................................................................................................................20
一、系统需求分析及数据库设计
电子商务的发展与现状。
系统工作流程
系统分为前台普通用户界面和后台管理界面。
商品的购物流程
在前台子系统用户可以登录,注册,可以浏览商品,搜索商品,购买商品,购物车查询,订单的
查询,前台网站还进行新商品宣传展示,新上架商品和热销商品推荐等。后台子系统供电子商务公
司内部管理人员使用,可以进行新品上传,商品修改和调整,商品种类维护,可以对普通用户进行
管理;对用户的订单进行管理,系统工作流程可以用图形象描述如下:
系统功能模块图设计
系统功能模块设计
商 品
分类
订 单
管理
主页
用户登录 新 用 户 注
册
密码修改
热
销
榜
搜
索
新
品
热
卖
展
示
购
物
车
查
看
放 入
购 物
车
继 续
购物
下订单
当 前 用
户订单
管 理
员 登
录
回主页
浏 览
商品
商 品
详细
商 品
管理
用 户
管理
增 加
商品
编 辑
商品
下面对部分模块进行解释:
前台功能模块
手机类别功能模块
用户可以通过预先分类好的手机类别来浏览相关的手机目录以至详细的手机信息,从中发现自
己感兴趣的手机。
手机搜索功能模块
让用户通过手机类别号(ProductTypeId)、手机名称(ProductName)、封面(Cover)、介绍
(Description)等为条件,通过搜索的功能来快速找到自己想要买的手机。
手机展示功能模块
对手机商品进行详细展示,包含手机封面图片,手机简介等,若想购买单击“加入购物车”即可。
购书车功能模块
电子商务商务网功能模块
产
品
类
别
用
户
登
录
购
物
车
产
品
模
块
订
单
查
看
前台模块
产
品
展
示
账
单
生
成
后台模块
用
户
模
块
搜
索
产
品
用
户
注
册
密
码
修
改
产
品
销
售
管
理
员
登
陆
商
品
管
理
商
品
入
库
商
品
编
辑
用
户
管
理
备
份
和
恢
复
订
单
管
理
商
品
类
别
管
理
付
款
管
理
发
货
管
理产
品
评
价
当用户找到自己想购买的手机时,单击“加入购书车”的图标,将手机加入到购书车中。在购物
车页面中,可以修改商品数量,移出某手机商品,可以清空购物车,可以继续购物。等到用户找到
所有想买的手机之后,单击“结帐”的功能,进入结帐的网页。
用户订单功能模块
浏览客户已下的所有订单、查看订单详情,也可以取消尚未付款、发货的订单。
结账功能模块
在购物车模块,当用户找到所有想买的手机之后,单击“结帐”的功能,进入结帐的网页。在结
账页,会显示用户的个人资料信息,订单的明细商品信息,订单金额,及默认的收货地址及收货人。
这里可以更改收货地址和收货人,然后选择支付方式,单击“提交订单”,即产生订单,并进入付款
页面。在付款页面,显示产生的订单号。
后台管理功能模块
手机管理功能模块
其下的子模块分别负责对手机信息进行添加、修改和删除,以及对缺手机的回复和管理,利用
手机类别管理,还可以增加和修改手机类别,但由于受到外键约束的作用,被使用过的手机类别不
能删除。手机修改结果会同步在网站上更新,客户可以在第一时间浏览到最新的商品信息。
订单管理功能模块
管理员可以通过该模块实时对客户的订单进行处理。管理员可以对订单进行浏览、查询,可以
管理订单的付款和发货。
用户管理功能模块
管理员可以通过该模块对客户信息进行查找、浏览和删除。
数据库设计
数据库逻辑结构设计
逻辑结构设计的任务是将概念设计阶段设计的 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、 商品信息存储于 ProductInformation 的结构如下:
2、商品类别表(ProductType)
3、将用户信息表 ShoppingUserInformation
4、管理用户表 ManageUser
5、购物车信息表 ShoppingCart
6、用户订单表 Orders
7、订单详情表 OrderDetails
8、VisitInfor(用户访问表):
数据库完整性设计:
表之间的这张关系图展示了表之间的关系。它们之间通过主键和外间的关
系来确定的。
二、系统框架设计
系统解决方案项目构成
为了用 B/S 设计模式的三层体系结构实现本电子商务系统的设计,用 VS 2005 设计了一个名为
“MobilephoneShop”的电子商务系统解决方案,用 C#语言在该解决方案中建立了四个项目,如图 2-4
所示,这四个项目的有机结合,构成了本电子商务系统。这四个项目分别和 B/S 设计模式的三层体
系结
这四个项目的名称和作用分别如下:
Web 表示层,主要显示网站的页面,即和用户直接打交道的页面。
BLL 业务逻辑层
DAL 数据访问层
Model 实体层
业务逻辑层设计与实现
下面是 BLL 层 Product 类的代码:
上图是增加手机产品和按产品号删除产品的 BLL 层的代码
public int ProductInformation_Add(ProductInformationMode oProductInformationModel)
{ return _Add(oProductInformationModel );
}
此代码是增加商品的代码、其中(ProductInformationMode oProductInformationModel)
是获取 ProductInformationMode 实体。
return _Add(oProductInformationModel );
是根据 ProductInformationDAL 获取增加商品的代码。
public int ProductInformation_DeleteById(int ProductId)
{
return _DeleteById(ProductId);
}
此代码是按产品编号删除产品的代码。(int ProductId)是获取手机编号。
_DeleteById(ProductId);
是通过按手机编号从 DAL 层中获取代码删除手机信息。
数据访问层设计与实现
上述代码是通过按产品号删除商品和返回产品库存量
public int ProductInformation_DeleteById(int ProductId)
{
try
{
string sqltext = ("DELETE FROM [ProductInformation] WHERE
ProductId={0}", ProductId);
return (sqltext);
}
catch (SqlException ex)
{
throw ex;
}
catch (Exception e)
{
throw e;
}
}
public int ProductInformation_DeleteById(int ProductId)传进一个手机号,try-catach 语句,通过删
除命令返货受影响的行数。
同理返回产品库存量也是一样的。
三、界面表示层网页设计与实现
用户控件和母板设计
Top 控件:
上面是一个 top 控件。通过右击-添加项-用户控件,新建一个 top 用户控件。
<link href="../css/" rel="stylesheet" type="text/css" />
<link href="../css/" rel="stylesheet" type="text/css" />
上述代码是引用 css 样式表。控制页面的整体布局。
<div class="father0" style="text-align:center;">
<img src="../Images/" />
Class=father0 是控制页面的 banner。
</div>
<div id="nav" class="father1" style="background-image: url('images/');
id=“nav“控制页面的菜单栏。
后台母版
上述是 母版页面,
<link href="css/" rel="stylesheet"
type="text/css" />
此代码是引用 css 样式表控制菜单的整体效果。
<asp:TreeView ID="TreeView1" runat="server"
DataSourceID="XmlDataSource1"
ImageSet="Arrows">
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True"
ForeColor="#5555DD" />
<SelectedNodeStyle Font-Underline="True"
ForeColor="#5555DD"
HorizontalPadding="0px"
VerticalPadding="0px" />
<DataBindings>
<asp:TreeNodeBinding
DataMember="siteRoot" TextField="title" />
<asp:TreeNodeBinding
DataMember="siteMapNode" TextField="title"
NavigateUrlField="url" />
</DataBindings>
<NodeStyle Font-Names="Tahoma"
Font-Size="10pt" ForeColor="Black"
HorizontalPadding="5px"
NodeSpacing="0px" VerticalPadding="0px" />
</asp:TreeView>
<asp:XmlDataSource ID="XmlDataSource1"
runat="server"
DataFile="~/Admin/"></asp:XmlDataSource>
此代码是添加一个 TreeView 控件,控制页面的切换。
<asp:SiteMapPath ID="SiteMapPath1"
runat="server">
</asp:SiteMapPath>
此代码是添加一个站点地图导航。
<asp:ContentPlaceHolder ID="ContentPlaceHolder1"
runat="server">
</asp:ContentPlaceHolder>
此代码是添加一个可编辑区。
网站首页设计
<%@ Page Language="C#"
MasterPageFile="~/"
AutoEventWireup="true" CodeFile=""
Inherits="_Default" Title="无标题页" %>引用母版页。
<asp:Content ID="Content1" runat="server"
contentplaceholderid="ContentPlaceHolder1">可编辑区内添加
Datalist1,
网上手机销售网页设计
<%@ Page Language="C#"
MasterPageFile="~/Admin/"
AutoEventWireup="true" CodeFile=""
Inherits="Admin_ProductAdd" Title="无标题页" %>引用母版
页。
<%@ Register assembly="FreeTextBox"
namespace="FreeTextBoxControls" tagprefix="FTB" %>
引用 freetextbox 控件
<asp:Content ID="Content1" runat="server"
contentplaceholderid="ContentPlaceHolder1">可编辑区内添加
Datalist1,
四、总结与体会
经过短短一星期的计算机实训,并在老师的精心指导下、本小组顺利的完成了网上手机销售系
统的设计。也意识到自己在计算机编程上面还有许多不足。计算机实训在不知不觉中就结束了,我
们感觉自己还有好多东西要学,还有好多的东西不是清楚呢!通过此次实训发现自己缺少实际操作。
在课上,有老师在前面演示我们都还能跟着做,可轮到我们独立完成的时候,因为实际操作的少,
早就忘光了!我很感谢学校有实训这样的安排,把我们这一学期学的东西系统的集中的进行训练,对
我们计算机水平的提高发挥着重要作用!还要感谢我们的胡老师和陆老师很有耐心的给我们讲解在
实训中出现的问题,即使老师讲了很多遍的问题,我们不会,老师还是会走进我们给我们耐心的指
导,还给我们讲一些掌握编程的方法,让我们知道自己在哪方面不足,需要加强,也让我们了解到
哪些需要认真的学习,那些是重点,不是没有方向的乱学一通,什么也学不好!
通过此次短暂的课程设计,我深有感触。从一开始的构思再到今天写下这份总结。期间时间虽短但
是也学到了不少的知识。在实训的刚开始构想只有大体的思路,忽略了一些细节,因此在我真正做
设计网站系统设计方案时发现有很多错误,有的时候要解决一个错误反反复复会花上很多时间。在
做的过程中,也会有很多意想不到的错误,其中有的错误到最后解决的时候却是发现犯得很幼稚,
不过这样的错误多了,在不知不觉中对一些命令知识分外的熟悉了起来,并且自身的排错能力也得
到很大的提高。
此次的网站系统方案设计,让我第一次摸索网上购物网站系统的需求去搭建一个符合要求的基本的
网上购物系统,在设计过程中总是会遇到一些很小的问题,虽然不明显,却可以影响到整个网站系
统的安全运作。这样一个小小的网上购物系统,却是通过一次次的完善,修改之后的结果,真是令
人感慨万千。
第一次的方案设计虽然有所困难,却也使我更加深入的了解往后咱系统的设计是如何设计的能使购
物系统设计变得更加安全,更加快捷。并将平时所学的知识第一次融会贯通。也明白了设计一个网
撒谎那个购物系统是需要花费很多精力去构思的,其间的财富是任何时候的上课实验所不可比拟的。
在这次实习过程中,我发现平时学习的知识与实践环节所用到的有一定的差距,往往我觉得自己掌
握的很好或者自认为熟练的技术却在此次实践环节中往往出问题,书本上的知识只提供方法的借鉴,
实践中自己必须摸索出适合具体工作的方法,这一切都离不开钻研精神与勤学好问的精神.在在与
团队合作的过程中我收获更大,首先要谦虚谨慎,不能自以为是,认为自己懂得很多,而仅仅埋头
苦干,而不向他人请教,实训不但是实践与应用的过程,同时也是学习的过程,我们必须加强与他
人的沟通学习,以便获得与他人的交流。
这次网上购物系统的设计方案设计让我把属于这方面的各个知识点从各方面收集过来,根据需求要
求设计了数据库,完成了系统的设计,在进行一遍一遍的测试,仔细的编写文档。在完成的过程中
去完善更多的方面,使设计的网络一点一点安全与规范起来。并且我在这一个星期的实训里,让我
知道还有很多地方的不足,还有许多的技术等着我去摸索,等着我去学习。
这次实训的时间很紧迫,再加上各方面的经验不足,也遇到很多问题,虽然我通过网上查询,咨询
老师和同学去解决我以发现的问题,但我知道这个系统还有很多地方没有完善,希望老师能谅解。
但是总的来说,这次课程设计对我很有帮助,让我获益匪浅,使我在这方面的知识有了不小的提高。
通过这次实训,我们对系统设计有了更深刻的认识,做二十一世纪现代人不但要有过硬的理论知识,
良好的心理素质,健康的体魄,还要有超强的计算机系统编程设计的操作能力。
社会的竞争是激烈的,我想我们应该好好把握住大学学习的时间,充实、完善自我,全面发展,攻
破电脑,争取做一名出色的现代人!
持续一周的系统设计实训,让我参与了系统设计的开发过程。其中体会最深的便是我们这个实训的
几个之最:
一、 项目最大:首先讨论了这个问题,要想把把项目的基本功能实现,体会到了系统设计初期阶
段的需求分析以及概要设计的重要性。
二.数据库表最多:如此庞大的系统,就需要庞大的数据库来支持,所以项目大的直接后果就是我
们的数据库表特别多,而且表与表之间的依赖关系也复杂,实体类之间的关系众多,设计起来有一
定的难度。数据库的另外一个问题是-数据表的属性,数据表属性的设计完全是依赖于我们刚开始做
的需求分析文档,如果需求分析不完整的话,就会造成数据库表属性的缺失,从用户的角度看,就
会觉得你的系统提供的数据不够全面,信息量小。
三、项目各个模块间藕合度高:网站涉及的各个功能模块之间的联系紧密,模块之间的接口设计的
好坏是项目最终集成成功与否的最重要因素。用户管理这一个部分要为每个模块提供接口,主要是
用户的编号以及用户的类型等。每个页面之间的链接也是其中重要的模块接口。这个问题由于我们
前期做好了充分的沟通以及按照概要设计中的接口说明去设计自己的模块,所以后期的模块整合没
有遇到什么太大的不兼容性等问题。
四、这一个周中我学到了很多东西,技术方面就是学会了用 编写网站、设计系统,最重要
的是让我经历了网上购物系统设计的所有阶段,让我对整个购物系统设计有了感性的认识,而且将
大学两年年所学到的知识进行了一次系统的串联,更重要的是学会了如何跟项目团队中的成员沟通
问题,这是一个宝贵的实践经验。
在本次实训中,还应该注意一下几个问题:
第一,对系统的需求要有明确的了解,这对数据库的设计至关重要的作用,而数据库的设计
影响着系统的运行。因此,数据库的设计必须谨慎。
第二,由于本次实训属于团队合作,分工必须明确,对系统设计的代码部分要协商好,防止
出现代码不融合,导致系统不能运行。也要防止小组成员做了相同的工作,导致时间的浪费。
第三,由于本小组的代码设计采用了 中的三层架构,因此三层架构的设计必须要求
十分谨慎,不允许出现错误。
第四,在实训中肯定会出现问题,我们要学会找出问题的根源,并且找到相应的解决方法。
第五,在系统做好后,还要对系统进行检测和完善,使系统在出现各种情况下都能顺利运行。
通过这次实训,我们对系统设计有了更深刻的认识,做二十一世纪现代人不但要有过硬的理论
知识,良好的心理素质,健康的体魄,还要有超强的计算机系统编程设计的操作能力。经过这次的
实训,我真真确确的感受到了计算机在我们生活中工作中的运用,这些软件、程序能让我们提高工
作的效率,更直观更便捷的切入主题。
社会的竞争是激烈的,我想我们应该好好把握住大学学习的时间,充实、完善自我,全面发展,攻
破电脑,争取做一名出色的现代人!