1、黑龙江工程学院继续教育学院学生毕业设计(论文)继续教育学生毕业设计基于J2EE的网上购物站点的设计与实现 院系名称: 计算机科学与技术 专业班级: 计算机1401 学生姓名: 指导教师: 周 屹 职称: 教 授 黑龙江工程学院继续教育学院二一六年四月哈尔滨10摘 要随着Internet技术的发展及计算机的广泛应用,信息技术越来越紧密地与国民经济和社会生活结合在一起,电子商务在经济贸易领域已成为潮流。网上商店作为电子商务系统的一个典型应用,采用无纸贸易,实现快速、准确、双向式数据和信息交流,提供异地交流的形式;便于收集消费者信息,为消费者提供个性化服务;实行无国界经营,不受时间、空间的限制。本系
2、统基于Java 2 Enterprise Edition (J2EE) 架构,使用Java作为服务端开发语言、JavaScript脚本与JSP组件作为页面展示语言,成功设计并实现了一个网上购物系统,解决了网上购物系统实现中遇到的购物流程、下单流程、搜索功能等相关技术问题。该系统配备了完善的前、后台功能,通过后台的系统配置将商品详细信息展示给前台消费者。消费者可以根据自己的需求进行选择性购物。便捷的购物流程即满足了消费者网上购物的需求,同时还为消费者节省了宝贵的时间。关键词:网上商店;商品管理;订单管理;用户管理;权限管理; AbstractWith the wide application o
3、f Internet technology and the development of computer and information technology and more and more closely integrated with national economic and social life, in economic and trade fields of e-commerce has become the trend. Online shop e-commerce system as a typical application, the use of paperless
4、trading, fast, accurate, two-way exchange of data and information provided in the form of remote communication; facilitate the collection of consumer information, to provide consumers with personalized service; no implementation border business, without time and space constraints.The system is based
5、 on Java 2 Enterprise Edition (J2EE) architecture, using Java as a server-side development language, JavaScript and JSP script component as a display language page, successfully designed and implemented an online shopping system, online shopping system implementation to solve the encountered technic
6、al problems related to the shopping process, order process, search functions. The system is equipped with a sound front, back-office functions, system configuration through the background will show product details to the front of consumers. Consumers can shop selectively according to their needs. Co
7、nvenient shopping process that is to meet the consumer demand for online shopping, but also for consumers to save valuable time.Key words: Online store; commodity management; order management; user management; rights management;目 录摘 要1Abstract2第1章系统概述51.1论文研究背景51.2论文的研究内容51.3开发环境6第2章系统应用技术72.1Java技术
8、描述72.2Oracle数据库描述82.3Jsp技术描述102.4Servlet技术102.5本章小结11第3章系统需求分析123.1功能需求133.2功能描述133.3数据流转流程(简称为DFD)153.4本章小结16第4章总体设计174.1 购物网站前台主页设计描述174.2 网站的总体功能设计184.3本章小结18第5章数据库详细设计195.1 数据库设计195.1.1 数据库结构设计特点195.1.2 数据库物理结构设计205.1.3创建数据库脚本245.2本章小结27第6章网站功能模块的实现286.1网站前台首页实现描述286.2 网站管理后台296.2.1后台用户登录页面296.2
9、.2网站后台主界面296.3本章小结31第7章系统运行维护和测试327.1网站系统上线后的运营及维护327.2网站系统测试327.2.1网站测试的目的327.2.2系统测试337.3本章小结35结 论36参考文献37致 谢38第1章 系统概述1.1 论文研究背景随着网络的进一步普及和电子商务的高速发展,越来越多的人们开始在网络中寻求方便。网上购物具备了省时、省事、省心、高效等特点,从而受到越来越多人的欢迎。在网络消费越来越成为主流的今天,在线购物已经成为广大用户最便捷的一种体验方式,可以最大化地满足消费者日趋多样的购物需求。为了适应新形势的发展,特推出了这一网上购物系统,使其能在时间就是金钱的
10、繁琐生活中,利用消费者的碎片时间解决便捷、安全的购物需求。在线购物的好处是:企业可以通过系统对后台商品、订单、用户信息等动态地管理,同时节省了线下店面的昂贵费用,只要准备好足够大的线下仓库,就可以在线上生成各类售卖商品信息进行展示,商品种类齐全满足用户各类购物需求;另一方面,针对用户做到购物时间灵活,可以随时进行网上购物的行为,完善的售后服务也为用户的消费权益提供了有力保障。在线购物系统极大的提高了商业模式的灵活性,通过互联网,企业的信息展示、品牌塑造和形象宣传可以通过文字、图片、音频、视频等多维度进行现实与虚拟相结合的展示,使用户对企业的了解更加立体和全面,有助于形成良好的形象与口碑。1.2
11、 论文的研究内容本文介绍的是一款自助型购物网站系统从需求收集到网站搭建,从研发过程到提测上线的整个过程的描述。用户前台主要包括登录、注册、商品浏览、商品分类搜索、购买及订单管理等功能;运营后台主要有商品管理、用户管理、订单管理、角色权限管理的功能模块。本位针对购物车和订单的实现做了较具体的解释说明。除此之外,论文还论述了系统的开发背景、需求内容、实现目标以及系统分析和相关模块的详细设计内容。在系统研发过程中遇到的一些问题以及解决方案的沉淀。当然,研发一套基于平台的购物网站系统还需要很多调研以及竞品分析的支撑,通过大量举证来完善购物平台的核心功能,过程中所涉及的问题及困难远比论文中研究的内容复杂
12、得多,例如数据交互及管理、购物平台的安全性和认证等,都有待于进一步的研究和实践。1.3 开发环境表1-1 开发环境说明表操作系统Windows XP脚本解释器JDK5.0或以上版本,MyEclipse自带的TomcatWeb服务器Tomcat5.0或以上版本开发工具MyEclipse5.0或以上版本数据库Oracle硬件要求1.0GHZ CPU 256M内存第2章 系统应用技术2.1 Java技术描述Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应
13、用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企
14、业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。2009年04月20日,oracle(甲骨文)宣布收购sun。1991年,Sun公司的James Gosling、Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(一种橡树的名字)软件,他是Java的前身。当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,得以研发和发展。为了促销和法律的原因,1995年Oak更名为Java。Java的
15、得名还有段小插曲呢,一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。很快Java被工业界认可,许多大公司如IBM Microsoft.DEC等购买了Java的使用权,并被美国杂志PC Magazine评为1995年十大优秀科技产品。从此,开始了Java应用的新篇章。Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响: (1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台
16、上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.net平台两大派系,推动了整个IT业的发展。(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的
17、组织和文化理念,协作,创作,责任,诚信是人才的基本素质。总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。2.2 Oracle数据库描述Oracle的关系数据库是世界第一个支持SQL语言的数据库。1977年,Lawrence J.Ellison领着一些同事成立了Oracle公司,他们的成功强力反击了那些说关系数据库无法成功商业化的说法。现在,Oracle公司的财产净值已经由当初的2000美元增值到了现在的年收入超过97亿美元。 Oracle的目标定位于高端工作站以及作为服务器的小型计算机。Oracle的路线同Sun微系统公司类似,都提出了网络
18、计算机的概念。Oracle宣称自己是世界上首家百分之百进行基于互联网的企业软件的软件公司。整个产品线包括:数据库、服务器、企业商务应用程序以及应用程序开发和决策支持工具。从Oracle首席执行官Ellison的发言可以看出Oracle对网络计算的信心,他说:“Oracle公司的成败依赖于互联网是否能够成为将来的主流计算方式,如果答案是是,Oracle就赢了”。Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore。2000财年(99年6月到2000年5月)营业额达101亿美元,再创Oracle公司销售额历史新高,比去年增长了13亿美
19、元,盈利增长61%,达到21亿美元。Oracle公司现有员工超过三万六千人,服务遍及全球145个国家。 Oracle公司拥有世界上唯一一个全面集成的电子商务套件Oracle Applications R11i,它能够自动化企业经营管理过程中的各个方面,深受用户的青睐,促使Oracle应用软件在2000财年第四季度的销售额达4.47亿美元,与 SAP公司的同期应用软件销售额3.52亿美元相比,多出近1亿美元,这一事实表明,Oracle已经是世界最大的应用软件供应商。Oracle电子商务套件涵盖了企业经营管理过程中的方方面面,虽然它在不同的方面分别面对不同的竞争对手,而Oracle电子商务解决方案
20、的核心优势就在于它的集成性和完整性,用户完全可以从Oracle公司获得任何所需要的应用功能,更重要的是,它们具有一致的基于Internet技术的应用体系结构,而如果用户想从其它厂商处获得Oracle电子商务所提供的完整功能,不仅需要从多家厂商分别购买不同的应用,而且需要另请咨询公司把这些不同的应用装配起来,还必须确保它们能够协同地工作。先进的产品和高效率的企业运作,是Oracle公司利润得以继续增长的重要原因,一年前,Oracle公司确定了通过采用自身的Internet电子商务解决方案,实现每年节省10亿美元企业日常运作费用的目标,这一数据相当于将我们的年度利润率提高10%。四年前电子商务在全
21、球范围内还仅处于萌芽状态时,Oracle公司便前瞻性地作出了从领先的数据库厂商向以Internet计算为基础的完整的电子商务解决方案供应商转型的战略部署。这一前瞻性战略为Oracle带来了巨大的利益,今天,Oracle能够领先于竞争对手提供包括平台产品、应用产品和完善的服务在内的先进的、完整的、集成的电子商务解决方案,可以无缝集成供应链管理(SCM)、企业资源管理(ERP)、客户资源管理(CRM)和企业商业智能(BI)和电子商务应用IP(Internet Pocurement)、Exchange、Portal-to-go等产品。Oracle从低端到高端的所有方案100%基于Internet应用
22、体系结构,都可以通过Web安全、直接地访问,使企业能够通过Web完成包括报价、定单、支付、执行、服务等在内的企业业务过程的所有环节,帮助企业将现有业务内容快速转移到电子商务,迅速获得来自电子商务的高效益。Oracle应用产品包括财务、供应链、制造、项目管理、人力资源和市场与销售等150多个模块,荣获多项世界大奖,现已被全球近7600多家企业所采用。由于在电子商务方面的杰出表现,Oracle公司在美国Mongan Stanley公司最新公布的权威性全球企业1000强中,从去年的第122名一跃成为第13名,成为全球第二大独立软件公司和最大的电子商务解决方案供应商。目前, Amazon和Dell等全
23、球十个最大的Internet电子商务网站、全球十个最大的B-to-B网站中的九个、93%的上市.COM公司、65家“财富全球100强”企业均不约而同地采用Oracle电子商务解决方案。2.3 Jsp技术描述 JSP全称Java Server Pages,它是由 Sun Microsystems 公司于1999年6月推出的动态网页制作技术,基于Java Servlet 以及整个Java体系的Web 开发技术。在早期,开发网络数据库应用程序主要采用CGI技术(Common Gateway Interface,公共网关接口)。编写CGI程序可以使用不同的程序语言,如Perl、Delphi或C、C+。
24、虽然CGI技术已经发展成熟而且功能强大,但由于其具有编程困难、效率低下、修改复杂等缺陷,已经不能满足Web的开发需求,于是新技术纷纷面世,如Tcx的PHP(PHP: Hypertext Preprocessor),Sun的Java/JSP/Servlet等。其中Sun的Java/JSP/Servlet技术被许多人认为是未来最有发展前途的动态网站技术。JSP技术使用Java编程语言编写类XML的标记和脚本代码,来封装产生动态网页的处理逻辑。网页还能通过标记和脚本代码访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得
25、迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Jav
26、a Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。2.4 Servlet技术Servlet是基于Java的一种技术和标准,它与Applet相对应,Applet运行在客户端,而Servlet运行在服务端。Servlet是当今万维网上使用最频繁的J2EE组件,是目前进行Web开发的较好选择之一。Servlet通常译为服务器小应用程序。顾名思义,它就是运行在服务器端的Java应
27、用程序。与传统的从命令行启动的Java应用程序不同,Java Servlet是由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet通过Web服务器接受来自客户端请求,执行某种作业,然后将结果返回客户端。Java Servlet是采用Java语言编写的,它很好地继承并发展了Java语言的优点,这些优点使Java Servlet比其他的服务器端编程技术更具优势。与Java的小应用程序一样,Servlet也具有其生命周期。Servlet的生命周期是服务器装载运行Servlet,接收来自客户端的请求并且返回数据给客户端,最后卸载Servlet的全过程。2.5
28、 本章小结本章介绍了论文采用的相关技术,包括J2EE、Oracle数据库、Jsp以及Servlet技术。对每种技术都从工作原理或设计上进行了分析说明,并且做了相关的应用介绍。通过对相关技术的整理分析,不仅增强了对它们的深入理解,同时也为利用相关技术解决网购系统实际问题奠定了基础。黑龙江工程学院继续教育学院学生毕业设计(论文)第3章 系统需求分析互联网技术的发展是Internet和Web快速增长的关键因素。越来愈多的人工智能系统简化了各个行业的工作流程,人与人之间的工作通过无缝衔接,从而达到协同工作的作用。基于B/S体系结构的网上购物系统正是利用了这种协同的能量,使原本错综复杂、多种突发情况并存
29、的购物流程变得更加清晰、简化、易用。Client/Server(客户端服务器)常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。大多数的处理过程都发生在客户端计算机,C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点是客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装
30、或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。为了解决Client/Server(客户端服务器)的这些缺点,Browser/Server(浏览器服务器)模式应运而生。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器如Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。客户端访问服务器的时会将服务器的实时结果通过浏览器呈现给用
31、户。B/S结构得到越来越多的企业的喜爱与重用, B/S已成为互联网应用软件首选结构,也是随着互联网技术发展的趋势相辅相成的。本文介绍的网上购物系统,正是采用这种优秀的B/S体系结构设计。客户端只要求安装有浏览器,就可以与服务器连接,运行整个应用程序。与此同时,应用程序的版本不管怎么更新,都只会在服务器端进行,这样客户端可以节省大量资源和时间。目前,互联网企业级应用体系及数据量庞大的情况下,想要单独使用一台服务器来处理所有的应用程序已然不能满足需求。对于这种多层体系结构的程序而言,分布式技术首当其冲的承担类服务分布的工作。服务分布是指把多层服务的处理机制分散到各个服务器上。这种采用分布式集群的处
32、理方式对处理业务数据量极大的应用软件表现出非凡的性能。多层应用程序对整个系统进行了分工,使系统更易于管理和维护,不会因为某一功能的宕机导致整个服务的停滞。多层应用程序的工作原理是将多个运行在每个用户机器上的处理过程都移到中间件层执行,并将结果反馈给所有用户,客户端只负责把服务端返回的结果通过浏览器显示给操作用户,同时提供输入/输出接口,把用户的请求反馈给服务器中间件进行处理即可。这样无数次的往返,完成用户与服务器间无数次会话。3.1功能需求功能需求是指本系统需要完成的所有需求功能。为了让使用本软件的用户纳入高效快捷的轨道,充分实现信息的共享和展示,提高企业服务质量,节省公司的运营成本,实现用户
33、自主购买商品的便捷性及商品购买多样化而设计的一款上也网站销售管理系统,以替代传统的线下商品交易。3.2功能描述1.购物网站前台核心功能的描述:(1)用户登录、注册流程用户以游客身份进入购物网站浏览商品,如需在线购买商品需要先注册成为网站的有效用户,注册成功或登录成功后,用户才可以进行在线商品订购的操作流程。(2)整站商品的浏览及描述用户进入购物网站后,可对整个网站的所有商品进行浏览,网站商品显示内容主要包括:商品主图、商品名称、商品价格、库存、浏览次数、商品KV图的详细介绍、已购商品的用户对于商品的评价等内容。(3)查看商品详细页的功能描述用户在网站商品列表页点击任意一款商品,会进入商品的详情
34、描述页面,包括商品的促销信息、售价、商品名称、商品描述、分享次数、收藏次数、评论条数、KV详描图等信息。方便用户可以对此商品的详细了解增加购物转化的几率。(4)网站后台商品分类为了使用户能够快速定位到想要购买的商品或类目,在本站后台设置了商品分类模块。通过后台配置分类,在分类下挂载相应商品,将配置好的分类及分类下的商品展示在购物网站前台,点击页面左侧的分类菜单,即可查询出该分类下的所属商品进行展示。(5)商品的购买流程用户定位到心仪的商品后可通过商品详情页面的“加入购物车”或“立即购买”按钮进行购买。选择商品的属性、购买数量后点击“加入购物车”按钮是将商品加入到购物车列表中;点击“立即购买”按
35、钮则是进入下单流程的订单确认页面。(6)查看购物车列表中的商品查看购物车列表中的商品,点击“购物车”链接后,系统跳转到购物车列表页,列表中会展示出历史加入购物车中的所有商品,包括有效的和失效的商品信息。(7)删除购物车中历史加入的商品如购物车中商品过多导致用户无法快速定位购买商品时,可以通过删除购物车中的历史商品来缩短查询成本。删除购物车中商品后,系统会根据剩余商品重新进行计算剩余商品的金额及促销优惠信息。(8)清空购物车中所有商品系统提供单件商品删除功能的同事也支持批量删除购物车中的商品、购物车中失效商品的删除。(9)结算订单登录后的有效用户在订单确认页面会将所购买的商品信息、购买数量、应付
36、总额、优惠减免金额、收件人信息等内容展示出来,用户核对无误后可提交订单,订单提交完成后系统会根据规则生成订单编号,此编号为唯一标识不可重复。(10)网站订单信息查询功能网站个人中心订单管理订单列表页中可通过订单编号或商品名称进行查询,查询结果展示在订单列表页中,可根据查询的订单结果查看相应订单的交易状态等信息。(11)网站搜索功能为方便用户快速定位商品信息,在商品列表页顶部设有模糊搜索功能,用户可通过关键字进行模糊搜索,搜索出的结果展示在商品列表页中,也可以通过商品列表页左侧的分类菜单进行商品的筛选。2.运营后台核心功能描述:(1)商品管理核心功能介绍:A、商品发布:在商品管理列表页添加商品,
37、新增商品时需要选择商品的所属分类、添加商品名称、商品价格、商品属性、商品KV详情描述、商品库存数、规格等基本信息,设置完成后提交发布,系统将商品信息保存到数据库中。B、商品删除:为防止误操作丢失商品数据,本站商品删除功能不做物理删除,通过改变删除标识的方法进行逻辑删除。在商品列表页的“操作”选项中单击“删除”按钮,点击确认后系统刷新页面,同时将变更的删除状态更新到数据库中,页面不再显示已删除的商品。 (2)订单管理功能描述:A、所有用户在前台提交的订单信息都会展示在后台订单管理模块中,订单列表页中按照下单时间倒叙展示所有订单信息,每页10条,系统自动进行分页。订单列表页字段主要包括:订单编号、
38、订单状态、下单时间、收货人信息、收货地址、联系方式等。点击订单编号或本条数据后面的“查看”按钮可进入订单的详情页面,展示完整的订单信息包括商品信息、个数、应付总额、实付金额、订单状态等。B、查看各种状态下的订单信息。通过订单列表页的模糊查询可精确定位到需要查询的订单,如:按照“订单状态”进行筛选可以将已发货、未发货、待付款等订单信息查询出来。不同状态的订单页面展示的内容略微不同,如已发货的订单信息会展示出当前的物流跟踪内容。(3) 后台用户管理 功能描述:A、此处描述的后台用户是指本站的运营人员,非网站前台购物的用户。针对网站后台用户信息的维护与删除,通常系统不会删除后台用户信息,此功能是为特
39、殊情况提供。B、权限维护:通常系统权限最高的管理员会将所有可登陆运营后台的账号进行角色权限的分配,分配后的用户只能看到有权限的模块。(4) 系统管理员 功能描述:系统管理员是后台权限最大的用户,管理员可以对所有后台用户的角色、权限进行分配、维护及删除。系统管理员通常对整个后台的所有功能模块均可直径修改、删除等操作,包括商品管理、类别管理、订单管理、用户管理;3.3数据流转流程(简称为DFD)数据流转是指数据从产生到转化、完结的抽象过程。数据流转流程图主要是在系统调研阶段对整个业务流转流程的分析,通过数据的流转对系统进行合理的调配及管理,在实际运营的角度出发判断整体流程的可行性、便捷性。在数据流
40、转的过程中通过彼此之间的关联关系自上而下,逐层分解,从逻辑上清晰地描述系统的具体流转过程,包括数据加工、数据输入、输出、数据存储及后续的数据来源、取消跟踪分析等。图3-1 数据流图3.4本章小结本章依据网络购物的需求首先,进行了整体功能需求分析。其次,从动态角度对功能进行刻画。明确了软件要实现的功能和要处理的数据,为软件总体设计打下了良好的基础。37第4章 总体设计4.1 购物网站前台主页设计描述对于一款购物型的网站来说,首页无疑是引入流量的重要落地页面,有这举足轻重的分量。首页设计的合理与否直接影响到前台用户的转化率。通过首页的引导及商品的展示,可以将用户引流至各个二级页面,如商品详情页、购
41、物车页面、个人中心等。完整的搜索引擎也可以方便用户快捷的定位到所需商品上,从而体现出电子商务网站的边界之初。因此,设计好一个完美的网站首页是至关重要的,这就依赖于平时的竞品分析以及工作中通过大量的时间工作来积累经验,合理分配每一个广告位的权重。本站首页设计结构图如下4-1所示: 图4-1 首页程序结构设计图在页中除了显示商品信息、用户信息、商品分类、促销展示模块等功能外,还展示了购物车、商品浏览历史、商品收藏及分享等。4.2 网站的总体功能设计图4-2功能模块结构图图4-3 功能模块结构图4.3本章小结本章依据软件需求分析中的功能和性能需求,及软件设计的基本要求,制定了针对网上购物系统特点的设
42、计要求和规范。然后,基于该设计要求,分别从系统的功能结构和逻辑架构角度进行了软件的整体设计。具体阐述了软件功能模块组成和作用、内部分层结构以及物理分布。最后,对数据库进行设计,为网上购物系统进行实际参数初始化工作做了必要的准备。第5章 数据库详细设计5.1 数据库设计5.1.1 数据库结构设计特点1. 逻辑结构的设计阶段 将概念结构转换为数据库管理系统(DBMS)所支持的数据模型结构(例如关系模型)中的一种,并对数据模型优化、完善。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后根据数据模型选择最符合需要的数据库管理系统。将E-R图转换为关系模型,实际上就是要将实体、实体的属性
43、、属性值和实体之间的转化为关系模式,转换原则如下: 1).一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。2).一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。3).一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。4).一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。5).三个或三个以上实体间的一个多元联系转换为
44、一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。 6).同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。7).具有相同码的关系模式可合并。为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化。确定数据依赖。消除冗余的联系。确定各关系模式分别属于第几范式。确定是否要对它们进行合并或分解。一般来说将关系分解为3NF的标准,即:表内的每一个值都只能被表达一次。表内的每一行都应该被唯一的标识(有唯一键)。表内不应该存储依赖于其他键的非键信息
45、。2. 数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。3. 数据库实施阶段运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库 、编制与调试应用程序、数据库试运行 4. 数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。包括:数据库的转储和
46、恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。5.1.2 数据库物理结构设计本系统数据库设计如下:表5-1 数据库表总汇表名功能说明merchandise商品表category商品类别表cart_mer购物车商品选购表cart购物车表orders订单表member注册会员表member_level会员级别表leave_word留言表shopadmin后台管理员表表5-2 商品表 merchandise_table字段名类型描述空值主键外键mer_idint(10)商品ID号非空是否cate_idint(10)商品类别ID非空否是useridint(10)系统用户ID号非空否否mer_namevarchar(40)商品名称非空否否mer_pricedouble商品价格非空否否mer_specialdouble商品特价否否mer_model varchar(40)商品型号非空否否mer_priture varchar(100)商品图片非空否否mer_desc varchar(255)商品描述非空否否mer_place varchar(60)生产厂家非空否否mer_datedate出