当前位置:文档之家› 模拟售票系统java编程

模拟售票系统java编程

模拟售票系统java编程
模拟售票系统java编程

/*

项目:用多线程设计一个模拟火车站售票大厅的工作情形。

问题描述:火车站有许多售票窗口,有些开放,有些不开放。顾客进入火车站售票厅后,到某个售票窗口排队等候,排到了就办理业务,然后离去。如图2.1所示。

*/

/*

*共有五个类:

*SimulateRailwayStation:具体运行主类;

*RailwayStation:火车站售票大厅类

*Agent类:代表火车站售票窗口类;

*Customer类:顾客类;

*List类:存储类

*/

import java.util.Date;

import java.awt.*;

import java.awt.event.*;

public class SimulateRailwayStation extends Frame implements ActionListener

{

//预设火车站售票大厅有10个售票窗口

protected static final int NUM_AGANTS=10;

//预设目前正在售票的窗口为6个

protected static final int NUM_INITIAL_AGANTS=6;

//设置每个窗口办理售票业务的时间

protected static final int BUSINESS_DELAY=6000;

//设置有10辆火车的座位可以出售

protected static final int MAX_TRAIN_NUM=10;

//设置每个窗口从一个顾客完成到下一个顾客开始的时间间隔

protected static final int MAX_NO_CUSTOMERS=200;

//定义按钮,手动添加顾客。

private Button addcus=new Button("添加顾客");

//定义按钮,模拟顾客自己离开

private Button delcus=new Button("顾客离去");

//定义按钮,增加售票窗口

private Button addagent=new Button("增加售票窗口");

//定义按钮,关闭售票窗口

private Button delagent=new Button("关闭售票窗口");

//10辆火车班次的信息

protected static String[] train_num={"南京->北京,46次","南京->上海,34次","南京->福州,231次","南京->杭州,65次","南京->武汉,112次","南京->成都,77次","南京->天津,21次","南京->徐州,134次","南京->乌鲁目齐,335次","南京->合肥,456次"}; //与上面的信息对应的每辆火车的票务信息

protected static int[] tickets={50,70,50,50,50,120,60,100,50,50};

//实例化火车站售票大厅类

private RailwayStation railwaystation=new RailwayStation();

//建立窗体适配器,能关闭窗口

private class WindowCloser extends WindowAdapter

{

public void windowClosing(WindowEvent we)

{

railwaystation.stop();

System.exit(0);

}

}

//构造方法,完成界面初始化

public SimulateRailwayStation()

{

super("Simulation RailwayStation");

//设置面板

Panel buttons=new Panel();

buttons.setLayout(new FlowLayout());

//在面板中添加按钮

buttons.add(addcus);

buttons.add(delcus);

buttons.add(addagent);

buttons.add(delagent);

//对按钮设置监听

addcus.addActionListener(this);

delcus.addActionListener(this);

addagent.addActionListener(this);

delagent.addActionListener(this);

//对窗体适配器设置监听

addWindowListener(new WindowCloser());

setLayout(new BorderLayout());

add("North",railwaystation);

add("South",buttons);

setSize(500,200);

validate();

pack();

show();

//调用火车站售票大厅类的start()方法,开始售票工作

railwaystation.start();

}

public void actionPerformed(ActionEvent ae)

{

if(ae.getSource()==addcus)

{

//新增顾客

railwaystation.generateCustomer();

}

else if(ae.getSource()==delcus)

{

}

else if(ae.getSource()==addagent)

{

//增加售票窗口

railwaystation.addAgent();

}

else if(ae.getSource()==delagent)

{

//关闭服务窗口

railwaystation.retireAgent();

}

}

public static void main(String[] args)

{

SimulateRailwayStation smlt=new SimulateRailwayStation();

}

}

/* 火车站售票大厅类 */

class RailwayStation extends Panel implements Runnable

