毕业论文基于ThinkPHP框架的中小型企业网站开发模板的设计与实现.doc_第1页
毕业论文基于ThinkPHP框架的中小型企业网站开发模板的设计与实现.doc_第2页
毕业论文基于ThinkPHP框架的中小型企业网站开发模板的设计与实现.doc_第3页
毕业论文基于ThinkPHP框架的中小型企业网站开发模板的设计与实现.doc_第4页
毕业论文基于ThinkPHP框架的中小型企业网站开发模板的设计与实现.doc_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ThinkPHP框架的中小型企业网站开发模板的设计与实现某某学院毕业论文题目: 基于ThinkPHP框架的中小型企业 网站开发模板的设计与实现 姓名: 学号: 院系: 计算机学院 专业: 软件工程 指导老师: 2015年月日摘要根据大多数中小型企业的网站建设需求分析可知,企业网站前后台主要功能都是大同小异的。这说明大多数中小型企业的网站建设核心基本上是一致的。在当今瞬机万变的市场环境中,快速高效开发是解决问题的关键。对于网站设计者来说,面对大同小异的网站建设需求,这无非就是设计一个适合大多数中小型企业网站建设模板以及企业信息管理的数据库。在快速高效开发方面, MVC模式开发可提高开发效率与质量,而ThinkPHP框架秉承了LAMP架构的优势,严格遵循MVC设计模式,使用RBAC权限机制,具有轻量级、扩展性强、等优势,它正符合以上的开发特点。通过对中小型企业的网站建设需要和面向WEB开发语言的研究,我自主研发了一个面向中小型企业的网站通用模板。该模板采用了Thinkphp+MYSQL作为技术基础进行开发。采用MVC的开发模式,模块化开发方式作为功能开发形式。本框架易于功能扩展,代码维护,具有优秀的二次开发能力,为广大中小型网站用户提供了优秀的、全方位的企业网站。因此,结合ThinkPHP框架与MySQL数据库的开发模式,建立一个面向中小型企业的网站通用模板,从而促使企业网站在开发技术上更快速与高效,也解决了中小型企业在业务更新、企业宣传、推广成本和推广设计技术上存在的难题。关键字:ThinkPHP框架,MVC设计模式,RBAC权限,中小型企业网站通用模板IVAbstractAccording to the majority of the small and medium enterprise website construction demand analysis, the main function of the enterprise website before and after is pretty much the same. This shows that most of the small and medium-sized enterprise website construction core is basically consistent. In todays instantaneous change of market environment, fast and efficient development is the key to solve the problem. For web designers, in the face of the same website construction requirements, this is to design a website construction template which is suitable for most small and medium-sized enterprise, and enterprise information management database. In the aspect of rapid and efficient development, the MVC pattern development can improve the development efficiency and quality, while the ThinkPHP framework inherits the advantages of the LAMP architecture, strictly follows the MVC design pattern, using RBAC access mechanism, has the advantages such as lightweight, strong expansibility, etc. It is conform to the above characteristics of development. Through the study of the website construction to the needs of small and medium-sized enterprises and WEB oriented development language, I developed a site generic template for small and medium enterprise. This template uses Thinkphp + MYSQL as a technology foundation for development. Using MVC development mode, modular development mode as the function forms of development. This framework is easy to expand functions, code maintenance, and it has the excellent ability of second development, which provides excellent and comprehensive enterprise website for the majority of small and medium-sized web site.Therefore, combining ThinkPHP framework and MySQL database development mode, and setting up a website for small and medium-sized enterprise general template. Thus, we can not only promote the enterprise website in the development technology more quickly and efficiently, but also solve the problem of small and medium enterprises in the business updates, enterprise publicity, promotion and popularization of design cost existing in technique.Key words: ThinkPHP framework, MVC design pattern, RBAC permissions, Small and medium-sized enterprise website general template目录摘要IAbstractII第一章 绪论11.1 互联网的起源和发展11.2 目前互联网的现状11.3 企业电子商务的兴起21.4 企业为什么要建立网站2第二章 ThinkPHP框架及相关技术32.1 ThinkPHP框架简介32.2 Mysql数据库32.3 Apache概述3第三章 需求分析53.1 技术可行性53.1.1 动态网站技术介绍53.1.2 市场可行性53.1.3 语言优势63.1.4 操作可行性63.2 软件可行性分析63.2.1 开发环境63.2.2 服务器环境73.3 项目可行性分析73.3.1 B/S模式介绍73.3.2 B/S模式的优点73.4 功能性需求83.4.1 网站前台功能83.4.2网站后台功能93.5非功能性需求103.5.1 后台界面103.5.2 前台页面10第四章 概要设计114.1 数据库设计114.1.1 数据库设计概述114.1.2 数据库需求分析114.1.3 数据库逻辑结构设计124.1.4 数据库物理结构设计184.2 系统结构设计254.2.1本网站开发模板架构方案254.2.2系统架构总统设计26第五章 详细设计285.1系统公共文件核心代码285.1.1公共配置文件及入口文件285.1.2后台权限控制实现295.2 网站管理后台305.2.1 后台总体界面305.2.2 管理员登录305.2.3用户授权325.2.4数据库备份355.2.5前台样式设置385.3 网站前台395.3.1 前台首页395.3.2 企业简介415.3.3 商品展示415.3.4 企业新闻425.3.5 旅游资源425.4 系统关键技术425.4.1 ajax异步传输425.4.2 响应式技术43第六章 系统测试466.1 测试概要466.2 测试模型466.3 功能测试466.3.1硬件配置与测试方法476.3.2具体功能测试486.3.3测试执行情况536.5 测试结论556.5.1 软件能力556.5.2 缺陷和限制55第七章 全文总结与展望567.1 本文总结567.2改进方向56致 谢57参考文献58第一章 绪论1.1 互联网的起源和发展Internet的最早起源于美国国防部高级研究计划署DARPA(Defence Advanced Research Projects Agency)的前身ARPAnet,该网于1969年投入使用。由此,ARPAnet成为现代计算机网络诞生的标志。从六十年代起,由ARPA提供经费,联合计算机公司和大学共同研制而发展起来的ARPAnet网络。最初,ARPAnet主要是用于军事研究目的,它主要是基于这样的指导思想:网络必须经受得住故障的考验而维持正常的工作,一旦发生战争,当网络的某一部分因遭受攻击而失去工作能力时,网络的其他部分应能维持正常的通信工作。ARPAnet在技术上的另一个重大贡献是TCP/IP协议簇的开发和利用。作为Internet的早期骨干网,ARPAnet的试验并奠定了Internet存在和发展的基础,较好地解决了异种机网络互联的一系列理论和技术问题。1983年,ARPAnet分裂为两部分,ARPAnet和纯军事用的MILNET。同时,局域网和广域网的产生和逢勃发展对Internet的进一步发展起了重要的作用。其中最引人注目的是美国国家科学基金会ASF(National Science Foundation)建立的NSFnet。NSF在全美国建立了按地区划分的计算机广域网并将这些地区网络和超级计算机中心互联起来。NFSnet于1990年6月彻底取代了ARPAnet而成为Internet的主干网。NSFnet对Internet的最大贡献是使Internet向全社会开放,而不象以前的那样仅供计算机研究人员和政府机构使用。1990年9月,由Merit,IBM和MCI公司联合建立了一个非盈利的组织先进网络科学公司ANS(Advanced Network &Science Inc.)。ANS的目的是建立一个全美范围的T3级主干网,它能以45Mbps的速率传送数据。到1991年底,NSFnet的全部主干网都与ANS提供的T3级主干网相联通。Internet的第二次飞跃归功于Internet的商业化,商业机构一踏入Internet这一陌生世界,很快发现了它在通信、资料检索、客户服务等方面的巨大潜力。于是世界各地的无数企业纷纷涌入Internet,带来了Internet发展史上的一个新的飞跃。1.2 目前互联网的现状Internet正以当初人们始料不及的惊人速度向前发展,今天的Internet已经从各个方面逐渐改变人们的工作和生活方式。人们可以随时从网上了解当天最新的天气信息、新闻动态和旅游信息,可看到当天的报纸和最新杂志,可以足不出户在家里炒股、网上购物、收发电子邮件,享受远程医疗和远程教育等等。Internet的意义并不在于它的规模,而在于它提供了一种全新的全球性的信息基础设施。当今世界正向知识经济时代迈进,信息产业已经发展成为世界发达国家的新的支柱产业,成为推动世界经济高速发展的新的源动力,并且广泛渗透到各个领域,特别是近几年来国际互联网络及其应用的发展,从根本上改变了人们的思想观念和生产生活方式,推动了各行各业的发展,并且成为知识经济时代的一个重要标志之一。1.3 企业电子商务的兴起进入20世纪九十年代后,Internet在商业上的应用其发展速度令人瞠目结舌。这个覆盖全球的网络以其无可比拟的优势向人们暗示着巨大的和潜在的商业利益。与传统的商业行为相比,它可提供资源丰富、迅速及时的商业信息,它的客户与市场遍及世界上每个角落,使很不起眼的小企业可以一下子变成“跨国公司”。成千上万的大小企业纷纷加入到Internet 这个神奇的淘金王国中。Internet正以惊人的速度发展,它的普及意味着企业网络时代的来临,意味着企业生存方式、组织方式、工作方式的变革。它正在为企业提供一种全新的市场概念,正在改写商业社会的规则,正在给各行各业的人们带来新的机会和挑战。未来的商业竞争就是信息的竞争,企业进入网络空间已是刻不容缓。1.4 企业为什么要建立网站很多企业由于缺乏技术人员等原因无法建立自己的网站,导致了在新的竞争形势中的失利。是否拥有自己的网站已经成为衡量一个企业综合素质的重要标志企业网站的具体作用:A.通过网站展示企业风采、传播企业文化、树立企业形象、提高企业知明度。B.通过网站可介绍企业的基本情况,使经销商和用户更多的知道您的存在。 C.通过网站可以宣传您的产品和服务的优势,让经销商和用户在比较中了解您、走近您、直到选择您。D.通过网站您可以利用电子信箱经济而又快捷地与外界进行各种信息沟。 E.通过网站您可以寻求合资与合作。2第二章 ThinkPHP框架及相关技术由于在如今互联网快速发展的时代里,讲究的是一个快字,企业的业务更新更是需要快速,因此,对于本中小型企业网站开发模板的设计与实现,我采用了在web开发方面比较流行的脚本语言PHP。而ThinkPHP是php脚本语言中一个较为流行的框架,所以,本项目采用了ThinkPHP框架、Mysql数据库和Apache服务器来开发的。2.1 ThinkPHP框架简介ThinkPHP可以更方便和快捷的开发和部署应用。其不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让Web应用开发更简单、更快速。ThinkPHP遵循Apache2开源许可协议发布,意味着可以免费使用ThinkPHP,甚至允许把基于ThinkPHP开发的应用开源或商业产品发布/销售。ThinkPHP可以支持Windows/Unix服务器环境,可运行于包括Apache、IIS在内的多种Web服务器。需要PHP5.0及以上版本支持。支持MySQL、MsSQL、PgSQL、Sqlite、Oracle等数据库。ThinkPHP是一个免费开源、快捷、简单的OOP轻量级PHP开发框架。它遵循Apache2开源协议发布。是为了敏捷的企业级开发而诞生的。获取ThinkPHP的方式有很多。2.2 Mysql数据库MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.3 Apache概述Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性(注1)被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,Perl/Python等解释器可被编译到服务器中。纵观Apache,它为我们的网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图象映射、重写URL、URL拼写检查以及联机手册man等。也就是说,如果您在Linux Server上成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副其实的Web Server,这种变化的确是激动人心的。伴随着自由软件发展的强大动力,我们有理由相信Apache的未来是一片光明的。4第三章 需求分析在开始写本开发模板需求之前,我们需要对本开发模板的可行性进行分析,如果确实可行才能继续实施,否则将会产生一些额外的损失。可行性分析的任务是从技术上、经济上、社会上、法律上分析需要解决的问题是否存在可行的解。同时也要对需要实现的功能性需求和非功能性需求做一个详细的计划,为以后的具体实施提供一个明确的方向和依据。3.1 技术可行性3.1.1 动态网站技术介绍Internet起源于20世纪60年代的美国,它在近几年迅速风靡全球,其根本原因不仅在于她拥有卓越的国际通信功能,更在于它拥有巨大的信息资源。所谓的Internet是指由分布在全世界成千上万的计算机网络遵循一定的通讯协议,并相互联系在一起而形成的国际互连网络,也就是说,Internet是建立和使用这些网络的人群、群体、公司以及各种网络资源的集合体。随着网络技术的不断发展,单纯的静态页面已经不能满足发展的需要,因为静态页面是用单纯的HTML语言组成的,它没有交互性。因此,为了满足实际的需要,许多网页文件扩展名不再只是htm、html,出现了以php、asp、jsp、shtml等为后缀的网页文件,这些都是采用动态网页技术制作出来的。3.1.2 市场可行性以前,世界上许多公司都把PHP当作是一个“高度机密,严格保密”的电脑程序语言,但是现在它已经变成最为著名的,在Web, Internet, E-commerce以及 B2B等诸多项目上应用最广泛的面向对象的脚本语言。即使是在今天,仍有许多竞争性(competing)公司把PHP当作是高度机密的东西,决不向外界(竞争对手)透露半点。PHP将如同暴风雨一般席卷整个世界,IT工业将为之震惊。PHP的力量在于它是跨平台的,可以运行在任何地方。如Linux,Windows 95/98/NT/2000/XP,Solaris,HPUX以及各种UNIX。PHP只需写一次,就可以配置在任何地方。PHP可以运行在Apache,Microsoft IIS等多种Web服务器上。PHP比Java快5到20倍!实际的比较测试显示,PHP的运行速度是Java3.7倍左右。PHP太容易使用了,你可以用它在非常短的时间里,非常迅速的开发出非常复杂的web,e-commerce和一般的单机应用程序。(在将来,PHP将会模仿Java大多数的功能,相信Java程序员也会喜欢上它。PHP将包含Java中的关键字,如class,extends,interface, implements, public,protected, private 等。)PHP具有面向对象特性,它吸收了Java, C+, PERL 和C的最优秀的部分。PHP可以说是所有脚本/编程语言中的宝石。不久,它就会成为全世界程序员的“麦加圣地”。PHP即可以运行在Window95/NT/2000/XP上,也可以运行在各种UNIX上。我们将大吃一惊PHP极有可能成为21世纪的电脑编程语言。可以使用Zend Optimizer对PHP进行编译和优化,从而使它运行的更好更快,PHP4.0中已经集成了Zend Optimizer。 首先,你在开发、测试、除错过程中,用PHP脚本语言编写你的应用程序。一旦项目完成,你便可以用Zend编译器,将PHP文件编译成运行速度更快的可执行程序。PHP的发展前景越来越好,越来越多的人会选择用PHP来设计网站,所以,PHP也许将来会是在网站界占据着领头作用。3.1.3 语言优势(1) 将内容的生成和显示进行分离使用PHP技术,Web页面开发人员可以使用HTML设计和格式化最终页面显示效果,使用PHP语言来生成页面上的动态内容,配合smarty模板引擎,将生成的内容存储在模板变量中,那么其他人,如Web管理人员和页面设计者,只需要编辑或修改模板文件就可以让网站有不同的显示效果。(2)良好的安全性PHP是开源软件,所有PHP的源代码每个人都可以看得到,代码在许多工程师手中进行了检测,同时它与Apache编绎在一起的方式也可以让它具有灵活的安全设定,PHP具有了公认的安全性能。 (3)跨平台性ASP比不上PHP的跨平台能力,PHP几乎支持所有的操作系统平台及数据库系统,正是它的这种能力让UNIX/Linux有了一种与ASP媲美的开发语言,并广为流行。(4)免费在流行的企业应用LAMP平台中,PHP、Linux、Apache、MySQL都是免费软件,降低了企业架设成本。3.1.4 操作可行性对于用户来说,本开发模板只要求使用者会打字并且能对文字做一些简单的编辑,经过仔细设计和测试之后的系统具有操作简单,方便灵活等优点,足可以满足各种用户的不同需求,同时也方便了公司的内部管理。管理人员及用户一定会在短时间内掌握并熟练使用。只要动一动鼠标键盘就可以达到想要的效果。3.2 软件可行性分析3.2.1 开发环境 操作系统:Windows 7 服务器软件:Apache 数据库:MySQL IDE:Zend Studio、EditPlus3.2.2 服务器环境 操作系统:window7 服务器软件:Apache 数据库:MySQL 53.3 项目可行性分析3.3.1 B/S模式介绍本开发模板采用B/S模式。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。3.3.2 B/S模式的优点维护和升级方式简单目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的、惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。成本降低、选择更多大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高,所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。3.4 功能性需求由于本开发模板是在开发关于广东得信利农林发展有限公司的企业网站的基础上去设计与实现的,所以,以下的功能需求是以广东得信利农林发展有限公司的需求为例。3.4.1 网站前台功能由于大多数企业的网站只要用于宣传和推广,所以基本功能如下:(1)网站首页主要包括;图片轮播、新闻列表、产品轮播、功能分区(2)关于我们主要包括:公司简介、公司历史、公司文化、公司机构(3)产品展示主要包括;产品列表、产品展示(4)新闻中心主要包括:公司新闻、行业新闻(5)旅游资源主要包括:扩展产业(6)联系我们主要包括:公司相关联系信息以下为本企业网站开发模板的功能用例图:图3-13.4.2网站后台功能本企业开发模板主要核心是在于网站的管理后台。所以其核心功能如下;(1)节点管理主要包括; 添加节点、修改节点、删除节点(2)角色管理主要包括;添加角色、修改角色、删除角色、角色分配权限(3)用户管理主要包括:添加用户、修改用户、删除用户、用户更改角色(4)界面管理主要包括;设置前台模板、内容显示,联系信息、页脚信息(5)扩展模块主要包括:数据库备份、数据库还原、垃圾清理(6)内容管理主要包括:添加内容、修改内容、删除内容、审核内容(7)栏目管理主要包括:添加栏目、修改栏目、删除栏目,设置导航(8)模型管理主要包括:添加模型、修改模型、删除模型、模型功能选择(9)控制面板主要包括:添加、修改、删除(提供二次开发)本项目的后台的使用用例图如下:图3-23.5非功能性需求3.5.1 后台界面(1) 网站后台要求结构明了,能够很容易找到想要操作的地方。(2) 后台所填选项要有清楚说明其作用、功能。(3) 每次提交操作之后要给出明确的提示,操作是否成功。3.5.2 前台页面(1)界面要美观,但又不能太复杂,内容要突出。(2)要能兼容目前主流的浏览器。(3)前台页面还使用了响应式技术,这样大大提高了用户的体验,从而达到了更好的宣传效益。58第四章 概要设计概要设计是在需求分析的基础上由抽象到具体的过程。内容包括数据库设计和系统结构设计两大部分。主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,为下一阶段的详细编码提供必要的技术资料,应符合系统性、灵活性、可靠性、经济性的要求。4.1 数据库设计4.1.1 数据库设计概述数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。4.1.2 数据库需求分析进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理)。用户需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为最基本的需求分析做得是否充分与准确,决定了在其构建数据库的速度和质量。经调查可知,由于大多数企业网站都是大同小异的,而用户的需求具体体现在各种信息的提供、存储、更新和查询方面,这就要求数据库结构能充分满足各种信息的输出与输入。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。以上面的需求分析作为设计依据,该企业网站应该有以下几个基本数据表:(1)首先是权限管理方面的数据表1、用户表:包括用户的基本信息2、用户组表:包括用户的角色信息3、用户-用户组表:包括用户的角色分配信息4、节点表:包括各个节点的信息5、节点-用户组表:包括角色的具体权限信息(2)其他基本数据表1、栏目表:包括:后台栏目及前台导航信息2、模型表:包括不同的添加内容模型3、功能表:包括添加内容的一些添加工具:上传功能、编辑器等4、内容表:包括企业新闻、商品、企业信息等5、文件表:包括商品图片、附近等6、系统表:包括系统的一些基本设置信息7、样式表:包括前台的一些样式设置信息8、配置表:包括网站的一些基本配置信息9、前台模块表:包括前台不同内容显示的模块10、前台栏目:包括前台的新闻列表、商品列表等11、前台栏目-栏目表:包括前台栏目与后台栏目的关系信息4.1.3 数据库逻辑结构设计概念结构设计是数据库设计的核心。概念结构独立于数据库的逻辑结构,也独立与所使用的具体的数据库管理系统。概念模型(E-R模型)的组成元素有:实体、属性、联系,E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。模型中的实体相当于一个实体集、一个表。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。属性是实体的性质。用椭圆框表示,与实体之间用一条线相连,表的主码是关键属性,关键属性项加下划线。各子系统模块中主键相同的字段之间存在着相互关联的关系。在程序中实现对他们的完整性和一致性控制。E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图来表示。实体是用户工作环境中所涉及的事物,属性是对实体特征的描述。在此,首先是关于权限管理方面的实体图:图4-1 用户实体图图4-2用户组实体图图4-3节点实体图下面是其他方面的实体图:图4-4栏目实体图图4-5模型实体图图4-6功能实体图图4-7内容实体图图4-8文件实体图图4-9系统实体图图4-10样式实体图图4-11配置实体图图4-12前台模块实体图图4-13前台栏目实体图本企业网站开发模板整体E-R图如下:图4-14 本开发模板整体E-R图4.1.4 数据库物理结构设计在实际设计的时候需要考虑到一些系统的性能、负载问题,所以数据库的设计要求更加细致,下面对每个表进行详细的设计,即数据字典。(1)think_access表字段类型空默认注释idint(11)否role_idsmallint(6)否node_idsmallint(6)否leveltinyint(1)否modulevarchar(50)是NULL相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id6A否groupIdBTREE否否role_idA否nodeIdBTREE否否node_idA否(2)think_column表字段类型空默认注释idint(11)否namevarchar(25)否t_idtinyint(1)否0pidtinyint(1)否0leveltinyint(1)否1urlvarchar(200)否displaytinyint(1)否0pagetinyint(1)否0jumptinyint(1)否0sorttinyint(2)否statustinyint(1)否1remarkvarchar(200)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id20A否(3)think_config表字段类型空默认注释idint(11)否namevarchar(25)否titlevarchar(50)否contentvarchar(100)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id3A否(4)think_content表字段类型空默认注释idint(11)否c_idint(11)否titlevarchar(100)否authorvarchar(25)否keywordvarchar(100)否fromvarchar(200)否date_timevarchar(11)否audit_timevarchar(11)否urlvarchar(100)否contenttext否papervarchar(400)否pingtinyint(1)否0shutinyint(1)否0hitint(11)否0linktovarchar(200)否tuitinyint(1)否0newtinyint(1)否0adverttinyint(1)否0statustinyint(1)否0相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id43A否(5)think_file表字段类型空默认注释f_idint(11)否n_idint(11)否typesmallint(6)否1是图片2是附件namevarchar(255)否titlevarchar(200)是NULLsizeint(11)否hitint(10)是0点击相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否f_id11A否idBTREE否否f_idA否(6)think_homemodel表字段类型空默认注释idint(11)否namevarchar(20)否titlevarchar(50)否pidint(11)否0remarkvarchar(200)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id9A否(7)think_node表字段类型空默认注释idsmallint(6)否namevarchar(20)否titlevarchar(50)是NULLgroup_idint(11)否statustinyint(1)是1remarkvarchar(255)是NULLdisplaysmallint(6)否1sortsmallint(6)是NULLpidsmallint(6)否leveltinyint(1)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id86A否levelBTREE否否levelA否pidBTREE否否pidA否statusBTREE否否statusA是nameBTREE否否nameA否(8)think_panel表字段类型空默认注释idint(11)否namevarchar(25)否titlevarchar(50)否statustinyint(1)否11为开启0为禁止remarkvarchar(200)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id13A否(9)think_role表字段类型空默认注释idsmallint(6)否namevarchar(20)否titlevarchar(255)否pidsmallint(6)是NULLstatustinyint(1)是NULLremarkvarchar(255)是NULL相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id2A否pidBTREE否否pidA是statusBTREE否否statusA是(10)think_role_user表字段类型空默认注释role_idint(10)否user_idint(11)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否user_id2A否group_idBTREE否否role_idA否user_idBTREE否否user_idA否(11)think_style表字段类型空默认注释idint(11)否namevarchar(25)否titlevarchar(50)否statustinyint(1)否1displaytinyint(1)否0相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id2A否(12)think_system表字段类型空默认注释idint(11)否sidint(11)否namevarchar(25)否titlevarchar(200)否typetinyint(1)否00是联系信息1是页脚statustinyint(1)否1相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id12A否(13)think_template表字段类型空默认注释idint(11)否namevarchar(25)否modelvarchar(50)否titletinyint(1)否0keywordtinyint(1)否0fromtinyint(1)否0date_timetinyint(1)否0img_nametinyint(1)否0attach_nametinyint(1)否0smalltinyint(1)否0contenttinyint(1)否0papertinyint(1)否0pingtinyint(1)否0shutinyint(1)否0linktotinyint(1)否0othertinyint(1)否0statustinyint(1)否1remarkvarchar(200)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id8A否(14)think_user表字段类型空默认注释idint(3)否m_idint(11)否3usernamevarchar(25)否passwordvarchar(50)否login_countint(11)否0register_timeint(11)否last_login_timeint(11)否last_login_ipvarchar(32)否nicknamevarchar(50)否emailvarchar(50)否statustinyint(4)否1sortint(11)否categorysmallint(11)否1是管理员0是其他remarkvarchar(255)否相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id2A否(15)think_way表字段类型空默认注释idint(11)否sidint(11)否namevarchar(25)否titlevarchar(50)否statustinyint(1)否1相关索引键名类型唯一紧凑字段基数排序规则空注释PRIMARYBTREE是否id16A否(16)think_way_column表字段类型空默认注释cidint(11)否widint(11)否4.2 系统结构设计4.2.1本网站开发模板架构方案本中小型企业网站开发模板采用现在比较流行,比较成熟的ThinkPHP 3.1.2开源框架技术。ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业级应用开发而诞生的。ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的表现。本网站开发模板体系结构如图3所示:图4-15 本网站开发模板MVC体系架构MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。ThinkPHP 也是基于MVC设计模式的。MVC只是一个抽象的概念, ThinkPHP中的MVC分层大致体现在:模型(M):模型的定义由Model类来完成。控制器(C):应用控制器(核心控制器App类)和Action控制器都承担了控制器的角色,Action控制器完成业务过程控制,而应用控制器负责调度控制。视图(V):由View类和模板文件组成,模板做到了100分离,可以独立预览和制作。4.2.2系统架构总统设计文件及窗体文件及窗体名Public公共文件夹 admin存放admin的JS、CSS等文件 home存放home的JS、CSS等文件 backup存放备份的数据库文件 uploads存放上传文件 Data存放安装的数据库文件photo存放商品图片tmp存放安装文件Admin/Home后台/前台项目文件夹 Common通用方法文件夹 Conf存储项目组配置文件 Lang项目语言存放文件夹Lib存放控制文件 Action控制方法类 Model数据库模型类 ORG框架内置方法类 TagLib标签库类Runtime缓存存放文件夹 Tpl模板存放文件夹ThinkPHP框架文件存放文件夹admin.php后台入口文件index.php前台入口文件Config.inc.php项目配置文件 第五章 详细设计系统详细设计就是按照前面进行的种种分析,把各种需求使用程序语言实现的过程。这部分将会对某些关键技术做出详细的描述,包括代码段的讲解、运行原理的细述和显示效果的展示。5.1系统公共文件核心代码5.1.1公共配置文件及入口文件本网站开发模板的数据库连接全都依赖于config.inc.php文件,这个文件对系统正常运行所需要的一些数据库连接操作,同时还有一些常量的定义。配置值DB_TYPE=mysql, /设置数据库类型DB_HOST=localhost,/设置主机DB_NAME=cbmdb,/设置数据库名DB_USER=root, /设置用户名DB_PWD=, /设置密码DB_PORT=3306, /设置端口号DB_PREFIX=think_, /设置表前缀DB_BACKUP=./public/backup/,);?本网站开发模板可通过修改该配置来连接相应的服务器下的数据库,同生也可定义一些项目中需要定义的常量。前台入口:后台入口:定义以上的入口文件,可通过定义不同的入口文件来实现怎样进入相应的前台或后台。5.1.2后台权限控制实现本网站开发模板后台使用了thinkphp中的rbac管理权限机制,后台管理员登陆须经过一系列的验证方可进入后台。权限检测接口:function _initialize() / 用户权限检查if (C ( USER_AUTH_ON ) & !in_array(MODULE_NAME,explode(,C(NOT_AUTH_MODULE) import ( ORG.Util.RBAC );if (! RBAC:AccessDecision () /检查认证识别号if (! $_SESSION C ( USER_AUTH_KEY ) /跳转到认证网关redirect ( PHP_FILE . C ( USER_AUTH_GATEWAY ) );/ 没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论