软件工程课程设计长途汽车联网售票系统后台售票管理.doc

上传人:文库蛋蛋多 文档编号:2394431 上传时间:2023-02-17 格式:DOC 页数:29 大小:175KB
返回 下载 相关 举报
软件工程课程设计长途汽车联网售票系统后台售票管理.doc_第1页
第1页 / 共29页
软件工程课程设计长途汽车联网售票系统后台售票管理.doc_第2页
第2页 / 共29页
软件工程课程设计长途汽车联网售票系统后台售票管理.doc_第3页
第3页 / 共29页
软件工程课程设计长途汽车联网售票系统后台售票管理.doc_第4页
第4页 / 共29页
软件工程课程设计长途汽车联网售票系统后台售票管理.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《软件工程课程设计长途汽车联网售票系统后台售票管理.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计长途汽车联网售票系统后台售票管理.doc(29页珍藏版)》请在三一办公上搜索。

1、数学与计算机学院课程设计说明书课 程 名 称: 软件工程-课程设计 课 程 代 码: 8404131 题 目:长途汽车联网售票系统-后台售票管理 年级/专业/班: 09级-软件工程-4班 学 生 姓 名: 学 号: 开 始 时 间: 11 年 5 月 23 日完 成 时 间: 11 年 6 月 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日XX课 程 设 计 任 务 书学院名称: 数学与计算机学院 课程代码:_8404131_专业: 软件工程 年级: 09级 一、设计题目长

2、途汽车联网售票系统(CS)实现后台票务管理二、主要内容本课程设计长途汽车联网售票系统-实现后台票务管理,本系统主要模块: 一、基本信息管理 : 票务信息;二、临时车次管理:增加、删除、更改发车时间;三、查询当前票务情况; 三、具体要求及应提交的材料设计要求:1. 分析设计要求,给出解决方案(要说明设计实现所用的原理,采用的数据结构);2. 模块化程序设计,画出程序的基本结构框图和流程图;3. 对程序的每一部分要有详细的设计分析说明;4. 程序执行的每个步骤要有具体的提示内容或输出;5. 源代码格式规范(锯齿型书写格式),注释不少于三分之一;6. 设计合适的测试用例,对得到的运行结果要有分析;7

3、. 设计中遇到的问题,设计的心得体会。设计结束后,每位同学必须上交如下材料:1课程设计说明书打印稿一份;2课程设计说明书电子文档及课程设计的程序源代码 刻盘四、主要技术路线提示首先根据要解决的问题进行分析和总体设计,得到要定义的数据结构和函数,然后进行详细编码,在主函数中对各功能函数进行测试。五、进度安排二周完成。4天查阅资料和分析,6天编写软件,4天写出课程设计报告并上交。六、推荐参考资料(不少于3篇) 1 张海藩.软件工程导论(第五版)M.北京:清华大学出版社,20082 王红梅,胡明,王涛.数据结构(C+版)M.北京:清华大学出版社,20053 王珊,萨师煊.数据库系统概论M.北京:高等

4、教育出版社,20064 Bain T.SQL Server2000数据仓库M.北京.电力出版社,20035 Google Web APIs ReferenceEB/OL.指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日目 录1. 前言 12. 需求分析 22.1. 功能分析 22.2. 方案分析 23. 概要设计 33.1. 数据结构 33.2. 逻辑结构与物理结构 33.3. 功能模块划分 43.3.1结构框图53.3.2程序流图73.3.3模块功能分析及外部设计83.4抽象数据类定义94. 详细设计 94.1. 数据类型定义94.2. 主要模块内部设计 104.2.1输入信息

5、 114.2.1.1实现算法 124.2.1.2流程图 134.2.2. 更改数据 154.2.3. 查找信息 165实现与调试分析 165.1实现环境 165.2语言选择 165.3调试分析 166测试分析 176.1测试用例 176.2测试结果186.3性能分析187用户手册 188.总结 209.参考文献 201. 前言自从人类进入21世纪,也就进入了一个高速发展的信息时代,高新技术发展的同时,计算机的使用范围也大大扩展,它已经涉及到人类生活的方方面面。计算机使用的方便,快捷,使它在越来越多的方面显示出比传统手工制作更迅速和准确的优点,尤其在信息记录,检索和查询方面,避免了不必要的麻烦。

