房屋租赁系统实验报告

时间:2024.4.21

logo_h

《数据库原理及应用》

课程设计报告

(20##— 20##学年  第 1 学期)

题    目                   

专    业                       

班    级                       

姓名学号                       

                                  

                                  

指导教师                        

成    绩                       

计算机科学与技术系

                             目 录

摘要

1.        问题描述

2.        需求分析

3.        概要设计

4.        详细设计

5.        调试分析

6.        用户使用说明

7.        测试结果

8.        附录或参考资料

9.        心得体会                          

(注:指导教师评语和成绩所在表格另起一页)


第二篇:报告 房屋租赁系统


         

实 习 报 告

JSP房屋出租管理系统

学    生:

学    号:

专    业:

      

信息工程学院

20##1224


目  录

第1章 绪论. 1

1.1 课题研究的背景介绍... 1

1.2系统开发环境及开发平台介绍... 2

1.2.1 系统开发环境... 2

1.2.2 系统开发平台简介... 2

第2章 系统开发技术介绍. 5

2.1 系统的B/S结构... 5

2.1.1 B/S结构简介... 5

2.1.2 B/S架构软件的优势与劣势... 6

2.1.3 B/S框架与C/S框架的联系与区别... 7

2.2 JSP技术概述... 8

2.2.1 JSP简介... 8

2.2.2 JSP技术的强势与弱势分析... 9

2.2.3 JSP动态网站开发技术... 10

2.3 MVC及Struts介绍... 12

2.3.1 MVC介绍... 12

2.3.2 Struts介绍... 14

第三章  系统分析. 15

3.1任务描述... 15

3.2用UML用例图描述系统需求... 15

3.2.1用例图简介... 15

3.2.2系统用例分析... 16

3.3功能分析... 16

第4章 系统测试与维护. 18

4.1系统测试... 18

4.2  网站维护... 20

4.2.1维护内容... 21

4.2.2维护方案... 21

第5章 实验体会及截图. 22

参考资料. 24


第1章 绪论

1.1 课题研究的背景介绍

随着社会经济的发展,城市现代化建设步伐不断加快,城市规模不断扩大,人员的流动也不断加大,房屋出租逐渐成为社会生活的重要组成部分。无论是房屋出租还是房屋求租,都面临着大量需求。

说到房屋出租,我们首先想到的就是房屋中介,但是不论对于房屋出租者还是对于求租者来说,要面对的问题实在让人头疼,首先是琳琅满目的中介公司让人感到无从选择,在要顾及中介单位可信度的同时,大量复杂的房产信息使他们感到迷茫,难以快速、准确地从中找到适合自己的房屋信息。再者,出租、承租双方进行交易的时候还要通过中介,使交易过程更加繁琐。而且中介单位还要收取的一定比例的中介费用,这也在一定程度上加重了房屋承租者的负担。因此,现实社会中急需一个第三者为房屋出租者与房屋求租者牵线搭桥,来弥补中介单位的种种不足。

在互联网蓬勃发展的今天,网络和我们的生活、工作越来越密不可分,网络正领导着一个新时代的来临。于是我们就利用开放的Internet技术,开发出实时、快捷、全方位传播信息的平台,我们制作的房屋出租管理系统的网站,就成了人们关于生活中住房问题的信息载体,使得房屋信息在出租者与求租者之间传播更为轻松。这样,使原本复杂的房屋信息简单化,系统能及时为他们提供服务,使出租求租双方都能够方便快捷的得到信息。通过本系统来管理房屋出租情况,可以解决大量房屋信息的查询和管理,便于房屋出租者更好的发布其房屋信息,同时也为租房者提供方便。并且能够培养我们的综合分析设计能力,同时提高动手实践的能力。

1.2系统开发环境及开发平台介绍

1.2.1 系统开发环境

1.硬件环境

(1)     CPU:Duo T5600 1.83GHz;

(2)     内存:512MB以上;

(3)     硬盘:100G.。

2.软件环境

(1)     操作系统:Windows XP;

(2)     数据库:SQL Server 2000;

(3)     开发工具包:JDK1.5.0;

(4)     JSP服务器:Tomcat6.0;

(5)     浏览器:IE 7.0。

1.2.2 系统开发平台简介

1.系统开发平台

本系统开发语言选用Java,JSP,所以采用MyEclipse,Tomcat为主要开发工具,然后结合Dreamweaver,SQL Server 2000数据库管理系统与Windows XP操作系统进行。既考虑了系统的需求,又兼顾了运行的效率,以及今后系统的功能拓展等。

2.Tomcat简介

如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。我们需要一个交互式的Web,于是便诞生了各种Web语言。如Asp,Jsp,Php等。当然,这些语言与传统的语言有着密切的联系,如Php基于C和C++语言,Jsp基于Java语言。Tomcat即是一个Jsp和Servlet的运行平台。

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为20##年度最具创新的java产品,可见其在业界的地位。

在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。

Tomcat有三种工作模式,分别是独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。在利用其进行开发之前必须要清楚Tomcat的目录结构。因为它的目录结构和Web系统的创建和发布都有着很大的关系,通常,Tomcat的目录结构如下表:

表1-1  Tomcat的目录结构

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。

基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR.事实上,在很多应用服务器的发布中都包含了Ant.另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。Tomcat确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越收到人们的重视,Linux就是一个成功的典型。

3.MyEclipse简介

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Web services支持,以及新的Oracle数据库开发,MyEclipse 5.0继续为业界提供全面的产品。

第2章 系统开发技术介绍

2.1 系统的B/S结构

2.1.1 B/S结构简介

B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。

客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。B/S模式体系结构的原理如图2-1所示,浏览器通过Web Server 同数据库进行数据交互。

图2-1 B/S模式体系结构原理图

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。

B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。

2.1.2 B/S架构软件的优势与劣势

维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。

比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。

应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端完全通过WWW浏览器实现,极少部分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

2.1.3 B/S框架与C/S框架的联系与区别

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、 Informix或 SQL Server。客户端需要安装专用的客户端软件。

B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。

C/S 与 B/S 区别:

(1) 硬件环境不同

C/S 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。

B/S 建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理。有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。

(2) 对安全要求不同

C/S 一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S 结构适宜。可以通过B/S发布部分可公开信息。

B/S 建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。

(3) 对程序架构不同

C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。

B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 20## Exchange 2000等,全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean构件技术等,使 B/S更加成熟。

(4) 软件重用不同

C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。

B/S 面对的多重结构,要求构件相对独立的功能,能够相对较好的重用,就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。

(5) 系统维护不同

C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级。升级难,可能要再做一个全新的系统。

B/S 构件组成,方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。

(6) 处理问题不同

C/S 程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关,应该都是相同的系统。

B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的. 与操作系统平台关系最小。

(7) 用户接口不同

C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。

B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大部分难度减低,减低开发成本。

(8) 信息流不同

C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。

B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化,更像交易中心。

2.2 JSP技术概述

2.2.1 JSP简介

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.2.2 JSP技术的强势与弱势分析

1.JSP技术的强势

(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.JSP技术的弱势

(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

2.2.3 JSP动态网站开发技术

太阳微系统公司(Sun Microsystems Inc.)在Web服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对Java编程环境(例如Java Servlets和JavaBeans)进行支持的技术和工具后产生了一种新的、开发基于Web应用程序的方法——Java Server Pages技术(JSP)。这种动态网站开发技术的特点是:能够在任何Web或应用程序服务器上运行;  分离了应用程序的逻辑和页面显示; 能够进行快速的开发和测试; 简化了开发基于Web的交互式应用程序的过程。

为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。

(1) 将内容的生成和显示进行分离

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

(2) 可重用组件

绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

(3) 采用标识

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

(4) 适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

(5) 数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。

此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。

由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。

JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。

JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。

2.3 MVC及Struts介绍

2.3.1 MVC介绍

MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。

业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图2-2所示。

图2-2 MVC组件类型的关系和功能

2.3.2 Struts介绍

Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Struts框架的核心是一个弹性的控制层,基于如 Java Servlet ,JavaBeans,Resource Bundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts有一组相互协作的类(组件)、Serlvet以及jsp tag lib组成。基于Struts构架的Web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。

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

第三章  系统分析

3.1任务描述

为了实现网络化、科学化、现代化的房屋出租管理,使用 JSP、Servlet和JavaBean及数据库技术相结合,编写一个B/S结构的房屋出租管理系统。系统的总体设计应该是提供给上网浏览者一个高效率,能进行丰富的网上活动的网站,为网站用户提供及时发布、查询房屋租赁信息的平台。

系统目标如下:

1.应用网络的优势,开发房屋出租信息网站,方便房屋出租者与房屋求租者交流,可以使双方都能了解彼此需求之后再进行交易,从而达到房屋信息被准确利用的目的。

2.网站用户能够在网站首页及时浏览房屋信息,并可以随时注册账号,登录网站发布个人房屋信息。

3.网站有新闻公告模块,除了房屋信息,用户可以浏览、阅读本站公告和时事新闻。

4.管理员控制网站中对所有用户的各项信息管理,可以随时查看用户的个人信息及房屋信息,监督并防止用户录入非法信息。

5.如果网站用户对本网站有意见和建议,可以随时给网站管理员发送E-mail进行联系。

3.2用UML用例图描述系统需求

3.2.1用例图简介

用例图用来描述系统与参与者之间的相互作用,也可以说它是从用户角度出发对如何使用系统的描述。首先要理清下面几个概念:

角色:角色代表了某一事件发生的参与者,他用一个小人表示。在通常的网络项目中,角色常被用来代表使用网站的用户(管理员、用户等),但角色的作用并不局限于此,它也可以用来代表与系统交互的其他实体。

用例:用例代表系统可以实现的功能,通常一个用例代表一组功能,它实质上规定了系统实现功能的范围。在实际项目开发过程中,一个项目中往往涉及很多个用例,此时需要将其分解成若干个子系统实现,以便于理解。在UML中,用例用一个椭圆表示。

用例图:当角色与用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图,角色与用例之间使用一个带箭头的实线连接,箭头方向代表使用者与被使用者关系。

3.2.2系统用例分析

房屋出租管理系统网站允许用户有两种身份:普通用户和管理员,每种身份操作起来都很方便、快捷。任何普通用户可以浏览、查看房屋租赁信息,但是如果想要发布个人的房屋租赁信息,这必须是经过注册、登录以后的用户。这些用户的基本信息都有管理员对其统一管理。系统网站用例图如图3-1所示。

图3-1 系统用例图

3.3功能分析

根据前面对房屋出租管理系统的分析,可将其划分成前台和后台两部分。前台功能主要为网站普通用户提供,后台功能为管理员提供。

软件的主要模块和功能如下:

前台功能:

1.普通用户模块:浏览、搜索房屋信息,浏览网站新闻公告。
2.注册会员模块:浏览、搜索、发布、修改和删除房屋信息,修改个人密码信息,浏览网站新闻公告。

后台功能:

1.房屋管理:能查看房屋信息发布详细情况,并可作出删除管理。
2.注册会员管理:查看网站系统注册会员,并可作出删除管理。

3.新闻公告管理:添加、修改、浏览、删除公告。

图3-2前台功能结构图

图3-3 后台功能结构图

第4章 系统测试与维护

4.1系统测试

系统测试包括集成两个或更多的实现系统功能或系统特点的组件。然后再测试这个集成的系统。在重复开发软件的过程中,系统测试包括测试交给用户的增长部分。在瀑布处理过程,系统测试包括测试整个系统。

    对大部分复杂的系统,系统测试包括两个主要的阶段:

集成测试,在测试过程中,测试团队可以获得系统的源代码。发现问题后,测试团队试着找到问题的根源所在,然后确认必须得测试的组件。集成测试主要是找出系统中存在的漏洞。

    开放测试。 该版本的系统可以开放给用户测试,在这个过程中,测试团队主要是使系统能够满足用户的需求,以及确保系统的可靠性。开放测试又称为黑盒测试,测试团队只是简单的涉及测试系统能否正常的工作,发现问题后交给开发团队处理,他们的工作就是调试程序。有用户参与的测试有时候又称为认可测试。如果开放测试的结果很好,用户可能就会使用该系统。

    基本上,你可以把集成测试看成是测试由一组系统组件的不完善的系统。开放测试则涉及到测试想要交给用户使用的系统。自然,两种测试会存在交搭的部分,特别是由于大量的开放和系统开放不完全,总之,集成测试应该是优先发现系统中的漏洞,系统测试应该优先使系统能够满足用户的需求。

    然而,实际上,在这些过程中也会存在有效性测试和缺陷测试的成分。

1.集成测试

    系统集成的过程包括建立一个由其组件构成的系统,以及测试该集成的系统,看是否存在由组件之间相互作用而产生问题。那些集成的组件可能是可重用的组件.对于很多大型的系统,所有这三种类型的组件都可能会用到。集成测试检查这些组件事实上是否一起工作,正确的调用以及通过它们的接口在适当的时候传输正确的数据。

    系统集成涉及确认一组实现部分系统功能的组件,以及通过添加代码来使它们一起工作。有时候,先是形成系统的整体框架,然后再把组件添加到其中,这叫做自上而下集成。二者选其一的,你可以先集成提供普通功能的结构组件,像网络和数据库接口,然后再添加功能组件,这是自底而上集成。实际上,对于很多系统,都采用二者兼用的集成方法,把结构组件和功能组件都添加到系统中。自顶向下和自底向上的集成过成中,你经常不得不填写额外的代码,以模拟其他组件和能让系统运行。

    在集成测试中产生的只要问题是寻找错误。由于系统组件之间存在着复杂的相互作用,因此,当发现一个异常的输出时,你可能难以确定错误发生在哪。为了更容易的知道错误所在,你应该总是使用一种增量的方法去系统集成和测试。最初,你应该设计一个小型的系统,然后测试它。接着你添加组件到这个系统,然后测试添加的那一部分。当你要进行集成测试时,你不得不决定各个组件的集成顺序,在像XP的操作系统中,用户涉及到开发过程和决定在每一次系统添加功能时应添加那些功能,因此,系统集成由用户的优先级来驱动在开发单个组件的其它方法,尤其是开发集成组件,用户有可能不参与,而由开发团队来决定集成的优先次序。

    在这些情况中,但凭经验的做法是先集成那些实现最常用功能的组件,这意味着那些最常用组件总是最经常被测试,例如,在图书管理系统中,你应该先集成图书查询功能,因此,即使在最小型系统中,用户能够查询他们需要的文件。接着你应该添加允许用户下载文件的功能,然后添加大量执行其他系统功能的组件。

    当然,事实很少像这种模型建议的那样简单,系统功能的实现可能需要大量的组件。要测试一项新的功能,你可能不得不集成几个不同的组件,测试结果能够揭示这些单个组件和系统其他部分之间相互作用而产生的错误。修改测试和集成新的组件会改变已经测试完的组件之间的相互作用的模式。在一些简单的测试中不能被发现的错误会在这里被检查出来。

    这些问题意味着当集成一项新的功能时,只要新的测试要求修改新的系统功能,则重新测试以前增添的功能就显得非常重要。重新执行一系列存在的测试叫做倒退测试。如果倒退测试出现问题,或者是检查是否是由于新增的模块而产生了这些问题。很明显, 倒退测试如果没有一些自动化操作的支持是相当昂贵和不实际的。在极限编程中,所有的测试都写成可执行的代码,在这些代码中,测试的输入和想要的结果都是确定的,以及自动检查的

    如果使用像JUNIT这类的自动测试框架模块,这意味着测试可以被重新执行,极限编程的一条基本原则就是无论你何时集成新的代码,整个测试集合都是可执行的,以及直到测试成功才能接收新的代码

    2.单元测试

单元测试是测试系统中的个人组件的过程。这是一个缺陷的测试过程,因此,它的目标是发现这些组件中存在的错误,大多数系统组件开发人员负责组件测试。

    在这个阶段可能会测试不同类型的组件。

    (1) 一个对象中的单独函数或方法。

    (2) 具有多个属性和方法的类

    (3) 由复合组件组成的几个不同对象或函数。

    这些复合组件定义了一个使用本身功能的接口。

    分开的函数或方法是最简单类型的组件,你的测试就是一系列使用不同输入参数对这些程序进行的调用。你可以使用在下一节中讨论的方法来进行实例设计的测试,以及设计你的函数或方法测试。当你要测试一个类时,你应该设计一个提供合并该类对象的所有属性的测试。

    因此,类的测试应该包含:

    (1) 测试要和所有和该类相关联的操作分开

    (2) 设置和检查所有和类相关的属性

    (3) 所有可能状态下类的使用。这意味着应该模仿所有类中造成状态改变的事件

4.2  网站维护

网站维护是软件生命周期的最后一个阶段,网站从部署完毕到退役的整个时间内对网站的改动所做的工作都是维护的内容

4.2.1维护内容

1.系统维护

web服务器,邮件服务器,系统程序及安全性维护

2.数据维护

数据库后台数据录入(图片+文字表格),数据库后台维护管理,数据导入导出

3.网页维护

网页(文字图片)内容更新,不改变网页模板,改变网站结构,页面模板的更新,首页或动态页面的修改更新,链接检查,内容审核

4.其 他

国内域名续费,虚拟主机空间,网站邮箱

4.2.2维护方案

(1) 一年内更新页面,根据公司要求可以随时更新。

(2) 每三个月对服务器维护。

(3) 在维护期内,对于系统运行过程中出现的问题尽快解决,尤其是对服务器及相关软硬件的维护。

响应时间如下:

一级故障,2小时响应,24小时内解决;

二级故障,2小时响应,48小时内解决;

三级故障,2小时响应,一周内解决;

四级故障,一月内解决。

故障等级分类如下:

一级,因故障造成的整个系统瘫痪;

二级,因故障严重影响系统运行;

三级,因故障影响系统的效率,但系统仍然可以运行;

四级,因软件升级,系统上一些功能未实现。

第5章 实验体会及截图

在本次实习中我主要在开始设计阶段查找和收集资料,让了解更多jsp网站设计方面基础知识,比如系统开发及使用平台的了解,Tomcat的使用了解,以及动态网站设计架构的资料,对怎样来做基于jsp房屋租赁管理系统有了一个基础知识的了解。由于考研的缘故,所以在完成的过程中比较粗糙简单了点。开始资料的查找和准备工作也是一个必不可少的环节,虽然简单但也很重要。其次,完成了留言板功能模块的设计,做好与主页风格协调一致,对于这样一个房租租赁系统来说,留言板的模块是必不可少的,这个模块可以

管理员和游客有了一个很好的交流平台,留言板实现的基本的留言和回复功能。最后就是完成网站的测试和维护工作,这也是不容忽视的一个环节,是的这次的房屋租赁管理系统有了个完美的结尾。

通过本次实习,更加懂得了基于jsp的动态网站设计,对整体的架构知识也有了丰富。这也为我下个学期的完成毕设有了一个初步的准备,和一个大致的了解,因为毕设中也需要运用到jsp和一些动态网站设计方面的知识。

参考资料

[1] 飞思科技产品研发中心编著,《JSP应用开发详解》电子工业出版社,20##年7月。

[2] 孙卫琴编著,《精通Struts:基于MVC的java Web设计与开发》电子工业出版社,20##年。

[4] 徐进明编著,《JSP网站开发技术》清华大学出版社,20##年6月。

[5] 吴建平、尹霞、冯晓冬编著,《JAVA程序设计语言》清华大学出版社。

[6] Java和JSP技术的中文教学网站。

更多相关推荐:
房屋租赁管理报告书

合肥学院C语言课程设计报告一需求分析编写一个简单的房屋租赁管理程序帮助管理房屋租赁管理事物要求具有备忘录房屋项目管理和租赁信息管理的功能其中房屋项目管理包括房屋项目增加删除和修改等功能租赁信息管理包括房租租售登...

商业经营管理部20xx年年末房屋租赁市场调查报告

商业经营管理部20xx年末房屋租赁价格调查报告为了下一步集团公司租赁经营用房的价格制定及调整提供依据商业经营管理部于20xx年年末对集团公司现有租赁用房的周边及市区内主要路段的商铺部分写字楼租赁情况进行了摸底调...

房屋租赁课程设计报告

课程设计题目房屋租赁系统学生姓名指导老师二零一二年四月二十五日东华理工大学课程设计报告目录摘要3绪论411课题来源412课题背景及开发目的413可行性分析5131经济可行性5132技术可行性5133操作可行性5...

新密房屋租赁情况的报告

关于新密市店房屋租赁问题调查情况的报告河南省新华发行集团纪委20xx年3月我店收到发行集团纪委关于新密市店职工刘丽鹏反映书店房屋租赁方面问题的调查函后按照集团纪委的批示要求我店纪委于20xx年4月8日到新密市店...

关于房屋租赁合同续租报告

关于房屋租赁合同续租报告尊敬的菜篮子集团领导您好本公司自20xx年4月与贵公司签订房屋租赁合同以来至今期间得到了贵公司及领导的深切关怀和大力支持工作合作默契无间同时贵公司各级领导对我们的工作做出无私帮助和协调为...

中国房屋租赁行业市场分析与发展动向研究报告(20xx-20xx)

中国房屋租赁行业市场分析与发展动向研究报告20xx20xx出版时间20xx年正文中国报告网发布的房屋租赁产业市场调研报告内容严谨数据翔实更辅以大量直观的图表帮助本行业企业准确把握行业发展动向正确制定企业竞争战略...

租房调研报告

城市调研提纲旅居一、市场发展前景1、城市户籍人口、城市流动人口、城市租赁人口、城市旅游年流量、近3年租赁成交量、闲置房总量、接受托管程度、公寓市占比等初步估算出目前的市场前景及研判出后期市场展望。(根据初步调研…

20xx年上海市二手房租赁市场调研报告.

20xx年上海市二手房租赁市场调研报告长期以来我国在住房市场的培育发展和管理上存在重买卖轻租赁的倾向住房租赁极少得到政策上的关注近年来由于住房租金过快上涨房源供给不足等现实问题租赁市场才开始引起政府的重视为了重...

学校公租房使用报告

公租房使用报告教育管理中心经过多方面的努力我校教师公租房建设虽然还有小部分尾期工作没有完成但已经基本可以投入使用为了解决远方教师实际住宿困难问题经学校行政会议研究决定住宿困难教师可以按照太来小学教师公租房管理使...

关于博爱县行政事业单位房屋出 租情况的调查报告

关于项城市行政事业单位房屋出租收入管理情况的调查报告20xx年2月2日近年来我市多数单位都能认真落实收支两条线管理规定促进了政府非税收入的良性增长但个别单位和部门因疏于对房屋出租行为的管理出现了这样那样的问题群...

“十三五”重点项目-房屋出租项目申请报告

十三五重点项目房屋出租项目申请报告编制单位根据国家发改委规定凡是被纳入政府核准的投资项目目录项目投资申报时必须编写项目申请报告项目申请报告是针对企业固定资产投资核准制而规定的一个文体拟建项目从规划布局资源利用征...

房屋租赁管理系统开题报告

呼伦贝尔学院计算机科学与技术学院本科生毕业论文设计开题报告书题目房屋租赁管理系统学生姓名胡明学号024589专业班级计算机科学与技术本三班指导老师白乐塔

房屋租赁报告(37篇)