软件工程课设-网上火车票订票系统
软件工程课程设计-火车票网上订票系统
软件工程课程设计-火车票网上订票系统本文档将介绍软件工程课程设计的背景和目的,以及我们要设计的火车票网上订票系统的概述和目标。
背景软件工程课程设计是计算机科学与技术专业的一门重要课程,旨在培养学生的软件开发和项目管理能力。
通过实际的软件工程项目设计和开发,学生能够将理论知识应用到实践中,并提高解决问题和合作开发的能力。
目的本课程设计的目的是让学生研究和应用软件工程的基本概念和方法,同时培养他们的团队合作能力和项目管理能力。
通过设计火车票网上订票系统,学生将研究到软件开发的整个过程,包括需求分析、系统设计、编码实现、测试和部署等环节。
火车票网上订票系统是一个在线预订火车票的系统。
它旨在提供一个方便快捷的方式让用户能够通过互联网预订和购买火车票,避免了传统排队购票的繁琐过程。
系统目标提供用户注册和登录功能,保障用户信息安全。
实现火车票的查询功能,用户可以根据出发地、目的地、日期等条件查询可用的车票。
提供在线预订和购买火车票的功能,用户可以选择合适的车次和座位进行预订并支付费用。
管理员可以对车次、座位和订单等信息进行管理和维护。
提供用户支付和退票的功能,保障用户权益。
提供用户订单查询和历史订单记录功能,方便用户查看和管理自己的订单信息。
系统特性用户友好的界面设计,使用户能够轻松使用系统进行操作。
数据的安全性和可靠性,保障用户信息和交易数据的保密和完整性。
高性能和稳定性,保证系统能够处理大量用户请求并提供稳定的服务。
系统模块化设计,方便后续功能的扩展和维护。
良好的用户体验,提供用户反馈和建议的渠道。
开发计划本项目将按照以下开发计划进行:需求分析和系统设计:确定系统需求、功能和界面设计等。
编码实现:根据系统设计,进行编码实现和模块测试。
集成测试和系统测试:对已实现的模块进行集成测试和系统测试,确保整体功能正常。
部署和上线:将系统部署到服务器上并上线运行。
后续维护和功能扩展:根据用户反馈和需求,进行系统的后续维护和功能扩展。
火车票售票系统课程设计
火车票售票系统课程设计一、课程目标知识目标:1. 学生能理解火车票售票系统的基本原理和功能需求,掌握数据库管理、界面设计、业务流程等基本知识。
2. 学生能运用所学知识,分析火车票售票系统的模块划分,了解各模块的功能和相互关系。
3. 学生掌握编程实现火车票售票系统的基本方法,具备一定的系统设计能力。
技能目标:1. 学生能运用数据库技术进行数据存储和管理,实现火车票售票系统中数据的增、删、改、查功能。
2. 学生能运用界面设计技术,实现火车票售票系统的用户界面,提高用户体验。
3. 学生能通过编程实践,掌握火车票售票系统的核心功能实现,具备一定的项目开发能力。
情感态度价值观目标:1. 培养学生热爱祖国,关注社会发展的情感,认识到火车票售票系统在交通运输领域的重要作用。
2. 培养学生具备团队协作意识,学会与他人共同解决问题,提高沟通与协作能力。
3. 培养学生勇于面对挑战,克服困难的精神,激发对计算机编程的兴趣和热情。
课程性质:本课程为信息技术课程,以项目实践为主线,注重培养学生的动手能力和创新能力。
学生特点:学生具备一定的计算机基础和编程能力,对火车票售票系统有一定的了解,对实际项目开发感兴趣。
教学要求:结合学生特点和课程性质,采用任务驱动、案例教学等方法,引导学生主动探究,注重理论与实践相结合,提高学生的实际操作能力。
在教学过程中,关注学生的学习成果,及时进行评估和反馈,确保课程目标的达成。
二、教学内容1. 火车票售票系统概述- 了解火车票售票系统的基本概念、发展历程和应用场景。
- 分析火车票售票系统的功能需求和业务流程。
2. 数据库设计与实现- 学习数据库的基本原理,掌握表的设计和关系建立。
- 实现火车票售票系统中数据的增、删、改、查功能。
3. 界面设计与实现- 学习界面设计的基本原则,掌握常用界面组件的使用方法。
- 设计并实现火车票售票系统的用户界面,提高用户体验。
4. 编程实现火车票售票系统- 学习编程语言的基本语法和常用库函数。
软件工程课设-网上火车票订票系统
目录1. 选题意义 (1)2. 网上火车票订票系统要达到的目标及限制 (1)2.1要达到的目标 (1)2.1.1功能目标 (1)2.1.2 质量及性能目标 (2)2.2限制 (2)3. 用例、事件流及对应活动 (3)3.1系统用例图 (3)3.2用户注册 (3)3.2.1用例简述 (3)3.2.2 基本事件流 (3)3.2.3 活动图 (4)3.3用户登录系统 (4)3.3.1 用例简述 (4)3.3.2 基本事件流 (4)3.3.3 活动图 (5)3.4用户退出系统 (5)3.4.1 用例简述 (5)3.4.2 基本事件流 (5)3.5按起点终点和出发日期浏览车票 (6)3.5.1 用例简述 (6)3.5.2 基本事件流 (6)3.5.3 活动图 (6)3.6订单生成及支付 (7)3.6.1 用例简述 (7)3.6.2 基本事件流 (7)3.6.3 活动图 (7)3.7查看订单 (8)3.7.1 用例简述 (8)3.7.2 基本事件流 (8)3.7.3 活动图 (8)3.8退票 (8)3.8.1 用例简述 (8)3.8.2 基本事件流 (8)3.8.3 活动图 (8)3.9业务数据管理 (9)3.9.1 用例简述 (9)3.9.2 基本事件流 (9)3.9.3 活动图 (9)3.10管理员账号管理 (10)3.10.1 用例简述 (10)3.10.2 基本事件流 (10)3.10.3 活动图 (10)4. 类图 (11)5. 主要时序图 (11)5.1注册 (11)5.2检索车票 (12)5.3选座购票 (13)1. 选题意义铁路作为中国最重要的交通工具之一,在市场经济浪潮中,面临着严峻的考验。
公路运输的便捷,航空运输的快速,这一切都对铁路运输构成很大的冲击。
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,随着我国铁路交通的不断发展,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,简单的窗口售票模式已经不能满足方便人们出行的目的。
火车订票(课程设计)-软件工程
火车订票(课程设计)-软件工程火车订票(课程设计)-软件工程一、引言1.1 背景1.2 目的和范围1.3 参考资料二、需求分析2.1 功能需求2.1.1 用户注册和登录2.1.2 车次查询和预订2.1.3 订单管理2.1.4 支付和退款2.2 非功能需求2.2.1 可靠性2.2.2 安全性2.2.3 性能2.2.4 可用性2.3 约束和限制三、系统设计3.1 架构设计3.1.1 系统层次结构3.1.2 模块划分3.2 数据库设计3.2.1 数据表设计3.2.2 数据库访问接口 3.3 用户界面设计3.3.1 登录界面设计3.3.2 查询界面设计3.3.3 订单管理界面设计 3.4 系统接口设计3.4.1 用户注册接口设计 3.4.2 车次查询接口设计 3.4.3 订单管理接口设计3.5 总体结构设计四、详细设计4.1 用户注册和登录模块设计 4.1.1 用户注册流程4.1.2 用户登录流程4.2 车次查询和预订模块设计 4.2.1 车次查询流程4.2.2 车次预订流程4.3 订单管理模块设计4.3.1 订单流程4.3.2 订单支付流程4.3.3 订单退款流程4.4 支付和退款模块设计4.4.1 支付接口设计4.4.2 退款接口设计五、实施计划5.1 开发环境准备5.2 开发任务分解和分工5.3 开发进度控制5.4 测试计划附件:1、详细需求文档2、系统设计图纸3、数据库设计文档注释:1、用户注册和登录:用户在系统中进行注册和登录,以便进行后续操作。
2、车次查询和预订:用户可以查询和预订火车车次,选择适合的座位和时间。
3、订单管理:用户可以查看、取消和修改自己的订单。
4、支付和退款:用户可以选择支付方式进行订单支付,也可以申请退款。
火车订票系统课程设计
火车订票系统课程设计一、课程目标知识目标:1. 学生能理解火车订票系统的基本原理和功能需求,掌握相关的数据库知识,如数据表设计、数据查询和更新。
2. 学生能够运用所学的编程语言,结合数据库知识,实现一个简易的火车订票系统。
3. 学生了解火车票务系统的实际应用场景,掌握系统设计的基本流程和方法。
技能目标:1. 学生通过本课程的学习,培养分析问题、解决问题的能力,能够根据需求设计并实现一个具体的系统功能。
2. 学生能够运用所学知识,独立编写程序代码,完成火车订票系统的核心功能,如用户注册、查询车票、预订车票等。
3. 学生能够通过课程实践,提高团队协作和沟通能力,学会如何分工合作共同完成一个项目。
情感态度价值观目标:1. 学生在学习过程中,培养对计算机科学的兴趣和热情,激发创新意识和探索精神。
2. 学生通过课程实践,认识到信息技术在生活中的重要作用,树立正确的价值观,增强社会责任感。
3. 学生在团队合作中,学会尊重他人、关心同伴,培养良好的团队精神和职业素养。
本课程针对高年级学生,结合其已有的知识基础和认知能力,注重培养学生的实际操作能力和团队协作精神。
课程设计紧密联系实际,使学生能够将所学知识应用于实际项目中,提高学生的实践能力和创新能力。
通过本课程的学习,为学生今后从事计算机相关领域工作打下坚实的基础。
二、教学内容1. 火车订票系统概述- 了解火车订票系统的背景和实际应用场景。
- 学习系统设计的基本原则和流程。
2. 数据库知识- 数据表设计:学习如何设计用户表、车次表、票务表等。
- 数据查询与更新:掌握SQL语句,实现数据的增删改查操作。
3. 编程语言应用- 掌握Python或Java等编程语言的基本语法和面向对象编程。
- 学习如何利用编程语言实现火车订票系统的功能模块。
4. 系统功能实现- 用户注册与登录:实现用户注册、登录及权限验证功能。
- 车票查询:实现按条件查询车次及余票功能。
- 车票预订与支付:实现车票预订、支付及取消预订功能。
课程设计之学生火车票订票系统
《程序设计基础》课程设计报告学生火车票订票系统指导教师:吴学辉班级:1103班学生姓名:张凯强(2010100236)靳丽(2011100317)李泽帅(2011100319)贺佼燕(2011100311)何秀林(2011100313)完成日期:2012年08月22日运城学院计算机科学与技术系系统分析一、从文件读入列车时刻表及里程表信息,并建立列车表二、从文件读入已注册的用户信息三、进入系统欢迎界面四、选择操作,可选择的操作如下:(一)用户登录,已注册过的用户可登录(二)用户注册,注册成功后可把个人信息留在已注册用户文件并可用用户名和密码登录系统(三)个人登录密码重置,忘记自己密码可通过用身份证号重置自己的登录密码(四)列车查询,因为没有登录,只能查询,不能订票,如果想订票请先登录。
(五)退出系统并保存所有操作。
五、登录系统后可进行的操作(一)查看个人资料,可查询自己的所有资料包括有效的火车票。
(二)修改个人资料(三)订票,先查询票,再订票且只能订购从现在起十天内的票。
(四)退票(五)密码修改,先输入原密码才能修改密码。
(六)注销登录,保存所有操作,回到登录界面。
六、用户操作说明结构图八、代码/*common.h*/#ifndef COMMON#include<stdio.h>#include<stdlib.h>#include<string.h>typedef enum boolean{FALSE,TRUE}Boolean;void Warning(char *message){fprintf(stderr,"Warning:%s\n",message);}void Error(char *message){fprintf(stderr,"Error:%s\n",message);exit(1);}Boolean UserSaysYes(void){int c;printf("(y,n)?");do{while((c=getchar())=='\n');if(c=='y'||c=='Y'||c=='n'||c=='N')return(c=='y'||c=='Y');printf("Please respont by typing one of the letters y or n\n");}while(1);}#define COMMON#endif/*jiegouti.h*/#ifndef JIEGOUTItypedef struct zhandian{int zhanxu;char zhanming[30];char daozhanshijian[10];char kaicheshijian[10];int licheng;struct zhandian *next;}Zhandian;typedef struct shikebiao{char checi[15];char shifazhan[30];char zhongdianzhan[30];char liecheleixing[20];char facheshijian[6];char daodashijian[10];int licheng;char lishi[6];int zhandianshu;Zhandian *Head;struct shikebiao *next;}Shikebiao;typedef struct list{int liecheshu;Shikebiao *List;}LL;LL Li,*L=&Li;typedef struct xueshengxinxi {char yonghuming[20];char mima[20];char xingming[15];char xingbie[3];char shenfenzhenghao[20];int youxiaopiaoshu;struct chepiao{char chufariqi[20];char checi[15];char chufazhan[30];char chufashijian[10];char daodazhan[30];char daodashijian[10];int licheng;char zuoweileixing[6];int piaojia;}huochepiao[3];struct xueshengxinxi *next; }Student;typedef struct ss{int studentnum;Student *Head;}Studentslist;Studentslist students,*S=&students;Student * dengluyonghu=NULL;typedef struct cha{char checi[15];char shifazhan[30];char zhongdianzhan[30];char liecheleixing[20];char fazhan[30];char fashi[10];char daozhan[30];char daoshi[10];int licheng;int yingzuopiaojia;int yingwopiaojia;Zhandian *Head;struct cha *next;}Chaxunjieguo;Chaxunjieguo *Find=NULL;#define JIEGOUTI#endif/*保存数据.c*//*baocunshuju:将运行中所有操作对学生信息表的改变全部存储*/#include"common.h"#include"jiegouti.h"void baocunshuju(){FILE *fp;int i;Student *s1;if((fp=fopen("data\\学生用户信息.txt","w"))==NULL){printf("打开\"%s\"文件失败,退出!","data\\学生用户信息.txt");exit(0);}fprintf(fp,"用户名(1-19个字符)密码(1-19字符)姓名性别身份证号现有效票数(张)票一:出发日期车次出发站出发时间到达站到达时间里程(km) 座位类型票价(元)票二:出发日期车次出发站出发时间到达站到达时间里程(km) 座位类型票价(元)票三:出发日期车次出发站出发时间到达站到达时间里程(km) 座位类型票价(元) \n");for(s1=S->Head;s1!=NULL;s1=s1->next){fprintf(fp,"%-30s%-22s%-11s%-6s%-21s%-25d",s1->yonghuming,s1->mima,s1->xingming,s1->xingbie,s1->shenfenzhenghao,s1->youxiaopiaoshu);for(i=0;i<s1->youxiaopiaoshu;i++)fprintf(fp,"%-20s%-14s%-15s%-18s%-14s%-18s%-16d%-17s%-18d",s1->hu ochepiao[i].chufariqi,s1->huochepiao[i].checi,s1->huochepiao[i].chuf azhan,s1->huochepiao[i].chufashijian,s1->huochepiao[i].daodazhan,s1->huochepiao[i].daodashijian,s1->huochepiao[i].licheng,s1->huochepiao [i].zuoweileixing,s1->huochepiao[i].piaojia);fprintf(fp,"\n");}fprintf(fp,"***");fclose(fp);printf("数据保存成功!退出\n");}/*查看个人资料.c*/#include"common.h"#include"jiegouti.h"#ifndef gerenziliaovoid chakangerenziliao(){int i;printf("*******************************************************************\n""* 用户名:%s \n""* 姓名:%s \n""* 性别:%s \n""* 有效订购火车票:%d 张具体如下:\n",dengluyonghu->yonghuming,dengluyonghu->xingming,dengluyonghu->xingbie,dengluyonghu->youxiaopiaoshu);if(dengluyonghu->youxiaopiaoshu==0)printf("您没有订票信息\n");else{for(i=0;i<dengluyonghu->youxiaopiaoshu;i++){printf("* 票%d: \n""* 出发日期:%s\n""* 车次:%s\n""* 出发站:%s\n""* 出发时间:%s\n""* 到达站:%s\n""* 到达时间:%s\n""* 里程:%d\n""* 座位类型:%s\n""* 票价:%d\n",i+1,dengluyonghu->huochepiao[i].chufariqi,dengluyonghu->huochepiao[i].checi,dengluyonghu->huochepiao[i].chufazhan,dengluyonghu->huochepiao[i].chufashijian,dengluyonghu->huochepiao[i].daodazhan,dengluyonghu->huochepiao[i].daodashijian,dengluyonghu->huochepiao[i].licheng,dengluyonghu->huochepiao[i].zuoweileixing,dengluyonghu->huochepiao[i].piaojia);}}printf("********************************************************* **********\n");}#define gerenziliao#endif/*订票.c*//*dingpiao:先查询符合订购条件的火车,然后从查询结果里选一趟车订票*/#include"时刻表查询.c"#include"系统时间.c"#include"票价计算.c"#include"查看个人资料.c"void dingpiao(){char checi[15],zuoweileixing[6];Chaxunjieguo *c;Zhandian *a,*b;Boolean m;char xitongshijian[64];char shitianhoushijian[64];char jutishijian[64];char chufazhan1[30],daodazhan1[30];printf("\n先查询再定票.\n");shikebiaochaxun();if(Find!=NULL){printf("如果订购以上某车次的车票,请输入车次、出发站、到达站以及要订购的座位类型\n");printf("车次:");scanf("%s",checi);printf("出发站:");scanf("%s",chufazhan1);printf("到达站:");scanf("%s",daodazhan1);printf("座位类型(硬座、硬卧):");scanf("%s",zuoweileixing);for(c=Find;c!=NULL&&strcmp(checi,c->checi)!=0;c=c->next);if(c!=NULL&&strcmp(checi,c->checi)==0){for(a=c->Head;a!=NULL&&strcmp(chufazhan1,a->zhanming)!=0;a=a->nex t);for(b=a;b!=NULL&&strcmp(daodazhan1,b->zhanming)!=0;b=b->next);if(a!=NULL&&b!=NULL){if(dengluyonghu->youxiaopiaoshu<3){do{nowtime(xitongshijian);printf("当前时间为:%s 请输入所订火车票的出发日期,且只能订十天内的票(例如: 2012年09月01日):",xitongshijian);scanf("%s",dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu] .chufariqi);futuretime(shitianhoushijian);strcpy(jutishijian,dengluyonghu->huochepiao[dengluyonghu->youxiao piaoshu].chufariqi);strcat(jutishijian,c->fashi);if(strcmp(jutishijian,xitongshijian)>0&&strcmp(jutishijian,shitia nhoushijian)<=0)m=FALSE;else{printf("您输入的时间不在订票时间内,无法订票!\n 重新输入出发日期?");m=UserSaysYes();}}while(m);if(strcmp(jutishijian,xitongshijian)>0&&strcmp(jutishijian,shitia nhoushijian)<=0){strcpy(dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].che ci,c->checi);strcpy(dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].chu fazhan,a->zhanming);strcpy(dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].chu fashijian,a->kaicheshijian);strcpy(dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].dao dazhan,b->zhanming);strcpy(dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].dao dashijian,b->daozhanshijian);strcpy(dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].zuo weileixing,zuoweileixing);dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].licheng=b->licheng-a->licheng;if(strcmp(zuoweileixing,"硬座")==0){dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].piaojia=pi aojia(c->liecheleixing,"硬座",dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].licheng);printf("订票成功!\n");dengluyonghu->youxiaopiaoshu++;printf("订票信息如下:");chakangerenziliao();}else if(strcmp(zuoweileixing,"硬卧")==0){dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].piaojia=pi aojia(c->liecheleixing,"硬卧",dengluyonghu->huochepiao[dengluyonghu->youxiaopiaoshu].licheng);printf("订票成功!\n");dengluyonghu->youxiaopiaoshu++;printf("订票信息如下:");chakangerenziliao();}else printf("您输入的座位类型有误!请重新订票!\n");}else printf("您输入的时间不在订票时间内,订票失败!\n");}else printf("您订票数量超过限额!无法再订票!\n");elseprintf("您输入的此车次不经过%s至%s 或者在%s和%s不停站. \n,请重新订票!",chufazhan1,daodazhan1,chufazhan1,daodazhan1);}else printf("您的输入有误!\n请重新订票!\n");}else printf("没有符合您条件的车次,请重新订票!\n");}/*读入学生用户信息.c*//*函数名:duruxueshengyonghuxinxi函数作用:从“学生用户信息.txt”文件中读入学生用户的信息读入成功后按任意键清屏继续*/#include"common.h"#include"jiegouti.h"#include"系统时间.c"void duruxueshengyonghuxinxi(){FILE *fp;int i;char xitongshijian[64];char jutishijian[64];Student *s1,*s2;S->studentnum=0;S->Head=NULL;if((fp=fopen("data\\学生用户信息.txt","r"))==NULL){printf("打开\"%s\"文件失败,退出!","data\\学生用户信息.txt");exit(0);}if(fseek(fp,570l,0)==-1){printf("文件跳转失败,退出!");exit(0);}do{if((s1=(Student *)malloc(sizeof(Student)))==NULL){puts("动态分配内存失败,退出!!");exit(0);}fscanf(fp,"%s",s1->yonghuming);if(strcmp(s1->yonghuming,"***")==0)break;S->studentnum++;fscanf(fp,"%s%s%s%s%d",s1->mima,s1->xingming,s1->xingbie,s1->shen fenzhenghao,&s1->youxiaopiaoshu);for(i=0;i<s1->youxiaopiaoshu;i++){fscanf(fp,"%s%s%s%s%s%s%d%s%d",s1->huochepiao[i].chufariqi,s1->hu ochepiao[i].checi,s1->huochepiao[i].chufazhan,s1->huochepiao[i].chuf ashijian,s1->huochepiao[i].daodazhan,s1->huochepiao[i].daodashijian, &s1->huochepiao[i].licheng,s1->huochepiao[i].zuoweileixing,&s1->huoc hepiao[i].piaojia);nowtime(xitongshijian);strcpy(jutishijian,s1->huochepiao[i].chufariqi);strcat(jutishijian,s1->huochepiao[i].chufashijian);if(strcmp(xitongshijian,jutishijian)>0){s1->youxiaopiaoshu--;i--;}}if(S->studentnum==1)S->Head=s2=s1;elses2->next=s1,s2=s1;}while(1);free(s1);if(S->studentnum!=0)s2->next=NULL;fclose(fp);printf("学生信息成功录入系统!\n");system("PAUSE");system("CLS");}/*建立时刻表.c*//*jianlishikebiao:从"车次文件名.txt"读入列车数据存放的文件;然后按任意键清屏*/#include"common.h"#include"jiegouti.h"void jianlishikebiao(){int j=1;char wenjianming[50];FILE *fp1,*fp2;Shikebiao *p;Zhandian *q1,*q2;L->liecheshu=0;L->List=NULL;if((fp1=fopen("data\\车次文件名.txt","r"))==NULL){printf("无法打开\"%s\"这一文件,退出!","data\\车次文件名.txt");exit (0);}while(1){int i;fscanf(fp1,"%s",wenjianming);if(strcmp(wenjianming,"***")==0)break;else{(L->liecheshu)++;p=(Shikebiao *)malloc(sizeof(Shikebiao));if((fp2=fopen(wenjianming,"r"))==NULL){printf("无法打开\"%s\"这一文件,退出!","data\\车次文件名.txt");exit (0);}if(fseek(fp2,6l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%s",p->checi);if(fseek(fp2,42l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%s",p->shifazhan);if(fseek(fp2,76l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%s",p->zhongdianzhan); if(fseek(fp2,112l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%s",p->liecheleixing); if(fseek(fp2,146l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%s",p->facheshijian); if(fseek(fp2,180l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%s",p->daodashijian); if(fseek(fp2,210l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%d",&p->licheng);if(fseek(fp2,244l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%s",p->lishi);if(fseek(fp2,278l,0)==-1){puts("位置跳转错误,退出");exit(0);}fscanf(fp2,"%d",&p->zhandianshu); if(fseek(fp2,377l,0)==-1){puts("位置跳转错误,退出");exit(0);}for(i=1;i<=p->zhandianshu;i++) {q1=(Zhandian *)malloc(sizeof(Zhandian));fscanf(fp2,"%d%s%s%s%d",&q1->zhanxu,q1->zhanming,q1->daozhanshijian,q1->kaicheshijian,&q1->licheng);if(i==1)p->Head=q2=q1;elseq2->next=q1,q2=q1;}q2->next=NULL;fclose(fp2);p->next=L->List;L->List=p;}}fclose(fp1);printf("列车时刻表已经建立成功!\n");system("PAUSE");system("CLS");}/*界面.c*/#include<stdio.h>void denglujiemian(){printf("***************************************************************************\n""** ***欢迎进入学生火车票订票系统*** **\n""***************************************************************************\n\n\n""※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n""※※\n""※ ____ ▁▁▁▁▁▁▁※\n""※┋①┋┃用户登录┃※\n""※﹌﹌▔▔▔▔▔▔▔※\n""※ ____ ______________ ____ ______________ ※\n""※┇②┇│用户注册│┇③┇│重置密码│※\n""※﹌﹌▔▔▔▔▔▔▔﹌﹌▔▔▔▔▔▔▔※\n""※ ____ ______________ ____ ______________ ※\n""※┇④┇│列车查询│┇⑤┇│退出系统│※\n""※﹌﹌▔▔▔▔▔▔▔﹌﹌▔▔▔▔▔▔▔※\n""※※\n""※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");}void yonghujiemian()//void main(){printf("****************** 用户操作表*******************\n\n""┏〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓┓\n""∷∷\n""∷ ____ ▁▁▁▁▁▁▁∷\n""∷┋①┋┃查看个人资料┃∷\n""∷﹌﹌▔▔▔▔▔▔▔∷\n""∷ ____ ▁▁▁▁▁▁▁∷\n""∷┋②┋┃修改个人资料┃∷\n""∷﹌﹌▔▔▔▔▔▔▔∷\n""∷ ____ ▁▁▁▁▁▁▁∷\n""∷┋③┋┃订票┃∷\n""∷﹌﹌▔▔▔▔▔▔▔∷\n""∷ ____ ▁▁▁▁▁▁▁∷\n""∷┋④┋┃退票┃∷\n""∷﹌﹌▔▔▔▔▔▔▔∷\n""∷ ____ ▁▁▁▁▁▁▁∷\n""∷┋⑤┋┃密码修改┃∷\n""∷﹌﹌▔▔▔▔▔▔▔∷\n""∷ ____ ▁▁▁▁▁▁▁∷\n""∷┋⑥┋┃注销登录┃∷\n""∷﹌﹌▔▔▔▔▔▔▔∷\n""┗〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓┛\n");}/*密码修改.c*//*mimaxiugai: 先输入原密码,如果正确才能输入新密码修改*/#include"common.h"#include"jiegouti.h"void mimaxiugai(){Boolean x;char mima[20];do{printf("请输入原密码:");scanf("%s",mima);if(strcmp(mima,dengluyonghu->mima)==0){x=FALSE;printf("请输入新密码:");scanf("%s",dengluyonghu->mima);printf("密码修改成功!\n请记住您的新密码!\n");}else {printf("原密码输入有误,要继续输入?");x=UserSaysYes();}}while(x);}/*密码重置.c*/#include"common.h"#include"jiegouti.h"void mimachongzhi(){char yonghuming[20],shenfenzhenghao[20];Student *s;printf("请输入用户名和注册时用的身份证号:\n");printf("用户名:");scanf("%s",yonghuming);printf("身份证号:");scanf("%s",shenfenzhenghao);for(s=S->Head;s!=NULL&&strcmp(s->yonghuming,yonghuming)!=0;s=s->n ext);if(s==NULL){printf("用户名错误!\n密码重置失败!\n");}else if(s!=NULL&&strcmp(s->yonghuming,yonghuming)==0){if(strcmp(s->shenfenzhenghao,shenfenzhenghao)!=0){printf("身份证号错误!\n密码重置失败!\n");}else{strcpy(s->mima,"123456");printf("%s,您好!您的密码重置成功,重置后的密码是 123456 \n""请您及时登录修改!\n",s->yonghuming);}}}/*票价计算.c*//*piaojia:从参数中得到列车类型,座位类型,还有里程数这些信息通过计算返回票价*/#ifndef PIAOJIAJISUAN#include"common.h"int piaojia(char liecheleixing[20],char zuoweileixing[6],int licheng) {int piaomianjia;floatjichupiaojia,baoxianfei,lvkepiaojia,jiakuaipiao,kongtiaopiao,houches hikongtiaofei=1.0,kepiaofazhanjin,piaomianjiage;if(licheng<=200){if((licheng-(licheng/10)*10)>0)jichupiaojia=(licheng/10+1)*10*0.05861;else if((licheng-(licheng/10)*10)==0)jichupiaojia=licheng*0.05861;}else if(licheng<=400){if(((licheng-200)-((licheng-200)/20)*20)>0)jichupiaojia=((licheng-200)/20+1)*20*0.052749+11.722;else if(((licheng-200)-((licheng-200)/20)*20)==0)jichupiaojia=(licheng-200)*0.052749+11.722;}else if(licheng<=700){if(((licheng-400)-((licheng-400)/30)*30)>0){if((licheng-400)/30<(500-400)/30)jichupiaojia=(((licheng-400)/30+1)*30+(400-200))*0.052749+11.722;else if((licheng-400)/30>=(500-400)/30)jichupiaojia=(((licheng-400)/30+1)*30-(500-400))*0.046888+27.5467 ;}else if(((licheng-400)-((licheng-400)/30)*30)==0){if((licheng-400)/30<=3)jichupiaojia=(licheng-200)*0.052749+11.722;else if((licheng-400)/30>3)jichupiaojia=(licheng-500)*0.046888+27.5467;}}else if(licheng<=1100){if(((licheng-700)-((licheng-700)/40)*40)>0){if((licheng-700)/40<(1000-700)/40)jichupiaojia=(((licheng-700)/40+1)*40+(700-500))*0.046888+27.5467 ;else if((licheng-700)/40>=(1000-700)/40)jichupiaojia=(((licheng-700)/40+1)*40-(1000-700))*0.041027+50.990 7;}else if(((licheng-700)-((licheng-700)/40)*40)==0){if((licheng-700)/40<=(1000-700)/40)jichupiaojia=(licheng-500)*0.046888+27.5467;else if((licheng-700)/40>(1000-700)/40)jichupiaojia=(licheng-1000)*0.041027+50.9907;}}else if(licheng<=1600){if(((licheng-1100)-((licheng-1100)/50)*50)>0){if((licheng-1100)/50<((1500-1100)/50))jichupiaojia=(((licheng-1100)/50+1)*50+(1100-1000))*0.041027+50.9 907;else if((licheng-1100)/50>=((1500-1100)/50))jichupiaojia=(((licheng-1100)/50+1)*50-(1500-1100))*0.035166+71.5 042;}else if(((licheng-1100)-((licheng-1100)/50)*50)==0){if((licheng-1100)/50<=((1500-1100)/50))jichupiaojia=(licheng-1000)*0.041027+50.9907;else if((licheng-1100)/50>((1500-1100)/50))jichupiaojia=(licheng-1500)*0.035166+71.5042;}}else if(licheng<=2200){if(((licheng-1600)-((licheng-1600)/60)*60)>0)jichupiaojia=((licheng-1600)/60+1)*60*0.035166+71.5042;else if(((licheng-1600)-((licheng-1600)/60)*60)==0)jichupiaojia=(licheng-1600)*0.035166+71.5042;}else if(licheng<=2900){if(((licheng-2200)-((licheng-2200)/70)*70)>0){if((licheng-2200)/70<((2500-2200)/70))jichupiaojia=(((licheng-2200)/70+1)*70+(2200-1500))*0.035166+71.5 042;else if((licheng-2200)/70>=((2500-2200)/70))jichupiaojia=(((licheng-2200)/70+1)*70-(2500-2200))*0.029305+106. 6702;}else if(((licheng-2200)-((licheng-2200)/70)*70)==0){if((licheng-2200)/70<=((2500-2200)/70))jichupiaojia=(licheng-1500)*0.035166+71.5042;else if((licheng-2200)/70>((2500-2200)/70))jichupiaojia=(licheng-2500)*0.029305+106.6702;}}else if(licheng<=3700){if(((licheng-2900)-((licheng-2900)/80)*80)>0)jichupiaojia=(((licheng-2900)/80+1)*80+(2900-2500))*0.029305+106. 6702;else if(((licheng-2900)-((licheng-2900)/80)*80)==0)jichupiaojia=(licheng-2500)*0.029305+106.6702;}else if(licheng<=4600){if(((licheng-3700)-((licheng-3700)/90)*90)>0)jichupiaojia=(((licheng-3700)/90+1)*90+(3700-2500))*0.029305+106. 6702;else if(((licheng-3700)-((licheng-3700)/90)*90)==0)jichupiaojia=(licheng-2500)*0.029305+106.6702;}else if(licheng>4600){if(((licheng-4600)-((licheng-4600)/100)*100)>0)jichupiaojia=(((licheng-4600)/100+1)*100+(4600-2500))*0.029305+10 6.6702;else if(((licheng-4600)-((licheng-4600)/100)*100)==0)jichupiaojia=(licheng-2500)*0.029305+106.6702;}baoxianfei=jichupiaojia*0.02;lvkepiaojia=jichupiaojia+baoxianfei;if(lvkepiaojia<=5)kepiaofazhanjin=0.5;else if(lvkepiaojia>5)kepiaofazhanjin=1;if(strcmp(liecheleixing,"普客")==0)piaomianjiage=lvkepiaojia+kepiaofazhanjin;else if(strcmp(liecheleixing,"新空普客")==0){kongtiaopiao=jichupiaojia*0.25;piaomianjiage=(lvkepiaojia+kongtiaopiao)*1.5+kepiaofazhanjin;}else if(strcmp(liecheleixing,"普快")==0){jiakuaipiao=jichupiaojia*0.2;piaomianjiage=lvkepiaojia+jiakuaipiao+kepiaofazhanjin;}else if(strcmp(liecheleixing,"新空普快")==0){jiakuaipiao=jichupiaojia*0.2;kongtiaopiao=jichupiaojia*0.25;piaomianjiage=(lvkepiaojia+jiakuaipiao+kongtiaopiao)*1.5+kepiaofa zhanjin;}else if((strcmp(liecheleixing,"快速")==0)||(strcmp(liecheleixing,"特快")==0))jiakuaipiao=jichupiaojia*0.4;piaomianjiage=lvkepiaojia+jiakuaipiao+kepiaofazhanjin;}else if((strcmp(liecheleixing,"新空快速")==0)||(strcmp(liecheleixing,"新空特快")==0)){jiakuaipiao=jichupiaojia*0.4;kongtiaopiao=jichupiaojia*0.25;piaomianjiage=(lvkepiaojia+jiakuaipiao+kongtiaopiao)*1.5+kepiaofa zhanjin;}if(strcmp(zuoweileixing,"硬座")==0){if(licheng>200)if(((int)((piaomianjiage+houcheshikongtiaofei)*10)-(int)((piaomia njiage+houcheshikongtiaofei)*10)/10*10)>=5)piaomianjia=(int)(piaomianjiage+houcheshikongtiaofei+1);else piaomianjia=(int)(piaomianjiage+houcheshikongtiaofei);else if(licheng>=0&&licheng<=200)if(((int)(piaomianjiage*10)-(int)(piaomianjiage*10)/10*10)>=5) piaomianjia=(int)(piaomianjiage+1.0);else piaomianjia=(int)piaomianjiage;}else if(strcmp(zuoweileixing,"硬卧")==0)if(((int)((piaomianjiage*2.0-baoxianfei)*10)-(int)((piaomianjiage *2.0-baoxianfei)*10)/10*10)>=5)piaomianjia=(int)(piaomianjiage*2.0-baoxianfei+1);else piaomianjia=(int)(piaomianjiage*2.0-baoxianfei);return piaomianjia;}/*void main(){char liecheleixing[20],zuoweileixing[6];int licheng,piaomianjia;printf("输入列车类型:(普客,快速,新空普客,新空快速,新空普快,新空特快)");scanf("%s",liecheleixing);printf("输入座位类型:(硬座,软座)");scanf("%s",zuoweileixing);printf("输入里程数:");scanf("%d",&licheng);piaomianjia=piaojia(liecheleixing,zuoweileixing,licheng);printf("票价为:%d\n",piaomianjia);}*/#define PIAOJIAJISUAN#endif/*时刻表查询.c*//*shikebiaochaxun:提供“站站查询”“车次查询”“站点查询”三种查询方式最后将查询结果输出*/#include"common.h"#include"jiegouti.h"#include"票价计算.c"#ifndef chaxunvoid checichaxun(){char checi[15];Shikebiao *p;Chaxunjieguo *q;Boolean xunhuan;Find=NULL;do{printf("请输入车次:");scanf("%s",checi);for(p=L->List;p!=NULL&&strcmp(checi,p->checi)!=0;p=p->next);if(p!=NULL&&strcmp(checi,p->checi)==0){printf("该车次已经找到!\n");xunhuan=FALSE;q=(Chaxunjieguo *)malloc(sizeof(Chaxunjieguo));strcpy(q->checi,p->checi);strcpy(q->shifazhan,p->shifazhan);strcpy(q->zhongdianzhan,p->zhongdianzhan);strcpy(q->liecheleixing,p->liecheleixing);strcpy(q->fazhan,p->shifazhan);strcpy(q->fashi,p->facheshijian);strcpy(q->daozhan,p->zhongdianzhan);strcpy(q->daoshi,p->daodashijian);q->licheng=p->licheng;q->yingzuopiaojia=piaojia(q->liecheleixing,"硬座",q->licheng);q->yingwopiaojia=piaojia(q->liecheleixing,"硬卧",q->licheng);q->Head=p->Head;q->next=NULL;Find=q;}else{printf("没有找到该车次的列车。
(新)火车票售票系统-软件工程设计报告
3.2.2数据需求
1、数据录入和处理的准确性
数据的输入是否正确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而得不到想要的结果。数据的输入来源是手工输入。所以系统地界面要让用户容易使用,如果用户出现误操作,系统能简单明了的给出中文提示。
5.2 模块设计
本火车售票下系统主要有登录/注册、查询、售票、退票、改签、修改车次、统计信息这些功能,设计时按这些功能设计模块就可以了。其详细功能图如下:
5.2.1登录/注册模块
本火车售票下系统有客户、售票员、系统管理员三种用户,其中客户可以自己注册账户登录,而售票员和系统管理员则直接由相关部门授权给定账号密码登录。
是
否
否
100
售票员姓名
Varchar(50)
否
否
否
无
售票员密码
Varchar(16)
否
否
否
无
证件号码
Varchar(20)
否
否
否
无
联系地址
Varchar(50)
否
否
否
无
联系电话
Varchar(20)
否
否
否
无
表3客户表
字段名称
字段类型
主键
外键
是否为空
默认值
客户ID
Varchar(10)
是
否
否
10000
1)对车次的查询,可以按照发车车次进行查询;
2)车次信息包括:火车列次、出发地、目的地、发车日期、开出时刻、票价。
3)座位类型设定。
4)车次信息只允许用户查询,不能修改。
火车订票(课程设计)-软件工程
河北工业大学课程设计报告课程名称软件工程课程设计设计题目火车预售票系统设计专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目:火车预售票系统设计_________________________________________________________ 设计内容与要求:为各类用户提供并实现以下功能:1. 管理员:各类用户权限设置;2. 操作员:查询与火车票销售/退票管理;3. 普通用户:查询与网上预定/取消预定火车票。
课程设计报告的组成:1. 需求规格说明书,包括用例图,数据流图,数据字典;2. 概要设计说明书,包括系统模块结构图,功能模块清单,实体图,系统E-R图,数据库表结构设计。
3. 项目总结报告,包括实际完成情况表。
指导教师:课程设计评语成绩:指导教师:_______________年月日目录目录 (1)第一部分软件需求规格说明书 (1)1引言 (1)1.1编写目的 (1)1.2背景 (1)1.3术语定义 (1)1.4参考资料 (2)2任务概述 (2)2.1目标 (2)2.2用户的特点 (2)3需求规定 (3)3.1系统用例图 (3)3.2数据流图与数据字典 (4)3.3对性能的规定 (13)4运行环境规定 (14)4.1设备 (14)4.2支持软件 (14)1引言 (15)1.1目的 (15)1.2范围 (16)1.3命名规则 (16)1.4术语定义 (16)1.5参考资料 (17)2总体设计 (17)2.1总体结构设计 (17)2.2功能模块清单 (19)3数据库设计 (19)3.1数据库概念级设计(E-R图) (19)3.2数据结构逻辑级设计 (22)第三部分项目开发总结报告 (24)1引言 (24)1.1编写目的 (24)1.2参考资料 (24)2设计总结 (25)2.1实际完成情况 (25)2.2 收获 (25)2.3有待改进之处 (27)第一部分软件需求规格说明书1引言1.1编写目的《火车网上售票系统需求规格说明书》的目的是明确《火车网上售票系统》中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅。
火车票订票系统课程设计报告
火车票订票系统课程设计报告
本科生课程设计是在计算机技术应用系丛中的一门重要课程,本文将以设计一个订火
车票的订票系统为例,来阐述本课程的重要性和必要性。
本设计的火车票订票系统将分为两个主要模块:一是买票的用户模块,另一是负责订
票维护的管理员模块。
买票的客户只需要登录订票系统,然后选择所要购买的火车票,输
入相关个人信息和付款信息,就可以完成订票操作。
负责维护和管理的管理员模块将分为
一般管理员模块和超级管理员模块。
一般管理员只能查看用户的订票信息,而超级管理员
可以添加,修改和删除火车票信息,还可以实现用户和管理员之间的消息传递、用户登录
和日志记录功能。
此外,还将采用SQL语句来存储订票系统中的所有信息,支持对表的修改、查看和分析。
通过这种方式,我们可以更清楚地了解有关火车票订票的信息,针对不同的业务类型
展开全面的统计和分析活动。
本设计的火车票订票系统将采用C++语言编程实现,利用模块化的编程思想进行编程。
每个模块都将有自己的相关函数,有助于编程的可读性和可维护性。
综上所述,本次课程设计将依赖数据库存储和处理数据,并利用面向对象和模块化的
编程思想,实现一个火车票订票系统,以为乘客提供一个高效、便捷的订票服务,而且还
可以与现有的其他模块相集成,完善整个火车票预定系统。
本次设计旨在让学生掌握计算
机技术在实际应用中的重要作用,并培养学生们主动利用计算机技术解决实际问题的能力。
软件工程程序设计-火车售票系统
软件工程程序设计-火车售票系统(总27页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除火车售票系统作者姓名:孙清茂专业班级:计算机科学与技术学号: 2008 0503 03 12 指导教师:唐云摘要火车站是目前客流量最大的运输工具。
对于售票如此大的工作量,完全靠人工是不可能达到能称之为效率的水平的,基于此目的,开始思考开发提高售票效率以及劳力的计算机售票系统。
售票系统的核心是数据库技术,利用数据库将整个火车站的票务情况存入计算机,再配置上用户接口,基本实现了查询、售票、退票、订票、改签等功能,一定程度上提高了售票效率。
关键词:火车站数据库用户接口售票The train ticketing systemAbstract:The station is currently the largest passenger transport. For tickets so big workload, completely by artificial is impossibleto reach the level of can call efficiency, based on this objective, start thinking about development raise ticket efficiency and labor computer ticketing system. Ticketing system that is the core of database technology, using database will whole railway station of the games, then placed in a computer user interface configuration, basically achieved query, tickets, refund, booking tickets, 34, and other functions, to a certain extent, improves the ticketing efficiency.Key words:Railway station Database The user interface Ticket目录第一章前言 (5)课题的来源 (5)现实意义 (5)研究内容及成果 (5)第二章软件开发环境 (6)软件开发环境及性能要求 (6)软件开发环境 (6)软件运行性能需求 (6)第三章方案论证 (7)可行性分析 (7)要求及目标 (7)要求 (7)目标 (7)开发系统已满足条件 (8)可行性研究相关办法 (8)技术方面的可行性 (8)火车站方面经济可行性 (8)操作可行性 (9)法律方面可行性 (9)可行性分析结论 (9)需求分析 (9)需求分析目的 (9)参与需求分析人员 (9)系统需求概述 (9)第四章总体设计 (9)系统概要 (10)系统组成以及结构 (10)第五章数据库设计 (11)数据库介绍 (11)建立数据库准备工作 (11)数据表设计 (11)第六章具体实现 (13)详细设计概述 (13)面向售票员的详细设计 (14)查询 (14)时序及I/O (14)算法实现 (15)售票 (16)时序及I/O (16)算法实现 (17)退票 (18)时序及I/O (18)算法实现 (19)改签 (20)时序及I/O (20)算法实现 (20)面向管理员的详细设计 (21)修改车次模块 (21)修改时序图 (21)算法实现 (22)统计信息模块 (22)统计时序图 (22)算法实现 (23)结论 (24)参考文献 (24)第1章前言课题的来源鉴于人工售票的工作量过于巨大,为了方便旅客以及售票工作人员,提高效率,也为了提高火车这种交通工具的整体效率,产生了面向此课题的研究。
火车订票系统课程设计
火车订票系统课程设计一、课程目标知识目标:1. 让学生掌握火车订票系统的基本原理和功能模块;2. 帮助学生了解数据库在火车订票系统中的应用;3. 引导学生理解火车票的查询、预订、支付等业务流程。
技能目标:1. 培养学生运用所学知识设计简单的火车订票系统功能模块;2. 提高学生分析问题、解决问题的能力;3. 培养学生团队协作和沟通表达的能力。
情感态度价值观目标:1. 激发学生对计算机科学与技术学科的兴趣和热情;2. 培养学生关注社会热点问题,关注信息技术在生活中的应用;3. 引导学生树立正确的价值观,认识到科技改变生活的重要性。
课程性质:本课程为信息技术与学科整合的实践性课程,结合实际生活中的火车订票系统,让学生在实践中掌握计算机科学与技术的基本知识和技能。
学生特点:六年级学生对计算机有一定的基础,具备一定的操作能力和逻辑思维能力,对新鲜事物充满好奇心。
教学要求:注重理论知识与实践操作相结合,以学生为主体,教师为主导,鼓励学生积极参与讨论和实践活动,提高学生的动手能力和创新能力。
通过本课程的学习,使学生能够将所学知识应用于实际问题的解决中。
二、教学内容1. 火车订票系统概述:介绍火车订票系统的基本概念、发展历程和在我国的应用现状。
相关教材章节:第三章 计算机网络应用2. 火车订票系统功能模块:分析火车订票系统的功能模块,包括用户注册、登录、查询、预订、支付、改签、退票等。
相关教材章节:第四章 数据库应用3. 数据库在火车订票系统中的应用:讲解数据库的基本概念,以及如何在火车订票系统中设计数据库表、实现数据存储和查询。
相关教材章节:第五章 数据库设计4. 火车票查询与预订:详细介绍火车票查询与预订的业务流程,包括车次查询、余票查询、预订车票等。
相关教材章节:第六章 互联网编程5. 火车订票系统设计与实现:引导学生运用所学知识,设计并实现一个简单的火车订票系统。
相关教材章节:第七章 网络编程实践教学进度安排:第一课时:火车订票系统概述第二课时:火车订票系统功能模块第三课时:数据库在火车订票系统中的应用第四课时:火车票查询与预订第五课时:火车订票系统设计与实现教学内容确保科学性和系统性,注重理论与实践相结合,使学生在掌握基本知识的基础上,能够运用所学技能解决实际问题。
软件工程课设-网上火车票订票系统
目录1. 选题意义 (1)2. 网上火车票订票系统要达到的目标及限制 (1)2.1要达到的目标 (1)2.1.1功能目标 (1)2.1.2 质量及性能目标 (4)2.2限制 (4)3. 用例、事件流及对应活动 (3)3.1系统用例图 (3)3.2用户注册 (5)3.2.1用例简述 (5)3.2.2 基本事件流 (5)3.2.3 活动图 (4)3.3用户登录系统 (4)3.3.1 用例简述 (4)3.3.2 基本事件流 (4)3.3.3 活动图 (5)3.4用户退出系统 (5)3.4.1 用例简述 (5)3.4.2 基本事件流 (5)3.5按起点终点和出发日期浏览车票 (6)3.5.1 用例简述 (6)3.5.2 基本事件流 (6)3.5.3 活动图 (6)3.6订单生成及支付 (9)3.6.1 用例简述 (9)3.6.2 基本事件流 (9)3.6.3 活动图 (7)3.7查看订单 (11)3.7.1 用例简述 (11)3.7.2 基本事件流 (11)3.7.3 活动图 (12)3.8退票 (11)3.8.1 用例简述 (11)3.8.2 基本事件流 (11)3.8.3 活动图 (12)3.9业务数据管理 (13)3.9.1 用例简述 (13)3.9.2 基本事件流 (13)3.9.3 活动图 (13)3.10管理员账号管理 (10)3.10.1 用例简述 (10)3.10.2 基本事件流 (10)3.10.3 活动图 (15)4. 类图 (16)5. 主要时序图 (16)5.1注册 (16)5.2检索车票 (17)5.3选座购票 (18)1. 选题意义铁路作为中国最重要的交通工具之一,在市场经济浪潮中,面临着严峻的考验。
公路运输的便捷,航空运输的快速,这一切都对铁路运输构成很大的冲击。
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,随着我国铁路交通的不断发展,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,简单的窗口售票模式已经不能满足方便人们出行的目的。
《UML面向对象分析》课程设计火车票系统
《UML面向对象分析》课程设计报告项目名称:火车票订购系统姓名:学号:指导教师:2011年11 月10 日目录1 需求分析 (1)1.1 需求概述 (1)1.2 需求分析 (2)1.3 需求模型(用例图) (5)2 静态模型 (6)2.1 类图 (6)2.2 对象图 (6)2.3 包图 (7)3 动态模型 (8)3.1 时序图 (8)3.2 状态图 (8)3.3 协作图 (8)3.4 活动图 (8)4 项目组成员分工说明 (9)5 总结 (10)6 参考资料 (11)1需求分析1.1 需求概述线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能)。
实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能。
线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求。
用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理。
具有体积小,代码简洁,易维护、易修改的优点。
1.2 需求分析●用户管理模块用户管理模块包括如下几个部分。
(1)添加用户信息:管理员可以对用户信息进行添加操作。
(2)删除用户信息:管理员可以对已有用户信息进行删除操作。
(3)查看用户信息权限:每个用户都具有一定的权限,管理员可以查看用户的管理权限。
(4)修改用户信息权限:管理员可以修改用户的管理权限。
(5)删除管理权限:管理员在权限管理中可以删除管理权限。
(6)添加管理权限:管理员在权限管理中可以添加管理权限。
●系统参数设置模块系统参数设置模块有如下几个部分。
(1)用户信息:管理员可以修改用户信息并保存。
软件工程火车票售票系统--详细设计
软件工程火车票售票系统--详细设计本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March信息工程学院《软件工程》作业(火车票售票系统)详细设计专业:计算机科学与技术网络方向班级: 102本学号:20100804050227姓名:王旭平王通、王希宝、谢斌、武亚玲、邢伟刚指导老师:张志斌火车票售票系统1.引言随着计算机技术的发展,用计算机为人们的生活服务已经变得普及化。
铁路公司为了增强公司的信息化程度,提高公司的售票管理的效率,就建立起了相应的火车票订系统,实现提高了火车客用系统的售票效率和管理水平。
火车票订票系统是典型的信息管理系统的一部份,火车票订票系统的开发充分利用了计算机信息技术提高了火车票订票的管理水平、服务水平。
系统实现了乘客查询信息、订票操作、取票操作、销售统计等功能,可明显提高对火车票订票的有效管理。
1.1编写目的本火车站售票系统的根本目的在于通过计算机实现票务信息的统一管理,来提高工作效率,使售票员售票和乘客购票更加方便。
实现计算机管理的最佳技术就是数据库技术。
我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。
一个火车站售票信息管理系统应达到的目标是提供及时、准确的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
1.2范围软件系统名称:火车票预订系统该系统的中心功能是列车车次和售票信息的查询功能和售票功能。
虽然这两个看似截然不同的功能,但它们在实现上十分的类似,售票就需要首先先通过查询的方式得到满足要求的列车车次,然后再根据实际情况进行售票。
所以售票功能可以看成是列车车次和售票信息查询功能的延伸。
支出:该系统是软件工程作业,故无经费支出。
课程设计---火车票网上售票系统
课程设计说明书课程名称: 软件工程导论课程代码:题目: 火车站网上订票系统年级/专业/班:学生姓名:学号:指导老师:开题时间:完成时间: 2011年6月30日2011年6月30日课程设计任务书及成绩评定课程名称: 软件工程导论完成者:1、设计的目的与要求1)加强学生的实践能力;2)理解小型系统开发的基本步骤;3)本系统的功能包括:火车票信息查询,预订火车票,退订火车票。
2、设计进度及完成情况日期内容6.6-6.7项目开发计划书6.8-6.10系统可行性研究6.11-6.15系统需求分析6.16-6.23系统设计6.24-6.27系统测试6.28-6.30项目的递交3、成绩评定设计成绩:(教师填写)指导老师:(签字)2011年月日目录第一章项目开发计划书 (1)1.1引言 (1)1.1.1编写目的 (1)1.1.2背景 (1)1.2项目概述 (1)1.2.1工作内容 (1)1.2.2主要参加人员 (2)1.2.3产品 (2)1.2.4服务 (2)1.2.5验收标准 (2)1.2.6本计划的批准者和批准日期 (2)1.3实施计划 (3)1.3.1工作任务的分配与人员分工 (3)1.3.2进度 (3)1.4支持条件 (3)1.4.1计算机系统支持 (3)第二章可行性分析 (4)2.1可行性研究前提 (4)2.1.1要求 (4)2.1.2目标 (4)2.1.3决定可行性的因素 (4)2.2 技术可行性分析 (4)2.2.1系统简要描述 (4)2.2.2 系统主要功能流程图 (5)2.3经济上可行性 (5)2.4 操作可行性 (6)2.5开发工具的选择 (6)2.6 结论 (6)第三章需求分析 (7)3.1市场需求分析 (7)3.2系统功能性需求分析 (7)3.2.1 功能划分 (7)3.2.2 功能描述 (7)3.2.2.1 注册功能模块 (7)3.2.2.2 登录功能模块 (8)3.2.2.3 查询功能模块 (8)3.2.2.4 订票功能模块 (8)3.2.2.5 管理功能信息模块 (8)3.3 系统非功能性需求 (8)3.3.1 可用性 (8)3.3.2 可靠性 (9)3.3数据字典 (9)3.4实体-联系图 (10)第四章系统设计 (11)4.1 总体设计 (11)4.1.1需求概述 (11)4.1.2客户关系管理系统功能设计 (11)4.1.3过程设计 (13)4.1.1程序流程图 (13)4.2数据库设计 (17)4.2.1数据库详细设计 (17)4.2.2数据结构与程序关系 (18)4.3功能模块的设计与实现 (18)4.3.1会员注册模块 (18)4.3.1 站站查询 (21)4.3.2 车次查询 (22)4.3.3 站+车次查询 (24)4.3.4 显示数据库内容到界面 (25)4.3.5 订票实现 (26)4.3.6 退票实现 (28)第五章系统测试 (30)5.1 测试的作用和意义 (30)5.2 测试方法 (30)5.3 测试内容 (30)5.4 测试结果 (31)5.4.1注册和登录模块测试 (31)5.4.2 查询、订票和退票模块测试 (32)5.4.3 用户个人信息修改和删除模块测试 (33)5.4 结论 (34)第六章总结 (35)参考文献 (36)第一章项目开发计划书1.1引言1.1.1编写目的此项目开发计划书的编写主要是为了给开发《火车站网上订票系统》做主要的规划和整合,在开发过程中起到引导作用,以及给使用者提供简要的说明。
数据结构课程设计 火车订票系统
软件课程设计--C语言设计火车票订票系统之源代码(模拟数据库功能)(需求分析+可行性分析)设计题目:火车订票系统小组成员:指导教师:完成时间:一.需求设计:1.每条线路所涉及的信息有:起点、终点、站名、车次、、票价、时间、座位号。
2.作为示意系统,全部数据可以只放在内存中。
3.系统能实现的功能和操作如下:①.查询路线:根据旅客提出的终点站名输入下列信息:车次、车站名。
②.承办订票业务:根据客户提出的要求查询该车次票额的情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新查询客户要求,若需要可登记排队候补。
③.承办退票业务:根据客户提供的情况(车次、时间、座位号)为客户办理退票手续,然后查询该车次是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
④登记旅客情况:包括旅客姓名,性别,年龄,家庭住址,联系方式等。
⑤统计功能:将每次车的订票,退票结果统计出来。
⑥管理功能:列车管理员可以通过调用函数来查看车票极其用户情况.⑦.查询功能:用户可以查询自己需要的车辆信息.二.总体设计1.程序流程图:按2键按3键按4键进入in函数进入book函数进入inquire函数进入cancel函数按5键进入you函数2.总体设计说明:①.数据结构设计:程序=数据结构+算法,一个好的程序必定有一个好的数据结构.本设计主要考虑车票信息和用户信息的数据结构.车票信息采用半十字链表.横向链表中的每一个结点包含以下内容:车次,起始站,发车时间,指向下一个结点的指针,指向中途站的指针.纵向链表中每一个结点包含以下内容:从始发站开始的依次到站,票价,到达时间,是否已被购买标识,才用mark标识,当mark为1时车票已售出,当mark为0时车票还未售出.以及指向下一个结点的指针.纵向链表采用循环链表,尾指针指向首指针.未购票用户信息使用队列来保存,因为考虑到用户会预订票,所以把用户以来订票的时间早晚排在队中.先来先买,后来后买.队列中的每个元素包含以下内容:用户姓名,身份证号码,想要购票的车次,起始站,要到的站,时间.已经购票用户信息使用一个单链表来保存,链表中的没个结点包含以下内容:用户姓名,身份证号码,已购车票的车次,出发时间,到达时间.车票信息链表示意图:车次起始站发车时间downnnext到站时间票价marknext座位号未购票用户信息队列:用户姓名购票的车次起始站要到的站达到时间用户姓名购票的车次起始站要到的站达到时间注:座位号包含在车次号中已购票用户信息链表示意图: 用户姓名身份证号码已购车票的车次号出发时间到达时间注:座位号包含在车次号中②算法的设计:主函数:利用case语句实现用户界面,用户输入需要的服务的数字代码,程序就会转到相应的函数,实现相应的功能。
软件工程网上订票系统课程设计
软件工程网上订票系统课程设计一、可行性分析报告1.1 经济可行性分析经济可行性研究是对系统投入使用后带来的经济效益进行评估,也包括对系统的投资预算。
即要解决两个问题,资金可德行和经济合理性当前办公用PC机的普及使得开发和应用管理系统在经济在成为可能。
现在,计算机的价格已经十分低廉,性能却有了长足的进步,本系统的开发为人民出行方便带来了质的飞跃。
为此主要表现为以下几个方面:1、本系统的运行可以代替人工进行许多繁杂的劳动;2、本系统运行可以节省许多资源。
如人力,财力,物力等方面;3、本系统的运行可以大大地节约买票时间;4、本系统可以使个人信息更加安全,等等。
另一方面,就汽车站自身来说,他也是需要这样一个系统的。
我们在计算机还没有普及之前,信息都必须通过在纸上填写来实现,这样既浪费时间,又容易出错。
随着信息时代的来临,我们的各项工作都要讲求效率,买火车票也不例外。
本系统其它应用软件、硬件系统也易于获得。
因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
这就为汽车票网上订票提供了适用人群,所以本系统在经济上是可行的。
1.2 操作可行性分析本系统采用菜单式,实现用户与数据库的交互,界面简洁友好,操作方便,有计算机基础的人无需培训即可使用,即使是没有计算机基础的人只需经过简单的培训即可熟练地使用本系统。
系统运行后,就用户方面而言,由于用户使用本系统时,不会也不必关心系统内部的结构和实现方法,即对用户来说是透明的,所以本系统对用户而言是定位在界面友好,操作方便功能齐全的原则上的,用户只需用鼠标点击界面上的选项卡或按钮就能之行相应的功能。
就管理者而言,关心的是如何处理各种数据只要把用户的信息输入计算机,管理者就可以运行相应的后台程序进行处理。
而以上的这些功能都能在所选择的开发环境中用所选择的开发工具来实现。
所以说本系统在操作上是没有问题的。
因此,它在操作上是可行的。
软件工程火车票预定系统的需求分析说明书
需求分析报告1、引言随着计算机技术的发展,用计算机为人们的生活服务已经变得普及化。
对于企业而言,时间就是金钱,能高速度地处理事物的计算机更能提高企业办事的效率,减少由于人为因素所照成的误差,使他们在这个激烈的市场经济中保持不败的地位。
火车票订票系统是典型的信息管理系统的一部份,火车票订票系统的开发充分利用了计算机信息技术提高了火车票订票的管理水平、服务水平。
系统实现了乘客查询信息、订票操作、取票操作、销售统计等功能,可明显提高对火车票订票的有效管理。
1.1 编写的目的根据火车站工作人员的要求,探究此系统是否符合了火车工作人员和乘客的要求,以便于为软件的后期开发和维护做准备。
预期的读者是火车站的工作人员和所有的乘客。
1.2 背景1)火车站工作人员要求为其设计一个火车票订票系统,以便方便工作人员和乘客对火车飘得相关操作。
2)本系统同其他系统或其他机构基本上没有相互来往关系。
1.3 定义软错误:由于输入信息,或无法满足要求时产生的错误。
硬错误:由于其他问题,如网络传输超时等,产生的问题。
1.4 参考资料[1]张海藩.软件工程导论(第四版)[M].北京:清华大学出版社,2003[2]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006[3]刘惊雷.VC++实用教程[M].北京:电子工业出版社.2008[4]Google Web APIs Reference[EB/OL]./api/reference,2005.52、任务概述2.1 目标在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的火车票订票系统,实现火车运载公司的火车票销售的自动化的计算机系统,为企业的决策层提高准确、精细、迅速的火车票销售信息。
具体功能为各个售票点把预定火车票的乘客信息(乘客名称、乘客身份证等)和订票信息(乘行时间、乘行始发地和目的地,车位要求等)输入到系统中,系统为乘客安排行程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1. 选题意义 (1)2. 网上火车票订票系统要达到的目标及限制 (1)2.1要达到的目标 (1)2.1.1功能目标 (1)2.1.2 质量及性能目标 (2)2.2限制 (2)3. 用例、事件流及对应活动 (3)3.1系统用例图 (3)3.2用户注册 (3)3.2.1用例简述 (3)3.2.2 基本事件流 (3)3.2.3 活动图 (4)3.3用户登录系统 (4)3.3.1 用例简述 (4)3.3.2 基本事件流 (4)3.3.3 活动图 (5)3.4用户退出系统 (5)3.4.1 用例简述 (5)3.4.2 基本事件流 (5)3.5按起点终点和出发日期浏览车票 (6)3.5.1 用例简述 (6)3.5.2 基本事件流 (6)3.5.3 活动图 (6)3.6订单生成及支付 (7)3.6.1 用例简述 (7)3.6.2 基本事件流 (7)3.6.3 活动图 (7)3.7查看订单 (8)3.7.1 用例简述 (8)3.7.2 基本事件流 (8)3.7.3 活动图 (8)3.8退票 (8)3.8.1 用例简述 (8)3.8.2 基本事件流 (8)3.8.3 活动图 (8)3.9业务数据管理 (9)3.9.1 用例简述 (9)3.9.2 基本事件流 (9)3.9.3 活动图 (9)3.10管理员账号管理 (10)3.10.1 用例简述 (10)3.10.2 基本事件流 (10)3.10.3 活动图 (10)4. 类图 (11)5. 主要时序图 (11)5.1注册 (11)5.2检索车票 (12)5.3选座购票 (12)1. 选题意义铁路作为中国最重要的交通工具之一,在市场经济浪潮中,面临着严峻的考验。
公路运输的便捷,航空运输的快速,这一切都对铁路运输构成很大的冲击。
火车站市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,随着我国铁路交通的不断发展,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,简单的窗口售票模式已经不能满足方便人们出行的目的。
采用先进的网络技术开发出方便快捷的网上订票系统是现代客运业务发展的必然要求。
电子商务的出现,正好带给了铁路客运服务一个发展契机,推出新型的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。
它既是技术上的创新,又将完善铁路服务,在一定程度上解决买票难这一大难题,增强铁路竞争力,为铁路争取到更多的客流。
本次设计的火车票网上订票系统通过访问主页,可以实现个人信息注册、车次车票价格查询、在线订票退票等基本功能,为用户提供快捷方便的订票服务。
2. 网上火车票订票系统要达到的目标及限制2.1 要达到的目标2.1.1功能目标图2-1-1用户功能模块图从用户角度看:(1)注册:普通用户可以进行注册,输入的注册信息要进行验证,验证正确后将信息存入数据库。
(2)登录:已经注册的普通用户可以正确登录,在登录页面输入信息时,如果信息输入正确可以正确登录进入系统;如果信息输入错误,能够看到信息输入错误提示,并且停留在该系统登录页面。
(3)查询:用户可以实现对个人信息的查询、车次信息的查询和已订车票信息的查询。
要求:1)对个人信息的查询和修改,用户可以查看并修改自己的基本信息。
2)对车次的查询,可以按照始发站和终点站进行查询。
3)对订单的查询,用户可以查看自己订单的所有车票信息。
(4)添加:用户可以进行订票来添加订单。
(5)退票:用户可以对自己已付款订单车次的车票进行退票操作。
图2-1-2管理员功能模块图从管理员的角度看:(1)登录:管理员可以通过登录权限进入管理员模式。
(2)查询:管理员可以对个人信息进行查询、对现有车次进行查询、对站点进行查询和对已注册用户信息进行查询。
1)对个人信息的查询,管理员可以查看自己的基本信息。
2)对车次的查询,可以按照发车车次进行查询,也可以按照始发站和终点站进行查询。
3)对站点的查询,管理员查看所有已存在站点的信息。
4)对已注册用户的查询,管理员可以查看本系统中所有已注册用户的基本信息和其订单信息。
(3)添加:管理员可以实现对车次的添加、对站点的添加和对车票信息的添加。
(4)删除:管理员可以实现对车次的删除、对站点的删除和对车票信息的删除。
(5)管理员可以修改站点信息、车次信息和车票信息。
(6)管理员也可以创建、管理更低权限级别的管理员的权限级别等信息。
2.1.2 质量及性能目标系统使用时,登录、注册、检索浏览车票、生成订单等流程正常。
系统可迅速且正确地响应用户的请求。
2.2 限制用户仅能修改自己的信息,不能修改管理员信息、车票信息等数据。
管理员不可以修改更高权限及相同权限级别的管理员的信息。
管理员账号只能由更高级别的管理员创建产生,不能由注册产生,也不能由同权限级别或者更低权限级别的管理员创建产生。
系统默认内置一个超级管理员账号,该管理员拥有最高管理权限。
3. 用例、事件流及对应活动网上火车票订票系统描述的主要用例有:普通用户注册,用户(普通用户/管理员)登录系统,用户(普通用户)退出系统,车票浏览,查看订单,检索车票,显示车票信息,订单生成及支付,业务数据管理,管理员账号管理。
3.1系统用例图图3-1 系统用例图3.2 用户注册3.2.1用例简述用户在购票网站上输入注册信息,成为注册用户。
3.2.2 基本事件流1、用户:在会员注册画面,输入用户编号、密码、用户姓名、证件编号、电子邮件地址和联系电话等信息,提交注册请求;2、系统:对用户的信息进行检查;3、系统:用户的信息被系统保存;4、系统:保存注册信息,提示用户注册成功;5、用例结束。
图3-2 用户注册活动图3.3 用户登录系统3.3.1 用例简述用户输入合法的用户名和密码后,登录系统。
3.3.2 基本事件流1、用户:在用户登录页面上,输入用户名和密码;2、系统:根据用户名和密码检索系统,获得用户信息;3、系统:显示用户登录成功,用户身份由游客变为注册用户;4、结束用例。
图3-3 用户登录系统活动图3.4 用户退出系统3.4.1 用例简述用户退出系统。
3.4.2 基本事件流1、用户:提交退出系统的请求;2、系统:注销用户,显示退出成功;3、用例结束。
3.4.3 活动图图3-4 用户退出系统活动图3.5按起点终点和出发时间检索车票3.5.1 用例简述根据用户选择的起点终点以及出发日期显示列车信息。
3.5.2 基本事件流1、用户:选择起点和终点以及出发日期;2、系统:检查起点和终点是否正确;2、系统:显示符合用户选择的列车信息;3、用户:选择某辆列车;4、系统:显示用户选择的列车的车票信息;5、用例结束。
3.5.3 活动图图3-5按照起点终点和出发日期检索车票活动图3.6 订单生成及支付3.6.1 用例简述用户下单并完成支付,系统检查是否完成支付。
3.6.2 基本事件流1、用户:选择车次、座位;2、用户:提交订单请求;3、系统:检查用户是否已经登录;4、系统:检查座位选择是否有效;5、系统:生成订单,显示付款页面;6、用户:选择支付方式,输入付款信息,进行付款;7、系统:检查支付信息是否正确,是否完成支付;8、系统:存储并显示车票信息等订单详情;9、用例结束。
3.6.3 活动图图3-6订单生成及支付3.7 查看订单3.7.1 用例简述顾客查看自己的历史订单。
3.7.2 基本事件流1、用户:提交查看历史订单请求;2、系统:显示该用户所有的历史订单信息;3、用户:选择某一条订单;4、系统:在订单详细页面显示用户选择的某一条订单的详细信息;5、用例结束。
3.7.3 活动图图3-7 查看订单活动图3.8 退票3.8.1 用例简述顾客选择退掉已经购买的车票。
3.8.2 基本事件流1、用户:选择已购买的车票并提交退票请求;2、系统:检查退票请求是否合法;3、系统:显示退票成功,返回原来页面;4、用例结束。
3.8.3 活动图图3-8 退票活动图3.9 业务数据管理3.9.1 用例简述管理员管理商品,订单,会员等相关的业务数据,包括对数据的新增,更新,删除,查询。
3.9.2 基本事件流1、管理员:实施业务数据的新增,更新,删除,查询操作;2、系统:检查管理员登录信息;3、系统:保存管理员对业务数据的相关操作;4、用例结束。
3.9.3 活动图图3-10业务数据管理3.10 管理员账号管理3.10.1 用例简述管理员实现对较低级别的管理员账号的管理。
3.10.2 基本事件流1、管理员:对系统中的较低级别的管理员账号进行新增,更新,删除,权限更改等操作;2、系统:检查管理员登录信息;3、系统:保存管理员的操作;4、用例结束。
3.10.3 活动图图3-11 管理员账号管理4. 类图图4-1 类图5. 主要时序图5.1 注册图5-1 用户注册时序图5.2检索车票图5-2 检索车票时序图5.3 选座购票图5-3 选座购票时序图。