6、一个性能良好的长途汽车联网售票系统能够使管理员快速方便的对长途汽车站的相关信息,如汽车路线信息,汽车基本信息,车票等进行各种诸如添加,查询,删除,修改操作。使用传统的手工方式管理长途汽车车站相关信息,不仅让管理员感到非常的厌倦,也存在着不可避免的缺点,如效率太低,管理不够科学等等。使用计算机对长途汽车信息管理,有着传统的手工管理所没法比拟的优点。例如:查找方便,可靠性高,科学性好。这些优点能够极大地提高长途汽车信息方面的具体需求,利用VC+ 6.0,使用软件工程开发的方法,开发了这套长途汽车联网售票系统-后台服务售票。2. 需求分析2.1. 功能分析 长途汽车联网售票系统-后台销售管理的主要功

7、能:1. 输入汽车的基本信息 2. 查找发车时间、票价、车次等信息 3. 对发车车次、时间的修改,包括:增加、删除、修改发车时间 4. 将信息存盘5. 输出基本信息2.2方案分析长途汽车联网售票系统-后台销售管理为售票员提供简单、方便、快捷的功能,后台销售员可以进行查询、浏览、添加、删除等操作,使售票员能够快速、准确的实现售票服务,极大地为旅客节约了时间。 延时到达准时到达客车路线申请行驶计划开始售票售票结束车票售完启 程 批准申请 申请失败 最后一张票 启程前30分钟 异常情况状态图关 机开 机关 机开 机车 票添加查 询购买 旅客 售票员管理员 用例图3. 概要设计3.1. 数据结构数据元

8、素 包括后台管理人员,售票员,操作系统,旅客,汽车,车票等后台管理人员: 读入,修改基本信息;售票员 : 售票过程中的具体的操作;操作系统 : 处理各种票务管理的平台;旅客 : 查询票价,发车时间等信息;汽车 : 运送旅客;车票 : 旅客坐车的凭证价 格发车时间编 号系 统车 票汽 车售 票 员后台管理员 类 型 ER 图数据字典 1名字 : 车票 别名 : 描述 : 旅客坐车旅行的唯一凭证 定义 : 车票 = 发车时间 + 汽车编号 + 票价 + 站台号+ 座位号位置 : 输出到打印机2. 名字 : 客车 别名 : 汽车 描述 : 客车 = 类型 + 编号位置 : 站台3数据流图售票员旅 客

9、后台管理员售 票系 统 零层数据流图3.2. 逻辑结构与物理结构逻辑结构 : 用线性结构来处理数据元素之间的关系, 将元素一项项的写下去物理结构 : 采用顺序存储的方式来储存所有的数据3.3. 功能模块划分 3.3.1结构框图长途汽车联网售票系统-后台销售管理:后台管理员售票员输入基本信息添加车次删除车次修改信息查询信息售票服务 图1 结构框图 3.3.2程序流图进 入 主 界 面操作选择输 入 选 择返回主界面更改车辆更改票价更改发车时间退出系统删除车次操作选择更 改增加车次显示所有信息输入基本信息输 入 选 择开 始 图 2 流程图3.3.3模块功能分析及外部设计功能分析 外部设计 输入基

10、本信息 :将汽车,车票,车站的全部信息输入系统并储存;显示所有信息 :在屏幕上打印出输入的信息;修改信息 :包括添加,删除,更改等操作;3.4抽象数据类定义ADT Ticket 数据对象 : Price,CarType,CarNum,Time, Destination,StartTime基本操作 : Init(); Show();ChangPrice(int p0);ChangCar(char n,char t); ChangTime(int a,int b,int c); Find(char d1); Position(char n1); GetCarNum(); GetCarType();

