WEB课程设计报告样板_第1页
WEB课程设计报告样板_第2页
WEB课程设计报告样板_第3页
WEB课程设计报告样板_第4页
WEB课程设计报告样板_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、. . . . 航空大学信息工程学院课程设计说明书课程名称:WEB课程设计 设计题目:房屋租赁管理系统 专业:班级: :学号:评分:指导教师:2010 年 6月25日36 / 40基于PHP的房屋租赁管理系统摘要:21世纪,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。如何通过网络有效进行交流是摆在我们面前的一个新领域。本文阐述了如何构造一个基于PHP的房屋租赁管理系统,对B/S结构、PHP技术以与MySQL原理进行了较深入的论述。阐述了对房屋租赁管理系统的需求分析、功能模块划分、数据库模

2、式分析,功能模块的实现过程。在此基础上,对所应用的关键技术进行描述。最后,对程序调试与调试结果进行论述。本文在研究目前国外房屋租赁管理系统情况的基础上,从实际需求出发,采用当前较为流行的PHP动态网页开发技术,基于Windows 2003操作系统和MySQL数据库环境,设计并实现了一个功能较为完善的房屋租赁管理系统。通过对系统进行一系列的需求分析、设计、编码、测试等工作。该系统普通用户可以浏览、查看房屋信息,也可以注册成为会员、登录,然后发布个人房屋信息,还可以查看该的新闻公告等;管理员可以对会员、房屋信息以与的新闻公告进行管理。本文重点对系统设计过程做了相应描述,同时也对系统需要改进的地方做

3、了总结。关键词:房屋租赁,管理系统,PHP,MySQL 目 录1绪论11.1课题研究的背景介绍11.2系统开发环境与开发平台介绍11.2.1系统开发环境11.2.2系统开发平台简介22系统开发技术介绍32.1 系统的B/S结构32.1.1 B/S结构简介32.1.2 B/S架构软件的优势与劣势32.1.3 B/S框架与C/S框架的联系与区别42.2 PHP技术概述62.2.1 PHP简介62.2.2 PHP技术的强势与弱势分析62.2.3 PHP动态开发技术82.3 MVC与Struts介绍82.3.1 MVC介绍82.3.2 Struts介绍103 系统分析113.1任务描述113.2用UM

4、L用例图描述系统需求113.2.1用例图简介113.2.2系统用例分析123.3功能分析124 系统的设计与实现144.1数据库的设计与实现144.1.1数据库MySQL简介144.1.2数据库结构设计144.1.3数据库加载和调试184.1.4操作数据库194.2功能模块的设计与实现204.2.1系统注册模块204.2.2系统登录模块214.2.3普通用户功能模块234.2.4管理员功能模块254.2.5信息发布模块264.2.6信息查询模块285 系统测试与维护295.1系统测试295.2系统维护315.2.1维护容315.2.2维护方案316 结论33参考文献34致35基于PHP的房屋租

5、赁管理系统1绪论1.1课题研究的背景介绍 说到房屋租赁,我们首先想到的就是房屋中介,但是不论对于房屋出租者还是对于求租者来说,要面对的各种问题实在让人头疼。随着社会经济的发展,城市现代化建设步伐不断加快,城市规模不断扩大,人员的流动也不断加大,房屋租赁逐渐成为社会生活的重要组成部分。无论是房屋出租还是房屋求租,都面临着大量需求。首先是琳琅满目的中介公司让人感到无从选择,在要顾与中介单位可信度的同时,大量复杂的房产信息使他们感到迷茫,难以快速、准确地从中找到适合自己的房屋信息。再者,出租、承租双方进行交易的时候还要通过中介,使交易过程更加繁琐。而且中介单位还要收取的一定比例的中介费用,这也在一定

