长途汽车管理系统.docx

上传人:b****5 文档编号:8027128 上传时间:2023-01-28 格式:DOCX 页数:29 大小:106.41KB
下载 相关 举报
长途汽车管理系统.docx_第1页
第1页 / 共29页
长途汽车管理系统.docx_第2页
第2页 / 共29页
长途汽车管理系统.docx_第3页
第3页 / 共29页
长途汽车管理系统.docx_第4页
第4页 / 共29页
长途汽车管理系统.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

长途汽车管理系统.docx

《长途汽车管理系统.docx》由会员分享,可在线阅读,更多相关《长途汽车管理系统.docx(29页珍藏版)》请在冰豆网上搜索。

长途汽车管理系统.docx

长途汽车管理系统

滁州学院

课程设计报告

 

课程名称:

数据库系统原理与设计

设计题目:

长途汽车管理系统

系别:

计算机科学与技术系

专业:

计算机科学与计算专业

组别:

第二组

起止日期:

2010年12月7日~2010年12月28日

指导教师:

周强

 

计算机科学与技术系二○一○年制

课程设计题目

长途汽车信息管理系统

组长

粱炎光

学号

2008210768

班级

08计科

系别

计算机科学与技术系

专业

计算机科学与技术专业

组员

范远军、王超、熊国富、张雷

 

指导教师

周强

课程设计目的

实现长途汽车管理系统的一些基本的功能,能够熟练地掌握SQL语句的用法,并且懂得如何团队协作开发程序

课程设计所需环境

Windowsxp系统、SQLserver2000、JDK和JCreator

课程设计任务要求

要求包括汽车信息管理系统、票价信息管理系统、线路信息管理系统

课程设计工作进度计划及分工情况

序号

起止日期

工作内容

分工情况

1

11月29日—12月1日

确定组员分工情况、阐明系统的开发背景

组长和组员共同完成

2

12月2日—12月3日

确定系统功能的基本描述以及需求分析

熊国富、范远军负责此项

3

12月4日—12月9日

ER图的设计、完成数据库创建

粱炎光负责此项

4

12月10日—12月13日

汽车管理系统系统的界面代码设计

王超负责查询等操作界面,粱炎光负责系统登陆界面

5

12月14日—12月17日

汽车管理系统系统的功能代码设计

张雷,熊国富负责此项

6

12月18日—12月20日

连接数据库、测试程序、以及调试程序

所有人共同完成

7

12月21日—12月26日

完成课程设计报告的填写与设计

范远军负责此项

教研室审核意见:

 

教研室主任签字:

年月日

目录

1需求分析4

1.1课程设计任务及要求4

1.2课程设计思想4

2概念模型设计5

2.1功能设计5

2.2长途汽车信息系统功能模块6

2.3系统E_R图7

3逻辑模型设计与优化7

4物理设计与实施8

5详细设计8

5.1登陆界面代码8

5.2主操作界面11

5.3汽车查询代码14

5.4汽车插入、修改等代码17

5.5车票删除代码21

6调试与操作说明23

6.1登陆界面23

6.2选择操作界面23

6.3选择表界面24

6.4查询界面25

6.5部分查询界面25

6.6修改、插入界面25

6.7删除界面26

7设计心得26

致谢28

参考文献28

1需求分析

1.1课程设计任务及要求

长途汽车信息管理系统运用在汽车站部门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的的依据。

早期的长途汽车站信息主要是人工记录和人工管理的,不仅不容易记录,而且还不容易保存。

随着计算机的不断普及和软件系统的不断发展加上信息系统开发的迫切需求,计算机长途汽车站信息管理系统应运而生了。

随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,长途汽车站信息管理系统在人们的日常生活中发挥着越来越重要的作用。

本系统实现了汽车线路信息,汽车信息,票务信息的查询和管理,以满足人们的需求。

线路信息管理:

车站管理员可以在线路信息管理模块对车站线路信息进行管理。

管理员首先建立汽车线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。

管理员也可以通过本模块查询到所有需要查询的线路的详细信息。

汽车信息管理:

管理员可以在汽车信息管理模块实现对汽车信息的管理。

管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作。

管理员也可以在整个数据库中查寻相关汽车信息。

车票信息管理:

管理员可以在车票管理模块实现对线路车票信息的管理。

管理员根据相应的汽车线路信息来设置相应的车票详细信息。

当有新的线路添加的时候,要把相应的车票信息添加到数据库中,管理员还可以对某条线路的车票信息进行修改,删除和查询操作。

1.2课程设计思想

(1)充分利用所学过的数据库的相关知识建立长途汽车管理系统所需的数据库。

(2)进行详细的功能设计,在Java中利用ODBC连接数据库技术对数据库中数据进行操作,并能进行多表之间的链接与查询操作。

2概念模型设计

2.1功能设计

