已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西华大学课程设计报告 数学与计算机学院课程设计说明书课 程 名 称: 软件工程-课程设计 课 程 代 码: 8404131 题 目:长途汽车联网售票系统-后台售票管理 年级/专业/班: 09级-软件工程-4班 学 生 姓 名: 学 号: 开 始 时 间: 11 年 5 月 23 日完 成 时 间: 11 年 6 月 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日XX课 程 设 计 任 务 书学院名称: 数学与计算机学院 课程代码:_8404131_专业: 软件工程 年级: 09级 一、设计题目长途汽车联网售票系统(CS)实现后台票务管理二、主要内容本课程设计长途汽车联网售票系统-实现后台票务管理,本系统主要模块: 一、基本信息管理 : 票务信息;二、临时车次管理:增加、删除、更改发车时间;三、查询当前票务情况; 三、具体要求及应提交的材料设计要求:1. 分析设计要求,给出解决方案(要说明设计实现所用的原理,采用的数据结构);2. 模块化程序设计,画出程序的基本结构框图和流程图;3. 对程序的每一部分要有详细的设计分析说明;4. 程序执行的每个步骤要有具体的提示内容或输出;5. 源代码格式规范(锯齿型书写格式),注释不少于三分之一;6. 设计合适的测试用例,对得到的运行结果要有分析;7. 设计中遇到的问题,设计的心得体会。设计结束后,每位同学必须上交如下材料:1课程设计说明书打印稿一份;2课程设计说明书电子文档及课程设计的程序源代码 刻盘四、主要技术路线提示首先根据要解决的问题进行分析和总体设计,得到要定义的数据结构和函数,然后进行详细编码,在主函数中对各功能函数进行测试。五、进度安排二周完成。4天查阅资料和分析,6天编写软件,4天写出课程设计报告并上交。六、推荐参考资料(不少于3篇) 1 张海藩.软件工程导论(第五版)M.北京:清华大学出版社,20082 王红梅,胡明,王涛.数据结构(C+版)M.北京:清华大学出版社,20053 王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,20064 Bain T.SQL Server2000数据仓库M.北京.电力出版社,20035 Google Web APIs ReferenceEB/OL./api/reference,2005.5指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日目 录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输入信息 实现算法 流程图 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世纪,也就进入了一个高速发展的信息时代,高新技术发展的同时,计算机的使用范围也大大扩展,它已经涉及到人类生活的方方面面。计算机使用的方便,快捷,使它在越来越多的方面显示出比传统手工制作更迅速和准确的优点,尤其在信息记录,检索和查询方面,避免了不必要的麻烦。一个性能良好的长途汽车联网售票系统能够使管理员快速方便的对长途汽车站的相关信息,如汽车路线信息,汽车基本信息,车票等进行各种诸如添加,查询,删除,修改操作。使用传统的手工方式管理长途汽车车站相关信息,不仅让管理员感到非常的厌倦,也存在着不可避免的缺点,如效率太低,管理不够科学等等。使用计算机对长途汽车信息管理,有着传统的手工管理所没法比拟的优点。例如:查找方便,可靠性高,科学性好。这些优点能够极大地提高长途汽车信息方面的具体需求,利用VC+ 6.0,使用软件工程开发的方法,开发了这套长途汽车联网售票系统-后台服务售票。2. 需求分析2.1. 功能分析 长途汽车联网售票系统-后台销售管理的主要功能:1. 输入汽车的基本信息 2. 查找发车时间、票价、车次等信息 3. 对发车车次、时间的修改,包括:增加、删除、修改发车时间 4. 将信息存盘5. 输出基本信息2.2方案分析长途汽车联网售票系统-后台销售管理为售票员提供简单、方便、快捷的功能,后台销售员可以进行查询、浏览、添加、删除等操作,使售票员能够快速、准确的实现售票服务,极大地为旅客节约了时间。 延时到达准时到达客车路线申请行驶计划开始售票售票结束车票售完启 程 批准申请 申请失败 最后一张票 启程前30分钟 异常情况状态图关 机开 机关 机开 机车 票添加查 询购买 旅客 售票员管理员 用例图3. 概要设计3.1. 数据结构数据元素 包括后台管理人员,售票员,操作系统,旅客,汽车,车票等后台管理人员: 读入,修改基本信息;售票员 : 售票过程中的具体的操作;操作系统 : 处理各种票务管理的平台;旅客 : 查询票价,发车时间等信息;汽车 : 运送旅客;车票 : 旅客坐车的凭证价 格发车时间编 号系 统车 票汽 车售 票 员后台管理员 类 型 ER 图数据字典 1名字 : 车票 别名 : 描述 : 旅客坐车旅行的唯一凭证 定义 : 车票 = 发车时间 + 汽车编号 + 票价 + 站台号+ 座位号位置 : 输出到打印机2. 名字 : 客车 别名 : 汽车 描述 : 客车 = 类型 + 编号位置 : 站台3数据流图售票员旅 客后台管理员售 票系 统 零层数据流图3.2. 逻辑结构与物理结构逻辑结构 : 用线性结构来处理数据元素之间的关系, 将元素一项项的写下去物理结构 : 采用顺序存储的方式来储存所有的数据3.3. 功能模块划分 3.3.1结构框图长途汽车联网售票系统-后台销售管理:后台管理员售票员输入基本信息添加车次删除车次修改信息查询信息售票服务 图1 结构框图 3.3.2程序流图进 入 主 界 面操作选择输 入 选 择返回主界面更改车辆更改票价更改发车时间退出系统删除车次操作选择更 改增加车次显示所有信息输入基本信息输 入 选 择开 始 图 2 流程图3.3.3模块功能分析及外部设计功能分析 外部设计 输入基本信息 :将汽车,车票,车站的全部信息输入系统并储存;显示所有信息 :在屏幕上打印出输入的信息;修改信息 :包括添加,删除,更改等操作;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(); GetDestination(); GetPrice(); GetStartTime();ADT Ticket4. 详细设计4.1. 数据类型定义时间(StartTime),目的地(Destination),汽车编号(CarNum),票价(Price),汽车类型(CarType)4.2. 主要模块内部设计4.2.1输入信息 实现算法cs.Init();c.push_back(cs);ch=getchar();流程图开 始输入所有内容返回主界面结 束4.2.2. 更改信息1 .更改票价实现算法for(i=0;ic.size();i+)if(ci.Position(n)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);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. 管理员成功将每天车站信息输入系统,并且能够进行更改,删除的操作2. 售票员成功进入系统,根据当前情况售票3. 旅客能够通过系统查询自己所需的信息7. 用户手册进入系统,根据界面的提示进行相应的操作8. 总结由于此次项目开发时间短,且没有该行业开发背景对开发环境不熟,但经过为期数天的努力工作,终于按时将产品按要求完成,基本实现了预期的目标9. 参考文献10. 张海藩.软件工程导论(第五版)M.北京:清华大学出版社,200811. 王红梅,胡明,王涛.数据结构(C+版)M.北京:清华大学出版社,200512. 王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,200613. Bain T.SQL Server2000数据仓库M.北京.电力出版社,200314. Google Web APIs ReferenceEB/OL./api/reference,2005.5/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 time :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 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);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 票价 : 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.GetMinute():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)return 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()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 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;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()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论