【vb精品源码栏目提醒】:网学会员--在 vb精品源码编辑为广大网友搜集整理了:【精品】铁路系统 - 交通运输绩等信息,祝愿广大网友取得需要的信息,参考学习。
一、 课程设计目的 在数据库原理课程基础上,培养学生综合运用数据库知识的能力。
学会数据库的设计、规划以及应用程序的开发和调试,使学生掌握客户机/服务器体系结构,学会大型数据库的工作模式。
大型数据库管理系统存放于服务器,数据库放在服务器上,学生在客户机上开发应用程序访问服务器上的数据库,并完成应用系统所要求的各项功能,应用程序的开发需要采用当前流行的新软件。
二、课程设计内容 自行设计并实现一个较为完整的数据库应用系统的设计与开发,锻炼学生综合运用数据库知识的能力,并学会一种当前流行的软件开发工具。
1. 数据库的设计 根据所选的题目,经过调查研究,构建合理的数据库。
首先构建基本表以及表和表之间的联系,在此基础上构建视图和索引表。
2. 服务器的组织 根据建立的基本表、视图和索引表搭建服务器。
3. 前端开发工具:Delphi,
VB PB VC Builder C等都是当前流行的前台开发工具,选择其中一种进行学习并完成编写程序。
服务器端:SQL Server2000 4. 开发应用程序 利用所学的软件开发工具进行应用程序的开发。
5. 连接、调试。
三、软硬件环境及系统所采用的体系结构 系统的体系结构为 C/S, 前台软件为 Java J2SE, 后台数据库为 SQL Server 2000。
四、需求分析 功能描述:该软件为通用软件,面向所有的用户,用户分为匿名用户,注册用户两类,匿名用户支持车次的查询,目标车次各车站的详细时刻以及目标列车车票剩余情况的查询,注册用户在匿名用户的基础上,增加了对当天内车票的预定服务。
性能描述: ●系统的功能完善,更新、插入、删除等不会引起问题; ●所有的操作,如查询,要求速度快;界面友好,便于用户操作; ●系统要求安全性高,要求用户不可以越权操作; ●系统抗压能力强。
五、系统设计 1、本系统的系统结构图(功能模块图)如下所示: 旅客列车查询订票系统 用户登录 列 按 按 车 列 始 车 车 终 次 车 车 详 管 次 站 细 理 信 信 信 用 用 用 预 订 息 息 息 户 户 户 定 票 查 查 查 注 登 注 订 询 询 册 录 销 票 询 查 退 询 订 订 车 票 票 启动模块:是程序启动后,系统最开始显示的登陆界面,包含程序名、版本等信息。
系统运行后该页面就出现,直到配置加载及仪器连接完成并显示实时处理信息后,自动关闭,显示系统主界面。
登陆界面只在程序开始是出现,初始化之后自动关闭并释放其内存,不可重入,为顺序处理进程。
主界面:登陆界面结束后出现,一直驻留内存,显示当前用户,是系统与用户交流的平台,用于显示查询结果等信息,用户关闭主界面会退出整个系统,不可重入,为顺序处理进程。
查询模块(分为按车次查询和按初始终点车站查询):是通过在数据库检索用户提出的请求,来查找相应的数据,并返回相应的结果供用户使用。
该子程序在程序接收到消息响应后出现,在返回用户数据显示后退出,退出程序后释放内存,可重入,为顺序处理进程。
详细信息:用于显示用户查询的车次的详细信息,该子程序在程序接收到消息响应后出现,在返回用户数据显示后退出,退出程序后释放内存,可重入,为顺序处理进程。
用户管理模块:是面向普通用户,用于用户的注册,登陆和注销,方便赋予用户不同权限,并且收集用户信息可供订购车票只用,本程序为非常驻内存程序,在用户登录,注册和注销是启动,用户完成操作是退出。
是不可重用模块。
订票模块:是面向普通用户(已注册并登陆),用于用户的订票。
本程序为非常驻内存程序,在用户登录,注册和注销是启动,用户完成操作是退出。
是不可重用模块。
管理订票:该模块面向普通用户,用于管理用户的订票信息,查询订票和退订车票。
本程序为非常驻内存程序,在用户登录,注册和注销是启动,用户完成操作是退出。
是不可重用模块。
2、数据库设计 (1)系统 E-R 图如下所示: 始发车站 始发时间 终到时间 行驶里程 到达时刻 离开时刻 途径车次 终点车站 车次 途经车站 车站名称 列车类型 n 1 n 车次 1 里程 车次 车站 n 车站名称 途经车次 车站票数 车次车站 列车车次 1 标准票数 剩余票数 席别 用户名 席别数量 n 车次 用户名 n 用户名 起始站 1 密码 n 订票信息 终点站 用户信息 证件号 订票状态 票价总额 订票张数 席别 乘车日期 E-R 图 (2)数据库逻辑模式(表结构) 更新时间(更新时间); 车站(车站); 用户信息(用户名,密码,证件号,订票状态) ; 车次(车次,列车类型,始发站,终点站,始发时间,终到时间,行驶里程); 途经车站(途经车次,车站,到达时间,离开时间,里程) ; 车站票数(途经车次,车站,席别,剩余票数,标准票数) ; 订票信息(用户名,车次,出发车站,抵达车站,席别,乘车日期,订票张数,票价总额,里程); 注:①以上表中下划线部分为主键。
②上面(1)中的车次,车站在数据库中建有视图,可以方便查询。
六、系统的实施 1、系统的实现采用分层模式:界面层不参与数据的运算,只是显示结果;逻辑层处理数据以及与数据库的连接。
所有的连接数据库的操作均放到一个类里面,便于集中管理,连接数据库调用存储过程结果返回界面层显示。
下面是几个重要部分的大体工作流程图: (1)查询模块 程序主页面 输入数据 按下按钮 查询数据库 在列表框输出 (2) 用户管理 子程序开始 注册 登陆 注销 输入帐号密码权限 输入帐号密码 确认注销 错误 检索数据库 检索数据库 正 正 确 出错信息 确 确认注册 确认登陆 (3) 订票模块 子程序启动 输入订票信息 取消 确认订票信息 确 认 退出子程序 失败 链接数据库确认订票 成功 显示出错信 息退出程序 显示成功信息,输出流水号,退出程序 2、重要代码说明 连接数据库: public SQL_Process String url jdbc:microsoft:sqlserver://localhost:1433DatabaseName铁路客运订票系统 String user sa String password sql try Class.forNamecom.microsoft.jdbc.sqlserver.SQLServerDriver con DriverManager.getConnectionurluserpassword catch Exception e e.printStackTrace 调用存储过程(以按车次查询为例) : public ResultSet Find_NumString Train PreparedStatement pstmt try pstmt con.prepareCallcall dbo.find_number pstmt.setString1 Train/设置输入参数车次 Train/ pstmt.execute rs pstmt.executeQuery/rs 为返回的结果集/ catch SQLException e // TODO Auto-generated catch block e.printStackTrace return rs/将结果集返回调用函数/ 3、对实际运行结果的一些直观演示(截屏)主界面:查询后显示界面:按车次查询结果:详细信息界面:登陆以及注册界面:订票界面:管理订票界面: 按上图所示退票后结果:七、系统评价及心得体会 1、每趟列车和车站都建有视图,数量较多;可以尝试用另一种方法,即索引代替独立的视图。
2、这次实验加深了对于数据库设计流程的认识,意识到了数据库设计中的主要难点和重点,了解和掌握了存储过程的使用。
3、通过本次实验,了解和掌握了,数据库与前台程序之间的连接处理,和JAVA 语言调用 SQL 存储过程,同时掌握了 JAVA 的 SWT 图形界面开发。
八、参考文献 Java SE 应用程序设计(机械工业出版社) J2SE 核心 API 参考与实例(中国水利水电出版社) JDBC 与 Java 数据库程序设计(人民邮电出版社) Eclipse 插件开发学习笔记(电子工业出版社)九、附录:源代码 (略,详见电子版实验报告)