景点售票系统设计报告源代码
景区门票销售管理系统

二、课程设计题目要求:(2)描述该实例的业务信息和管理工作的要求;(3)列出实体、联系;(4)指出实体和联系的属性;(5)画出E-R 图;(6)将E-R 图转换成关系模式,并注明主码和外码;(7)建立数据字典;(8)创建数据库;(9)根据题目的要求写查询、存储过程、触发器等。
(32)某景点门票销售管理系统●实现票价管理(应分老年、小孩、成人、团体等);●实现营业员管理;●实现门票销售、退票管理;●创建存储过程统计指定日期的门票销售情况;●创建存储过程统计指定月份的门票销售情况;●创建存储过程统计指定日期各种价格的门票销售情况;●创建存储过程统计指定营业员指定日期的收费情况;●创建表间关系。
第一章系统设计1.1系统介绍设计一个景点门票销售管理系统(view Sell System 简称VSS),基本能够实现景点进行门票销售的一些流程,做一些简单的信息记录。
功能模块包括:用户登录系统(设置不同人员的登录身份,以防有人恶意对数据进行更改),进入门票管理系统(即门票入库系统,对所有门票的信息做好记录,以便查找),销售系统(对门票的销售量进行统计,以便做出更好的规划)。
总体目标设计一套软件能够合理有序的对门票进行信息化的管理。
最终目地当然是为商家带来利润了。
1.2系统功能和开发工具系统主要有四大功能模块:(1).用户登录管理(2).票价管理(3).营业员管理(4).门票销售管理(5).退票管理开发工具:使用的数据库Microsoft SQL Server 2005通过网页系统进行实现应用到asp、hmtl、ps制作图片等工具来完成。
1.3系统模块第二章需求分析2.1数据库设计数据库结构设计的好坏将直接对应用系统的效率以及与实现的效果产生影某景点门票销售管理系统响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度等等。
2.2需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。
景点网上订票系统开题报告

景点网上订票系统开题报告景点网上订票系统开题报告一、引言随着互联网的迅猛发展,越来越多的人选择在网络上进行旅行预订,其中景点门票预订成为了一个热门的需求。
为了满足人们对于便捷、高效的旅行方式的需求,我们决定开发一个景点网上订票系统。
该系统将通过提供在线预订、支付、取票等功能,为用户提供更加便捷的旅行体验。
二、背景分析1. 旅游市场的需求近年来,旅游业蓬勃发展,越来越多的人选择旅行作为休闲娱乐方式。
然而,传统的景点门票购买方式存在一些问题,如排队等待、票务信息不透明等。
因此,开发一个景点网上订票系统可以满足人们对于便捷、高效旅行方式的需求。
2. 网络技术的快速发展随着互联网技术的迅猛发展,越来越多的人开始习惯在网络上进行各种活动,包括旅行预订。
因此,开发一个景点网上订票系统可以充分利用互联网技术,提供更加便捷的旅行服务。
三、系统目标本项目旨在开发一个功能完善、操作简便的景点网上订票系统,以提供用户便捷的旅行预订体验。
具体目标包括:1. 提供在线浏览景点信息和门票价格的功能;2. 提供在线预订、支付和取票的功能;3. 提供用户个人信息管理和订单查询的功能;4. 提供景点管理功能,包括票务管理和订单管理。
四、系统功能1. 景点信息浏览功能用户可以通过系统浏览各个景点的详细信息,包括景点介绍、开放时间、门票价格等。
2. 在线预订功能用户可以通过系统选择心仪的景点和日期,并在线预订门票。
系统将根据用户选择的数量和日期计算出总价,并提供支付方式选择。
3. 在线支付功能用户可以选择合适的支付方式进行支付,包括支付宝、微信支付等。
系统将提供支付接口,确保支付安全和可靠。
4. 取票功能用户在支付成功后,可以选择将门票快递至指定地址或选择自助取票。
自助取票将通过扫描二维码的方式进行。
5. 用户个人信息管理功能用户可以在系统中管理个人信息,包括修改密码、绑定手机号码等。
6. 订单查询功能用户可以通过系统查询自己的订单信息,包括预订日期、数量、支付状态等。
python旅游景区门票管理系统的任务书

任务书一、背景介绍1.1. 旅游景区门票管理系统的必要性随着旅游业的快速发展,各大旅游景区门票管理变得日益繁琐。
传统的手工售票方式已经无法满足日益增长的游客需求,需要引入信息化管理手段进行提升。
1.2. 为什么选择Python语言Python语言具有简洁、易读、易维护等特点,适合用于开发门票管理系统。
Python的高效、丰富的库使得我们能够快速的完成开发任务。
1.3. 该系统的应用前景该系统不仅可以提高景区门票的售票效率,还可以实现景区内部门票管理、财务统计等功能,将带来更多的商业价值。
二、开发目标2.1. 系统的基本功能a. 售票系统:游客可以通过系统进行门票选购和支付。
b. 管理系统:景区管理员可以通过系统管理门票价格、库存、票种等信息。
c. 数据统计:系统可以对门票销售情况进行统计分析,并生成报表。
2.2. 用户需求系统需要满足游客、景区管理员和财务人员的不同需求,包括简便的购票流程、直观的管理界面和准确的报表数据。
2.3. 技术要求系统需要具备安全性高、响应速度快、易于维护的特点。
三、开发计划3.1. 需求分析阶段(1个月)a. 调研市场,分析用户需求,明确系统功能和界面设计。
3.2. 系统设计阶段(2个月)a. 制定系统架构、数据库设计、界面设计等。
3.3. 编码与测试阶段(3个月)a. 根据设计方案开发系统,进行系统测试和性能优化。
3.4. 完善与交付阶段(1个月)a. 完善系统功能,准备系统上线所需的文档和培训材料,进行最终测试和交付。
四、团队组建4.1. 项目经理:1名a. 负责项目的总体规划和管理,协调团队成员的工作。
4.2. 系统分析师:2名a. 负责需求分析和系统设计。
4.3. 程序员:3名a. 负责系统的编码、测试和性能优化。
4.4. 测试人员:2名a. 负责系统的测试工作,保证系统的稳定性和安全性。
4.5. 培训师:1名a. 负责系统上线前的培训工作,为景区管理员进行系统操作培训。
基于JavaEE的景点订票系统的设计与实现

