课程设计课程名称:数据库、软件工程课程设计设计题目:电影院管理系统学院:信息工程与自动化专业:计算机科学与技术年级: 2009级学生姓名:指导教师:***日期: 2012-07-01国内电影院的售票系统不完善,有很多问题存在,售票效率低下,管理混乱。
现今社会是个讲究效率的社会,时间就是金钱。
开发简单,便于操作的的软件不仅可以节省时间,还可以节省人力,物理,财力等建立的影院售票系统,要把影院的售票管理、订票管理,财务管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。
通过本系统软件,能帮助售票人员利用计算机,快速方便地对影院售票情况,订票情况,剩余座位查询等进行高效的管理。
本软件适用于电影界,它是比较完善的系统管理软件,对影院售票情况,订票情况,剩余座位查询等可以进行方便的管理本软件的使用对象有影院负责人或管理人员(更新维护系统),影院售票人员(办理售票,订票,退票)和买票人(购买影票人员)。
该系统主要完成实现的目的有:1.高效管理数据处理速度快,通过对某一时间段的经营数据进行统计分析,供经营者分析经营状况,以便采取相应的经营、促销策略。
2.客户资源充分利用通过分析顾客的消费信息,制定出有针对性的促销措施,为顾客提供更为得体的服务。
与顾客形成互动,加深印象,促进消费。
3.效益最大化通过票房分析和排片情况,院线经理可对影院票房收益有一个直观的了解,通过最优的影片安排和促销活动来最大限度的增加院线收益。
(一)电影院线电子年票管理系统需求说明1.定义:基于公网及影院局域网络建立的以IC卡为载体,且能够实现准实时数据交互及统计管理的电子年票管理软件。
2.产品描述(1)系统属性是一个在Windows98以上的操作系统平台下运行的院线电子年票管理系统。
(2)开发背景解决各院线电子售票管理工作,方便各电影院线对电子售票票进行快速有效的操作,院线经理对排片和票房统计工作。
(3)软件特点系统操作人员要求具备普通Windows系统操作水平即可。
系统维护人员必须具有数据库管理知识。
3.具体用途1、解决电影院线电子售票票管理上的工作。
方便电影院线对电子售票票进行快速有效的操作。
2、通过插入‘员工卡’或‘管理卡’并输入用户名和相应密码才能进入系统进行管理。
3、影院管理者可对人员信息、排片等进行设置。
(二)用例模型影院职员 客户院线经理统管理人员电影院管理系统售票会员会员充值票房管理排片用户管理报表生成校验密码《包含》《包含》 电影名字票价上映时间选择座位 选择电影场次查看电影信息购票《包含》 《包含》《包含》《包含》《包含》全局ER 图对应电影票11院线经理管理N1有电影院电影厅有N1座位1N售票员出售1N办理会员卡 11消费者办理11办理N1电影电影编号名称上映时间 主演影片格式导演座位座位编号票价是否售出电影票电影名验证码票价电影票号上映时间座位号职工密码职工信息职工编号 职工类型流程图该系统的数据库使用Office 的Access 数据库 部分数据库表如下会员信息表:主键为vip_number ,数据类型为String 。
增加售票会员注册会员查询删除会员查看查看影片修改删除影片登陆售票员管理员职工信息表:主键为Username,数据类型为String。
电影信息表:主键为name,数据类型为String。
三、系统设计(领域类)该系统的框架由一个窗口类实现,我定义了一个名为Cinema的类,该类继承了JFrame,可是实现ActionListener接口。
还有一些实现特定功能的类例如:(1) class VipJDialog extends JDialog:该类继承了JDilog,能在录入信息时弹出一个确认用户信息的对话框(2) class InsertVip:该类实现与数据库的连接,我在这个类中定义了一个能接受一个数组,并把该数组写入相应数据库的方法,能达到保存用户信息和电影排片管理的功能。
(3) class serchVip:该类同样是实现与数据库的连接,我在这个类中定义了一个查询的方法,方便用户对影院职员和电影信息的查看。
(4) class jpanel extends JPanel:该类继承了JPanel,可以在用户触发特定事件时移除之前面板的组件并添加新的组件,实现用户界面的切换。
由于该系统的很多功能还为实现,其他的类只能在以后的开发中再添加。
四、编码实现(截图关键代码)用户主界面public class Cinema extends JFrame implements ActionListener { public Cinema(){super("电影院管理系统");Dimension dim=getToolkit().getScreenSize();this.setBounds(dim.width/6,dim.height/6,dim.width*2/3,dim.height* 2/3);this.setBackground(java.awt.Color.blue);this.setResizable(true);this.setDefaultCloseOperation(EXIT_ON_CLOSE);String menustr[]={"用户登录","售票","会员","用户管理","影片管理","票房查询","帮助"};menu=new JMenu[menustr.length];menubar=new JMenuBar();for(int i=0;i<menustr.length;i++){menu[i]=new JMenu(menustr[i]);menubar.add(menu[i]);}用户登录界面public void addpanel_1()//用户登录面板组件{JPanel panel_u1,panel_u2,panel_u3,panel_u4,panel_hold;panel_u1=new JPanel();panel_u1.setLayout(new FlowLayout(0));panel_u1.add(new JLabel("会员类型"));JTextField text=new JTextField("普通用户",8);text.setHorizontalAlignment(JTextField.CENTER);text.setEditable(false);panel_u1.add(text);panel_u2=new JPanel();panel_u2.setLayout(new FlowLayout(0));panel_u2.add(new JLabel("用户名"));text_user=new JTextField("",10);panel_u2.add(text_user);panel_u3=new JPanel();panel_u3.setLayout(new FlowLayout(0));panel_u3.add(new JLabel("密码"));JPasswordField pass_user=new JPasswordField("",10);panel_u3.add(pass_user);panel_u4=new JPanel();panel_u4.setLayout(new FlowLayout(0));button_U=new JButton("登录");button_U.addActionListener(this);button_P=new JButton("取消");panel_u4=new JPanel();panel_u4.setLayout(new FlowLayout(0));button_U=new JButton("登录");button_U.addActionListener(this);button_P=new JButton("取消");panel_u4.add(button_U);panel_u4.add(button_P);panel_hold=new JPanel();panel_hold.setLayout(new GridLayout(4,1));panel_hold.add(panel_u1);panel_hold.add(panel_u2);panel_hold.add(panel_u3);panel_hold.add(panel_u4);panel_2.add(panel_hold);}会员办理界面会员信息录入界面class VipJDialog extends JDialog //会员信息录入{JTextField jtext[];JFrame jframe;VipJDialog(JFrame jframe){super(jframe,"会员信息录入",true);this.jframe=jframe;this.setSize(400, 280);this.setLayout(new FlowLayout(0,10,10));this.setDefaultCloseOperation(HIDE_ON_CLOSE); jtext=new JTextField[7];this.getContentPane().add(new JLabel("会员卡号"));jtext[0]=new JTextField("",10);this.getContentPane().add(jtext[0]);this.getContentPane().add(new JLabel("真实姓名"));五、结论这次的课程设计对我以后的编程有很大的帮助,对JAVA的学习,特别是图形界面设计有了很大的提高,之前没学到的JAVA连接数据库,通过这次设计,也初步理解了,想要把这个系统做的全面还是很困难的,在接下来的时间里我会继续对这个系统进行完善,努力将现在还未实现的功能添加上去,将界面做得更美观一些,好好干!。