|
知识路径: > 电子商务系统程序设计基础 > 电子商务系统建设 >
|
被考次数:1次
被考频率:低频率
总体答错率:37%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:115个
|
|
|
|
|
电子商务网站与一般网站相比较,最大的区别在于电子商务网站除了一般网站的信息展示功能外,还有在线购买和在线支付等功能。一个电子商务网站的基本功能分为前台功能和后台功能。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
后台主要是为电子商务网站管理人员提供的服务与功能,主要包括:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
因此,在设计电子商务系统数据库时应根据实际需求,以实现功能为目标,设计相应的数据库。下面以常见的电子商务系统功能设计数据库,数据库表设计定为10张表。
|
|
|
|
电子商务系统离不开用户,在实现个人中心、会员管理等功能时都有涉及到用户,用户信息表的结构如下表所示。
|
|
|
|
|
|
电子商务系统中商品越丰富,网站吸引力越强。为了便于对这个庞大的商品集合进行管理以及方便用户浏览检索商品,需要将这些商品进行分类。当商品特别多时,分成大类和小类。商品大类表的结构如下表所示。
|
|
|
|
|
|
|
|
|
|
商品是电子商务系统运行的主体,各种商务活动都是围绕商品进行的,商品信息表的结构如下表所示。
|
|
|
|
|
|
电子商务系统中,管理员负责处理订单、商品管理、类别管理、新闻管理等,管理员表的结构如下表所示。
|
|
|
|
|
|
在大型电子商务系统中,应该有各种角色的管理员,比如订单管理员只负责处理订单,发货管理员只负责发货,财务员根据订单管理员的信息核对货款并通知发货员发货等,这样将管理员分成不同角色,每个角色拥有不同的权限,便于电子商务系统的管理,管理员角色表的结构如下表所示。
|
|
|
|
|
|
电子商务系统中,经常会发布网站新闻或者其他信息,新闻表的结构如下表所示。
|
|
|
|
|
|
用户在购买商品以后,经常会对购买的商品进行评价,用户的评价对其他希望购买该商品的用户起到引导性的作用,评论表的结构如下表所示。
|
|
|
|
|
|
用户一次购买的多个商品就形成了一张订单,电子商务系统运营商要对这些订单进行处理,核对、发货等,订单表的结构如下表所示。
|
|
|
|
|
|
一张订单可能会包括多种商品,一种商品也可能有多个,所以对一张订单的详细情况还需要一张订单详细表,订单详细表的结构如下表所示。
|
|
|
|
|
|
|
|
根据上面设计数据库逻辑结构,就可以设计数据库的物理结构,即建立物理数据库。不同的电子商务系统运行模式及功能都不尽相同,所以所设计的数据库肯定也有区别,这里仅仅给出了一个较为常见的电子商务系统的数据库设计,在实际建立电子商务系统时应该按照实际需求来设计数据库。
|
|
|
|
一个网站包含多个页面,而这些页面的一个共同特征是其具有一致的站点级页面布局和导航模式。ASP.NET中的母版页和网站导航,极大地简化了站点级页面布局和导航模式的实现过程。母版页允许开发人员创建具有指定的可编辑区域的站点级模板,在模板中集中实现站点级页面布局,为所有页面创建一致的外观,此模板可应用到网站中的ASP.NET页面上。这些ASP.NET页面只需为母版页中指定的可编辑区域提供相应内容。
|
|
|
母版页的后缀名为.master,母版页同Web窗体在结构上基本相同,不同的是,母版页的声明方法不是使用Page指令声明,而是使用Master指令进行声明,如下所示:
|
|
|
|
母版页提供一个对象模型,其他页面能够通过母版页快速的进行样式控制和布局,使用母版页具有以下好处:
|
|
|
.母版页可以集中处理页面的通用功能,包括布局和控件定义,便于站点维护。
|
|
|
.使用母版页可以定义通用性的功能,包括页面中某些模块的定义。
|
|
|
|
|
|
在Visual Studio中单击“添加项”选项,选择“母版页”项目,即可向项目中添加一个母版页。一个新建母版页主要内容如下:
|
|
|
|
可以看出,母版页使用的指令是Master指令,其中,ContentPlaceHolder是一个内容页占位符。在创建内容页时,需要将内容页的content控件的ContentPlaceHolderID属性设为母版页中ContentPlaceHolder控件的ID,一个母版页可以根据布局需要放置多个ContentPlaceHolder。另外,母版页不能单独浏览,但母版页可以嵌套。
|
|
|
|
使用母版页的页面被称作称内容页,内容页无需过多的考虑页面布局,只需要在母版页预留给内容页的地方编写相应的内容。当用户请求内容页时,内容页将与母版页合并,并将母版页的布局和内容页的布局组合在一起呈现给用户。在使用母版页之后,内容页不能修改母版页中的内容。
|
|
|
创建内容页的方法与创建Web窗体方法基本一样,在Visual Studio中创建Web窗体时,选中“选择母版页”选项,单击“添加”按钮,系统会提示选择相应的母版页,选择相应的母版页后,单击“确定”按钮即可创建内容页。使用母版页的内容页代码如下:
|
|
|
|
其中page指令中的MasterPageFile属性即表示母版页的位置。另外在内容页中,不能存在html、head、body、form等HTML标签,因为这些标签在母版页中已经存在。也可以将现有Web页面改为应用母版页的内容页,过程如下:
|
|
|
①在@Page标记中指定MasterPageFile位置;
|
|
|
②去除内容页的多余html、head、body、form等标签;
|
|
|
|
④指定相应的ContentPlaceHolderID。
|
|
|
|
在电子商务系统中,常常会看到菜单、站点地图等导航形式,这些导航可以让用户能够更加方便快捷地查阅到相关的信息和资讯,或者跳转到相关的版块。ASP.NET提供了站点导航的控件有:SiteMapPath、TreeView、Menu,这三个控件的基本特征如下:
|
|
|
.SiteMapPath:指示页面在站点的逻辑位置的导航。
|
|
|
.TreeView:以树形目录方式导航的控件。并且TreeView控件支持数据绑定。
|
|
|
.Menu:Menu控件提供静态和动态混合的菜单功能。
|
|
|
|
ASP.NET站点导航控件是基于站点地图的,站点地图是对站点结构的XML描述,站点地图文件名为Web.sitemap,例如,某商务网站结构如下图所示。
|
|
|
|
|
根据这个站点结构创建一个Web.sitemap站点地图文件如下:
|
|
|
|
|
.siteMap:根节点,一个站点地图只能有一个siteMap元素。
|
|
|
.siteMapNode:对应于页面的节点,一个节点描述一个页面。
|
|
|
|
.url:文件在解决方案中的位置,如果要表示根目录,需要用“~/”。
|
|
|
.description:说明性文本,并提供光标停留时,显示的内容。
|
|
|
|
.站点地图根节点为元素,每个文件有且仅有一个根节点。
|
|
|
|
|
|
站点地图文件可以作为站点导航控件的数据源(导航控件的数据源也可以是其他方式),有了站点地图,就可以创建站点导航控件了。
|
|
|
|
SiteMapPath控件可以显示站点网页层次结构,并且可以标明用户当前所在位置,可以帮助用户理解站点结构,可以迅速定位。
|
|
|
SiteMapPath控件使用比较方便,它使用站点地图作为控件的数据源。例如,在上图描述的商务网站中,存在一个页面Fruits.aspx,在该页面中放置一个SiteMapPath控件,SiteMapPath控件会根据站点地图文件的内容自动生成SiteMapPath控件内容,如下图所示。
|
|
|
|
|
|
.PathSeparator属性:分隔符的样式。PathSeparator属性只能设置一些简单的符号或文字,如果希望使用图片或其他复杂符号作间隔符,可以通过编辑模板更改分隔符为任意样式。如果既设置了PathSeparator属性,又设置了模板,则以模板为准。
|
|
|
.PageLevelsDisplayed属性:导航显示的级数。浏览Fruits.aspx页面,当鼠标停留在某个节点上时,会出现该节点的description属性内容,当鼠标单击某个节点时,会跳转到该节点url所指向的页面。
|
|
|
|
构建B/S系统时,不仅要考虑系统的功能,还要考虑系统的灵活性、可伸缩性,可扩展性等。开发B/S系统一般采用层次体系结构,这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能,本节以三层结构介绍Web系统层次结构。三层结构如下图所示。
|
|
|
|
|
|
.数据访问层:实现对数据库中数据的访问功能,如增加、删除、修改、查询数据。并为业务逻辑层提供服务。
|
|
|
.业务逻辑层:实现业务的具体逻辑功能,如商品分类、下订单、发货等。并为页面显示层提供服务。
|
|
|
.页面显示层:为用户提供一种交互式操作界面,如显示商品信息等。
|
|
|
|
①表示层只是一个用户交互式操作界面,在该层中,一般不要包含业务处理及数据访问的程序,这样减少了表示层与业务逻辑层的耦合性,当页面需要调整布局或改变样式时,不影响业务处理逻辑。另外,表示层要使用的业务逻辑方法应该是业务逻辑层提供的,不要直接从数据访问层中调用。
|
|
|
②将数据的增删改查等与数据库直接交互的操作写在数据访问层中,数据访问层将查找到的数据进行封装,以对象的方式传递给业务逻辑层。另外,数据访问层应该提供针对各种数据库访问操作的方式,以便系统的扩展与移植。
|
|
|
③数据访问层和业务逻辑层中的方法应该具有统一的规格,以便其他层次的引用。
|
|
|
④各层次之间数据传递可以使用数据集对象,而采用实体泛型集合,程序安全可靠性更高。
|
|
|
|
.层次结构分明,便于流水化的开发,一类开发人员可以只关注整个结构中某一层;
|
|
|
.层与层之间耦合度低,一个层次的变换不会影响到其他层次;
|
|
|
.利于程序代码的复用,如果要将B/S的系统改成C/S结构系统,数据访问层及业务逻辑层的类库是可以直接引用的。
|
|
|
|
WebApp前端框架开发基本技术包括三个要素:HTML、CSS和JSP,还有很多高级的前端框架,例如主流的Bootstrap、jQuery Mobile、PhoneGap、MUI等,每个框架都有其鲜明的特点,开发者应根据具体的开发需求来选取最合适的开发框架。下面简单介绍对几个国内外常用的WebApp开发框架。
|
|
|
|
Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript开发的简洁、直观、强悍的前端开发框架,使得Web开发更加快捷。主要用于开发响应式布局、移动设备优先的Web项目。一些国内移动开发者较为熟悉的框架如WeX5前端开源框架就是基于Bootstrap源码进行性能优化而来。
|
|
|
Bootstrap的特点是简单灵活,具有可用于架构流行的用户界面和交互接口的HTML、CSS、JavaScript工具集;是响应式布局设计,让网站可以兼容不同分辨率的设备,同时给用户提供更好的视觉使用体验。
|
|
|
|
jQuery Mobile是jQuery在手机上和平板设备上的版本。jQuery Mobile不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。
|
|
|
|
ionic是一个强大的HTML5免费开源应用程序开发框架,开发者使用HTML、CSS和JSP构建接近原生体验的移动应用程序。ionic主要关注应用程序的外观和体验以及和应用程序的UI交互,特别适合用于基于Hybird模式的HTML5移动应用程序开发。
|
|
|
|
PhoneGap能够让开发者使用HTML、CSS和JSP来开发跨平台移动App的开源免费框架,一直以来都深受开发者喜爱,从iOS、Android、BB10、Windows Phone到Amazon Fire OS、Tizen等,各大主流移动平台一应俱全,还能让开发者充分利用地理位置、加速器、联系人、声音等手机核心功能。业界很多主流的移动开发框架均源于PhoneGap。较著名的有Worklight、appMobi等。
|
|
|
|
MUI是由DCLOUD开发的APP框架,借助HBuilder开发工具,可以快速开发可跨平台APP应用程序。MUI的主要具有以下特点:
|
|
|
.轻量级,追求性能体验,是我们开始启动MUI项目的首要目标,轻量必然是重要特征;MUI不依赖任何第三方JS库,压缩后的JS和CSS文件仅有100+K和60+K。
|
|
|
.MUI的UI设计理念是以iOS为基础,补充Android平台特有的控件;因此MUI封装的控件更符合APP的原生态体验。
|
|
|