计算机科学与技术毕业论文1 (2).doc_第1页
计算机科学与技术毕业论文1 (2).doc_第2页
计算机科学与技术毕业论文1 (2).doc_第3页
计算机科学与技术毕业论文1 (2).doc_第4页
计算机科学与技术毕业论文1 (2).doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

晋 中 学 院 本科毕业论文(设计)题 目 火车售票系统的设计与实现院 系 计算机科学与技术 专 业 计算机科学与技术 姓 名 魏治华 学 号 0711112227 学习年限 2007年 9 月至2011年6月指导教师 李俊丽 职称 讲师 申请学位 理 学士学位 2011年 5 月 7 日火车售票系统的设计与实现学生姓名:魏治华 指导老师:李俊丽摘 要:本文针对火车站的实际售票情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车售票系统。系统利用vs2005开发工具和sql server 2000数据库来开发。可以满足火车站售票的基本要求,解决了火车站售票工作所遇到的问题。同时为用户提供快捷方便的服务,可以灵活运用到火车站售票工作当中。关键词:火车售票;vs2005; sql2000 train ticketing system design and implementationauthors name: wei zhihua tutor: li junliabstract: aim at the actual situation on the train ticketing and according to the structural design thought of software engineering, i have built a ticket booking system through the feasibility study, requirement analysis, architecture and detail design, and coding and testing.this product is developed in vs2005, and the dbms of sql server 2000. this system can meet the demand about the train ticket, including to inquiring a ticket information, booking a ticket and refunding a ticket and solve the problem which the supervisor come up against in the work of ticketing. it provides additional right (protected by admin priviledge) according to demand of customer, services in customer conveniently and efficiently and flexibly apply to the work of ticketing.keywords: ticket selling system; vs2005; sql server 2000目 录引言11 系统概述11.1 背景11.2 可行性分析12 需求分析22.1 系统需求22.1.1 硬件配置22.1.2 运行平台22.2 功能需求22.2.1 管理员系统32.2.2 售票员系统32.3 性能需求42.3.1 准确性和及时性42.3.2 易用性43 开发工具介绍53.1 vs200553.2 sql server 200054 系统设计与实现64.1 登录角色选择界面64.2 售票员登录窗口84.3 管理员登录窗口94.4 售票员登录后的功能界面94.4.1 购票功能94.4.2 退票功能114.4.3 订票功能124.4.4 订票结款功能134.5 管理员登录后的功能界面134.5.1 删除车次功能134.5.2 修改车次功能144.5.3 增加车次功能155 系统测试175.1 功能测试175.2 系统测试175.3 性能分析175.4 改进意见17结束语18致谢18参考文献19引言现今的社会发展迅速,火车成为了人们在交通方面不可缺少的交通工具,乘坐火车出行的人越来越多,所以铁路的客运量也在迅速的增长着。为了给人们带来方便快捷的交通环境,铁路系统采取提高列车的速度,增加客运列车等措施来满足大量的旅客的乘车需求。但是,现在人多车多的情况下,如果再像从前一样,在一个单一的地点售票,必然满足不了现在的形势。所以就需要售票能够在不同的地点进行。如此的情况之下,售票系统自然是相当必要的。售票系统的出现能够在很大的程度上解决单一地点售票所带来的种种不便,并且能够使想要出行的旅客方便的买到自己需要的车票。对于售票处的地点也从原来的单一地点(车站)变成了多个地点,可以在市内的多个地点(宾馆、酒店、娱乐场所等等)。这样给将要出行的旅客带来了更进一步的方便。使旅客无论是在金钱还是在时间方面都能够得到充分的节省。为了方便旅客,售票系统不仅仅只能售票,也就是说系统的用户应该不只是售票员,还应该有管理员。管理员能够通过售票系统及时的更新乘车信息。这样才能够使乘客避免不必要的麻烦,真正的解决以前老式售票的种种不便,才能够真正的成为现在网络社会的真正适应者。1 系统概述1.1 背景随着我国经济的高速发展,我国的交通运输能力不断提高,越来越多的国民开始走出家门来到异地进行商务或者旅游等活动。在这一条件下,客流量不断增大。火车售票的管理对于交通运输的正常运行起着至关重要的作用,而随着信息量的逐步增加,繁杂的数据处理费时费力,单纯以人力进行的火车售票已经不适合现状了。 现在的时代是一个信息产业的时代,国家把信息产业作为了增长国民经济重要的一环。在这样的环境下,以先进的信息技术进行火车售票的管理成为了时代发展的必然。 综上所述,开发这样一个火车联网售票系统是相当有必要的。1.2 可行性分析火车联网售票系统以计算机为操作工具,把售票的工作人员从繁杂的数据管理以及处理中解放出来,从而增加工作效率,火车联网售票系统把车票的各种信息保存于数据库中,通过计算机可以很方便地对所需要数据进行查询等各种操作,而且这些操作全部由系统内部的代码完成,用户只需要通过该系统友好的界面,输入一些简单的数据便可操作,使用者可以很轻易地学会使用。2 需求分析2.1 系统需求2.1.1 硬件配置cpu:pentium 1.8ghz以上。内存:256mb。2.1.2 运行平台操作系统:microsoft windows xp。开发工具:visual studio 2005中文版后台数据系统:microsoft sql server 2000。2.2 功能需求火车售票系统由一个登录系统组成,但它分两部分登录,一个是管理员登录,一个是售票员登录,两部分登录后共享一个界面,但却可以实现不同的功能。火车售票系统的登录数据流程图如图2-1所示。管理员系统售票员售票员系统管理员火车售票系统登录界面 管理员信息表 售票员信息表 验证 验证是否 是否 正确 正确 输入 输入数据 数据 反馈 反馈结果 结果 图2-1 系统登录界面火车售票系统分为售票员系统和管理员系统两个系统。2.2.1 管理员系统该系统又包括以下三个子系统:1 删除车次系统2 修改车次系统3 增加车次系统删除车次系统管理员修改车次系统管理员增加车次系统管理员 输入数据 输入数据 输出数据 输出数据车次信息数据库 输入数据 输出数据图2-2 管理员功能2.2.2 售票员系统该系统又包括以下四个子系统 1 购票系统2 订票系统3 退票系统4 订票结款系统 输入数据 输入数据购票系统订票系统退票系统订票结款系统售票员售票员售票员售票员 输出 输出 数据 数据 订票信息表 输入数据 输出数据 输出数据 输出数据图2-3 售票员功能2.3 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。2.3.1 准确性和及时性系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重,而车票的数量和时间又影响用户的决策活动,因此其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须保证系统的准确性和及时性。2.3.2 易用性本系统更多面对宾馆、酒店、娱乐场等场所的非专业用户,而用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。3 开发工具介绍3.1 vs2005vs2005是visual studio 2005的缩写。visual studio 是微软公司推出的开发环境。是目前最流行的 windows 平台应用程序开发环境。microsoft visual studio 2005 team system 提供支持整个软件开发团队的工具: 架构师:visual studio 2005 team architect edition 包括集成、高效的工具,用于直观地构建面向服务的解决方案,这些解决方案从部署环境的初始状态开始设计。 开发人员:visual studio 2005 team developer edition 为开发人员提供高级的静态分析、代码剖析、代码涵盖以及单元测试工具,使团队能够在整个生命周期中尽早、频繁地规划质量。 测试人员:visual studio 2005 team test edition 构建于开发人员版本之上,更好地为测试人员提供了用于管理和运行各种测试(包括单元测试、手工测试和 web 测试)的工具,以及使团队能够在应用程序部署之前检验其性能的高级负载测试工具。 项目管理人员:visual studio 2005 team foundation 提供一套基于软件项目管理人员已知内容的项目管理工具:microsoft excel、microsoft project 和 windows sharepoint services。与 microsoft office 集成,项目管理人员不再需要手工将数据从这些应用程序映射到供工程团队使用的数据。项目站点提供仪表盘式的项目状态视图,以及向下追溯风险承担者的功能。丰富的报告提供了从整个常规的团队工作流中收集的规则。自定义项目过程基于业界公认的实践来驱动生命周期。 团队开发:visual studio 2005 team foundation 还提供团队协作工具,使组织能够不费吹灰之力即可管理并跟踪过程和软件项目的运行状况。portfolio explorer 将可从项目站点获得的这些相同的项目工作产品集成到 visual studio ide,从而让团队能够进行有效的访问。visual studio 2005 team foundation 还提供一个可扩展的工作项跟踪系统和企业级别的源代码管理。3.2 sql server 2000 sql server 2000 是microsoft 公司推出的sql server 数据库管理系统的一个版本。该版本继承了sql server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行microsoft windows 98 的膝上型电脑到运行microsoft windows 2000 的大型多处理器的服务器等多种平台使用。 sql server 2000 的特性包括: 1.internet 集成。sql server 2000 数据库引擎提供完整的xml 支持。它还具有构成最大的web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。sql server 2000 程序设计模型与 windows dna 构架集成,用以开发 web 应用程序,并且sql server 2000 支持 english query 和 microsoft 搜索服务等功能,在web 应用程序中包含了用户友好的查询和强大的搜索功能。 2.可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 microsoft windows 98 的便携式电脑,到运行 microsoft windows 2000 数据中心版的大型多处理器服务器。sql server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 web 站点所需的性能级别。 3.企业级数据库功能。sql server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。sql server 2000 分布式查询使您得已引用来自不同数据源的数据,就好像这些数据是 sql server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱节用户,使这些用户自主地工作,然后将他们所做的修改合并回发给服务器。 4.易于安装、部署和使用。 sql server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 sql server 的过程。sql server 2000 还支持基于标准的、与 windows dna 集成的程序设计模型,使 sql server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 sql server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 5.数据仓库。 sql server 2000 中包括析取和分析汇总数据以进行联机分析处理 (olap) 的工具。sql server 中还包括一些工具,可用来直观地设计数据库并通过 english query 来分析数据。4 系统设计与实现4.1 登录角色选择界面登录角色选择界面的设置,是为了区分不同的使用者,使用该系统完成不同的功能。该系统分两种角色登录,分别是售票员登录和管理员登录。下面就是此火车售票系统的登录框的示意图(图4-1) 图4-1 登录角色选择界面主要代码如下:private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click 打开form3,隐藏 form2 dim f3 as new form3 f3.show() me.hide() end sub private sub button2_click(byval sender as system.object, byval e as system.eventargs) handles button2.click 打开form4,隐藏 form2 dim f4 as new form4 f4.show() me.hide() end sub private sub button3_click(byval sender as system.object, byval e as system.eventargs) handles button3.click 关闭 me.close() end sub4.2 售票员登录窗口登录框的设计主要是不让非法用户进入系统,以免系统中的数据遭到破坏,但是这必须有严密的程序代码作为后盾,才能达到安全的作用。如果非法用户进入,难免使某些数据被更改,造成不必要的损失。下面是此火车售票系统的售票员登录窗口的示意图(图4-2) 图4-2 售票员登录窗口主要代码如下: if not (mreader.read() then 如果找不到 msgbox(不存在本编号的售票员,请确认!) exit sub end if 如果找到 if trim(mreader(密码).tostring) = trim(textbox2.text).tostring then cdct_id = trim(textbox1.text).tostring dim f1 as new form1 f1.show() f1.tabpage1.enabled = false f1.tabpage2.enabled = false f1.tabpage8.enabled = false f1.tabpage3.enabled = false me.hide() else if a = 3 then msgbox(对不起,你无权使用,再见!) me.close() else msgbox(密码错误,请确认!) textbox2.text = textbox2.focus() a = a + 1 end if end if4.3 管理员登录窗口区分于售票员登录,实现不同于售票员的功能,本系统设置了管理员登录窗口。其界面类似于售票员系统,但通过其登录可帮助管理员实现删除车次、修改车次、增加车次的功能。4.4 售票员登录后的功能界面在售票员登录窗口输入编号和密码后进入功能界面,通过售票员登录,可以实现购票、退票、订票和订票结款等功能。4.4.1 购票功能先在窗口中输入起点站和终点站,然后选择车型、开车日期以及享有何种优惠,最后点击查询,出现符合要求的车票信息。点击购票即可出票。下面是购票功能的窗口示意图(图4-3) 图4-3 购票功能界面主要代码如下:dim ds as new dataset sqlstr = select * from 车次表 where 途经 like % + txt起点站.text + % + txt终点站.text + % and 车型 like % + cmb车型.selecteditem + % madapter = new sqlclient.sqldataadapter(sqlstr, mconnection) madapter.fill(ds) me.datagrid1.datasource = ds.tables(0) dim tbl as datatable = ds.tables(0) 建立新的temptable with temptable .columns.add(车次) .columns.add(起点) .columns.add(终点) .columns.add(车型) .columns.add(总座位) .columns.add(开车时间) .columns.add(到站时间) .columns.add(路程) .columns.add(耗时) .columns.add(票价) end with 查找起点站在该车次中的第几站 dim strs() as string dim i as integer for i = 0 to tbl.rows.count - 1 strs = tbl.rows(i).item(途经).split(,c) dim a, b, c, d, f, g as integer for each qidian as string in strs a = a + 1 c = c + 1 f = f + 1 if qidian = txt起点站.text then exit for end if4.4.2 退票功能在窗口中输入所购买票的车次、购买日期、车节、座位等信息后即可成功办理退票手续。下面是退票功能的窗口示意图(图4-4) 图4-4退票功能界面主要代码如下:private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click 退票 dim rslt as msgboxresult rslt = msgbox(您真的要退票吗?, msgboxstyle.yesno) if rslt = msgboxresult.yes then 计算开车日期与当前日期的差 dim shijian1 as date = textbox23.text dim shijian2 as date = textbox14.text dim richa as timespan = shijian1.subtract(shijian2) if richa.days 6 then msgbox(对不起,您购买此车票的日期离今已超过6天,不得退票!) textbox2.text = textbox3.text = textbox4.text = textbox10.text = textbox14.text = textbox24.text = textbox25.text = button1.enabled = false exit sub end if 计算所退金额 dim tuikuan as integer if textbox10.text = 100 then tuikuan = cint(textbox10.text) * 0.8 end if if textbox10.text = 50 and textbox10.text = 30 and textbox10.text 50 then tuikuan = cint(textbox10.text) * 0.5 end if4.4.3 订票功能类似于购票功能,但订票功能不仅需要在窗口中输入起点站、终点站,选择车型、开车日期、享有何种优惠后查询车票信息,还需要在右下角的客户基本信息填入客户的身份证号、姓名、电话等信息,以便于车票及时准确的送到客户手中。4.4.4 订票结款功能在订票结款功能窗口中输入身份证号,即可获得该客户的订票信息以及应付金额。4.5 管理员登录后的功能界面在管理员登录窗口输入编号和密码后进入功能界面,通过管理员登录,可以实现删除车次、修改车次和增加车次等功能。4.5.1 删除车次功能在选择欲删除的车次的相关信息后,点击删除,即可在该系统中删除该列车的相关信息。下面是删除车次功能的窗口示意图(图4-5) 图4-5删除车次功能界面主要代码如下:private sub button21_click(byval sender as system.object, byval e as system.eventargs) handles button21.click if combobox7.selecteditem is nothing then 如果查询条件为空 msgbox(请选择查询条件!) exit sub end if if textbox42.text = then msgbox(请输入相应关键字!) exit sub end if try 连接数据库 mconnection.connectionstring = connstr mconnection.open() dim mcommand as new sqlclient.sqlcommand mcommand.connection = mconnection 将相应信息存放入数据集ds中 dim ds as new dataset sqlstr = select * from 车次表 where + combobox7.selecteditem + like % + textbox42.text + % madapter = new sqlclient.sqldataadapter(sqlstr, mconnection) madapter.fill(ds) 将ds表示在datagrid4中 ds.tables(0).columns(车次).readonly = true datagrid7.datasource = ds.tables(0) if ds.tables(0).rows.count = 0 then button22.enabled = false else button22.enabled = true end if catch ex as exception debug.writeline(ex.message) finally mconnection.close() button22.enabled = true end tryend sub 4.5.2 修改车次功能类似于删除车次功能的操作,在选择欲修改的车次的相关信息后,点击修改,即可在该系统中修改该列车的相关信息。4.5.3 增加车次功能在窗口中设置车次、车型、座位数、途经车站、票价、相应路程、相应时间等相关信息后,点击确定即可在该系统中增加该车次的相关信息。下面是增加车次功能的窗口示意图(图4-6) 图4-6 增加车次功能界面主要代码如下: 将相应的车次信息插入车次表 sqlstr = insert into 车次表(车次,途经,车型,总座位,相应时间,相应票价,相应路程) values ( sqlstr += textbox13.text + , + textbox19.text + , + combobox9.selecteditem + , + textbox15.text + , + textbox16.text + , + textbox20.text + , + textbox21.text + ) mcommand.commandtext = sqlstr mcommand.executenonquery() msgbox(添加成功!) textbox13.text = combobox9.selecteditem = nothing textbox15.text = textbox16.text = textbox19.text = textbox20.text = textbox21.text = else msgbox(总座位必须是四位以内数字型!) textbox15.text = exit sub end if 5 系统测试5.1 功能测试功能测试的主要内容是按实际操作的数据向系统的各个功能模块输入数据,检测输出结果是否符合预期要求。5.2 系统测试在对各个模块的测试完成后对整个系统作一个完整的测试,以检验各模块在联合运行时运行结果是否符合预期要求。5.3 性能分析在实际测试中,打开购票、退票、订票等界面大概需要13秒,为一名乘客办理业务需要510秒,订票结款需要时间小于3秒,统计一名乘客需要总时间不超过20秒,效率较高。5.4 改进意见由于时间仓促,此系统的规划虽然定位为小型,但功能基本实现了火车售票系统的所有重要功能,而在实际工作中缺少人力、物力资源。其它一些比较不重要的辅助性、完善性的功能也未能在短短的毕业设计所限定的时间内实现。因为系统还在不断地加入新功能以及修改现有问题,所以在系统的评测部分并没有详尽的测试报告,而本文中的内容也并未能完全表达整个系统的功能发展状态。基于本系统要求的开发时间比较短,开发力量有限,有些隐性的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论