基于UML的汽车租赁管理系统设计.docx

上传人:b****6 文档编号:7258703 上传时间:2023-01-22 格式:DOCX 页数:23 大小:744.89KB
下载 相关 举报
基于UML的汽车租赁管理系统设计.docx_第1页
第1页 / 共23页
基于UML的汽车租赁管理系统设计.docx_第2页
第2页 / 共23页
基于UML的汽车租赁管理系统设计.docx_第3页
第3页 / 共23页
基于UML的汽车租赁管理系统设计.docx_第4页
第4页 / 共23页
基于UML的汽车租赁管理系统设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于UML的汽车租赁管理系统设计.docx

《基于UML的汽车租赁管理系统设计.docx》由会员分享,可在线阅读,更多相关《基于UML的汽车租赁管理系统设计.docx(23页珍藏版)》请在冰豆网上搜索。

基于UML的汽车租赁管理系统设计.docx

基于UML的汽车租赁管理系统设计

基于UML的汽车租赁管理系统设计

1问题描述

1.1需求描述

随着汽车工业的发展和汽车的普及,汽车租赁成为近年来兴起的一个新行业。

使用汽车租赁管理系统可以规范企业的管理和经营行为,减少企业的经营成本,提高工作效率。

针对以上的要求,汽车租赁管理系统的用户是汽车租赁企业的管理人员,其需求功能应包括汽车类型管理、会员类型管理、保险类型管理、销售商管理、保险公司管理、客户信息管理、会员信息管理和汽车租赁、续租、归还管理等主要功能,从而可以形成统一有效的管理。

在该系统中,要实现对汽车类型信息、会员类型信息和保险类型信息等基本信息的添加、修改、删除、和查询;销售商信息的添加、修改、删除和查询;保险公司信息的添加、修改、删除和查询;客户信息和会员信息的添加、修改、删除和查询以及汽车租赁、续租、归还等具体操作的实现。

以满足当前该行业在处理业务上的需求。

1.2运行环境描述

本系统采用的是C/S体系结构风格,对系统中信息的查询、修改、删除和添加等操作都是对数据库的操作,在数据库服务器上实现的,而在本系统中运行的界面只是客户应用程序,负责提供管理人员与数据库交互的界面,向数据库服务器提交用户请求并接受来自数据库服务器的消息,。

而数据库服务器也就是后台程序,主要是负责有效的管理系统的数据库资源,对客户应用程序传来的信息加以处理,对数据库内的信息进行操作。

系统开发采用RationalRose进行统一建模,编程语言是MicrosoftVisualBasic,数据库设计采用的是MicrosoftAccess2000,在WindowsXp操作系统下测试并运行。

1.3系统性能描述

MicrosoftVisualBasic与其他开发工具相比,具有简单易学、灵活方便和易于扩充等特点,越来越多地被用做客户/服务器应用程序的前端开发工具,与后台的MicrosoftAccess2000数据库相结合,能够提供高性能的管理信息系统解决方案。

2用例模型及分析类图的描述

2.1用例模型描述

本系统中,以汽车租赁为实现功能,其他的功能都是为了服务于该主要功能,从而便于管理。

系统的用例图如图2-1所示。

图2-1汽车租赁系统用例图

通过对系统进行需求分析,得到系统的用例图,从而知道了系统要实现的基本功能。

客户通过管理人员对系统进行操作,通过建立用例图得知系统的体系结构。

本系统采用3层结构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。

系统中将用户、汽车管理等都封装成相应的类,同时每个类都有自己对应的操作类,从而再次提高了对数据库操作的安全性和程序的可扩展性。

在系统中,只有管理人员才有权限使用本系统,才能对数据库进行操作。

(1)管理人员对基本信息的管理,包括对汽车类型信息的增加、删除、修改和查询;对会员类型信息的增加、删除、修改和查询;保险类型信息的增加、删除、修改和查询;销售商信息的增加、删除、修改和查询;保险公司信息的增加、删除、修改和查询。

