商品房销售中的客户信息管理系统Java.docx
- 文档编号:6817864
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:28
- 大小:1.02MB
商品房销售中的客户信息管理系统Java.docx
《商品房销售中的客户信息管理系统Java.docx》由会员分享,可在线阅读,更多相关《商品房销售中的客户信息管理系统Java.docx(28页珍藏版)》请在冰豆网上搜索。
商品房销售中的客户信息管理系统Java
苏州科技学院电子信息实验中心
面向对象课程设计 报告
--商品房销售中的客户信息管理系统
专业年级
计算机科学与技术2012
班 级
计算机Z1211
学 号
12200135113
姓 名
邵杨阳
成 绩
指导教师
陆卫忠
2015年4月7日
目录
1课程设计任务概述1
1.1商品房销售中的客户信息管理系统简介1
1.2设计任务与要求1
1.3开发环境以及工具1
2系统分析与建模1
2.1系统功能分析1
2.2用例图及用例说明2
2.2.1客户管理用例描述2
2.2.2客户信息管理整体用例图5
3系统设计6
3.1系统类图6
3.2系统状态图6
3.3系统时序图8
3.3.1用户登录时序图8
3.3.2用户操作时序图9
3.4系统框架设计9
3.5数据库设计10
3.5.1客户表10
3.5.2管理员表10
3.5.3销售人员表10
3.6系统UI界面设计11
3.6.1登录模块界面设计11
3.6.2系统主界面设计12
3.6.3添加客户信息界面12
3.6.4删除客户信息界面13
3.6.5查询客户信息界面13
3.6.6修改客户信息界面13
4系统实现14
4.1登录模块14
4.2系统管理模块16
4.2.1登出系统16
4.2.2退出系统16
4.3操作管理模块16
4.3.1增加客户信息16
4.3.2删除客户信息17
4.3.3更新客户信息18
4.3.4查询客户信息19
5系统测试20
5.1用户登录测试20
5.2增加客户测试20
5.3删除客户测试21
5.4查询客户测试21
5.5修改客户测试22
6课程设计总结22
7参考文献23
商品房销售中的客户信息管理系统设计报告
1课程设计任务概述
1.1商品房销售中的客户信息管理系统简介
在现代商品房销售中,客户信息关系到销量,因此该系统十分适合于一般小型楼盘管理客户信息,方便销售人员及时查看客户资料。
商品房销售中的客户信息管理系统主要包括用户管理、客户信息管理等基本功能。
实现用户信息的增删及客户信息的修改、查询、删除、添加等几个方面的功能。
首先管理员拥有最高权限,可以实现对客户的所有功能,并且可以添加、删除管理员和销售人员,而销售人员只享有一般权限,可以查看用户信息。
用一个登录界面同时实现了管理员和销售人员的登录,大大简化了系统设计。
1.2设计任务与要求
编写一个商品房销售中的客户信息管理系统。
客户信息包括客户编号、客户姓名、客户号码。
具体实现的功能:
能过实现增加客户信息、删除客户信息、查询客户信息、修改客户信息等。
1.3开发环境以及工具
系统编程基于JAVASwing的图形用户界面开发,数据信息连接后台为Mysql数据库。
系统运行环境为运行Windows7的PC机,具有JDK1.7以上Java编译环境,Eclipse编辑环境,以及Mysql数据库环境。
2系统分析与建模
2.1系统功能分析
本系统主要实现客户信息的管理,包括客户信息的添加、修改、查询和删除,及一些辅助项目的管理,如登录系统用户管理和销售人员管理。
整个系统模块划分如图2-1所示:
图2-1系统模块划分
2.2用例图及用例说明
2.2.1客户管理用例描述
(1)添加客户信息用例描述
添加客户信息,是商品房客户信息管理系统的一项基本服务。
在商品房客户信息管理系统的建模过程中,将这一行为抽象为一个用例。
在不考虑软件的具体实现细节基础上,给出如下的用例描述。
UseCase名称
添加客户
执行者
管理员
前置条件
管理员通过系统验证后,成功登录管理系统
事件流
A.输入管理员的用户名;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
输入正确,则提示“请您输入您的密码!
”
B.输入密码;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
成功登录系统后,显示管理员界面;
C.输入要添加客户的编号;
若客户已存在,提示“添加失败”
若管理员可以正常添加,提示“添加成功”
D.管理员点击“确定”,客户增加一条客户信息;
E.添加完成,点击“退出”,退出系统。
后置条件
管理员成功添加客户信息,商品房客户信息管理系统保存添加记录并修改数据库中的信息。
(2)删除客户信息用例描述
删除客户信息,是商品房客户信息管理系统的一项基本服务。
在商品房客户信息管理系统的建模过程中,将这一行为抽象为一个用例。
在不考虑软件的具体实现细节基础上,给出如下的用例描述。
UseCase名称
删除客户
执行者
管理员
前置条件
管理员通过系统验证后,成功登录管理系统
事件流
A.输入管理员的用户名;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
输入正确,则提示“请您输入您的密码!
”
B.输入密码;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
成功登录系统后,显示管理员界面;
C.输入要添加客户的编号;
若客户存在,提示“删除成功”
若客户不存在,提示“删除失败”
D.管理员点击“确定”,客户删除一条客户信息;
E.删除完成,点击“退出”,退出系统。
后置条件
管理员成功删除客户信息,商品房客户信息管理系统保存删除记录并修改数据库中的信息。
(3)查询客户信息用例描述
查询客户信息,是商品房客户信息管理系统的一项基本服务。
在商品房客户信息管理系统的建模过程中,将这一行为抽象为一个用例。
在不考虑软件的具体实现细节基础上,给出如下的用例描述。
UseCase名称
查询客户
执行者
管理员
前置条件
管理员通过系统验证后,成功登录管理系统
事件流
A.输入管理员的用户名;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
输入正确,则提示“请您输入您的密码!
”
B.输入密码;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
成功登录系统后,显示管理员界面;
C.输入要查询客户的编号;
若客户存在,提示“客户存在”
若客户不存在,提示“客户不存在”
D.管理员点击“确定”,显示出客户信息;
E.查询完成,点击“退出”,退出系统。
后置条件
管理员成功查询客户信息,商品房客户信息管理系统保存查询记录。
(4)修改客户信息用例描述
修改客户信息,是商品房客户信息管理系统的一项基本服务。
在商品房客户信息管理系统的建模过程中,将这一行为抽象为一个用例。
在不考虑软件的具体实现细节基础上,给出如下的用例描述。
UseCase名称
修改客户
执行者
管理员
前置条件
管理员通过系统验证后,成功登录管理系统
事件流
A.输入管理员的用户名;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
输入正确,则提示“请您输入您的密码!
”
B.输入密码;
若输入不正确,则提示“输入的口令不正确,请重新输入!
!
!
”
成功登录系统后,显示管理员界面;
C.输入要修改客户的编号;
若客户存在,提示“更新成功”
若客户不存在,提示“更新失败”
D.管理员点击“确定”,修改客户信息;
E.查询完成,点击“退出”,退出系统。
后置条件
管理员成功查询客户信息,商品房客户信息管理系统保存查询记录。
2.2.2客户信息管理整体用例图
根据客户信息管理描述,画出商品房客户信息管理系统整体用例图,见图2-1。
图2-2商品房销售中的客户信息管理系统用例图
3系统设计
3.1系统类图
图3-1系统类图
3.2系统状态图
图3-2系统状态图
3.3系统时序图
3.3.1用户登录时序图
图3-3用户登录时序图
3.3.2用户操作时序图
图3-4用户操作时序图
3.4系统框架设计
本系统主要采用MVC模式。
以下为系统文件结构图。
图3-5系统文件结构
3.5数据库设计
本系统运行需要与后台数据库进行数据库访问,本系统采用mysql数据进行数据库读取访问。
因此需要在建立数据库(customermanagerment),并在数据库内建立3张表,以下为数据库中表信息。
表3-1数据库中表信息
序号
表名
主要表字段名
1
customer(客户表)
客户编号、客户姓名、客户号码
2
manager(管理员表)
工号、姓名、登录密码
3
sales(销售人员表)
工号、姓名、登录密码
3.5.1客户表
客户的设计是为了对客户信息进行操作用的。
客户编号是唯一确定客户信息记录的,其他字段是客户的一些基本信息。
表的具体结构设计如表3-2所示:
表3-2客户表表结构
字段名称
数据类型及长度
可否为空
约束条件
说明
id
varchar(20)
NO
主键
客户编号
name
varchar(20)
YES
客户姓名
phone
varchar(11)
YES
客户号码
3.5.2管理员表
系统管理员信息表,该表的设计用于记录管理人员的信息,方便对管理员的管理,表中包括管理员工号和管理员的登录密码,表的具体结构设计如表3-3所示:
表3-3管理员表表结构
字段名称
数据类型及长度
可否为空
约束条件
说明
id
Varchar(20)
NO
主键
管理员工号
name
Varchar(4)
YES
管理员姓名
password
Varchar(20)
YES
管理员密码
3.5.3销售人员表
销售人员信息表的设计是为了对销售人员信息进行管理,其中工号是唯一的。
主要是为了唯一区分销售人员的信息。
工号和密码还可以用于系统的登录。
其他字段都是销售人员的一些基本信息。
表的具体结构设计如表3-4所示:
表3-4销售人员表表结构
字段名称
数据类型及长度
可否为空
约束条件
说明
id
Varchar(20)
NO
主键
销售人员工号
name
Varchar(4)
YES
销售人员姓名
password
Varchar(20)
YES
销售人员密码
3.6系统UI界面设计
3.6.1登录模块界面设计
登录界面主要用于用户输入有效用户名与密码进行登录的。
登录界面设计效果如图所示:
图3-6系统登录界面
3.6.2系统主界面设计
图3-7系统主界面
3.6.3添加客户信息界面
图3-8添加信息界面
3.6.4删除客户信息界面
图3-9删除信息界面
3.6.5查询客户信息界面
图3-10查询信息界面
3.6.6修改客户信息界面
图3-11修改信息界面
4系统实现
4.1登录模块
功能描述:
用户输入用户名与密码,登录时系统进行用户合法性验证,验证合法后方可进入到系统主界面。
protectedvoidlogon(ActionEvente)
{
if(usertextField.getText().trim().length()==0||
userpasswordField.getPassword().length==0)
{
javax.swing.JOptionPane.showMessageDialog(null,"用户&密码不允许为空","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
return;
}
ISalesDaossi=newSalesDaoImp();
IManagerDaomdi=newManagerDaoImp();
Stringname=usertextField.getText().trim();
Stringpassword=String.valueOf(userpasswordField.getPassword());
Managerm=newManager();
m.setName(name);
m.setPassWord(password);
Salessale=newSales();
sale.setName(name);
sale.setPassWord(password);
System.out.println(m.getName());
System.out.println(m.getPassWord());
if(mdi.isExist(m))
{
ManagerMainUIframe=newManagerMainUI();
this.setVisible(false);
if(managermainui==null)
{
managermainui=newManagerMainUI();
}
managermainui.setVisible(true);
}
elseif(ssi.isExist(sale))
{
SaleMainUIframe=newSaleMainUI();
this.setVisible(false);
if(salemainui==null)
{
salemainui=newSaleMainUI();
}
salemainui.setVisible(true);
}
else
{
javax.swing.JOptionPane.showMessageDialog(null,"输入的用户名或者密码错误,请重试!
","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
usertextField.setText(null);
userpasswordField.setText(null);
usertextField.requestFocus();
return;
}
}
}
4.2系统管理模块
4.2.1登出系统
//登出
if(lu==null)
{
lu=newLogonUI();
}
this.setVisible(false);
lu.setVisible(true);
4.2.2退出系统
//退出
this.setVisible(false);
4.3操作管理模块
4.3.1增加客户信息
功能描述:
通过用户输入相应的信息,系统进行有效性检查,提示相应信息,合法后进行数据库插入操作。
核心代码:
publicvoidprocess()
{
Stringid=textField_id.getText().trim().toString();
Stringname=textField_name.getText().trim().toString();
Stringphone=textField_phone.getText().trim().toString();
Customerc=newCustomer();
c.setId(id);
c.setName(name);
c.setPhone(phone);
intresult=csi.addCustomer(c);
if(result>0)
{
javax.swing.JOptionPane.showMessageDialog(null,"添加成功!
","系统提示",javax.swing.JOptionPane.INFORMATION_MESSAGE);
this.setVisible(false);
return;
}
else
{
javax.swing.JOptionPane.showMessageDialog(null,"添加失败!
","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
return;
}
}
4.3.2删除客户信息
功能描述:
查询出数据,选择要删除的数据库,系统进行是否要删除的判断,进行数据库删除操作。
核心代码:
privatevoiddeletecustomer()
{
Stringid=textField_id.getText().trim();
if(!
textField_id.equals(""))
{
intresult=csi.deleteCustomer(id);
if(result>0)
{
javax.swing.JOptionPane.showMessageDialog(null,"删除成功!
","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
}
else
{
javax.swing.JOptionPane.showMessageDialog(null,"删除失败!
","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
}
//System.out.println(textField);
this.setVisible(false);
}
else
{
javax.swing.JOptionPane.showMessageDialog(null,"请输入删除信息!
","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
textField_id.setText(null);
textField_id.requestFocus();
return;
}
}
4.3.3更新客户信息
功能描述:
查询需要更新的记录,进行相应修改后,系统进行数据库有效性检查,提示相应的信息,合法后进行数据库更新操作。
核心代码:
publicvoidmodifycustomer()
{
Stringnewphone=textField_newcustomer.getText().trim().toString();
Stringoldphone=textField_oldcustomer.getText().trim().toString();
System.out.println(newphone);
Customere=newCustomer();
e.setPhone(newphone);
intresult=csi.updateCustomerByPhone(e,oldphone);
if(result>0)
{
javax.swing.JOptionPane.showMessageDialog(null,"更新成功!
","系统提示",javax.swing.JOptionPane.INFORMATION_MESSAGE);
this.setVisible(false);
return;
}
else
{
javax.swing.JOptionPane.showMessageDialog(null,"更新失败!
","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
return;
}
}
4.3.4查询客户信息
功能描述:
检查用户输入的查询条件是否合法,合法后,进行数据库的查询操作。
核心代码:
publicvoidshowCustomerInfo()
{
Stringcustomername=textField_name.getText().trim().toString();
Stringcustomerphone=csi.getCustomerPhone(customername);
//System.out.println(customername);
Customere=newCustomer();
e.setName(customername);
e.setPhone(customerphone);
//textField_phone.setText(customerphone);
if(csi.isExistn(customername))
{
javax.swing.JOptionPane.showMessageDialog(null,"客户存在","系统提示",javax.swing.JOptionPane.INFORMATION_MESSAGE);
System.out.println(customerphone);
textField_name.setEnabled(true);
textField_name.setText(customername);
textField_phone.setText(customerphone);
return;
}
else
{
javax.swing.JOptionPane.showMessageDialog(null,"客户不存在","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);
return;
}
}
5系统测试
5.1用户登录测试
等价类划分:
●T1N1:
用户名正确T1N2:
用户名错误T1N3:
用户名为空
●T1P1:
密码正确T1P2:
密码错误T1P3:
密码为空
表5-1用户登录等价类划分
测试用例
等价类
预期结果
测试输出
LT001
T1N1-T1P1
成功登录并进入主界面
成功登录并进入主界面
LT002
T1N1-T1P2
登录失败,并提示
登录失败,并提示
LT003
T1N1-T1P3
登录失败,并提示:
密码不能为空
登录失败,并提示:
密码不能为空
LT004
T1N2-T1P1
登录失败,并提示
登录失败,并提示
LT005
T1N2-T1P2
登录失败,并提示
登录失败,并提示
LT006
T1N2-T1P3
登录失败,并提示:
密码不能为空
登录失败,并提示:
密码不能为空
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商品房 销售 中的 客户 信息管理 系统 Java