欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    火车售票管理系统--软件综合课程设计.doc

    • 资源ID:87910998       资源大小:2.68MB        全文页数:48页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    火车售票管理系统--软件综合课程设计.doc

    沈阳航空航天大学课 程 设 计 报 告课程设计名称:软件综合课程设计课程设计题目:火车售票管理系统院(系):计算机学院专 业:计算机科学与技术班 级:学 号:2姓 名:指导教师:说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。沈阳航空航天大学课程设计报告 学术诚信声明 本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期: 年 月 日课程设计总结:通过此次课程设计,使我更加扎实的掌握了有关编码方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在同学和老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可! 我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在编码过程中,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。  目 录学术诚信声明I1 题目介绍和功能要求11.1 题目介绍11.2 功能要求12 系统功能模块结构图22.1 系统功能结构框图22.2 系统功能流程图32.3 系统主要模块功能说明42.3.1 初始显示界面42.3.2 选择页面52.3.3 管理员登陆页面及修改余票页面62.3.4 用户购票登陆页面及购票页面72.3.5 用户查票登陆页面83 数据结构介绍93.1 Android架构93.2 数据库94 涉及主要方法描述114.1 数据库类114.2 XML文件114.3 页面配置类124.4 AndroidManifest文件125 主要算法描述145.1 管理员操作模块145.2 用户买票模块155.3 用户查票模块166 程序测试17参考文献19附 录(关键部分程序清单)20 43 沈阳航空航天大学课程设计报告 1 题目介绍和功能要求1.1 题目介绍设计一个火车售票管理系统。1、 车次信息基本管理;2、 放票管理;3、 购票管理;4、 车票查询。1.2 功能要求1、车次、站点、车站间票价等基本信息的管理;2、对某车次车票进行放票,设定余票信息;3、根据用户的身份证购买某次车票,同时对余票信息进行维护;4、根据车次、出发地、目的地等进行车次、余票信息进行维护;5、实现已购买车票的退票改签功能,输入身份证号进行车票打印。沈阳航空航天大学课程设计报告 2 系统功能模块结构图2.1 系统功能结构框图该系统由选择、管理员登陆、用户购票登陆、用户查询车票等页面构成,系统功能模块结构框图如下图2.1.1所示: 火车票购票管理系统用户选择页 面管理员登陆页面用户购票登陆页 面用户查票页 面用户选择车票页 面 图2.1.1 系统功能模块结构图2.2 系统功能流程图该系统是一款基于Android系统的App,执行过程如下:首先是进入该系统的界面。进入后有管理员登陆、用户购票、用户查票登陆三个选项。选择管理员登陆,可进行车次列表的查询和对余票的修改,实现放票功能;选择用户购票登陆,可进行车次、出发地和目的地的车次查询,实现用户查询车票功能,选择所查询出的车次进入购票界面,输入身份证号即可购票,实现购票功能;选择用户查票登陆,可根据上述已购票的身份证号查询已购车次信息。功能流程图如下图2.2.1所示: 图2.2.1 系统功能流程图2.3 系统主要模块功能说明2.3.1 初始显示界面如图2.3.1所示,这是这款app的初始显示界面,图中有一个人,人脑上方有一个灯泡,意思是灵光一闪,闪出了这款app。这个界面后台由定时器设置,大约3秒后跳入登录信息输入页面,同时,在此区间内,建立初始数据库。图2.3.1 初始显示界面2.3.2 选择页面如图2.3.2所示,是选择页面,有管理员登陆、用户购票登陆、用户查票登陆三个选项,根据不同需求进行选择。管理员可选择管理员登陆进行放票操作;用户可选择可根据需求进行购票和查票。 图2.3.2 选择页面2.3.3 管理员登陆页面及修改余票页面 如图2.3.3所示,可显示车次列表,从中可查询到各车次的情况。选择其中一项可进行余票设置,设置完成以后点击提交即修改完成。 图2.3.3 管理员登陆页面及修改余票页面2.3.4 用户购票登陆页面及购票页面如图2.3.4,点击进入用户购票登陆即可进入左图页面。在车次、出发站和终点站输入所需查询信息,点击查询即可显示所需查询的车票信息:票价和余票;选择其中车次信息即可进入右图页面,在方框内输入身份证号并点击购票则购票成功。完成后,数据库保存购票信息,并更新余票信息。 图2.3.4 用户购票登陆页面及购票页面2.3.5 用户查票登陆页面如图2.3.5,这个是这款app的查询页面,通过在上方输入栏输入已购票身份证号点击查票,即可查询。图2.3.5 用户查票登陆页面3 数据结构介绍3.1 Android架构Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。本系统就利用Android架构编写,是基于Android系统的一款app,运行于Android手机上。3.2 数据库该系统的数据存储结构为数据库,分为两个表,分别为user表和tran表,user表结构如下表3.2.1属性名称属性类型长度属性含义IdnumVarchar20用户身份证号码Beginvarchar20出发站EndVarchar20终点站CountVarchar40车次表3.2.1 数据库user表结构tran表结构如下表3.2.2属性名称属性类型长度属性含义CountVarchar20车次Stationsvarchar40各站点MoneyVarchar20每站价格NumberVarchar20余票数表3.2.2 数据库tran表结构沈阳航空航天大学课程设计报告 4 涉及主要方法描述4.1 数据库类该部分是对Android封装数据库SQLite方法的重写,取名为Databasehelper,其中包括onCreate方法和onUpgrade方法 。SQLite数据库根据版本号对数据库进行操作,若版本号为1,代表该数据库为新创建,执行onCreate方法,若版本号大于1,代表改数据库为已存在数据库,执行onUpgrade对其进行更新访问。代码如下:public void onCreate(SQLiteDatabase db) / TODO Auto-generated method stub System.out.println("create a datebase"); db.execSQL("create table tran(count varchar(20)primary key," + "stations varchar(40),money varchar(20),number varchar(20)"); Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) / TODO Auto-generated method stub System.out.println("update a database"); 4.2 XML文件此类文件用于界面元素配置,类似于JSP、html等语言中的标签,它也是通过标签来设置页面显示元素,例如按钮Button,标签中直接对其属性进行配置,代码如下: <Button android:id="+id/btn_adm_user" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="用户管理" />4.3 页面配置类这种类用于通过Java代码来实现对界面XML文件的配置,SetContentView(Layout)方法使该类与相应前台xml文件相联系,findViewById(ID)方法使界面中的控件与类中定义的变量相联系,例如按钮响应事件,变量获取相应控件ID后调用onClickListener方法对其进行监听,代码如下:Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_userbuy);init();private void init() / TODO Auto-generated method stubshowCount = (TextView)findViewById(R.id.ub_tv_showcount);btn_buy = (Button)findViewById(R.id.ub_btn_buy);id_input = (EditText)findViewById(R.id.ub_et_id);Intent i = getIntent();count = i.getStringExtra("count");begin = i.getStringExtra("begin");end = i.getStringExtra("end");4.4 AndroidManifest文件该文件用来记录配置了XML文件的类,以及一些特殊权限、sdk版本、样式等信息,是一个配置文件。代码如下:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android=" package="com.example.trans" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="drawable/trans" android:label="Trans" android:theme="android:style/Theme.NoTitleBar.Fullscreen"> <activity android:name=".A_Splash"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".C_UserConLoginPage" android:label="用户登录" > </activity> <activity android:name=".C_AdmLoginPage" android:label="管理员登陆" > </activity> <activity android:name=".D_YpSet" android:label="管理员登陆" > </activity> <activity android:name=".D_UserBuy" android:label="管理员登陆" > </activity> <activity android:name=".D_BackPage" android:label="管理员登陆" > </activity> </application></manifest>5 主要算法描述5.1 管理员操作模块该模块负责管理员用户的操作,即对出票信息进行管理。通过点击管理员登陆按钮,就可以登陆到管理员界面,这里从数据库读取完信息后用listView来显示车票信息,点击相应车票即可进入余票管理界面,通过输入要更新的余票数目对车票信息进行更新,流程图如下图5.1.1所示。开始进入管理员界面点击车次进入余票修改界面修改余票并提交结束显示列车信息图5.1.1 登录模块流程图5.2 用户买票模块该模块用于普通用户买票功能,用户通过输入框输入初始站和终点站,检测输入无误后,即可从数据库中匹配相应信息并导入到ListView中显示,若数据库中没有相应信息,则显示为空。点击看中的车票进入买票页面,输入用户身份在号码,即可购票,购票信息保存如user数据库,流程图如下图5.2.1所示。开始输入框获取信息并校验匹配成功?显示车次结束NY显示为空点击进入购票页面输入身份证号码购票成功,数据存入数据库图5.2.1 用户买票流程图5.3 用户查票模块该模块提供用户查票功能,通过输入框获取用户输入的身份证号码,然后在user数据库寻找匹配值,找到返回结果,找不到显示为空。点击相应车票进入详细信息界面,该界面打印出选中车票的车次、出发站、终点站等信息,并提供退票功能,点击退票按钮,数据库信息更新,退票完成。流程图如图5.3.1所示。开始输入框获取信息并校验匹配成功?显示已买车次结束NY显示为空点击进入详细信息页面点击退票按钮,车票退掉,数据库更新图5.3.1 用户查票模块流程图 6 程序测试1. 初始界面如图6.1所示图6.1 初始界面2管理员登陆如图6.2所示图6.2 管理员登陆界面3. 用户购票输入北京到上海的车次,选择T123车次购票,输入身份证号为123456789,完成购票。如图6.3所示 图6.3 用户购票4. 用户查票选择用户查票登陆,输入已购票的身份证号123456789,即可显示已购票信息。如图6.4所示。图6.4 用户查票沈阳航空航天大学课程设计报告 参考文献1 梁方明. SQL Server 2000 数据库编程. 北京: 希望电子出版社, 2002 2 张海藩. 软件工程导论. 北京: 清华大学出版社, 20033 立南. SQLServer2000 实用教程. 北京: 清华大学出版社, 2004 4 寿志勤.李乐明.崇大志.一个面向政务流程的工作流管理系统分析与构建J.电子政务,2005.5 苏翻.基于 J2EE 平台的改进 MVC 的研究及其应用J.南京航空航天大学学报,20066 Meyer, B. NET is coming Microsoft Web services platform. Computer, 2001. 34(8): p. 92-97.7 Li, M. and H. Wang. A device management system based on JAVAEE Web.Wuhan, China,20098 Li, Z. and Z. Weixi. Design of tourism e-business system based on JavaEE multi-pattern.Sanya, China,20129 Craig Larman. UML 和模式应用. 第 2 版. 北京: 机械工业出版社,2004沈阳航空航天大学课程设计报告附 录(关键部分程序清单)TranDataBaseHelper类:package com.example.DB;import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper; public class TranDatebaseHelper extends SQLiteOpenHelper public static final int Version=1; public TranDatebaseHelper(Context context, String name, CursorFactory factory, int version) super(context, name, factory, version); / TODO Auto-generated constructor stub public TranDatebaseHelper(Context context,String name,int version) this(context,name,null,version); public TranDatebaseHelper(Context context,String name) this(context, name, Version); Override public void onCreate(SQLiteDatabase db) / TODO Auto-generated method stub System.out.println("create a datebase"); db.execSQL("create table tran(count varchar(20)primary key," + "stations varchar(40),money varchar(20),number varchar(20)"); Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) / TODO Auto-generated method stub System.out.println("update a database"); userDataBaseHelper类:package com.example.DB;import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper; public class UserDatebaseHelper extends SQLiteOpenHelper public static final int Version=1; public UserDatebaseHelper(Context context, String name, CursorFactory factory, int version) super(context, name, factory, version); / TODO Auto-generated constructor stub public UserDatebaseHelper(Context context,String name,int version) this(context,name,null,version); public UserDatebaseHelper(Context context,String name) this(context, name, Version); Override public void onCreate(SQLiteDatabase db) / TODO Auto-generated method stub System.out.println("create a datebase"); db.execSQL("create table user(idnum varchar(20)primary key," + "begin varchar(20),end varchar(20),count varchar(40)"); Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) / TODO Auto-generated method stub System.out.println("update a database"); MainActivity类:package com.example.trans;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class B_MainActivity extends Activity implements OnClickListenerprivate Button btn_userBuyLogin;private Button btn_userConLogin;private Button btn_admLogin;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();btn_userBuyLogin.setOnClickListener(this);btn_userConLogin.setOnClickListener(this);btn_admLogin.setOnClickListener(this);/初始化public void init()btn_userBuyLogin = (Button)findViewById(R.id.btn_userBuyLogin);btn_userConLogin = (Button)findViewById(R.id.btn_userConLogin);btn_admLogin = (Button)findViewById(R.id.btn_admLogin);Overridepublic void onClick(View v) / TODO Auto-generated method stubswitch(v.getId()case R.id.btn_admLogin:Intent i = new Intent(B_MainActivity.this,C_AdmLoginPage.class);startActivity(i);break;case R.id.btn_userBuyLogin:Intent i = new Intent(B_MainActivity.this,C_UserBuyLoginPage.class);startActivity(i);break;case R.id.btn_userConLogin:Intent i = new Intent(B_MainActivity.this,C_UserConLoginPage.class);startActivity(i);break;default:;Overridepublic void onBackPressed() / TODO Auto-generated method stub/super.onBackPressed();AlertDialog.Builder dialog = new AlertDialog.Builder(B_MainActivity.this);dialog.setTitle("").setIcon(android.R.drawable.ic_dialog_info).setMessage("确定退出?").setPositiveButton("确定", new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface dialog, int which) / 转跳到另外一个Activity/ TODO Auto-generated method stubfinish();).setNegativeButton("取消", new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) / TODO Auto-generated method stubdialog.cancel();/ 取消弹出框).create().show();AdmLoginPage类:package com.example.trans;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.example.DB.TranDatebaseHelper;import com.example.util.UserAdspter;import android.app.Activity;

    注意事项

    本文(火车售票管理系统--软件综合课程设计.doc)为本站会员(教****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开