当前位置: 首页 > news >正文

基于JSP的房屋销售系统设计与实现

目 录
1、引言 4
1.1 研究现状 4
1.2 主要研究的目的及内容 5
1.3 研究方法及设计思路 5
1.3.1 研究方法 5
1.3.2 设计思路 5
2、应用需求分析与可行性分析 6
2.1 应用需求分析 7
2.2 运行需求分析 8
2.3 其他需求分析 8
2.4 可行性分析 9
2.4.1经济可行性 9
2.4.2技术可行性 9
2.4.3 运行可行性 9
2.4.4 时间可行性 10
2.4.5 法律可行性: 10
2.5 系统开发步骤 10
3、相关技术简介 11
3.1 JSP技术简介 11
3.2 SQLServer2000数据库 12
3.3 JDBC 14
3.4 B/S模式分析 15
4、系统分析 16
4.1 系统实现目标 16
4.2 系统体系结构 18
4.3 主控流程图 18
4.4 系统ER图 20
5、系统设计 20
5.1 概要设计 21
5.2 系统结构设计 21
5.3 详细设计 21
5.3.1 管理员登录界面 21
5.3.2 管理员设置 22
5.3.3 房地产信息管理模块 23
5.3.4 销售信息管理 24
6、系统调试与测试 25
6.1 程序调试 25
6.2 程序的测试 25
6.2.1 测试的重要性及目的 25
6.2.2 测试的步骤 26
6.2.3 测试的主要内容 27
结束语 30
致谢 32
参考文献 33
1.3 研究方法及设计思路
1.3.1 研究方法
房地产销售信息管理是信息行业业务流程过程中十分重要且必备的环节之一,在信息行业业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多信息行业在具体的业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个房地产销售系统。采用JSP作为开发工具,结合微软公司的sqlserver2000数据库,数据库设计遵循3范式,主要设计了缴费基本信息表、房地产基本信息表、消费基本信息表、管理系统的用户口令表等数据表。解决了房地产销售系统中存在的数据安全性、数据一致性以及系统运行速度等问题。
1.3.2 设计思路
(1)系统应符合房地产销售信息管理的规定,满足信息行业相关人员日常使用的需要,并达到操作过程中的直观,方便,实用,安全等要求;
(2)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护;
(3)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作;
(4)尽量采用现有软件环境及先进的管理系统开方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
2、应用需求分析与可行性分析
伴随着信息行业的蓬勃发展和人们办公自动化意识的增强,房地产管理部门的的工作也越来越繁重,原来的房地产销售系统已经不能完全满足相关人员使用的需要。为了协助信息行业开展房地产管理工作,提高工作效率,充分利用信息行业的现有资源,开发更好的房地产销售系统势在必行。
房地产销售系统是将IT技术用于房地产销售信息的管理, 它能够收集与存储患者信息,提供更新与检索的接口;协助信息行业开展房地产管理工作提高工作效率。
房地产销售系统采用B/S结构、结合网络数据库开发技术来设计本系统。开发语言采用JSP,数据库使用Microsoft公司的SQLServer2000数据库。
完成以下基本功能:
房地产信息管理系统的业务流程比较的复杂,销售代表负责销售和预订房屋,并且与客户沟通,本文转载自http://www.biyezuopin.vip/onews.asp?id=12266帮助客户购买和预订房屋,客户可以提出退房和换房的要求。在售出房屋、预订房屋、或退房时,会计负责处理个款项,并且制作单据。在业务操作过程中,房屋和客户的资料应予以保留,以供统计分析。本系统主要包括以下几种模块:用户登录模块、员工信息管理模块、客户信息管理模块、房屋基本信息管理模块、房屋销售管理模块,如图1所示。

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" errorPage="" %>
<%
 
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

