数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx

上传人:b****6 文档编号:7535931 上传时间:2023-01-24 格式:DOCX 页数:24 大小:316.65KB
下载 相关 举报
数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx_第1页
第1页 / 共24页
数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx_第2页
第2页 / 共24页
数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx_第3页
第3页 / 共24页
数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx_第4页
第4页 / 共24页
数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx

《数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx(24页珍藏版)》请在冰豆网上搜索。

数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统.docx

数据库课设基于windowsbuilder+sqlserver汽车美容店管理系统

题目:

汽车美容店管理系统的设计与实现

专业班级:

学生姓名:

学号:

指导教师:

课程设计时间:

 

 

1引言

随着人们生活水平的日益提高人们越来越趋向于驾驶私家车出行,因此人们对于自己爱车的外观要求也越来越高,汽车美容已经成为汽车市场中越来越大的诱人“蛋糕”,车主对汽车服务的个性化、规范化要求也是越来越严格,而专业的汽车美容加盟店深受广大有车一族的青睐。

我所做系统为汽车美容店管理系统,该系统旨在服务汽车美容店的员工和美容店的顾客,方便员工对美容项目、员工、顾客和订单等进行管理,也便于顾客通过预定下订单和评价,业务范围主要是对美容项目、员工、顾客和订单各表的增删改查功能,此外还有对收入和项目的统计:

指定月份查询各美容项目的美容次数、指定年份各客户的美容次数以及指定月份美容店的收入。

不过现在这三个对收入和项目的统计的功能还没能实现,未来有时间的情况下会尽力将其尽快实现。

项目开发首先在确定好E-R图的情况下采用PowerDesigner绘制好物理模型,然后利用该工具导出数据库建库脚本到SQLserver中,在编写好存储过程后利用Eclipse,运用java语言建立工程并与建好的数据库相连接。

之所以选择Eclispe是因为它有许多的好用的插件,例如WindowsBuilder,用来写界面十分的快捷方便直观,选择java语言则是因为它可以导入别人封装好的jar包便于引用别人已经实现的方法,便于编程。

2系统需求描述

2.1业务功能需求

本产品的功能需求分析如下:

(1)用户基本信息管理

●店员、顾客、车主的基本信息的录入;

●店员、顾客、车主的基本信息的修改、增加和删除;

●根据店员、顾客、车主对应的编号,可查询他们的基本信息。

(2)美容项目信息管理

●店员录入美容项目基本信息;

●店员修改、增加及删除美容项目基本信息;

●企业内部员工均可根据项目名称查询美容项目基本信息。

(3)账单基本信息管理

●店员处理客户预定并创建账单;

●店员处理客户退货请求;

●店员可以查看全部已有的账单;

●店员能根据账单编号查询账单并删除

(4)评价基本信息管理

●客户可以对店员服务等进行评价;

●进货员可以查看用户创建的评价信息

(5)车辆基本信息管理

●车主可以通过注册添加自己的车辆信息

●车主可以查看自己的车辆信息

(6)预定基本信息管理

●客户可以预约想要的服务

●进货员可以查看客户创建的预约信息并建立对应的账单

2.2数据需求分析

本产品的数据需求分析如下:

(1)管理员:

包括管理员编号、管理员密码和管理员姓名

(2)客户:

包括客户编号、车主编号和客户密码

(3)店员:

包括店员编号、店员姓名、店员性别、店员电话、店员联系地址、店员联系电话、店员薪水、店员工龄和店员的职位

(4)美容项目:

包括项目编号、项目描述和项目价格

(5)账单:

包括账单编号、车辆编号、项目编号、店员编号和账单日期

(6)订单:

包括订单编号、车主编号、订单日期、和预定的美容项目编号

(7)评价:

包括评价评价编号、车主编号和评价内容

(8)车主:

包括车主编号、车主姓名、车主性别、车主电话、车主地址、和车主的VIP等级

(9)车辆:

包括车辆编号、车主编号、汽车型号、车龄和车况信息

3系统设计

3.1应用程序设计

界面为C/S结构,采用Swing+MVC进行开发,系统主要功能模块分为以下几大模块:

表3-1模块汇总表

子系统A:

基本资料管理

模块名称

功能简述

店员管理

可完成对店员基本信息的增、删、改、查

客户管理

可完成对客户基本信息的增、删、改、查

管理员管理

可完成对管理员基本信息的增、删、改、查

车主管理

可完成对车主基本信息的增、删、改、查

车辆管理

可完成对车辆基本信息的增、删、改、查

子系统B:

密码修改

模块名称

功能简述

店员修改密码

店员通过验证后可以修改密码

客户修改密码

客户通过验证后可以修改密码

子系统C:

客户注册

模块名称

功能简述

客户注册

可完成对客户可以在登录界面进行注册

子系统D信息统计

模块名称

功能简述

按月统计次数

指定月份查询统计容项目的美容次数

按年统计次数

指定年份查询统计各客户的美容次数

按月统计收入

指定月份查询统计店的收入

