长途机动车管理组织系统.doc

上传人:小** 文档编号:4531005 上传时间:2021-09-27 格式:DOC 页数:29 大小:315.18KB
返回 下载 相关 举报
长途机动车管理组织系统.doc_第1页
第1页 / 共29页
长途机动车管理组织系统.doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《长途机动车管理组织系统.doc》由会员分享,可在线阅读,更多相关《长途机动车管理组织系统.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、,滁滁 州州 学学 院院课课程程设设计计报报告告课课程名称:程名称: 数据库系统原理与设计 设计题设计题目目: 长途汽车管理系统 系系 别别: : 计算机科学与技术系 专专 业业: : 计算机科学与计算专业 组组 别别: : 第二组 起止日期起止日期: 2010 年 12 月 7 日 2010 年 12 月 28 日指指导导教教师师: 周强 计计算机科学与技算机科学与技术术系二系二一一年制年制,课程设计题目长途汽车信息管理系统组长粱炎光学号2008210768班级08 计科系别计算机科学与技术系专业计算机科学与技术专业组员范远军、王超、熊国富、张雷指导教师 周强课程设计目的实现长途汽车管理系统

2、的一些基本的功能,能够熟练地掌握 SQL 语句的用法,并且懂得如何团队协作开发程序课程设计所需环境Windows xp 系统、SQL server 2000、JDK 和 JCreator课程设计任务要求要求包括汽车信息管理系统、票价信息管理系统、线路信息管理系统课程设计工作进度计划及分工情况序号起止日期工 作 内 容分工情况111 月 29 日12 月 1日确定组员分工情况、阐明系统的开发背景组长和组员共同完成212 月 2 日12 月 3 日确定系统功能的基本描述以及需求分析熊国富、范远军负责此项312 月 4 日12 月 9 日ER 图的设计、完成数据库创建粱炎光负责此项412 月 10

3、日12 月 13日汽车管理系统系统的界面代码设计王超负责查询等操作界面,粱炎光负责系统登陆界面512 月 14 日12 月 17日汽车管理系统系统的功能代码设计张雷,熊国富负责此项612 月 18 日12 月 20日连接数据库、测试程序、以及调试程序所有人共同完成712 月 21 日12 月 26日完成课程设计报告的填写与设计范远军负责此项,目录1 需需求求分分析析.41.1 课程设计任务及要求.41.2 课程设计思想.42 概概念念模模型型设设计计.52.1 功能设计.52.2 长途汽车信息系统功能模块.62.3 系统 E_R 图.73 逻逻辑辑模模型型设设计计与与优优化化.74 物物理理设

4、设计计与与实实施施.85 详详细细设设计计.85.1 登陆界面代码.85.2 主操作界面.115.3 汽车查询代码.145.4 汽车插入、修改等代码.175.5 车票删除代码.216 调调试试与与操操作作说说明明.236.1 登陆界面 .236.2 选择操作界面.236.3 选择表界面.246.4 查询界面 .256.5 部分查询界面.256.6 修改、插入界面.256.7 删除界面 .267 设设计计心心得得.26致致谢谢.28参参考考文文献献.28教研室审核意见:教研室主任签字: 年 月 日,1 需求分析需求分析1.1 课课程程设计设计任任务务及要求及要求长途汽车信息管理系统运用在汽车站部

5、门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的的依据。早期的长途汽车站信息主要是人工记录和人工管理的,不仅不容易记录,而且还不容易保存。随着计算机的不断普及和软件系统的不断发展加上信息系统开发的迫切需求,计算机长途汽车站信息管理系统应运而生了。随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,长途汽车站信息管理系统在人们的日常生活中发挥着越来越重要的作用。本系统实现了汽车线路信息,汽车信息,票务信息的查询和管理,以满足人们的需求。线路信息管理:车站管理员可以在线路

6、信息管理模块对车站线路信息进行管理。管理员首先建立汽车线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。管理员也可以通过本模块查询到所有需要查询的线路的详细信息。汽车信息管理:管理员可以在汽车信息管理模块实现对汽车信息的管理。管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作。管理员也可以在整个数据库中查寻相关汽车信息。车票信息管理:,管理员可以在车票管理模块实现对线路车票信息的管理。管理员根据相应的汽