基于JavaEE的景点订票系统的设计与实现一、项目背景随着旅游业的快速发展,景点订票系统成为旅游行业的重要组成部分。
传统的景点订票方式已经不能满足人们的需求,人们更倾向于通过网络和移动端进行景点门票的预订购买。
基于此背景,我们将设计并实现一款基于JavaEE的景点订票系统,在系统中实现景点信息的展示和门票的在线预订购买功能。
二、系统设计1. 系统架构我们采用JavaEE技术作为系统的开发平台,系统采用MVC(模型-视图-控制器)架构,将系统分为模型层、视图层和控制器层。
模型层负责数据的存储和处理,视图层负责界面的展示,控制器层负责业务逻辑的处理。
2. 数据库设计系统数据库采用关系型数据库,设计景点信息表、用户信息表和订单信息表。
景点信息表存储景点的基本信息,用户信息表存储用户的基本信息,订单信息表存储用户的订单信息。
3. 系统功能模块设计(1)景点信息模块该模块用于展示景点的基本信息,包括景点名称、景点描述、开放时间、门票价格等信息。
(2)用户管理模块该模块用于用户的注册、登录、个人信息管理等功能。
该模块用于用户预订景点门票、查看订单信息、取消订单等功能。
该模块用于系统管理员对景点信息、用户信息、订单信息等进行管理。
三、系统实现1. 开发工具我们采用Eclipse作为系统的开发工具,使用Tomcat作为系统的Web服务器,使用MySQL作为系统的数据库。
2. 技术选型系统采用Spring框架进行控制器和服务层的开发,采用Hibernate框架进行数据层的开发。
同时使用JSP页面进行前端界面的设计,采用JSTL技术进行数据展示和交互处理。
3. 开发步骤(1)搭建开发环境:安装Eclipse、Tomcat、MySQL等开发工具和软件。
(2)创建项目:在Eclipse中创建JavaEE项目,并导入Spring和Hibernate的相关包。
(3)数据库设计:根据系统需求设计数据库表结构,并创建相应的表。
景点售票系统源代码

