虚拟商场的设计与实现Word文档下载推荐.docx
- 文档编号:17434345
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:43
- 大小:887.46KB
虚拟商场的设计与实现Word文档下载推荐.docx
《虚拟商场的设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《虚拟商场的设计与实现Word文档下载推荐.docx(43页珍藏版)》请在冰豆网上搜索。
(3)大多数基于Web的系统是内容驱动的,通常,基于Web的系统开发还包括内容提交的开发。
而传统的软件开发是功能驱动的或过程驱动的。
(4)用户形式的多样性。
大多数基于Web的系统必须迎合具有不同技术和能力的用户,复杂化人机接口、用户界面和信息递交。
而传统的软件系统的用户群体是可以圈定在某个范围之内的,可以根据这个群体定制用户界面和人机接口。
(5)大多数基于Web的系统必须在短期内开发完成。
所以,Web工程很难应用传统软件工程中使用的形式化方法和测试技术。
(6)Web比通常意义上的软件开发使艺术、技术和科学在更大范围内结合。
开发基于Web的系统的人员在技能、知识方面比传统的软件开发所需要的更加广泛,人员类型更多。
2.1.2Web工程过程
Web工程过程活动贯穿Web生命周期,从应用概念的生成到开发、发布、不断的精化和升级系统。
为了降低开发基于Web的应用系统的复杂性,需要一个描述开发基于Web的应用系统阶段的过程模型[4]。
(1)Web分析
基于Web的应用系统的需求分析是很重要的活动,需要一个系统而严密的方法。
根据Web特性和Web应用的特定需求,需要采用更为开放、灵活的需求分析方法。
(2)Web设计
Web设计不但包括功能设计和性能设计,还要包括页面风格设计,包括页面的主色调、页面框架结构、文字颜色搭配、动画和图片的放置等。
有效的Web站点设计需要注意可用性,要把基于Web的系统设计成易于导航,吸引人和有用。
现在,比较流行的Web设计方法是以用户为中心的设计。
(3)Web开发
Web开发过程包括后台数据库程序的开发、页面程序的编写和所有网页的制作。
在设计阶段决定的Web框架基础上,进行具体的页面设计和制作。
把内容提供人员的内容连接到具体的页面。
(4)Web测试
基于Web的应用系统的测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器的显示是否合适。
重要的是,还要从最终用户的角度进行安全性和可用性测试。
(5)Web发布
Web发布阶段主要是把开发完成,经过初步测试的Web应用系统传送到Web站点上,供用户浏览和使用。
2.1.3WEB设计的系统结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。
服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。
实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
2.2WEB系统实现技术
2.2.1WEB服务实现技术
目前比较成熟的技术主要有ASP、PHP和JSP。
现对它们做一些说明[5]:
PHP是一种跨平台的服务器端的嵌入式脚本语言。
它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。
它支持目前绝大多数数据库。
JSP是Sun公司推出的新一代网站开发语言JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
ASP技术特点:
(1)使用VBScript、JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
(2)无须compile编译,容易编写,可在服务器端直接执行。
(3)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
(4)与浏览器无关(BrowserIndependence),客户端只要使用可执行HTML码的浏览器,即可浏览ActiveServerPages所设计的网页内容。
ActiveServerPages所使用的脚本语言(VBScript、Jscript)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。
(5)ActiveServerPages能与任何ActiveXscripting语言兼容。
除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX、Perl、Tcl等。
脚本引擎是处理脚本程序的COM(ComponentObjectModel)对象。
(6)可使用服务器端的脚本来产生客户端的脚本。
(7)ActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。
可以使用VisualBasic、Java、VisualC++、COBOL等程序设计语言来编写我们所需要的ActiveXServerComponent。
2.2.2数据库技术
SQLServer具有单进程愈多线索的体系结构,及SQLServer只有一个服务器进程,所有的客户都连接在这个进程上[6]。
但是,该进程又细分为多个并发的线索,他们共享数据缓冲区和CPU时间,能及时捕捉各用户进程发出的存取数据的请求,然后,按一定的调度算法处理这些请求,比操作系统直接对这些请求进行调度高效的多。
SQLServer的事务处理量大,响应速度快,并能为数百或更多用户维持这种高性能。
SQLServer在核心层实现了数据完整性控制,包括建表时申明完整性和用触发器机制定义与应用有关的完整性。
支持分布式查询与更新。
2.2.3Web3D技术
伴随着互联网的快速发展,Web3D作为一种最先进的网上物品浏览技术,它可以从各个方位360°
的任意角度观察产品,具有全方位、互动式、两维与三维结合的特点。
该技术并非将单纯的图片上传,也不同于在网上播放动画,而是将某一物件进行360度拍摄,或者使用专业的三维平台创建出逼真的三维物品,然后通过其它技术,最终在网上呈现出丰富的视觉效果。
这就是基于图像的Web3D技术和基于数字三维的Web3D技术[7]。
2.3运行环境和开发工具的选择
通过以上各种技术的介绍和比较,结合我自己的实际情况,我主要采用ASP技术实现动态页面设计,SQLServer2000实现数据库应用和数据管理的设计方案。
除此之外,我选择ASP技术还有以下原因:
[8]
ADO(ActiveXDataObjects)技术是微软公司推出的数据库连接技术,运用该技术可以对各种数据库(如SQLServer,Access,Oracle及Sybase等)的链接,查询,存取等操作。
ADO对象给开发人员提供一种快捷,简单,高效的数据库访问方法,ADO可以包含在脚本中来产生对数据库的连接,并从数据库表中读取数据,形成实际要使用的对象集合。
而且,对于数据资源,提供了应用程序一级的界面。
不过,ADO并不与数据资源直接通信,而是通过称为OLEDB的中间界面。
对于数据资源(MicrosoftSQLServer),OLEDB提供了系统一级的界面。
ADO是一组优化的访问数据库的对象集,为Web数据库开发者提供完整的网站数据库解决方案。
ADO可以与ASP紧密结合,运行在服务器端,从而制作出功能完善的数据库网页。
ADO除了支持各种数据库平台外,它还支持VB,VC和Script等多种程序设计语言。
目前,该技术已升级到.NET。
尽管它们在脚本语言和构架设计上有很大不同,但从某种意义上来说,这是它为适应未来需要而进行的技术上的更新。
2.3.1运行环境
WindowsServer2000系统运行平台,IIS5.0WEB服务器和脚本解释器,IE6.0浏览器,DirecX9.0系统插件和SQLServer2000企业版[9]。
2.3.2开发工具
DreamweaverMX2004是建立Web站点和应用程序的专业工具。
它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。
FlashMX提供了创建和传递丰富的Web内容和强大的应用程序所需要的各种功能。
不论是设计动态图形还是建立数据驱动的应用程序,FlashMX所具有的工具都能跨越多种平台及设备创造精彩效果并获得最佳的用户体验。
AdobePhotoShop为建站提供原始的素材,它的强大的功能可以完成大部分图片处理和特殊效果。
Discreet3dsmax提供三维动画设计和交互式的游戏动画,它的建模方案为实现三维实体和动画的快速制作提供了良好的方法[10]。
CycoreCult3D是一种全新的Web3D技术,利用Cult3D的跨平台3D引擎,可以非常方便地在网页上进行产品的互动3D演示,使电子商务,企业新产品等实现更生动的在线推广。
利用Cult3D技术可以制作出3D立体的产品,利用Cult3D可以以视觉的方式呈现不同的事件和功能的互动性,并且放置在网页中。
可以用鼠标在网页上控制3D产品,可以旋转,放大,缩小[11]。
3过程论述
3.1需求分析
3.1.1系统综合要求
前台要实现的功能:
由于在商场进行购物的顾客是来自不同的群体,如何帮助他们正确使用购物过程中的操作和技巧,尽快投入到购物中,必须在这个设计中体现出来[3]。
(1)界面友好,操作简单,提供大量的使用和提示说明。
(2)提供会员制:
只有注册的顾客才能够买本商场的商品,但对未注册的顾客允许浏览页面。
另外,为提高购物的积极性,用户之间要有等级之分。
(3)提供最新、推荐、人气最旺、热销、特价和促销商品信息的浏览。
(4)对站内所有的商品能够进行分类,或无条件的模糊查询。
(5)显示商品的具体信息时,要详细显示商品的大部分信息,并注明不同用户和不同产品价格区别,并能够提供对同类相关产品的显示。
(6)允许登录用户对商品进行评论,并能够对已发表的评论进行回复。
未注册顾客可以浏览评论内容。
(7)为了更好与用户进行沟通,在首页要显示商场公告,并给注册用户提供发送站内短信的功能,以利于用户之间和用户与商场管理员之间的交流。
(8)对于用户购买物品到提交订单整个流程要做到简单明了、安全,尽量模拟现实购物的习惯。
对于购物车内的物品要用列表一一显示出来,并提供删除功能,对于重复够买的物品要累加计算。
在用户提交订单时要提供多种运送方式,并对信息提供重复审核的功能。
(9)为了增加商场的吸引力兼顾商场以后的发展方向和更贴近顾客,要为他们提供娱乐购物广场,使他们看到的不再是单调的图片和文字,而是要享受虚拟现实中购物场景。
充分发挥三维世界给用户生活带来感观上的享受。
(10)整个界面以蓝、绿色为主色调,布局统一,用CSS统一整个版面的样式。
后台管理功能:
要能够对网站绝大部分的动态信息直接操作,尽量不改动页面。
(1)提供订单管理,商品管理,会员管理,短信管理,评论管理,菜单管理,文件管理,公告管理等。
(2)提供网站本身信息修改,使用空间查看等附加功能。
安全性:
提供数据备份和系统日志查看和管理。
系统性能要求:
数据处理速度要快,并能够在短时间内响应顾客的请求。
运行要求:
为了使系统安全、稳定的运行,操作系统和数据库要采用服务器版,WEB服务器要能够允许多人在线同时访问。
可靠性:
系统运行数据要一致,如果遇到系统不能正常运行要提供快捷恢复方式。
可用性:
系统要能够为以后商场不同业务的发展提供扩展功能。
出错处理:
对于用户输入的错误数据或非法数据,要尽量在程序中进行检验并提示相关预定义的错误。
对于可能出现的系统错误要尽量隐蔽其细节,并转向相应的出错处理程序进行重新处理。
3.1.2系统前台购物和后台管理流程图
系统的前台购物流程图如图1:
当顾客想在商场购买物品时,必须通过会员登录模块验证才行,无论登录成功或失败都要写入用户日志文件。
顾客成功登录后就可以把他的物品放入购物车并可以随时到收银台进行结账。
用户进行结账时,首先生成一张临时的订单,订单包括用户购买物品结算后的总额和某些个人信息。
然后,用户可以根据需要选择支付方式,并可以修改其中某些个人信息。
当用户确认提交订单后,这时物品购买流程才结束并写入订单库,同时显示用户订单号和本次付款总额。
后台管理流程图如图2:
管理员通过后台入口进入管理登录模块,无论是否成功登录都会写入用户日志文件。
当管理员成功登录后,他就可以对自己的某些信息进行修改,并根据自己的权限对管理用户进行操作。
管理员可以根据业务的需要对商品、订单、类别、会员、用户短信文件、网站信息、菜单、和计数进行管理,并可以调出安全日志文件进行查看、跟踪、和统计。
3.1.3数据流图
下面是对用户购买物品和提交订单的过程中,系统内的数据流图,由于这些功能间数据流比较复杂,我按处理事物的功能将它大体上划分为四部分。
图3是商场前台功能划分的高层数据流图。
顾客通过登录功能模块1进入购物系统,用功能模块2购买商品,然后在功能模块3提交订单并通过功能模块4退出系统。
图4是功能1进一步分解后的数据流图,无论顾客是否注册都可以浏览物品,但进行购物时必须进行登录,如果不是注册用户,则返回注册功能模块。
用户输入账户、密码和验证码成功登录后不仅可以根据商品标识购买物品,而且还可以查询订单号和收发站内短信。
图5是功能2进一步分解后的数据流图,用户可以在购物车内放更多的物品,同时允许对已放入的物品删除,如果购买完后,可以对购物车内的物品结账。
图6是功能3进一步分解后的数据流图,用户在收银结算后会生成订单,包括所有物品的总额和用户的部分信息。
用户可以对生成的部分信息进行修改,当确认提交时,生成订单号并存入数据库中。
此时用户就可以退出购物系统。
图5购物流程分层数据流图
图6购物流程分层数据流图
3.2虚拟商场的总体设计
3.2.1系统E-R图
E-R图是用来表示数据及其联系的工具,它描述的是现实世界的数据模型,与具体的DBMS无关,但是它是设计阶段设计数据库逻辑模型的重要依据[13]。
系统的购物E-R图,如图7所示:
其中主要涉及的实体有用户,商品,购物车,订单和类别等。
当用户访问站点时,计数器自动增加一条包括用户访问的页面、登录IP、登录时间的记录,如果经过登录过程,用户日志会自动记录下用户登录时的账户、IP、登录时间和结果;
用户可以根据自己的登录账户查看自己已购买但并未结算的商品,也可以查看消息、发表评论和购买商品。
当生成临时订单时,先根据账户提取用户购物车内已购买但未经过确认的商品,然后根据用户选择的支付方式生成订单。
商品种类一般较多,先将商品按大类划分,进一步划分大类包括的小类,最后对商品进行小类归属。
系统的后台管理E-R图,如图8所示:
其中主要涉及的实体有用户、商品、购物车、订单、会员和菜单等(实体属性见附录)。
当用户登录时,用户日志会自动记录下用户登录时的账户、IP、登录时间和结果;
用户登录后就可以通过管理来和这些实体发生关联。
3.2.2数据库设计
在设计数据库时,通常用“范式(NormalForms)”定义消除数据冗余的程度,范式越高,分解的表也增多,访问时性能(速度)将下降。
因此在本设计中我主要以第三范式为主,兼顾系统实际运行情况,允许部分冗余的存在。
下面是E-R图,向关系模型转换后的部分关系模式:
商品(商品编号、商品标识、商品名、商品大类、商品小类、…)
订单(订单号、订单标识、用户编号、支付类型…)
用户(用户编号、用户标识、密码、用户名、…)
评论(评论标识、用户编号、商品编号、内容、…)
购物车(商品编号、购物车标识、用户编号、商品名、订单号、…)
运送方式(标识、方式、支付金额)
公告板(公告标识、标题、内容、提交时间、提交人、修改时间、修改人)
计数器(计数标识、普通虚拟商场、娱乐购物广场、访问时间、访问IP)
消息(消息标识、消息内容、发送者、接收者、发送时间、查看、回复)
系统信息(网站名、标题、网址、标志、所有者、QQ、Email、建站时间、…)
管理员(管理员账户、密码、姓名、等级)
菜单(菜单标识、菜单名、网址、页面序号)
商品大类(大类标识、类名、类编号、可视)
商品小类(小类标识、小类名、大类名、小类编号)
用户日志(日志标识、用户名、事件、结果、登录日期、登录IP)
管理日志(日志标识、管理员名、事件、结果、登录日期、登录IP)
文件用户(用户名、密码、路径、权限)
用户购买物品关系模式的关联如图9:
在用户日志和管理员日志关系模式表中它们的属性都是相同的,本应该合并到一起进行,但在实际应用的过程中,为了防止用户名和管理员名重名引起的冲突与提高查询效率,顾增加了冗余的存在。
数据库表
名称
作用描述
Goods
商品
存储商品信息
GoodsBigType
商品大类
商品大类信息
GoodsSmallType
商品小类
商品小类信息
Basket
购物车
顾客已选购的物品
Order
订单
顾客购买物品后的订单信息
TransPay
运送方式
用户支付类型
Board
公告板
商场发布的消息
Comment
评论
顾客对物品的评论和回复
Message
消息
站内顾客与顾客和管理员联系的工具
Users
用户
用于存储商场已注册的顾客信息
SysAdmin
系统管理
用于储存操作系统后台管理员信息
FileUsers
文件用户
用于WEB文件管理
Counter
计数器
用于统计虚拟商场和娱乐广场的访问人数
WebInfo
页面信息
商场信息和系统标志说明等相关信息
Menu
菜单
页面菜单栏设置
UserLog
用户日志
记录以用户身份登录的信息,用于安全分析
AdminLog
管理员日志
记录以管理员身份登录的信息,用于安全分析
表1是设计中所用到的17个表的名称及相关作用描述:
表1系统所有表
在对表的具体设计时我们以Goods表为例,如表2
本表中我是严格按照第三范式来设计的,商品编号为主属性,可以作为主索引,其它为非主属性。
其中Id为冗余属性,它是为提高数据库的查询速度而设计的。
表2商品表的设计
列名
类型/大小
键/允许空
描述
Id
Int/4
—
对记录标识递增量1
GoodsNumber
Varchar/50
主键
商品编号
GoodsName
否
商品名
BigSortName
Varchar/20
商品大类名
SmallSortName
商品小类名
Standard
是
规格
Package
包装
Producer
生产商
Brand
品牌
StorePrice
Float/8
进货价
SalePrice
市场价
ComPrice
商场价
VipPrice
Vip会员价
Cprice
促销价
Content
Text/16
商品信息描述
PostTime
Datetime/8
增加商品时间
ReadCount
浏览次数
SaleCount
售出数量
ImageFile
商品图片位置
Cult3D
三维实体图位置
TJ
Bit/1
特价
YTJ
首页推荐
LTJ
分类推荐
CX
促销
3.2.3系统功能模块设计原则
通常程序中的一个模块完成一个适当的子功能。
应该把模块组织成良好的层次系统。
我们在对模块设计时应该遵循启发式规则,使得模块规模适中,深度、宽度、扇出和扇入适当,并在设计模块时尽量使模块独立,做到高内聚,低耦合,并保持信息隐蔽和局部化原则。
在基于WEB的网站设计中,对系统的功能进行严格的划分是比较重要的,这样可以进行有效和完善的管理。
因此从设计上的需要我把它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟 商场 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)