7、车线路信息来设置相应的车票详细信息。当有新的线路添加的时候,要把相应的车票信息添加到数据库中,管理员还可以对某条线路的车票信息进行修改,删除和查询操作。1.2 课课程程设计设计思想思想(1)充分利用所学过的数据库的相关知识建立长途汽车管理系统所需的数据库。(2)进行详细的功能设计,在 Java 中利用 ODBC 连接数据库技术对数据库中数据进行操作,并能进行多表之间的链接与查询操作。2 概念模型概念模型设计设计2.1 功能功能设计设计在 Java 中利用 ODBC 访问技术操作数据库,建立到数据库中的映射类,在对话框类中通过引用映射类完成对数据库的操作。程序分为登陆界面,选择界面,线路信息界面

8、,汽车信息界面,车票信息这几个主体界面。使用时应先知道管理员帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,退出程序菜单选项。所需时间等,可以对它们进行添加,查询,删除,其中线路信息界面包括包括出发地、目的地、出发时间、修改,返回主菜单的操作;汽车信息和车票信息的界面与其类似。需要特别说明的是,当对数据进行操作时,在查询框内输入提示数据内容,对话框的表中和提示栏中都会出现所查询的数据,我们可以在提示栏中对数据进行删除和修改操作。,2.2 长长途汽途汽车车信息系信息系统统功能模功能模块块图 2-1,2.3 系系统统 E_R 图图图 2-23 逻辑逻辑模型模型设计设计与与

9、优优化化管理员登陆: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)Not null是Passwd密码Varchar(20)Not

10、null表 2: 路线表字段字段名称数据类型是否为空主码外码备注chufadi出发地Char(20)Not null是mudidi目的地Char(20)Not null是shijian时间timeNot nullbusno汽车号Char(20)Not null是表 3: 汽车表字段字段名称数据类型是否为空主码外码备注busno汽车号Char(20)Not null是zhonglei类别Char(20)Not nullzaike载客Char(20)Not null表 4: 行驶表字段字段名称数据类型是否为空主码外码备注busno汽车号Char(20)Not nullchufadi出发地Char(

11、20)Not nullmudidi目的地Char(20)Not nulllicheng里程Char(20)Not null表 5: 车票表字段字段名称数据类型是否为空主码外码备注busno汽车号Char(20)Not null是ticketno车票号Char(20)Not null是shoupiao售票Char(20)Not nullyishou已售Char(20)Not nullshengyu剩余Char(20)Not nullpiaojia票价Char(20)Not null 5 详细设计详细设计5.1 登登陆陆界面代界面代码码在此模式下通过输入管理员名及密码,以获取权限,进入各项操作的界

12、面。package changtu;import java.awt.*;,import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;public class denglu extends JFrame implements ActionListenerstatic JLabel jl=new JLabel(欢迎登陆汽车管理系统);static JLabel jl2=new JLabel();static JLabel jl3=new JLabel(姓名);static JLabel jl4=n

13、ew JLabel(密码);static JButton jb1=new JButton(确定);static JButton jb2=new JButton(返回);static JTextField jt1=new JTextField();static JTextField jt2=new JTextField();static Opration op=new Opration();Statement st;public void Dl(Statement sta)this.st=sta;setSize(300,250);setVisible(true);setLayout(null);

14、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);

15、jb1.addActionListener(this);jb2.addActionListener(this);public static void main(String args)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(Exception e)System.out.println(连接失败!);return; tryConnection con=DriverManager.getConnection(jdbc:odbc:changtu, sa, );Statement stmt=con.createStatement();n