11、 GetDestination(); GetPrice(); GetStartTime();ADT Ticket4. 详细设计4.1. 数据类型定义时间(StartTime),目的地(Destination),汽车编号(CarNum),票价(Price),汽车类型(CarType)4.2. 主要模块内部设计4.2.1输入信息 4.2.1.1实现算法cs.Init();c.push_back(cs);ch=getchar();4.2.1.2流程图开 始输入所有内容返回主界面结 束4.2.2. 更改信息1 .更改票价实现算法for(i=0;ic.size();i+)if(ci.Position(n

12、)coutp1;ci.ChangPrice(p1);ci.Show();f=0;break;else f=1;流程图没有改信息输入编号输入更改结 束2. 更改车辆实现算法coutn;for(i=0;ic.size();i+)if(ci.Position(n) coutn1; coutt1;ci.ChangCar(n1,t1);ci.Show();f=0;break; 流程图结 束输入更改输入编号没有改信息3. 更改发车时间实现算法coutn3;for(i=0;ic.size();i+)if(ci.Position(n3)int h,j,k;couthjk;ci.ChangTime(h,j,k)

13、;ci.Show();f=0;break;流程图结 束输入更改输入编号没有改信息4.2.3. 查出信息实现算法coutd1;for(int i=0;ic.size();i+)if(ci.Find(d1)ci.Show();f=0;break;elsef=1;if(f)cout没有该路线endl;流程图结 束查 找输入编号没有改信息输出结果5. 实现与调试分析实现环境系统 Windows XP系统操作平台Microsoft Visual C+ 6.0语言 c+调试分析:通过对系统的调试,完成了最初的设计要求,使各个模块的功能得以实现;6. 测试分析1. 管理员成功将每天车站信息输入系统,并且能够

14、进行更改,删除的操作2. 售票员成功进入系统,根据当前情况售票3. 旅客能够通过系统查询自己所需的信息7. 用户手册进入系统,根据界面的提示进行相应的操作8. 总结由于此次项目开发时间短,且没有该行业开发背景对开发环境不熟,但经过为期数天的努力工作,终于按时将产品按要求完成,基本实现了预期的目标9. 参考文献10. 张海藩.软件工程导论(第五版)M.北京:清华大学出版社,200811. 王红梅,胡明,王涛.数据结构(C+版)M.北京:清华大学出版社,200512. 王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,200613. Bain T.SQL Server2000数据仓库M.北京.

15、电力出版社,200314. Google Web APIs ReferenceEB/OL./Time.h#includeclass timepublic:int Hour,Minute,Second;time(int x=0,int y=0,int z=0)Hour=x;Minute=y;Second=z;void SetTime(int x,int y,int z);int GetHour();int GetMinute();int GetSecond();void time :SetTime(int x,int y,int z)Hour=x;Minute=y;Second=z;int ti

16、me :GetHour()return Hour;int time :GetMinute()return Minute;int time :GetSecond()return Second;/car.cpp#include Time.h#include #include #include #include #include using std:vector;const int NUM=100;class Carprivate:char CarNum7; /汽车的编码char CarType3; /汽车的类型 int Price; /票价char Destination10; /终点站time

17、StartTime; /发车时间public:Car(char n=,char t= ,int p=0,char d=,int x=0,int y=0,int z=0) : StartTime (x,y,z)strcpy(CarNum,n);strcpy(CarType,t);Price=p;strcpy(Destination,d);friend ostream & operator (ostream & s,const Car & C);void Init();void Show();void ChangPrice(int p0);void ChangCar(char n,char t);

18、void ChangTime(int a,int b,int c); bool Find(char d1);bool Position(char n1);char GetCarNum();char GetCarType();char GetDestination();int GetPrice();time GetStartTime();ostream & operator (ostream & s,const Car & C)s 汽车编号 : C.CarNum 汽车类型 : C.CarType 目的地 : C.Destination endl 发车时间 : C.StartTime.Hour 票

19、价 : C.StartTime.Minute C.StartTime.Second C.Price endl;return s;void Car :Init() coutCarNum;cout CarType;cout Destination;cout StartTime.HourStartTime.MinuteStartTime.Second;coutPrice;void Car :Show()cout汽车编号 : CarNum 汽车类型 : CarType 目的地 : Destinationendl;cout发车时间 : StartTime.GetHour():StartTime.GetM

20、inute():StartTime.GetSecond();cout 票价 : Priceendl;void Car :ChangPrice(int p0)Price=p0;void Car :ChangCar(char n,char t)strcpy(CarNum,n);strcpy(CarType,t);void Car :ChangTime(int a,int b,int c)StartTime.Hour=a;StartTime.Minute=b;StartTime.Second=c;bool Car :Find(char d1)if(strcmp(Destination,d1)=0)r

21、eturn 1;elsereturn 0;bool Car :Position(char n1)if(strcmp(CarNum,n1)=0)return 1;elsereturn 0;char Car :GetCarNum()return CarNum7;char Car :GetCarType()return CarType3;char Car :GetDestination()return Destination10;int Car :GetPrice()return Price;time Car :GetStartTime()return StartTime;void MainMenu

22、()cout*长途汽车联网售票系统*endl;cout 1. 输入每天车辆信息 endl;cout 2. 输出每天车辆信息 endl;cout 3. 更改车辆的信息 endl;cout 4. 查找客车情况 endl;cout 5. 保存输入的信息 endl;cout 6. 退出系统 endl;void SonMenu()cout*欢迎进入客车信息更改界面*endl;cout 1. 更改票价 endl;cout 2. 更改客车 endl;cout 3. 更改发车时间 endl;cout 4. 返回主界面 endl;int main()int choice;char ch;int j;vector

23、 c;Car cs,carNUM;doMainMenu();coutchoice;if(choice6|choice1)cout您的操作不正确,从新输入endl;switch(choice)case 1 : cs.Init();c.push_back(cs);ch=getchar();break;case 2 :int i=0;for(i=0;ic.size();i+)ci.Show();ch=getchar(); break;case 3 :int a;doSonMenu();couta;if(a4|a1)cout您的操作不正确,请重新输入操作;switch(a)case 1 :int p1

24、;char n7;int i;bool f=1;coutn;for(i=0;ic.size();i+)if(ci.Position(n)coutp1;ci.ChangPrice(p1);ci.Show();f=0;break;else f=1;if(f=1)cout没有该信息endl;ch=getchar();break;case 2 :char n17,t13;char n7;int i;bool f=1;coutn;for(i=0;ic.size();i+)if(ci.Position(n)coutn1;coutt1;ci.ChangCar(n1,t1);ci.Show();f=0;bre

25、ak;else f=1;if(f=1)cout没有该信息endl;ch=getchar();break;case 3 :int i;char n37;bool f=1;coutn3;for(i=0;ic.size();i+)if(ci.Position(n3)int h,j,k;couthjk;ci.ChangTime(h,j,k);ci.Show();f=0;break;elsef=1;if(f=1)cout没有该信息endl;ch=getchar();break;case 4 : a=0;break;while(a);ch=getchar();break;case 4 :bool f=1;

26、char d110;coutd1;for(int i=0;ic.size();i+)if(ci.Find(d1)ci.Show();f=0;break;elsef=1;if(f)cout没有该路线endl;ch=getchar();break;case 5 :ofstream outfile;outfile.open(Car.dat);if(outfile.good()cout请稍等.正在保存数据.n;for(int i=0;ic.size();i+)outfileci.GetCarNum()endlci.GetCarType()endlci.GetDestination()endlci.GetPrice()endlci.GetStartTime().GetHour()ci.GetStartTime().GetMinute()ci.GetStartTime().GetSecond();outfile.close();cout保存成功!n;else cout输出文件错误!t;ch=getchar();break;case 6 :exit(0);while(choice);return 0;

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号