《房屋销售系统设计说明书.doc》由会员分享,可在线阅读,更多相关《房屋销售系统设计说明书.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录1.研究背景及义.1研究背景.1研究意义22房屋销售管理系统的可行性研究分析2技术可行性2经济可行性2营运可行性23房屋销售管理系统详细设计.3系统流程图4系统功能结构图3数据库Oracle及数据字典44房屋销售管理系统代码设计.6用户接口6添加、查找、删除售员信息8添加房屋销售记录功能的实现.10楼盘及房屋信息相关操作的实现.135结论15房屋销售管理系统设计说明书 一、研究背景及意义1研究背景:随着社会主义市场经济的建立与发展,我国房地产迅速崛起。但随着房地产的如火如荼的发展,商品房品种及数量的增多,客户需求信息的多样性,房地产销售中也出现了很多问题。如资料管理手段落后、销售工作不规范
2、、客户信息收集不齐全、销售员业绩评估不合理等。这些问题导致房地产销售效率低下。在日趋激烈的市场竞争环境中,需要运用先进的信息技术和现代管理思想来提高房地产行业的管理水平、工作效率和服务质量,进一步降低运营成本、提高经济效率,最终提升房地产公司的市场竞争力。从20世纪80年代开始,计算机硬件和软件技术的发展,特别是计算机和企业管理技术的日趋融合,信息化给企业带来了巨大的变化,信息技术的应用不再局限于企业活动的某个环节,而是逐渐渗透到企业活动的各个领域,各大环节,极大地改变了企业的生产、流通和组织管理方式。推动了企业物质流、资金流和信息流的相互融合。凭借IT信息技术和现代管理思想,在这样一个多元化
3、的信息社会里,建立房地产销售管理平台是大势所趋。2.研究意义:房地产销售管理是一项繁琐、复杂而又精细的工作,它必须具备能够及时搜集客户信息、准确记录销售业绩、查看楼盘信息等基本功能,为用户提供一个方便添加、搜寻、修改客户、销售员、楼盘等相关诸多信息的操作平台。在信息化时代,日趋激励的市场竞争中,及时准确地攫取有用信息,对企业的发展至关重要。房屋销售管理系统以计算机为工具,把信息技术和管理有机结合起来,不仅使得信息收集及时、迅速、准确,而且操作方便、简洁,把员工从繁琐的工作中解脱出来。另外,房屋销售管理系统还具有传统手工管理所无可比拟的优点。如:检索迅速,查找方便,可靠性大,存储量大,保密性好,
4、寿命长,成本低等。这些优点能极大的提高房屋销售管理的效率。因此,开发这样一个低成本高效率的管理系统是十分必要的。二、房屋销售管理系统的可行性研究 可行性研究是系统分析阶段的第二项活动。此活动的主要目标是:进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性研究是对系统进行全面、概要的分析。 通过调查分析,新系统设计方案有以下三个可行性:1.技术可行性:本系统采用Windows XP作为操作平台。数据库开发平台选用Tomcat,该数据库管理系统在Windows XP和 Windows 7上都能运行,并提供数据库之间的数据复
5、制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的应用软件开发平台也选用MyEclipse。2经济可行性:采用新的房屋销售信息管理系统可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,提高房屋、客户信息的利用率,使销售质量更上一个台阶。3营运可行性:本系统操作简单,易于理解,只需通过简单培训,上手较快,营运环境要求低。面对于系统设计还应该以“标准性、安全性、兼容性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足房地产市场的发展需要。故
6、新系统还需要满足以下这几个标准:(1) 标准性:系统的软硬件选型都应该采用工业化标准,这样既可以保证系统运行质量又可以分享在此标准上的每一次技术进步。(2) 可靠性:由于房屋销售信息的重要性,系统的软硬件应均为质量可靠,并采用RAID 0+1廉价磁盘冗余保护技术,确保不会由于软硬件故障造成系统运行终止而使用户蒙受损失。(3) 安全性:所有后台页面采用session检测,防止外来人员非法提交URL进行后台访问;登录模块采用用户名和密码分开检测,防止SQL注入;在实际运行中可以考虑IP过虑,防止网外用户进入;数据库定期备份。(4) 兼容性:系统的所有软硬件理论上都应有100%的兼容性,用以保证软硬
7、件的可互换性。(5) 高效性:由于房屋销售每次处理的信息量较大,因此系统对信息的处理能力,响应能力都应是快速而有效的,在软件编制过程中应充分考虑到这一点。(6) 可维护性:系统软件设计时应采用结构化模块设计,以便于开发和维护,也有利于根据情况随时进行功能调整。同时在系统开发时应该充分考虑到用户的日常维护,使之能简便易行。通过可行性分析研究,认为新系统的开发方案切实可行,可进行开发。三、房屋销售管理系统详细设计1.系统流程图在软件开发过程中, 设计出思路清晰、任务明确的开发流程图非常关键,有了流程图就可以确定开发步骤,并围绕它具体展开。因此,从房屋销售系统整体结构上以及用户操作方便分析的基础上,
8、设计了房屋销售系统流程图,如下: 图(1)系统流程图2. 系统功能结构图在开始编写具体的程语言之前,建立程序结构图有助于明确要解决的实际问题,清楚了解各个功能模块的层次关系。为此,在对房屋销售管理软件的功能、需要和程序结构进行初步分析的基础上,首先建立了房屋销售管理系统的功能结构图,如图(2)。主 界 面添加销售员纪录修改密码息客户信息退 出销售员信息用 户 登 录 界 面 楼盘信息图(2)系统结构图3数据库Oracle及数据字典本系统数据库是Oracle,根据的数据库添加的类和对象,以其英文件单命名,如客户信息,以Customer为类名,客户信息对象姓名、年龄分别以name和 age命名。表
9、中的字段也是如此,以英文件单词单来描述其意思,如email(邮箱)。总之,命名的原则是:简洁而意思清楚,不产生异义,代码编写人员易懂,能提高程序开发效率。在进行数据库设计这一过程是是根据各方面的要求和考虑然后才设计了现在的这个数据库模型。根据实际房屋销售管理系统的业务运行和需求,将信息分为如下模块:销售员、添加销售记录、楼盘信息、客户信息等。房屋销售管理系统数据库中各个表格的设计结果如下面几个表所示。每个表表示在数据库中的一个数据表。销售员相关信息 如下表字段名字段类型字段宽度备注姓 名VARCHAR4主索引,不允许空性 别VARCHAR2默认为男年 龄INT2默认为0身 份 证INT18默认
10、为0移动电话INT11默认为0邮 箱VARCHAR20默认为空邮 编INT6默认为0地 址VARCHAR20默认为空添加销售员记录信息,如下表字段名字段类型字段宽度备注销售员姓名VARCHAR4主索引,不允许空楼盘地址VARCHAR20默认为空房型名称VARCHAR4默认为空单 元 号INT6默认为0楼 层INT4默认为0房 间 号INT6默认为0售 价INT10默认为0销售面积INT10默认为0总 价INT15默认为0客户基本信息,如下表字段名字段类型字段宽度备注姓 名VARCHAR4主索引,不允许空性 别VARCHAR2默认为男年 龄INT2默认为0移动电话INT11默认为0工 作VARC
11、HAR6默认为空邮 箱VARCHAR20默认为空邮 编INT6默认为0地 址VARCHAR20默认为空备 注VARCHAR20默认为空楼盘房屋基本信息,如下表字段名字段类型字段宽度备注楼盘名称VARCHAR8主索引,不允许空房屋名称VARCHAR8主索引,不允许空房屋类型VARCHAR8默认为空单 元 号INT6默认为0房 间 号INT6默认为0单 价INT10默认为0面 积INT10默认为0售楼人员VARCHAR4默认为空联系方式INT11默认为0修改密码基本信息字段名字段类型字段宽度索引旧密码VARCHAR25新密码VARCHAR25确认密码VARCHAR25四、房屋销售管理系统代码设计1
12、用户接口主界面:主界面如图(3),在主界面中有登陆口令限制,也就是说,只有输入正确的登陆用户名和密码,才可能进入系统管理的菜单界面(默认用户名:admin,默认密码为:123)。图(3)用户登陆界面用户正确登录后出现如图(4)的主界面,图左侧显示房屋销售管理系统的相关功能模块,提供用户操作界面。图(4)系统主界面主要程序代码如下:package homebiz.action;import java.sql.SQLException;import homebiz.dao.AdminDAO;import homebiz.daoImpl.AdminDAOImpl;import homebiz.vo.
13、Admin;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.sql.DataSource;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;p
14、ublic class LoginAction extends Action /该登录处理应加入登录权限验证相关的必要代码public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws SQLException String name = request.getParameter(name);String password=request.getParameter(password);DataSo
15、urce ds = this.getDataSource(request,oracle);AdminDAO dao = new AdminDAOImpl(ds);Admin admin = dao.checkAdmin(name, password);if (admin!=null) request.getSession().setAttribute(admin, admin);String msg=成功登陆!;request.setAttribute(msg, msg);String ip=request.getRemoteAddr();System.out.println(用户登录IP地址
16、为:+ip);request.setAttribute(ip, 您的IP地址:+ip);return mapping.findForward(ok); else request.setAttribute(msg, 用户名或密码不正确!);return mapping.findForward(error);2添加、查找、删除售员信息 用户成功登录系统后可以点击左侧功能模块操作相关信息,即可以在左侧管理功能菜单中的销售员信息模块中操作销售员的基本信息。其中包括添加、查询、修改、删除、查看业绩。点击销售员信息会出现如图(5)界面。图(5)由于本模块中各个功能操作类似,为此,以查看销售员业绩为例,对房
17、屋销售系统中销售员信息模块做一个演示操作。在这个子模块中也包括有添加、修改、删除功能,为用户提供一个非常简便操作界面,使得用户可以及时了解更新销售员业绩情况。选中需要查看的销售员的一栏中左边的方框,单击即选中,然后点击“查看业绩“并可。查看销售员业绩界面如下:图(6)程序代码如下:public class ViewLpxxAction extends ActionList list=new ArrayList();public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest requ
18、est, HttpServletResponse response)throws Exception DataSource ds = this.getDataSource(request,oracle);String id=request.getParameter(chk);LpxxDAO dao=new LpxxDAOImpl(ds);Lpxx lpxx=dao.getLpxxById(id);String name=lpxx.getName();Connection con = null;PreparedStatement pstmt = null;ResultSet rs = null;
19、String sql = select * from homebiz_fwxx where lpmc=? ;try con = ds.getConnection();pstmt=con.prepareStatement(sql);pstmt.setString(1, name);rs=pstmt.executeQuery();while(rs.next()Fwxx fwxx=new Fwxx();fwxx.setId(rs.getInt(id);fwxx.setFwmc(rs.getString(fwmc);fwxx.setFxmc(rs.getString(fxmc);fwxx.setDyh
20、(rs.getString(dyh);fwxx.setFjh(rs.getString(fjh);fwxx.setDj(rs.getInt(dj);fwxx.setMj(rs.getString(mj);fwxx.setSlry(rs.getString(slry);fwxx.setLxfs(rs.getString(lxfs);fwxx.setLpmc(name);list.add(fwxx); catch (SQLException e) e.printStackTrace();throw e;finallyConnectionUtil.close(con, pstmt, rs);requ
21、est.setAttribute(lpmc, name);request.setAttribute(list, list);return mapping.findForward(ok);3添加房屋销售记录功能的实现在添加房屋销售信息模块中,用户点击“添加房屋销售信息”就会出现一个添加房屋销售信息页面,填写完房屋销售相关信息,点击按钮“添加”,就会出现一个显示添加成功的页面,操作流程及页面如图所示: 图(7)程序代码如下:public class AddFwxxAction extends Actionpublic ActionForward execute(ActionMapping mapp
22、ing, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception DataSource ds = this.getDataSource(request,oracle);/String lpmc=request.getParameter(lpmc);/String lpmc=(String)request.getAttribute(lpmc); /System.out.println(lpmc+=);String fwmc=request.getParameter(fwmc
23、);String fxmc=request.getParameter(fxmc);String dyh=request.getParameter(dyh);String fjh=request.getParameter(fjh);int dj=Integer.parseInt(request.getParameter(dj); String mj=request.getParameter(mj);String slry=request.getParameter(slry);String lxfs=request.getParameter(lxfs);String lpmc=request.ge
24、tParameter(lpmc);Connection con=null;PreparedStatement pstmt=null;String sql=insert into homebiz_fwxx values(seq_home.nextval,?,?,?,?,?,?,?,?,?);try con=ds.getConnection();pstmt=con.prepareStatement(sql);pstmt.setString(1, fwmc);pstmt.setString(2, fxmc);pstmt.setString(3, dyh);pstmt.setString(4,fjh
25、);pstmt.setInt(5, dj);pstmt.setString(6, mj);pstmt.setString(7, slry);pstmt.setString(8, lxfs);pstmt.setString(9, lpmc);pstmt.executeUpdate(); catch (SQLException e) e.printStackTrace();throw e;finallyConnectionUtil.close(con, pstmt);request.setAttribute(msg, 添加成功!);return mapping.findForward(ok);4楼
26、盘及房屋信息相关操作的实现在楼盘信息模块中,用户可以实现添加、删除、修改以及查看某一楼盘的对应房屋信息,在查看房屋信息子模块中,用户还可以添加和删除与该楼盘相对应的房屋信息,在需删除某一楼盘,必须选中一个或几个,否则操作不允许。点击“楼盘信息”出现如(8)页面,页面中包括相关楼盘信息操作功能。 图(8)用户进入该界面后,可以选择某一楼盘了解你详细房屋情况,其中包括房型、单价、面积、售楼人员及联系方式等重要信息。用户选中某一楼盘(如艺宛楼)后,点击查看“房屋信息”,并出现如下页面: 图(9)本页面为用户提供了添加、删除房屋信息功能,点击添加出现如(10)页面,用户填写完相关信息,点击添加,并出现
27、添加成功的页面。图(10)部分代码如下:public class AddFwxxAction extends Actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception DataSource ds = this.getDataSource(request,oracle);/String lpmc=request.getParameter(lpmc);/Strin
28、g lpmc=(String)request.getAttribute(lpmc); /System.out.println(lpmc+=);String fwmc=request.getParameter(fwmc);String fxmc=request.getParameter(fxmc);String dyh=request.getParameter(dyh);String fjh=request.getParameter(fjh);int dj=Integer.parseInt(request.getParameter(dj); String mj=request.getParame
29、ter(mj);String slry=request.getParameter(slry);String lxfs=request.getParameter(lxfs);String lpmc=request.getParameter(lpmc);Connection con=null;PreparedStatement pstmt=null;String sql=insert into homebiz_fwxx values(seq_home.nextval,?,?,?,?,?,?,?,?,?);try con=ds.getConnection();pstmt=con.prepareSta
30、tement(sql);pstmt.setString(1, fwmc);pstmt.setString(2, fxmc);pstmt.setString(3, dyh);pstmt.setString(4,fjh );pstmt.setInt(5, dj);pstmt.setString(6, mj);pstmt.setString(7, slry);pstmt.setString(8, lxfs);pstmt.setString(9, lpmc);pstmt.executeUpdate(); catch (SQLException e) e.printStackTrace();throw
31、e;finallyConnectionUtil.close(con, pstmt);request.setAttribute(msg, 添加成功!);return mapping.findForward(ok);五、结论本系统通过JSP、Java、MYECLIPSE、tomcat和Oracle数据库等软件的强大功能完成,经过测试,该系统能够在windows XP/linux 中用IE6.0/firfox正常运行。1. 程序变量规范:变量统一使用英文单词描述,除首单词字母大写,其余单词字母小写。简洁而意思清楚,不产生异义,代码编写人员易懂,能提高程序开发效率。2. 文件编码规范:为能有效地解决中文乱码问题,所有文件编码采用utf-8字符集编码。对于JSP文件,在程序段中所使用的变量要求使用英文命名,严禁使用int a=0;String str=”*”之类的随意命名。3. 界面设计规范:原则:总体协调,舒服不花哨。4. 用户操作简单快捷。同时本系统还存在着问题:1系统在页面的美观方面还存在欠缺。 2由于水平有限,一些功能模块未能添加完整。
限制150内