import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;public class LogOnpublic static void main(String[] args)throws SQLException final JFrame jfrmlogin=new JFrame("系统登录");jfrmlogin.setSize(400,280);DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();jfrmlogin.setLocation((int) (screenSize.width-400)/2,(int)(screenSize.height-300)/2);//设置框出现的位置JPanel p1=new JPanel();p1.add(new JLabel("用户名:"));final JTextField jtxtuser=new JTextField(14);JPanel p2=new JPanel();p2.add(new JLabel("密码:"));final JPasswordField jspwd=new JPasswordField(14);JPanel p3=new JPanel();final JButton jbtUser=new JButton("登录");final JButton jbtreg=new JButton("注册");JButton jbtexit=new JButton("退出");p1.add(jtxtuser);p2.add(jspwd);p3.add(jbtUser);p3.add(jbtreg);p3.add(jbtexit);jbtUser.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)Connection conn=null;ResultSet rs=null;Statement stmt=null;if(e.getSource()==jbtUser)try {Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");stmt=conn.createStatement();String USER_NAME=jtxtuser.getText();rs = stmt.executeQuery("select * from TICKET_USERS where USER_NAME='"+jtxtuser.getText()+"'and USER_PWD='"+jspwd.getText()+"'");if(rs.next())if(USER_NAME.equals("admin")==false)MainUser mf=new MainUser();mf.setVisible(true);jfrmlogin.dispose();elseMainFrame mf=new MainFrame();mf.setVisible(true);jfrmlogin.dispose();else{JOptionPane.showMessageDialog(null,"用户名或密码不一致,请重新输入!","系统提示",JOptionPane.ERROR_MESSAGE);jtxtuser.setText("");jspwd.setText("");} catch (Exception ex) {JOptionPane.showMessageDialog(null,"用户名或密码不一致,请重新输入!","系统提示",JOptionPane.ERROR_MESSAGE);jtxtuser.setText("");jspwd.setText("");jbtreg.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)Connection conn=null;ResultSet rs=null;Statement stmt=null;if(e.getSource()==jbtreg)try {Class.forName("oracle.jdbc.driver.OracleDriver");conn =DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");stmt=conn.createStatement();rs = stmt.executeQuery("insert into TICKET_USERS(USER_NAME,USER_PWD)values('"+jtxtuser.getText()+"','"+jspwd.getText()+"')");if(rs.next())JOptionPane.showMessageDialog(null,"你已成功注册!可以登录了!","系统提示",JOptionPaneRMATION_MESSAGE);jtxtuser.setText("");jspwd.setText("");else{JOptionPane.showMessageDialog(null,"用户注册失败!","系统提示",JOptionPane.ERROR_MESSAGE);jtxtuser.setText("");jspwd.setText("");} catch (Exception ex) {JOptionPane.showMessageDialog(null,"用户注册失败!","系统提示",JOptionPane.ERROR_MESSAGE);jtxtuser.setText("");jspwd.setText("");jbtexit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.exit(0);jfrmlogin.getContentPane().setLayout(new GridLayout(3,1));jfrmlogin.getContentPane().add(p1);jfrmlogin.getContentPane().add(p2);jfrmlogin.getContentPane().add(p3);jfrmlogin.setVisible(true);import java.sql.*;public class ConnectOracle{public static void connection(String[] args) throws SQLException {//Connection conn=null;//Statement stmt=null;//ResultSet rs=null;//JDBC 直连Oracle数据库加载驱动try {System.out.println("正在连接数据库.......");Class.forName("oracle.jdbc.driver.OracleDriver");/*conn =*/DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "system", "123");System.out.println("已经连接到数据库.....");//stmt=conn.createStatement();//stmt.executeQuery("insert intostudent(STUID,STUNAME,SEX,AGE)values(0001,'李华','男',20)");//rs=stmt.executeQuery("select * from STUDENT");//System.out.println(" stuID "+" StuName " + " Sex " +" Age");//while(rs.next()){//int STUID=rs.getInt("STUID");//String STUNAME=rs.getString("STUNAME");//String SEX=rs.getString("SEX");//int AGE=rs.getInt("AGE");//System.out.println(" "+STUID+" "+STUNAME+" "+SEX+" "+AGE);//System.out.println(" STUID "+STUID+" STUNAME"+STUNAME+"SEX"+SEX+"AGE"+AGE);} catch (Exception ex) {//System.out.println("出现的异常为" + ex);;import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class AddTicket extends JPanel implements ActionListenerConnection con;Statement st;JLabel jLabel1=new JLabel("票单价:");JLabel jLabel2=new JLabel("票日期:");JTextField jTextField1=new JTextField();JTextField jTextField2=new JTextField();JButton jButton1=new JButton("确定增加");public AddTicket()try{jbInit();catch(Exception exception){exception.printStackTrace();private void jbInit() throws ExceptionClass.forName("oracle.jdbc.driver.OracleDriver");con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");this.setLayout(null);jLabel1.setBounds(new Rectangle(40,40,64,24));jLabel2.setBounds(new Rectangle(40,100,53,22));jTextField1.setBounds(new Rectangle(102,40,200,30));jTextField2.setBounds(new Rectangle(102,100,200,30));jButton1.setBounds(new Rectangle(120,220,150,32));jButton1.addActionListener(this);this.add(jLabel1);this.add(jTextField1);this.add(jLabel2);this.add(jTextField2);this.add(jButton1);ResultSet rs=null;st=con.createStatement();rs = st.executeQuery("select * from TICKET_TRANSCRIPT");if(rs.next())jTextField1.setText(rs.getString("TICKET_PRICE"));public void actionPerformed(ActionEvent e)try{st=con.createStatement();st.executeUpdate("delete from TICKET");st.executeUpdate("delete from TICKET_ORDER_FORM");st.executeUpdate("insert into TICKET select * from TICKET_TRANSCRIPT");st.executeUpdate("update TICKET set TICKET_DATE='"+jTextField2.getText()+"'");st.executeUpdate("update TICKET set TICKET_PRICE='"+jTextField1.getText()+"'");JOptionPane.showMessageDialog(this,"票增加成功!");jTextField1.setText("");jTextField2.setText("");catch(Exception ex){JOptionPane.showMessageDialog(this,"票增加失败!");ex.printStackTrace();import javax.swing.*;import javax.swing.table.JTableHeader;import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;public class AdminInquireTicket extends JFrame Connection con;Statement st;private JScrollPane scpDemo;private JTableHeader jth;private JTable tabDemo;private JButton btnShow;private JButton btnShow1;public AdminInquireTicket()super("华清池售票系统");this.setSize(430,400);this.setLayout(null);this.setLocation(500,180);this.scpDemo = new JScrollPane();this.scpDemo.setBounds(10,50,390,270);this.btnShow = new JButton("显示票信息");this.btnShow.setBounds(10,10,390,30);this.btnShow1 = new JButton("返回");this.btnShow1.setBounds(260,330,120,30);JLabel jLabel1=new JLabel("余票总数:");JTextField jTextField1=new JTextField();jLabel1.setBounds(new Rectangle(20,330,100,30));jTextField1.setBounds(new Rectangle(90,330,70,30)); add(this.scpDemo);add(this.btnShow);add(this.btnShow1);this.add(jLabel1);this.add(jTextField1);this.setVisible(true);try{Class.forName("oracle.jdbc.driver.OracleDriver");con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");ResultSet rs=null;int n = 0;st=con.createStatement();rs = st.executeQuery("select * from TICKET");while(rs.next())n++;jTextField1.setText(""+n+"");}catch(Exception exception){exception.printStackTrace();this.btnShow1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) MainFrame mu=new MainFrame();mu.setVisible(true);dispose();this.btnShow.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)btnShow_ActionPerformed(ae);public void btnShow_ActionPerformed(ActionEvent ae)try{Class.forName("oracle.jdbc.driver.OracleDriver");Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");String sql = "select * from TICKET";PreparedStatement pstm = con.prepareStatement(sql);ResultSet rs = pstm.executeQuery();int count = 0;while(rs.next())count++;rs = pstm.executeQuery();Object[][] info = new Object[count][4];count = 0;while(rs.next())info[count][0] = rs.getString("TICKET_NUM"); info[count][1] = rs.getString("TICKET_DATE");info[count][2] = rs.getString("TICKET_PRICE");count++;String[] title = {"票号","日期","票价"};this.tabDemo = new JTable(info,title);this.jth = this.tabDemo.getTableHeader();this.scpDemo.getViewport().add(tabDemo);}catch(ClassNotFoundException cnfe){JOptionPane.showMessageDialog(null,"查询失败!","错误",JOptionPane.ERROR_MESSAGE);}catch(SQLException sqle){JOptionPane.showMessageDialog(null,"查询失败!","错误",JOptionPane.ERROR_MESSAGE);import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class BuyTicket extends JPanel implements ActionListenerConnection con;Statement st;JLabel jLabel1=new JLabel("用户名:");JLabel jLabel2=new JLabel("票编号:");JLabel jLabel3=new JLabel("票单价:");JLabel jLabel4=new JLabel("票日期:");JTextField jTextField1=new JTextField();JTextField jTextField2=new JTextField();JTextField jTextField3=new JTextField();JTextField jTextField4=new JTextField();JButton jButton1=new JButton("确定购买");public BuyTicket()try{jbInit();catch(Exception exception){exception.printStackTrace();private void jbInit() throws ExceptionClass.forName("oracle.jdbc.driver.OracleDriver");con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");this.setLayout(null);jLabel1.setBounds(new Rectangle(40,40,64,24));jLabel2.setBounds(new Rectangle(40,100,53,22));jLabel3.setBounds(new Rectangle(40,160,61,27));jLabel4.setBounds(new Rectangle(40,220,61,27));jTextField1.setBounds(new Rectangle(102,40,200,30));jTextField2.setBounds(new Rectangle(102,100,200,30));jTextField3.setBounds(new Rectangle(102,160,200,33));jTextField4.setBounds(new Rectangle(102,220,200,33));jButton1.setBounds(new Rectangle(120,300,150,32));jButton1.addActionListener(this);this.add(jLabel1);this.add(jTextField1);this.add(jLabel2);this.add(jTextField2);this.add(jLabel3);this.add(jTextField3);this.add(jLabel4);this.add(jTextField4);this.add(jButton1);ResultSet rs=null;st=con.createStatement();rs = st.executeQuery("select * from (select rownum num, a.* from TICKET a)where num = (select count(1) from TICKET)");if(rs.next())jTextField2.setText(rs.getString("TICKET_NUM"));jTextField3.setText(rs.getString("TICKET_PRICE"));jTextField4.setText(rs.getString("TICKET_DATE"));public void actionPerformed(ActionEvent e)if(e.getSource()==jButton1)try{st.executeUpdate("insert into TICKET_ORDER_FORM values('"+jTextField1.getText()+"','"+jTextField2.getText() +"','"+jTextField4.getText()+"','"+jTextField3.getText()+"' )");st.executeUpdate("delete from TICKET where TICKET_NUM='"+jTextField2.getText()+"'");JOptionPane.showMessageDialog(this,"购票成功!");jTextField1.setText("");jTextField2.setText("");jTextField3.setText("");jTextField4.setText("");catch(Exception ex){JOptionPane.showMessageDialog(this,"购票失败!");ex.printStackTrace();import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class InquireTicket extends JPanel implements ActionListenerConnection con;Statement st;JLabel jLabel1=new JLabel("余票数:");JTextField jTextField1=new JTextField();JLabel jLabel2=new JLabel("票价:");JTextField jTextField2=new JTextField();JLabel jLabel3=new JLabel("日期:");JTextField jTextField3=new JTextField();public InquireTicket()try{jbInit();catch(Exception exception){exception.printStackTrace();private void jbInit() throws ExceptionClass.forName("oracle.jdbc.driver.OracleDriver");con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");this.setLayout(null);jLabel1.setBounds(new Rectangle(40,50,64,24));jTextField1.setBounds(new Rectangle(102,50,200,30));jLabel2.setBounds(new Rectangle(40,100,64,24));jTextField2.setBounds(new Rectangle(102,100,200,30));jLabel3.setBounds(new Rectangle(40,150,64,24));jTextField3.setBounds(new Rectangle(102,150,200,30));this.add(jLabel1);this.add(jTextField1);this.add(jLabel2);this.add(jTextField2);this.add(jLabel3);this.add(jTextField3);ResultSet rs=null;int count = 0;st=con.createStatement();rs = st.executeQuery("select * from TICKET");while(rs.next())jTextField2.setText(rs.getString("TICKET_PRICE"));jTextField3.setText(rs.getString("TICKET_DATE"));count++;jTextField1.setText(""+count+"");public void actionPerformed(ActionEvent e)import java.awt.Dimension;import java.awt.Font;import java.awt.Rectangle;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;public class MainFrame extends JFrame implements ActionListenerJPanel contentPane;JMenuBar jMenuBar1=new JMenuBar();JMenu jMenu0=new JMenu("系统");JMenuItem jMenuItem0=new JMenuItem("退出");JMenu jMenu1=new JMenu("增加票");JMenuItem jMenuItem1=new JMenuItem("增加票");JMenu jMenu2=new JMenu("修改票");JMenuItem jMenuItem2=new JMenuItem("修改票");JMenu jMenu3=new JMenu("查询票");JMenuItem jMenuItem3=new JMenuItem("查询票");JLabel jLabel1=new JLabel(" 华清池售票系统(管理员)");JLabel jLabel2=new JLabel(" 延安大学软件12课程设计");public MainFrame()try{setDefaultCloseOperation(EXIT_ON_CLOSE);jbInit();catch(Exception exception){exception.printStackTrace();private void jbInit() throws ExceptioncontentPane =(JPanel) getContentPane();contentPane.setLayout(null);DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();setLocation((int) (screenSize.width-400)/2,(int)(screenSize.height-360)/2);setSize(new Dimension(400,420));setTitle("华清池售票系统");jMenuItem0.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);setJMenuBar(jMenuBar1);jMenuBar1.add(jMenu0);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);jMenu0.add(jMenuItem0);jMenu1.add(jMenuItem1);jMenu2.add(jMenuItem2);jMenu3.add(jMenuItem3);contentPane.add(jLabel1);contentPane.add(jLabel2);jLabel1.setFont(new java.awt.Font("黑体",Font.BOLD,20));jLabel1.setBounds(new Rectangle(65,70,275,55));jLabel2.setFont(new java.awt.Font("黑体",Font.BOLD,16));jLabel2.setBounds(new Rectangle(90,150,200,35));public void actionPerformed(ActionEvent actionEvent) if(actionEvent.getSource()==jMenuItem0)JOptionPane.showMessageDialog(null,"您已成功退出系统!","系统提示",JOptionPane.CANCEL_OPTION);System.exit(0);if(actionEvent.getSource()==jMenuItem1)AddTicket AddT=new AddTicket();this.remove(this.getContentPane());this.setContentPane(AddT);this.setVisible(true);if(actionEvent.getSource()==jMenuItem2)ModifyTicket AddT=new ModifyTicket();this.remove(this.getContentPane());this.setContentPane(AddT);this.setVisible(true);if(actionEvent.getSource()==jMenuItem3)this.setVisible(false);AdminInquireTicket AddT=new AdminInquireTicket();this.remove(this.getContentPane());this.setContentPane(AddT);this.setVisible(true);import java.awt.Dimension;import java.awt.Font;import java.awt.Rectangle;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;public class MainUser extends JFrame implements ActionListenerJPanel contentPane;JMenuBar jMenuBar1=new JMenuBar();JMenu jMenu0=new JMenu("系统");JMenuItem jMenuItem0=new JMenuItem("退出");JMenu jMenu1=new JMenu("购票");JMenuItem jMenuItem1=new JMenuItem("购票");JMenu jMenu2=new JMenu("查询余票");JMenuItem jMenuItem2=new JMenuItem("查询余票");JMenu jMenu3=new JMenu("我的订票");JMenuItem jMenuItem3=new JMenuItem("我的订票");JLabel jLabel1=new JLabel(" 华清池售票系统(游客)");JLabel jLabel2=new JLabel(" 延安大学软件12课程设计");public MainUser()try{setDefaultCloseOperation(EXIT_ON_CLOSE);jbInit();catch(Exception exception){exception.printStackTrace();private void jbInit() throws ExceptioncontentPane =(JPanel) getContentPane();contentPane.setLayout(null);DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();setLocation((int) (screenSize.width-400)/2,(int)(screenSize.height-340)/2);setSize(new Dimension(400,420));setTitle("华清池售票系统");jMenuItem0.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);setJMenuBar(jMenuBar1);jMenuBar1.add(jMenu0);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);jMenu0.add(jMenuItem0);jMenu1.add(jMenuItem1);jMenu2.add(jMenuItem2);jMenu3.add(jMenuItem3);contentPane.add(jLabel1);contentPane.add(jLabel2);jLabel1.setFont(new java.awt.Font("黑体",Font.BOLD,20));jLabel1.setBounds(new Rectangle(65,70,275,55));jLabel2.setFont(new java.awt.Font("黑体",Font.BOLD,16));jLabel2.setBounds(new Rectangle(90,150,200,35));public void actionPerformed(ActionEvent actionEvent) if(actionEvent.getSource()==jMenuItem0)JOptionPane.showMessageDialog(null,"您已成功退出系统!","系统提示",JOptionPane.CANCEL_OPTION);System.exit(0);if(actionEvent.getSource()==jMenuItem1)BuyTicket AddT=new BuyTicket();this.remove(this.getContentPane());this.setContentPane(AddT);this.setVisible(true);if(actionEvent.getSource()==jMenuItem2)InquireTicket AddT=new InquireTicket();this.remove(this.getContentPane());this.setContentPane(AddT);this.setVisible(true);if(actionEvent.getSource()==jMenuItem3)this.setVisible(false);MyTicket AddT=new MyTicket();this.remove(this.getContentPane());this.setContentPane(AddT);this.setVisible(true);import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class ModifyTicket extends JPanel implements ActionListenerConnection con;Statement st;JLabel jLabel1=new JLabel("票单价:");JLabel jLabel2=new JLabel("票日期:");JTextField jTextField1=new JTextField();JTextField jTextField2=new JTextField();JButton jButton1=new JButton("确定修改");public ModifyTicket()try{jbInit();catch(Exception exception){exception.printStackTrace();private void jbInit() throws ExceptionClass.forName("oracle.jdbc.driver.OracleDriver");con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");this.setLayout(null);jLabel1.setBounds(new Rectangle(40,40,64,24));jLabel2.setBounds(new Rectangle(40,100,53,22));jTextField1.setBounds(newRectangle(102,40,200,30));jTextField2.setBounds(newRectangle(102,100,200,30));jButton1.setBounds(new Rectangle(120,200,150,32));jButton1.addActionListener(this);this.add(jLabel1);this.add(jTextField1);this.add(jLabel2);this.add(jTextField2);this.add(jButton1);ResultSet rs=null;st=con.createStatement();rs = st.executeQuery("select * from (select rownum num, a.* from TICKET a)where num = (select count(1) from TICKET)");if(rs.next())jTextField1.setText(rs.getString("TICKET_PRICE"));jTextField2.setText(rs.getString("TICKET_DATE"));public void actionPerformed(ActionEvent e)if(e.getSource()==jButton1)try{Class.forName("oracle.jdbc.driver.OracleDriver");Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");ResultSet rs=null;st=con.createStatement();rs = st.executeQuery("select * from TICKET");if(rs.next())st.executeUpdate("update TICKET set TICKET_DATE='"+jTextField2.getText()+"'");st.executeUpdate("update TICKET set TICKET_PRICE='"+jTextField1.getText()+"'");JOptionPane.showMessageDialog(this,"修改成功!");jTextField1.setText("");jTextField2.setText("");catch(Exception ex){JOptionPane.showMessageDialog(this,"修改失败!");ex.printStackTrace();import javax.swing.*;import javax.swing.table.JTableHeader;import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;public class MyTicket extends JFrameprivate JScrollPane scpDemo;private JTableHeader jth;private JTable tabDemo;private JButton btnShow;private JButton btnShow1;private JButton btnShow2;public MyTicket()super("华清池售票系统");this.setSize(430,400);this.setLayout(null);this.setLocation(500,180);this.scpDemo = new JScrollPane();this.scpDemo.setBounds(10,45,390,270);this.btnShow = new JButton("我的订单");this.btnShow.setBounds(10,10,390,30);this.btnShow1 = new JButton("返回");this.btnShow1.setBounds(290,320,90,30);JLabel jLabel1=new JLabel("输入票号:");final JTextField jTextField1=new JTextField();jLabel1.setBounds(new Rectangle(20,320,100,30));jTextField1.setBounds(new Rectangle(90,320,70,30)); this.btnShow2 = new JButton("退票");this.btnShow2.setBounds(170,320,90,30);add(this.btnShow1);add(this.btnShow2);this.add(jLabel1);this.add(jTextField1);this.setVisible(true);this.btnShow1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) MainUser mu=new MainUser();mu.setVisible(true);dispose();this.btnShow2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e)try{Statement st;Class.forName("oracle.jdbc.driver.OracleDriver");Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:orcl", "system", "123");st=con.createStatement();ResultSet rs=st.executeQuery("select * from TICKET_ORDER_FORM where TICKET_NUM ='"+jTextField1.getText()+"'");if(rs.next())StringTICKET_NUM=rs.getString("TICKET_NUM");StringTICKET_PRICE=rs.getString("TICKET_PRICE");StringTICKET_DATE=rs.getString("TICKET_DATE");st.executeUpdate("insert into TICKET values('"+TICKET_NUM+"','"+TICKET_DATE+"','"+TICKET_PRICE+" ')");st.executeUpdate("delete from TICKET_ORDER_FORM where TICKET_NUM='"+TICKET_NUM+"'");JOptionPane.showInputDialog(this,"退票成功!");jTextField1.setText("");elseJOptionPane.showInputDialog(this,"退票失败!");}catch(ClassNotFoundException cnfe){JOptionPane.showMessageDialog(null,"退票失败!","错误",JOptionPane.ERROR_MESSAGE);}catch(SQLException sqle){JOptionPane.showMessageDialog(null,"退票失败!","错误",JOptionPane.ERROR_MESSAGE);this.btnShow.addActionListener(new ActionListener() public void actionPerformed(ActionEvent ae)btnShow_ActionPerformed(ae);。
景点售票系统设计报告源代码