子系统E订单管理

模块名称

功能简述

用户创建订单

用户在用户端输入项目编号和订单号以创建订单

店员查看订单

店员在店员端查看用户创建的订单并可以创建对应账单

子系统F评价

模块名称

功能简述

用户发表评价

用户在用户端输入评价号和评价内容以发表评价

店员查看评价

店员在店员端查看用户发表的评价

 

3.2数据库设计

3.2.1项目ER模型

图3-2项目完整ER模型

3.2.2数据库关系模式

 

(1)店员(Employee)实体集转化的关系模式如下,属性定义如表3-3所示:

Employee(EmployeeID,EmployeeName,EmployeeSex,EmployeePhone,EmployeeAddr,EmployeeSalary,EmployeeAge,EmployeePositon)

字段名称

数据类型

可否为空

字段描述

其他说明

EmployeeID

varchar(20)

N

店员编号

PK

EmployeeName

varchar(20)

N

店员姓名

EmployeeSex

varchar(20)

N

店员性别

取值范围:

{‘男’,‘女’}

EmployeePhone

varchar(11)

N

店员联系号码

每位取值:

0~9

EmployeeAddr

varchar(20)

N

店员联系地址

EmployeeSalary

float

N

店员薪水

EmployeeAge

int

N

店员工龄

EmployeePositon

varchar(20)

N

店员职位

表3-3店员AdminLogin关系模式的定义

(2)车主(Carowner)实体集转化的关系模式如下,属性定义如表3-4所示:

Carowner(CarownerID,CarownerName,CarownerSex,CarownerPhone,Carowneraddr,CarownerVIP)

字段名称

数据类型

可否为空

字段描述

其他说明

CarownerID

varchar(20)

N

车主编号

PK

CarownerName

varchar(20)

N

车主姓名

CarownerSex

varchar(20)

N

车主性别

取值范围:

{‘男’,‘女’}

CarownerPhone

varchar(11)

N

车主联系号码

每位取值:

0~9

Carowneraddr

varchar(20)

N

车主联系地址

CarownerVIP

varchar(20)

N

车主会员等级

表3-4车主AdminLogin关系模式的定义

(3)车辆(Car)实体集转化的关系模式如下,属性定义如表3-5所示:

Car(CarID,CarownerID,CarName,CarAge,Carowneraddr,CarCondit)

字段名称

数据类型

可否为空

字段描述

其他说明

CarID

varchar(20)

N

车主编号

PK

CarownerID

varchar(20)

N

车主姓名

FK

CarName

varchar(20)

N

车主性别

CarAge

varchar(11)

N

车主联系号码

CarCondit

varchar(20)

N

车主联系地址

表3-5车辆Car关系模式的定义

(4)美容项目(BeautyProject)实体集转化的关系模式如下,属性定义如表3-6所示:

BeautyProject(ProjectID,ProjectDescri,ProjectPrice)

字段名称

数据类型

可否为空

字段描述

其他说明

ProjectID

varchar(20)

N

项目编号

PK

ProjectDescri

varchar(20)

N

项目描述

ProjectPrice

varchar(20)

N

项目价格

表3-6美容项目BeautyProject关系模式的定义

(5)账单(Bill)实体集转化的关系模式如下,属性定义如表3-7所示:

Bill(biID,CarID,ProjectID,EmployeeID,billDate)

字段名称

数据类型

可否为空

字段描述

其他说明

biID

varchar(20)

N

账单编号

PK

CarID

varchar(20)

N

车辆编号

FK

ProjectID

varchar(20)

N

项目编号

FK

EmployeeID

varchar(20)

N

员工编号

FK

billDate

datetime

N

订单日期

可以按年-月-日或者年-月-日时:

分:

秒格式输入

表3-7账单Bill关系模式的定义

(6)订单(ClientOrder)实体集转化的关系模式如下,属性定义如表3-8所示:

ClientOrder(OrderID,CarownerID,OrderDate,OrderProject)

字段名称

数据类型

可否为空

字段描述

其他说明

OrderID

varchar(20)

N

订单编号

PK

CarownerID

varchar(20)

N

车主编号

FK

OrderDate

varchar(20)

N

预定日期

可以按年-月-日或者年-月-日时:

分:

秒格式输入

OrderProject

varchar(20)

N

预定项目编号

表3-8订单ClientOrder关系模式的定义

(7)评价(appraisal)联系集转化的关系模式如下,属性定义如表3-9所示:

appraisal(appID,CarownerID,appCont)

字段名称

数据类型

可否为空

字段描述

其他说明

appID

varchar(20)

N

评价编号

PK

CarownerID

varchar(20)

N

车主编号

FK

appCont

varchar(20)

N

评价内容

表3-9评价appraisal关系模式的定义

4系统实现

4.1应用程序主要界面及关键代码

4.1.1利用JDBC连接数据库部分代码

