还剩41页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
房屋销售信息管理系统的设计与实现摘要随着信息自动化处理技术的日益发展,如何科学,全面,高效的对单位纷繁复杂的档案管理事务进行计算机的自动化管理是个热门话题,当前企事业单位为了提升自身的竞争力,各单位都在定制和购买各项业务应用软件,运用高科技手段进行科学,规范的管理作为房屋销售公司的管理者,希望能够对房屋销售事务管理的整个流程状态,信息资料的情况了如指掌,使其可以做出科学的决策作为工作人员期望能够避免繁琐的手工操作,甩掉传统的手工记录方式,达到事半功倍的效果一个能够使其实现管理系统化、规范化、自动化的计算机系统就显得很有必要利用计算机技术实现管理系的自动化规范化就是这个问题最好的解决方法.论文主要探讨“房屋销售管理系统”的理论基础和设计思想,根据系统的开发过程和系统的功能实现为主线来论述数据库管理软件的开发过程主要阐述以软件工程理论作为系统开发的理论基础,以客户机/服务器模式的关系型数据库作为后台,以专业数据库开发语言作为实现手段的数据库管理软件的开发过程分析和理论研究本系统以JSP
2.0和SQL为开发工具,通过后台数据库的建立与设置,软件界面的设计与实现,程序的编写与调试等几个阶段来完成对房屋销售管理系统的开发本论文详细地介绍了开发系统的具体步骤,以及应用的技术,以配图例的方式详尽说明,并在文中对一些源程序作了详细的解释关键词数据库管理软件房屋销售管理查询HousingsalesinformationmanagementsystemAbstractAsthebasictoolofinformationagecomputerhasbeenwidelyusedineverypartofmodernlife.WiththeincreasingdemandsofITspecialistbythesocietycomputersoftwareabilityexaminationsgrowtoo.Theapplicationof“HouseAgencyManagementInformationSystem”cangreatlyreduceregistrantsworkloadthehigherrorratescausedbyhandworkandavoidunnecessaryrepeatingwork.AllthesecanmaketheregisterandstatisticmoreconvenientfastandefficientThisdissertationmainlydiscussedthebasictheoryanddesignationof“HouseAgencyManagementInformationSystem”.andthedevelopingprocedureaccordingtosystemdevelopingprocedureandfunctionrealization.TheessayalsomentioneddatabasemanagementsoftwaresdevelopingprocedureanalysisandtheorystudybyusingsoftwareprojecttheoryasthetheoreticbasisofsystemdevelopingtheC/Smodelrelatingdatabaseasthebackgroundandtheprofessionaldatabaseasthedevelopinglanguageapplyingmethod.ThisSystemusesJSP
2.0andSQLasdevelopingkit.Bybuildingandsettingupbackgrounddatabasedesigningandapplyingsoftwareinterfaceprogrammingwritinganddebuggingdeveloped“HouseAgencyManagementInformationSystem”.ThisdissertationintroducedthespecificstepsindevelopingthesystemaswellasthetechnicalskillappliedpresentedwithgraphicsandspecificinstructionandsomesourcecodehasbeenexplainedparticularlyKeywords:databasemanagedcurrencyhousingsalesmanagementqueryTOC\o1-3\h\z\u第1章前言
11.1课题背景
11.2目的和意义
11.3可行性分析
21.
3.1技术的可行性
21.
3.2经济的可行性
21.
3.3操作可行性
31.
3.4法律的可行性3第2章相关技术介绍
42.1开发工具
42.2JSP
52.3Servlet
62.4JavaScript
72.5Html7第3章系统分析
93.1系统功能分析
93.2需求分析
93.3系统处理流程图10第4章系统总体设计
124.1总体结构设计
124.2系统功能
124.
2.1系统功能设计目标
124.
2.2系统主要功能
134.3系统模块详细介绍
144.
3.1租售登记模块
144.
3.2租售查询模块
144.
3.3租售报表统计模块
154.
3.4租售合同管理模块
154.
3.5用户管理模块
154.
3.6购房常识管理模块15第5章数据库设计
165.1概念设计
165.2数据表的设计16第6章系统实现
206.1设计原则
206.2用户登陆窗体设计
206.3主窗体设计
246.4房屋租售登记表模块设计
256.
4.1房屋租售登记表输入
256.
4.2房屋出租查询
286.5房屋租售报表的统计和打印31第7章系统测试
327.1测试的原则
327.2测试的方法
327.3测试用例设计
337.4房屋销售管理系统测试记录33结论36致谢38参考文献39第1章前言
1.1课题背景随着住房体制的改革和房地产销售业务的迅猛发展对房产销售管理提出了更高的要求.在现代化的信息社会里购买房产的人需要快速得到房产的销售和出售信息房产销售机构需要快捷地与购房者进行信息沟通.房地产销售管理工作不同于一般的管理工作它具有时空特性即它所管理的房屋是具有地理空间意义的空间实体并且这些空间实体是动态变化的.因此房地产销售信息管理系统在理论和实际操作上不同于一般的企业管理信息系统ManageInformationSystem简称MIS在更多的意义上它是一种空间信息系统在建立过程中就必须强调所发布信息的时效性随着时代发展竞争加剧房地产商越来越重视信息技术通过信息技术来提高效率降低成本扩大业务已经越来越成为房地产企业的共识.因此开发一个适合当前市场需要的房地产销售系统解决目前在房地产特别是二手房市场遇到的问题具有一定的现实意义.纵观目前的房地产销售状况虽然已经具有一些成型并可以投入使用的房地产销售信息和客户信息的管理系统它们的使用在一定程度上推动了房地产市场的活跃和发展但是由于信息技术发展和信息来源不足等方面的局限性这些系统在使用过程中普遍存在开发工具的选择不够科学界面设计不够生动、系统运行的动态实时性较差、不能最大的方便顾客操作等一系列问题在对目前的房地产市场的特点进行调查的基础上总结了目前运行的系统的缺陷和不足设计和实现了一个动态的房地产销售系统.系统在中文WindowsXP环境下采用的B/S模式进行了研究利用JSP技术开发而成具有良好的用户界面.通过对系统的测试证明系统设计比较合理程序运行比较稳定使用方便可以为住房销售和购房者提供一定的帮助.
1.2目的和意义国家发展与改革委员会和国家统计局发布的2011上半年房地产市场统计资料显示房地产开发投资大幅增长,增长幅度同比略有加大,上半年,全国完成房产处开发投资13196亿元,同比增长
33.5%,增幅比去年同期提高5个百分点,其中住宅完成投资9867亿元,同比增长
35.5%,占房地产开发总投资的72%,比去年同期提高
1.7个百分点,房地产产业属于支柱型产业,它的发展可以带动钢铁、进入等其他行业的发展,成为经济增长的主要动力之一但与此同时,房地产企业的信息化建设扔处在一个较低的运行层面上,与作为我国国民经济之支柱产业之一的低位及其不协调激烈的市场竞争使众多的房地产企业逐渐意识到信息化对提高效益、降低成本、提高企业竞争能力等方面所起的所用,开始进行了信息化建设的探索与实践随着房地产业的不断发展,为响应加快房地产经济迅速隆起,振兴老工业基地的号召,充分利用电脑的先进科技管理手段,吧售楼工作人员从一大堆合同中解放出来,将楼盘的销售推向“无纸化”已经成了解决当前房地产售楼工作的党务之急一直以来,房地产公司所使用的传统的书面进行房屋销售记录的方式是在是太落后,它存在着信息流动性差、查阅不方便等问题而且随着房产资源的增多、交易次数的增多,购房是顾客挑选自己满意的房产时也比较麻烦,售后服务等工作也做的不够到位计算机技术发展到今天,已经全面迈向了智能化、集成化、网络化,以计算机技术为代表的信息技术正推动着教育、管理手段、方式等发生根本性改变,其强大的功能已被人们所深刻认识,它已进入人类社会的各个领域并发挥这越来越重要的作用,不言而喻,计算机技术的发展和应用最终实现房地产行业管理的网络化、信息化,能够更新以往的房产销售管理概念,增强效益挂念,提高准确度,借助信息技术手段,建设管理和完善房产销售和费用管理使用计算机对房产销售信息进行管理,具有手工管理所无法比拟的优点,查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些显而易见的优点极大的提供了房产销售人员的工作效率,通过该系统的开发,把管理人员从繁琐的数据处理中解脱出来,使其高效化、简易化、智能化,也提高了透明度和互动性
1.3可行性分析开发任何一个系统,都会受到时间和资源上的限制因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费下面就技术、经济、操作和法律四个方面来介绍
1.
3.1技术的可行性本系统开发工具是MyEclipse和SqlServer数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便大学期间就学习了java课程,也系统的了解了J2EE的知识,房产销售管理系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力因此,完成系统实现在技术上完全具有可行性
1.
3.2经济的可行性如今是信息化时代,信息化管理可以房产销售管理工作更加系统化、快速化、全面化本系统对计算机配置的要求不高,企业更换下来的低配置电脑都可以完全满足需要,所以在经济上具有完全的可行性
1.
3.3操作可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度
1.
3.4法律的可行性本房产销售管理系统是自行开发的管理系统,是很有实际意义的系统开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的综上所述,开发一个房产销售管理系统与人工记录的方式相比具有速度更快,操作更准确,节省开支等有利之处,因此,建立一个房产销售管理系统是必要可行的第2章相关技术介绍
2.1开发工具此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和SqlServer数据库进行简要介绍
2.
1.1MyEclipseMyEclipse,是一个十分优秀的用于开发JavaJ2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTMLStrutsJSPCSSJavascriptSQLHibernate
2.
1.2TomcatTomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的Tomcat服务器是一个免费的开放源代码的Web应用服务器Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器
[1] Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能 Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的
2.
1.3SqlServerSqlServer使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库对于一般的个人使用者和中小型企业来说,SqlServer提供的功能已经绰绰有余,而且由于SqlServer是开放源码软件,因此可以大大降低总体拥有成本SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本MicrosoftSQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer
6.5版本;1998年,SQLServer
7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的SQLSERVER
20122.2JSPJSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览JSP页面由HTML代码和嵌入其中的Java代码所组成服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点JSP技术的优点
(1)一次编写,到处运行除了系统之外,代码不用做任何更改
(2)系统的多平台支持基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展相比ASP/.net的局限性是显而易见的
(3)强大的可伸缩性从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力
(4)多样化和功能强大的开发工具支持Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下5支持服务器端组件web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能内部对象说明request客户端请求,此请求会包含来自GET/POST请求的参数;response 网页传回客户端的响应;pageContext网页的属性是在这里管理;session与请求有关的会话;applicationservlet正在执行的内容;out用来传送响应的输出流;config 代码片段配置对象;page JSP网页本身;exception 针对错误网页,未捕捉的例外
2.3ServletServlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性可以生成动态的Web页面它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机servlet是在服务器上运行的小程序这个词是在Javaapplet的环境中创造的,Javaapplet是一种当作单独文件跟网页一起发送的小程序,它通常用于在服务器端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务 服务器上需要一些程序,常常是根据用户输入访问数据库的程序这些通常是使用公共网关接口(CGICommonGatewayInterface)应用程序完成的然而,在服务器上运行Java,这种程序可使用Java编程语言实现在通信量大的服务器上,Javaservlet的优点在于它们的执行速度更快于CGI程序各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低最早支持Servlet技术的是JavaSoft的JavaWebServer此后,一些其它的基于Java的WebServer开始支持标准的ServletAPIServlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容这个过程为 客户端发送请求至服务器端; 服务器将请求信息发送至Servlet Servlet生成响应内容并将其传给服务器响应内容动态生成,通常取决于客户端的请求 服务器将响应返回给客户端 Servlet看起来像是通常的Java程序Servlet导入特定的属于JavaServletAPI的包因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面从这个角度讲,Servlet也被称为FacelessObject 一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序目前最新版本为
3.
02.4JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发在HTML基础上,使用Javascript可以开发交互式Web网页Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等
2.5Html超文本标记语言,即HTML(HypertextMarkupLanguage),是用于描述网页文档的一种标记语言在WWW上的一个超媒体文档称之为一个页面(page)作为一个组织或个人在万维网上放置开始点的页面称为主页Homepage,或首页,主页中通常包括有指向其他相关页面或其他节点的指针(超级链接)在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website或Site) 超级文本标记语言(英文缩写HTML)是标准通用标记语言下的一个应用
[1],也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如文字如何处理,画面如何安排,图片如何显示等)浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释超文本标记语言15张,因而可能会有不同的显示效果 HTML之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点所谓超级链接,就是一种URL指针,通过激活(点击)它,可使浏览器方便地获取新的网页这也是HTML获得广泛应用的最重要的原因之一 网页的本质就是HTML,通过结合使用其他的Web技术(如脚本语言、CGI、组件等),可以创造出功能强大的网页因而,HTML是Web编程的基础,也就是说万维网是建立在超文本基础之上的超文本标记语言HTML文档制作不是很复杂,但功能强大,支持不同数据格式的文件镶入,这也是WWW盛行的原因之一,其主要特点如下 1简易性,HTML版本升级采用超集方式,从而更加灵活方便 2可扩展性,HTML语言的广泛应用带来了加强功能,增加标识符等要求,HTML采取子类元素的方式,为系统扩展带来保证 3平台无关性虽然PC机大行其道,但使用MAC等其他机器的大有人在,HTML可以使用在广泛的平台上,这也是WWW盛行的另一个原因第三章系统分析在着手开发房屋销售管理系统之前,首先要对这个网上房屋销售管理系统进行设计分析现有系统是我对于这次系统认识的重要来源分析已有的功能,可以更好的改善和确定新系统的设计目标和模型
3.1系统功能分析纵观大部分的房屋销售管理系统网站,都主要分为两部分前台和后台在前台,也要考虑的情况是,非登陆用户可以查看房屋的出租信息、求组信息、出售信息、求购信息,可以对自己感兴趣的房屋类型点击查看房屋的详细信息,可以看到站内公告,可以看到新闻资讯并对自己感兴趣的新闻资讯点击查看资讯的详细内容,可以进行信息检索查询自己感兴趣的房屋,可以注册会员,可以在留言板写下自己想说的话并可以与管理员沟通但是非登陆用户不能进行修改登陆密码以及不能修改自己的详细资料并且不能预订自己感兴趣的房屋登陆用户不仅可以修改自己的登陆密码以及自己的详细资料,也可以在自己的登陆页面内进行房屋信息查询并且可以预订自己感兴趣的房屋在后台,管理员成功登陆后可以对房屋进行相关操作,也可以管理会员的信息以及操作前台用户留言的信息总的来说,房屋销售管理系统可以划分为以下四个模块影片管理,会员管理,订单管理,留言管理四部分组成具体如图3-1所示图3-1系统功能结构
3.2需求分析房屋销售管理系统需求主要来自房屋登记,管理房源和管理人员房屋登记将用户需要登记的房屋的信息输入系统,由系统自动归类储存,随时可以查阅修改房屋管理人员可利用本系统,输出房屋名单,自动生成统计报表、房屋出售合同、房屋出租合同一般情况下,普通用户只能浏览查询房屋具体信息,而超级用户除了能查询房屋具体信息以外,还能够直接登记房屋信息,但是不能随意修房屋数据,尤其是房屋出售合同和房屋出租合同等敏感信息因此,用户,超级用户和房屋管理人员的的权限要明确区分开来,防止操作时因操作错误产生的数据丢失和数据错误,因此,这就需要在设计模块时加以考虑房屋管理人员还有一个任务是对各个人员的使用权限进行管理,对数据库中的房屋信息进行实地考核和协助客户填写房屋出售合同和房屋出租合同,并将其打印出来存档管理,在出租合同到期后即时的回收房屋使用权,并再次将此房屋出租,进入下一个出租循环中因此,确定本系统的功能有房屋出租登记输入处理,房屋出售登记输入处理,房屋登记表修改处理(有输入、取消、确认、修改、删除等功能),房屋查询处理(按地址,面积,使用权查询等),房屋出租情况报表统计处理,房屋出售情况报表统计处理(包含打印功能),房屋出租合同录入和打印功能,房屋出售合同录入和打印功能,购买房屋基本常识介绍功能
3.3系统处理流程图本系统基本设计按系统规划的要求规定设计,其处理流程如图(3-2)所示图3-2系统处理流程第四章系统总体设计
4.1总体结构设计系统的概要设计中最重要的就是系统的模块化模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础通过对整个系统的规划分析,对数据的具体要求的分析,以及对系统功能的综合考虑,提出一个基本的总体结构框架房屋中介管理系统的层次划分为几个方面用户界面,数据缓冲,数据库,输出等用户界面层次距离用户最近的层次,以图形化界面显示给用户,便于用户进行基本操作,用户可以在这里输入数据,修改数据,删除数据,设定选配标准,设定查询条件等用户对系统的所有输入内容在此层次上操作数据缓冲层次在这个层次中,用户所做的修改尚未提交到数据库中,而是保存在一个临时缓冲区中此时,所有操作是由系统本身操作,包括在数据缓冲区内增加信息,修改信息,删除信息等,也包括执行选配过程,判断查询条件的合法性等这一层次中,系统主要执行提交数据库之前的所有工作,确保提交数据的合法性和准确性,尽量减少数据库错误数据库层主要操作在数据库中执行,主要工作是将缓冲区的数据存入数据库,执行查询语句等由于数据是经过缓冲区检查的,所以可以大大减少数据库的非法操作,减少数据出错的情况,查询时的非正常情况大大减少输出层在这个层次中,不需要进行数据库操作和用户输入操作,这个层次的主要工作是把结果显示给用户,包括查询结果,统计图,错误信息,提示信息等
4.2系统功能
4.
2.1系统功能设计目标理论上系统功能的设计目标如下
(1)易用性强类似众多网站一样,房屋销售管理系统的要符合实际操作流程的,符合广大用户人群的操作习惯,图文并茂简单易学易用要尽量使用户减少输入,适合各类人群使用
(2)主流的程序结构提高了软件的生命周期,方便以后更新和管理
(3)安全性方面考虑确保各个功能正确运行,确保会员账户信息和个人信息的安全,确保管理员相应的操作权限,能有助于系统系统的后期维护,确保软件的安全和可靠
(4)划分模块的好处有利于以后修改和维护本系统,提高了系统的后期可扩展性,而且查看简单明了
(5)查询功能要强大对于浏览房屋信息系统的用户,主要为想查询到自己想要的房屋,所以查询功能要做的完善,贴近用户,也便于管理员能够更好的操作,管理最新的房屋信息
4.
2.2系统主要功能
1.数据基本操作功能数据的基本操作功能是“房屋中介管理系统”的最基本功能,指的是一个数据库管理系统软件的最基本的数据操作数据的基本操作包括房屋的增加,删除,修改等房屋信息增加功能用户手动增加房屋信息房屋删除功能由用户选择要删除的房屋信息,点击删除后,删除该房屋信息,首先在缓冲区中删除,此时如果没有提交到数据库,则可以撤销删除操作,但如果提交到数据库了,删除后将不能恢复该信息房屋修改功能用户选择要修改的房屋信息,可以重新修改房屋的登记信息
2.查询功能查询功能是一个数据库管理软件的必备辅助功能,当数据量大的时候,呈现给用户所有信息,肯定有很多信息是冗余的或者是无效的甚至是用户不需要的此时,根据用户的需要进行必要的过滤是十分必要的查询功能通常是根据数据的信息中不同的字段来查询“房屋中介管理系统”中,查询功能也是一个十分重要的功能,当有很多房屋信息时,如何给用户呈现出需要的信息和过滤掉不用的信息是一个需要解决的问题因此,考虑到用户的需求,系统应该具有一个比较人性化的查询系统,可以根据不同的要求来进行查询查询的速度要快捷,查询的结果要准确“房屋中介信息系统”的查询系统可以分成下面几个方面来进行查询根据房屋地址,根据房屋状态,根据户主,根据房屋朝向等来查询
3.打印和统计功能“房屋中介管理信息系统”的一个重要功能是房屋租售报表统计和房屋租售报表的打印房屋租售报表统计和房屋租售合同均有一定的格式,特别是房屋出租和出售合同,严格按照当地房管部分的要求因此高质量的套打也是软件的重要功能
4.其他辅助功能“房屋销售管理信息系统”除了具备上述所有主要功能之外,还应该具有一些必要的辅助性功能,包括用户管理,数据库连接功能,购买常识介绍功能等等用户管理功能为了保证系统的可靠性和安全性,系统应该采用用户登录的方式进入,防止非法用户的进入每个用户具有自己的权限,主要是管理权限和一般权限只有管理权限才允许增加用户,删除用户等管理功能而一般权限则只能进行一般的工作,没有管理用户的功能用户登录系统的启动同时要求用户根据自己的操作员号码和密码进行登录,通过验证用户的密码,达到确定用户合法性的目的增加用户只有系统管理员权限的身份才具备此功能,为系统增加一个新用户,包括用户登录名,密码,权限等信息其中,可以设置新增用户的权限,系统管理员、报名管理员或者报名登记员,当设定成系统管理员身份时,该拥护具有和系统管理员同样的权限删除用户只有系统管理员权限的身份才具备此功能,从系统删除一个用户,被删除的用户将不能登录本系统重新登录退出系统重新登录一般在新增用户后或者修改密码之后使用验证增加用户或者修改密码是否成功或者以不同权限登录,换一个不同的用户名登录等等数据库连接功能数据库连接信息保存在系统中,再次登陆系统不必设置数据库,但当数据库发生变动时,用户可以配置输入本机或者局域网上的数据服务器名和数据库名如果应用程序与数据库连接成功,下次运行程序就不会再弹出此配置窗口,除非数据库服务器有变更时会弹出购买常识介绍功能主要是针对用户对于不熟悉购买房屋或者租房屋流程,以及各种购房常识等介绍
4.3系统模块详细介绍
4.
3.1租售登记模块主要实现的是管理员以及超级用户(当地房地产公司),即时将拥有的房源具体情况(如地址,面积,户主,联系方式等)登记,经过房屋销售公司实地考察属实后,向客户出售或者出租
4.
3.2租售查询模块主要是对房源的查询,了解房源情况,在浏览房源资料的时候,在选定房源的时候,可以进行登记管理,也便于管理员修改,添加和删除,对房源进行管理对房源的查询方式可分为房源编号,户主,房源地址,面积,朝向和出售价格,出租时间等
4.
3.3租售报表统计模块主要是管理员对当日或者当月房屋出租或者出售情况的统计,便于管理和存档,可以及时将本日或者本月情况打印出来
4.
3.4租售合同管理模块主要是针对客户在选择好房屋后,及时快捷的填写租售合同,便于管理机构管理
4.
3.5用户管理模块用户管理模块,是便于管理员了解当前几个大客户的情况
4.
3.6购房常识管理模块购房常识管理模块,是对不熟悉房屋租售情况的客户详细的介绍购房程序等等各类方便客户的各种介绍第5章数据库设计
5.1概念设计在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式然后再把概念模式转换成逻辑模式将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制在系统设计的开始,首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式可以采用E-R图的方法来进行数据结构分析E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法E-R图由实体、属性、联系三部分组成在本系统中采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型它有两个明显的优点接近于人的思维,容易理解;与计算机无关,用户容易接受ER图是直观表示概念模型的工具,它有四个基本成分矩形框,表示实体类型(考虑问题的对象)菱形框,表示联系类型(实体间的联系)椭圆形框,表示实体类型和联系类型的属性对于关键码的属性,在属性名下划一横线直线,联系类型与其涉及的实体类型之间以直线连接在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余
5.2数据表的设计在完成系统的ER图之后,需要将ER模型转化为关系模型,也就是说,要设计出数据库所需要的表格在这里,选用的是关系数据库因为关系数据库中的二维表格可以很清楚地描述数据之间的联系在这里不得不提到一个概念——范式其实在上一节的ER图设计中,已经运用了范式的思想,不仅如此,在数据库的表格设计中更离不开范式的思想,它是数据库设计的基础,如果不注意这个问题将会导致一系列问题的出现设计原则如下1.进行规范化设计,尽可能地减少数据冗余和重复2.合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量最小,就尽量按照关系数据库系统理论方法去设计一个数据库,减少数据的冗余
3.结构设计与操作设计相结合在设计数据库结构时,有时为了编程实现的简捷和思路的清晰,往往故意增加一些冗余数据这虽然有悖于传统的关系数据库理论,但是考虑到选择的机器型号和档次等因素,如果增加的冗余不会明显增加存储空间和降低处理效率,并且对编程实现有很大帮助,往往可以采用这种方法数据结构具有相对的稳定性数据结构的相对稳定性,可以作为新、旧系统转换的依据无论采用何种方法或手段去处理日常事务,都应该能完成相应的功能,决不会因为采用了计算机而丢失了必要的功能,或彻底改变了原有的工作流程和模式计算机系统的建成是建立在原系统充分调研的基础上的,它既不能脱离原系统的大框架,也不是简单的重复和替代所以数据库表结构设计应保证数据的相对稳定,这样才能考虑在新的数据结构下的业务处理方式在系统中定义的表格都严格地按照范式的思想和要求去完成,数据库中的所有表格都达到了三范式的要求基于以上三条设计原则,根据系统ER图,针对本系统的特点,在对所搜集的数据进行规范化之后,我选用MicrosoftAccsse数据库来进行数据库的逻辑设计房屋销售管理信息系统数据库主要表目录表5-1系统数据库目录序号表名1常识信息表2中介信息表3用户信息权限表4单位信息表5房屋出售合同表6房屋销售合同表以下是两张主要的表用户信息表User表5-2用户信息表字段名称类型长度必填字段用户CHAR20YES密码CHAR12YES权限SMALLINT10YES中介信息表表5-3中介信息表项次字段名称字段大小数据类型必填字段01编号长整型自动编号02收件号10文本NO03类型10文本NO04房屋地址100文本NO05房型20文本NO06朝向20文本NO07楼层长整型数字NO08产别20文本NO09价格货币NO10区域20文本NO11竣工日期日期/时间NO12产权证号50文本NO13房屋设施200文本NO14装修情况100文本NO15交通情况100文本NO16使用年限货币NO17房屋面积货币NO18周围环境200文本NO19备注200文本NO20联系人50文本YES21联系人电话40文本YES22联系人电话240文本NO23联系人身份证号码17文本YES24创建用户20文本NO25创建日期日期/时间NO26成交人姓名20文本YES27成交人电话20文本YES28成交人身份证号20文本YES29成交价格货币YES30成交日期日期/时间YES31成交截止日期日期/时间NO32成交备注200文本NO33合同号20文本NO34佣金金额货币YES35受理用户20文本NO36受理日期日期/时间NO37状态10文本YES第6章系统实现
6.1设计原则人机交互子系统是用户所能直接看到的,是给用户的第一感觉,他现在已经成为判断一个软件好坏的重要标准在设计人机交互子系统的时候,必须遵循以下原则设计出一个易用、低错、适应、美观的界面,能够使用户自如的完成操作,而用户不需要有较高的计算机专业知识和技能主要特点
(1)易用性前期对项目的大量细致的分析,以及对用户群的调查,充分考虑实际操作的各项细节,使得普通用户在不需要查看用户手册的情况下亦能很自如的操作系统,并对操作流程有清晰的了解
(2)低出错率为了防止用户在操作中出现各种失误,界面的设计在各个环节都给与用户必要的提示,同时也在空间排布上引导用户按照正确的顺序进行操作,大大减少操作出错的几率,也减低了操作者的劳动强度
(3)合理性父窗体应该在屏幕的中心位置,子窗体应该在父窗体的左上角或中心,界面退出或关闭的按钮不应该放在易点的位置,对数据进行无法恢复的操作,应有提示信息,给用户有选择放弃的机会对错误的提示要准确、清楚、有足够多的信息
(4)高适应性系统面向的用户群有三类,对于不同的用户,他们拥有不同的操作目的、操作流程以及不同的权限,如何考虑系统的适应性也是界面设计时的重要部分,本系统可以面向不同的用户提供不同的界面,实现高适应性
(5)美观性系统界面以白色和灰色为主色调,辅助以少量鲜艳的小图,给人的感觉是清晰明了,赏心悦目,长时间工作于此系统不会有视觉疲劳感,充分考虑色彩与结构的关系,并通过精心的点缀引导用户的视线顺序完成操作设计出一个易用、低错、适应、美观的界面,能够使用户自如的完成操作,而用户不需要有较高的计算机专业知识和技能
6.2用户登陆窗体设计用户登陆窗体使为了保证系统的安全性,只有许可用户才可进入,如果输入密码和用户名不匹配则不允许进入系统如图图6-1用户登陆窗口本窗体是为三种不同的用户(一般用户,超级用户,管理员)提供选择以进入不同的模块,满足不同用户的需求,采用了常用的登录框来界面显示,其中,接收用户名采用下拉选择框,选项来自数据库中用户表格,主要流程如下图图6-2用户登陆流程图该窗体是在Application运行前,以模态对话框的形式显示出来Dialog分为模态和非模态两种,模态对话框是指用户必须对对话框进行操作才可以继续非模态对话框可以不必对它进行任何操作这里我们必须要使用模态对话框,因为我们只有当用户输入用户名和密码相匹配的时候,点击“确定”按钮进入系统口令Edit是要求用户输入密码,输入的字符都已‘*’的形式显示出来,这就需要调整Edit的PasswordChar属性设置为‘*’在“确定”按钮的激发事件里写入验证代码procedureTFrm_Login.bbtnokClickSender:TObject;begin//录入检验ifcbUserId.text=thenbeginmessagedlg请选择用户名!mtInformation[mbok]0;cbUserId.SetFocus;exit;end;//登录验证withJDBCQ_Tempdobeginclose;SQL.Clear;SQL.AddSELECT*From用户信息表Where用户名=++cbUserId.Text+;Open;//用户有效性IFnotIsEmptythenbegin//登录失败IfedtPassword.TextFieldbyname密码.AsStringthenbeginmessagedlg口令错误,请修改!mterror[mbok]0;LoginNum:=LoginNum+1;ifLoginNum=3thenbeginmessagedlg非法用户!你无权使用本系统mterror[mbok]0;application.Terminate;end;edtPassword.Text:=;edtPassword.SetFocus;exit;end//登录成功elsebegin//保存登录的用户信息gs_login_userid:=fieldbyname用户名.asstring;gs_login_username:=fieldbyname用户名.asstring;gs_login_userlevel:=fieldbyname用户等级.asstring;gs_login_Password:=fieldbyname密码.asstring;gt_login_time:=now;Login:=true;self.close;end;endelsebeginmessagedlg指定的用户已被注销!你无权使用本系统!mterror[mbok]0;Login:=False;self.close;end;end;end;procedureTFrm_Login.edtPasswordKeyDownSender:TObject;varKey:Word;Shift:TShiftState;beginifkey=VK_RETURNthenbbtnOk.SetFocus;end;procedureTFrm_Login.FormCreateSender:TObject;begin//Login:=false;//初始化用户选择列表withJDBCQ_Tempdobeginclose;SQL.Clear;SQL.AddSELECT用户名From用户信息表;Open;whilenoteofdobegincbUserId.Items.AddFieldByName用户名.AsString;Next;end;close;end;cbUserId.ItemIndex:=0;end;
6.3主窗体设计根据以上原则,和数据流程图子做了下面的主窗体,主菜单分为业务操作,购房常识,统计报表和系统维护下边为快捷操作栏,提供了方便用户操作的接口(房屋出租登记,房租出租查询,房屋出售登记,房屋出售查询,购房常识管理,退出系统)为了实现工具条的拖动,利用了JSP的CoolBar控件,控制TBMenu和TBTool两个ToolBar控件,并且在主窗体最下边利用了StatusBar,显示用户信息和时间信息图6-3主窗口设计在MDI程序中,MDI主窗体的功能是提供子窗口显示的位置和提供菜单、工具条、状态条等
6.4房屋租售登记表模块设计
6.
4.1房屋租售登记表输入房屋登记表的流程图如下图6-4房屋登记流程图房屋管理输入界面如图图6-5房屋出租管理界面房屋登记表输入举例具体输入收件号001房屋地址杭州市下沙高教圆杭州电子科技大学建筑面积500楼层5,租金5000元/月其中,租金,产权证号,联系人,联系人电话,身份证号为必须填写内容,其实竣工日期为标准格式,身份证号码位数必须在1位一内,其余内容可不填写代码如下functionTFrm_LendDetail.f_CheckValue:Boolean;begin//ifdbePrice.Text=thenbeginMessageBoxhandle请输入租金!提示MB_OK+MB_ICONINFORMATION;dbePrice.SetFocus;Result:=False;Exit;end;//ifdbeLinkName.Text=thenbeginMessageBoxhandle请输入联系人!提示MB_OK+MB_ICONINFORMATION;dbeLinkName.SetFocus;Result:=False;Exit;end;当客户在确定租用此房后,点“房屋出租”按钮的激发承租方信息填写部分简要代码如下begininherited;//strCommandName:=TButtonSender.Caption;//withJDBCQ_Datadobeginedit;//ifstrCommandName=房屋出租thenbeginFieldByName状态.AsString:=已处理;FieldByName受理用户.AsString:=gs_login_username;FieldByName受理日期.AsString:=FormatDateTimeyyyy-mm-ddf_GetNow;endelseifstrCommandName=房屋作废thenbeginFieldByName状态.AsString:=已作废;FieldByName受理用户.AsString:=gs_login_username;FieldByName受理日期.AsString:=FormatDateTimeyyyy-mm-ddf_GetNow;endelsebeginFieldByName状态.AsString:=未处理;FieldByName成交人姓名.AsString:=;FieldByName成交人电话.AsString:=;FieldByName成交人身份证.AsString:=;FieldByName成交价格.AsString:=;FieldByName成交日期.AsString:=;FieldByName成交截止日期.AsString:=;FieldByName成交备注.AsString:=;FieldByName合同号.AsString:=;FieldByName佣金金额.AsString:=0;FieldByName受理用户.AsString:=;FieldByName受理日期.AsString:=;end;//post;end;//f_StatusChangeProc;//ifpnlBargain.Enabled=truethenbegindbeBargainName.SetFocus;end;end;在出租方放弃出租此房屋,点“房屋作废”将此房屋消去,客户将无法查询此房屋情况当房屋租期满以后,可根据出租方要求,将此房屋继续出租
6.
4.2房屋出租查询“房屋中介管理系统”中,查询功能也是一个十分重要的功能,当有很多房屋信息时,如何给用户呈现出需要的信息和过滤掉不用的信息是一个需要解决的问题因此,考虑到用户的需求,系统应该具有一个比较人性化的查询系统,可以根据不同的要求来进行查询查询的速度要快捷,查询的结果要准确“房屋中介信息系统”的查询系统可以分成下面几个方面来进行查询根据房屋地址,根据房屋状态,根据户主,根据房屋朝向等来进行模糊查询主要流程见下图条件非法条件合法图6-6房屋信息查询流程图图6-7房屋查询界面简要代码如下begininherited;//构造过滤条件strFilter:=;iftrimedtNo.textthenstrFilter:=strFilter+收件号like+%+edtNo.text+%+AND;//ifcboStatus.itemindex=1thenbeginstrFilter:=strFilter+状态=+未处理+AND;endelseifcboStatus.itemindex=2thenbeginstrFilter:=strFilter+状态=+已处理+AND;endelseifcboStatus.itemindex=3thenbeginstrFilter:=strFilter+状态=+已作废+AND;end;//iftrimedtHouseAddr.textthenstrFilter:=strFilter+房屋地址like+%+edtHouseAddr.text+%+AND;iftrimcbHouseType.textthenstrFilter:=strFilter+房型=++cbHouseType.text++AND;iftrimcbHouseWay.textthenstrFilter:=strFilter+朝向=++cbHouseWay.text++AND;iftrimcbHouseArea.textthenstrFilter:=strFilter+区域=++cbHouseArea.text++AND;iftrimedtLinkName.textthenstrFilter:=strFilter+联系人like+%+edtLinkName.text+%+AND;ifchkStartDate.CheckedthenstrFilter:=strFilter+创建日期=#+FormatDateTimeyyyy-mm-dddtpStartDate.DateTime+#AND;ifchkEndDate.CheckedthenstrFilter:=strFilter+创建日期=#+FormatDateTimeyyyy-mm-dddtpEndDate.DateTime+#AND;//ifstrFilterthenstrFilter:=copystrFilter0LengthstrFilter-5;//查询ifstrFilter=thenbeginParmJDBCqData.Filtered:=false;endelsebeginParmJDBCqData.Filtered:=true;ParmJDBCqData.Filter:=strFilter;end;//close;end;end.这样方便于客户在最短时间内找到,符合自己条件,满意的房屋
6.5房屋租售报表的统计和打印房屋租售报表的打印均使用了JSP
2.0的QuickReport控件,使用该控件可以快速准确的生成房屋出租或者出售情况,如图所示需要说明的是,由于没有安装打印机,未能进行测试由于QuickReport支持预览,预览得到的结果如上两图所示,可视为打印结果图6-8房屋报表打印界面第七章系统测试
7.1测试的原则软件测试(Softwaretesting)是软件生存期(Softwarelifecycle)中的一个重要阶段,是软件质量保证的关键步骤通俗地讲,软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码进行最终复审的活动1983年IEEE提出的软件工程术语中给软件测试下的定义是“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”这个定义明确指出软件测试的目的是为了检验软件系统是否满足需求在G.J.Myers的经典著作《软件测试技巧》中,给出了测试的定义程序测试是为了发现错误而执行程序的过程测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有破坏性,测试可视为分析、设计和编码3个阶段的最终复审,在软件质量保证中具有重要地位为了确保软件的质量,较理想的做法应该是对软件的开发过程,按软件工程各阶段形成的结果,分别进行严格的审查当设计工作完成以后,就应该着手测试的准备工作了,一般来讲,由一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准则,设计完整合理的测试用例,以便系统实现后进行全面测试
7.2测试的方法
1.基本数据的测试在数据测试的过程中,主要根据一些数据的临界值,从数据类型,数据范围,数据长度等多方面考虑,列举了一系列的测试用例,重点测试了一些危险数据和边缘数据,尽量做到系统的可靠性针对每一种情况,包括正常情况和非正常情况都举了很多测试用例从用户的角度考虑,可能出现的操作错误和数据输入错误,也都进行了一系列的测试
2.系统的测试在测试系统整个流程的过程中,针对系统的主要流程,进行用户的模拟操作针对系统各个功能模块,对照功能的流程图,对每一个操作都进行了分析,得出了各种可能出现的情况,并对各种情况的不同处理进行了测试,包括正常情况和错误处理情况对应各种错误,不管是常见的错误和可能发生的错误,都进行了相应的测试
3.其他测试在系统的可移植性上,把编译成可执行文件的程序拿到不同的软件环境和硬件平台下进行测试包括不同的操作系统(仅限于常用的几种Microsoft的Windows系列),以及常见的一些硬件环境中都进行了测试对客户机/服务器模式的工作情况进行了测试,不只在本地机器,还在服务器上也进行了测试在数据的安全保密性方面,也做了相应的测试由于测试的过程中,时间比较少,在测试的方法和测试用例的选择方面可能还存在各种不足之处,系统的某些方面难免存在不足或者漏洞,只能在现有的水平上来解决所有这些现有的问题不过,系统的可维护性还是很高的,如果以后发现新的问题,应该可以及时解决通过对基本数据的测试,发现了一些问题,例如输入数据超过范围,输入数据类型不符,数据长度不符等等,针对每一种错误,进行了相应的错误处理,在数据的安全性方面,系统增加了很多约束,例如通过不可编辑的下拉单来防止用户输入非法的数据,通过灰化动态文本框来保证数据的安全等等经过反复的测试和修改,基本达到了数据方面的准确性,可靠性和安全性的要求在测试系统的整个流程的过程中,针对系统的不同分支结构,不同功能模块,都发现了或大或小的问题,例如,退出窗口提示数据保存信息,非法用户的越权操作,以及一些逻辑顺序错误在改正这些错误的同时,对整个系统的结构又进行了比较完善的修改,尽量做到了没有系统错误,没有异常退出等情况出现经过多次修改并测试,基本能够达到功能完备,无异常错误,数据安全,用户权限可靠等目的
7.3测试用例设计测试用例设计有两个目的第一个是房屋销售管理系统给用户使用时,标记出本系统的缺陷第二个是测试设计的产品是否完全满足用户提出的要求主要的测试工作如下
(1)识别测试场景;
(2)对每个用例,识别一个或多个测试用例;
(3)对每个测试用例,识别引起执行的条件;
(4)增加数据处理完成测试用例本软件只考虑功能测试不考虑非功能测试
7.4房屋销售管理系统测试记录在设计测试用例时,形成了大量的测试用例我们在此只给出部分示例,如表格7-1所示表7-1房屋销售管理系统部分测试记录编号功能名称功能描述输入内容输出内容发现问题测试结果测试01会员登录用例名称会员登录前置条件该会员必须是本网站已注册的成员后置条件该会员登陆成功主要事件流
1、该会员选择登陆
2、会员打开一个登陆页面
3、会员输入用户名、密码并提交
4、房屋销售管理系统调用数据库进行验证,如果相符合,该用户为登陆状态异常处理如果系统验证用户登录信息有误,则提示该用户重新登录用户登录信息会员登录成功登录信息有误无正确测试02用户注销用例名称用户注销前置条件该用户必须已成功注册并成功登陆的用户后置条件用户注销登陆主流事件会员选择“注销”系统提示用户成功注销并返回网站首页扩展测试无异常处理当系统异常时,给出相应的提示信息确认注销注销成功无正确续表编号功能名称功能描述输入内容输出内容发现问题测试结果测试03浏览房屋信息用例名称浏览房屋信息前置条件用户必须在浏览影片列表时查看某个影片的详细信息后置条件用户浏览房屋信息主事件流
1、用户选择查看房屋的详细信息
2、系统返回房屋的详细信息异常处理该房屋信息被管理员删除暂时无详细信息点击查看详细信息房屋详细信息错误页面无正确结论本系统通过不断改善,已经可以正常运行,基本实现所设计的功能系统运行稳定,操作简单,维护方便,实现对房源的管理本系统充分考虑人性化设计,每个模块都仅可能的简化用户和操作员的输入,并有各种的系统提示,以方便用户的使用由于本身水平有限,时间仓促,本系统还有很多不尽人意的地方比如统计比较粗糙,设计时没有过多的考虑数据库查找效率等等对用户需求了解的正确与否,直接影响程序设计、系统测试、系统维护的进度和工作量即使开发软件工作组怎么优秀,团队合作如何融洽,需求这块都是绝对不容忽视的比如以下几种心理或现象都是比较普遍的一是与用户合作不如编写代码有意思;二是因为开发人员觉得已经明白用户的需求了;三是“画蛇添足”,开发人员力图增加一些“用户欣赏”但需求规格说明中并未涉及的新功能;四是用户提供过于简单的规格说明;等等这都是我们要避免的对需求了解的错误导致的返工是软件工程的大忌做这个系统,首先要深入的调查需求,然后参考一些类似的系统永远都不要觉得自己已经能够完全独立的开发一个系统了,那样只能让你裹足不前只有结合别人的心得、示例、自己的经验、创新,你才会进步由于以前软件工程课的学习,因此写流程图、结构图的时候相对比较轻松,有明确的方向,这就是所谓的经验数据库设计是一个很关键的步骤,表与表之间清晰的关系,表内部的主码设计的好坏,数据的累加数据项的添加等都是不容忽视的问题有些可能在理论上不需要的字段,但实际应用中往往把它添上去比如说报考登记表模块,并不要求把考生的报名的那个时间写进去,但我们添一个时间字段,在数据库中自动添加当前系统日期这样我们就可以轻松的统计出每天的报考人数,哪一天报考的人数最多等等,可根据这个生成日报表、周报表等等接下来是程序设计首先根据先前的经验和用户的需求,搭好一个整体的框架在这里考虑的问题为
一、降低软件模块间的耦合度,高耦合度的系统是很难维护的一处的修改引起另一处甚至更多处的变动你可以通过以下方法降低程序的耦合度隐藏实现细节,强制构件接口定义,不使用公用数据结构,不让应用程序直接操作数据库(经验法则是当应用程序员在写SQL代码的时候,你的程序的耦合度就已经很高了)耦合度低的软件可以很容易被重用、维护和扩充
二、提高软件的内聚性,如果一个软件的模块只实现一个功能,那么该模块具有高内聚性高内聚性的软件更容易维护和改进判断一个模块是否有高的内聚性,看一看你是否能够用一个简单的句子描述它的功能就行了如果你用了一段话或者你需要使用类似“和”、“或”等连词,则说明你需要将该模块细化只有高内聚性的模块才可能被重用系统测试其实和系统设计基本是同步的,在其中得到的体会、心得在前面已经提到,这里就不重复了在整个系统的设计过程中,遇到过很多障碍,挫折,然而当整个系统完整的展现在自己的面前时,这种喜悦是只可意会的致谢本次设计历时三个月在本次毕业设计中,能够基本顺利的完成任务,是与老师的耐心指导分不开的老师无论是在毕业设计过程中,还是在论文完成中都给予了我极大的帮助同时,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅他勤奋严谨的教学态度也给我留下了极为深刻的印象我从老师身上学到了很多东西在理论上还是在实践中,我能力都得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此,特向老师表示由衷的感谢通过这次毕业设计的整个开发过程,我系统开发过程从需求分析到具体功能实现,再到最终测试和维护的理解有了很大的进步,让我对系统开发有了更深层次的认识现在我的动手能力和独立解决问题的能力也得到了很大的锻炼和提高,这是这次毕业设计最好的收获最后,在整个系统开发过程中,我身边的同学和朋友给了我很多的建议,让我很快的确定了系统的业务逻辑在次我衷心的向他们表示感谢学生签名日期20140528参考文献
[1]DusanPetkovic.SQLServer2000ABeginner’sGuide[M].北京清华大学出版社,
2001.
[2]SteveTeixeiraXavierPacheco.JSP6Developer’sGuide[M].北京机械工业出版社,
2002.
[3]张海藩.软件工程导论[M].北京清华大学出版社,
1998.
[4]郭盈发,张红娟.数据库原理[M].北京西安电子科技大学出版社,2002
[5]吕伟臣.JSP7入门与提高[M].北京清华大学出版社,2004
[6]林华聪余剑峰.JSP6数据库设计思想与实践[M].北京冶金工业出版社,2002
[7]杨海东刘海英.JSP数据库高级实例导航[M].北京科学出版社,2004
[8]卢国俊.JSP6之数据库开发[M].北京电子工业出版社,2002
[9]陈玉明邱桃荣.基于C/S与B/S国家高新技术考试管理信息系统的设计与实现[J].上海上海第二工业大学学报2004Vol.21No.1
[10]谢天刘路.管理信息系统的设计与实现[J].洛阳华南工业专科学校学报[J]2003Vol.13No.2
[11]谢学慧黄万华胡振宇林士敏.原型进化模型及在管理信息系统开发中的应用[J].桂林广西师范大学学报自然科学版2001Vol.19No.4
[12]刘新伟杨嵩.JSP数据库连接[J].成都西南工业大学学报[J]2003Vol.12No.3房屋销售管理系统租售登记租售查询报表统计合同管理用户管理购房常识管理房屋中介管理系统(系统自动实现功能)房屋登记表统计处理、生成、打印,房屋出售和出租合同的管理管理人员,超级用户登记房屋信息操作人员(操作菜单)房屋登记表的输入,房屋登记表的修改删除,房屋出售和出租合同的录入用户(操作菜单)房屋出售和出租登记表的查询,确认购买信息,填写个人信息用户输入登录信息判断合法性查询数据库验证密码密码正确登录成功登录失败用户输入房屋信息数据合法判断存入数据库存入成功?增加完毕显示错误信息用户选择查询内容用户设置查询条件查询条件判断更改查询条件显示查询信息显示错误信息。