电子商务系统设计
电子商务系统设计
学 院:管理学院 专 业:电子商务 系统名称:网上书店商城 小组成员:杨兰宇 1118040208 周 云 1118040217 朱 玉 1118040216 胡映雪 1118040221 张海波 1118040227 段芳芳 1118040219 林永瑛 1118040212
2014年10月
第一章 需求分析
1.1设计背景
基于现在电子商务的迅速发展,网上商城异常火爆,各种商城应运而生。从开始的服装商城到如今的珠宝商城和生鲜商城,一切实体商城都在向网上商城转移。电子商务发展势头势不可挡。而我们的商城就是一个网上书城,主要是依据现在的学生、老师都已开始在网上购书,网络不仅便利,而且价格更具竞争力。网上书店商城主要是为广大的师生群体提供一个更加实惠的购书途径。
1.2可行性分析
1.2.1技术可行性:
(1) 利用现有技术,功能目的是否达到 :该网上书店是基于微软VS2005开发平台,ASP . net 开发语言展开的. ASP . NET 完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP . NET 远远超越了ASP ,同时也提供给web 开发人员更好的灵活性,有效缩短了web 应用程序的开发周期。ASP . NET 与Windows 2000 Server /Advanced Server 的完美组合,为中小型乃至企业级的web 商业模型提供了一个更为稳定,高效,安全的运行环境。
(2) 对开发人员数量和质量的要求,并说明能否满足:沈煦明可参与数据库的设计与开发,美工设计,代码编写,后期测试等所有模块。
1.2.2经济可行性:
因为该项目属于课程毕业设计项目,暂时不考虑。 1.2.3操作可行性:
该系统是一个电子商务网站,所以操作简易,用户购书不需要了解整个书店的工作流程,只需要按照提示一步步操作即可完成购书等其他活动。
1.3需求分析
1.3.1 会员部分
会员登录模块:四个部分组成,一是新用户的注册,二是用户的登录,三是用户信息
的修改,四是用户找回密码。
网上书店系统的书籍展示模块:三个核心部分:一是书籍的展示,二是存放选购书籍的购物袋,三是交易数据的储存。
用户还可对书籍进行分类查询,直接找到所需的书籍并放入购物车。 用户管理自己的购物车。
用户还可以对书籍进行评论,或者直接进入书店论坛发表评论,以及用户对个人订单的查询,浏览当前所购的书籍。
1.3.2 管理员部分
管理员模块:一是管理员登录,二是书籍的管理,三是书籍类别的管理,四是所有订单的浏览,同时也可以对书籍的查询和单条订单的查询。
图1: 系统用例图(用户)
图2 :系统用例图(管理员)
1.3.3 网站的数据库设计
整个网上书店系统主要有以下几个表: Ddb :书籍订单表 Lbb : 书籍类别表 Plb :书籍评论表 Sjb : 书籍信息表 Users :用户表
数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有哪些属性,对应有些什么字段,以及各实体之间有何种联系。
图3: 数据库关系图
表1: ddb 书籍订单表
表4: users 用户表
1.3.4 系统安全性设计
对于软件安全来说,最难缠的就是实现细节,在开发软件时,最好使安全成为必需的组成部分,而且,需要说明了如何使安全成为必需的组成部分。
无注册用户进入书店首页只能进行书籍的浏览, 发表对书籍的评论以及进入论坛3个权限。只有已注册用户登录后才能进入用户的个人购物车页面,用户的账户管理页面,进入书籍购买页面。当无注册用户点击进入购物车或其他页面,系统会自动发出需要登录的警告框并调转到登录页面要求用户进行网站登录。
对于论坛区,同样也有以上设置,当论坛管理员登录时,他能对论坛的所有主题进行查看修改,譬如置顶,加精,删除等。
第二章 总体设计
2.1 设计目的
本网上书店系统面向的对象是所有在线的网上用户,目的是让用户通过使用本系统更直接、更方便、更快速的去浏览,去实现购物时所必须要做的流程,实现网上书店购书的整个过程。
2.2 总体设计
整个系统包括六个模块:用户登录注册、网上购书、访客计数、在线帮助、在线评论、书店论坛和管理系统。各模块的功能如下:
2.2.1用户登录注册
用户注册是为了保证用户在本网站的安全性,便于网站管理。用户登录后才可以进行购书操作。
2.2.2网上购书
用户在进行网上购书时,必须现登陆,如果是新用户,则必须先进行注册。 (1)书籍展示
用户可以对书店书籍信息进行搜索,搜索的方式有:按图书类别、按书名、按作者、按出版社。类别分为7个大类,每个大类下有属于各自的小类别,管理员可以通过后台管理小类别。书店的首页分为新书上架和主编推荐两部分,每本书都显示了书名、作者、原价、网上书店价、简介等信息,如果想了解每本书的详细信息可以点击书名,详细信息还包括了版次、ISBN 、字数等,用户无论是否注册都能对该显示的书籍进行在线评论。
(2)购物车
用户在浏览书籍时,按下“购买”按钮,就可以将书籍放入自己的购物车中,便于购买。用户还可以根据自己的需要,进行查看、删除某条记录、修改书籍数量、继续购物、清空购物车和去收银台的操作。
2.2.3访客计数
用户登录该网上书店系统时,计数器自动加1,并保证用户的其他操作使计数器不会改变。
2.2.4在线帮助和在线评论
通过点击书店首页最下角的“在线咨询”,用户进行在线的咨询和帮助。在线评论可以对每本书籍进行评论,用户可以畅所欲言。或者通过“讨论区”进入书店论坛进行发表意见反馈等。
2.2.5书店论坛
用户可以通过点击“讨论区”进入该网上书店的论坛进行发表帖子。 2.2.6管理系统
管理系统是系统管理员对整个网站后台数据库进行维护,是此网站最重要的大门。在进入本栏目时系统会提示输入系统管理员的用户名和密码,对于其他用户此界面是不可见的。它包括基本信息管理、商品管理、论坛管理和订单管理。
图4: 网站功能模块图
图5:网站流程图
图6:购书流程图
本系统以注册用户为例的系统序列图见图7:
图7:注册用户操作序列图
第三章 详细设计
本系统采用DREAMWEAVER +CSS 技术来进行对整个网上书店的布局设计,结合ASP.NET 2.0和Dreamweaver CS3进行网站开发的思路和开发流程[15]。在具体介绍模块功能的时候,本文提供了详细的图例,使读者可以迅速地掌握整个模块的设计原理和实现方法。
3.1 书店首页模块
首页右上显示当前在线人数及时间,购物车只有用户登录后才能进去,我的账户进入用户个人资料管理页面,讨论区进去书店论坛,整个网站把书籍分为七个大类,搜索栏共有3个搜索条件,网站左侧显示书籍小类,右方绑定最新上架书籍以及管理员推荐书籍列表,页尾具有在线咨询功能。
图8: 首页模块图
3.2 会员登陆模块
用户进入登录书店页面,用户必须输入正确的用户名密码才能登录成功。登录成功后自动生成一个session ,用于保存用户名。
图 9: 用户登录流程图
图10:用户登录活动图
3.3 会员注册模块
用户注册是为了保证用户在本网站的安全性,便于网站管理。用户登录后才可以进行购物。
图11:用户注册流程图
图12:用户注册活动图
3.4 书籍详细信息模块
该模块包含书籍的最详细资料和书籍的评论资料并支持用户在线发表对该书籍的评论。书籍详细信息页,绑定书籍最详尽的资料包括(ISBN,字数,页数,包装,版次,价格,书籍简介等) ,并显示以往用户对于该书籍的评论内容,当前操作用户并能在线发表对书籍的评论,不填写评论人名称默认为匿名发表评论。
具体流程图见图13:
图13:书籍详细页流程图
图14:书籍详细信息活动图
3.5 购物车模块
购物车页面,只有当用户登录了之后才能进入,当用户购买同一本书籍时会自动在数量上加1,而且能即时编辑书籍数量或者删除购买的书籍,下方显示该用户购书节省了的价格和购买书籍总价格!点击去收银台按钮是跳转到确认订单页面。该页面需要买家确认订单信息,可以对订单信息进行修改,然后点击确定按钮进入订单提交最后一个流程:成功提交订单页面。送货方式有1:货到付款2:平邮3:快递三种方式。选择不同方式进入不同的提交订单页并会生成一个唯一订单号,进入成功提交订单页,接受用户购物金额及自动生成订单号,并突出显示生成的订单号和用户需要邮寄的款项。购物用车具体流程见图15,购物车页面见图16:
图15:购物车流程图
图16: 购物车页
3.6 个人账户管理模块
个人账户管理主要有四部分, 分别是:1,订单查看。2,个人基本资料修改。3,个人密码修改。4,用户密码找回。该个人账户管理流程图见图17
订单查看:查看用户已提交的购书订单,包括用户交易成功订单与等待付款订单。点击订单号能进入订单详细页见图19。
个人基本资料修改:查看以及修改用户的各项基本信息。见图18 个人密码修改:修改用户密码。见图18
用户密码找回:只要用户资料填写正确,系统会自动生成一个6位的密码并发送
到用户邮箱,用户拿到新密码时即可重新登录。
图17:个人账户管理流程图
图18:个人账户管理页
图19:订单详细页
3.7 讨论区模块
论坛主页分了4个区,分别是:1,意见反馈区。2,书籍评论区。3,会员交流区。4,网站建议区,论坛首页默认是意见反馈区,并绑定出属于该区的帖子,在线人数,时间等。用户点击某个主题后进入该页面,该页面包括:回复次数,回复主题,发表话题,绑定主题,设为置顶,设为精华,删除等功能。用户进入发布主题页,本页运用FCK 编辑器,能多元化地进行发贴和回帖的内容,使主题或留言更加精彩。
论坛区流程图见图20:
图20:论坛区流程图
第四章 系统实现
4.1 数据库连接
这是一开始写代码就要做的事情,连接数据库,其流程图见图21:
图21:连接数据库流程图
只要在Web . Config 文件里写上下列连接句柄:
然后在每个页面调用该ConnStr 变量,就能实现数据库的连接。
4.2 购物车的设计与实现
打造个性化的购物车需要包括以下几个方面:
1. 当用户选择购买同样书籍,购物车应该能在原先书籍数量基础上加1; 2. 当用户需要修改书籍数量时,购物车应该能在当行修改购买数量; 3. 需要具有继续购物,清空购物车,去收银台等功能;
4. 需要智能计算用户购买书籍总额以及节省的金额数目,做到能让让顾客对自己购买的书籍价格能一目了然。 购物车实现的代码具体如下:
private void bind()
{
int id =Convert.ToInt32(Request.QueryString["id"].ToString());//接收用户进入购物车方式
//绑定购物车数据 if (id >=0) {
SqlConnection con5 = new SqlConnection(sqlcon);
SqlDataAdapter sda5 = new SqlDataAdapter("select * from ddb where sj_id='" + id + "' and username='"+Session["name"]+"and ddzt='等待付款''", con5);//新建数据适配器
DataSet ds5 = new DataSet();//新建数据集 sda5.Fill(ds5);//填充数据集
if (ds5.Tables[0].Rows.Count > 0)//判断书籍是否重复 {
if (id == Convert.ToInt32(ds5.Tables[0].Rows[0]["sj_id"].ToString().Trim())) {
SqlConnection con6 = new SqlConnection(sqlcon); con6.Open();//数据库打开
SqlCommand cmd5 = new SqlCommand("update ddb set sl = sl+1 where sj_id=" + id + " and username='" + Session["name"] + "'and ddzt='等待付款'", con6);
cmd5.ExecuteNonQuery(); con6.Close();//数据库关闭 } } else {
SqlConnection con1 = new SqlConnection(sqlcon); con1.Open(); // 数据库打开
SqlCommand cmd = new SqlCommand("insert into ddb (username,sj_id,sl) values('" + Session["name"] + "','" + id + "','1')", con1);
cmd.ExecuteNonQuery(); con1.Close();//数据库关闭 }
Label5.Text = sum.ToString(); Label10.Text = sum1.ToString(); Session["sum"] = Label5.Text; }
//清空购物车
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
SqlConnection con2 = new SqlConnection(sqlcon);
con2.Open();
SqlCommand cmd1 = new SqlCommand("delete from ddb where username = '" +
Session["name"] + "'and ddzt='等待付款' ", con2);
cmd1.ExecuteNonQuery();
con2.Close();
Response.Write(""); bind();
}
//继续购物
本系统算法是通过用调用书籍表、用户表和订单表来实现的。调用书籍表是需要获取书籍名称和书籍id ,书籍id 是判断用户选择书籍是否重复,如重复选择,则自动在购物车数量上加1。调用用户表是用来获取当前操作用户名,以便插入订单表时能辨认出改订单是所需何人的。订单表是用来存储当前用户当前订单的所有数据信息,无论用户在购物车界面进行何种操作,最终都将插入所有数据到后台订单表,以便用户查询和管理员进行处理。运用动态提取数据库方式,每当用户对购物车进行增加书籍、修改数量、删除书籍时,系统都将会自动计算出用户所需要支付的总金额以及用户在书店用书店价购买书籍时所节省下来的金额。
总金额=第一行数据书店价×第一行书籍数量+第二行数据书店价×第二行书籍数量„以此类推。
节省金额=(第一行数据原价-第一行数据书店价)×第一行书籍数量+(第二行数据原价-第二行数据书店价)×第二行书籍数量„以此类推。
第五章 结论与建议
5.1总结
经过3个星期的实验,小组成员最终完成了整个系统的设计。从开始确定系统的名称到之后整个系统的规划、设计、实现,每一个过程都是经过小组成员的交流与讨论,并与指导老师沟通过。
在系统设计的过程中,首先需要确定目标系统需要实现的各个功能,并且依据自己的专业知识确定运用哪种形式以便更加简单的实现它,如何用最低的成本实现所有的所有功能。在设计的过程中发现问题,需要及时的处理,不然等到系统设计完成就会很难去修改。
整个系统设计需要小组成员的相互协作,成员共同努力,提出建议,一起讨论,这样把各个想法、建议综合,就可以大概的得出系统的基本模型,确定基本的系统功能。之后小组成员一起开展头脑风暴式的讨论,使整个系统更趋于完美。只有开始的时候把各个模块确认,之后才可以很好的开始设计。
总的来说,系统设计需要各成员的共同付出,相互协作,才可以完成。另外,小组成员一起讨论交流是系统设计开始阶段必不可少的部分,需要集中每个人的智慧以达到设计完善系统的目的。