packagesQLServerDriver;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclassDriver{

publicstaticConnectiongetConnection(){

Connectionconn=null;//数据库连接类

StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎

StringdbURL="jdbc:

sqlserver:

//localhost:

1433;DatabaseName=VehicleDecorateManage";//数据源!

注意若出现加载或者连接数据库失败一般是这里出现问题

StringName="sa";

StringPwd="FHQ666";

try

{

Class.forName(driverName);

conn=DriverManager.getConnection(dbURL,Name,Pwd);

System.out.println("连接数据库成功");

returnconn;

}

catch(Exceptione)

{

e.printStackTrace();

System.out.println("连接失败");

}

returnconn;

}

publicstaticvoidclose(Connectionconn)throwsSQLException{

if(conn!

=null){

conn.close();

}

}

publicstaticvoidclose(Connectionconn,ResultSetrs)throwsSQLException{

if(rs!

=null){

rs.close();

if(conn!

=null){

conn.close();

}

}

}

publicstaticvoidmain(String[]args){

Connectionmy=getConnection();

}

}

4.1.2店员登录界面

图4.1店员登录界面

代码:

publicvoidloginCheck(){

StringAdminID=this.textField.getText();

StringAdminPassword=newString(this.passwordField.getPassword());

StringAdminName=this.textField_1.getText();

if(StringUtil.isEmpty(AdminID)){

JOptionPane.showMessageDialog(null,"管理员编号不能为空!

");

return;

}

if(StringUtil.isEmpty(AdminPassword)){

JOptionPane.showMessageDialog(null,"密码不能为空!

");

return;

}

if(StringUtil.isEmpty(AdminName)){

JOptionPane.showMessageDialog(null,"管理员姓名不能为空!

");

return;

}

AdministratorLoginadmin=newAdministratorLogin(AdminID,AdminPassword,AdminName);

Connectionconn=null;

try{

conn=Driver.getConnection();

AdministratorLogincurrentUser=administratorLoginDao.Admin_login(conn,admin);

if(currentUser!

=null){

JOptionPane.showMessageDialog(this,"登录成功!

");

newAdminMenu().setVisible(true);

this.setVisible(false);

}else{

JOptionPane.showMessageDialog(null,"登录失败!

");

}

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

JOptionPane.showMessageDialog(null,"登录失败!

");

}finally{

try{

Driver.close(conn);

}catch(SQLExceptione){

e.printStackTrace();

}

}

 

4.1.3店员菜单界面

图4.2店员菜单界面

4.1.4修改密码界面

图4.3修改密码界面

代码:

publicstaticintupdatePassword(Connectionconn,AdministratorLoginadmin)throwsException{

Stringsql="{callproAdminloginUpdate(?

?

)}";

PreparedStatementpstmt=conn.prepareStatement(sql);

pstmt.setString(1,admin.getAdmin_AdminID());

pstmt.setString(2,admin.getAdmin_AdminPassword());

returnpstmt.executeUpdate();

}

4.1.5浏览全部美容项目信息界面

图4.4浏览项目信息界面

代码:

JButtonbtnNewButton=newJButton("确认浏览");

btnNewButton.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

try{

model=newDefaultTableModel();

model.setColumnIdentifiers(newObject[]{"美容项目编号","项目内容","价格"});

table.setModel(model);

newDefaultTableModel();

Listlist=BeautyProjectDao.queryBeautyProjectAll();

for(inti=0;i

BeautyProjectbeautyProject=list.get(i);

String[]felids=newString[]{

beautyProject.getProjectID(),beautyProject.getProjectDescri(),Float.toString(beautyProject.getProjectPrice())

};

model.addRow(felids);

}

table.updateUI();

}catch(SQLExceptione1){

//TODO自动生成的catch块

e1.printStackTrace();

}

4.2数据库对象实现

4.2.1建表语句及约束

/*==============================================================*/

/*Table:

BeautyProject*/

/*==============================================================*/

createtableBeautyProject(

ProjectIDvarchar(20)notnull,

ProjectDescrivarchar(30)notnull,

ProjectPricefloatnotnull,

constraintPK_BEAUTYPROJECTprimarykey(ProjectID)

go

/*==============================================================*/

/*Table:

Bill*/

/*==============================================================*/

createtableBill(

biIDvarchar(20)notnull,

CarIDvarchar(20)notnull,

ProjectIDvarchar(20)notnull,

EmployeeIDvarchar(20)notnull,

billDatedatetimenotnull,

constraintPK_BILLprimarykey(biID)

go

/*==============================================================*/

/*Table:

Car*/

/*==============================================================*/

createtableCar(

CarIDvarchar(20)notnull,

CarownerIDvarchar(20)notnull,

CarNamevarchar(20)notnull,

CarAgeintnotnull,

CarConditvarchar(20)notnull,

constraintPK_CARprimarykey(CarID)

go

/*==============================================================*/

/*Table:

Carowner*/

/*==============================================================*/

createtableCarowner(

CarownerIDvarchar(20)notnull,

CarownerNamevarchar(20)notnull,

CarownerSexvarchar(20)notnull,

CHECK(CarownerSexIN('男',

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1