6、程度上加重了房屋承租者的负担。因此,现实社会中急需一个第三者为房屋出租者与房屋求租者牵线搭桥,来弥补中介单位的种种不足。在互联网蓬勃发展的今天,网络和我们的生活、工作越来越密不可分,网络正领导着一个新时代的来临。于是我们就利用开放的Internet技术,开发出实时、快捷、全方位传播信息的平台,我们制作的房屋出租管理系统的,就成了人们关于生活中住房问题的信息载体,使得房屋信息在出租者与求租者之间传播更为轻松。这样,使原本复杂的房屋信息简单化。系统能与时为他们提供服务,使出租求租双方都能够方便快捷的得到信息。通过本系统来管理房屋出租情况,可以解决大量房屋信息的查询和管理、便于房屋出租者更好的发布其

7、房屋信息,同时也为租房者提供方便。1.2系统开发环境与开发平台介绍1.2.1系统开发环境硬件环境1)CPU:Intel 酷睿2双核 P8700;2)存:4GB;3)硬盘:320GB.。软件环境1)操作系统:Windows XP;2)数据库:MySQL;3)开发工具:Editplus;4)PHP服务器:WAMP5-v1.7.4;5)浏览器:chrome。1.2.2系统开发平台简介1)系统开发平台本系统开发语言选用PHP,所以采用Editplus为主要开发工具,然后结合Dreamweaver,phpmyadmin与Windows XP操作系统进行。既考虑了系统的需求,又兼顾了运行的效率,以与今后系

8、统的功能拓展等。2)Editplus简介首先,EditPlus是一套功能强大的文本编辑器。它拥有无限制的Undo/Redo功能,让你不再为一步误操作而后悔不已;其强劲的英文拼字检查、自动换行、列数标记、语法高亮显示、垂直选择、搜寻功能,让你全面体验记事本所没有的超强功能;它可以同时编辑多种文件类型,轻松做到“一旦拥有,别无所求”;另外还有全屏幕浏览功能;特别值得一提的是,它的监视剪贴板的功能,能同步于剪贴板自动将文字贴进EditPlus的编辑窗口中,让你省去粘贴的步骤。其次,EditPlus还是一个好用的(X)HTML编辑器。在EditPlus中设计网页和编辑一个文档没什么两样。单击“File

9、”“New”“HTMLPage”,就可以打开“HTML页面编辑器”窗口,使用它所提供的工具就可以直接进行网页的编辑与创作。EditPlus除了可以对你直接输入的文字用颜色标记HTMLTag(同时支持C/C、Perl、Java)外,还建了完整的HTML和CSS1指令功能,你甚至可以一边编辑一边“浏览”(CTRLB)页面效果。对于习惯用记事本进行网页编辑的网友们来说,它可以帮你节省一半的网页编辑时间。再次,EditPlus其他比较好用的功能包括:可以设置工程并进行多文件查找;代码片断;自动完成;设置标记方便跳转。2系统开发技术介绍2.1 系统的B/S结构2.1.1 B/S结构简介B/S结构:(Br

10、owser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。 客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。B/S模式体系结构的原理如图2.1所示,浏览器通过Web Server 同数据库进行数据交互。Web浏览器Web服务器应用服务器 请求HTML界面结果SQL请求数据库服务器图2

11、.1 B/S模式体系结构原理图B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。2.1.2 B/S架构软件的优势与劣势维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需

12、要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windo

13、ws并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。应用服务器运行数据负荷较

14、重。由于B/S架构管理软件只安装在服务器端上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端完全通过WWW浏览器实现,极少部分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.1.3B/S框架与C/S框架的联系与区别C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、 Informix或 SQL Server。客户端需要安装专用的客户端软

15、件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。C/S 与 B/S 区别:1)硬件环境不同C/S 一般建立在专用的网络上,小围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S 建立在广域网之上的,不必是专门的网络硬件环境,例如上网,租用设备,信息自

16、己管理。有比C/S更强的适应围,一般只要有操作系统和浏览器就行。2)对安全要求不同C/S 一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度的信息系统采用C/S 结构适宜。可以通过B/S发布部分可公开信息。B/S 建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。3)对程序架构不同C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S 对安全以与访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网

