-
户信
息管
理系
统
-
设
计报
告
客
word
题
目:
客户信息管理系统
专
业:
.nte
网页
1
班
学号:
1303110112
姓
名:
刘冰涛
指导教师:
胡迎久
1
、
设计题目
客户信息管理系统
2
、
设计目的和要求
目的:利用
Visual Basic
和
Access
实现客户信息管理系统。
要求:使系统能运行正确,完成基本的功能如客户类型的增加、删除、查询和修
p>
改等。
3
、
设计内容(包括设计思路、设计实现)
2
word
3.1
需求分析
客户信息系统需要完成的功能有:
客户类型的建立与维护,包括客户类型的新建、修改和删除等。
客户信息的输入,详细全面记录并管理客户信息和联系人信息,客户信息包括客
户的基本信息,一般的通讯方式及客户其他信息,如爱好、禁忌、生日等。
客户信息的修改和删除,包括启动与取消客户的生日提醒等。
方便实用的数据查询功能,根据不同条件查询客户,可以查看客户信息。
3.2
总体设计
本系统采用三层结构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层
< br>和数据存储层。三层在实际的物理结构上也是独立的,业务逻辑处理层采用
Act
iveX DLL
实现,用户界面与业务逻辑分离,系统的安全性、可维护性、重要性<
/p>
和扩展性都大大提高。
本系统也采用面
向对象的设计,系统中将客户类型、客户等都封装成相应的
类,同时每个类都有自己对应
的集合类,从而再次提高了对数据库操作系统的安
全性和程序的可扩展性。
根据对系统功能的分析,我们可以把系统划分成客户类型管理模块、客户管
理
模块和提醒管理模块。
系统的物理结构也分为三层,即用户界面、组件和数据库。
3.3
程序界面及核心代码
3.1
需求分析
客户信息系统需要完成的功能有:
1
、客户类型的建立与维护,包括客户类型的新建、修改和删除等。
2
、客户信息的输入,客户信息包括客户的基本信息,一般
的通讯方式及客户其他
信息,如爱好、禁忌、生日等。
3
、客户信息的修改和删除,包括启动与取消客户的生日提醒等。
p>
4
、根据不同条件查询客户,可以查看客
户信息。
3.2
概念设计
本系统采用三层结构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层
和数据
存储层。三层在实际的物理结构上也是独立的,业务逻辑处理层采用
ActiveX D
LL
实现,用户界面与业务逻辑分离,系统的安全性、可维护性、重要性
和扩展性都大大提高。
本系统也采用面向对象的设计
,系统中将客户类型、客户等都封装成相应的
类,同时每个类都有自己对应的集合类,从
而再次提高了对数据库操作系统的安
全性和程序的可扩展性。
根据对系统功能的分析,我们可以把系统划分成客户类型管理模块、客户管理
模块和提醒管理模块。
系统的物理结构也分为三层,即用户界面、组件和数据库。
系统功能模块图
各实体间关系的
p>
E-R
图
客户类
型信息实体
E-R
图
客户信息实体
E-R
图
3
word
3.3
逻辑设计
(
1
)模式转换(
E/R to
Relational)
ClientType
表:
ClientInfo
表:
Cooperate
表:
WarnType
表:
Warning
表:
(
2
)模式规范化
ClientType
表、
ClientInf
o
表、
Cooperate
表、
WarnType
表、
Warning
表均已经
为
BCNF
范式
(
3
)
完整性约束设计
实体完整性约束:
C
lientType
表主键为
TypeId
ClientInfo
表主键为
Cli
entId
Cooperate
表主键为
CooperateId
WarnType
表主键为
WTypeId
Warning
表主键为
WarnId
参照完整性约束:
Cooperate
表的
< br>ClientId
参照
ClientInfo
表主键
ClientId
Warning
表的
TypeId
参照
ClientType
表主键
Type
Id
4
word
(
4
)外模式设计
建立了一张
Client
视图,用于显示每位
客户的合作、提醒信息,语句如下:
Create view
Client
as
select CooperateId
,
ClientId
,
WarnId
,
ClientId
,
TypeName
,
Name
from ClientType
,
C
lientInfo
,
Cooperate
,
Warning
where
Id=Id
and
=
(
5
)典型应用设计
<
/p>
客户类型管理模块:添加客户类型,修改客户类型,删除客户类型
客户管理模块:客户信息管理,客户评价管理,客户合作管理
提醒管理模块:查看今日提醒,提醒设置管理
3.4
物理设计
内模式设计:主要包括索引、散列、簇集设计
ClientType
表:索引字段为
TypeId<
/p>
,索引表达式为
TypeId
,索引类型
为主索引
ClientInfo
表:
索引字段为
ClientId
,索引表达式为
< br>ClientId
,索引类型为主索
引
< br>
Cooperate
表:索引字段为
< br>CooperateId
,索引表达式为
Coopera
teId
,索引类型
为主索引
WarnType
表:索引字段为
WType
Id
,索引表达式为
WTypeId
,
索引类型为主索引
Warning
表
:索引字段为
WarnId
,索引表达式为
WarnId
,索引类型为主索引
3.5
系统实现
主要模块及其核心代码如下:
p>
(
1
)客户类型管理模块:
添加客户类型界面:
核心代码:
Public
Function AddNew(Optional strName As String =
Optional lngSuperID As Long = -1) As
gxcAddNew
If
ExistByName(
AddNew = DuplicateName_AddNew
Exit Function
End If
If lngSuperID <> 0
Then
If
ExistByID(
AddNew = SuperNotExist
5
word
Exit Function
End If
End If
If strName <>
If lngSuperID <> -1 Then D = lngSuperID '
Dim strSQL As String
Dim ErrMsg As String
strSQL =
strSQL = strSQL &
strSQL = strSQL &
strSQL = strSQL &
If
RunSql(strSQL, ErrMsg) Then
= MaxID(
AddNew = AddNewOK
Else
AddNew = AddNewFail
End If
End
Function
(
2
)客户管理模
块:
客户信息管理模块:
添加客户界面:
核心代码:
Public
Function AddNew(Optional ByVal strName As String =
Optional ByVal intAge As Integer = 0,
_
Optional varSex As gxcSex = -1, _
Optional
lngTypeId
As
Long
=
0)
As
Boolean
On
Error Resume Next
'
如果参数为缺省值,
即未传入,则直接调用类中的参数,否则调用传入的参数
6
word
If strName
<>
If intAge <> 0 Then =
intAge
If varSex <> -1
Then = varSex
If
lngTypeId <> 0 Then = lngTypeId
Dim strSQL As
String
g_rans
'
开始一个事务,以免费得到的
ID
值已被其它客户端
所使用
'
此处调用
NextID
方法,得到该类对应的数据表的下一个
ID
,即最大
ID+1
= NextID(
me
=
GetValueByID(
,
'
构造
SQL
语句,注意需调用
RealString
去除字符串中的单引
号,以及一些
SQL
语法的关键词加
[
]
strSQL
=
into
ClientInfo([Name],
Age,
Sex,
TypeId,
Mobile,
Email, OfficePhone,
strSQL
=
strSQL
&
HomePhone,
Fax,
HomeAddress,
MailAddress,
ZipCode, Birthday,
strSQL
=
strSQL
&
BirthdayWarn,
[Work],
[Position],
Company,
CompanySite,
SelfSite,
strSQL
=
strSQL
&
Likes,
Hate,
Remark,
Importance,
Friendly,
Satisfaction)
strSQL = strSQL &
strSQL
=
strSQL
&
&
RealString(mvarName)
&
'
客户名称
strSQL
=
strSQL
&
mvarAge
&
'
客户年龄
strSQL
=
strSQL
&
mvarSex
&
'
性别
strSQL
=
strSQL
&
mvarTypeId
&
'
客户类型
Id
strSQL
=
strSQL
&
&
RealString(mvarMobile)
&
'
手机
strSQL
=
strSQL
&
&
RealString(mvarEmail)
&
'E-mail
strSQL = strSQL &
'
办
公室电话
strSQL = strSQL &
'
宅
电
7
-
-
-
-
-
-
-
-
-
上一篇:EXCEL表格基本知识
下一篇:打印机使用方法