Oracle课程设计报告——华清池售票管理系统学院:数学与计算机科学学院专业:计算机科学与技术(软件工程方向)班级:软件12组员:姓名:邓茂记学号:1060612014049姓名:张雷学号:1060612014026姓名:余黎晨学号:1060612014010指导教师:许淳时间:2014.12.16目录第一章引言 (1)第二章系统分析 (2)2.1需求分析 (2)2.2功能模块图 (2)2.3数据流程图 (3)第三章系统概要设计 (4)3.1数据库设计 (5)3.1.1实体描述 (6)3.1.2联系描述 (6)3.1.3 E-R图 (7)第四章系统详细设计 (8)4.1数据库的逻辑设计 (8)4.2数据库的实现 (9)4.3 人机界面的设计 (9)4.3.1登陆界面设计 (10)4.3.2管理员基本信息与功能界面设计 (11)4.3.3 用户基本信息与功能界面设计 (13)第五章系统实现 (16)5.1概述 (16)5.2系统运行与维护 (16)第六章小结 (17)第一章引言数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
其中Oracle以其使用方便,安全性高,功能强大和完善的企业服务系统赢得了众多用户的青睐。
下面我将用这学期学到的最基本的oracle知识简单地设计一个景点售票系统。
该系统实现了基本的对数据库的增删改查。
作为买票的顾客(用户),我们实现了其买票,退票和查票的功能,作为卖票的一方(管理员),也可以对余票进行查询,同时也可以增加,修改票务信息!当然,用户角色可以注册以及登录该售票系统,而管理员则默认账户为admin,只能进行登录该系统,不能注册管理员账户。
景区售票系统设计报告
景区售票系统设计报告简介景区售票系统是一种基于计算机技术的现代化管理系统,旨在提高景区的进出口管理、售票服务的效率和质量。
该系统能够实现景区的门票预订、售票、检票、统计等功能,为游客提供便捷的票务服务,提升景区的服务水平和游客体验。
系统架构景区售票系统采用三层架构,分为表现层、业务逻辑层和数据访问层。
表现层表现层是系统的用户接口,用户通过表现层与系统进行交互。
该层使用Web技术实现,采用HTML、CSS、JavaScript等前端技术进行页面展示和用户操作。
业务逻辑层业务逻辑层是系统的核心,负责处理系统的业务逻辑和数据处理。
该层使用Java等编程语言进行开发,实现景区售票系统的各项功能。
数据访问层数据访问层负责与数据库进行交互,对系统的数据进行读写操作。
该层使用MySQL等数据库技术进行数据存储和管理。
功能模块景区售票系统包括以下几个功能模块:门票预订用户可以通过系统进行门票的预订,选择游览日期、门票类型和数量,填写个人信息并支付费用。
系统将生成预订订单并保存相关信息。
门票售票用户可以选择现场购票,系统将根据用户选择的门票类型和数量计算费用,用户支付费用后生成正式门票。
门票检票用户凭借门票通过系统的检票口,系统将识别门票并验证其有效性,有效门票允许用户进入景区。
数据统计系统会记录用户的门票预订、售票和使用情况,并进行数据统计和分析。
管理员可以根据统计结果进行业务决策和优化。
系统管理系统管理员可以对景区售票系统进行管理,包括用户管理、门票管理、价格管理等。
数据库设计景区售票系统的数据库设计如下:用户表用户表保存用户的基本信息,包括用户ID、用户名、密码、手机号、id号等。
门票表门票表保存景区的门票信息,包括门票ID、门票类型、价格、有效日期等。
订单表订单表保存用户的门票预订和售票信息,包括订单ID、用户ID、门票ID、订单状态、数量、支付状态等。
技术选型景区售票系统采用以下技术进行开发:前端技术- HTML:用于页面结构的搭建。
美景票务设计报告
宁波大红鹰学院信息工程学院课程设计报告课程名称:《WEB编程基础综合实践》项目名称:北京美景联动科技有限公司班级名称:13信管4班项目成员:翁晓珍章素珍专业名称:信息管理与信息系统完成时间:2015年6月信息工程学院制一、项目需求和背景北京美景联动科技有限公司是一家立足于旅游行业极具核心竞争力的新型公司,是一家基于移动互联网的电子门票营销企业。
美景票务分销系统不仅仅是一个平台,更是一个高度有效的管理工具。
通过集采的方式从资源方获得产品,渠道商通过美景票务分销平台,把电子票下发到客人手机上,客人凭借验证码去资源方消费。
在验证的同时,平台会与资源方实时验证结算,渠道方也能看到清晰的数据和准确的账单。
充分利用现有的B2B平台,不断增加的产品数量和渠道商数量,快速的实现交易额的增长,来扩大基础业务。
二、网站规划设计说明1、网站规划网站名称:北京美景联动科技有限公司网站主题:美景票务把从资源方获得的产品,通过电子票下发到客人手机上,让顾客实现网上购买景区电子门票,让资源方多一个销售的平台。
并通过网站宣传,树立企业形象,提高企业知名度网站语言:简体中文网站风格:以蓝白为主,给人以简洁轻松的感觉,并加以景区风景图,主题鲜明突出,要点明确,以简单明确的语言和画面体现站点的主题,表现网站的个性和情趣,办出网站的特点。
网站建站目的:美景票务强大的核心技术团队,在票务产品电子化、资金实时清算、代理商渠道管理、电子订单处理、网络促销和数据分析等方面为旅游休闲娱乐领域的各类商家提供及时、准确的电子商务整体解决方案,引领景点电子票务潮流,一站式管理,全程营销。
网站目标人群:喜欢旅游的大众人群,想了解加入本公司的合作伙伴等。
建站内容及说明(1)首页设计页头:简洁鲜明的公司logo,突出公司表示给人加深印象,彰显企业文化页面:页面包括导航条,公司的特色,成长历程,我们的服务和优秀团队(2)导航设计导航系统是有效连接网站各处的工具,它有效的分类网站内容并指向它所代表的内容。
景点门票销售管理系统(程序)
黄水景区车队管理制度软件开发实验课程设计题 目:景点门票销售管理系统院 (系): 机械电子工程系专业班级: 计算机 1101姓 名: 李 永 康学 号: 201106060110指导教师:马睿2014 年 7 月 7 日西安建筑科技大学华清学院课程设计(论文)任务书专业班级: 学生姓名:指导教师(签名): 页脚内容0一、课程设计(论文)题目 景点门票销售管理系统黄水景区车队管理制度二、本次课程设计(论文)应达到的目的通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论 知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和 创新意识、创新能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、 设计要求等) 系统功能基本要求 :1. 票价管理(分老年、小孩、成人、团体、节假日等); 2. 营业员人员管理; 3. 门票查询; 4. 售票及退票管理; 5. 统计门票销售情况(按时间段统计、按营业员统计及按门票类别统计等); 四、应收集的资料及主要参考文献: 1. 数据库:原理编程与性能(影印版)(第2版),高等教育出版社, Parick O'Neil,Elizabeth O'Neil编著,2005.7; 2. 数据库系统概论(第 4 版),高等教育出版社,王珊,萨师煊编著,2006.05;五、审核批准意见教研室主任(签字)设计总说明 随着科技的不断发展,景点门票销售管理信息已经摒弃了以往的手工文件管理阶段,进化成为了高科技、 高效率的数据库应用程序来进行管理。
使用学生信息管理系统可以更高效、准确地进行学生选课、查询、记 录和添加等各种操作,大大减少信息管理人员的负担。
页脚内容1关键字:查询、添加、删除、修改黄水景区车队管理制度目录 1.问题描述…………………………………………………………41.1 开发背景………………………………………………………4 1.2 开发目的………………………………………………………4 1.3 开发运行环境…………………………………………………4页脚内容21.4 系统功能………………………………………………………4 2.需求分析…………………………………………………………42.1 可行性分析……………………………………………………4 2.2 系统要求………………………………………………………5 2.3 功能需求………………………………………………………5 2.4 系统管理………………………………………………………5 3.概要设计…………………………………………………………6 3.1 系统类的设计…………………………………………………6 3.2 系统包含的类…………………………………………………6 4.详细设计……………………………………………………………7 4.1 系统包含的函数…………………………………………………7 4.2 数据库的连接……………………………………………………8 5.程序运行结果……………………………………………………9 6.感想与心得体会……………………………………………………14 7.参考文献……………………………………………………………14 8.源代码………………………………………………………………15黄水景区车队管理制度1.问题描述1.1 开发背景随着我国市场经济的快速发展,景点门票销售管理系统在日常管理中发挥着越来越重要的作用。
景点门票销售管理系统数据库设计
景点门票销售管理系统数据库设计学生姓名:ﻩ李丙崇学号:ﻩ2010508009学生姓名: 任欣月学号:2 ﻩ010508041专业:ﻩ计算机科学与技术ﻩ指导老师:于宝华目录1引言3ﻩ1.1编写目的 (3)1.2背景3ﻩ1.3参考资料 (3)2需求分析 4 2.1目标ﻩ42.2运算坏境 (4)2.3需求概述4ﻩ3结构设计ﻩ53.1逻辑结构设计 (5)3.1.1局部 E-R 图 5 3.1.2全局E-R图6ﻩ3.1.3关系模式7ﻩ3.1.1关系图ﻩ83.2物理结构设计 (8)4.存储过程1ﻩ04.1统计指定日期的门票销售情况 (10)4.2统计指定月份的门票销售情况 (10)4.3统计指定日期各种价格的门票销售情况 ............................... 114.3统计指定营业员指定日期的收费情况1ﻩ25 触发器13 6完整性约束15 7.数据库备份1ﻩ61引言随着全球信息化的发展,我们也步入信息时代,各类管理也更加系统化,公司利用管理信息系统来管理各类业务已经非常普遍。
各类系统也相应的得到飞速发展,为了让我们的管理更加系统,更加清晰,更加科学,从而也开发了一个简单,易操作的管理管理系统。
1.1编写目的根据门票销售管理的特点,对被开发软件系统的主要功能、性能进行完整描述,为软件开发进行详细设计和编程提供基础。
为软件提供测试和验收的依据,即为选取测试用例和进行验收的依据。
1.2背景a.ﻩ该软件系统的名称:门票管理信息系统;b. 本项目的任务提出者:ﻩ石河子大学c. 本项目的开发者:李丙崇ﻩ,任欣月d. 本项目用户:ﻩﻩﻩ景点门票销售部1.3 参考资料[1]王珊,萨师煊.数据库系统概论[M].高等教育出版社,2006年5月第4版[2]郑人杰,马素霞,殷人昆.软件工程概率[M].机械工业出版社,2009年11月[3]马晓梅.SQL Server实验指导[M].清华大学出版社,2009年9月第3版2需求分析2.1目标这个门票管理系统主要是处理旅客买票,订票,退票,以及各类查询结算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。其中Oracle以其使用方便,安全性高,功能强大和完善的企业服务系统赢得了众多用户的青睐。
在现在竞争激烈的电子商务中,系统的安全性和稳定性是首要的选择,其次是提供完善的服务流程。当然实际上的景点售票系统要比这个复杂得多,在这里我只是做了一个系统的抽象和简单建模,也只实现了其中的部分功能,实际上还要包括更多更复杂的子模块和交互性设置来提高系统的完整性和可操作性。
2.2功能模块图
功能模块图就是将系统的功能进行分解,按功能从属关系表示出来的图表。画出功能模块图主要是为了更加明确的体现内部组织关系,更加清晰的理清内部逻辑关系,做到一目了然规范各自功能部分,使之条理化。
图2.1
2.3数据流程图
购票查票
查票增加票
退票修改票
提交订单
查询订单
图2.2
第三章系统概要设计
在经过了系统分析之后,接下来的任务就是系统设计。管理信息系统设计阶段的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。在系统设计中,应尽量满足以下要求:
1)系统总体布局方案的确定;
2)软件系统总体结构的设计;
3)计算机硬件方案的选择和设计;
4)数据存储的总体设计。
结构化设计是系统开发的结构化方法和基本思路与原则在软件系统设计中的应用,也是软件系统设计中应用最广的一种方法。它适用于任何类型的软件系统总体设计,可以同结构化分析和结构化设计前后衔接起来使用。结构化设计方法是从建立一个拥有良好结构的系统的观点出发,基于把一个复杂的系统分解成相对独立模块的原则,主要研究了将系统分解为不同模块的方法和技术,分析系统分解时产生的各种影响,提出了评价模块结构质量的具体标准,并给出了从表达用户要求的数据流程图导出结构图的规则性强、涉及面广的活动,它包括如下主要活动:
第二章系统分析
2.1需求分析
该系统主要实现了一般的简单售票系统的最基本的功能。购票者要购票首先需要注册账号才能登陆,注册时需要填写账号和密码。登陆以后可以购票,也可以查询余票。这里,客户购得的票会有票号、票价和有效日期等信息。购票成功后,顾客还可以查询自己的订单。当然,如果顾客发现买错票,这时候也可以退票。卖票者,也就是管理员可以查询余票,也可以增加、修改票信息。当然,顾客查询和管理员查询看到的东西肯定是不一样的。这里管理员会特殊一点,会看到每一张余票的具体信息,而顾客只能看到剩余的总票数和日期以及票价。增加功能主要实现对每一天的票务信息的更新的功能。每天不管票是否卖完,都须更新票务信息。修改功能主要针对票价及票的日期进行修改,比如某天要做活动,有优惠,票价半价,这时管理员便可以修改票价。
实体属性联系
图4.6
3.1.1实体描述
本系统中涉及的实体有四个,其结构如下:
票(票价、日期、票号)
管理员(管理员账号、管理员密码)
游客(游客账号、游客密码)
订单(游客账号、票价、票号、日期)
3.1.2联系描述
本系统中实体之间有3个联系,其关系如下:
Oracle课程设计报告
——华清池售票管理系统
学院:数学与计算机科学学院
专业:计算机科学与技术(软件工程方向号:1060612014049
姓名:张雷学号:1060612014026
姓名:余黎晨学号:1060612014010
指导教师:许淳
时间:2014.12.16
1)系统性;
2)灵活性;
3)可靠性;
4)经济性。
所以在这一阶段的主要任务是从管理信息系统的总体目标出发,根据系统分析阶段对系统的逻辑功能的要求,并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保总体目标的实现。系统总体结构设计阶段的工作是一项技术性强、涉及面广的活动,它包括如下主要活动:
3.1数据库设计
数据库设计是开发数据库及其应用系统的技术,也是信息系统开发和建设的重要组成部分。具体的说,数据库设计是要在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求。
在系统的数据库设计中,首先对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后得出系统的关系模式。本系统用实体-联系图(简称E-R图)来描述系统的概念模型。E-R图由实体、属性、联系三部分组成,其符号如图4.6所示:
下面我将用这学期学到的最基本的oracle知识简单地设计一个景点售票系统。该系统实现了基本的对数据库的增删改查。作为买票的顾客(用户),我们实现了其买票,退票和查票的功能,作为卖票的一方(管理员),也可以对余票进行查询,同时也可以增加,修改票务信息!当然,用户角色可以注册以及登录该售票系统,而管理员则默认账户为admin,只能进行登录该系统,不能注册管理员账户。其中使用的oracle知识只是oracle里面很少的一部分,但也作为这学期学到的成果展现给大家,如有不对之处欢迎纠正
1)系统总体布局方案的确定;
2)软件系统总体结构的设计;
3)计算机硬件方案的选择和设计;
4)数据存储的总体设计。
结构化设计是系统开发的结构化方法和基本思路与原则在软件系统设计中的应用,也是软件系统设计中应用最广的一种方法。它适用于任何类型的软件系统总体设计,可以同结构化分析和结构化设计前后衔接起来使用。结构化设计方法是从建立一个拥有良好结构的系统的观点出发,基于把一个复杂的系统分解成相对独立模块的原则,主要研究了将系统分解为不同模块的方法和技术,分析系统分解时产生的各种影响,提出了评价模块结构质量的具体标准,并给出了从表达用户要求的数据流程图导出结构图的规则。