17、络的构件搭建的系统. SUN 和IBM推的JavaBean构件技术等,使 B/S更加成熟。4)软件重用不同C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。B/S 面对的多重结构,要求构件相对独立的功能,能够相对较好的重用,就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。5)系统维护不同C/S 程序由于整体性,必须整体考察,处理出现的问题以与系统升级。升级难,可能要再做一个全新的系统。B/S 构件组成,方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。6)处理问题不同C/S 程序可以处理用户面固定,并且在

18、一样区域,安全要求高需求,与操作系统相关,应该都是一样的系统。B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的. 与操作系统平台关系最小。7)用户接口不同C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大部分难度减低,减低开发成本。8)信息流不同C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化,更像交易中心。2.2 PHP技术概述2.2.1 PHP简介PHP 独特的语法混合了 C、Java、Perl 以

19、与 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以与操作系统。PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal

20、 Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个使用 PHP/FI;时间到了1997年中,使用PHP/FI的数字超过五万个。

21、而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 与 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。2.2.2 PHP技术的强势与弱势分析PHP技术的强势1)PHP是免费的。2)php的便捷性:php十分便捷,学习简单3)基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。4)嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。5)简单的语言:PHP坚持脚本语言为主,与Java和C+不同。6)效率高:PHP消耗相当少的系统资源。7)图像

22、处理:用PHP动态创建图像8)面向对像:在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。9)PHP 相对于其他语言,编辑简单,实用性强,更适合初学者。PHP技术的弱势:1)缺乏对名字空间的支持。名字空间(namespace)是开发大型应用程序时非常有用的特性,它能够代码中的名字分配到不同的空间中,从而避免它们互相冲突。如果没有名字空间,在使用第三方库的时候,很容易遇到名字冲突的问题,即不同的类、接口、函数或全局变量使用了同样的名字。C+/Java/C#等语言都支持名字空间。名字空间本来是PHP5开发计划的一部分,但是由于这一特征对性能造成了明显的

23、影响,最终在发布版中被取消了。因此,直到现在,PHP程序员们仍然不得不使用非常长的名字(诸如Canata_Util_ConvertHtml())来避免名字冲突。 2)缺乏对Unicode的支持。PHP5 仍然没有添加对Unicode的置支持,仅仅是增加了一些多字节字符串(Multibyte String)处理函数,而这些函数需要在编译时手工指定才能够打开。据说Unicode将在PHP 6中得到完整的支持。 3)缺乏统一的命名规。和Java不同,PHP没有统一的命名规。因此,PHP程序员随心所欲地使用他愿意使用的任何命名规。象converttohtml()、ConvertToHtml()和con

24、vert_to_html()这样的命名规往往同时被使用。对于程序员自己来说,只要坚持使用一种命名规,倒不是什么太大的问题;但是如果需要用到第三方库的时候,这种经验就不那么令人愉快了。 4)缺乏标准框架。到目前为止,PHP社区没有出现一套统一的、完整的Web开发框架,象Struts或Ruby on Rails那样。PHP程序员只有可复用的函数和类。这也许要部分地归因于PHP本身的特性,由于它无法实现有效的缓存机制,因此也无法构建传统的MVC框架。2.2.3 PHP动态开发技术PHP 原本的简称为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言

25、开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以与统计网页流量。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开释出,希望可以透过社群来加速程序开发与寻找错误。这个释出的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以与嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。在

26、1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为PHP: Hypertext Preprocessor.5。经过几个月测试,开发团队在1997年11月释出了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在1998年6月正式释出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 释出后开始改写 PHP 的核心,这个在1999年释出的剖析器称为 Zend Engine7,他们也在以色列的

27、Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine5。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以与许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一

28、些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。2.3 MVC与Struts介绍2.3.1 MVC介绍MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML

29、和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以与用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以与将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程/状态的处理以与业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的E模型就是一个典型的应用例子,它从应用技术实

30、现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个

31、很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视

32、图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图2.2所示。模型封装应用程序状态响应状态查询应用程序功能通知视图改变视图解释模型模型更新请求发送用户输入给控制器允许控制器选择试图控制器定义应用程序行为用户动作映射成模型更新选择响应的视图 视图选择用户请求状态改变状态查询通知改变方法调用事件图