16、ew denglu().Dl(stmt);catch(Exception e) System.out.println(e); public void actionPerformed(ActionEvent e)Object s=e.getSource();ResultSet rs;if(s.equals(jb1),tryrs=st.executeQuery(select xingmin,mima from manager);while(rs.next()String a=rs.getString(xingmin);String b=rs.getString(mima);if(a.equals(

17、jt1.getText()&b.equals(jt2.getText()dispose();op.opration(); jl2.setText(姓名或密码错误!);jl2.setForeground(Color.red);catch(Exception e1) System.out.println(e); if(s.equals(jb2)System.exit(0);5.2 主操作界面主操作界面在此模式下,可以实现查询,插入,删除,及总查询等诸多功能。package changtu;import java.awt.*;import javax.swing.*;import java.awt.

18、event.*;public class Opration extends JFrame implements ActionListener,static JLabel jl=new JLabel(请选择一种操作:);/定义标签static JRadioButton jc1=new JRadioButton(查询操作);/单选按钮static JRadioButton jc2=new JRadioButton(插入操作);static JRadioButton jc3=new JRadioButton(删除操作);static JRadioButton jc4=new JRadioButton

19、(修改操作);static JButton jb1=new JButton(确定);/按钮static JButton jb2=new JButton(返回);static ButtonGroup bg=new ButtonGroup();public static int flag;static Check ch=new Check();public void xuanze()setTitle(操作选择);/设置界面内容setSize(300,270);/界面大小setLayout(null);/界面布局jl.setBounds(70,10,150,20);/设置位置大小jc1.setBou

20、nds(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);j

21、c1.addActionListener(this);/加入事件监听jc2.addActionListener(this);jc3.addActionListener(this);jc4.addActionListener(this);jb1.addActionListener(this);jb2.addActionListener(this);setVisible(true);public int getState()return flag;public static void opration()new Opration().xuanze();public void actionPerfo

22、rmed(ActionEvent e)Object s=e.getSource();/事件源if(s.equals(jb1)if(jc1.isSelected()flag=1;setVisible(false);ch.ch();else if(jc2.isSelected()flag=2;setVisible(false);,ch.ch();else if(jc3.isSelected()flag=3;setVisible(false); ch.ch();else if(jc4.isSelected()flag=4;setVisible(false); ch.ch();if(s.equals(

23、jb2)System.exit(0);5.3 汽汽车查询车查询代代码码在此模式下输入汽车的某一项信息,可以获得汽车编号、汽车种类、载客量等信息,如输入汽车编号 01,便可以显示 01 车的其他信息。package changtu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;public class Qchepiao extends JFrame implements ActionListener Statement st=null;JTextA

24、rea ja=new JTextArea(编号 售票 ,剩余 已售n);JTextField jt=new JTextField();JRadioButton jc1=new JRadioButton(查询全部);JRadioButton jc2=new JRadioButton(部分查询);ButtonGroup bg=new ButtonGroup();JButton jb1=new JButton(查询);JButton jb2=new JButton(返回);JButton jb3=new JButton(退出);static Opration op=new Opration();pu

25、blic void Qcp(Statement sta) 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,

26、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);public void actionPerformed(ActionEvent e)Object s=e.getSource();

27、ResultSet rs=null;String a1;if(s.equals(jb1)if(jc1.isSelected()tryrs=st.executeQuery(select bianhao,shoupiao,shengyu,yishou from chepiao); ja.setText(); ja.setText(编号 售票 剩余 已售n);while(rs.next()String a=rs.getString(bianhao);String b=rs.getString(shoupiao);String c=rs.getString(shengyu);String d=rs.g

28、etString(yishou); ja.append(a+b+c+d+n); catch(Exception e1) System.out.println(e); if(jc2.isSelected() try ja.setText();, ja.setText(编号 售票 剩余 已售n); rs=st.executeQuery(select bianhao,shoupiao,shengyu,yishou from chepiao where bianhao=+jt.getText()+ or shoupiao=+jt.getText()+or shengyu=+jt.getText()+o

29、r yishou=+jt.getText()+); while(rs.next() String a=rs.getString(bianhao);String b=rs.getString(shoupiao);String c=rs.getString(shengyu);String d=rs.getString(yishou); ja.append(a+b+c+d+n); catch(Exception e1) System.out.println(e); if(s.equals(jb2)dispose();op.xuanze();if(s.equals(jb3)System.exit(0)

30、;5.4 汽汽车车插入、修改等代插入、修改等代码码在此模式下,我们可以轻松的实现对汽车的信息的修改,以及在增加班车后,实现插入该车的信息。,package changtu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Ichepiao extends JFrame implements ActionListenerStatement st=null;JLabel jl1=new JLabel(编号);JLabel jl2=new JLabel(售票);J

31、Label jl3=new JLabel(剩余);JLabel jl4=new JLabel(已售);JLabel jl5=new JLabel();JTextField jt1=new JTextField();JTextField jt2=new JTextField();JTextField jt3=new JTextField();JTextField jt4=new JTextField();JButton jb1=new JButton(插入);JButton jb2=new JButton(返回);JButton jb3=new JButton(修改); static Oprat

32、ion op=new Opration();public void Icp(Statement sta)this.st=sta;setLayout(null);setSize(300,300);setVisible(true);jl1.setBounds(20,20,80,20);jl2.setBounds(20,60,80,20);jl3.setBounds(20,100,80,20);jl4.setBounds(20,140,80,20);jt1.setBounds(100,20,40,20);jt2.setBounds(100,60,40,20);jt3.setBounds(100,10

33、0,40,20);,jt4.setBounds(100,140,40,20);jl5.setBounds(100,180,100,20);jb1.setBounds(200,100,60,20);jb2.setBounds(200,140,60,20); jb3.setBounds(200,60,60,20);add(jl1);add(jl2);add(jl3);add(jl4);add(jl5);add(jt1);add(jt2);add(jt3);add(jt4);add(jb1);add(jb2);add(jb3);jb1.addActionListener(this);jb2.addA

34、ctionListener(this);jb3.addActionListener(this);public void actionPerformed(ActionEvent e)Object s=e.getSource();if(s.equals(jb1)tryString st1=insert into chepiao values(+jt1.getText()+,+jt2.getText()+,+jt3.getText()+,+jt4.getText()+);st.executeUpdate(st1);jl5.setText(插入成功);jl5.setForeground(Color.r

35、ed);,catch(Exception e1) System.out.println(e); if(s.equals(jb2)dispose(); op.xuanze();if(s.equals(jb3)if(jt2.getText()!=null&!.equals(jt2.getText()/判断文本非空tryString str2=update chepiao set shoupiao=+jt2.getText()+ where bianhao=+jt1.getText()+; st.executeUpdate(str2);/更新数据库catch(Exception e1) System

36、.out.println(e); if(jt3.getText()!=null&!.equals(jt3.getText()tryString str2=update chepiao set shengyu=+jt3.getText()+ where bianhao=+jt1.getText()+; st.executeUpdate(str2);catch(Exception e1) System.out.println(e); if(jt4.getText()!=null&!.equals(jt4.getText()try,String str2=update chepiao set yis

37、hou=+jt4.getText()+ where bianhao=+jt1.getText()+; st.executeUpdate(str2);catch(Exception e1) System.out.println(e); jl5.setText(修改车票信息成功);jl5.setForeground(Color.blue);/设置字体颜色this.dispose();5.5 车车票票删删除代除代码码在此模式下,我们可以删除指定的无用的汽车信息,以便汽车信息的更新。package changtu;import java.awt.*;import java.awt.event.*;im

38、port javax.swing.*;import java.sql.*;public class Dchepiao extends JFrame implements ActionListenerStatement st=null;JTextField jt1=new JTextField();JLabel jl1=new JLabel(删除的信息);JLabel jl2=new JLabel();JButton jb1=new JButton(删除);JButton jb2=new JButton(返回);static Opration op=new Opration();public v

39、oid Dcp(Statement sta)this.st=sta;setSize(200,200);,setLayout(null);setVisible(true);jl1.setBounds(60,20,100,20);jt1.setBounds(70,40,40,20);jl2.setBounds(40,80,140,20);jb1.setBounds(40,120,60,20);jb2.setBounds(110,120,60,20);add(jl1);add(jl2);add(jb1);add(jb2);add(jt1);jb1.addActionListener(this);jb

40、2.addActionListener(this);public void actionPerformed(ActionEvent e)JButton jb=(JButton)e.getSource();ResultSet rs=null;if(jb=jb1)tryString st1=delete from chepiao where bianhao=+jt1.getText()+or shoupiao=+jt1.getText()+or shengyu=+jt1.getText()+or yishou=+jt1.getText()+;st.executeUpdate(st1); jl2.s

41、etText(删除车票信息成功) ; jl2.setForeground(Color.red);catch(Exception e1) System.out.println(e); ,if(jb=jb2)dispose();/释放内存 op.xuanze();/调用 Opration 中 xuanze 方法6 调试调试与操作与操作说说明明6.1 登登陆陆界面界面编译程序,会出现如图 5-1 的登陆界面,管理员通过输入管理员姓名和密码,可以登录汽车管理系统。 图 5-1:登陆界面6.2 选择选择操作界面操作界面管理员通过此操作界面可以选择要实现的操作。, 图 5-2:操作界面6.3 选择选择表界

42、面表界面通过单击查询操作进入这个界面,来选择要查询的信息。 图 5-3:选择表界面,6.4 查询查询界面界面 图 5-4:查询界面6.5 部分部分查询查询界面界面 图 5-5:部分查询界面6.6 修改、插入界面修改、插入界面管理员可以通过该界面来实现插入,修改该系统的信息,如图 5-6 为插入汽车信息界面。, 图 5-6:修改、插入界面6.7 删删除界面除界面管理员可以通过该界面,删除无用的信息。 图 5-7:删除界面7 设计设计心得心得这学期刚开学学校就特安排我们进行为期二周的数据库的课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。在此次长途汽车信息管

43、理系统的开发过程中,遇到了许多的问题比如:数据库连接错误,代码,对象方法名搞不清,但经过认真思考并在老师和同学的帮助下顺利完成了本次设计,这次设计有很多东西值得我们思考并总结。开发过程大体可分为以下几个步骤:(1)了解长途车站信息系统分析:如需求分析和开发工具选择,功能分配。思,考要实现整个程序大体需要的几个模块和其中用到的 Java 基本操作符、语句等。(2)画设计方案流程图并具体化:用流程图的形式展现基本编程思想。将流图中的大模块的具体实现思考清楚,并想好实现的代码。(3)编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中将发现总体设计和模块思想会存在很多问题,需不断改进

44、如何实现各函数功能,达到预期效果也将是一项繁复的工作。(4)代码的调试:在 Java 环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。(5)最后修饰:程序可以正确运行之后,在不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化,增强程序的新意与可行性。以前虽然学过 Java 语言,但通过这次课程设计,使我更加熟悉的掌握了Java 语言的运用。帮助我熟悉了更多 Java 语言的功能(连接数据库),提高了我的动手能力,从中学到了许多解决实际问题的宝贵经验使我对自己更有自信,对编程的兴趣更深了。通过这次课程设计

45、,使我们更加成熟的掌握了 Java 语言的运行。帮助我们熟悉了更多的 Java 语言功能,提高了我们的动手能力。最后,在这里郑重的感谢指导老师的帮助,让我得到了许多意想不到的收获。也感谢学校提供给我们这次宝贵的实践机会,让我们可以动手动脑,大大提高了个人的能力和素质。致致谢谢经过这一学期的系统学习,我们对数据库有了一定的了解,并且学会了一些常用的操作方法以及熟练应用 SQL 语言。在这次的课程设计中,我们都有很大的收益但同时也遇到了很多的困难,不过最后我们还是完成了任务。这当中与我们团队的努力与老师的耐心指导是分不开的。由于我们本身知识的有限性,在遇到困难时,我们不得不上网搜索相关知识点,解决我们的困难。老师的讲解与建议,也给了我们不少的帮助。我们课程设计的完成,主要归功于我们团队的不断努力以及老师的耐心指导。所以我们在这儿要感谢给我们帮助的同学及我们团队的每个成员和老师。参考文献参考文献1万常选 廖国琼 吴京慧 刘喜平, 数据库系统原理与设计北京:清华大学出版,社, 20092王珊 萨师煊, 数据库系统概论北京:高等教育出版社3黄晓东等, Java 课程设计案例精编中国水利水电出版社指指导导教教师评语师评语: 指导教师签名: 年 月 日成 绩 ,教研室审核意见:教研室主任签字: 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

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