String message = (String)request.getAttribute("message");
	if(message == null){
			message = "";
	}
	if (!message.trim().equals("")){
		out.println("<script language='javascript'>");
		out.println("alert('"+message+"');");
		out.println("</script>");
	}
	request.removeAttribute("message");
 	 
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>登录界面</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	overflow:hidden;
}
.STYLE3 {color: #528311; font-size: 12px; }
.STYLE4 {
	color: #42870a;
	font-size: 12px;
}
-->
</style></head>
<script type="text/javascript">
function dl()
{
	if(form1.username.value==""||form1.password.value=="")
	{
		alert("请填写登录名和密码!");
		return false;
	}
	
}
</script>
<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#e5f6cf">&nbsp;</td>
  </tr>
  <tr>
    <td height="608" background="<%=basePath%>images/login_03.gif"><table width="862" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td height="266" background="<%=basePath%>images/login_04.gif">&nbsp;</td>
      </tr>
      <tr>
        <td height="95">
        <form action="<%=basePath %>Admin.do" name=form1 method=post onSubmit="return dl()"  >
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="424" height="95" background="<%=basePath%>images/login_06.gif">&nbsp;</td>
            <td width="183" background="<%=basePath%>images/login_07.gif"> 
              <p><span class="STYLE3">用户:<input type=hidden name=method value=one></span>
                <input type="text" name="username"  style="height:18px; width:130px; border:solid 1px #cadcb2; font-size:12px; color:#81b432;">
</p>
              <p><span class="STYLE3">密码:</span>
                <input type="password" name="password"  style="height:18px; width:130px; border:solid 1px #cadcb2; font-size:12px; color:#81b432;">
              </p></td>
            <td width="255" background="<%=basePath%>images/login_08.gif">&nbsp;</td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td height="247" valign="top" background="<%=basePath%>images/login_09.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="22%" height="30">&nbsp;</td>
            <td width="56%">                
              <input type="submit" name="Submit" value="提交"> 
              <input name="Reset" type="Reset" id="Reset" value="重置"></td>
            <td width="22%">&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td height="30"><table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="44%" height="20">&nbsp;</td>
                </tr>
            </table>
            </from>
            </td>
            <td>&nbsp;</td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td bgcolor="#a2d962">&nbsp;</td>
  </tr>
</table>

</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

  • Arduino UNO 可视化GT-24工业级无线透传
  • 【QT 自研上位机 与 STM32F103下位机联调>>>通信测试-基础样例-联合文章】
  • c语言的三种基本结构——初学者一定要了解哦
  • 无人驾驶:高精地图与定位
  • 【论文笔记】提高超高分辨率图像的语义分割准确性的两种方法:MagNet(CVPR2021)与FCtL(ICCV2021)
  • OGG21C微服务的安装和配置
  • Matlab之多平台雷达检测融合仿真(附源码)
  • 2022年计网《宿舍网有线无线一体化项目》总结
  • 渗透测试基础- - -windows网络安全常用dos命令
  • 【Python】近似熵,样本熵,模糊熵计算高效版
  • Java获取自增主键ID值
  • 【算法入门图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树
  • 第31讲:MySQL事务的并发问题以及事务的隔离级别
  • JavaScript 2 JavaScript 简介
  • 【目标检测】YOLOv5在Android上的部署
  • 【技术性】Search知识
  • Codepen 每日精选(2018-3-25)
  • Consul Config 使用Git做版本控制的实现
  • Cumulo 的 ClojureScript 模块已经成型
  • flask接收请求并推入栈
  • Java Agent 学习笔记
  • Python3爬取英雄联盟英雄皮肤大图
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 基于Android乐音识别(2)
  • 判断客户端类型,Android,iOS,PC
  • 前端代码风格自动化系列(二)之Commitlint
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 网页视频流m3u8/ts视频下载
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 湖北分布式智能数据采集方法有哪些?
  • ​Spring Boot 分片上传文件
  • #LLM入门|Prompt#3.3_存储_Memory
  • #Lua:Lua调用C++生成的DLL库
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (06)Hive——正则表达式
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (Python) SOAP Web Service (HTTP POST)
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (全注解开发)学习Spring-MVC的第三天
  • (一)Dubbo快速入门、介绍、使用
  • (译)2019年前端性能优化清单 — 下篇
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)LINQ之路
  • (转)ObjectiveC 深浅拷贝学习
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .Net Core 中间件验签
  • .NET 中的轻量级线程安全
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @RequestBody的使用