33、2.2 MVC组件类型的关系和功能2.3.2 Struts介绍Struts和其他的java架构一样,Struts 也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Struts框架的核心是一个弹性的控制层,基于如 Java Servlet ,JavaBeans,ResourceBundles与XML等标准技术,以与 Jakarta Commons 的一些类库。Struts有一组相互协作的类(组件)、Serlvet以与jsp tag lib组成。基于Struts构架的Web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统 MVC设

34、计模式的一种变化类型。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国的JSP开发者而言,除了使用PHP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。3 系统分析3.1任务描述为了实现网络化、科学化、现代化

35、的房屋出租管理,使用 MySQL和JavaScript与数据库技术相结合,编写一个B/S结构的房屋出租管理系统。系统的总体设计应该是提供给上网浏览者一个高效率,能进行丰富的网上活动的,为用户提供与时发布、查询房屋租赁信息的平台。系统目标如下:1)应用网络的优势,开发房屋出租信息,方便房屋出租者与房屋求租者交流,可以使双方都能了解彼此需求之后再进行交易,从而达到房屋信息被准确利用的目的。2)用户能够在首页与时浏览房屋信息,并可以随时注册账号,登录发布个人房屋信息。3)有新闻公告模块,除了房屋信息,用户可以浏览、阅读本站公告和时事新闻。4)管理员控制中对所有用户的各项信息管理,可以随时查看用户的个

36、人信息与房屋信息,监督并防止用户录入非法信息。5)如果用户对本有意见和建议,可以随时给管理员发送E-mail进行联系。3.2用UML用例图描述系统需求3.2.1用例图简介用例图用来描述系统与参与者之间的相互作用,也可以说它是从用户角度出发对如何使用系统的描述。首先要理清下面几个概念:角色:角色代表了某一事件发生的参与者,他用一个小人表示。在通常的网络项目中,角色常被用来代表使用的用户(管理员、用户等),但角色的作用并不局限于此,它也可以用来代表与系统交互的其他实体。用例:用例代表系统可以实现的功能,通常一个用例代表一组功能,它实质上规定了系统实现功能的围。在实际项目开发过程中,一个项目中往往涉

37、与很多个用例,此时需要将其分解成若干个子系统实现,以便于理解。在UML中,用例用一个椭圆表示。用例图:当角色与用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图,角色与用例之间使用一个带箭头的实线连接,箭头方向代表使用者与被使用者关系。3.2.2系统用例分析房屋出租管理系统允许用户有两种身份:普通用户和管理员,每种身份操作起来都很方便、快捷。任何普通用户可以浏览、查看房屋租赁信息,但是如果想要发布个人的房屋租赁信息,这必须是经过注册、登录以后的用户。这些用户的基本信息都有管理员对其统一管理。系统用例图如图3.1所示。注册修改个人信息发布房屋信息删除房屋信息浏览新闻公告普通用户管理用

38、户信息管理房屋信息管理新闻公告管理员图3.1 系统用例图3.3功能分析根据前面对房屋出租管理系统的分析,可将其划分成前台和后台两部分。前台功能主要为普通用户提供(如图3.2所示),后台功能为管理员提供(如图3.3所示)。软件的主要模块和功能如下:前台功能:1)普通用户模块:浏览、搜索房屋信息,浏览新闻公告。2)注册会员模块:浏览、搜索、发布、修改和删除房屋信息,修改个人密码信息,浏览新闻公告。后台功能:1)房屋管理:能查看房屋信息发布详细情况,并可作出删除管理。2)注册会员管理:查看系统注册会员,并可作出删除管理。3)新闻公告管理:添加、修改、浏览、删除公告。注 册登 录普通用户个人信息管理浏

39、览功能身份验证房屋信息管理修改个人信息发布房屋信息删除房屋信息查看房屋信息查看新闻公告修改房屋信息 3.2前台功能结构图登 录管理员用户信息管理新闻公告管理身份验证房屋信息管理查看用户信息查看房屋信息删除房屋信息发布新闻公告删除新闻公告删除用户信息查看新闻公告图3.3 后台功能结构图4 系统的设计与实现4.1数据库的设计与实现4.1.1数据库MySQL简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Inter