{

//定义售票窗口数组Agent[]

protected Agent[] agent=new Agent[SimulateRailwayStation.NUM_AGANTS];

protected Label[] labelAgent=new Label[SimulateRailwayStation.NUM_AGANTS]; protected Label labelQueue=new Label("正在等待的顾客数:0");

protected Label labelServed=new Label("已经服务的顾客数:0");

//定义可以进行售票服务的窗口

protected int numAgents=SimulateRailwayStation.NUM_INITIAL_AGANTS;

//定义存放已服务过的顾客数

public static int numCustomerServered=0;

private Thread thread=null;

public RailwayStation()

{

setup("各窗口实时状态显示:");

}

//显示各售票窗口的实时工作状态

private void setup(String title)

{

//定义售票窗口的工作状态面板

Panel agentPanel=new Panel();

agentPanel.setLayout(new GridLayout(SimulateRailwayStation.NUM_AGANTS,1)); //各售票窗口的工作状态

for(int i=0;i

{

if(i

{

labelAgent[i]=new Label("窗口"+(i+1)+":空闲中...");

agentPanel.add(labelAgent[i]);

//实例化售票窗口

agent[i]=new Agent(i);

//售票窗口开始售票服务

agent[i].start();

}

else

{

labelAgent[i]=new Label("窗口"+(i+1)+":暂停服务!");

agentPanel.add(labelAgent[i]);

}

}

//定义顾客候票情况面板

Panel otherPanel=new Panel();

otherPanel.setLayout(new GridLayout(2,1));

otherPanel.add(labelQueue);

otherPanel.add(labelServed);

setLayout(new BorderLayout());

//显示各售票窗口的工作状态安排在下部

add("South",agentPanel);

//显示顾客候票状况安排在中部

add("Center",otherPanel);

//显示调用本方法 setup()的参数安排在上部

add("North",new Label(title));

}

//开始工作

public void start()

{

if(thread==null)

{

thread =new Thread(this);

//启动线程

thread.start();

}

}

//线程,调用显示实时售票状况的updateDisplay()方法

public void run()

{

while (true)

{

this.updateDisplay();

}

}

//实时处理售票的状况

public void updateDisplay()

{

//定义在本窗口等候的顾客数

int totalSize=0;

//对可以服务的窗口进行循环

for(int i=0;i

{

//getCIdOfHandling()方法为正在办理业务的顾客编号

if(agent[i].getCIdOfHandling()!=0)

{

//统计在本窗口等候的顾客数

totalSize+=agent[i].getCusCountOfQueue();

String s="窗口"+(i+1)+":正在办理顾客"+agent[i].getCIdOfHandling()+"业务"; //显示在本窗口等候的顾客数

if(agent[i].getCusCountOfQueue()>0)

labelAgent[i].setText(s+"["+agent[i].getCusOfQueue()+"正在等待]");

else

labelAgent[i].setText(s);

}

else

{

labelAgent[i].setText("窗口"+(i+1)+":空闲中...");

}

}

for(int i=numAgents;i

labelQueue.setText("正在等待的顾客数:"+totalSize);

labelServed.setText("已经服务的顾客数:"+numCustomerServered); }

//火车站售票窗口关闭

public void stop()

{

thread=null;

for(int i=0;i

{

//停止售票服务

agent[i].halt();

}

}

//添加窗口

public void addAgent()

{

if(numAgents

{

agent[numAgents]=new Agent(numAgents);

agent[numAgents].start();

numAgents++;

}

}

//关闭窗口,该方法暂时没有使用

public void retireAgent()

{

if(numAgents>1)

{

agent[numAgents-1].halt();

numAgents--;

}

}

//接待顾客的方法

public void generateCustomer()

{

//所有工作窗口的队列中,至少有一个顾客在排队时为真.

boolean allAgentQueueHasOne=true;

/* 如果所有正在工作窗口的队列中至少有一个顾客在排队,

就把新顾客添加到队列最少的那个队.

否则,就把顾客添加到没有业务处理的窗口中.

*/

//对可以服务的窗口进行循环

for(int i=0;i

{

//如果本窗口队列中没有顾客

if(agent[i].getCusCountOfQueue()==0 && agent[i].getCIdOfHandling()==0) {

//添加新顾客

agent[i].joinNewCustomer(new Customer());

allAgentQueueHasOne=false;

break;

}

}

//如果所有工作窗口都有顾客在等候

if(allAgentQueueHasOne)

{

//定义变量index存放最少等候顾客数的窗口编号

int index=0;

//对可以服务的窗口进行循环

for(int i=0;i

{

if(agent[i].getCusCountOfQueue()

(见教材)

}

}

//往最少顾客的窗口加新顾客

agent[index].joinNewCustomer(new Customer());

}

}

}

/*火车站售票窗口类 */

class Agent extends Panel implements Runnable

{

//窗口开放标志

private boolean running =false;

private int ID=-1;

private int numCustomers=0;

private int handlingCId=0;

//该窗口中排队的顾客

private List customersofqueue=new List(); //该窗口中已办理的顾客

private List customersofhandled=new List(); private Label labelHandling=new Label();

private Label labelThisQueue=new Label();

private Thread thread=null;

//构造方法,定义售票窗口编号

public Agent(int ID)

{

(见教材)

}

// 售票窗口开始售票服务

public void start()

{

if(thread==null)

{

running=true;

thread =new Thread(this);

//启动线程

thread.start();

}

}

//停止售票服务

public void halt()

{

running=false;

}

//获得正在办理业务的顾客ID

public int getCIdOfHandling()

{

return handlingCId;

}

//从本窗口的队列中获得将要服务的顾客

public Customer requestCustomerFor()

{

if(customersofqueue.getSize()>0)

{

Customer c=(Customer)customersofqueue.get(0);

customersofqueue.delete(0);

return c;

}

else

{

return null;

}

}

//本窗口已办理业务的顾客数

public int getCusCountOfHandled()

{

return numCustomers;

}

//本窗口已办理业务的顾客列表

public String getCusOfHandled()

{

if(customersofhandled.getSize()>0)

{

StringBuffer sbuf=new StringBuffer();

sbuf.append("顾客");

for(int i=0;i

{

sbuf.append(((Customer)customersofhandled.get(i)).getCustomerId()); if(i!=customersofhandled.getSize()-1)

sbuf.append(",");

}

return sbuf.toString();

}

else

{

return new String("");

}

}

//在窗口的队列中添加新顾客

public synchronized void joinNewCustomer(Customer c)

{

if(!customersofqueue.isFull())

{

customersofqueue.add(c);

System.out.println("join to agent"+(this.ID+1));

}

}

//获得本窗口的队列中的顾客列表

public synchronized String getCusOfQueue()

{

if(customersofqueue.getSize()>0)

{

StringBuffer sbuf=new StringBuffer();

sbuf.append("Customer");

for(int i=0;i

{

sbuf.append(((Customer)customersofqueue.get(i)).getCustomerId()); if(i!=customersofqueue.getSize()-1)

sbuf.append(",");

}

return sbuf.toString();

}

else

{

return new String("");

}

}

//获得本窗口的队列中的顾客数

public int getCusCountOfQueue()

{

return customersofqueue.getSize();

}

//本窗口队列中的顾客未办理业务离去

public void CustomerLeft()

{

if(customersofqueue.getSize()>0)

customersofqueue.delete(customersofqueue.getSize()-1);

}

//顾客办理完业务离去

public void releaseCustomer(Customer c)

{

numCustomers++;

customersofhandled.add(c);

}

//本窗口在不断的处理业务

public void run()

{

while (running)

{

try

{

thread.sleep((int)(Math.random()*SimulateRailwayStation.MAX_NO_CUSTOMERS)+1000); Customer customer=requestCustomerFor();//获得服务的顾客

if(customer!=null)

{

handlingCId=customer.getCustomerId();//获得顾客ID

//办理业务时间:主要是询问等

thread.sleep((int)(Math.random()*SimulateRailwayStation.BUSINESS_DELAY)/2); synchronized(this)

{

//检索对应的票务信息

for(int i=0;i

{

if(customer.getCustomerWilling()==i+1)

SimulateRailwayStation.tickets[i]--;//对应票数减一

}

}

//办理业务时间:打印票、交钱等

thread.sleep((int)(Math.random()*SimulateRailwayStation.BUSINESS_DELAY)/2); releaseCustomer(customer);//顾客办理后离开。

RailwayStation.numCustomerServered+=1;//服务顾客数+1

}

else

{

handlingCId=0;

}

}

catch(InterruptedException ie)

{

System.out.println("Teller Exception: "+ie);

}

}

}

}

/*顾客类*/

class Customer

{

//顾客开始排队的时间

private Date created;

//顾客ID,每个顾客都有唯一的ID,不能重复

private static int cId;

//顾客购买票务的意愿,比如去哪里,班次等.

private int customerwilling=0;

public Customer()

{

//顾客进入车站时就已经想好了买什么票,并且是火车站能够提供的. customerwilling=(int)(Math.random()*10+1);

created=new Date();

++cId;

System.out.print("new Customer"+cId+",");

}

//获得顾客ID

public int getCustomerId()

{

return cId;

}

//获得顾客买票意愿

public int getCustomerWilling()

{

return customerwilling;

}

//获得顾客从进入火车站到离开窗口的时间

public long getWaitTime(Date now)

{

return now.getTime()-created.getTime();

}

}

/*构造一个队列容器,每个服务的窗口都有一个,

顾客总是先进入这个队列容器后,再进行窗口的业务处理.*/

class List

{

//定义队列最大容量:100人

private int maxItems=100;

private int numItems=0;

private int ID=-1;

private Object[] list=null;

public List()

{

list=new Object[maxItems]; }

public List(int maxItems)

{

this.maxItems=maxItems;

list=new Object[this.maxItems]; }

//在队列中增加顾客

public void add(Object obj)

{

list[numItems++]=obj;

}

//在有人离开队列

public void delete(int pos)

{

for(int i=pos+1;i

list[i-1]=list[i];

}

numItems--;

}

//得到队列中指定的人

public Object get(int pos)

{

return list[pos];

}

//队列中的人数

public int getSize()

{

return numItems;

}

//队列是否满了(超过100人)

public boolean isFull()

{

return (numItems>=maxItems); }

}

Java程序设计课程设计学生考勤系统

信息与电子工程学院 课程设计报告 Java程序设计课程设计课程名称: 名:姓 学号: 级:班 指导老师:完成时间:月6年2016 学生考勤系统 问题描述:以班为单位,可以以日期为标识记录每个学生的考勤情况(正常、旷课、请假、迟到、. 早退)、可以查看某个学生的考勤情况、可以查看全班的考勤情况 0.5需求分析(标题,黑体,小四,段前段后行)1.(1)用户需求描述:

学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。 在线请假中,学生可以随时查看请假的进展情况。另外学生还可以修改本人的密码。 教师用户:任课老师对本系统的主要需求是查看班级信息,查看学生信息。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。另外,教师还可以修改自己的密码。 (2)系统功能划分: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这两大模块。 在线请假模块: 该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。 考勤管理模块: 该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E表格,最后方便统计整个学期本课程所有学生的考勤情况。 2.总体设计 ; 功能结构图 : 图ER : 数据库设计数据库需求分析1 学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教 学生表:学生流水号、师用户两类用户的功能模块。然后,据此分析出数据需求。 请假表:请假开始时间、请学生学号、学生名字、性别、宿舍号、联系方式、密码。、ID假结

铁路互联网购票须知

铁路互联网购票须知 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

铁路互联网购票须知1. 用户注册 “网站”)只对注册用户提供网上购买火车票服务(以下简称“购票”)。互联网用户在网站购票前,须先注册为网站用户(以下简称“用户”)。 用户注册时,须准确提供真实信息,以保证顺利购票乘车及享受网站提供的各项服务。一张有效身份证件只能注册一个用户。 购票时,凭用户自行设定的用户名和密码登录。 如果您申请注册时,网站提示身份信息重复,请重新确认所提供的信息准确、完整。如果还不能被注册,请准确、完整填写“铁路客户服务中心用户身份核对申请表”(参阅“网上购票常见问题”的“注册用户时,系统提示身份信息重复怎么办” 2. 有效身份证件 在网站,用户可以为自己购票,也可以为他人购票,但均须准确填写乘车人的真实有效身份证件信息。 网站接受的有效身份证件是指: 2.2.1 中华人民共和国居民身份证。 2.2.2 中华人民共和国港澳居民来往内地通行证。 2.2.3 台湾居民来往大陆通行证。 2.2.4 按规定可使用的有效护照。 购买儿童票的乘车儿童没有办理有效身份证件的,须使用同行成年人的有效身份证件信息,并于开车前换取纸质车票后乘车。 用户使用虚假身份证件购买车票或进站乘车的,后果自负。因此造成铁路运输企业或第三方损失的,将追究其法律责任。

3. 网站服务时间 网站每日7:00~23:00提供服务。 在网站购票、改签和退票须不晚于开车前2小时。 网站车票预售期与车站公告一致。 4. 购票范围 以网站可售票范围为准。 5. 购票数量 一张有效身份证件同一乘车日期同一车次限购一张车票,但除外。 同一笔订单可购买的车票数量不超过5张。 6. 网站购票及支付 网站可以购买全价票、儿童票、学生优惠票(简称“学生票”)、残疾军人或伤残人民警察优待票(简称“残疾军人票”)。 6.1.1 儿童票:按照《铁路旅客运输规程》规定,随同成人旅行身高~1.5米的儿童,享受半价客票、加快票和空调票(以下简称儿童票)。超过1.5米时应买全价票。每一成人旅客可免费携带一名身高不足1.2米的儿童,超过一名时,超过的人数应买儿童票。儿童票的座别应与成人车票相同,其到站不得远于成人车票的到站。免费乘车的儿童单独使用卧铺时,应购买全价卧铺票,有空调时还应购买半价空调票。 6.1.2 学生票:按照《铁路旅客运输规程》等有关规定,在普通大专院校(含国家教育主管部门批准有学历教育资格的民办大学)或军事院校、中等专业学校、技工学校就读,没有工资收入的学生、研究生,家庭居住地和学校不在同一城市时,凭附有加盖院校公章的减价优待证的学生证,每年可享受家庭至院校(实习地点)之间四次单程优惠价格票(以下简称学生票)。学生票乘车时间限定为每年的暑假6月1日至9月30日、寒

Java语言程序设计课程设计指导书

《JAVA程序设计基础课程设计》指导书 课程名称:JAVA程序设计基础课程设计 设计题目:班级通信录电子万年历简单计算器聊天小程序 图书管理系统学生成绩管理系统英汉电子小字典 使用班级:通信151-2 指导教师:宫淑兰、张明玉 一、课程设计的目的和要求 1、通过面向对象程序设计课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出来,并掌握继承与派生,基类、虚函数和多态性的概念。 2、通过这次课程设计掌握面向对象的编程思想,为后续课程打下基础。 3、培养学生实际操作能力和团结协作能力,为以后的工作打下坚实的基础。 二、课程设计内容 运用Java语言描述各种类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。 不得从网上下载或者抄袭别人的资料,一经发现,课程设计不及格。 三、课程设计进度表 时间为一周,大致划分如下: 第一天布置任务及分组,总体需求分析,编写相关文档,设计说明,查找资料第二天基类、各派生类设计及代码实现,各模块的编程设计 第三天各模块的调试与修改,系统组装,程序总调试,修改 第四天~第五天撰写课程设计说明书,课程设计检查与答辩 四、课程设计步骤与方法 1、需求分析:为提出的问题找出解决的办法和思路。用自顶向下的方法创建主程序和子程序,控制对象间的相互作用。 2、根据需求,设计系统功能模块,并设计相应的类结构。 3、根据基本思路,确定输入和输出,设计程序的算法。

铁路网上售票系统数据库设计

目录 《数据库课程设计》论文............................................................... 铁路网上售票系统项目开发背景:.................................. 错误!未定义书签。 铁路网上售票系统的总目标是:.................................... 错误!未定义书签。 项目开发的意义:................................................ 错误!未定义书签。1.需求分析. (2) 需求分析阶段目标和任务 (2) 需求分析阶段目标 (2) 需求分析阶段任务 (2) 需求分析成果 (3) 流程图 (4) 数据字典 (5) 2.数据库结构设计 (5) 概念设计 (5) 分E-R图建立 (6) 全局/整体E-R图 (6) 逻辑设计 (6) 建立关系模式 (7) 关系模式规范化处理 (7) 用户子模式建立 (7) 关系模式逻辑结构定义....................................... 错误!未定义书签。3.数据库物理设计.................................................. 错误!未定义书签。 物理设计阶段目标和任务......................................... 错误!未定义书签。 数据存储方面.................................................... 错误!未定义书签。 建立索引的原则............................................. 错误!未定义书签。 建立索引................................................... 错误!未定义书签。 系统功能模块图............................................. 错误!未定义书签。4.数据库实施与测试................................................. 错误!未定义书签。 数据库实施..................................................... 错误!未定义书签。 数据库及数据库对象建立..................................... 错误!未定义书签。 数据入库................................................... 错误!未定义书签。 数据库测试..................................................... 错误!未定义书签。5.总结............................................................. 错误!未定义书签。6.附录............................................................. 错误!未定义书签。 附录1:......................................................... 错误!未定义书签。 附录2 ........................................................... 错误!未定义书签。 附录3: (18)

JAVA航空订票系统

2013暑期java认识实训航空订票系统

目录 1 前言 (2) 1.1编写目的 (2) 1.2编写背景 (2) 1.3 目标 (2) 1.4 用户的特点 (3) 1.5 课题研究背景 (3) 1.6 课题研究意义 (4) 2 需求分析 (4) 2.1 任务和要求 (4) 2.1.1 系统的总体设计 (4) 2.1.2 系统功能 (4) 2.1.3 任务详情 (5) 2.1.4 任务分配 (6) 2.2 运行环境 (7) 2.3 开发工具 (7) 3 分析和设计 (7) 3.1 系统分析及设计思路 (7) 3.1.2 系统的可行性 (7) 3.1.3 语言可行性的分析 (7) 3.2 主要类图 (8) 3.3 系统流程图 (10) 3.3.1 用户登录功能的流程图 (11) 3.3.2 订票功能流程图 (12) 3.3.3 退票流程图 (13) 3.3.4 管理员登录流程图 (13) 3.3.5 修改航班流程图 (15) 3.3.6 增加航班流程图 (16) 3.3.7 业务流程图 (16) 3.4创建数据库 (17) 3.5 建表 (17) 4 具体代码实现(主要源代码) (19) 5 课程设计总结 (20) 5.1 程序运行结果或预期运行结果 (20) 5.2 实训总结 (27) 参考文献 (28) 致谢 (28)

1 前言 本航空订票系统是基于java开发的,根据现今航空业的飞速发展,为了缓解航空公司对机票管理的压力而开发的这个订票系统。 1.1编写目的 本需求分析是为了开发‘航空售票系统’而编写,使分析员、程序员、测试员、和最终用户能更好的理解和使用该系统。本需求分析不仅是整个软件开发的依据,对以后的维护工作也起着指导性作用,同时也是测试计划和用户手册的编写依据。 1.2编写背景 1.软件系统名称:航空售票系统 2.任务提出者: 3.用户:XX航空公司,旅客 4.实现:XX航空公司数据库 5.构建平台:Windows XP及以上系统,其数据库mysql SEVER 5.2。 1.3 目标 该软件开发是为了提高公司员工的工作效率和更好的对乘客服务。 1、提高日常售票事务处理速度;

航空售票管理系统

摘要 伴随着经济的不断发展,必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的售票方式已经难以满足快节奏, 高效率的现代生活需求,这就要求航空公司要有一套好的售票数据库系统。 一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,但更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。航空售票管理系统主要采用Delphi 7.0做为开发工具,进行开发与设计的。本系统的使用界面具有十分人性化的特征,具有方便的查询功能,对售票、网上订票等方面的操作应简单易行,并且能够具有较好的稳定性。 关键词: 航空;售票;网上订票;管理系统;数据库;SQL语言。

目录 1.开发一个航空售票管理系统的背景和意义 (1) 1.1.传统售票方式的回顾和特点分析 (1) 1.2.航空售票管理系统的应用现状和前景展望 (1) 2.用计算机开发一个航空售票管理系统的可行性分析 (1) 2.1.技术可行性 (1) 2.2.经济可行性 (2) 2.3.法律可行性 (2) 3.开发环境的选择 (3) 3.1.Delphi 7.0简介 (3) 3.2.开发工具的选择 (3) 4.航空售票管理系统的需求分析 (3) 4.1.系统分析 (4) 4.2.系统功能模块设计 (4) 4.3.功能子模块分析 (5) 4.3.1.网上订票模块 (5) 4.3.2.用户查询模块 (5) 4.3.3.用户订票模 (5) 4.4.后台管理系统 (6) 4.4.1.后台管理系统子模块 (6) 4.5. 民航售票管理系统的顶级数据流程图 (8) 4.6. 民航售票管理系统一级数据流图 (9) 4.7. 数据字典定义 (10) 4.7.1.数据项定义 (10) 4.8.E/R模型 (13) 5.详细设计 (14) 5.1.系统的总体流程图 (14) 5.2.系统各模块的实现 (15) 5.2.1.系统登录窗口 (15) 5.2.2.主界面窗口 (16) 5.2.3.信息操作模块 (17) 5.2.4.送票员模块 (22) 5.2.5.员工管理模块 (23) 5.2.6.系统模块 (24) 5.2.7.售票员模块 (25) 5.2.8.前台订票模块 (26)

JAVA程序设计课程设计指导书

JA V A程序设计课程设计指导书 一、课程设计的目的与要求: 1.掌握JA V A语言中面向对象的概念,并能在程序中熟练运用。 2.了解面向对象程序设计(JA V A)的基本概念以及运用面向对象技术进行程序设计的基本思 想。 3.能正确编写和调试JA V A程序。 4.了解在JA V A环境下进行程序设计的基本思想和方法。 二、设计内容 2.1项目一:项目描述与设计要点(数据结构算法要求较高) 1.设计一个连连看的游戏程序。 2.在JAVA环境下,将上述程序使用GUI、数据结构等内容完成 3.设计思路: (1)界面设计 1)初始测试界面可以考虑使用简单的按钮来代表连连看游戏中的图标。 2)布局可以考虑使用GRID方式。 3)设计菜单选择连连看难度等内容,具体可参照QQ连连看,也可自定义。 4)考虑完善界面,例如图片、声音、动画等。 (2)代码设计 1)本设计的核心为练练看算法的设计,可以考虑数据结构中的图的遍历章节,合理设计 算法,将界面中各按钮的分布映射入数学矩阵进行路径规划。(可以上网搜索相关算法)。 2)完成连连看游戏的图形、算法等代码的设计。 3)有能力的同学可以考虑网络对战,设计SOCKET服务器,使得CLIENT之间通信是否已完 成游戏。 4.实验步骤(包括操作方法、数据处理) (1)界面设计 (2)算法设计 (3)代码设计 (4)网络通信设计 2.2项目二:项目描述与设计要点(计算机图形、网络编程要求较高) 1.一个类似于电子白板的“你画我猜”游戏设计(若不知道此游戏,请上网查找),游戏要求 一方绘图后通过网络将绘图内容显示于另外一方界面中,由另外一方猜测绘制的内容,并通过键盘输入告知绘图方。 2.在JAVA环境下,将上述内容设计成为应用程序。

火车票网上售票系统开题报告(最新整理)

一、选题的目的、意义和研究现状 (一)选题的目的和意义 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用? 作为计算机应用的一部分,使用计算机对火车信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速?查找方便?可靠性高?存储量大?保密性好?寿命长?成本低等?这些优点能够极大地提高火车信息管理的效率,也是企业的科学化?正规化管理,与世界接轨的重要条件? 本论文主要阐述一个功能比较强大的火车票订购系统的后台操作过程及一些关键技术?该系统信息来源主要由管理员添加,方便火车票管理员的查询,用户可以通过查询到相关的火车票信息,选择是否适合自己,也可以在网上直接订票,省时省力?由于本系统的开发以节省资源为首,充分利用网络资源,所以本火车票订购上所看到的火车票信息均来自互联网? (二)选题的研究现状 中国现在拥有非常先进、发达的铁路系统,但目前的售票系统还是上世纪60年代开发的。2003年以后,中国铁路开始加快现代化建设,近几年来中国的铁路售票系统已经逐步走向现代化,订票全路联网,实现了信息化管理。但是铁路历史由来的“老大难”问题——售票问题,一直无法得到解决。每年的各大节假日,全国人民总会为买票问题而苦恼,一部分人更是无缘车票。目虽然前的电话订票,也极大地方便了旅客,然而最贴近现代化发展水平的还是网上订票项目,国家也积极推进。中国铁路物资总公司决定拿出专项经费用于开发最快捷最便民的火车网上订票系统,增加买票途径,以解决这多年来的“买票难”问题,因此研发一个好的火车网上售票系统对于我国惠民政策具有很大意义。

(强烈推荐)火车票网上订票系统系统毕业论文设计

火车票网上订票系统系统 摘要 本文针对火车站的订票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车站网上订票系统。并运用数据流图和数据字典、E-R图和数据库逻辑结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。 工具软件利用JAVA 开发工具和SQL Server 2000数据库来开发这个火车站网上订票系统。该系统要解决的是火车站网上订票工作所要解决的问题,可以满足火车站网上订票的基本要求,包括查询、订票、退票等三个方面的功能。该系统能运用到火车站订票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。 关键词:信息管理,火车售票,JAVA,SQL Server2000

目录 第一章引言 (1) 第二章需求分析 (2) 第三章总体设计 (3) 第四章详细设计与实现 (6) 第五章系统测试 (12) 结论 (13) 参考文献 (14)

第一章引言 信息化的时代,我们除了在跟上时代的节拍外,更多的时候是一种理念的提升与升华。存在既有存在的道理,就像为什么之前我们有了电视,但是现在还需要有电脑一样。现在绝大多数公司都会借助电脑去工作,为什么,因为借助它让我们提高我们的办事效率,让我们的管理模式变得更简易更方便。CRM的产生也是同样的道理,我们在自己打好客户关系外,总是需要借助一个工具来帮我们管理的,如果是找人管理的话,那么多的数据不见得都能够记下来,而且也存在一些矛盾让你后期不便于管理,但是借助软件工具我们就可以省事省时省力了。随着信息技术的飞速发展和客户驱动市场的形成,制造业面临的竞争越来越激烈,许多企业通过ERP 、SCM等管理信息化系统强化了财务、生产、物流、产品管理后,发现自己的营销与服务能力的不足,特别是那些快速发展的企业,在全国各地建立了营销与服务网络,人员越来越庞大,营销费用增长迅速,但业绩提升缓慢,而且客户的满意度下降,竞争对手比自己跑得越来越快,各层次沟通不畅信息衰减严重。打造一个富有战斗力的营销服务体系,成本突破管理与发展瓶颈的明智选择,CRM强调建立以客户为中心的现代企业,以客户价值来判定市场需求,对于正在转变战略从“产品中心”向“客户中心”过渡的企业无疑是一拍即合,正是基于此,各大公司才决定制作CRM系统。

航空订票系统开发说明文档

航空订票系统开发说明文档V1.0 姓名:张敬学号:1203121790 1开发环境搭建过程 1.1 软件下载 开发环境所使用的软件名称及其版本信息如下表所示: 软件名称版本信息 JDK jdk1.7.0_01 Tomcat 6.0.35 MyEclipse 10.0 Axis2 axis2-1.6.2-bin axis2-1.6.2-war axis2-eclipse-codegen-plugin-1.6.2 axis2-eclipse-service-plugin-1.6.2 1.2 搭建环境 1. 安装JDK; 环境变量配置如下图1-1: (1)JA V A_HOME:新建一个变量名JA V A_HOME,并把变量值写成C:\Program Files\Java\jdk1.7.1(装JDK时的路径); (2)配置PATH:在系统变量里编辑一个变量名Path,并在其末尾处添加.;%JA V A_HOME%\bin (3)配置CLASSPATH:在环境变量里新建一个变量名CLASSPATH并将变量写成.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar

图1-1 2. 安装并配置Tomcat相关参数; 将tomcat压缩文件apache-tomcat-6.0.35.zip中的内容解压缩到D:\apache-tomcat-6.0.35下,然后安装配置jdk环境变量的方法配增加系统变量。 变量名:TOMCAT_HOME;变量值:D:\apache-tomcat-6.0.35。然后修改系统变量CLASSPATH添加%TOMCAT_HOME%\common\lib\servlet-api.jar;同时修改系统变量Path,添加%TOMCAT_HOME%\bin 3. 安装MyEclipse,并在其中配置JDK和Tomcat相关参数; 4. 将axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2放至Myeclipse安装目录下的dropins子目录(D:\worksoft\myeclipse\dropins),启动MyEclipse,自动安装; 将axis2.war包拷贝到Tomcat安装目录下的webapps子目录; 启动Tomcat服务器,打开浏览器,输入并访问地址,成功得到Axis2部署成功的信息。如下图1-2所示。

java程序设计课程设计

武汉科技大学城市学院 课程设计报告 课程设计名称JAVA程序设计课程设计 题目ACM 院系信息工程学部 专业软件工程 班级15级3班 姓名洪汉山 指导教师于海平 2017 年 6 月23 日

课程设计评分表

JA V A编程课程设计指导书 学时:1周,学分:1 1.课程设计目的:JAVA编程课程设计属于软件开发类课程设计。该课程设计培养学生熟练应用当前主流的JAVA软件开发语言,检验软件的设计、编码与测试,具备较强的JAVA语言软件开发能力。 2.课程设计方式: (1)JAVA编程课程设计方式采取ACM测试的方式,利用所学的面向对象程序设计(JAVA)知识,培养学生具有分析应用问题的能力,能够独立完成应用程序的编制与调试工作。 (3)每个同学必须完成8-12道题,每题写出解题报告,解题报告内容:○1.题目标题○2.题目描述○3.解题思路○4.源码○5.小结 3.课程设计平台: eclipse或Myeclipse 4.课程设计考核方式 (1)学生独立提交软件设计作品和“课程设计报告书”,指导教师根据学生组提交的软件设计作品和“课程设计报告书”的质量,为学生组评定“优”“良”“中”“及格”或“不及格”; (2)根据各组学生所选题目的难易程度以及验收结果,为学生评定“优”“良”“中”“及格”或“不及格”。 “课程设计报告书”包括:课程设计项目名称,课程设计任务, 课程设计任务(功能)说明及功能模块图,数据库设计,各模块功能说明,使用的算法描述(如果需使用算法),各模块界面设计,各模块中关键代码段功能说明与代码行注释,测试说明,参考文献等。 5.参考文献 [1] 张思民. Java语言程序设计(第2版)[M].北京:清华大学出版社,2012.1 [2] 姜华. Java项目实战教程[M]. 北京:清华大学出版社,2012.9 [3] 陈喧. Java程序设计教程[M]. 北京:清华大学出版社,2011.5 [4] [美]Echel,B .Java编程思想(第四版)[M].北京:机械工业出版社,2007 [5] Michael Main. 数据结构:Java语言描述(第二版)(国外经典计算机科学教材)[M]. 北京:中国电力出版社,2007

火车票网上售票系统开题报告

、选题的目的、意义和研究现状

、研究方案及预期结果 (一)研究内容 本火车站网上订票系统可划分为用户和管理员两大模块。其中用户模块部分为用户在前台页面操作部分和管理员模块为后台管理以及对网站相关信息操作部分,其具体功能如图2.1所示。 火车票网上售票系统 用户模块管理员模块 图2.1火车票网上订票系统功能模块图 该火车票网上售票系统除了应具备用户模块注册、登录、验证功能的实现和管理员登 录、验证的原始账号设置以及对新增加的管理员授权设置功能以外,还应该具备的基本网站使用功能如下:

及时了解与统计,从而便于更方便更快捷的对铁道资源的及时调度和应对突发情况的有效方针的及时预定。同时该系统采用相对稳定的框架进行开发,便于日后的维护和使用,使用MVC结构则方便以后新功能的扩展以及现有功能的修改。 (三)基本理论 系统的前端开发部分主要采用jsp框架实现页面的动态效果,并采用Ajax技术与服务器进行交互,提供良好的用户体验功能。 各子系统中,用户的内容评论等采用标签实现;注册使用引入了jQuery的Ajax技术实现验证功能;另外,采用jQuery的控件可以实现表单验证等功能,使得界面的样式更加流畅。 对于后台管理整体采用MVC模式,整个系统采用了SSH技术使得整体各个功能模块进行很好的分类和明晰。JSP进行view层的构建,控制器采用Action的控制。通过实体类javabea n可以很好的进行数据交互。 (四)方法及技术路线 本系统信息量大,实现的功能复杂,应具有合理的信息存贮、管理、传输功能,对系统的处理能力、可性、安全性要求高。因此,总体设计应遵循以下原则: 1科学性:采用开发Web应用的先进、开放式的技术,实现基于数据库B/S体系结构的信息系统。 2?可靠性:系统应有足够的数据吞吐能力和合理的程序处理功能,在Web多并发用户大批量对数据查询、更新时,能稳定可靠地运行。 3?易维护性:应采用先进的程序设计模式,使程序模块结构合理,程序代码共享性好,可扩展、可维护性好。 4?实用性:系统功能应满足各类用户的功能需求。 5?易操作性:建立友好的用户界面,操作方便。 6?安全性:应采用合理的安全技术,保证服务器、用户关键数据传输等安全。 软件环境是一个系统开发的工具,它取决于开发人员对软件的熟悉程度,如果开发人员选择一个不熟悉的软件开发会大大增加开发系统所需要投入的成本,所以说选择软件环境也是很重要的。 操作系统:Win dows XP/Wi ndows7 数据库:MySQL 系统开发工具:myEclipse 软件开发语言:Java

java课程设计航空订票管理系统设计

《面向对象程序设计》 课程设计报告 题目: xx 专业: xx 班级: x 姓名: xx 指导教师: x 成绩: xx xx 年 x 月x 日 学号 xx xx

目录 1 设计内容及要求 (1) 1.1 设计任务与要求 (1) 1.2硬件可靠性 (1) 1.3系统运行的稳定性 (1) 1.4系统功能齐全、开放性好 (1) 2 需求分析 (2) 2.1 数据的输入 (2) 2.2 数据的修改 (2) 2.3 数据的删除 (2) 2.4 数据的查询 (2) 3 概要设计 (3) 3.1系统用例图 (3) 3.2用例描述 (3) 3.3 基本描述 (4) 3.4 功能 (4) 3.5 算法 (5) 3.5 流程逻辑 (6) 4系统数据结构设计 (11) 4.1 逻辑结构设计要点 (11) 4.2 物理结构设计要点 (11) 4.3 数据结构与程序的关系 (12) 4.4 数据库分析 (12) 4.5 程序系统的组织结构 (14) 6 系统运行效果与操作 (16) 参考文献: (36)

1 设计内容及要求 1.1 设计任务与要求 对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径,此外还具有重要意义: 1、改善航空公司服务质量; 2、创造和提升航空公司的品牌优势; 3、优化航空公司的服务流程; 4、提升信息化的水平; 1.2硬件可靠性 数据库服务器: 数据库服务器用于存放用户及航班信息等资料,配一台专用服务器,安装数据库SQL server2000。 1.3系统运行的稳定性 系统支持操作系统如下: Windows vista、Windows XP(服务器版本)(推荐)或Windows 2000,系统运行稳定可靠,可以保证365天*24小时的不间断运行,并安装杀毒软件,防止病毒的干扰,保证系统的运行稳定。 SQL Server数据库服务器版, 可以存储管理大量数据信息 1.4系统功能齐全、开放性好 订票,退票,查询,管理等业务,全部使用软件来控制,因此今后功能变动、业务改动很灵活。

影院网上订票系统需求说明书

影院网上订票系统网站需求说明书 计算机科学与技术2班 2012年9月29日

1.项目背景 电影,又称映画,是由活动照相术和幻灯放映术结合发展起来的一种现代艺术,有着复杂繁多的科系。 目前一般大众可以经由网际网络进行许多商业活动,例如购书、订花、购物、游戏等,其中也包含订票(例如机票、火车票、音乐剧入场券等)。其中,在电影院方面也有业者推动相关服务,如:华纳威秀、环球影城、国宾戏院等,已开始使用网际网络提供观众放映影片相关资讯,如场次时间表、影片预告及简介、电影院资讯等。 从网际网络到电子商务的蓬勃发展来看,类似于淘宝网上商城那种从开网店,在网上摆放商品,客人挑选物品再下订单,店主发货等一系列流程已经很成熟了。相对于淘宝网上商城而言,目前电影院的网络服务似乎仍有不足之处。对于使用者而言,影片的相关讯息介绍、预告片都是上百度、谷歌等网上引擎搜索得知,某个城市的特定影城往往不能提供全方位的详细信息,特别是不能满足观众对影片场次时间的查询。 社会生活节奏的加快,许多社会人士忙于工作等繁琐事务,每次想去影城观看电影都要经过现场查询最近热映的影片,每部影片的放映场次等信息,然后才能开始订票,而往往排队等候很长时间以后才发现自己要观看的那场影片的票已经售完,或是没有合适的观看座位。 电影业的蓬勃发展,必然引发的一个问题是群众对电影票需求的增大。特别是一些关注度很高的大片上映的时候,很多观众都反应电影票实在是很难购买,有些人就只能选择观看午夜场。在一些大城市规模很好的影城售票厅内,甚至出现要一大早起来排队去抢票的现象。还有些观众反应等那么长的队伍能买到票,但是都没有自由选择座位的权利。 这样的情况已经普遍的存在了,很多人纷纷提出影城应该提供最近热映的的影片讯息、快要上映的影片相关预告、每场电影的场次安排,以及每场次电影票的网上预订模式。 对基于WEB的电影院订票系统的研究,对于观众而言可以增强他们对各部影片的了解,对最新的影片上映动态的掌握,让他们对影片更加期待,尤其能在网上订票模式下使观众享受到不需要等待排队买票与自由选择座位的权利。通过网络轻松订票,从而减少许多因现场购票失败的客户,促使我国电影事业更好更快的发展。 2.项目范围 系统的开发和维护,提供配套的数据库。

航空客运订票系统

这是我上网搜的一个材料,大家看一下,我们这次课程设计用java语言来实现,大家仔细看一下项目需求分析,基本要实现的功能如下,大家自己也在网上下些资料,共享一下,人多力量大,好好研究研究项目,下周会聚集大家讨论一下,定下每个人要完成的任务,大家一定要仔细研究,到时候有什么要添加修改的都提出来,做到让项目完美。 航空客运定票系统应该为客户提供三个基本的功能:查询航线、客票预定和办理退票。 (一)查询航线: 能够根据客户提出终点站名输出相关的信息,包括航班号、飞机号、飞行日期、载员定额、余票量、已定票的客户名单(包括该客户的姓名、定票量、舱位等级)以及等候替补的客户名单(包括姓名和所需票量)、最近一天航班的日期和余票额; 由于航空公司的航班保持基本不变,所以应该采用顺序存储结构将各条航线的基本情况登陆在一张线性表上,按照终点站名有序排列。 (二)客票预定: 根据客户提出的要求(航班号和定票数额)查询该航班的余票情况。如余票能够满足客户的要求则为客户办理定票手续并输出相应的座位号;若该航班已经满员或余票额少于客户的定票额,则需重新询问客户需求。若需要可登记排队候补并留下客户的联系方式,不需要则退出。 在客票预定这一环节里将出现两个客户名单:已定票客户名单和需定票客户名单。两客户名单可分别由线性表和队列实现。为查找方便,已定票客户的线性表应按姓名有序,同时为了插入和删除方便,,应以链表作为存储结构。由于无法知道预约的人数,队列也应该以链表作为存储结构。 (三)办理退票: 根据客户提供的情况(日期航班),为客户办理退票手续,同时在系统中删除该客户的基本信息。然后查询该航班是否有人排队替补,首先访问排在第一的客户,若退票额能够满足他的要求,则为他办理定票手续,否则依次询问其他排队候补的客户。 从问题的提出可以看到,我们需要的只是能实现对数据的插入,删除,检索这样一个软件。由于乘客的数量较大并且不固定,因此选择用链表来保存乘客的基本信息:包括乘客的姓名,身份证号,搭乘班机的航班号,以及预定的座位号(假设座位预先订号)。为了将这些信息保存起来以备下次程序运行时调用,将必需的信息写入文件中,在程序的初始化时读入。综合一下来看,我们需要做的是建立一个可以插入和删除节点的链表,并能检索这个链表,在必要的时候将链表的内容保存到文件中。 任何一家航空公司都想尽可能的为客户提供优质的服务。设计这样一个面向顾客的航空订票系统,最重要的就是设计的功能人性化,这就要求:采用先进的设计理念与开发工具,用技术全面提升服务,保证系统功能的强大与完整;具有高可靠性和强大有效的容错能力是系统

民航订票管理系统

实验十三数据库管理系统综合应用 -------民航订票管理系统 一、实验目的: 通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握所讲解的内容。 二、实验简述: 民航订票系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有航班线路和剩余票数的查询,以及网上订票等功能。客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。机场还要紧急应对措施,在航班出现延误时,要发送相应的信息。 三、实验要求: 完成该系统的数据库设计; 用SQL实现数据库的设计,并在SQL Server上调试通过。 四、参考答案: 1、需求分析 (1)航空公司 航空公司的操作流程如图C.1所示。 图C.1 航空公司操作分类表 (2)客户 客户的操作流程如图C.2所示。

图C.2 客户操作分类表 (3)机场 机场的任务是根据航空公司提供的航线和飞机,安排航班,以及航班的机票。如果出现晚点等情况,要记录并发送信息,对特殊客户记录其消费信息,并相应提供优惠。 (4)客户订票 客户订票涉及到多个因素:由客户提出订票申请;由机场管理航班机票;对于特殊客户,除给予票价优惠以外,还要累计里程;订票后需判断是否超员。这些因素涉及到客户资料、航班资料以及由航空公司提供的航线(里程)和飞机(座位数)资料中所提供的相关数据。 客户订票的操作流程如图C.3所示。 2、概念模型设计 数据库需要表述的信息有以下几种: (1)航空公司信息 (2)客户信息 (3)飞机信息 (4)航线信息 (5)航班信息 (6)订票信息 (7)特殊客户积分

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

我对铁路售票系统的建议

我对铁路售票系统的建议 铁路是交通运输系统的重要组成部分,可以说铁路就是我们国家的大动脉,铁路的大运量要求它有一个高效、便捷的售票系统,我国铁路售票系统经过多年的发展已经达到了一定的完善程度,但是面对目前我国铁路客流巨大的局面,难免存在需要改进的地方。 摘要:火车票“进化”大事记 早期的中国铁路标准火车票是卡片式的,尺寸为57毫米×25毫米,票面底纹的颜色分别规定为:软座车票为浅蓝色,硬座车票为浅红色,市郊车票为浅紫色,简易车车票为浅绿色,篷车车票为橙黄色等。 铁路售票系统发展至今,其信息化经历了数次重大变革。 20世纪70年代,中国铁路系统开始了计算机售票的研究,并在上海站和广深线试验,但由于中国铁路客票发售的复杂性和技术条件所限,一直未能大面积推广。 上世纪80年代初期,火车票使用的是硬板票,不论是在销售前、销售中,还是在销售后,都需要人工分类、人工盖章贴条、人工结算。由于售票网点太少,票额不能共享,不仅造成票额浪费,还增加了旅客购票的困难。 1996年,铁道部成立客票总体组,开发具有中国特色和自主产权的铁路客票发售和预订系统,建立覆盖全国铁路的计算机网络,实现客票管理和发售工作现代化。 1997年,铁道部确定了计算机车票的统一式样,这种电子火车票不用事先印制,可以在售票时现场打印。 2006年6月,拉萨火车站售出了第一张火车票,这是西藏历史上首次发售出藏火车票。 2007年7月,上海铁路局率先在上海、上海南、南京、杭州等4个车站试用磁卡车票,同时启用进站自动检票系统。 可见铁路售票系统的发展是逐渐趋向智能化的,因为日趋增加的客流量要求,仅凭人工的服务是难以满足铁路的巨大周转量的。 但是即使是像今天这样的高科技系统也难免存在许多不尽人意的地方,很多铁路旅客都抱怨售票系统这样那样的缺陷。 “一票难求”是目前大多数人都在抱怨的铁路售票系统主要的问题,即使是提前售票也难以解决供票紧张的问题,其实归根结底还是人口的问题,有限的车票数量难以供应巨大的人口数量,但是不能去解决人口问题来适应紧张的车票现状,可以改变车票的售卖方式,例如可以将车票的类型规定为不限制时间而只是规定车次,购买车票的旅客可以随时搭乘即刻在车站出发的列车,也就是说旅客购买了某次列车的车票,而此刻车站刚好有这列车,那么旅客就可以出发了,因为没有时间的限制,列车乘客可以即买即走,减少了在车站购票的等待时间,也就相对地缓解了购票紧张的局面。 另外还有一个现实中常出现的令人头疼的问题也是我的个人感受就是在车站买票时的插队问题,说一句并不是贬低国人素质的话,就目前的社会文明程度,很难呼吁人们提高素质,自觉地按秩序排队,只有采取一些强制的方法,我觉得可以在排队买票的区域设臵一些障碍,使得后来者无法插队,只能去队尾按顺序排队。 网上售票自实行以来给广大旅客带来了一定的方便,但是由于近来的普及也

相关主题
文本预览
相关文档 最新文档