收藏 分销(赏)

网上手机销售系统需求分析及数据库设计.docx

上传人:pc****0 文档编号:8939876 上传时间:2025-03-08 格式:DOCX 页数:22 大小:704.74KB
下载 相关 举报
网上手机销售系统需求分析及数据库设计.docx_第1页
第1页 / 共22页
网上手机销售系统需求分析及数据库设计.docx_第2页
第2页 / 共22页
点击查看更多>>
资源描述
网上手机销售系统 班 级: 信息0901班 小组成员:项慧 孙云蕾 葛丹 徐佳苹 指导教师:胡配祥 陆慧 实训时间:2011-6-15 目 录 一、系统需求分析及数据库设计 2 1.1 电子商务的发展与现状。 2 1.2 系统工作流程 2 1.3 系统功能模块图设计 2 1.3.1 系统功能模块设计 2 1.3.2 前台功能模块 3 1.3.3 后台管理功能模块 4 1.4 数据库设计 4 1.4.1数据库逻辑结构设计 4 1.4.2数据库物理结构设计 6 1.4.3 数据库完整性设计: 8 二、系统框架设计 8 2.1 系统解决方案项目构成 8 2.2 业务逻辑层设计与实现 9 2.3 数据访问层设计与实现 11 三、界面表示层网页设计与实现 12 3.1 用户控件和母板设计 12 3.2 网站首页设计 17 3.3 网上手机销售网页设计 18 四、总结与体会 20 一、系统需求分析及数据库设计 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设计模式的三层体系结构实现本电子商务系统的设计,用VS 2005设计了一个名为“MobilephoneShop”的电子商务系统解决方案,用C#语言在该解决方案中建立了四个项目,如图2-4所示,这四个项目的有机结合,构成了本电子商务系统。这四个项目分别和B/S设计模式的三层体系结 这四个项目的名称和作用分别如下: Web表示层,主要显示网站的页面,即和用户直接打交道的页面。 BLL业务逻辑层 DAL数据访问层 Model实体层 2.2 业务逻辑层设计与实现 下面是BLL 层 Product类的代码: 上图是增加手机产品和按产品号删除产品的BLL层的代码 public int ProductInformation_Add(ProductInformationMode oProductInformationModel) { return oProductInformationDAL.ProductInformation_Add(oProductInformationModel ); } 此代码是增加商品的代码、其中(ProductInformationMode oProductInformationModel) 是获取ProductInformationMode实体。 return oProductInformationDAL.ProductInformation_Add(oProductInformationModel ); 是根据ProductInformationDAL获取增加商品的代码。 public int ProductInformation_DeleteById(int ProductId) { return oProductInformationDAL.ProductInformation_DeleteById(ProductId); } 此代码是按产品编号删除产品的代码。(int ProductId)是获取手机编号。 oProductInformationDAL.ProductInformation_DeleteById(ProductId); 是通过按手机编号从DAL层中获取代码删除手机信息。 2.3 数据访问层设计与实现 上述代码是通过按产品号删除商品和返回产品库存量 public int ProductInformation_DeleteById(int ProductId) { try { string sqltext = string.Format("DELETE FROM [ProductInformation] WHERE ProductId={0}", ProductId); return SqlDBHelper.ExecuteNonQueryCommand(sqltext); } catch (SqlException ex) { throw ex; } catch (Exception e) { throw e; } } public int ProductInformation_DeleteById(int ProductId)传进一个手机号,try-catach语句,通过删除命令返货受影响的行数。 同理返回产品库存量也是一样的。 三、界面表示层网页设计与实现 3.1 用户控件和母板设计 Top控件: 上面是一个top控件。通过右击-添加项-用户控件,新建一个top用户控件。 <link href="../css/StyleSheet.css" rel="stylesheet" type="text/css" /> <link href="../css/menu.css" rel="stylesheet" type="text/css" /> 上述代码是引用css样式表。控制页面的整体布局。 <div class="father0" style="text-align:center;"> <img src="../Images/banner1.gif" /> Class=father0是控制页面的banner。 </div> <div id="nav" class="father1" style="background-image: url('images/menubg.jpg'); id=“nav“控制页面的菜单栏。 后台母版 上述是treeMasterPage.master母版页面, <link href="css/hyperlink.css.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/menu.xml"></asp:XmlDataSource> 此代码是添加一个TreeView控件,控制页面的切换。 <asp:SiteMapPath ID="SiteMapPath1" runat="server"> </asp:SiteMapPath> 此代码是添加一个站点地图导航。 <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> 此代码是添加一个可编辑区。 3.2 网站首页设计 <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="无标题页" %>引用母版页。 <asp:Content ID="Content1" runat="server" contentplaceholderid="ContentPlaceHolder1">可编辑区内添加Datalist1, 3.3 网上手机销售网页设计 <%@ Page Language="C#" MasterPageFile="~/Admin/treeMasterPage.master" AutoEventWireup="true" CodeFile="ProductAdd.aspx.cs" Inherits="Admin_ProductAdd" Title="无标题页" %>引用母版页。 <%@ Register assembly="FreeTextBox" namespace="FreeTextBoxControls" tagprefix="FTB" %> 引用freetextbox控件 <asp:Content ID="Content1" runat="server" contentplaceholderid="ContentPlaceHolder1">可编辑区内添加Datalist1, 四、总结与体会 经过短短一星期的计算机实训,并在老师的精心指导下、本小组顺利的完成了网上手机销售系统的设计。也意识到自己在计算机编程上面还有许多不足。计算机实训在不知不觉中就结束了,我们感觉自己还有好多东西要学,还有好多的东西不是清楚呢!通过此次实训发现自己缺少实际操作。在课上,有老师在前面演示我们都还能跟着做,可轮到我们独立完成的时候,因为实际操作的少,早就忘光了!我很感谢学校有实训这样的安排,把我们这一学期学的东西系统的集中的进行训练,对我们计算机水平的提高发挥着重要作用!还要感谢我们的胡老师和陆老师很有耐心的给我们讲解在实训中出现的问题,即使老师讲了很多遍的问题,我们不会,老师还是会走进我们给我们耐心的指导,还给我们讲一些掌握编程的方法,让我们知道自己在哪方面不足,需要加强,也让我们了解到哪些需要认真的学习,那些是重点,不是没有方向的乱学一通,什么也学不好! 通过此次短暂的课程设计,我深有感触。从一开始的构思再到今天写下这份总结。期间时间虽短但是也学到了不少的知识。在实训的刚开始构想只有大体的思路,忽略了一些细节,因此在我真正做设计网站系统设计方案时发现有很多错误,有的时候要解决一个错误反反复复会花上很多时间。在做的过程中,也会有很多意想不到的错误,其中有的错误到最后解决的时候却是发现犯得很幼稚,不过这样的错误多了,在不知不觉中对一些命令知识分外的熟悉了起来,并且自身的排错能力也得到很大的提高。 此次的网站系统方案设计,让我第一次摸索网上购物网站系统的需求去搭建一个符合要求的基本的网上购物系统,在设计过程中总是会遇到一些很小的问题,虽然不明显,却可以影响到整个网站系统的安全运作。这样一个小小的网上购物系统,却是通过一次次的完善,修改之后的结果,真是令人感慨万千。 第一次的方案设计虽然有所困难,却也使我更加深入的了解往后咱系统的设计是如何设计的能使购物系统设计变得更加安全,更加快捷。并将平时所学的知识第一次融会贯通。也明白了设计一个网撒谎那个购物系统是需要花费很多精力去构思的,其间的财富是任何时候的上课实验所不可比拟的。 在这次实习过程中,我发现平时学习的知识与实践环节所用到的有一定的差距,往往我觉得自己掌握的很好或者自认为熟练的技术却在此次实践环节中往往出问题,书本上的知识只提供方法的借鉴,实践中自己必须摸索出适合具体工作的方法,这一切都离不开钻研精神与勤学好问的精神.在在与团队合作的过程中我收获更大,首先要谦虚谨慎,不能自以为是,认为自己懂得很多,而仅仅埋头苦干,而不向他人请教,实训不但是实践与应用的过程,同时也是学习的过程,我们必须加强与他人的沟通学习,以便获得与他人的交流。 这次网上购物系统的设计方案设计让我把属于这方面的各个知识点从各方面收集过来,根据需求要求设计了数据库,完成了系统的设计,在进行一遍一遍的测试,仔细的编写文档。在完成的过程中去完善更多的方面,使设计的网络一点一点安全与规范起来。并且我在这一个星期的实训里,让我知道还有很多地方的不足,还有许多的技术等着我去摸索,等着我去学习。 这次实训的时间很紧迫,再加上各方面的经验不足,也遇到很多问题,虽然我通过网上查询,咨询老师和同学去解决我以发现的问题,但我知道这个系统还有很多地方没有完善,希望老师能谅解。但是总的来说,这次课程设计对我很有帮助,让我获益匪浅,使我在这方面的知识有了不小的提高。 通过这次实训,我们对系统设计有了更深刻的认识,做二十一世纪现代人不但要有过硬的理论知识,良好的心理素质,健康的体魄,还要有超强的计算机系统编程设计的操作能力。 社会的竞争是激烈的,我想我们应该好好把握住大学学习的时间,充实、完善自我,全面发展,攻破电脑,争取做一名出色的现代人! 持续一周的系统设计实训,让我参与了系统设计的开发过程。其中体会最深的便是我们这个实训的几个之最: 一、 项目最大:首先讨论了这个问题,要想把把项目的基本功能实现,体会到了系统设计初期阶段的需求分析以及概要设计的重要性。 二.数据库表最多:如此庞大的系统,就需要庞大的数据库来支持,所以项目大的直接后果就是我们的数据库表特别多,而且表与表之间的依赖关系也复杂,实体类之间的关系众多,设计起来有一定的难度。数据库的另外一个问题是-数据表的属性,数据表属性的设计完全是依赖于我们刚开始做的需求分析文档,如果需求分析不完整的话,就会造成数据库表属性的缺失,从用户的角度看,就会觉得你的系统提供的数据不够全面,信息量小。 三、项目各个模块间藕合度高:网站涉及的各个功能模块之间的联系紧密,模块之间的接口设计的好坏是项目最终集成成功与否的最重要因素。用户管理这一个部分要为每个模块提供接口,主要是用户的编号以及用户的类型等。每个页面之间的链接也是其中重要的模块接口。这个问题由于我们前期做好了充分的沟通以及按照概要设计中的接口说明去设计自己的模块,所以后期的模块整合没有遇到什么太大的不兼容性等问题。 四、这一个周中我学到了很多东西,技术方面就是学会了用ASP.Net编写网站、设计系统,最重要的是让我经历了网上购物系统设计的所有阶段,让我对整个购物系统设计有了感性的认识,而且将大学两年年所学到的知识进行了一次系统的串联,更重要的是学会了如何跟项目团队中的成员沟通问题,这是一个宝贵的实践经验。 在本次实训中,还应该注意一下几个问题: 第一,对系统的需求要有明确的了解,这对数据库的设计至关重要的作用,而数据库的设计影响着系统的运行。因此,数据库的设计必须谨慎。 第二,由于本次实训属于团队合作,分工必须明确,对系统设计的代码部分要协商好,防止出现代码不融合,导致系统不能运行。也要防止小组成员做了相同的工作,导致时间的浪费。 第三,由于本小组的代码设计采用了ASP.NET中的三层架构,因此三层架构的设计必须要求十分谨慎,不允许出现错误。 第四,在实训中肯定会出现问题,我们要学会找出问题的根源,并且找到相应的解决方法。 第五,在系统做好后,还要对系统进行检测和完善,使系统在出现各种情况下都能顺利运行。  通过这次实训,我们对系统设计有了更深刻的认识,做二十一世纪现代人不但要有过硬的理论知识,良好的心理素质,健康的体魄,还要有超强的计算机系统编程设计的操作能力。经过这次的实训,我真真确确的感受到了计算机在我们生活中工作中的运用,这些软件、程序能让我们提高工作的效率,更直观更便捷的切入主题。 社会的竞争是激烈的,我想我们应该好好把握住大学学习的时间,充实、完善自我,全面发展,攻破电脑,争取做一名出色的现代人!
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服