软件工程课程设计
一、 课程设计题目:
航空公司机票预订系统。
二、 课程设计内容简要分析:
航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
三、主要设计过程:
1、问题定义:
航空运输现在已经逐渐成为我国运输事业的重要手段,但是对于航空运输来说,天气或人为的种种的因素,会给航空机票的预定和退订带来困难,特别是对于机票的预定和退订的条理性、及时性和准确性,也同样带来巨大的困难。
对以上的问题,完全可以建立一套完整的航空公司机预定系统,来对信息进行录入、查询、订票、退票等日常管理工作,尽量少的人员介入和数据冗余,以简练实用为基础,实现信息管理计算机化,提高工作效率和信息化水平。
2、可行性分析:
可行性分析对系统的开发至关重要,可以大幅减少不必要的损失,保证系统开发的顺利进行。可以从技术可行性、经济可行性、操作可行性三方面进行系统可行性分析:
2.1、技术可行性:
这些年来,计算机技术的发展异常迅猛,而绝大多数的企业和单位,都已经把计算机作为信息和数据处理、保存和管理的重要工具。
Java是Sun Microsystem公司的James Gosling开发的编程语言。它以C++为基础,但是却是一个全新的软件开发语言。Java是一个简单,面象对象、分布式、解释性、强壮、安全,与系统无关、可移植、高性能、多线程和动态的语言,利用Java就可以编制出程序接口好、图形界面优美的管理系统。同时,微软公司开发的SOL Server 2000,为数据库的开发和管理带来了极大的方便。
2.2、经济可行性:
一方面,对于新系统的开发和研究,不需要花费更多的费用,而且对于人员的培训,不同样不需要花费很多;另一方面,航空公司的原有服务器和计算机系统,同样可以用来使用,不需要更新系统。
2.3、操作可行性:
对于用Java开发的本系统,通过简单的学习就可以熟练操作,同时,对于票务的管理,也同样因为本系统的高效性、及时性和方便性而易于管理。
通过以上的分析,航空公司机票预定系统在经济上、技术上、操作上都是可行的。
3、 需求分析:
需求分析阶段的主要目标是准确了解用户对未来软件的系统结构的需求,是发现、求精、建模、规格说明和复审过程。
在需求分析中,可以采用主要流程和数据流程图来描述。
3.1、该系统主要要完成的流程为:
a) 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
b) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;
c) 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;
d) 退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
3.2、数据流程图:
数据流程图是描绘信息流和数据从输入移动到输出的过程中所经历的变换。是一种能全面描述信息系统逻辑模型的主要工具,也是系统分析人员与用户进行交流的有效手段。
旅客的订票流程图如下:
旅客取票的流程图如下:
订票旅客清单
打印机票
旅客信息查询
旅客
旅客
售出机票信息
4、概要设计:
4.1、本系统的设计总框图:
说明:本系统共分为两大子系统:客户定票系统和后台管理系统。
客户服务系统包含三个子系统:
1、查询系统(实现查询功能)
2、定票系统(实现定票功能)
3、退票系统(实现退票和修改功能)
后台处理系统包含三个子系统:
1、航班信息查询 (实现航班信息的查询功能)
2、航班信息修改(实现航班信息的修改、新增、删除功能)
3、乘客信息查询(实现乘客信息的查询)
两大系统共用两个数据文件:航班基本信息文件和客户定票信息文件。
4.2、客户定票系统的概要设计:
说明:
1)查询:用户可以通过输入航班号单关键字查询,飞机的起降地点和飞机的起飞时间双关键字查询两种方式进行查询。(注:结构图里查询和订票之间的连线表示客户可以由查询界面直接进入订票界面)
2)订票:客户可以直接从主界面直接进入订票界面,也可以从航班信息查询界面通过事件触发进入订票界面。客户在订票界面内填写客户基本信息和所定航班的关键信息,然后由提交事件进行信息有效性判断。如果数据有效,则修改航班基本信息,新增客户信息。
3)退票和修改:在客户正确输入交易单号,乘客姓名,身份证号的前提下,系统确定数据有效性,客户拥有退票或修改交易的权限。此时对航班基本信息数据文件和客户订票信息文件进行数据项的删除或修改。
4)客户修改的主要作用:当客户对于所定机票的航班号,数量,等级等内容需要修改时,可启动此功能。
同时,为方便客户修改过程能准确的了解航班基本信息,在客户退票界面加入了查询按钮。可以通过事件触发进入相关界面。
4.3、后台管理系统的概要设计:
说明:
1) 航班信息修改:管理人员可以通过输入航班号与日期查询该航班的基本信息 。可在查询的结果上进行修改,也可删除该条信息。所有数据修改都应在数据文件中完成,在界面上显示出来。
2) 航班信息录入:管理人员可以通过输入新的航班信息新加一条航班的基本信息。
3) 乘客信息查询:管理人员可以通过输入交易单号码,乘客姓名,乘客身份证号查询乘客的基本信息。
4.4、机票预订系统的逻辑模型如下:
航班机票信息
旅行时间
姓名
性别
旅行地点
身份证号码
工作单位
旅客
1
价格
航空公司
取票通知
帐单
订票
1 1
时间
旅行社
合适航班机票
N
订票旅客清单
售出机票信息
可售机票
等级
5、详细设计:
5.1、主界面程序流程图设计:
说明:在主界面,可以设置四个按钮以供选择:查询、订票、退票和退出。
选择不同的按钮触发不同事件。
5.2、查询系统程序流程图设计:
5.3、订票系统程序流程图设计:
5.4、 退票系统流程流程图设计:
6、实现和单元测试:
6.1、编码:
航班信息链表类核心代码:
public class FlightList implements Serializable
{
public FlightListNode firstNode; // 第一架航班的信息表
public FlightListNode lastNode; // 最后一架航班的信息表
public String name;
public int numberOfRecords; // 全天起落航班的总记录
public FlightList( String s )
{
name = s;
firstNode = lastNode = null;
}
public boolean exist( String sFlightNo, Date date ) //判断含传入航班号和日期的结点是否存在
{
FlightListNode current = firstNode; // 航班信息的第一个结点
while( current != null)
{
if( current.data.flightNum.equals( sFlightNo )
&& current.data.date.equals( date ) )
return false;
else
current = current.next; //当前航班号不存在时转入下一个结点
}
return true;
}
public void insertAtFront( FlightInfo insertItem ) //在链首插入结点
{
if( isEmpty() )
firstNode = lastNode = new FlightListNode( insertItem );
else
firstNode = new FlightListNode( insertItem, firstNode );
return numberOfRecords ++;
}
public void insertAtBack( FlightInfo insertItem ) //在链尾插入结点
{
if( isEmpty() )
firstNode = lastNode = new FlightListNode( insertItem );
else
lastNode = lastNode.next = new FlightListNode( insertItem );
return numberOfRecords ++;
}
public void delete( FlightInfo deleteItem ) //删除航班信息结点
{
FlightListNode deleteNode = new FlightListNode( deleteItem );
FlightListNode current = firstNode;
if( isEmpty() )
throw new EmptyListException( name );
FlightListNode temp = firstNode;
int flag = 0 ;
while( current != null )
{
if( current.data.flightNum.equals( deleteNode.data.flightNum ))
{
if( flag == 0 )
{
firstNode = firstNode.next;
}
temp.next = current.next;
break;
}
else
{
temp = current;
current = current.next;
flag ++;
}
}
numberOfRecords --;
}
}
7、软件维护:
维护方面主要为对服务器上的数据库数据进行维护。可使用 SQL SERVER 2000的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。
三、 主要参考文献:
1 张海潘. 软件工程导论. 北京:清华大学出版社,2005
2 赵松涛. SQL Server 2000系统管理实录. 北京:电子工业出版社, 2006
3 宋波. Java Web应用与开发教程. 北京:清华大学出版社,2006
4 孙卫琴. Java面向对象编程. 北京:电子工业出版社,2006
软件工程 机票预定系统的用户界面设计如何写?谢谢大侠帮忙!
针对你 de 描述软件工程 机票预定系统的用户界面设计如何写?谢...,
我们可以为你提供 1 份适用于初学者 de 代码,
如有进 1 步需求,请我们联系,
给我留 1 个你 de 问题和Email,
有时间可以帮你,绝对救急,
请用BaiduHi为我留言,
此回复针对所有来访者和需求者有效,
ES:\\11695CA413D62F7CBC47501E56B0D47D
画一个买机票的流程图,软件工程的
上网 输入出发地 目的地 出发日期 单程/往返 查询 选择航班 输入乘机人信息 预订 付款 对方出票 完成
机票预定系统
建议你先自己上下预订机票的网站,获取源代码,然后作为一个客户试着预订,就知道一些相关解答了,推荐携程旅行网站,系统做的不错,用户评价不错
软件工程和计算机科学与技术有什么区别?
从本科阶段来看,几乎没什么区别。
以我在的厦大计算机科学系和软件学院来说,我们系里面还分理论和应用两个方向,软件学院也有分方向,不过只是平台不同,都是软件应用方面的。所以数学课上,我们系理论方向的学生上的是数分、高代,比较难,而我们应用的和软件学院一样上高数、线代。
计算机科学相对就有更数学、更学术的方向,比如去研究数理逻辑啊什么的,软件学院则更偏应用。
还是拿我校为例(不同学院还是不一样的),我校的软件学院要上好几门高级编程语言的课C/C++/JAVA等,而我们当时就上了一个学期的C,再加5周小学期的另外一门,汇编不算高级语言。两边应该都上。
当然,上面说的区别其实,和没有区别差不多的,同一个学校的这两个系或专业或学院的学生,用人单位除非主管是本系的前辈,不然全看实力和人缘。
另外,软件学院可能应该更偏应用,我们学校计算机系很多教授都是图像方向的,应用范围小,所以软件学院和公司的联系比较密切,就我所知就有几家公司和学院签合约了,我大计算机系没听说过。学生可能交的钱多了,所以做起项目来比较认真,项目经验也许就比我大计算机系一堆无所事事的家伙多,所以软件学院去公司实习比我大计算机系要顺利得多,找IT工作也就顺利一点。
当然,上述都是我个人对本校的情况的估计,外校情况不同,也不能保证自己的认识就是对的。
怎么查询已订的飞机票?
1、如果是购买的纸质票,在窗口办理的,一般只能通过拨打该航空公司的客服电话查询。
2、电子票可以上该航空公司的网站查询。一般需要输入证件号,或票号就可以查询到了。也可以通过客服电话查询。
3、或者从一些专业查询电子客票真伪的网站查询。
4、也可以拨通114查询。现在114也有与飞机票有业务,预订以及查询都可以。
扩展资料
常见问题
手续办理
办理乘机手续时间的规定:航班起飞前一个半小时(90分钟)开始办理乘机手续至航班起飞前30分钟停止办理手续,请旅客握时间按时办理。
为什么机场提前30分钟停办乘机手续?在办完乘机手续后到飞机滑行到跑道头的30分钟内,民航工作人员要进行三个方面的工作:
一、值机人员要结算旅客人数,行李数件、重量、货物件数、重量、邮件等,并根据以上数据进行载重平衡的结算(载重平衡结算要画平衡图,计算重心位置),然后做好舱单,送上飞机交机组,飞机方可放行,这些工作大约需要10分钟左右;
二、在进行上述工作的同时,广播室通知旅客开始登机,服务员要核对登机牌,清点人数。旅客上了飞机后,乘务员要再次清点人数,防止有人漏乘,然后进行飞机起飞前的准备工作,给旅客讲解有关注意事项和机上设备使用方法,检查行李架上的行李是否放好,旅客的安全带是否系好等工作。搬运队还要往机舱内装行李、货物、邮件,以上工作虽是同步进行,但全布完成需要10分钟;
三、剩下10分钟是飞机关好舱门滑行到跑道起始点所需的时间。所以飞机离开地面30分钟应停办乘机手续,否则航班就会延误。
参考资料中国国际航空公司飞机票查询
转载请注明出处51数据库 » 软件工程飞机订票系统 软件工程航空公司机票预定系统