40、net上的中小型中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型为了降低总体拥有成本而选择了MySQL作为数据库。MySQL的官方的网址是:.mysql.MySQL的特性1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4)支持多线

41、程,充分利用CPU资源 5)优化的SQL查询算法,有效地提高查询速度 6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8)提供用于管理、检查、优化数据库操作的管理工具 9)可以处理拥有上千万条记录的大型数据库4.1.2数据库结构设计将数据库概念结构转化为MySQL系统所支持的实际数据模型,也就是数据库的逻辑结构,系统数据库名称为068206111,数据库068206111

42、中包含用户信息,房屋出租、求租信息,房屋租赁信息评论,管理员工作表。通过对系统进行仔细分析以后,需要4个数据表来实现系统所要储存的主要数据。分别为:表4.1用户信息表、表4.2房屋出租、求租信息表、表4.3房屋租赁信息评论表、表4.4管理员工作表。表4.1用户信息表 (kiqi_members)字段类型Null默认uidmediumint(7) 否Primary, Not Nullusernamevarchar(30)是passwordvarchar(32)是表4.2房屋出租、求租信息表 (kiqi_fenlei_content)字段类型Null默认idint(10)否Primary, Not

43、 Nulltitlevarchar(100)是albumidmediumint(7)是0albumnamevarchar(50)是midsmallint(4)是0spidmediumint(7)是0fidmediumint(7)是0fnamevarchar(50)是fid_bak1mediumint(7)是0fid_bak2mediumint(7)是0fid_bak3mediumint(7)是0infotinyint(2)是0hitsmediumint(7)是0commentsmediumint(7)是0posttimeint(10)是0listvarchar(10)是uidmediumint

44、(7)是0usernamevarchar(30)是titlecolorvarchar(15)是fonttypetinyint(1)是0picurlvarchar(150)是ispictinyint(1)是0yztinyint(1)是0yzervarchar(30)是yztimeint(10)是0levelstinyint(2)是0levelstimeint(10)是0keywordsvarchar(100)是jumpurlvarchar(150)是iframeurlvarchar(150)是stylevarchar(15)是head_tplvarchar(150)是main_tplvarcha

45、r(150)是foot_tplvarchar(100)是targettinyint(1)是0ishtmltinyint(1)是0ipvarchar(15)是lastfidmediumint(7)是0moneymediumint(7)是0passwdvarchar(32)是editervarchar(30)是edittimeint(10)是0begintimeint(10)是0endtimeint(10)是0configtext是lastviewint(10)是0city_idmediumint(7)是0zone_idmediumint(7)是0street_idmediumint(7)是0ed

46、itpwdvarchar(32)是showdaymediumint(4)是0visit_logtext是visit_nummediumint(7) 是0telephonevarchar(30)是mobphonevarchar(12)是emailvarchar(50)是oicqvarchar(11)是msnvarchar(50)是linkmanvarchar(20)是postcodevarchar(6)是addressvarchar(250)是weburlvarchar(150)是faxvarchar(30)是mapsvarchar(50)是picnumsmallint(4)是0表4.3房屋租赁

47、信息评论表 (kiqi_fenlei_dianping)字段类型Null默认cidmediumint(7) 否Primary, Not Nullcuidint(7)是0typetinyint(2)是0idmediumint(7) 是0fidmediumint(7) 是0uidmediumint(7) 是0usernamevarchar(30)是posttimeint(10)是0contenttext是ipvarchar(15)是icontinyint(3)是0yztinyint(1)是0fen1smallint(4)是0fen2smallint(4)是0fen3smallint(4)是0fen

48、4smallint(4)是0fen5smallint(4)是0flowerssmallint(4)是0eggsmallint(4)是0pricemediumint(5)是0keywordsvarchar(100)是keywords2varchar(100)是fen6varchar(150)是表4.4管理员工作表 (kiqi_fenlei_adminwork)字段类型Null默认aidmediumint(7)否Primary, Not Nulltypevarchar(30)是idmediumint(7)是0uidmediumint(7)是0usernamevarchar(30)是ifpmtiny

