当前位置:文档之家› 电影院管理系统

电影院管理系统

电影院管理系统
电影院管理系统

课程设计

课程名称:数据库、软件工程课程设计

设计题目:电影院管理系统

学院:信息工程与自动化

专业:计算机科学与技术

年级: 2009级

学生姓名:

指导教师:王清心

日期: 2012-07-01

国内电影院的售票系统不完善,有很多问题存在,售票效率低下,管理混乱。现今社会是个讲究效率的社会,时间就是金钱。开发简单,便于操作的的软件不仅可以节省时间,还可以节省人力,物理,财力等

建立的影院售票系统,要把影院的售票管理、订票管理,财务管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。

通过本系统软件,能帮助售票人员利用计算机,快速方便地对影院售票情况,订票情况,剩余座位查询等进行高效的管理。

本软件适用于电影界,它是比较完善的系统管理软件,对影院售票情况,订票情况,剩余座位查询等可以进行方便的管理

本软件的使用对象有影院负责人或管理人员(更新维护系统),影院售票人员(办理售票,订票,退票)和买票人(购买影票人员)。

该系统主要完成实现的目的有:

1.高效管理

数据处理速度快,通过对某一时间段的经营数据进行统计分析,供经营者分析经营状况,以便采取相应的经营、促销策略。

2.客户资源充分利用

通过分析顾客的消费信息,制定出有针对性的促销措施,为顾客提供更为得体的服务。与顾客形成互动,加深印象,促进消费。

3.效益最大化

通过票房分析和排片情况,院线经理可对影院票房收益有一个直观的了解,通过最优的影片安排和促销活动来最大限度的增加院线收益。

(一)电影院线电子年票管理系统需求说明

1.定义:基于公网及影院局域网络建立的以IC卡为载体,且能够实现准实时数据交互及统计管理的电子年票管理软件。

2.产品描述

(1)系统属性

是一个在Windows98以上的操作系统平台下运行的院线电子年票管理系统。

(2)开发背景

解决各院线电子售票管理工作,方便各电影院线对电子售票票进行快速有效的操作,院线经理对排片和票房统计工作。

(3)软件特点

系统操作人员要求具备普通Windows系统操作水平即可。系统维护人员必须具有数据库管理知识。

3.具体用途

1、解决电影院线电子售票票管理上的工作。方便电影院线对电子售票票进行快速有效的操作。

2、通过插入‘员工卡’或‘管理卡’并输入用户名和相应密码才能进入系统进行管理。

3、影院管理者可对人员信息、排片等进行设置。

(二)用例模型

影院职员客户院线经理

统管理人员

电影院管理系统

售票

会员

会员充值

票房管理

排片

用户管理

报表生成

校验密码

《包含》

《包含》

电影名字

票价

上映时间

选择座位选择电影场次

查看电影信息

购票

《包含》《包含》

《包含》

《包含》

《包含》

全局ER 图

对应

电影票

1

1

院线经理

管理

N

1

电影院

电影厅

N

1

座位

1

N

售票员

出售

1

N

办理

会员卡 1

1

消费者

办理

1

1

办理

N

1

电影

电影编号

名称

上映时间 主演

影片格式

导演

座位

座位编号

票价

是否售出

电影票

电影名

验证码票价

电影票号

上映时间

座位号

职工密码

职工信息

职工编号职工类型

流程图

该系统的数据库使用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

{

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连接数据库,通过这次设计,也初步理解了,想要把这个系统做的全面还是很困难的,在接下来的时间里我会继续对这个系统进行完善,努力将现在还未实现的功能添加上去,将界面做得更美观一些,好好干!。

相关主题
文本预览
相关文档 最新文档