在Java中利用ODBC访问技术操作数据库,建立到数据库中的映射类,在对话框类中通过引用映射类完成对数据库的操作。

程序分为登陆界面,选择界面,线路信息界面,汽车信息界面,车票信息这几个主体界面。

使用时应先知道管理员帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,退出程序菜单选项。

所需时间等,可以对它们进行添加,查询,删除,其中线路信息界面包括包括出发地、目的地、出发时间、修改,返回主菜单的操作;汽车信息和车票信息的界面与其类似。

需要特别说明的是,当对数据进行操作时,在查询框内输入提示数据内容,对话框的表中和提示栏中都会出现所查询的数据,我们可以在提示栏中对数据进行删除和修改操作。

2.2长途汽车信息系统功能模块

图2-1

2.3系统E_R图

图2-2

3逻辑模型设计与优化

管理员登陆:

Manager(username,passwd)

汽车表:

Qiche(busno,zhonglei,zaike)

车票表:

Chepiao(ticketno,shoupiao,busno,shengyu,yishou,piaojia)

线路表:

Xianlu(mudidi,chufadi,chushi,yongshi)

行驶表:

Xingshi(mudidi,busno,licheng)

4物理设计与实施

表1:

管理员登陆表

字段

字段名称

数据类型

是否为空

主码

外码

备注

Username

用户名

Varchar(20)

Notnull

Passwd

密码

Varchar(20)

Notnull

表2:

路线表

字段

字段名称

数据类型

是否为空

主码

外码

备注

chufadi

出发地

Char(20)

Notnull

mudidi

目的地

Char(20)

Notnull

shijian

时间

time

Notnull

busno

汽车号

Char(20)

Notnull

表3:

汽车表

字段

字段名称

数据类型

是否为空

主码

外码

备注

busno

汽车号

Char(20)

Notnull

zhonglei

类别

Char(20)

Notnull

zaike

载客

Char(20)

Notnull

表4:

行驶表

字段

字段名称

数据类型

是否为空

主码

外码

备注

busno

汽车号

Char(20)

Notnull

chufadi

出发地

Char(20)

Notnull

mudidi

目的地

Char(20)

Notnull

licheng

里程

Char(20)

Notnull

表5:

车票表

字段

字段名称

数据类型

是否为空

主码

外码

备注

busno

汽车号

Char(20)

Notnull

ticketno

车票号

Char(20)

Notnull

shoupiao

售票

Char(20)

Notnull

yishou

已售

Char(20)

Notnull

shengyu

剩余

Char(20)

Notnull

piaojia

票价

Char(20)

Notnull

5详细设计

5.1登陆界面代码

在此模式下通过输入管理员名及密码,以获取权限,进入各项操作的界面。

packagechangtu;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.sql.*;

importjava.io.*;

publicclassdengluextendsJFrameimplementsActionListener

