《网上售楼系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《网上售楼系统的设计与实现.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、, 网上售楼系统的设计与实现摘要本文所要介绍的网上楼房销售系统是当前流行的网上商店的一种形式,它也是电子商务的一个缩影。当前的网上楼房销售系统不少,但是采用J2EE架构开发的还是寥若晨星。通过该系统的开发研究,不仅可以学到如何使用J2EE架构来开发一个比较完善的网上楼房销售系统,还可以由此扩展思路,开发出其它形式的服务于电子商务的应用系统。本网站采用JAVA语言开发,后台数据库是与Java无缝连接、操作简单、易于使用的MYSQL,主要采用Struts框架技术,实现了一个基于web的B/S模式的网上楼房销售系统。其主要功能包括对外沟通展示功能、信息发布功能、在线楼房展示功能、到在线洽谈功能、在线
2、交易功能、在线采购功能、在线客户服务功能以及强大的系统管理员的功能等等。本文阐述了在线购买楼房方式的优势,并对所做网站的分析、设计及实现过程做了详细介绍关键词J2EE;MVC;模型;售楼;AbstractIn this paper, the online Building sales system introduced is a form of the popular online store, It is also a microcosm of e-commerce. The current number of online building sales system is not a fe
3、w, However, the adoption of a framework for the development of J2EE is rare as morning stars. The system developed by the research, not only can learn how to use the J2EE architecture to develop a complete online Building sales system, can also extend this idea to develop other forms of e-commerce s
4、ervices in the application system.My system is implemented by JAVA, using Struts in normal processing of Software Development and in B/S mode of Web in design and development of System and background database that has seamless connectivity with java, is simple and easy-to-used is MYSQL. Its main fun
5、ctions include display of external communication functions, information publishing, online Building display functions, to negotiate online features, online trading features, online procurement functions, online customer service functions and a strong system administrator functions, and so on. This t
6、hesis introduces advantages of Shopping on internet and presents a further introduction to analysis, design and process of the web.KeywordsJ2EE;MVC;module;Sales目录摘要IAbstractII第一章绪论11.1 课题的研究背景11.2国内现状11.3研究意义1第二章相关技术介绍32.1 JAVA开发语言的选择32.2 MVC设计模式52.3 Struts62.4 wel.xml62.5 tomcat容器7第三章需求分析83.1整体说明83
7、.1.1 楼房浏览模块83.1.2楼房管理模块83.1.3 购物车模块83.1.4 订单管理模块83.1.5 留言信息模块83.1.6 顾客留言信息管理模块83.1.7 楼房类别信息管理模块83.1.8 推荐楼房信息显示模块93.1.9 顾客的注册、登录模块93.1.10 后台信息管理的登录模块93.1.11 用户管理模块93.1.12 公告内容显示模块93.1.13 公告管理模块93.1.14 楼房评论和回应模块93.1.15 楼房评论和回应管理模块93.1.16 网上调查模块103.1.17 新建楼房上架显示模块103.1.18 楼房销售排行显示模块103.1.19 分类浏览楼房模块103
8、.1.20 网上调查管理模块103.2具体需求103.2.1功能103.2.2可用性113.2.3可靠性113.2.4性能113.2.5可支持性113.2.6设计约束113.2.7联机用户文档和帮助系统需求113.2.8购买的构件113.2.9接口11第四章数据库设计134.1数据库的概念134.2数据库的三层结构134.3数据库的选择144.3.1 数据库的概念144.4 数据库表的描述144.3.1 用户信息表(tb_member)154.3.2 楼房信息表(tb_building info)154.3.3 订单信息表(tb_order)164.3.4 订单信息明细表(tb_order_d
9、etail)164.3.5 管理员表(admin)164.3.6 公告信息表(tb_BBS)174.3.7 折扣信息表(tb_rebate)174.3.8 投票信息表(tb_poll)174.3.9 楼房类别表(building type)184.3.10 留言信息表(mess)184.3.11 评论表(remark)184.3.12 回应信息表(remark)19第五章 基于UML的系统建模205.1 UML概述及系统分析步骤205.1.1 UML概述205.1.2基于UML面向对象的系统分析步骤235.2楼房管理模块的结构图235.3购物车模块的结构图245.4留言信息管理模块的结构图24
10、第六章 系统实现266.1网站总体架构及实现266.1.1系统总体结构图266.1.2用户首页界面风格266.2 楼房信息查询276.2.1 功能描述276.2.2 模块流程图276.2.3 界面风格286.2.4 实现算法28第七章 系统测试307.1测试概述307.2测试用例设计307.3 本章小结31结论32参考文献33致谢34第一章 前言在网络日趋普及的今天,基于因特网的一种新的商业模式已经开始走进很多人的生活,其特征是商务活动在因特网上以数字化电子方式完成。1.1 课题的研究背景网上楼房销售系统是一种新兴的楼房销售平台。随着全球经济一体化的逐步发展和深入,再加上计算机和网络技术的迅猛
11、发展,传统建筑商因企业成本高、规模小,品种少已经阻碍了楼房市场的发展,网上楼房销售系统的应运而生,它有着其他形式的建筑商所不能比拟的优势:不受时空的限制,一天24小时的营业时间。全世界范围内都可以销售;它不需要店铺和庞大的销售网络,通过在网上直接订购、支付、结算,减少了中间的环节和开支,它以成本低,楼房数量多、品种齐全而备受消费者的青睐。因此,在网上购买楼房已成为购买楼房的主要手段。为了满足广大顾客的需要,所以推出了网上楼房的解决方案。1.2国内现状无论是出于仿效,还是迫于竞争,一些老牌的楼房销售商也加入网上建筑商的行列,如庞诺建筑商(B),疆界建筑商(B)等。至少在1997年,国外网上建筑商
12、达两百家以上。而在国内,自杭州新华建筑商创办第一家网上建筑商后,网上建筑商如雨后春笋般涌现出来。其中最为有名的莫过于 1999年1月1日开通的上海销售商网上建筑商和3月9日正式营业的北京楼房大厦网上建筑商。现在,国内网上建筑商数量数不胜数,因此我们很容易能看出国内网上建筑商竞争的激烈性。1.3研究意义楼房销售系统在国际互联网上可以实现的商务功能已经多样化,从基本的对外沟通展示功能、信息发布功能、在线楼房展示功能、到在线洽谈功能、在线交易功能、在线采购功能、在线客户服务功能、在线网站管理功能等等,几乎以往传统商店功能都可以在互联网上进行电子化的高效运作。同传统的建筑商相比,网上楼房商店具有如下三
13、点优势:1)企业上网不仅给消费者和企业提供了更多的选择消费与开拓销售市场的机会,而且也是提供了更加密切的信息交流场所,从而提高了企业把握市场和消费者了解市场的能力。同时企业上网扩大了企业的竞争领域,使企业从常规的广告竞争、促销手段等领域的竞争扩大到无形的虚拟竞争空间。2)网上建筑商改变了企业竞争的交易成本。网上建筑商具有投入成本低、批发数量大及用户多的优势。电子商务也使企业规模影响竞争力的基础发生了改变。例如在传统的销售渠道中,大书商与小书商之间的竞争差别很大。电子商务使大书商与小书商之间规模差距的竞争变得几乎微不足道。美国西雅图亚马逊公司在网上开办了一家大型建筑商,提供250万册楼房供在线购
14、买。只有两个人管理的网上建筑商提供的书目和服务,几乎可以与200人管理的传统建筑商提供的书目和服务一样。3)网上建筑商的经验表明,如果网上建筑商可以为顾客提供品种齐全的楼房、折扣以及灵活的条件、可靠的安全性和友好的界面,在线购物者一般都愿意在网上进行楼房交易。展望未来,网上楼房超市势必成为社会发展不可缺少的一部分,而其自身的发展趋势也必然更专业化、高质量化。那么就要求我们提供的不仅仅是简单的在线查询、购买这么一个功能,而是要做到以客户的需求、爱好等各方面因素来改进我们的服务,使之更加专业,更有特色1.4本章小结本章介绍楼盘销售系统的可行性研究,其系统的目的,系统意义的简要介绍,对于系统开发前期
15、阶段和过程起着重要的意义。第二章 相关技术介绍本章介绍了在网上售楼系统中主要使用到的相关技术,如MVC、J2EE等。本系统的设计与实现需要使用者对这些技术有一定的理解。2.1 JAVA开发语言的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有:SUN公司的JavaMicrosoft公司的Visual BasicMicrosoft公司的Visual CBorland公司的DelphiPOWERSOFT公司的POWERBUILDER在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可
16、视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择Java语言开发,其原因基于以下几点:Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的语言1。 1)简单:Java的风格类似于C+,并且摒弃了C+中容易引发程序错误的地方,如指针和内存管理。 此外Java提供了丰富的类库。2) 面向对象:面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。3) 分布式:Java包括一个支持HTTP和FTP等基于TCP/IP协议的子
17、库2。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。4) 健壮:Java致力于检查程序在编译和运行时的错误。Java自己操纵内存减少了内存出错的可能性。Java提供Null指针检测数组边界、检测异常出口、字节代码校验。 5) 安全:Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。6) 结构中立:为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只
18、要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种高层次的与机器无关的byte-code格式语言3,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。 7) 可移植的:Java的可移植性一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术4。JAVA编译器产生的目标代码(J-Code) 是针对一种并不存在的CPU-JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。
19、8) 高性能:Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C+的性能没什么区别。 9) 多线程:Java支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。10) 动态:Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C+语言进行面向对象程序设计所无法实现的。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符
20、号引用信息转换为数值偏移量。2.2 MVC设计模式MVC(Model-View-Controller的简称)是XEROXP ARC在20世纪 80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,目前是J2EE应所最常见的体系结构,它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。视图是用户看到并与之交互的界面,也即应用程序的外观。作用包括接收用户的输入,它并不包括任何实际的业务逻辑,它只是将数据转发给控制器。同时,视图还负责展现模型传递给用户的数据,当后台模型更新数据时,视图也应当随之更新它的显示。模型表示业务数据和业务
21、逻辑,是应用程序的主体部分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。MVC的优点表现在如下几个方面:1) 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。2) 由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。3) 此外,控制器
22、提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。MVC的缺点表现如下:在于它没有明确的定义,所以一个开发人员完全理解MVC并不是很容易。使用MVC也需要精心的计划,由于它的内部原理比较复杂,所以开发者需要花费相当可观的时间去考虑如何将MVC运用到应用程序之中。同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦构件经过了测试,就可以毫无顾忌的重用它们了。还有开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。同时新东西的引入会带来
23、新的问题,在选择MVC开发模式时必须仔细考虑这下问题:1) 必须基于MVC组件的方式重新思考和设计应用结构。原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。2) 所有的页面和组件必须在MVC框架中实现,所以必须进行附加地开发工作。MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架,在此之下进行开发,从而取得事半功倍的效果1。2.3 Struts简介Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java、Servl
24、etJSP技术,实现了基于Java EEWeb应用的Model-View-ControllerMVC设计模式的应用框架WebFramework,是MVC经典设计模式中的一个经典产品6。很多开发人员认为Struts目前尚不成熟,应用的成本较高。 附带的一点点建议: Struts的优点主要集中体现在两个方面:TAGLIB和页面导航。TAGLIB是Struts的标记库,灵活动用,能大大提高开发效率。 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟
25、Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。2.4 wel.xml配置web.xml是Java SERVLET规范所必需的web应用程序配置描述。SERVLET/JSP容器使用这个文件来装载、配置应用程序,它用来通知SERVLET容器如何配置SERVLET和其他应用程序需要的高级对象。struts-config.xmlstruts-config.xml是Struts中核心文件7。该文件配置各种组件,包括数据源DATASOURCE、表单类FORMBEAN、全局异常GLOBALEXCEPTION、全局转发GLOBALF
26、ORWARD、行为映射ACTIONMAPPINGS、控制器Controller、消息资源MESSAGERESOURCE及插件PLUGINS。2.5 tomcat容器Tomcat是一个免费的开源的SERVLET容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成8。由于有了Sun的参与和支持,最新的SERVLET和JSP规范总能在Tomcat中得到体现。Tomcat被JAVAWORLD杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。Tomcat4.0x中采用了新的SERVLET容器:Catalina,完整的
27、实现了Servlet2.3和Jsp1.2规范9。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的SER
28、VLET类和JSP或SERVLET所依赖的其它类(如JAVABEAN)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的WEBAPP目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为SERVLET文件,然后编译10。编译以后,访问将会很快。Tomcat不仅仅是一个SERVLET容器,它也具有传统的Web服务器的功能:处理Html页面。但是
29、与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和SERVLET.这种集成只需要修改一下Apache和Tomcat的配置文件即可。2.6 本章小结本章首先介绍的JAVA开发语言的相关概念和基础知识,然后进一步介绍MVC高内聚低耦合的开发模式的基本概念,最后介绍了本系统开发使用的开发语言及其搭建服务器的相关概念。第三章 需求分析与概述网上楼房销售系统是一个基于内部网和外部网的应用程序,采用J2EE技术,提高系统数据的共享性,增加系统服务的对象。3.1功能结构描述3.1.1 功
30、能需求分析本系统主要分为5大功能模块,楼盘管理模块,订单管理模块,交易管理模块,用户管理模块,管理员管理模块,各大模块中又分为多个2级模块,用户登录系统后便可以浏览楼盘信息,购买楼盘,查看订单信息,交易记录信息。管理员登录系统可以添加,删除,更改楼盘信息等。具体的功能细节如下图:图3-1功能结构图3.1.1 系统数据流设计根据功能结构描述和需求分析制定系统的数据流向,具体的管理员管理和用户管理的数据操作流向见下图:图3-2系统数据流图3.2系统整体分析与概述本节将从功能,可行性,性能分析本系统。3.2.1 功能需求分析整个功能分为两大分类,用户管理和管理员管理,用户登录后可以查看购买楼盘等,管
31、理员的登录后可以添加,更改楼盘信息等,具体的需求如下。(1)顾客可以方便地查看楼房信息,及了解每天的特价楼房。(2)顾客可以方便地队购物车中的楼房进行增加、删除、修改和下订单。(3)顾客可以反馈自己的满意和不满意意见。(4)管理员可以方便地添加、删除、修改楼房和添加和删除、楼房类别。(5)管理员可以方便地查看订单,可以方便执行订单。(6)管理员可以方便地查看顾客留言信息和记录反馈信息的处理情况。(7)管理员可以方便地添加、删除、修改推荐楼房,新上架楼房,畅销楼房。(8)管理员可以方便地查看和冻结用户信息。3.2.1 可行性分析本系统采用JSP开发语言,使用TOMCAT服务器,在windows
32、XP下开发网站,使用B/S结构开发系统其性能特性如下:(1)响应时间:对远程查询访问响应的平均时间是3秒,最长是10秒;Intranet程序的响应时间少于1秒。(2)吞吐量:每秒处理的事务数达到2000条。(3)容量:系统可以容纳的客户数是1000人同时使用。具体是开发环境为应用的开发工具是JDK1.5、Tomcat6.0、Dreamweaver MX 8.0和MYSQL,设计的模块和性能将受到上述开发工具的约束。3.2.1 性能分析使用数据对象关联查询提交楼盘检索速度,订单和交易记录分离管理降低功能模块的耦合,用户可以清晰的了解系统的模块分类。3.2本章小结本章介绍了系统的功能需求,并从功能
33、,可行性,性能等方面详细对系统进行了描述。使用数据楼房浏览模块 楼房浏览模块是互联网程序,它的用户是顾客。顾客可以分不同楼房种类浏览楼房的名称、种类、价钱、建造商和建造日期等;顾客可以输入楼房关键字查询楼房信息。3.1.2楼房管理模块楼房管理模块是应用程序,它的用户是后台系统管理员。楼房信息管理员可以添加、删除、修改楼房的种类和楼房。3.1.4 订单管理模块订单管理模块是应用程序,它的用户是后台系统管理员。管理员负责查看订单的详细信息和执行订单。3.1.7 楼房类别信息管理模块楼房类别信息管理模块是应用程序,它的用户是后台管理员。管理员可以查看、增加、删除楼房类别信息。3.1.9 顾客的注册、
34、登录模块顾客的注册、登录模块是互联网程序,它的用户是顾客。顾客需求登录楼房销售系统才可以选购楼房。3.1.10 后台信息管理的登录模块信息管理的登录模块是应用程序,它的用户是后台管理员。管理员登录通过验证,可以对后台信息进行操作。3.1.11 用户管理模块用户管理模块是应用程序,它的用户是后台管理员。管理员可以查看用户的详细信息、冻结或解冻用户信息。3.1.17 新建楼房上架显示模块新建楼房上架信息显示模块是互联网程序,它的用户是顾客。顾客可以查看最新的上架楼房列表,可以将新上架楼房放入购物车。3.1.19 分类浏览楼房模块分类浏览楼房模块是互联网程序,它的用户是顾客。顾客可以点击楼房类别,然
35、后显示该类别的所有楼房,可以将楼房放入购物车。第四章 数据库设计4.1数据库的概念本网站将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQL Server 2000/7.0等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。4.2数据库的三层结构1、用户视图层:这一层面向各个具体用
36、户。从满足用户需求出发而设计的各种各样的文件结构,在系统中称为子模型。子模型用图、表来表示,给人以直观清晰、一目了然之感。用户看到的是一些视图,它只提供用户所需的信息,以免用户访问到其它无关的信息。例如,在银行中的顾客看到的是数据库顾客账户的信息,他们不能访问银行雇员的工资信息。然而计算机是不会认识这些图表的。为了让计算机认识它,DBMS设置了一种数据定义语言(DLL)。用DLL精确定义数据模型的程序称为模式。除非整体改动,否则数据库模式一般是部经常变化的。用户视图的这种语言形式定义称为子模式。由图可见,对于同一数据库,系统提供许多的用户视图。也就是说,一个数据库可以有多个不同的子模式。2、逻
37、辑层:这一层面向全局,它综合各用户的信息需求,设计了一个全局性的、完整的而又无冗余的系统框架,称为逻辑模型。逻辑层的简单数据结构的操作要与复杂的物理层结构相联系,但用户不用担心这些,因为逻辑层是由数据库管理员来使用的。逻辑模型的语言形式定义为逻辑模型。用户的信息来自逻辑层,而逻辑层又从物理层获的信息。3、物理层:这一层完全面向物理存储。物理层详细的描述了复杂的底层数据结构。在完成存放基本文件的前提下,考虑物理存储的最佳组织形式,我们把不考虑用户需求而仅仅着眼于物理存储的模型称为物理模型。用DDL定义的语言形式称为物理模式。物理模式是逻辑模式的具体实现。数据库系统具有几个模式。在最底层是物理模式
38、,中间层是逻辑模式,在最高层是子模式。总而言之,数据库系统支持一个物理模式,一个逻辑模式和几个子模式。在某一层上修改一个模式而不影响其它层的模式定义的能力称为数据独立性。有两种独立性。物理独立性:是指当数据的物理存储设备、物理存储结构和存取方法发生变化时,数据的逻辑结构和定义可以不变,应用程序也可以不变的能力。逻辑独立性:是一种应用程序可以不管逻辑模式定义的改变而正确执行的能力。从另一方面说,用户要求的改变,应对用户的子模式的影响最小。逻辑独立性比物理独立性更加难以实现。因为应用程序更大程度上依赖于它们所访问的数据的逻辑结构。数据独立性概念与现代编程语言中抽象数据类型概念的许多方面相似。两者都
39、对用户隐藏了底层信息,而用户关系的只是普通结构。4.3数据库的选择4.3.1 数据库的概念本网站使用MYSQL实现关系型数据库。MYSQL是一个真正的多用户、多线程SQL数据库服务器,是一个客户机/服务器结构的应用,它由一个服务器守护程序MYSQL和很多不同的客户程序及相关的库组成。它有较好的数据承载能力,一个环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,总数据大约有100GB的数据库系统可以很好的被MYSQL所支持,而MYSQL本身不会像Oracle那样对系统及硬盘空间有很高的要求,同时用户权限设置简单、有效。这也是本网站选用MYSQL作为后台数据库系统的一个重
40、要原因之一。4.4 数据库表的描述概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体关系模型,即ER模型,它是用ER图来描述现实世界的概念模型。本系统中,每个楼盘信息对应着特定的楼盘类型,用户可以浏览楼盘信息并且预定楼盘信息,用户可以预定多以楼盘信息,预定成功后生成订单数据,当系统处理完订单后,生成交易信息表,其中交易表和订单表是一一对应的。具体数据对象之间的关系如图41。图4-1本系统的实体-关系模型图4.5 数据库设计与实现通过上节数据表的映射关系图,根据本系统的功能需求,设计具体数据表单的内容结构,一下详细描述各个数据表的字段信息。4.5.1 用户信息表(CUSTOMER)
41、用户注册后生成用户信息,内容主要包括用户的名字,密码,用户身份证,真实姓名,性别和用户图片。具体字段类型如表4-1:字段描述字段名称字段类型是否主键是否为空用户IDID自动编号是否用户名称NAME字符类型否否用户密码PASSWD字符类型否否身份证号码CREDIT字符类型否否用户积分MARK整数类型否否真实姓名REALNAME字符类型否否用户性别SEX布尔类型否否用户照片IMG字符类型否否表4-1用户信息表4.5.2 楼盘信息表(BUILDING)管理员通过登录后添加楼盘信息,添加楼盘信息需要输入楼盘名称,楼盘介绍,楼盘价格,楼盘类型,楼盘图片主要信息,其中楼盘类型和楼盘类型表以外键的方式关联起
42、来。具体字段类型如表4-2:字段描述字段名称字段类型是否主键是否为空楼盘IDID自动编号是否楼盘名称BUILDNAME字符类型否否楼盘介绍CONTENT字符类型否否楼盘价格PRICE整数类型否否楼盘类型BUILDSTYLE整数类型否否楼盘图片IMG字符类型否否楼盘提示TOOLTIP字符类型否否是否上架UP布尔类型否否出售时间DURTIME时间类型否否点击量CLICK整数类型否否表4-2楼盘信息表4.5.3 楼盘类型表(BUILDSTYLE)楼盘信类对应着楼盘类型,楼盘类型包括楼盘类型名称,类型介绍。具体字段类型如表4-3:字段描述字段名称字段类型是否主键是否为空类型IDID自动编号是否类型名称
43、STYLETITLE字符类型否否类型介绍CONENT字符类型否否表4-3楼盘类型表4.5.4 楼盘订单表(BUILDORDER)用户可以查看楼盘然后预订楼盘,生成订单,订单具体信息包括楼盘ID,用户ID,添加时间和是否处理。具体字段类型如表4-4:字段描述字段名称字段类型是否主键是否为空订单IDID自动编号是否楼盘IDBUILDING整数类型否否用户IDCUSTOMER整数类型否否添加时间ADDTIME时间类型否否是否提交SUBMIT布尔类型否否表4-4楼盘订单表4.5.5 楼盘交易表(CUSTOMER)用户订单处理后,生成交易表,记录用户和楼盘的交易信息。具体字段类型如表4-5:字段描述字段
44、名称字段类型是否主键是否为空交易IDID自动编号是否订单IDBUILDORDER整数类型否否用户IDCUSTOMER整数类型否否交易介绍CONTENT字符类型否否添加时间ADDTIME时间类型否否表4-5楼盘交易表4.5.6 管理员信息表(ADMIN)管理员信息不许具体的信息,只包括名称和密码。具体字段类型如表4-6:字段描述字段名称字段类型是否主键是否为空管理员IDID自动编号是否管理员名称NAME字符类型否否管理员密码PASSWD字符类型否否表4-6管理员信息表第五章 基于UML的系统建模5.1 UML概述及系统分析步骤5.1.1 UML概述统一建模语言(UML是 Unified Mode
45、ling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML是用面向对象图的方式来描述任何类型的系统,具有很广泛的应用领域。特别是在建立软件系统的模型中,它支持从系统需求、系统分析到系统设计的整个建模过程,提供UML图形的编辑和美化工具,保证得到语法正确、语义完整的UML图形模型,并提供包括文档管理和图形打印等辅助支持。它不仅支持建立系统的静态模型,还支持描述系统的动态模型。UML由以下四部分组成:1)视图。 视图是表达系统的某一方面特征的UML建模元素的子集,视图并不是图,它是由一个或者多个图组成的对系统某个角度的抽象。在建立一个系统模型时,通过定义多个反应系统不同方面的视图,才能对系统做出完整、精确的描述。2)图。 视图由图组成,UML通常提供9种基本的图,把这几种基本图结合起来就可以描述系统的所有视图。3)模型元素。UML中模型元素包括事物和事物之间的联系。事物描述了一般的面向对象的概念,如类、对象、接口、消息和组建等。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。常见的联系包括关联关系、依赖关系、泛化关系、实现