所以,有基本信息管理用例,还包括汽车类型管理用例、会员类型管理用例、保险类型管理用例、销售商管理用例和保险公司管理用例。

(2)管理人员对客户会员的管理,主要是会员类型的修改和查询,客户信息的增加、删除、修改和查询。

所以,有客户会员管理用例和客户信息管理用例。

(3)管理人员对租赁业务的管理,包括汽车类型信息的增加、删除、修改和查询;汽车租赁信息的增加、删除、修改和查询;汽车续租信息的增加、删除、修改和查询;汽车归还信息的增加、删除、修改和查询;所以,有租赁业务用例、汽车租赁管理用例、汽车续租管理用例、汽车归还管理用例。

(4)管理人员对系统用户的管理,包括系统用户的增加、删除、修改和查询和密码的修改;所以有系统用户管理用例和密码修改用例。

分析系统的使用对象和用户需求,设计系统的体系结构。

系统的功能模块如图2-2所示。

 

图2-2汽车租赁管理系统功能模块示意图

2.2分析类图描述

在系统中,应该包括“基本类型信息”类,“会员类型信息”类,“公司信息”类,“客户信息”类,“汽车信息”类,“汽车租赁信息”类,“管理员信息”类。

如图2-3即为汽车租赁管理系统类图。

图2-3汽车租赁管理系统类图

系统管理员是“Users”类的子类,它与客户是多对应一的关系,客户通过系统管理员办理业务,而使用本系统;客户与租赁是一对应多的关系,一个客户可以租赁多辆汽车,而汽车与租赁是一一对应的;每个客户可以有会员类型也可以没有,所以是一对应多的关系;每辆汽车都有其销售商,而销售商可以销售多辆汽车,所以汽车和销售商是多对一的关系;同样每辆汽车都有其对应的保险类型,所以与保险类型是多对一的关系。

3详细设计描述

3.1核心时序图描述

3.1.1汽车信息管理时序图

图3-1汽车信息管理时序图

3.1.2修改密码时序图

图3-2修改密码时序图

3.1.3汽车租赁管理时序图

图3-3汽车租赁管理时序图

3.1.4汽车续租管理时序图

图3-4汽车续租时序图

3.1.5汽车归还时序图

图3-5汽车归还时序图

3.2状态图描述

3.2.1汽车信息管理状态图

图3-6汽车信息管理状态图

3.2.2修改密码状态图

图3-7修改密码状态图

3.2.3汽车租赁管理状态图

图3-8汽车租赁管理状态图

 

3.2.4汽车续租管理状态图

图3-9汽车续租管理状态图

3.2.5汽车归还管理状态图

图3-10汽车归还管理状态图

3.3组件图描述

图3-11组件图

4编程设计描述

4.1信息代码设计和数据库设计

用户的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构以及处理数据的流程,组成一份详尽的数据字典,为以后的具体设计打下基础。

经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下面所示的数据项和数据结构:

(1)用户信息,包括数据项:

用户名、密码。

(2)类型信息,包括数据项:

类型ID、类型名称、描述等。

(3)会员类型,包括数据项:

会员ID、会员类型、享受折扣等。

(4)公司信息,包括数据项:

公司名称、联系电话、电子邮件、地址等。

(5)客户信息,包括数据项:

客户ID、姓名、驾驶证号、驾龄等。

(6)汽车信息,包括数据项:

车牌号、购买日期、押金、日租金等。

(7)汽车租赁信息,包括数据项:

合同ID、车牌号、客户ID、租赁时间等。

数据库中包含了7个表,即基本类型表Types、会员类型表MemberType、公司信息表Company、客户信息表Customer、汽车信息表Cars、汽车租赁表Lease和用户信息表Users。

表4-1表Types的结构

编号

字段名称

数据类型

说明

1

Id

int

类型编号,主键,自动增1

2

TypeName

Varchar50

类型名称

3

TypeId

Tinyint

类型分类,1-汽车类型,2-保险类型

4

Description

Varchar100

类型描述

表4-2表MemberType的结构

编号

字段名称

数据类型

说明

