《网络购票平台论》word版.doc_第1页
《网络购票平台论》word版.doc_第2页
《网络购票平台论》word版.doc_第3页
《网络购票平台论》word版.doc_第4页
《网络购票平台论》word版.doc_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着我国铁路交通的不断发展,简单的窗口售票模式已经不能满足方便人们出行的目的。采用先进的网络技术开发出方便快捷的网上订票系统是现代客运业务发展的必然需求。本次设计的火车票网上订票系统通过访问主页可以实现个人信息注册、车次车票价格查询、在线订票退票等基本功能,为用户提供方便快捷的订票服务。牛牛购票我们使用java语言进行开发,采用了C/S结构,通过该网站我们可以最快查询,购买,和退订火车票和飞机票等操作。关键字:网上订票,java,交通发展AbstractWith the continuous development of railway transportation in our country, a simple window ticket mode already cannot satisfy the purpose of convenient travel. USES the advanced network technology are developing fast and convenient online booking system is the inevitable demand of the development of modern passenger services. Train tickets online booking system by visiting the home page of this design can achieve personal information registration, train ticket price inquiry, the basic function such as online booking ticket, to provide users with convenient booking service. Niuniu tickets we use Java language development, the use of the C/S structure, through the website we can fastest query, purchase, and unsubscribe train tickets and plane tickets, and so on. Key words: tickets online, Java, traffic development 目录第1章 绪论41.1引言41.2 系统设计的目标51.3开发工具简介51.4 可行性研究9第2章需求分析102.1 功能需求102.1.1产品描述102.2性能需求122.3 业务流程图142.4数据流图142.5 数据字典162.6结构182.7 界面设计原则221.界面一致性原则222.布局合理化原则24第3章 详细设计263.1总体设计描述263.1.1 需求规定273.1.2 运行环境273.1.3基本设计概念和处理流程273.2系统的功能设计283.3概念设计333.4业务逻辑表设计363.5 接口设计383.6 运行设计403.7 系统论据结构设计403.8 美学设计40第4章 系统的实现424.1系统主界面424.2 首页推荐424.3订票界面454.4登录464.5注册464.6图标资源474.7图像资源474.8界面组件474.9 主要程序代码48第五章 系统调试与测试645.1调试与测试的概述645.2 测试和调试过程665.3测试步骤675.2功能测试:69第六章 实训总结71第1章 绪论1.1引言1编写目的该文档的目的是描述牛牛订票系统项目的概要设计,其主要内容包括:l 系统功能简介l 系统结构设计l 系统接口设计l 数据设计l 模块设计l 界面设计本文档的预期的读者是:l 开发人员l 项目管理人员l 测试人员2 背景随着人们生活水平的提高,人们对消费的质量也渐渐要求更高,人们甚至愿意花更多的钱去买更好质量的服务。人们也或多或少因为工作或什么原因到处奔波,走走看看,所以免不了要选择火车或飞机出行。如果每次出行前都要到售票处买票,来回耽误实践不说,还不一定有票。那么问题来了,怎样才能既安全有便捷的出行呢?基于这种背景,开发出牛牛购票系统,在家就能订票退票,不管是自己出行,还是帮亲戚朋友订票,都方便,快捷,牛牛订票系统致力于“我们不是卖票的 我们只是送票员”,只要小手一点,不耽误工作,娱乐,休闲,顺利出行,想走就走。还有什么比我们更懂你,牛牛订票系统应运而生。生活富足了,当然就免不了想走走看看,牛牛购票系统,独特的送票员,世界那么大,有点钱,当然得去看看,然后就发现真的只是“有点钱”,牛牛系统为您独家设计双程票,来去自由。总之,人们很少再去售票点买票订票,那么,网络订票,无疑是一个很好的切入点。1.2 系统设计的目标为那些想要乘飞机或者火车出行的人,提供一些帮助,使他们的出行更简便,更舒适,玩得更开心,更尽兴。在出发旅行前,不用担心买不到票的问题,让他们可以提前买票,以便提前规划好自己的行程。1.3开发工具简介Java 编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、 不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执 行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所 倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。这样的平台非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的 C#语言 Java语言的特点:1.平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。2.安全性Java的编程类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。3.面向对象Java吸取了C+面向对象的概念,将数据封装于 类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员 只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重 的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。4.分布式Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5.健壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。6.解释型我们知道C,C+等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。 Java不像C或C+,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。字节码是很接近机器码的文件,可以在提供了 java虚拟机(JVM)的任何系统上被解释执行。7.动态java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C+那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译1.4 可行性研究1、 任何用户,不用培训和查看使用说明书,都能熟练的操作牛牛订票软件。2、软件的查询功能相应的比较慢。3、牛牛购票软件操作流程简单,主要有登陆、注册、余票查询、预定、订单查询、退票等基本功能。4、牛牛购票软件的所有界面风格、框架统一、风格一致。5、登陆后可实现每个用户基本购票需求。第2章需求分析需求分析是软件设计最重要的环节, 本阶段对购票系统的使用情况的全面调查,从而确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,来确定用户的需求。名词解释:所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果。可以说需求分析是做系统之前必做的。在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。在 软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤。但在近十年内,越来越多的人认识到,需求分析是整个过程中最关键的 一个部分。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件项目无法在规定的时间里完工。2.1 功能需求我们的网上购票系统应该具备一下的功能:功能:牛牛购票具有登录,注册功能,在登陆以后的情况下,可以通过我们的程序,了解他所需的有关火车以及飞机班次的信息,并且预订相关班次的机票或者火车票,保证他出行畅通无阻。 可行性分析:运用了JAVA语言进行编程。牛牛购票软件根据编写目的进行定制开发,开发包括整个的软件的基本功能,牛牛购票可以实现飞机票和火车票的真实查询和虚拟预定,本软件主要功能就是实现余票的真是查询与模拟现实购票及退票。2.1.1产品描述1、项目数据通过聚合网络接口获取数据,为火车票和飞机票的查票提够实时真实数据。2、牛牛购票软件的主要功能有登陆、注册、车票查询预定、订单查询、退票等基本功 能。3、软件实现时将充分考虑以下几点:界面的友好性; 系统的响应时间各个界面数据的独立。为了体现我们购票软件的简单,本软件将使用统一的界面风格设计,开发一款易于操作的购票软件,可以帮用户购飞机票和火车票,满足用户的需求。1. 登陆功能:通过登陆我们的站点可以访问牛牛购票系统的主页面,在浏览火车票和飞机票的情况之后点击购票的时候输入用户或管理员的信息实现用户的登陆和用户身份的识别,并区别用户权限实现不同的操作。2. 注册功能:当用户没有在本网站进行过注册,那么当点击登陆的时候将会提醒用户以用户名,密码和密码确认进行账号的注册。3. 查询功能:用户在登录或非登录状态下,根据出发地,目的地,出发日期,类型(火车或飞机)来查询票务信息。4. 订票功能:用户在已经登陆的情况之下才可以进行购票!5. 订单查询 退票功能:用户在登录状态下,查询个人订单或退票!6. 账户注销:用户在登录状态下,点击用户标签,提示是否注销。2.2性能需求1.客户端的界面要求:1.界面内容:排版整齐,清新。2.艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方;动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。2.响应时间需求: 无论是客户端和管理端,当用户登录,进行任何操作的时候,系统应该及时的进行反应,反应的时间在20秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。3.可靠性:此系统是面向部分需找工作的人员使用的系统,所以对与系统的可靠性要求为中级。具体的要求如下:a)月正常运行时间:8522b)月停机维护时间:不超过24小时c)最大缺陷数量:20(5 level bugs)以内4:开放性网站内容应面向广大用户,对于所有人群均开发,保证网站的实用性。5:可拓展性网站设计要求能够体现扩展性要求,以适应将来功能扩展的需求。2.3 业务流程图下图为牛牛购票系统的业务流程图:2.4数据流图名词解释:数据流图是结构分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模块。在结构化开发方法中,数据流图是需求分析阶段产生的结果。数据流图英文缩写DFD(Data Flow Diagram)它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流程图包括:a指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;b指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;c指明几个处理和(或)数据媒体之间的数据流的流线符号;d便于读、写数据流程图的特殊符号。在处理符号的前后都应是数据符号。数据流程图以数据符号开始和结束(除94规定的特殊符号外)数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线变换型结构数据流图性状态。另一种是事务型结构,这种数据流图呈束状,即一束数据流平行流入或流出,事务型结构数据流图可能同时有几个事务要求处理1.下图为牛牛购票系统的数据流程图:2.查询数据流程图(如图2-2)2-2 牛牛购票系统查询管理数据流图3.牛牛购票系统车票车次 车票,站点管理数据流图(如图2-3)2-3牛牛购票系统车票车次 车票,站点管理数据流图2.5 数据字典数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。2.6结构一般用户的功能结构图(2-1)1 功能需求与程序的关系在需求说明中规定要实现的功能,对应的模块和程序实现如下:功能和需求描述模块功能描述个人信息管理注册个人信息行程余票信息输入出发地,目的地和出发日期查询完成订单订单的确认(不做支付部分)改签更改行程进行退票及重新订票操作程序处理进行程序的更新改错等操作说明:1、主界面组织了这些功能和模块,为用户操作提供一个框架;2、以上划分的模块、子系统,在逻辑上相对独立,因此被划分成相对独立的模块,这种方式的划分为系统的实现能够提供更加明确的思路,但是,这些模块在实现的时候不能够达到完全的内聚,因此,实现的成员安排,请参考项目计划中的人员安排;3、模块之间的接口设计,请参考以下的说明;2. 人工处理过程本软件系统的工作过程中不得不包含的人工处理过程。3. 尚未解决的问题理论上可以,但是由于缺少这方面的资料,身边和网上没有实例可以参照,所以担心最后不可实现。4. 硬件的限制4.1 属性1、每个用户:用户注册功能,就可以对牛牛购票系统软件进行操作,实现购票等有关功能。4.2 可用性任何用户,不用培训和查看使用说明书,都能熟练的操作牛牛订票软件。2、软件的查询功能相应的比较慢。3、牛牛购票软件操作流程简单,主要有登陆、注册、余票查询、预定、订单查询、退票等基本功能。4、牛牛购票软件的所有界面风格、框架统一、风格一致。5、登陆后可实现每个用户基本购票需求。4.3 安全性对软件系统级安全性需求进行分析。软件可对每个注册用户进行登陆与余票查询预定等功能。合适的编程语言Java。软件结构设计安全,软件功能完整。4.4 可维护性维护就是在牛牛购票软件交付使用后进行的修改,修改之后进行必要的测试,以保证所做的修改是正确的。牛牛购票软件使用了Java语言在WINDOWS环境下进行编译。部分功能实现,使用面向过程来实现,维护可能不怎么容易。4.5 可转移 转换性1、在设计过程中采用的通用程序设计语言Java和运行支撑环境ecplise。没有使用与系统的底层相关性强的语言。2、牛牛购票软件的源代码到不同的台下(不同的操作系统),都可实现运行,需要修改的内容较少。4.6 警告指定所需属性十分重要,它使得人们能用指定的用户账号去登陆,通过软件完成自己的需求。5 数据库在数据库中有一些数据是后台直接输入的。不需要前台的变动。如:老师的信息,所教的班级,课程,班级有哪些学生,学生的信息等,这些都是不变的,只要他们在这学校中,学校就会为他们分配各自的信息,并保存在数据库中。也就是说老师在这家校通系统中,登陆后,就可以看到他所教的班级,班级中有哪些学生。家长登陆后也会直接看到他们孩子所在的班级,以及所对应的老师,并会显示老师所教的哪门课程。在家校通中,数据库主要存储了一些必要的数据。比如:老师信息、家长信息、学校动态、聊天记录、论坛信息、老师给家长发送的文件等。在数据存储方面,只要学校动态有变动,老师和家长在登陆后观看学校动态就会自动更新。这动态也会在数据库中自动按时间来保存。老师和家长的信息也会跟他们的变动,而改变。每个家长和老师的聊天记录会根据他们聊天的内容来按时间顺序来保存在数据库中,只有当他们在聊天记录中选择删除聊天记录内容,数据库中的相关记录也会跟着自动删除。只要数据库中的表有改动,数据库就会自动更新,来保证与数据变动的同步。2.7 界面设计原则软件界面设计就像工业产品中的工业造型设计一样,是产品的重要卖点。一个友好美观的界面会给人带来舒适的视觉享受,拉近人与电脑的距离,为商家创造卖点。界面设计不是单纯的美术绘画,他需要定位使用者、使用环境、使用方式并且为最终用户而设计,是纯粹的科学性的艺术设计。检验一个界面的标准既不是某个项目开发组领导的意见也不是项目成员投票的结果,而是最终用户的感受。所以界面设计要和用户研究紧密结合,是一个不断为最终用户设计满意视觉效果的过程。好的界面会给人们更舒适的感觉,人们会更开心的接受这项服务。在此软件中充分体现了用户界面设计的三大原则:置界面于用户的控制之下;减少用户的记忆负担;保持界面的一致性,以达到界面直观,软件功能操作便捷的目的。1.界面一致性原则如同一本书一样,一个系统即一个个体,各个功能、各个界面相互联系、脉络相通,后台服务与前台界面相辅相成,界面是一个系统的门面,是用户使用系统的窗口,界面设计的一致性,是衡量一个系统的重要标准之一,界面的统一直接体现了系统功能设计的理念。界面的一致性体现在设计目标一致、元素外观一致和交互行为一致三个方面。1、设计目标一致软件中往往存在多个组成部分(组件、元素)。不同组成部分之间的交互设计目标需要一致。例如:如果以电脑操作初级用户作为目标用户,以简化界面逻辑为设计目标,那么该目标需要贯彻软件(软件包)整体,而不是局部。2、元素外观一致交互元素的外观往往影响用户的交互效果。同一个(类)软件采用一致风格的外观,对于保持用户焦点,改进交互效果有很大帮助。遗憾的是如何确认元素外观一致没有特别统一的衡量方法。因此需要对目标用户进行调查取得反馈。在软件中其元素外观设计规范如下:颜色以草绿色()为主,白色打底,充分彰显软件设计的清新感,给使用者舒适、明朗的感觉。s字体标题为绿底黑字,其它多用白底黑字,字体大小以14sp为主,根据具体情况设置对齐方式两端对齐为主,根据具体需求进行左对齐或右对齐标签提示以黑底白字的提示框进行提示()3、交互行为一致在交互模型中,不同类型的元素用户触发其对应的行为事件后,其交互行为需要一致。例如:所有需要用户确认操作的对话框都至少包含确认和放弃两个按钮。对于交互行为一致性原则比较极端的理念是相同类型的交互元素所引起的行为事件相同。但是我们可以看到这个理念虽然在大部分情况下正确,但是的确有相反的例子证明不按照这个理念设计,会更加简化用户操作流程。2.布局合理化原则此软件是基于java平台下的软件,遵循java中UI设计的原则,简洁明了,通过主界面的引导访问分界面,采用顶端主栏,下端主体具体内容的总分布局设计方式,达到了一下几个布局设计要求:1.清晰软件整体布局绿白为主,界面设计清晰,用户视觉体验良好的,整体印象清晰舒适。2.简洁界面布局简介,主界面从上到下由一个搜索栏、水平滑动菜单、幻灯片推介窗口、垂直菜单组成,分界面则是由自上向下的一个任务栏、主体具体内容组成,一目了然、容易操作。3.熟悉软件各个界面的颜色、布局统一,用户使用到任何界面都会有熟悉感。4.响应界面响应迅速,而且界面的提醒功能全面,用户能够及时快速的得到反馈信息。5.一致界面风格、布局框架一致,不会让用户有错愕感。6.美观界面整体颜色清丽,布局简洁明了,给人以愉悦的感觉及其美观的视觉体验。第3章 详细设计3.1总体设计描述即对全局问题的设计,也就是设计系统总的处理方案,又称概要设计。制造系工程总体设计包括:市场调研,技术规格书编写,初步设计,详细设计,产品制造等。1软件工程总体设计包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。软件功能分解属于下列软件开发中的总体设计阶段。完成大型工程体系的总体方案和总体技术途径的设计过程。在一般工程设计中总体设计则指按计划任务书的内容进行概略计算,附以必要的文字说明和图纸设计,又称初步设计。对于工程系工程总体设计是指前一种含义。总体设计是工程项目开发过程中的一个重要阶段(见图)。研制大型工程体系的基本问题是,怎样把比较笼统的初始研制要求逐步地变为成千上万个研制参加者的具体工作,以及怎样 把这些工作最终综合成一个技术上先进、经济上合算、研制周期短、能协调运转的实际系统,并使这个系统成为它所从属的更大系统的有效组成部分。1954年美 国最早出现为导弹研制计划提供这种服务的系统工程公司拉莫沃尔德里奇公司。50年代末中国开始研制人造卫星和运载火箭时,也建立了这样的机构,并称之为总体设计部。总体设计部设计的是系统的总体,系统的总体方案和实现它的技术途径,并通过可行性研究和技术经济论证,确保项目在规划、设计、制造和运行各个阶段,总体性能最优。这样可以避免因规划、研制和运用的缺陷造成人力、物力和财力的浪费。3.1.1 需求规定经过调研,本系统面向的主要参与者有三类:一般用户、团体用户、管理员。为界定三种系统参与者的身份,根据设定用户的权限以及增加不同使用者的功能需求模块来区分参与者的角色。本系统主要特征为移动性,可以随时随地地使用系统的各项功能,所以有必要对业务流中使用到的信息进行安全级别的设置,以保证不同身份的用户可以访问使用到自己需要的数据。3.1.2 运行环境WindowsXP、Windows2000、Windows7等。3.1.3基本设计概念和处理流程1设计概念该软件设计的系统是根据人们出行的实际需求所开发的一个实用、方便的基于网络的订票系统,考虑到用户以的实际需求,在系统的设计过程中遵循实用性原则、可行性原则、可扩展性原则、人性化原则以及注重实用性原则。本应用的基本设计概念是依托网络,开发一个专为出行而设定的一款应用,通过实现平台的“个人订单”、“个人信息管理”、“查询”、“订票退票”、“登录注册”、在有效地提高用户的订票效率以及订票过程的体验度的同时也能够为交通系统增大客流量和收入。3.2系统的功能设计牛购票,从聚合数据网站上获取免费机票,火车票数据。用户可通过牛牛客户端查询机票或火车票;订票和订单查询,用户必须登陆注册账号。1.角色定义角色或者执行者(Actor)指与网站产生交互的外部用户或者外部系统。 a.用户用户是指在牛牛客户端登陆注册的游客,他们可以查询全国各地的实时机票和火车票信息,订购全国各地的机票和火车票,查询他们所订订单。 b.游客游客是指进入网站的用户,他们可以查询全国各地的实时机票和火车票信息,但不可订购机票和火车票,查询订单。用户具体说明如下:用户 登陆牛牛购票客户端的用户,享有网站一切权益。游客 进入网站,对网站部分功能可以使用。2.牛牛购票前台游客通过打开客户端访问牛牛购票客户端,前台功能主要包括:登陆注册,查询,订票等功能模块,首先游客可以决定是否要注册自由账号,成为牛牛购票的一个真正的用户,牛牛购票是一个对所有有购票需求开放的平台!您可以无障碍的自由浏览牛牛购票,牛牛购票注册才可以使用购票,查询订单等功能。1 前台首页结构如下图A-5所示:图A-5:前台首页的结构图2客户端的功能主要包括查询,订票,订单查询等功能,它的结构图如图A-6。图A-6:客户端功能例图客户端用户的功能描述如下:F-C-1:查询功能 查询主要是用户查询全国各地的实时机票和火车票信息。 F-C-2:订票功能订票主要是根据用户所选择的票,订购全国各地的机票和火车票。F-C-3:查询订单功能查询订单主要是根据用户的购票记录查询。、F-C-4:退票功能退票功能主要是根据用户查询订单的结果,看是否需要退票。 3.3概念设计概念设计是由分析用户需求到生成概念产品的一系列有序的、可组织的、有目标的设计活动,它表现为一个由粗到精、由模糊到清晰、由抽象到具体的不断进化的过 程。概念设计即是利用设计概念并以其为主线贯穿全部设计过程的设计方法。概念设计是完整而全面的设计过程,它通过设计概念将设计者繁复的感性和瞬间思维上 升到统一的理性思维从而完成整个设计。概念的设想是创造性思维的一种体现,概念产品是一种理想化的物质形式。下面以概念设计教学实例之功夫熊猫概念设计图稿3一 来说明其涵义:给出一个概念“断药”,让学生进行座椅的开发设计。步骤是,首先向学生讲述心理学中的一个名词暗示心理,并分别举出一个“安乐死”实 验和一个“挽救少女生命”的文学名著故事,从正反两个方面说明暗示对人的健康的影响;然后运用一个“民间故事”阐述如何将“断药”的概念物化到具体的产品 上。因为,在民间曾有这样一个说法,就是将一把断了的钥匙用红线穿上挂在小孩的脖子上,取“断钥”的谐音“断药”暗示常生病的孩子挂上“断钥”这挂项链之 后,就断了药,从此不再吃药,这也意味着孩子走向健康。所以,将一把断了的钥匙(断药)的概念物化到具体的产品上来为健康做设计时,用折断了的钥匙做椅架 为主题,由学生创意出现了形形色色的座椅开发设计方案(其草图、效果图、视图等技术说明从略),于是就有了一种新型的专用座椅的概念设计。其应用场合为疗 养院、医院、不能自理的老人家庭等。这是传统的产品概念设计。当然,产品的类型不止是这种无障碍设计思想指导下的专用座椅。产品即人之观念的物化,设计是一种思维行为。在这种思维创造性行为活动中,产品概念的构思是丰富的,人的创作智慧是无穷的。概念产品的类型更是多种多样。 牛牛购票系统E-R图:E-R图 牛牛购票车票信息图E-R(如图3-1):图3-1牛牛购票订票信息E-R图(如图3-2)图3-2牛牛购票系统车次信息E-R图(如图3-3)图3-3用户功能界面设计:通过选择用户登陆输入用户账号和用户密码,验证通过后面试用户功能界面,如果是第一次登录系统则可以进行信息的注册。通过用户功能界面可以实现用户个人信息的维护,车次的查询订票退票的操作。3.4业务逻辑表设计1.airplane字段名字段类型说明flightnumberString航班号companyString航班公司dexpectedString起飞时间aexoectedString到达时间startcityString起飞城市endcityString到达城市2. ItemnameStirng姓名startStirng出发城市endStirng到达城市starttimeStirng出发日期endtimeStirng到达日期typeStirng出发时间startdateStirng到达时间serailnumberStirng乘坐类型3. Traintr 字段名字段类型说明train_noString 车次start_stationString 出发站end_stationString 到达站start_timeString 出发时间arrive_timeString 到达时间lishiString 历时shangwuString 商务座tedengString 特等座yidengString 一等座gaojiString 高级软座ruanwoString 高级软卧yinwoString 硬卧ruanzuoString 软卧yinzuoString 硬座wuzuoString 无座3.5 接口设计用户接口:1、 程序接口:操作系统提供给编程人员的接口。牛牛购票软件用户通过在程序中使用系统调用命令来请求操作系统提供服务。2、图形接口:图形用户接口采用了图形化的操作界面,用非常容易识别的各种图标来将系统各项功能、各种应用程序和文件,直观、逼真地表示出来,牛牛购票软件用户可通过鼠标、键盘等相关输入和命令来完成对应程序和软件功能实现与操作。1 外部接口2. 内部接口3.6 运行设计1 运行模块运行程序后,进入主界面,游客可通过出发地,目的地和出发日期使用查询功能;订票功能,必须登陆注册。4. 2 运行时间运行牛牛订票,将占用系统时间。3.7 系统论据结构设计为简化设计,直接在.properties和.xml上进行数据存储。1、用户数据存储:Iperties2、订单数据存储:Items.xml3 系统出错处理设计1、重新运行程序。3.8 美学设计本软件坚持以用户体验为中心设计原则,界面直观、简洁,操作方便快捷,用户接触软件后对界面上对应的功能一目了然。在界面上保持了字体及颜色一致,避免一套主题出现多个字体;通过保持页面内元素对齐方式的一致,达到了界面统一的效果;使用一致的标记、标准缩写和颜色,显示信息的含义应该非常明确,用户不必再参考其它信息源。本系统采用了人机界面设计。遵循了以用户为本、提高可交互性、尽量避免需要记忆的内容、简化用户操作、提高操作的效率、应用安全等一般原则。对于用户问题和要求表现得了很好的满足,且界面用语具有可理解性和易用性,极大程度上便于用户的习惯使用方式。第4章 系统的实现4.1系统主界面 通过登录站点访问主页如(图4-1)4.2 首页推荐主界面的设计总体包括主栏、登陆界面、注册界面、查询四个部分,其主要的界面效果如下图所示,每一个图标以及标识的功能可见下图的图示说明。l 界面展示出发地查询界面注册界面登陆界面系统logo主界面代码如下public class MainFrame extends JFrame private zjpanl contentPane;private JTextField textField;private JTextField textField_1;private JTextField textField_2;private DefaultTableModel trainTableModel;private DefaultTableModel airplaneModel;private JTable planetable;private JTable traintable;private String saveValue = 火车;private JFormattedTextField tfDate;private DefaultTableModel itemModel;private JTable itemJTable;/* * Launch the application. */public static void main(String args) MainFrame frame;try frame = new MainFrame();frame.setVisible(true); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();/* * Create the frame. * * throws Exception */public MainFrame() throws Exception setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 1220, 600);contentPane = new zjpanl(new ImageIcon(ser/bg2.jpg).getImage();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5);setContentPane(contentPane);contentPane.setLayout(null);itemModel = Tool.getitemsModel();itemJTable = Tool.getitemTable(itemModel);airplaneModel = Tool.getplaneModel();planetable = Tool.getplaneTable(airplaneModel);trainTableModel = Tool.gettrainModel();traintable = Tool.gettrainTable(trainTableModel);/ 为Jtable添加滚动条final JScrollPane js = new JScrollPane(traintable,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);JLabel label = new JLabel(出发地:);label.setBounds(60, 122, 57, 15);contentPane.add(label);textField = new JTextField();textField.setText(上海);textField.setBounds(130, 119, 100, 21);contentPane.add(textField);textField.setColumns(10);JLabel label_1 = new JLabel(目的地:);label_1.setBounds(256, 122, 54, 15);contentPane.add(label_1);textField_1 = new JTextField();textField_1.setText(北京);textField_1.setBounds(331, 119, 100, 21);contentPane.add(textField_1);textField_1.setColumns(10);JLabel label_2 = new JLabel(出发日期:);label_2.setBounds(469, 122, 65, 15);contentPane.add(label_2);final JLabel usernamelable = new JLabel(未登陆);usernamelable.setBounds(558, 36, 100, 34);usernamelable.setVisible(false);contentPane.add(usernamelable);final JButton itembutton = new JButton(查询订单);itembutton.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent arg0) js.setViewportView(itemJTable);try itemModel.setDataVector(Tool.getitemsinfo(Tool.getItemsbyname(usernamelable.getText().substring(0, usernamelable.getText().indexOf( ),Tool.getitems(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();itemJTable.getColumn(备注).setCellRenderer(new ItemButtonRenderer();itemJTable.getColumn(备注).setCellEditor(new ItemButtonEditor(new JCheckBox(););itembutton.setBounds(871, 36, 120, 34);itembutton.setVisible(false);contentPane.add(itembutton);/ textField_2 = new JTextField();/ textField_2.setBounds(520, 119, 100, 21);initTfDate();/ 日历koujisncontentPane.add(tfDate);tfDate.setColumns(10);tfDate.setText(2015-04-23);JRadioButton rdbtnNewRadioButton = new JRadioButton(火车);rdbtnNewRadioButton.setBounds(704, 118, 57, 23);

温馨提示

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

评论

0/150

提交评论