版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空航天大学课课 程程 设设 计计 报报 告告课程设计名称:软件综合课程设计软件综合课程设计课程设计题目:车辆调度管理软件设计车辆调度管理软件设计院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名: 指导教师:完成日期:2011年9月9日沈阳航空航天大学课程设计报告 目录 -i-目目 录录第第 1 章章 需求分析需求分析.11.1 问题内容与要求 .11.2 问题分析与假设 .1第第 2 章章 概要概要设设计计.22.1 数据库逻辑模型设计 .22.1.1 数据库 er 图.22.1.2 数据库表格设计.32.2 系统功能模块 .4第第 3 章章 详详细细设计设计.53.1
2、 客户功能模块 .53.2 管理人员功能模块 .63.2.1 车辆信息更新.63.2.2 车辆信息的添加与删除.73.2.3 司机信息的添加与删除.8第第 4 章章 调试使用调试使用.104.1 客户功能 .104.2 管理员功能 .114.2.1 车辆及司机信息的增删.114.2.2 车辆信息的修改.12参考文献参考文献.14附附 录(程序清单)录(程序清单).15沈阳航空航天大学课程设计报告 第 1 章 需求分析 -1-第 1 章 需求分析1.1 问题内容与要求问题内容与要求设计一个简单的车辆调度管理程序,可实现对不同的车辆、不同要求、不同时间的调度算法。1) 建立车辆信息表;2) 实现对
3、车辆信息的插入、修改、查询、删除功能;3) 界面要优化,直观、大方、美观;4) 实现针对不同任务、不同时间的调度分配算法;5) 独立完成系统的设计、编码和调试;6) 按照课程设计规范书写课程设计报告。1.2 问题分析与假设问题分析与假设车辆调度就是根据客户的需求,合理地派遣出相应的车辆。假设每派遣出一辆车,需要记录下该车的特有信息以及使用该车的客户信息。一辆车在被使用后,不能在重叠的时间段被其他客户使用。而客户在选择车辆时,除了能够了解车辆本身的属性外,也有权了解驾驶该车辆驾驶员的信息,比如驾驶员的性别、驾龄、年龄。而作为车辆调度员,应该做到对车辆信息的查看、增删、及时更新等操作。由于每一辆车
4、都有一个专属司机,所以每新增一辆,都必须提供一个已存在的司机信息,如果添加了一个错误的司机,系统应该能够提供提示现提供一个正确的司机信息。同理,如果想要注销掉某个司机的信息,首先要取消掉他与配对车辆的关系,然后才能进行注销。分析了客户与车辆、司机与车辆的关系,有利于我们建立合理的表格,并且在设计程序时考虑到更多切合实际的应用。本次课设所需要的表格将在 sql 2000 中建立。使用 microsoft visual c+编写代码、进行对数据库的读写等操作。odbc 将作为搭载数据库与 vc+的平台。沈阳航空航天大学课程设计报告 第 2 章 概要设计 -2-第 2 章 概要设计2.1 数据库逻辑
5、模型设计数据库逻辑模型设计2.1.1 数据库数据库 e er r 图图汽车调度管理系统的 er 图如图 2.1 所示。 图图 2.12.1 车辆调度管理数据库车辆调度管理数据库 e er r 图图车辆实体与司机、客户这两个实体之间,分别通过驾驶关系和租用关系联系在一起。为便于管理,一辆汽车只配备一名司机,一名司机也只能驾驶一辆汽车。11 车辆车牌号 车型 豪华程度 车辆载重 状态最早可用时间 驾驶 司机司机编号司机姓名性别 驾龄年龄 租用 客户客户电话客户姓名需求车型需求程度需求载重租用车辆租用时间归还时间mn沈阳航空航天大学课程设计报告 第 2 章 概要设计 -3-所以这两个实体之间是 1:
6、n 的关系。而一辆汽车可以出租给不同的客户,而一个顾客又可以租用多辆汽车,所以两个实体之间的关系是 m:n 的关系。e-r 图表示的关系模式为:车辆(车牌号,车型,司机编号,载重,豪华程度,状态,最早可用时间) ;司机(司机编号,司机姓名,性别,驾龄,年龄) ;客户(客户电话,客户姓名,需求车型,需求程度,需求载重,租用时间,归还时间,租用车辆) 。“车辆”实体的主码是“车牌号” 。属性“司机编号”是来自于实体“司机” ,的外码,参照其属性“司机编号” 。“司机”实体的主码是“司机编号” 。“客户”实体的主码是“客户电话” 。属性“租用车辆”是来自于实体“车辆”外码,参照其属性“车牌号” 。2
7、.1.2 数据库表格设计数据库表格设计1车辆(vehicles) 表表 2.12.1 车辆信息表车辆信息表列名列名数据类型数据类型长度长度是否可以为空是否可以为空说明说明vnochar20否车牌号vtypechar10是车型vdnochar20否司机编号vloadint不定是车辆载重vgrandchar10是豪华程度vstatuschar10是状态vbacktimeint不定是最早可用时间2司机(drivers) 表表 2.22.2 司机信息表司机信息表列名列名数据类型数据类型长度长度是否可以为空是否可以为空说明说明dnochar20否司机编号dnamechar10是司机姓名dsexchar1
8、0是性别ddegreeint不定是驾龄dageint不定是年龄沈阳航空航天大学课程设计报告 第 2 章 概要设计 -4-3客户(orders)表表 2.32.3 客户信息表客户信息表列名列名数据类型数据类型长度长度是否可以为空是否可以为空说明说明otelchar20否客户电话onamechar10是客户姓名otypechar10是需求车型ograndchar10是需求程度oloadint不定是需求载重ohiertimeint不定是租用时间obacktimeint不定是归还时间ovnochar20否租用车辆2.2 系统功能模块系统功能模块本系统主要功能和层次结构如图 2.2 所示。本系统有七个主
9、要功能。其中客户的使用到的功能更有用户下单、车辆信息查询两个功能,而管理人员使用到的功能有车辆信息更改、新增车辆、新增司机、车辆删除、司机删除五个功能。图图 2.22.2 系统主要功能和层次结构系统主要功能和层次结构 车辆调度管理系统功能模块 客户下单 车辆信息查询 车辆信息更改 新增车辆 新增司机 删除车辆 删除司机沈阳航空航天大学课程设计报告 第 3 章 详细设计 -5-第 3 章 详细设计3.1 客户功能模块客户功能模块顾客类模块是为了实现顾客下订单和查询车辆信息的需求。客户可以通过它,查看全部车辆或指定车辆的信息,或是根据自己的需求筛选车辆。并且,客户还可以根据指定车辆的车牌号,查看该
10、辆车的司机信息。客户在输入了客户电话、姓名、对车辆的需求,以及时间等相关信息后,可以先使用查询功能查看满足条件的车辆,然后选定某辆车查看其司机信息,全部信息都满意后,再通过了系统对客户的租用时间与该车最早可用时间的核对,就可以下单,已取得该车的使用权。客户功能模块流程图如图 3.1 所示。 yn 开始 输入客户数据 显示满足客户需求的车辆 输入指定车辆的车牌 查看司机信息最早可用时间大于租用时间 成功下单 结束图图 3.13.1 客户功能模块流程图客户功能模块流程图沈阳航空航天大学课程设计报告 第 3 章 详细设计 -6-3.2 管理人员功能模块管理人员功能模块该模块主要实现对车辆与司机信息的
11、增删查改。3.2.1 车辆信息更新车辆信息更新通过该功能,管理人员可以改变指定车辆的配置司机,或是将已归还的汽车的订单取消,使该汽车可以投入下一轮使用。在改变车辆的配置司机时,输入车牌号和新的司机编号,就可以将指定的车辆的司机改变。注意,输入的新司机编号只能是已存在的,并且是没有被配置到其他车辆的司机的编号,否则系统会提示出错。改变车辆配置司机的流程图如图 3.2 所示。 图图 3.23.2 改变车辆配置司机的流程图改变车辆配置司机的流程图在取消已归还汽车的的订单时,输入车票号和归还时间,就可以将对应的订单取消,若该车辆已其他没有订单,将车辆状态由“busy”变为“free” ,表示目前空闲,
12、否则车辆状态保持“busy” ,直至该车辆无任何订单。取消已归还汽车订单的流程图如图 3.3 所示。n 开始输入需要更改的信息该司机编号是否合法y 更改信息 结束沈阳航空航天大学课程设计报告 第 3 章 详细设计 -7- 图图 3.33.3 取消已归还汽车订单的流程图取消已归还汽车订单的流程图3.2.2 车辆信息的添加与删除车辆信息的添加与删除该功能显而易见,主要是完成对车辆的新增或删除。输入车牌号、车型、司机编号、车辆载重、豪华程度、初始车辆状态,而初始最早可用时间默认为 0。就可以添加一辆新车。需要注意的是,输入的司机编号只能是已存在的,并且是没有被配置到其他车辆的司机的编号,否则系统会提
13、示出错。若只输入车牌号,则表示需要删除某一个已经存在的车辆信息。需要注意的是,输入的车牌号必须是存在的已有的车辆的车牌号,否则系统提示出错。车辆信息的添加与删除功能的流程图如图 3.4 所示。y 开始输入订单信息换车时间小于该车最早可用时间 取消对应订单 车辆状态不改变 结束 取消对应订单车辆状态变为“free”n沈阳航空航天大学课程设计报告 第 3 章 详细设计 -8- 图图 3.43.4 车辆信息的添加与删除功能的流程图车辆信息的添加与删除功能的流程图3.2.3 司机信息的添加与删除司机信息的添加与删除归还功能与车辆信息的添加与删除类似。输入司机编号、司机姓名、性别、驾龄、年龄等信息,就可
14、以添加一名新司机。需要注意的是,输入的新司机编号不能与已有的司机编号重复,否则系统提示出错。 若只输入司机编号,则表明需要删除某一个司机。需要注意的是,删除的这一个司机不能是配置到车辆上的,否则系统提示出错。司机信息的添加与删除功能流程图如图 3.5 所示。yynnn 开始输入车辆信息是否只有车牌号信息司机编号是否合法 初始化最早可用时间 写入新车辆信息 结束车牌号存在 删除车辆信息 输入司机编号y沈阳航空航天大学课程设计报告 第 3 章 详细设计 -9-图图 3.53.5 司机信息的添加与删除功能流程图司机信息的添加与删除功能流程图nn 开始输入司机信息是否只有司机信号 添加司机信息者 司机
15、已配置 删除司机 禁止删除 结束yy沈阳航空航天大学课程设计报告 第 4 章 调试使用 -10-第 4 章 调试使用4.1 客户功能客户功能客户下单和查询车辆信息界面如图 4.1 所示。图图 4.14.1 客户下单和查询车辆信息界面客户下单和查询车辆信息界面输入合理信息后,通过鼠标点击按钮,就可以实现不同的功能。比如依次输入: 、 “vanpersy” 、 “audi” 、 “a+” 、 “3” 、 “1530” 、 “2311”后,点击“根据客户需要显示车辆”出现匹配车辆如图 4.2 所示。然后选中其中的车牌为“a1256”的车型,点击“查看司机信息” ,出现“07
16、06” 、 “ronaldo” 、 “male” 、 “6” 、 “30”字样。分别代表司机编号、司机姓名、性别、驾龄、年龄。信息如图 4.3 所示。客户如果满意,点击“下单”即可成功下单。沈阳航空航天大学课程设计报告 第 4 章 调试使用 -11-图图 4.24.2 匹配客户匹配客户 vanpersyvanpersy 需求的车辆需求的车辆图图 4.34.3 车辆车辆 a1256a1256 的司机信息的司机信息4.2 管理员功能管理员功能4.2.1 车辆及司机信息的增删车辆及司机信息的增删若需要在车辆信息表 vehicles 中加入一辆车型为“lambor” 、车牌号为“a1122” 、驾驶司
17、机为“0755”豪华程度为“aa+” 、载重为 2 人的新车,需要沈阳航空航天大学课程设计报告 第 4 章 调试使用 -12-在车辆信息更新界面输入信息。如图 4.4 所示。图图 4.44.4 新增车辆信息新增车辆信息但是点击添加后,会提示“没有该司机!请先输入司机信息” 。原因是编号为 0755 的司机信息还没有存入数据库。解决办法就是在司机信息更新界面输入编号为 0755 的司机的相关信息。如图 4.5 所示。图图 4.54.5 新增司机信息新增司机信息点击“添加” 。添加了司机信息后,重新在车辆信息更新界面输入司机编号,就可以添加所需要的新车辆了。删除车辆信息与司机信息时,只需要输入对应
18、的车牌号或是司机编号,点击删除即可。4.2.2 车辆信息的修改车辆信息的修改若有车辆归还,输入归还车辆的车牌号,以及该车辆的返回时间,就可以取消对应的订单。如上面被租用的车辆 a1256,车辆返回后,在车辆信息更新界面沈阳航空航天大学课程设计报告 第 4 章 调试使用 -13-输入信息“a1256” 、 “2311” ,点击“修改” ,就完成了订单的取消。如图 4.6 所示。图图 4.64.6 取消车辆取消车辆 a1256a1256 的订单的订单若是修改车辆的的配置司机,在司机编号处输入合法的司机编号即可。沈阳航空航天大学课程设计报告 参考文献 -14-参考文献1 高富平,张楚 . 电子商务法
19、m. 北京:北京大学出版社,20022 沈炜,徐慧 . vc+数据库编程技术与实例 m . 北京:人民邮电出版社,20053 杨章伟等 . 21 天学通 visual c+ m. . 北京:电子工业出版社,20094 王珊,萨师煊 . 数据库系统概论m. 北京:高等教育出版社,20065 崔莹,王华军 . vc+数据库编程 100 例m. 北京:中国铁道出版社,2007沈阳航空航天大学课程设计报告 附 录 -15-附 录(程序清单)#include stdafx.h#include ylz.h#include ylzset.h#include ylzdoc.h#include ylzview.
20、h#include driverset.h#include ve1set.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endifcylzview:cylzview(): crecordview(cylzview:idd)/afx_data_init(cylzview)m_pset = null;m_tel = _t();m_name = _t();m_type = _t();m_grand = _t();m_load = 0;m_upvno = _t();沈阳航空航天大学课
21、程设计报告 附 录 -16-m_upvdno = _t();m_upvgrand = _t();m_upvstatus = _t();m_upvtype = _t();m_upvload = 0;m_dno = _t();m_dname = _t();m_dsex = _t();m_ddegree = 0;m_dage = 0;m_vno = _t();m_htime = 0;m_btime = 0;m_upbtime = 0;/afx_data_initvoid cylzview:dodataexchange(cdataexchange* pdx)crecordview:dodataexch
22、ange(pdx);/afx_data_map(cylzview)ddx_control(pdx, idc_list3, m_listd);ddx_control(pdx, idc_list1, m_list1);ddx_text(pdx, idc_edit1, m_tel);ddx_text(pdx, idc_edit2, m_name);ddx_text(pdx, idc_edit3, m_type);ddx_text(pdx, idc_edit4, m_grand);ddx_text(pdx, idc_edit5, m_load);ddx_text(pdx, idc_edit9, m_u
23、pvno);沈阳航空航天大学课程设计报告 附 录 -17-ddx_text(pdx, idc_edit11, m_upvdno);ddx_text(pdx, idc_edit13, m_upvgrand);ddx_text(pdx, idc_edit14, m_upvstatus);ddx_text(pdx, idc_edit10, m_upvtype);ddx_text(pdx, idc_edit12, m_upvload);ddx_text(pdx, idc_edit6, m_dno);ddx_text(pdx, idc_edit8, m_dname);ddx_text(pdx, idc_
24、edit15, m_dsex);ddx_text(pdx, idc_edit16, m_ddegree);ddx_text(pdx, idc_edit17, m_dage);ddx_text(pdx, idc_edit7, m_vno);ddx_text(pdx, idc_edit18, m_htime);ddx_text(pdx, idc_edit19, m_btime);ddx_text(pdx, idc_edit20, m_upbtime);/afx_data_mapbool cylzview:precreatewindow(createstruct& cs)/ todo: modify
25、 the window class or styles here by modifying/ the createstruct csreturn crecordview:precreatewindow(cs);void cylzview:oninitialupdate()m_pset = &getdocument()-m_ylzset;crecordview:oninitialupdate();getparentframe()-recalclayout();resizeparenttofit();沈阳航空航天大学课程设计报告 附 录 -18-bool cylzview:onpreparepri
26、nting(cprintinfo* pinfo)return doprepareprinting(pinfo);#ifdef _debugvoid cylzview:assertvalid() constcrecordview:assertvalid();void cylzview:dump(cdumpcontext& dc) constcrecordview:dump(dc);cylzdoc* cylzview:getdocument() / non-debug version is inlineassert(m_pdocument-iskindof(runtime_class(cylzdo
27、c);return (cylzdoc*)m_pdocument;#endif /_debugcrecordset* cylzview:ongetrecordset()return m_pset;/ cylzview message handlersvoid cylzview:onbutton1() cveset cc;沈阳航空航天大学课程设计报告 附 录 -19-cstring pp( );/int nitem=-1; cstring str0;updatedata(true);for(int j=0;jisopen()m_pset-close();if(cc.isopen()cc.close
28、();cc.open();m_vno=m_vno+pp;m_pset-open();m_pset-addnew();m_pset-m_otel=m_tel;m_pset-m_oname=m_name;m_pset-m_otype=m_type;m_pset-m_ogrand=m_grand;m_pset-m_oload=m_load; m_pset-m_ovno=m_vno;m_pset-m_ohiretime=m_htime;m_pset-m_obacktime=m_btime;while(cc.iseof()!=1)if(cc.m_vno=m_vno)updatedata(true);cc
29、.edit();cc.m_vstatus=busy;cc.m_vbacktime=m_btime;沈阳航空航天大学课程设计报告 附 录 -20-cc.update();cc.movenext();cc.requery();updatedata(false);elsecc.movenext();m_pset-update(); m_pset-movelast();m_pset-requery();messagebox(已下单!已下单!);m_tel=m_name=m_type=m_grand=;m_load=0;m_htime=m_btime=0;m_pset-close();cc.close(
30、);m_vno=;for(int i=0;i10;i+)m_list1.deletestring(0);m_listd.deletestring(0);updatedata(false);void cylzview:onbutton2() cveset vs;沈阳航空航天大学课程设计报告 附 录 -21-cstring str=;updatedata(true);for(int i=0;i=%d and vgarnd=%s,m_type,m_load,m_grand);vs.open();while(vs.iseof()!=1)str.format(%4s %4s %4s %d %18s %5
31、s %7d,vs.m_vno,vs.m_vtype,vs.m_vdno,vs.m_vload,vs.m_vgarnd,vs.m_vstatus,vs.m_vbacktime);m_list1.addstring(str);vs.movenext();updatedata(false);vs.close();void cylzview:onbutton3() cveset s1; cdriverset s2; cstring str1=; updatedata(true); for(int i=0;iisopen() m_pset-close();if(m_upbtime!=0) alv.m_s
32、trfilter.format(vno=%s,m_upvno); alv.open(); if(m_upbtime=alv.m_vbacktime) alv.edit(); alv.m_vstatus=free; alv.m_vbacktime=0; alv.update(); alv.movenext(); alv.requery(); m_pset-m_strfilter.format(ovno=%s and obacktime=%d,m_upvno,m_upbtime); m_pset-open(); crecordsetstatus status; m_pset-getstatus(s
33、tatus);沈阳航空航天大学课程设计报告 附 录 -28- m_pset-delete(); if(status.m_lcurrentrecord=0) m_pset-movenext(); else m_pset-movefirst(); messagebox(订单已删除,该车辆已返回,可以使用订单已删除,该车辆已返回,可以使用!); m_upvstatus=; m_upvno=; m_upbtime=0; updatedata(false); if(m_upvdno!=) ckd1.open(); ckd1.movefirst();updatedata(true);m_upvdno=m_
34、upvdno+sp2;while(ckd1.iseof()!=1)if(ckd1.m_dno=m_upvdno)b+; alv.m_strfilter.format(vno=%s,m_upvno); alv.open(); alv.edit();alv.m_vdno=m_upvdno;alv.update();alv.movelast();alv.requery();messagebox(修改成功修改成功!); m_upvdno=m_upvno=;沈阳航空航天大学课程设计报告 附 录 -29-updatedata(false);ckd1.movenext();else ckd1.movenext();if(b=0)alv.open();messagebox(无此司机无此司机!请先输入司机信息请先输入司机信息!); m_upvdno=; updatedata(false);alv.close();m_pset-close();void cylzview:onbutton9() cveset vs1;cstring strc=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华侨大学《项目管理概论》2025-2026学年期末试卷
- 纺丝凝固浴液配制工风险识别测试考核试卷含答案
- 碳排放核查员安全行为知识考核试卷含答案
- 生物科技公司工作总结报告
- 涂装预处理工安全管理竞赛考核试卷含答案
- 汽机本体检修工改进知识考核试卷含答案
- 两栖类繁育工持续改进评优考核试卷含答案
- 真空电子器件装配工安全文明竞赛考核试卷含答案
- 条直线相交(教学课件)2025-2026学年人教版七年级数学下册
- 初三春季学期音乐期中考试核心及答案
- 感恩母爱温暖相伴-2026年母亲节主题班会课件
- 空间转录组技术介绍
- 2026物业管理行业职业技能竞赛物业管理员考试试题及答案
- 饲料生产粉尘清扫制度
- 考研材料化学题库及答案
- 初中化学课题申报书
- 子宫内膜息肉诊治课件
- 成都职业技术学院2025年四季度编制外公开(考试)招聘23名工作人员笔试考试参考试题及答案解析
- 《航空航天概论》总复习课件
- 全品 高考古诗文背诵篇目(60篇)
- 广东省广州市2025年中考道德与法治真题(含答案)
评论
0/150
提交评论