1

Id

Int

类型编号,主键,自动增1

2

TypeName

Varchar50

类型名称

3

Rate

Float

享受的折扣

表4-3表Company的结构

编号

字段名称

数据类型

说明

1

Id

Int

公司编号,主键,自动增1

2

Company

Varchar100

公司名称

3

Telephone

Varchar50

联系电话

4

Address

Varchar50

地址

5

Emain

Varchar50

电子邮件

6

Contact

Varchar50

联系人

7

TypeId

Tinyint

公司类型,1-销售商,2-保险公司

8

Comment

Varchar200

说明

表4-4表Customer的结构

编号

字段名称

数据类型

说明

1

Id

Varchar20

客户编号,主键

2

Name

Varchar50

姓名

3

Sex

Char2

性别

4

Age

Tingint

年龄

5

IdCard

Varchar30

身份证号

6

Telephone

Varchar30

电话

7

Workorg

Varchar50

工作地点

8

Address

Varchar50

家庭地址

9

ZipCode

Varchar10

邮政编码

10

Enail

Varchar30

电子邮件

11

LicenseNo

Varchar30

驾驶证号

12

LicenseType

Varchar20

驾驶证类型

13

GetDate

Varchar20

发证日期

14

ExpiredDate

Varchar20

到期日期

15

DriverAge

Tinyint

驾龄

16

Flag

Tingint

会员标记(0-非会员,2-会员)

17

TypeId

Int

会员类型

18

Certificate

Varchar40

抵押证件

19

Warrantor

Varchar50

担保人

20

WidCard

Varachar30

担保人身份证号

表4-5表Cars的结构

编号

字段名称

数据类型

说明

1

CarNo

Varchar20

车牌号,主键

2

TypeId

Int

汽车类型

3

CarName

Varchar50

汽车名称

4

Color

Varchar20

汽车颜色

5

EngineNo

Varchar50

发动机号

6

CarCase

Varchar50

车架号

7

SaleId

Int

销售商编号

8

BuyDate

Datetime

购买日期

9

InsurNo

Varchar50

保单号

10

InsurId

Int

保险公司编号

11

InsurType

Varchar50

保险种类

12

InsurSate

Datetime

起保日期

13

InsurEdate

Datetime

结束日期

14

Deposit

Int

押金

15

DayPrice

Int

日租金

16

WeekPrice

Int

周租金

17

MonthPrice

Int

月租金

18

WeekEndPrice

Int

周末租金

19

DayPM

Int

日限公里数

20

OverTimePrice

Int

超时租金

21

OverKMPrice

Int

超公里租金

22

Status

Char10

状态

23

Comment

Varchar200

备注

表4-6表Lease的结构

编号

字段名称

数据类型

说明

1

ContractNo

Varchar50

合同编号,主键

2

CarNo

Varchar20

车牌号

3

CustId

Varchar20

客户编号

4

LeaseTime

Datetime

租赁时间

5

LeaseMode

Char10

租赁模式(分为按日、周和月)

6

Price1

Int

租赁价格

7

Price2

Int

按日租赁时的周末租赁价格

8

WorkDays

Int

租赁工作日、周、月的数量

9

WeekEndCount

Int

租赁周末个数

10

Deposit

Int

押金

11

DayKm

Int

日限公里数

12

OutKM

Int

出车公里数

13

OPrice1

Int

超公里每公里价格

14

OPrice2

Int

超时每小时价格

15

ReturnTime

Int

应归还时间

16

ReturnKM

Int

归还公里数

17

OtherCost

Int

其他费用

18

Rate

Float

折扣

19

Payment

Int

实际支付金额

20

Total

Int

总金额

21

Status

Char10

状态,必填字段(是)

22

CreateDate

Datetime

创建日期

23

UserName

Varchar20

创建人

24

RealRTime

Datetime

实际归还日期

表4-7表Users的结构

编号

字段名称

数据类型

说明

1

UserName

Varchar50

用户名,主键

2

UserPwd

Varchar50

密码

表4-8表的外键定义