49、int(1)是0fensmallint(4)是0reasontext是posttimeint(10)是04.1.3数据库加载和调试数据库实施阶段包括两项重要的工作,一项是数据的加载,另外一项是应用程序的编码和调试。加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。一般数据库中,数据量都很很大,而且数据来源于部门中的各个不同的单位,数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就要将各类数据从各个局部应用中抽取出来,输入计算机,再分类转换,最后综合成符号新设计的数据库结构的形式,输入数据库,因此这样的数据转换、组织入

50、库的工作是相当费力费时的工作。特别是原系统是手工数据系统时,各类数据分散在各种不同原始表格、凭证、单句之中。在向新的数据库系统中输入数据时,还要处理大量的纸质文件,工作量就更大。由于各个不同的应用环境差异很大,不可能有通用的转换器,DBMS产品也不提供通用的转换工具。为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。由于要入库的数据在原来的系统中的格式与新系统中不完全一样,有的差别可能还比较大,不仅向计算机输入数据时容易发生错误,转换过程中也有可能出错。因此在原数据入库之前要采用多种方法对它们进行检验,以防止不正确的数据入库,这部分的工

51、作在整个数据输入子系统中是非常重要的。在设计数据输入子系统时还要注意原有系统的特点,例如对原有系统是人工数据处理系统的情况,尽管新系统的数据结构可能与原系统有很大差别,在设计数据输入子系统时,尽量让输入格式与原系统结构相似,这不仅使处理手工文件比较方便,更重要的是减少用户出错的可能性,保证数据输入的质量。数据库应用程序的实际应该与数据库设计同时进行,因此在组织数据入库的同时还要进行应用程序的调试和分析。4.1.4操作数据库1)连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级

52、用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2)连接到远程主机上的MYSQL。假设远程主机的IP为:10,用户名为root,密码为abcd123。则键入以下命令:mysql -h10 -uroot -pabcd123(注:u与root可以不用加空格,其它也一样)3)退出MYSQL命令: exit (回车)注意:想要成功连接到远程主机,需要在远程主机打开MySQL远程访问权限方法如下:在远程主机中以管理员伙身份进入输入如下命令mysql>GRANT ALL PRIVILEGES O

53、N *.* TO 'agui'%'IDENTIFIED BY '123' WITH GRANT OPTION; FLUSH PRIVILEGES;/赋予任何主机访问数据的权限mysql>FLUSH PRIVILEGES /修改生效agui为我们使用的用户名密码为123即:在远程主机上作好设置,我们即可通过mysql -h10 -uagui -p123连接进远程主机。 4.2功能模块的设计与实现4.2.1系统注册模块用户如果想要注册,则按要求输入信息,包括用户名,密码,确认密码,验证码,如图4.1。系统处理过程为:系统根据用

54、户的输入信息,首先查询数据库,查询出数据库里的所有的用户的信息,若是有重名的,则告之“对不起!该用户已经被注册!”,若是查询没有重名的,则告之“恭喜您!此账号可以使用!”而且验证用户输入的数据全部都是合法的数据,则调用用户注册信息的插入模块把用户的注册信息插入到数据库中。此时页面提示注册成功,如图4.2。图4.1用户注册界面图4.2注册成功界面4.2.2系统登录模块用户输入用户名和密码,系统根据用户输入的用户名字和用户的密码,到数据库中去查询所有用户的信息,如果没有该用户信息,则该用户不能登录,需要先进行注册。如果有该相应的该用户的信息,则说明该用户是合法的用户,能成功登录,此时判断用户身份,如果是普通用户,到系统前台界面;如果是系统管理员,则转到后台工作界面(如图4.3所示)。系统登录模块核心代码:/*用户登录*/if( $_POSTloginname && $_POSTloginpwd )if( $webdbyzImgAdminLogin&&$webdbweb_open )if(!get_cookie("yzImgNum")|get_cookie("yzImgNum")!=$yzimg)if(!strstr($WEBURL,$webdb_url)echo "

温馨提示

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

评论

0/150

提交评论