长沙学院课程设计说明书汽车租赁管理系统.doc_第1页
长沙学院课程设计说明书汽车租赁管理系统.doc_第2页
长沙学院课程设计说明书汽车租赁管理系统.doc_第3页
长沙学院课程设计说明书汽车租赁管理系统.doc_第4页
长沙学院课程设计说明书汽车租赁管理系统.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长 沙 学 院 课程设计说明书 题目汽车租赁管理系统 系(部)数学与计算机科学系 专业(班级) 姓名 学号 指导教师潘怡 起止日期 2015.6.152015.6.26 课程设计任务书 课程名称:课程名称:数据库系统原理课程设计 设计题目:设计题目:汽车租赁管理系统 已知技术参数和设计要求:已知技术参数和设计要求: 题目:汽车租赁管理系统 1、某汽车租赁公司汽车租赁管理系统需要如下信息: 工作人员信息包括:工号、姓名、性别、联系电话等。 客户信息包括:身份证号、姓名、性别、所在单位、联系电话等。 车辆信息包括:车牌号、品牌、颜色、座位数、日租价格、日租超公里价格、月租价格、 租赁状态、购入日期等。 车辆类别信息包括:分类号,库存数。 其业务规则描述如下: 一个工作人员可以对很多辆车辆进行管理,一辆车也可以被多个工作人员管理;一辆车 只能属于一种车辆类别,而一种车辆类别可以包含多辆车;一个客户可以租多辆不同的 车。 2、系统功能的基本要求: 可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录。可以按类别统 计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好, 能模拟客户对汽车的租借、归还业务。 各阶段具体要求:各阶段具体要求: 1、需求分析阶段 定义数据项的含义和取值 定义目标系统的数据流 2、概念结构设计阶段 画出实体模型 E-R 图 3、逻辑结构设计阶段 将实体模型转化为关系模型 给出每个关系的主关键字和函数依赖集 分析你所设计的关系数据库模式是否属于 3NF 4、物理设计阶段 确定所有字段的名称、类型、宽度、小数位数及完整性约束 确定数据库及表的名称及其组成 确定索引文件和索引关键字 5、数据库安全及维护设计阶段 设计一个适合的数据库安全策略(用户身份认证、访问权限、视图) 为了实现复杂的数据完整性约束,设计适当的触发器 设计一个适合的数据库备份策略 6、实施阶段 要求所有操作必须在查询分析器中用 SQL 语句或系统存储过程完成。 对于学有余力的同学,可以使用嵌入式 SQL 语句结合高级语言开发完成。 设计工作量:设计工作量: (1)软件设计:完成问题陈述中所提到的所有需求功能。 (2)论文:要求撰写不少于 3000 个文字的文档,详细说明各阶段具体要求。 工作计划:工作计划: 安排两周时间进行课程设计,软件开发步骤如下,第一周完成 14,第二周完成 58, 论文同步进行; 1)选定题目 2)需求分析 3)概念结构设计 4)逻辑结构设计 5)物理设计 6)数据库安全及维护设计 7)数据库上机实现 8)答辩 计划时间指导老师班级 1516 周 杨刚13 软件 1 班 1516 周潘怡13 软件 2 班 1516 周 何可可13 软件 3 班 1516 周刘钢钦13 软件 4 班 注意事项注意事项 提交文档提交文档 长沙学院课程设计任务书(每学生 1 份) 长沙学院课程设计论文(每学生 1 份) 长沙学院课程设计鉴定表(每学生 1 份) 指导教师签名: 日期: 教研室主任签名: 日期: 系主任签名: 日期: 长沙学院课程设计鉴定表 姓名学号专业班级 设计题目汽车租赁管理系统指导教师潘怡 指导教师意见: 评定等级: 教师签名: 日期: 答辩小组意见: 评定等级: 答辩小组长签名: 日期: 教研室意见: 教研室主任签名: 日期: 系(部)意见: 系主任签名: 日期: 说明 课程设计成绩分“优秀” 、 “良好” 、 “及格” 、 “不及格”四类; 目 录 一、引言一、引言 .8 1.1 编写目的.8 1.2 参考资料.8 二、二、需求规约需求规约.8 2.1 业务描述.8 2.2 需求分析.9 2.2.1 用例规约 .9 三、三、环境说明环境说明.11 3.1 数据库环境.11 3.2 开发环境.11 四、四、数据库的命名规则数据库的命名规则.12 4.1 数据库对象命名规则.12 4.2 数据项编码规则.12 五、五、逻辑设计逻辑设计.12 5.1 实体与关系的属性.12 5.2 ER 图.13 六、六、物理设计物理设计.13 6.1 表汇总.13 6.2 表 TABLE_WORKER.14 6.3 表 TABLE_CUSTOMER.14 6.4 表 TABLE_CAR.15 6.5 表 TABLE_CARCLASS.16 6.6 表 TABLE_RECORD.16 6.7 表 TABLE_CAR_WORKER.17 6.8 存储过程.17 6.8.1 proc_insert_Worker.17 6.8.2 proc_insert_Customer.18 6.8.3 proc_insert_Car.19 6.8.4 proc_insert_CarClass.20 6.8.5 proc_insert_Record.21 6.8.6 proc_find_AllCarClass .22 6.8.7 proc_find_Cars.23 6.8.8 proc_find_Car.23 6.8.9 proc_find_Customer .24 6.8.10 proc_find_CustomerRecord.24 6.8.11 proc_find_CarRecord.25 6.8.12 proc_find_CustomerFavorite.25 6.9 函数.26 6.9.1 func_CreateRecordNO.26 6.9.2 func_IdToAge.26 6.10 触发器.27 6.10.1 Trigger_insertCar_addCarClassCnt.27 6.10.2 Trigger_deleteCar_subtractCarClassCnt .27 6.10.3 Trigger_updateCar.28 6.10.4 Trigger_updateRecordReturnDate.28 七、七、运行结果运行结果.29 7.1 租赁汽车.29 7.2 资料查询.30 7.3 订单查询.30 7.4 查询一类汽车.31 7.5 还车登记.31 7.6 统计某一年龄最喜欢的类型.32 八、八、总结总结.32 九、九、附录附录.33 9.1 存储过程代码.33 9.1.1 proc_insert_Car.33 9.1.2 proc_insert_CarClass.33 6.1.3 proc_insert_Customer.34 9.1.4 proc_insert_Record.34 9.1.5 proc_insert_Worker.34 9.1.6 proc_find_AllCarClass .35 9.1.7 proc_find_Car.35 9.1.8 proc_find_Cars.35 9.1.9 proc_find_CarRecord.36 9.1.10 proc_find_Customer .36 9.1.11 proc_find_CustomerFavorite.36 9.1.12 proc_find_CustomerRecord.37 9.2 管理系统代码.37 9.2.1 menu.h.37 9.2.2 usersql.h.38 9.2.3 main.cpp.39 9.2.4 menu.cpp.39 9.2.5 usersql.cpp .48 一、引言一、引言 1.1 编写目的编写目的 本文是汽车租赁管理系统设计文档的组成部分,编写设计文档的目的是:明确数据库的表名、字 段名,明确表之间的关系,分析功能的详细需求。本文档的读者对象是需求人员、系统设计人员、开 发人员和测试人员。 1.2 参考资料参考资料 表 1.1 参考资料 资料名称作者文件编号、版本 数据库系统概论 王珊、萨师煊2006 年 5 月第 4 版 C+ GUI Qt 4 编 程 Jasmin Blanchette Mark summerfield 2013 年 5 月第 1 版 SQL Server 2008 编程入门经典 Robert Vieria2010 年 1 月第 1 版 二、二、需求规约需求规约 2.1 业务描述业务描述 2.1.1 创建背景创建背景 系统名称:汽车租赁管理系统。 系统的开发者:xxx。 系统的用户:租车客户以及租赁公司的工作人员。 2.1.2 业务规则业务规则 工作人员可以对很多辆车辆进行管理,一辆车也可以被多个工作人员管理;一辆车只能属于一种 车辆类别,而一种车辆类别可以包含多辆车;一个客户可以租多辆不同的车。 2.2 需求分析需求分析 2.2.1 用例规约用例规约 表 2.1 用户登录 用例名称:用户登录摘要 用例 ID:T-LOGIN-1 角色:客户或工作人员 用例说明:汽车租赁系统的登录模块 前置条件:客户或工作人员运行该系统 基本事件流:1. 客户或工作人员输入教务处帐号和密码 2. 点击登录 其它事件流:1.用户不存在 2.帐号或密码错误 后置条件:登录成功并跳转到相关页面 表 2.2 车辆信息查询 用例名称:查询车辆信息 用例 ID:T-FIND-1 角色:客户或工作人员 用例说明:使用汽车租赁系统查询车辆信息 前置条件:从功能菜单选择进入车辆查询信息页面 基本事件流:输入要查询的品牌 其它事件流:输入的品牌不存在 后置条件:显示该品牌的所有类别的车辆供选择 表 2.3 客户信息查询 用例名称:查询客户信息 用例 ID:T-FIND-2 角色:客户或工作人员 用例说明:使用汽车租赁系统查询客户信息 前置条件:从功能菜单进入客户信息查询页面 基本事件流:输入要查询客户的身份证号 其它事件流:如果角色为客户的话,用户只能查询自己的信息 后置条件:显示查询结果 表 2.4 汽车历史租赁记录查询 用例名称:查询汽车的历史租赁记录 用例 ID:T-FIND-3 角色:工作人员 用例说明:使用汽车租赁系统查询汽车的历史租赁记录 前置条件:从功能菜单进入汽车历史租赁记录查询页面 基本事件流:输入要查询汽车的车牌号 其它事件流:输入的车牌号不存在 后置条件:显示查询结果 表 2.5 客户历史租赁记录查询 用例名称:查询客户的历史租赁记录 用例 ID:T-FIND-4 角色:客户或工作人员 用例说明:使用汽车租赁系统查询客户的历史租赁记录 前置条件:从功能菜单进入客户历史租赁记录查询页面 基本事件流:输入要查询客户的身份证号 其它事件流:1. 输入的身份证号不存在 2. 角色是客户的话只能查询其本身 后置条件:显示查询结果 表 2.6 某一年龄对汽车的喜好 用例名称:统计某一年龄对汽车的喜好 用例 ID:T-COUNT-1 角色:工作人员 用例说明:使用汽车租赁系统统计某一年龄对汽车的喜好 前置条件:从功能菜单进入喜好统计页面 基本事件流:输入要查询的年龄 其它事件流:输入的年龄非法 后置条件:显示某一年龄最喜爱结果品牌 表 2.7 汽车租赁 用例名称:租赁汽车 用例 ID:T-OP-1 角色:客户 用例说明:使用汽车租赁系统租赁汽车 前置条件:从查询结果中进入汽车租赁页面 基本事件流:选择要租赁的车的类别 其它事件流:租赁失败 后置条件:租赁成功并显示用户成功租赁的车的信息 表 2.8 汽车归还 用例名称:归还汽车 用例 ID:T-OP-2 角色:工作人员 用例说明:使用汽车租赁系统归还汽车 前置条件:从功能菜单进入归还汽车页面 基本事件流:1. 输入汽车的车牌号 2. 显示实际费用 其它事件流:该车牌号的汽车未被租赁 后置条件:归还该汽车 三、三、环境说明环境说明 3.1 数据库环境数据库环境 表 3.1 数据库环境 数据 库实 例 数据库 系统 数据 库部 署环 境 数据库设计 工具 数据库存放位置说 明 taxiSql Server 2008 Wind ows7+ local DiagramDes igner D:ProgramFilesMicrosoftSQLServerMSSQL10_50.MSSQL SERVERMSSQLDATA 3.2 开发环境开发环境 该汽车租赁管理系统在 Qt Creator 3.3.0 下使用 Qt 库 5.4.0 开发完成。 四、四、 数据库的命名规则数据库的命名规则 4.1 数据库对象命名规则数据库对象命名规则 表 4.1 数据库对象命名规则 数据库对象命名规则备注 表Table_功能描述字符串例如:Table_studen 学生表 视图View_功能描述字符串例如:View_student 学生视图 触发器Trigger_功能描述字符串例如:Trigger_update 约束Constraint_功能描述字符串例如:Constraint_primarykey 存储过程Proc_功能描述字符串例如:proc_insert 4.2 数据项编码规则数据项编码规则 表 4.2 数据项编码规则 数据项命名规则数据类型长度范围 工号W+序号(0000-9999)定长字符串5 位 车牌号省份简称+城市的序号+ 序号(00000-ZZZZZ) 定长字符串10 位 分类号F+序号(000-999)定长字符串4 位 订单号D+年+月+日+序号 (000000000+999999999) 定长字符串18 位 五、五、 逻辑设计逻辑设计 5.1 实体与关系的属性实体与关系的属性 表 5.1 实体与属性 实体和关系名称其余属性 工作人员工号,密码,姓名,性别,联系电话 客户身份证号,密码,姓名,性别,单位,联系 电话 车辆车牌号,租赁状态,购入日期,颜色 车辆类别分类号,品牌,座位数,库存数,日租价格, 日租超公里价格,月租价格 租赁订单号,车牌号,身份证号,租赁日期,还 车日期,实际 5.2 ER 图图 图 5.1 ER 图 六、六、 物理设计物理设计 6.1 表汇总表汇总 表 6.1 数据库表汇总 表名功能说明 Table_Worker 存储工作人员的信息 Table_Customer 存储用户的信息 Table_Car 存储车辆的信息 Table_CarClass 存储车辆的分类信息 Table_Record 存储租赁记录,联系客户和车辆,是一张联系表 6.2 表表 Table_Worker 表 6.2 Table_Woeker 表名 Table_Worker 数据库用户 Sa 主键 WorkNo 序号字段名称数据类型 (精度范围) 允许为 空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1WorkNochar(5)NY高无主键 2WorkPasswor d char(20)NN低无密码 3WorkNamechar(20)NN低无姓名 4WorkSexchar(2)NN低无性别 5WorkPhonechar(15)YY高无电话 sql 脚本 create table Table_Worker ( WorkNo char(5) not null, WorkPassword char(20) not null, WorkName char(20) not null, WorkSex char(2) not null, WorkPhone char(26) unique, primary key(WorkNo) ) 6.3 表表 Table_Customer 表 6.3Table_Customer 表名 Table_Customer 数据库用户 sa 主键 CusNo 序号字段名称数据类型 (精度范围) 允许为 空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1CusNochar(20)NY高无主键 2CusPasswordchar(20)NN低无密码 3CusNamechar(20)NN低无姓名 4CusSexchar(2)NN低无性别 5CusPhonechar(15)YY高无电话 6CusCompanychar(40)YN低NULL单位 sql 脚本 create table Table_Customer ( CusNo char(20) not null, CusPassword char(20) not null, CusName char(20) not null, CusSex char(2) not null, CusPhone char(15) unique, CusCompany char(40), primary key(CusNo) ) 6.4 表表 Table_Car 表 6.4Table_Car 表名 Table_Car 数据库用户 sa 主键 CarNO 序号字段名称数据类型 (精度范围) 允许为 空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1CarNochar(10)NY高无主键 2CarClassNochar(4)NN高无外键 3CarStabitNN低false租赁状态 4CarDatedatetimeNN低1970-1-1购入日期 5CarColorchar(15)NN低无颜色 sql 脚本 create table Table_Car ( CarNo char(10) not null, CarClassNO char(4) not null, CarSta bit not null, CarDate datetime not null, CarColor char(15) not null, primary key(CarNo), foreign key(CarClassNo) references Table_CarClass(CarClassNo) ) 6.5 表表 Table_CarClass 表 6.5Table_CarClass 表名 Table_CarClass 数据库用户 sa 主键 CarClassNo 序号字段名称数据类型 (精度范围) 允许为 空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1CarClassNochar(4)NY高无主键 2CarClassBrandchar(10)NY低无品牌 3CarClassSeatsmallintNN低无座位数 4CarClassCntintNN低无库存 5CarClassDayPrice1moneyNN低无日租价格 6CarClassDayPrice2moneyNN低无日租超公里价格 7CarClassMonthPricemoneyNN低无月租价格 sql 脚本 create table Table_CarClass ( CarClassNo char(4) not null, CarClassBrand char(10) not null, CarClassSeat smallint not null, CarClassCnt int not null, CarClassDayPrice1 money not null, CarClassDayPrice2 money not null, CarClassMonthPrice money not null, primary key(CarClassNO) ) 6.6 表表 Table_Record 表 6.6 Table_Record 表名 Table_Record 数据库用户 sa 主键 RecordNo 序号字段名称数据类型 (精度范围) 允许为 空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1RecordNochar(18)NY高无主键 2CarNochar(10)NY高无外键 3CusNochar(20)NY高无外键 4RecordRentDatedatetimeNN低无租赁时间 5RecordReturnDatedatetimeNN低NULL还车时间 6RecordCostmoneyYN低NULL实际花费 sql 脚本 create table Table_Record ( RecordNo char(18) not null, CarNo char(10) not null, CusNo char(20) not null, RecordRentDate datetime not null, RecordReturnDate datetime, RecordCost money, primary key(RecordNo), foreign key(CarNo) references Table_Car(CarNo), foreign key(CusNo) references Table_Customer(CusNo) ) 6.7 表表 Table_Car_Worker 表 6.7 Table_Car_Worker 表名 Table_Car_Worker 数据库用户 sa 主键 WorkNo,CarNo 序号字段名称数据类型 (精度范围) 允许为 空 Y/N 唯一 Y/N 区别度默认值约束条件/说明 1WorkNochar(5)NN高无主键、外键 2CarNochar(10)NN高无主键、外键 sql 脚本 create table Table_Record ( RecordNo char(18) not null, CarNo char(10) not null, CusNo char(20) not null, RecordRentDate datetime not null, RecordReturnDate datetime, RecordCost money, primary key(RecordNo), foreign key(CarNo) references Table_Car(CarNo), foreign key(CusNo) references Table_Customer(CusNo) ) 6.8 存储过程存储过程 6.8.1 proc_insert_Worker 参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论