{

staticJLabeljl=newJLabel("欢迎登陆汽车管理系统");

staticJLabeljl2=newJLabel();

staticJLabeljl3=newJLabel("姓名");

staticJLabeljl4=newJLabel("密码");

staticJButtonjb1=newJButton("确定");

staticJButtonjb2=newJButton("返回");

staticJTextFieldjt1=newJTextField();

staticJTextFieldjt2=newJTextField();

staticOprationop=newOpration();

Statementst;

publicvoidDl(Statementsta)

{

this.st=sta;

setSize(300,250);

setVisible(true);

setLayout(null);

jl.setBounds(80,20,200,20);

jl3.setBounds(60,60,50,20);

jl4.setBounds(60,100,50,20);

jl2.setBounds(100,140,200,20);

jb1.setBounds(80,180,60,30);

jb2.setBounds(160,180,60,30);

jt1.setBounds(100,60,100,20);

jt2.setBounds(100,100,100,20);

add(jl);

add(jl2);

add(jl3);

add(jl4);

add(jt1);

add(jt2);

add(jb1);

add(jb2);

jb1.addActionListener(this);

jb2.addActionListener(this);

}

publicstaticvoidmain(Stringargs[])

{

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(Exceptione){

System.out.println("连接失败!

");

return;

}

try

{

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

changtu","sa","");

Statementstmt=con.createStatement();

newdenglu().Dl(stmt);

}

catch(Exceptione){

System.out.println(e);

}

}

publicvoidactionPerformed(ActionEvente)

{

Objects=e.getSource();

ResultSetrs;

if(s.equals(jb1))

{

try{

rs=st.executeQuery("selectxingmin,mimafrommanager");

while(rs.next())

{

Stringa=rs.getString("xingmin");

Stringb=rs.getString("mima");

if(a.equals(jt1.getText())&&b.equals(jt2.getText()))

{

dispose();

op.opration();

}

}

jl2.setText("姓名或密码错误!

");

jl2.setForeground(Color.red);

}

catch(Exceptione1){

System.out.println(e);

}

}

if(s.equals(jb2))

{

System.exit(0);

}

}

}

5.2主操作界面

在此模式下,可以实现查询,插入,删除,及总查询等诸多功能。

packagechangtu;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassOprationextendsJFrameimplementsActionListener

{

staticJLabeljl=newJLabel("请选择一种操作:

");//定义标签

staticJRadioButtonjc1=newJRadioButton("查询操作");//单选按钮

staticJRadioButtonjc2=newJRadioButton("插入操作");

staticJRadioButtonjc3=newJRadioButton("删除操作");

staticJRadioButtonjc4=newJRadioButton("修改操作");

staticJButtonjb1=newJButton("确定");//按钮

staticJButtonjb2=newJButton("返回");

staticButtonGroupbg=newButtonGroup();

publicstaticintflag;

staticCheckch=newCheck();

publicvoidxuanze()

{

setTitle("操作选择");//设置界面内容

setSize(300,270);//界面大小

setLayout(null);//界面布局

jl.setBounds(70,10,150,20);//设置位置大小

jc1.setBounds(60,50,150,20);

jc2.setBounds(60,90,150,20);

jc3.setBounds(60,130,150,20);

jc4.setBounds(60,170,150,20);

jb1.setBounds(80,210,60,20);

jb2.setBounds(160,210,60,20);

jc1.setSelected(true);//设为选中

bg.add(jc1);

bg.add(jc2);

bg.add(jc3);

bg.add(jc4);

add(jl);

add(jc1);

add(jc2);

add(jc3);

add(jc4);

add(jb1);

add(jb2);

jc1.addActionListener(this);//加入事件监听

jc2.addActionListener(this);

jc3.addActionListener(this);

jc4.addActionListener(this);

jb1.addActionListener(this);

jb2.addActionListener(this);

setVisible(true);

}

publicintgetState(){

returnflag;

}

publicstaticvoidopration()

{

newOpration().xuanze();

}

publicvoidactionPerformed(ActionEvente)

{

Objects=e.getSource();//事件源

if(s.equals(jb1))

{

if(jc1.isSelected()){

flag=1;

setVisible(false);

ch.ch();

}

elseif(jc2.isSelected()){

flag=2;

setVisible(false);

ch.ch();

}

elseif(jc3.isSelected()){

flag=3;

setVisible(false);

ch.ch();

}

elseif(jc4.isSelected()){

flag=4;

setVisible(false);

ch.ch();

}

}

if(s.equals(jb2))

{

System.exit(0);

}

}

}

5.3汽车查询代码

在此模式下输入汽车的某一项信息,可以获得汽车编号、汽车种类、载客量等信息,如输入汽车编号01,便可以显示01车的其他信息。

packagechangtu;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.sql.*;

importjava.io.*;

publicclassQchepiaoextendsJFrameimplementsActionListener

{

Statementst=null;

JTextAreaja=newJTextArea("编号售票剩余已售\n");

JTextFieldjt=newJTextField();

JRadioButtonjc1=newJRadioButton("查询全部");

JRadioButtonjc2=newJRadioButton("部分查询");

ButtonGroupbg=newButtonGroup();

JButtonjb1=newJButton("查询");

JButtonjb2=newJButton("返回");

JButtonjb3=newJButton("退出");

staticOprationop=newOpration();

publicvoidQcp(Statementsta)

{

this.st=sta;//Statement语句传输

setSize(400,300);

setLayout(null);

setVisible(true);//设置界面可见

jc1.setBounds(20,20,80,20);

jc2.setBounds(20,60,80,20);

jt.setBounds(20,100,80,30);

jb1.setBounds(30,150,60,30);

jb2.setBounds(120,220,60,30);

jb3.setBounds(230,220,60,30);

ja.setBounds(120,20,250,200);

bg.add(jc1);

bg.add(jc2);

add(jc1);

add(jc2);

add(jt);

add(jb1);

add(jb2);

add(jb3);

add(ja);

jc1.addActionListener(this);

jc2.addActionListener(this);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente)

{

Objects=e.getSource();

ResultSetrs=null;

Stringa1;

if(s.equals(jb1))

{

if(jc1.isSelected())

{

try{

rs=st.executeQuery("selectbianhao,shoupiao,shengyu,yishoufromchepiao");

ja.setText("");

ja.setText("编号售票剩余已售\n");

while(rs.next()){

Stringa=rs.getString("bianhao");

Stringb=rs.getString("shoupiao");

Stringc=rs.getString("shengyu");

Stringd=rs.getString("yishou");

ja.append(a+""+b+""+c+""+d+"\n");

}

}

catch(Exceptione1){

System.out.println(e);

}

}

if(jc2.isSelected())

{

try{

ja

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1