




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科学生毕业论文论文题目:基于B/S结构的家居产品展示平台的设计与实现学 院:软件学院年 级:2011级专 业:软件工程姓 名:学 号:指导教师: 2015年5月8日II摘要世界因Internet的出现而逐步改变,网络经济的雏形因此而形成。由于Internet具有容量大、方便迅速、形态多样、覆盖全球等特点。所以,国内家居网站也如雨后春笋般的大量涌现。为了实现家居信息的集中化管理,让人们更快捷地获取信息,“家居产品展示平台的设计与实现”将二者结合于一体,让用户能够通过这个平台系统最快最大地获取自己需要的信息,大大的满足了用户对家居产品的需求。本文首先阐述了家居产品平台系统研究的背景、意义与目的,接着针对系统中所用的核心技术进行介绍,然后对系统进行了需求分析并根据分析结果阐述了功能设计、数据库设计、详细设计与实现,最后列出了测试结果。本系统平台采用WAMP作为系统核心架构,采用php的流行框架CodeIgniter。前端展现部分通过Html和Css技术以及Bootstrap组件和基于Jquery的若干前端插件。相对于已有的家居系统,本系统是基于浏览器访问,无需安装任何软件,更好的满足了用户的需求,简化了客户的推销工作和系统操作。其中,系统的前台工具是Sublime Text ,后台则采用Microsoft Visual Studio(简称VS)工具,本系统具有直观浏览产品的功能,能够提高用户的体验效果,并且可以在浏览器上完成所有的操作。关键词电子商务;网站;B/S;WAMP全套设计加扣 3012250582AbstractThe world because of the Internet emergence changed gradually, thus formed the rudiment of network economy. Because Internet has the characteristics of large capacity, convenient and rapid, morphological diversity, global coverage etc. So, the domestic home sites are springing up in large numbers. In order to achieve the centralized management of home information, let people get information more quickly, home products display platform design and implementation of the integration of the two in one, let users through this platform system the most access to the information they need, can meet the needs of users of home products.This paper introduces the background, significance and purpose of platform of Home Furnishing products, the core technology used in the system according to the introduction, and then on the system demand analysis and according to the results of the analysis describes the functional design, database design, detailed design and implementation, the final list of test results.This system uses WAMP as the core system architecture, using CodeIgniter popular PHP framework. The front-end display part through Html and Css technology and the Bootstrap module and based on some front-end plug-in Jquery. Compared with the existing home system, this system is based on the browser, no need to install any software, to better meet the needs of users, simplifies the operation of customers and sales system. Among them, the front desk system tool is Sublime Text Microsoft Visual Studio, the background is used (VS) tool, this system has the intuitive browsing function of products, can improve the user experience effect, and can complete all the operations in the browser.Key wordsE-commerce;Website;B/S;WAMP目录摘要IAbstractII第一章 绪论11.1课题的研究背景与意义11.2 B/S模式国内外发展现状21.3主要研究内容21.4本文组织结构3第二章 相关技术介绍42.1系统开发技术介绍42.1.1 网页服务器Apache介绍42.1.2 数据库MySql介绍42.1.3 编程语言PHP介绍42.1.4 CodeIgniter框架介绍52.1.5 Bootstrap组件介绍52.1.6 Jquery组件介绍52.2 系统开发工具介绍62.2.1 XAMPP Control Panel62.2.2 Aptana Studio62.2.3 Navicat Premium72.2.4 FireBug调试72.2.5 Sublime Text文本编辑器72.3 本章小结7第三章 系统的需求分析83.1系统概述83.2系统功能介绍与流程分析83.3 可行性分析113.3.1 经济可行性123.3.2 技术可行性123.3.3 社会可行性123.4 本章小结12第四章 系统的概要设计134.1系统的总体设计134.1.1 开发框架设计134.1.2系统的总体流程设计144.1.3系统的功能模块设计154.2数据库设计164.2.1数据库需求分析164.2.2数据库概念设计164.2.3数据库逻辑结构设计174.3 数据库设计21第五章 系统的详细设计与实现225.1系统的总体实现原理225.2各模块的详细设计与实现225.2.1登录、注册模块225.2.2产品列表模块235.2.3 个人信息模块255.2.4 用户收藏模块265.2.5 用户搜索模块275.2.6 预约单模块285.2.7 家居百科推荐模块285.2.8 站内信模块295.3本章小结29第六章 系统的测试306.1 测试概述306.2 系统功能测试306.2.1 登陆、注册模块测试316.2.2 产品列表模块测试316.2.3 个人信息模块测试326.2.4 收藏模块测试326.2.5 检索模块测试336.2.6 预约单模块测试336.2.7 站内信模块测试336.2.8 家居百科模块测试346.3 系统性能测试346.4 系统测试问题及解决方案346.5 本章小结35结论36参考文献37致谢38iii基于B/S结构的家居产品展示平台的设计与实现第一章 绪论1.1课题的研究背景与意义B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator、Internet Explorer、Chrome或Mozilla firefox,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。互联网新技术的发展是所有这些B/S模式及其衍生形式的助推力,主要原因如下:(1)互联网的高新技术使得实现各种浏览器模式成为可能。许多模式的实施必须有技术的支持才能持久的发展和创新,比如说由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。(2)和传统平面媒体的单向传播信息不同,互联网的信息可以双向传播,从而促使各种网络模式的创新和发展,互联网的快速传播信息的优势也使信息的传播广度和传播效率大为提升。(3)信息技术和工具的成本下降也让越来越多的用户拥有了高性能计算机,高容量的数据储藏,网络wifi,宽带等设备和技术手段,浏览器(B)和服务器(S)之间的互动页变得频繁Browser/Server结构是伴随着因特网的兴起,对Client/Server结构的一种改进。从本质上说,Browser/Server结构也是一种Client/Server结构,它可看作是一种由传统的二层模式Client/Server结构发展而来的三层模式Client/Server结构在Web上应用的特例。Browser/Server结构主要是利用了不断成熟的Web浏览器技术:结合浏览器的多种脚本语言和ActiveX技术,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能,同时节约了开发成本。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。所以,系统的扩展非常容易。1.2 B/S模式国内外发展现状关于B/S模式的概念、商业内涵和演进路径没有统一的认识。B/S 模式特征案例:OA系统对于Office软件的一个最基本要求就是能嵌入浏览器。通常OA系统是用Java实现的系统,能通过Applet方式无缝地在浏览器中运行,同时具有公文模板套用、痕迹保留、公文域、电子签章等常用功能,能够快速实现该OA系统中的功能替代。无论是在JSP还是ASP的页面中,都可以通过JavaScript来调用Applet的方法,通过Applet的方法再调用永中集成Office的API来完成对Office的操作。对于基于J2EE架构的OA系统,嵌入和调用永中集成Office更是如鱼得水,十分便捷。B/S的发展是互联网的必然结果。由于这种结构不再需要专用的客户端软件,因此也使技术维护人员从繁重的安装、配置和升级等维护工作中解脱了出来,可以把主要精力放在服务器程序的更新工作上。优点还包括,维护和升级方式简单,当前软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。成本降低,选择更多,大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。1.3主要研究内容本系统的设计与实现是基于B/S模式的家居产品展示网站。本系统将包括管理员、用户两种身份用户。将包含的模块功能有用户管理、产品管理、站内信、家居百科。(1) 用户管理此模块主要完成的功能包括管理员和用户的登陆与注册、用户的个人信息修改,管理员对用户个人信息查看和删除处理。其中用户和管理员可采用相同入口登陆,系统根据输入的身份进行验证,分别进入平台首页或是管理系统首页。(2) 产品管理此模块主要在于管理用户个人需求。产品的展现运用现在流行的大图片展现方式,能够直观的展示产品,明显提升用户体验。用户对于产品有四种处理方式,即检索产品、收藏、评论、回复、加入预约单。检索需求是指用户根据需求输入关键词搜索产品,系统根据关键词进行产品表的模糊查询、收藏需求主要通过用户对感兴趣的产品快速保存;评论需求是对某个需求有各自的见解;回复需求的内容按照时间顺序排序展现给发布者;加入预约单则是完成用户的预约需求。(3)站内信此模块主要是支持用户对某个需求进行一定的评论而引起的话题讨论,有助于用户各抒己见,让管理员更好的了解用户需求。(4)家居百科此模块主要完成系统管理者对用户提供一些家居常识以及最新产品预告的推荐,能够增加用户的粘度和网站的实时性。1.4本文组织结构本文的其它章节安排如下: 第二章 相关技术介绍(主要阐述系统在设计和开发过程中使用的前后台技术) 第三章 系统的需求与分析(首先对整个系统的进行整体描述,分析系统流程,对系统的各个模块进行了用例分析,并提出对系统的性能需求。) 第四章 系统的设计(包括系统的总体设计、功能模块设计、流程设计、数据库设计。目录结构设计。) 第五章 系统的实现(简介系统实现基本原理,针对系统的各个功能模块逐一实现。对系统架构的总体实现。) 第六章 系统的测试(包括系统测试、功能测试等等,记录发现的问题并解决。最后进行论文的总结。) 最后是结论和参考文献。第二章 相关技术介绍2.1系统开发技术介绍WAMP 是 Windows+Apache+Mysql+PHP 的标注缩写1。Windows操作系统,网站服务器Apache,Mysql数据库和PHP程序模块的组合,形成一个基于B/S网站数据库的开发平台。优点在于WAMP的组合不仅操作简单,学习成本较低,而且安全性高,运行速度快,易于维护。2.1.1 网页服务器Apache介绍Apache是使用排名第一的web服务器软件,由于其跨平台和安全性被广泛使用。它快速、可靠并且可通过简单的API扩充,将Perl/Pytho等解释器编译到服务器中。它的成功之处主要在于源代码开放、有一支开放的开发团队、支持跨平台应用5。2.1.2 数据库MySql介绍Mysql是一个关系型数据库管理系统,由瑞典MySQL AB公司开发。在Web应用方面是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一,可以与Apache等服务器集成在一起使用。它不仅体积小,速度快,开放源代码,可移植性强,而且支持多种操作系统,为多种语言提供API,支持多线程,具有优化的SQL查询算法5。2.1.3 编程语言PHP介绍PHP(Hypertext Preprocessor,超级文本预处理语言)是一种通用开源脚本语言。它吸收了C语言、Java和Perl的特点,方便学习,主要适用于Web开放领域。用PHP 做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。2.1.4 CodeIgniter框架介绍CodeIgniter 是一个简单快速的PHP MVC框架,是Web网站开发者经常使用的开发框架和工具包。提供一套丰富的标准库以及简单的接口和逻辑结构,使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。CodeIgniter是由Ellislab公司的CEORickEllis开发的。其核心框架是为这个程序特别编写的,而其他很多类库、辅助函数和子系统则来自于RickEllis和PaulBurdick编写的内容管理系统ExpressionEngine5。2.1.5 Bootstrap组件介绍Bootstrap 是目前最受欢迎的前端框架,它是基于HTML、CSS、JAVASCRIPT的。提供了丰富的 Web 项目中需要的组件,如基本的模块 - Grid、Typography、Tables、Forms、Buttons 和 Responsiveness。此外,还有大量其他有用的前端组件,比如 Dropdowns、Navigation、Modals、Typehead、Pagination、Carousal、Breadcrumb、Tab、Thumbnails、Headers 等等7。提供了优雅的HTML和CSS规范,即是由动态的CSS语言Less写成。2.1.6 Jquery组件介绍Jquery是一个轻量级的js库 ,它不仅兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器7。Jquery是免费、开源的,使用MIT许可协议,提供API让开发者编写插件。它的语法设计可以使开发者更加快捷,例如操作文本对象、选择Dom元素、制作动画效果、事件处理、使用Ajax以及其他功能。其模块化的使用方式使开发者可以更好地进行代码维护和编辑,开发出功能强大的静态或动态的网页。 2.2 系统开发工具介绍2.2.1 XAMPP Control PanelXAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包,易于安装和设置,并且包含很多有用的软件包,可以简化诸如生成流量报告和加速 PHP 内容之类的任务。2.2.2 Aptana StudioAptanaStudio是一个基于Eclipse的集成式Web开发环境,其最广为人知的是它非常强悍的JavaScript编辑器和调试器。Aptana Studio可以支持多种AJAX和JavaScript工具箱,包括JavaScript编辑和调试8。Aptana Studio支持如下8大方面的开发功能:(1)智能代码完成相对于其他类型的语言,JavaScript 的智能代码完成部分功能往往较弱,总是给人提示不全的感觉。Aptana Studio 提供的智能代码完成功能不仅涵盖 JavaScript 语法,还包括HTML 和 CSS 。(2)浏览器兼容性提示对浏览器前端开发人员而言,自己开发出来的脚本是否能跨浏览器运行无疑是首要考虑的问题。Aptana Studio 深谙这一需求,在开发阶段便尽量扼杀浏览器兼容性隐患:在 JavaScript 的每一个属性或方法提示之后,均会跟随该属性或方法适用于的浏览器类型。(3)代码错误提示Aptana Studio 的代码错误提示非常准确,可以用“一个都不能少”来形容。(4)文档结构树很多开发人员偏爱 Firefox 的原因在于,Firefox 内置了一些有利于开发人员的功能,如错误控制台(Error Console)、DOM 查看器(DOM Inspector)。Aptana Studio 也提供了类似 DOM 查看器的工具来帮助分析页面文档的层次结构。2.2.3 Navicat PremiumNavicat是一个强大的MySQL数据库管理和开发工具。用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库移转到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Navicat 支援 Unicode,以及本地或遥距 MySQL 伺服器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等9。2.2.4 FireBug调试Firebug是firefox下的一个插件,能够调试所有网站语言,如Html,CSS等,用firebug你可以在任何一个页面上 edit, debug, and monitor CSS, HTML, and JavaScript ,甚至可以动态修改DOM树和CSS。其主要功能有:跟踪HTML,很容易找到页面上的某一个区域的HTML在哪里;js断点调试;css调试;dom树分析;网络检测,跟踪每一个请求,可以查看请求和响应的所有内容,可以帮你发现性能瓶颈,同时也是一个很好的hack工具和ajax调试工具。2.2.5 Sublime Text文本编辑器Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器。Sublime Text是在2008年1月份所开发出来,它最初只是被设计为一个具有丰富扩展功能的VimSublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,PHP的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查、书签、完整的 PHP API、Goto功能、即时项目切换、多选择、多窗口等等。 2.3 本章小结本章对家居展示平台的设计与实现所用技术进行了简单的介绍,对于系统的构成进行了初步的描述,对于技术的掌握更进一步。第三章 系统的需求分析3.1系统概述B/S家居产品展示平台系统主要是作为展示平台, 以用户为中心, 作为用户和企业之间的桥梁为用户提供服务。本系统主要实现了用户和管理员的登录和注册、用户个人信息管理、产品信息管理、浏览产品列表信息、产品详情展示、产品检索、产品评价、产品收藏、加入预约单、站内信的管理、家居百科推荐等功能,功能强大,性能优越,为用户和企业提供了较为完善的管理平台。本系统主要工作流程图如图3-1 所示。图3-1 系统工作流程图3.2系统功能介绍与流程分析本系统主要实现了用户管理、产品管理、站内信社交、家居百科推荐的一系列功能。其中包括用户登陆注册、浏览产品信息、收藏产品、评价产品、站内提问与回答、浏览家居百科推荐的功能。具体功能描述如下:(1) 用户管理根据存入数据库中的身份信息判别用户身份,完成用户的登陆操作。如果用户输入非法账号,提示“该账号未注册”,且提示是否跳转到注册页面。如果用户输入账号密码正确且为合法用户,页面跳转到网站首页,该用户具有浏览产品、收藏产品、评论产品、取消收藏及修改个人信息等权限。如果用户输入账号密码正确且为合法管理员,页面跳转到管理首页,具有产品分类,产品更新、用户信息查看、评论及收藏信息管理、家居百科管理、站内信管理等权限。用户和管理员的具体用例图见图3-2,3-3。图3-2 用户管理功能用例图图3-3 管理员管理功能用例图(2) 产品管理管理员可增加、修改、删除、查看产品,针对产品收藏、评论和预约单可进行删除操作。而用户可浏览产品,检索、收藏、评论产品及取消收藏和加入预约单操作。为提高用户的体验,页面提供多出快捷入口,方便用户快速找寻所需所求。为达到数据实时更新的效果,每次将进行数据重取渲染。根据用户的身份判别,用户和管理员的具体用例图见3-4,图3-5。图3-4 用户管理产品用例图图3-5 管理员管理产品用例图(3) 站内信社交用户合法登陆进入网站首页,首页最上面及右上角下拉框处展示索引链接“站内信”,点击便可进入到站内信页面,可以浏览到所有用户提交的站内信留言。管理员只有查看和删除的操作。用户的具体用例图3-6。图3-6 用户管理站内信功能用例图(4) 家居百科推荐用户合法登陆进入网站首页,首页最上面及右上角下拉框处展示索引链接“家居百科”。用户进入百科首页,可以查看所有管理员上传的家居百科信息。管理员的用例图见图3-7。图3-7 管理员管理家居百科用例图(5) 产品收藏和评论用户合法登陆,在产品详情页,用户可以完成收藏和评论的功能。用户点击收藏按钮,即可执行收藏操作,在收藏列表页可以进行查看和取消收藏操作。用户可查看评论的历史记录,然后直接提交对产品的评论。为增加平台的正规性,管理员可对一些存在恶意语言的用户评论实行删除操作。所以,管理员可以进行查看记录和删除记录的操作,是直接操作数据库中的数据,所以不可以还原。(6) 产品信息检索用户在首页可通过检索框输入关键词query进行产品的检索展示。系统则根据用户输入的query在数据库产品表中的类别、标题、内容字段进行模糊查询。将符合查询的结果输出到页面上供用户查看。(7) 加入预约单用户只有合法登陆到平台才可用,用户通过首页查看产品列表进入产品详情页,可以通过点击添加预约按钮出现填写预约信息框,提交后,管理员即可进行下单操作,并可反馈给用户进程信息。3.3 可行性分析在我们开发一个项目或者系统之前,一定要对这个项目或者系统进行可行性的分析。可行性的分析是对于一个项目从整体,全面的考虑各项因素是否满足要求,它的目的是为了确保整个项目的存在的意义和价值。可行性的分析保证项目在开发的过程中是否有必要开发某一个模块或者某一个子系统,能够进一步明确项目的规模和具体功能。3.3.1 经济可行性经济可行径分析,一般包含两个方面:第一个是项目开发过程中所需的资源或是设备能否满足实现;第二方面是开发项目过程中的花费,在项目完成后可以获得预期或是更多的回报。我们应从成本与经济效益两方面考虑经济可行性。经济可行性是项目在开发过程的花销以及后续的预算,确定系统开发的价值。对于家居产品展示平台来说,主要的资源分为硬件和软件两方面:对于硬件来说,普通的开发用笔记本即可;软件资源也可以说是学习资料的搜集与整理,所以本系统的投资不是很多,因此开发在经济上是可行的。针对后期预算部分也是跟开发相仿。3.3.2 技术可行性在开发本系统之前,对于所应用的技术来说,已经掌握的技术有:javascript,css,html,jquery;未掌握的知识有:php,bootstrap,mysql技术。其中对于数据的处理与存储,也就是后台逻辑部分完全是没有接触过的知识。经过查阅资料,选择了navicat premium作为数据库存储软件。系统开发环境为高级记事本sublime text 文本编辑器,数据库方面则采用php和mysql的方式进行数据处理。学习成本也没有预期的那么高,所以在技术上是可行的。3.3.3 社会可行性在21世纪计算机已经成为人们不可或缺的工具,互联网也走进千家万户。网络的授课与交流能够促进使用者学习的动力,有助于理解和加深印象,良好的用户体验与直观大方的界面能够让用户在使用系统的时候更加的突出重点,所以,该系统具有一个有前景、成熟的市场,因此在社会资源上是可行的。3.4 本章小结本章介绍了系统的需求分析,包括各个模块的需求分析,决定了整个系统的主体功能,并且进行了调研,从多方面分析了系统的可行性。第四章 系统的概要设计本系统为基于B/S的家居产品展示平台,可以实现用户和管理员的的注册和登录、产品浏览、产品评价、产品收藏以及个人信息和产品的管理功能等。为提高用户的体验度,系统增加了现在WEB网站流行的轮播图、多级tab索引、缩略图等前端特效。4.1系统的总体设计4.1.1 开发框架设计系统采用CodeIgniter基于面向对象思想下MVC模式的开发框架,将业务逻辑、页面模板、数据处理进行分离,极大的降低了开发和维护的成本。 CodeIgniter框架采用单一入口模式,index.php 为前端控制器,初始化运行需要的基本资源,Router 用来 HTTP 请求,并给出响应。如果缓存(Cache)文件存在,将直接发送到浏览器。在应用程序控制器(Application Controller)装载之前,HTTP 请求和任何提交操作的数据将被过滤。控制器(Controller)用于装载模型、核心库、辅助函数,以及任何处理特定请求所需的其它资源。最终视图(View)渲染发送到 Web 浏览器中的内容。如果开启缓存(Caching),视图首先被缓存,所以将可用于以后的请求进行使用。如图4-1 所示,将清晰的介绍系统的整体架构。图4-1 系统架构图4.1.2系统的总体流程设计系统是基于B/S模式下的WEB 系统网站。用户可以通过浏览器作为客户端访问远程WEB服务器端,通过返回的资源渲染到本地浏览器。通过在浏览器的地址栏内输入服务器的IP地址或域名地址,便可访问网站首页,在网站首页新用户可以手动注册账户,成功注册后跳转到登陆页面,输入正确的账号密码,校验用户身份,分为用户和管理员,校验成功后进入登陆后的首页或是管理员首页。否则,验证失败留在登陆页面,并提示错误信息。见图4-2。图4-2 系统登陆注册流程图用户进入平台首页后,主要可以完成的功能包括用户个人信息修改,查看产品列表,评价产品,收藏和预约产品,站内信留言,查看家居百科推荐。具体流程如图4-3。图4-3 用户总体流程图管理员主要可以完成的功能包括用户个人信息查看与删除,产品分类管理,产品增删查操作,评论管理,收藏和预约管理,站内信统计,家居百科管理等功能。如图4-4。图4-4 管理员总体流程图不同用户身份之间无法通过操作达到另一类用户操作的功能,从而保证了系统的安全性和用户之间的功能分离。4.1.3系统的功能模块设计根据系统以及总体流程的设计,主要分为如下几大功能模块:(1)登录注册模块:主要实现的功能包括用户的注册,不同用户身份登录的验证判定,并且要保证登录功能的实现以及用户在退出登陆态的操作。 (2)产品列表展示模块:主要包括产品信息的轮播和缩略图展以及产品分类别标签标注,用户可进行基本的检索、评论、收藏、取消收藏和加入预约单操作。管理员则是进行基本的增删改查操作。(3)个人信息修改模块:主要包括密码的重置操作,以及基本信息的更替。管理员增加了删除用户的权限。(4)站内信模块:主要展现用户针对平台或是产品提供的建议。(5)家居百科推荐模块:主要是平台针对家居常识或是最新的资讯进行推荐展示。系统ER图如图4-5.图4-5 系统ER 图4.2数据库设计数据库设计是对于一个给定的应用环境,构造高效的数据库模式,不仅仅存储数据,满足用户的应用需求,而且要满足系统的高效运行。本系统根据系统的整体流程设计和数据结构需求,以及各模块需要完成的相关功能上的需求,进行了数据库的整体设计。4.2.1数据库需求分析家居平台系统的数据存储根据模块分为8类:用户及管理员资料信息、产品信息、产品分类信息、产品收藏信息、产品评论信息、预约单信息、站内信信息、家居百科推荐信息等类,其中产品的图片另存在缓存文件中,在数据库表中通过路径方式进行存储,这不仅仅减少了数据库的负载,而且方便数据的整理和替换。4.2.2数据库概念设计表结构成为数据库的基础,所以系统的数据库中按照各个模块和各个级别数据格式需要建立多个数据表存储相应的数据信息,各个数据表都是以用户或需求为主体,各个表之间利用表的唯一ID作为主键、其他信息通过表结构的字段进行区分,方便系统对数据进行抓取和操作。4.2.3数据库逻辑结构设计本系统采用MySQL 数据库形式,根据系统的设计进行数据库表结构的建立,为提高系统数据库性能避免产生问题,对数据库的逻辑进行了设计。其中数据库ER图如4-6。图4-6 数据库ER 图其中表划分及功能如下:1.账号信息表(t_user):主要用于用户登录、注册,身份权限的验证,个人信息的存储。 2.产品信息表(t_prod):主要用于家居产品信息的基本存储、信息查询、信息修改以及新产品信息的上传。 3.产品分类表(t_type):主要用于管理员对上传产品进行分类,以及用户在执行检索操作时提供数据。 4.产品收藏表(t_collect):主要用于存储用户的收藏信息。 5.产品评论表(t_comment):主要用于存储用户针对产品的评论信息,以及针对评论的回复。 6.预约单表(t_buy):主要用于存储用户加入预约单的信息,方便管理员统计预约信息,完成产品预约流程。 7.站内信表(t_letter):主要用于存储用户针对系统或产品的意见或产品建议,方便管理员统计反馈信息。8.家居百科推荐表(t_info):主要用于存储管理员上传的家居百科信息。 其中数据库表结构见表4-1:表4-1 数据库表结构NO表明第五种1t_user用户、管理员表2t_prod产品信息表3t_type产品分类表4t_collect产品收藏表5t_comment产品评论表6t_letter站内信表7t_infor家居百科推荐表8t_buy预约单表 其中各级表结构及字段信息见下表:用户表结构包括数据主键,用户名,密码,电话,地址,注册日期,身份标记(区别用户和管理员)等。用户表结构如表4-2所示。表4-2 用户表NO字段名类型名称是否为空说明1user_idint(50)否用户表主键2user_namevarchar(100)否姓名3user_pwdint(50)否密码4user_telvarchar(50)是电话5user_addvarchar(100)是地址6reg_datadatetime是注册日期7identityint(10)否身份标识产品信息表结构包括产品信息主键,产品名称,产品图片地址,产品类别ID,收藏数目,产品描述,上传时间,产品小图地址,其中产品的小图用于首页及列表页的产品缩略图展示,如表4-3所示。表4-3 产品信息表NO字段名类型名称是否为空说明1prod_idint(50)否产品信息表主键2prod_namevarchar(100)否产品名称3prod_picvarchar(255)否产品大图4type_idint(50)否产品分类id5collect_numint(100)否收藏数目6prod_contentvarchar(500)否产品描述7prod_datadata否上传日期8prod_pic1varchar(255)否小图19prod_pic2varchar(255)否小图210prod_pic3varchar(255)否小图3产品分类信息表结构包括分类信息主键,分类名称,分类上传时间,此表也作为关联信息多次使用。如表4-4所示。表4-4 产品分类信息表NO字段名类型名称是否为空说明1type_idint(10)否分类信息外键2type_namevarchar(50)否分类名称3type_datadatetime否上传时间产品收藏表结构包括产品收藏主键,用户ID,产品ID,收藏提交时间,如表4-5所示。表4-5 产品收藏信息表NO字段名类型名称是否为空说明1collect_idint(50)否收藏信息主键2user_idint(50)否用户id3prod_idint(100)否产品id4collect_datadatetime否收藏时间产品评论表结构包括评论表主键,评论内容,提交评论时间,产品ID,用户ID,如表4-6所示。表4-6产品评论信息表NO字段名类型名称是否为空说明1com_idint(100)否评论主键2com_contentvarchar(100)否评论内容3com_datadatetime否评论时间3prod_idint(50)否产品id4user_idint(50)否用户名id预约单表结构包括数据主键,预约时间,预约地址,订单状态,订单信息,反馈信息,产品ID,用户ID,用户电话,添加预约单时间,如表4-7所示。表4-7预约单信息表NO字段名类型名称是否为空说明1buy_idint(100)否数据主键2order_timevarchar(100)否预约时间3buy_statusint(10)否订单状态4buy_infovarchar(50)否订单信息5buy_datadatetime否添加时间6prod_idint(50)否产品id7user_idint(50)否用户名id8user_addint(50)否预约地址9user_phonevarchar(100)否预约电话站内信表结构包括站内信主键,用户ID,回复内容,回复时间,如表4-8所示。表4-8站内信表NO字段名类型名称是否为空说明1letter_idint(100)否站内信主键2user_idint(100)否用户id3letter_contentvarchar(200)否回复内容4letter_datadatetime否回复时间家居百科推荐表结构包括百科主键,内容,上传时间,标题,如表4-9所示。表4-9家居百科推荐表NO字段名类型名称是否为空说明1info_idint(100)否百科主键2info_contentvarchar(500)否内容3info_datadatetime否上传时间4info_namevarchar(100)否标题4.3 数据库设计本章介绍了系统的总体设计,包括数据集合的设计,功能的模块化设计。主要模块包括用户和管理员的个人信息处理、产品模块、预约模块、站内信模块、家居百科模块等设计。第五章 系统的详细设计与实现5.1系统的总体实现原理系统采用CodeIgniter开源框架,基于面向对象思想下MVC模式的开发架构。其框架将业务逻辑、页面模板、数据处理进行分离,极大的降低了开发和维护的成本。CodeIgniter框架是单一入口模式,调用域名下的.htaccess配置文件,请求都默认执行index.php,根据url地址,转向controller文件,从而处理用户的请求,渲染页面。页面渲染所用技术主要包括html和css,页面的交互效果主要是通过javascript,数据操作主要是php语言和mysql数据库,最后将页面和数据展现在用户面前。根据系统开发者的需求,可以在配置文件中自动的进行文件配置,免去在使用时才添加配置问价的烦恼,并可在为执行到的前提下,检查到是否有报错信息。5.2各模块的详细设计与实现5.2.1登录、注册模块用户在未登陆,即游客身份时,可以进入网站首页可进行产品浏览、产品详情、浏览站内信和家居百科。登陆成功后通过身份校验,将进入到首页或是管理员首页。用户可以可以收藏、评论、发布留言等功能,而管理员则可进行增删改查操作。如果用户没有进行注册就进行登录操作,将会提示注册,用户注册后进入登陆页,登录成功后才可进行操作。具体流程如图5-1。 图5-1 登陆注册功能实现流程登陆与注册功能系统截图如图5-2,图5-3。图5-2 登陆功能页面 图5-3 注册功能页面5.2.2产品列表模块主要包括首页产品展示、产品列表展示、产品详情展示、产品收藏,产品评价等功能。首页产品展示采用冲击力强的大图轮播效果,主要采用JS代码进行交互效果操作。具体流程如图5-4。图5-4 产品列表模块流程图根据用户的操作,通过js监听机制做出快速响应,首页产品展示如图5-5,产品列表展示如图5-6,产品详情展示如图5-7。图5-5 首页产品展示页面 图5-6 产品列表展示页面图5-7 产品详情页面其中产品详情页可以进行用户的收藏和评论的操作,评论可多条提交,收藏只能提交一次,取消收藏则只能到收藏列表中进行操作。5.2.3 个人信息模块用户合法登陆后,可通过首页进入个人信息页面。根据系统存储的中的用户关键信息,后台Codeigniter框架可连接到数据库,查询出用户的整体个人信息以及收藏列表,将查询到的数据渲染到前端页面。具体流程如图5-8。图5-8 个人信息功能流程图个人信息页面展现形式如图5-9。图5-9 用户个人信息页面5.2.4 用户收藏模块用户合法登陆后,可通过产品详情页的收藏按钮,执行收藏信息操作。在页面当中设置多处入口可进入收藏列表页,点击列表中产品也可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国庆节慰问信
- 2025年核探测元器件项目发展计划
- 2025年韶山事业单位真题
- 2025北京市公安局东城分局招聘勤务辅警122人模拟试卷及参考答案详解
- 2025广西百色市平果市人力资源和社会保障局城镇公益性岗位人员招聘1人考前自测高频考点模拟试题有完整答案详解
- 2025湖南湘潭湘乡市教育局公开招聘公益性岗位人员2人模拟试卷及答案详解(考点梳理)
- 2025安徽合肥滨投文化创意发展有限公司招聘3人模拟试卷附答案详解(考试直接用)
- 2025年山东工程技师学院公开招聘人员(9名)模拟试卷参考答案详解
- 2025第十三届人才博览会贵阳市公共卫生救治中心引进高层次人才18人考前自测高频考点模拟试题及参考答案详解一套
- 商铺店面租赁合同
- 2025年度火锅店合伙人合作协议书:特色火锅底料配方保密协议
- 岗位化验员述职报告
- 2023年价格鉴证师考试《价格鉴证案例分析》试题真题及答案二
- 2025年中信保诚人寿保险有限公司招聘笔试参考题库含答案解析
- 我的家乡沧州
- 两人合伙经营网吧协议
- 【课件】纪念长津湖吾辈当自强!课件 -2024年12.24纪念抗美援朝主题班会
- 2023-2024届高考语文复习小说专题训练(含答案)-李存葆《高山下的花环》
- 门式钢结构安装施工方案
- (完整版)个人简历模板大全(60种)
- 2024-2025学年高一英语初高中衔接:音标+衡水体书写 教学设计
评论
0/150
提交评论