关系名

主键表

主键字段

外键表

外键字段

FK_Cars_Types

Types

Id

Cars

TypeId

FK_Cars_Company

Company

Id

Cars

SaleId

FK_Cars_Company1

Company

Id

Cars

InsurId

FK_Customer_MemberType

MemberType

Id

Customer

typeId

FK_Lease_Cars

Cars

CarNo

Lease

CarNo

FK_Lease_Customer

Customer

Id

Lease

CustId

4.3输入设计

在本系统中,使用的语言是MicrosoftVisualBasic,界面设计比较方便,从而对于输入,主要是在窗口中的各种文本框、文本区和其他的控件来实现用户的输入,程序接受从这些控件来的信息,执行相应的操作。

对于本系统输入设计,由于界面的设计容易,从而其实现输入的方式也简单明了。

这也是本系统优点之一。

4.4输出设计

和输入设计相似,系统的输出设计是通过窗口中的各种文本框、文本区和弹出对话框等控件来实现结果的输出。

5用户界面设计和处理过程的设计的描述

5.1用户界面设计描述

5.1.1系统用户登录窗体

图5-1系统登录界面

登录窗体的名称为FrmLogin,它的界面布局如图5-1。

用户正确登录后,就会进入主界面。

5.1.2系统主界面

主窗体是工程的启动对象,可以在系统菜单中选择适当的命令,打开属性窗口设置启动对象。

本系统中主窗体名为FrmMain。

如图5-2。

 

图5-2系统主界面

在主界面,用户可以进行基本信息管理、客户会员管理、日常业务管理以及系统用户管理。

通过单击对应的菜单选项可以方便快捷地转到本系统功能模块。

5.1.3汽车租赁管理窗体

图5-3汽车租赁管理界面

5.1.4汽车归还管理窗体

图5-4汽车归还管理界面

5.1.5汽车归还结算窗体

图5-5汽车归还结算管理

5.1.6汽车租赁信息添加管理

图5-6汽车租赁信息添加

5.2处理过程设计描述

5.2.1类型管理模块设计

类型管理模块包括以下功能:

(1)类型信息编辑。

(2)类型信息管理。

(3)选择类型信息。

汽车类型管理信息编辑的窗体可以用来添加和修改类型信息,窗体名为FrmTypeEdit,它的窗体属性与登录窗体相似。

汽车类型信息管理窗体的名称为FrmType,它包括三个过程,DataRefresh过程的功能是根据种类编号显示列表中的信息;当用户在“汽车类型”和“保险类型”单选按钮之间切换是,触发OptSel_Click事件;当用户单击“修改”按钮时,触发Cmd_Modi_Click事件。

5.2.2汽车租赁管理模块设计

汽车租赁管理模块包括以下功能:

(1)汽车租赁信息管理,其窗体名为FrmLeaseEdit,窗体中使用3个ADODC控件分别为汽车信息、租赁价格和客户信息表格提供数据源。

当用户单击“查找”按钮时,触发Cmd_SchMember_Click事件;当用户更换租赁模式时,触发cob_Mode_Click事件,重新计算租赁总费用金额和归还时间。

(2)汽车续租管理,其窗体名为FrmLeaseAddEdit,在汽车的续租过程中,续租的各种价格继续使用租赁是的价格,不能更改,租赁模式也不允许更改。

如果要更改租赁模式,只能归还汽车后重新办理租赁手续。

在租赁中,只允许更改租赁的日(周、月),同时系统自动重新计算租赁总费用和应还时间。

(3)汽车租赁管理,其窗体名为FrmLease。

它的GridRefresh过程用来更新ADODC控件的记录源,从而更新DataGrid控件中显示的美容。

6给出软件的测试方法和测试结果

6.1软件测试方法

在本系统中,主要采用的是功能性测试,其中所使用的用例包括了边界值分、最坏情况分析、特殊值测试、输入输出等价类等测试方法。

是在已知系统的功能要求上,对系统所能实现的功能进行测试,看是否满足需求。

6.2测试用例和测试结果

