软件工程(汽车租赁系统).doc
《软件工程(汽车租赁系统).doc》由会员分享,可在线阅读,更多相关《软件工程(汽车租赁系统).doc(28页珍藏版)》请在冰点文库上搜索。
《软件工程》
学院:
计算机科学与技术
专业:
计算机科学与技术
姓名:
08100101侯茜
08100108赵雨岩
2011年5月31日
题目:
汽车租赁系统
写在前面:
本项目设计预计7周完成(8-14周)
组长侯茜
主要负责内容:
选题的确定、人员分工、项目进度、完成工作的验收、工作定期总结。
组员赵雨岩
主要负责内容:
参与选题的讨论、完成分配任务、一些问题的解决。
进度计划表
时间
内容
负责人
第八周
选题的确定
侯茜赵雨岩
第八周
编写大纲
侯茜赵雨岩
第九周
搜集相关背景知识
赵雨岩
第九周
可行性研究
侯茜
第十周
系统功能分析
侯茜赵雨岩
第十周
数据流图的绘制
侯茜
第十周
E-R图的绘制
赵雨岩
第十一周
绘制功能模块图
对各模块进行功能分析
侯茜
第十一周
UML建模设计
赵雨岩
第十二周
UML建模设计
赵雨岩
第十二周
数据结构分析
数据库表的简历
侯茜
第十三周
代码的编写
侯茜
第十三周
界面设计
赵雨岩
第十四周
检查、验收、总结
一、项目背景
随着社会生产的发展,汽车租赁已经成为几个极具市场潜力的行业,传统的人工租赁管理方式以无法适应社会要求,因此人们对运用计算机来辅助协调和管理租赁工作的需求正在逐步提高。
汽车租赁管理就是对车辆信息和客户信息的管理,主要包括车辆的出租状态、车辆的基本信息、车辆的投保情况、车辆的出场情况、客户信息的管理等,由于这些过程间关系复杂,所以是汽车管路工作变得量大而又复杂,直接导致错误的产生、服务质量低下。
汽车租赁系统的开发是这一情况得到了根本的改善,使汽车租赁服务可以快速、规范得完成,节省了人力物力,提高了服务质量和经济效益。
二、可行性研究:
1.引言
1.1编写目的:
可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解
经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。
明确开发风险及其所带来的经济效益。
本报告经审核后,交软件经理审查。
汽车租赁系统针对的是汽车租赁公司在像客户提供出租车车辆服务过程中面对的各种问题,对其业务信息进行自动化、信息化处理,是车辆租赁管理变得规范、快捷、高效。
1.2项目背景:
开发软件名称:
汽车租赁系统
项目开发者:
**************
用户:
各包含汽车租赁业务的公司
项目与其他软件,系统的关系:
本项目采用客户机/服务器原理,客户端的程序是建立在WindowsNT系统上以MicrosoftVisualC++为开发软件的应用程序,是采用SQLsever的为开发软件的数据库服务程序。
2.可行新研究的任务
2.1要求
主要功能:
本系统包括客户信息管理、车辆信息管理、汽车租赁归还管理、会员类型管理、会员信息管理、保险公司管理、汽车经销商管理等。
具有添加、修改、查询、删除等功能。
方便租赁公司的工作,提高租赁公司的工作质量和工作效率。
性能要求:
租借和归还信息必须及时更新,汽车租赁系统的信息必须无差错的存储在主服务器上。
输出要求:
数据完整,详实。
输出要求:
简捷,快速,实时、准确。
安全与保密要求:
管理员享有对客户信息库及汽车租借信息库和职员信息库的管理与修改。
工作人员只享有对汽车租赁信息库的部分修改(写入与读出)。
完成期限:
预计三个月
2.2目标:
系统的整体目标是:
利用互联网和信息化技术,结合汽车租赁经营的实际运作情况,建设一个覆盖汽车租赁经营全部业务的“汽车租赁系统”,通过该系统提高企业信息化水平,完善经营管理体系,提高员工素质,进一步加强企业市场竞争能力。
2.3条件,假定和限制
建议软件寿命:
5年。
经费来源:
*********公司。
硬件条件:
*************,终端为pc机。
运行环境:
windows
数据库:
SQLsever
2.4决定可行性的主要因素
成本/效益分析结果,效益〉成本。
技术可行,现有技术可完全承担开发任务。
操作可行,软件能被原有工作人员快速接受。
3.技术可行性分析
3.1系统简要描述
此系统用VC++6.0作为基本开发工具,SQLsever作为数据库开发工具设计开发这套汽车租赁管理系统。
在windows环境下,此系统比较友好的界面和基本完善的功能,使用轻松方便、易于维护,适应性强。
本息听还包括客户信息管理、车辆信息管理、汽车租赁归还管理、会员类型管理,会员信息管理、汽车销售商管理、保险公司管理等。
具有添加、修改、删除、查询等功能。
3.2系统基本模型图
4.经济可行性分析
4.1支出
硬件设备:
40万
人工费用:
3(月)*20(人)*3000(圆)=18万
其他不可知额外支出:
10万
支出共计:
68万
4.2效益
经常性收益:
减少员工10人(1000圆/人)五年收益:
1000*(1.1+(1.1)2+(1.1)3+(1.1)4+(1.1)5)*10*12*5=60万
工作效率提高收益(工作效率提高30%):
30*(1.1+(1.1)2+(1.1)3+(1.1)4+(1.1)5)*(30%)*5=45万
经常性收益共计:
105万
不可定量收益:
因服务质量提高增加旅客量5%:
1000万*5%*(90%+(90%)2+(90%)3+(90%)4+(90%)5)=120万
收益共计:
225万
4.3收益/投资比
225/68万=330%
4.4投资回收周期:
3年
5.社会因素可行性分析
5.1法律因素
所有软件都选用正版.
所有技术资料都由提出方保管。
合同制定确定违约责任.
5.2用户使用可行性
使用本软件人员要求有一定计算机基础的人员,系统管理员要求由计算机的专业知识,所有人员都要经过本公司培训.
管理人员也需经一般培训.
经过培训人员将会熟练使用本软件.
两名系统管理员,一名审计员将进行专业培训,他们将熟练管理本系统.
6.结论意见
由于投资效益比远大于100%,技术、经济、操作都有可行性,可以进行开发.
三、需求分析
1.数据流图
用户
业务
2.4
登记
1
接收信息
租赁种类
会员类型 汽车种类
会
员 客
类 户
2.1
登记
型
2.2
登记
2.3
登记
经销商
会员类型
保险公司
会 客 公
员 户 司
类 信
型 客户 息
客户 公司信息 种类信息
2.6
加入会员
客
3
反馈信息
2.5
车辆管理
2.7
租赁
户公司 公司 种类
信息 信息 信息
客户
汽
合车
同汽车
汽车
3
反馈信息
合同
汽车
会员类型
种类信息
反
馈
用户
说明:
汽车租赁公司在正常开展业务之前,需要先进行并积累并整理大量基础资料,包括:
汽车销售商、保险公司、客户、会员和公司现有的车辆信息,并且还要考虑保险种类、汽车种类及会员类型的变化对业务流程的影响。
各种关系之间的信息比较复杂,很多信息的改变是互相影响的。
当大声租赁业务时,需要有客户、汽车及该租赁行为是否续租行为撒半个方面的信息支持,而当要处理一辆汽车的信息时,更是要涉及到销售商、保险公司、保险种类、汽车种类、及汽车自身的基本信息等多方面的信息资源。
2.功能分析:
经过以上分析,可以打出汽车租赁管理系统应具备功能如下:
1、基本信息管理功能:
包括类型信息、销售商信息、保险公司信息、车辆信息;
2、客户会员管理功能:
包括客户信息、会员信息、会员类型定义;
3、日常业务管理功能:
包括汽车租赁、汽车归还。
4、系统用户管理功能:
管理对系统拥有使用权的用户信息。
3.E-R图
选择
会员类型实体
(1)各实体之间E-R图
客户信息实体
租赁
保修公司实体
销售商实体
投保
购买
汽车信息实体
选择
类型信息实体
(2)客户信息实体E-R图
客户信息实体
会员信息
基本信息
抵押保信息
驾驶证信息
(3)销售商实体E-R图
联系人
电子邮箱
邮编
备注
销售商信息实体
公司名称
传真
联系地址
联系电话
(4)车辆信息实体E-R图
汽车信息实体
租赁价格信息
保险信息
基本信息
(5)保险公司实体E-R图
联系电话
联系地址
传真
公司名称
邮编
备注
联系人
电子邮箱
销售商信息实体
4.系统运行要求:
汽车租赁系统中的系统的硬件和软件的配置如下:
系统软件:
WindowNTServer
数据库管理系统:
SQLServer
硬件要求:
PentiumIII450以上,258MRAM,14GHD
5.人力、资金、时间的约束
汽车租赁系统实施的目标就是要带给租赁公司看得出见的效益,其开发过程中也要考虑到人力、资金和时间的约束。
因此,在设计中,重点是系统中的方便快捷,能提供给旅客以优质高效的服务,并提高销售的效率和便捷,为租赁公司带来良好的效益。
技术发展规律的约束
计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。
例如图象和语音技术的进步,多媒体技术的发展,这些都要求系统在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。
四、总体设计
1.系统目标设计
从用户角度,系统能够达到以下目标:
(1)及时收集保存信息
(2)快速传递信息
(3)实现数据共享
从设计员角度,系统能够达到以下目标:
(1)方便用户使用
(2)与有较高的可靠性
(3)具有较好的运行效果
(4)具有较好的可维护性和可扩充性,能适应用户新的业务要求。
2.系统功能设计
2.1模块设计
主要完成功能如下
1.类型信息:
包括汽车类型的添加、修改、删除;汽车保险类型的添加、修改、删除。
具体信息包括分类名称、具体描述。
2.销售商信息:
包括销售商信息的添加、修改、删除、查询、查看销售汽车。
具体信息包括销售商的公司名称、联系地址、联系电话、传真、邮政编码、电子邮箱、联系人、备注。
3.保险公司信息:
包括保险公司信息的添加、修改、删除、查询、查看保险汽车、具体信息包括保险公司的公司名称、联系电话、联系地址、传真、邮政编码、电子邮件、联系人、备注。
4.车辆信息:
包括车辆信息的查找、修改、添加、删除。
具体信息包括车辆的:
(1)基本信息:
车牌号码、车辆类型、车辆名称、车辆颜色、发动机号、车架编号、燃油编号、购买日期、销售商、状态。
(2)保险信息:
保险公司、保单号、开始日期、结束日期、保险种类。
(3)租赁价格信息:
押金、日租金、周末租金、周租金、月租金、日限公里数、超时费用、超公里费用、车辆描述。
5.客户信息:
包括客户信息的查找、修改、添加、删除、加入会员。
具体信息包括
(1)基本信息:
客户编号、姓名、性别、年龄、身份证号、电话、工作单位、地址、邮编、EMAIL。
(2)驾驶证号、驾照类型、驾龄、发证日期、失效日期。
(3)抵押担保信息:
抵押证件、担保人、担保人身份证、担保人单位。
(4)会员信息:
会员类型、享受折扣。
6.会员类型:
包括会员类型的添加、修改、删除。
具体信息包括类型名称、折扣率。
7.汽车租赁:
包括汽车租赁信息的添加、修改、删除、租赁审核、续租、续租审核、具体信息包括合同编号、车牌号码、客户编号、租赁模式、工作日数、周末数、出车公里数、租车时间、换车时间、租车费用、经办人、享受折扣。
8.汽车归还:
包括汽车归还信息的归还、修改、结算审核。
具体信息包括合同编号、回车公里数。
9.系统用户信息:
包括添加用户和删除用户。
具体信息包括用户名、密码、确认密码。
10.系统帮助信息:
包含软件使用过程中的一些重要的、需要注意的使用方法和其他一些必要的信息。
2.2系统功能模块图:
汽车租赁管理系统
系统帮助信息
系统用户管理
基本信息管理
用户会员管理
业务管理
关于
帮助
用户信息
车辆归还
车辆租赁
会员类型信息
会员信息
客户信息
退出系统
车辆信息
保险公司信息
销售商品信息
类型信息
3.数据库设计
车辆信息表
字段名
类型
长度
备注
汽车编号
char
20
汽车类型
int
50
汽车名称
Char
20
颜色
Char
20
发动机编号
Char
50
车牌号
char
20
保险单号
char
10
保险类型
char
10
租赁价格
long
4
销售商
char
20
逾期价格
long
4
状态
char
10
客户信息表
字段名
类型
长度
备注
编号
Char
20
姓名
Char
20
性别
Char
2
年龄
int
2
身份证号
Char
20
电话号码
long
20
地址
Char
50
电子邮箱
Char
50
驾驶证编号
Char
30
驾驶证类型
Char
20
取车日期
Char
20
预定使用时间
Char
20
还车日期
Char
20
公司信息表
字段名
类型
长度
备注
公司编号
Char
20
公司名称
Char
20
公司电话
Char
20
地址
Char
50
电子邮箱
Char
50
传真
Char
20
邮编
Char
10
类型信息表
字段名
类型
长度
备注
类型编号
Char
20
类型名称
Char
20
描述
char
50
会员类型信息表
字段名
类型
长度
备注
会员编号
Char
20
用户名
Char
20
级别
Double
8
租赁信息表
字段名
类型
长度
备注
汽车编号
Char
20
用户编号
char
20
租借时间
Char
20
租借形式
Char
20
价格
Long
10
逾期价格
Long
8
预计租用时间
Char
10
超出时间
Char
10
归还时间
Char
10
用户名称
Char
20
总费用
long
8
状态
char
10
四、详细设计
1主程序流程设计
开始
继续操作
用户会员管理
系统帮助信息
系统用户管理
业务管理
结束
选择
基本信息管理
2UML建模设计
2.1用例图
客户参与的用例图
公司职员参与的用例图
2.2顺序图
管理人员工作顺序图
客户订车顺序图
客户取车顺序图
客户还车顺序图
2.3协作图
客户预订协作图
客户取车协作图
客户还车协作图
2.4系统状态图
2.5系统活动图
2.6系统类图
客户和公司职员类
其他类
各类关系图
2.7组件图
2.8配置图
3用户界面设计
登陆界面
登陆界面程序流程图
开始
密码
否
输入超过三次
密码
正确
否
主界面
是
结束
主界面
4实现代码(伪码)
Thisisthebasiccontrlofthissystem.Andherefocusontheimportant.ignorethedetail(abouthowtostore,howtocreateandcacheamessage.howtodelandchangeandsoon).
Somethingneedtoanounce:
thefourmainlymodulesarediveintosomecontrolandsetting.
Forexample.car_managecanbefindincustomer_reqandemployee_req.onefocusonbook_car;theanthorfocusoncarstate.
Somemodule,forexample,汽车检测,herebelogesemployee.andhereignoreit.
main()
switch(request):
case(customerreq)store();
case(employeereq)check_reqstate();
ifcheck_reqstate()==true
check_customerrecord();
ifhistory()==true
check_carstate();
ifavaliable
sent_req_message();
caseLogin();
elseifunavaliable
show_deny();
else
Show_deny();
elseshow_deny();
elsecheck_reqstate();
check_reqstate()
{
setcustomer_req{book_car;rending;money_manager;};
setemployee_req{car_manager;customer_manager};
judge_message();
}
check_carstate()
{
query_cardata();
set{avaliable;being_use;unavaliable;}
}
caseLogin()
{
query_caredata();
query_customerdata();
Store_new_case();
}
车辆预订、租赁业务、车辆管理、客户管理、租金统计等功能。
它包括了四个模块:
基本数据维护模块、基本业务模块、数据库管理模块和信息查询模块
五、总结:
本次软件工程设计文档的编写,我们是按照教材和相对应的教学进度来一步一步来进行的,在开始着手时,因为初次编写此类文档,没有丰富的经验,因此也在事前查阅的很多相关资料,对于我们来说,最大的收获莫过于对软件工程这门课程有了比较深刻的认识,理解了其在真正的软件开发过程中所起的重要作用。
另一个收获就是,在我们完成任务的过程中,也熟悉了很多软件的使用,比如利用ROSE工具进行UML建模,用visio进行一些表格、界面的设计等。
Rose其实是一种非常强大的工具,它允许开发人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。
通过在软件开发周期内使用同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。
而visio相比之下,虽然能设计多种图形,但是缺乏智能型,在进行设计的过程中,我们也综合了这两种绘图软件的优缺点,此外OFFICE的很多很能也不容小觑。
总之,通过此次作业,我们将平时所学的理论知识付诸于实践,我想应该对我们以后的学习有所帮助。
28