6.2.1用户名和密码输入有误时

测试用例:

用户名为:

ccqjs,密码为:

123456

测试结果为:

图6-1

图6-1登录出错

6.2.2汽车租赁操作

测试用例为:

车牌号码为:

京AS1111,客户编号为:

C001,合同编号为:

886,周数为:

5

测试结果为:

在归还管理界面中有可以归还的汽车,且合同号是:

886,车牌号:

是图京AS11116-2,客户号是:

C001。

结果如图6-2

图6-2汽车租赁测试

6.2.3汽车归还操作

测试用例为:

车牌号码为:

京AS1111,客户编号为:

C001,合同编号为:

886

测试结果为:

数据库中没有车牌号码为京AS1111的汽车信息,如图6-3

图6-3汽车归还测试

 

6.2.4汽车管理添加操作

测试用例为:

车牌号为:

鄂AS123;车名为:

name;分类为:

夏利2000等

测试结果:

在数据库中有该记录,如图6-4所示

图6-4添加汽车信息

7总结心得

7.1设计特点

首先,本系统设计所采用的是3层结构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。

这3层的设计,使得该系统的运行性能较单纯的c/s模式有了很大的提高,而且所设计的界面逻辑结构清晰,便于进行修改和添加新的功能。

其次,本系统在界面设计上都采用了模块化的处理思想,把很多界面共有部分集成为一个模块,充分显示了vb面向对象程序语言的强大用途。

在程序结构上,所有的模块都分得很清晰,各个窗体所实现的功能都很明了,而且对数据库的操作也是通过对象来实现的。

将系统中各个模块的分工分得很明确,使得各个模块之间的功能相对比较独立,但在系统层次上则是联系很紧密的。

最后,本系统将数据库中的表建成类,并在类中定义了对类的基本操作,使得在以后在过程的使用中,不必重新定义对类的对象的操作,而且实现起来也是比较方便的,出错的机会也会降低。

在这点上,充分体现了面向对象的设计方法。

本系统的功能实际上是比较完善的,需求做得比较细致,而且查阅了很多资料,涉及的范围也比较广泛。

7.2设计不足

首先,在本系统的设计设计过程中,由于学习和考试的原因,耽误了一个星期,所以做起来的程序是比较匆促的,虽然需求相对来说还好,但是系统实现上出现了一些小问题,有些功能实现得不是很好,有待于进一步的提高。

其次,由于这次为了方便设计界面,所选取的编程语言也是没什么难度,以至于失去了课程设计所要达到的要求。

在编程过程中,遇到最大的问题就是与数据库的连接问题,以及数据库中表的增加、删除、修改和查询等操作。

在后来查阅相关资料才明白具体的细节。

没了解这门语言就用这门语言做课程设计,这是盲目的,直接导致的就是后续编程过程中漏洞百出,检查起来也很困难。

最后,这次还是没太重视这个课程设计,在心态方面就不行,一直也没有全力以付,虽然也学到了东西,但是相对来说,是教训大于所得。

这一点在即将来临的毕业设计中得好好的克服,在毕业设计中一定得稳扎稳打,好好完成在大学期间的最后一个课程设计。

8参考文献

[1]张友生,软件体系结构,北京:

清华大学出版社,2004年1月

[2]陈火旺、刘春林等,程序设计语言编译原理(第3版),国防工业出版社,2003年2月

[3]杨开英,数据库系统概论,,武汉理工大学出版社,2003年1月

[4]王少锋,面向对象技术UML教程,清华大学出版社,2004年2月

[5]赵文耘等译,需求工程,机械工业出版社,2003年8月

[6]王珊,数据库系统简明教程,高等教育出版社,2004年9月

[7]余雪丽,软件体系结构及实例分析,科学出版社,2004年10月

[8]王智学,ROSE对象建模方法与技术,机械工业出版社,2003年7月

[9]郑阿奇,VisualBasic使用教程(第二版),电子工业出版社,2004年1月

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

当前位置:首页 > 解决方案 > 工作计划

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

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