影院售票系统设计.docx
《影院售票系统设计.docx》由会员分享,可在线阅读,更多相关《影院售票系统设计.docx(14页珍藏版)》请在冰豆网上搜索。
影院售票系统设计
1需求分析
需求分析包括可行性分析、系统流程图和数据流图。
可行性分析包括技术可行性、经济可行性和操作可行性。
1.1可行性分析
1.1.1技术可行性
根据电影院提出的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
由以上分析可知,影院售票系统的开发在技术上是可行的。
1.1.2经济可行性
电影院具有信息化的处理设施,并且拥有支持本系统的应用平台。
因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,电影院无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
由以上分析可知,影院售票系统在经济上是可行的。
1.1.3操作可行性
根据系统页面用户可以自动查询影片信息,站内新闻,后台个人资料等。
还可浏览完影片信息以后操作订票、退票等功能。
管理员也可以在后台添加、修改并删除站内新闻、影片信息,还可以管理注册用户信息和用户订票信息。
由以上分析可知本系统在操作上也是可行的。
1.2系统流程图
首先未注册的用户要先注册,注册完了以后输入用户名和密码进入页面。
根据网站上的影片信息用户可以选择自己喜欢的电影来订票。
然后订票信息会自动存储到后台订票信息数据当中。
本系统的具体流程为如图所示。
系统流程图
1.3数据流图
本系统的基本模型数据流图为如图所示。
系统基本模型数据流图
系统功能数据流图
2总体设计
2.1系统前台功能模块设计
本影院售票系统的前台功能主要有站内新闻、用户注册、影片资讯、订票等四大模块;前台的基本层次结构图如图所示。
影院售票系统前台功能模块图
功能说明:
(1)网站首页:
在网站首页中用户可以了解最新上映的电影和热门电影以及网站的站内新闻。
(2)站内新闻:
用户可以浏览网站更新的有关新闻。
(3)影片资讯:
影片资讯模块主要给用户提供对相关影片的详细介绍。
用户可以通过该页面了解最新上映的电影以及电影的有关信息,例如该影片的导演、主演、剧情、片长、票价等。
接下来可以选择自己想看的电影、然后跳转到订票页面再选择场次和座位,就可以成功订票。
该功能要下下面单独介绍。
(4)用户注册:
用户要想订票就得先注册,注册完以后登陆。
注册用户的个人功能模块如图所示。
用户个人功能模块图
用户登陆:
用户输入自己已注册的用户名和密码,成功登陆以后可以进入影片详细页面选择场次和座位、然后点击订票按钮就可以成功订票。
用户还可以进入个人后台修改个人资料、管理个人订票记录。
2.2系统后台功能模块设计
模块说明:
(1)系统管理:
系统管理模块实现对管理员的添加和删除功能。
例如、超级管理员可以添加并删除普通管理员,但是普通管理员实现不了这个功能。
普通管理员只能对以下的站内信息、注册用户信息、订票信息进行添加、修改并删除等功能。
(2)站内新闻管理:
可以对站内新闻执行添加、查询修改、删除等功能。
(3)注册用户信息管理:
对注册的用户进行管理。
(4)影片信息管理:
对放映影片的信息进行添加、查询、修改、删除等功能。
(5)订票管理:
对用户的订票、退票等功能进行管理。
还可以针对每个电影统计票房。
影院售票系统后台的层次模块如图所示。
影院售票系统后台功能模块图
2.3数据库设计
(1)新闻信息表用于存放站内新闻的信息。
新闻信息表
列名
数据类型
长度
允许空
字段说明
ID
int
4
title
varchar
50
站内新闻标题
content
varchar
255
站内新闻内容
addtime
datetime
8
(2)用户信息表用于存放后台管理员的基本信息。
后台管理员用户信息表
列名
数据类型
长度
允许空
字段说明
ID
int
4
username
varchar
50
用户名
pwd
varchar
50
密码
qx
varchar
50
权限
addtime
datetime
8
(3)影片信息表用来存放影片的基本信息。
影片信息表
列名
数据类型
长度
允许空
字段说明
ID
int
4
bianhao
varchar
50
编号
yingpinamingcheng
varchar
50
影片名称
daoyan
varchar
50
导演
zhuyan
varchar
50
主演
yingpianleixing
varchar
50
影片类型
guojia
varchar
50
国家
pianchang
varchar
50
片长
shangyingshijian
varchar
50
上映时间
piaojia
varchar
50
票价
tupian
varchar
50
图片
beizhu
varchar
800
备注(由于文章的长短所以把长度设置为800)
addtime
datetime
8
(4)友情链接信息表用来存放友情链接的基本信息。
友情链接信息表
列名
数据类型
长度
允许空
字段说明
ID
int
4
wangzhanmingcheng
varchar
50
网站名称
wangzhi
varchar
50
网址
addtime
datetime
8
(5)订票信息表用来存放订票的基本信息。
订票记录信息表
列名
数据类型
长度
允许空
字段说明
ID
int
4
dingpiaoren
varchar
50
订票人即用户名
yingpianbianhao
varchar
50
影片编号
yingpianmingcheng
varchar
50
影片名称
fangyingshijian
varchar
50
放映时间
fangyingdidian
varchar
50
放映地点
zuowei
varchar
50
座位
piaojia
varchar
50
票价
addtime
datetime
8
2.4系统E-R图
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依关系进
行了整合,得出本系统E-R图,如图所示。
系统E-R图
其中影片信息实体属性图又为如下图所示。
影片信息实体属性图
影片场次实体属性图为如图所示。
图影片场次实体属性图
用户实体属性图为如图所示。
图用户信息实体属性图
3详细设计
详细设计分为系统前台设计和系统后台设计。
3.1系统前台设计
系统前台设计是为了方便用户了解有关影片信息和进行订票。
3.1.1网站首页模块
在网站首页我们可以看到站内新闻列表、最新影片、以及网站的有关信息。
网站首页界面如图所示。
网站首页
网站首页界面
点击上方的各个按钮就可以跳转到相关的信息页面。
点击站内新闻列表可以直接跳转到该新闻的详细信息页面,点击最新影片的图片也可以跳转到该影片的界面。
其中左下角的系统公告是从下往上动态浮动的。
用文字移动属性marquee来实现了该功能。
主要代码如下:
本周热门电影: 倩女幽魂,硬汉2,战国 |
3.1.2用户登录模块
此模块主要功能是用于登录本系统,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的密码取出来赋给一个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则进入相应的页面,否则输出密码错误。
用户登录界面如图4.2所示。
用户登陆界面
提示用户登录失败界面如图所示。
提示登录失败界面
3.1.3用户注册模块
用户要想订票就得先注册再订票。
如果没有注册就不能执行订票功能。
注册流程:
用户填写用户注册页面的表格,然后点击注册按钮,系统验证用户输入的注册信息是否合法,如果合法就把用户输入的注册信息保存到系统的数据库中。
如果注册信息不合法就提示出错。
用户注册界面如图所示。
用户注册界面
主要代码如下:
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringsql;
sql="insertintozhuceyonghu(yonghuming,mima,xingming,dianhua,youxiang,shenfenzheng,xingbie,beizhu)values('"+yonghuming.Text.ToString().Trim()+"','"+mima.Text.ToString().Trim()+"','"+xingming.Text.ToString().Trim()+"','"+dianhua.Text.ToString().Trim()+"','"+youxiang.Text.ToString().Trim()+"','"+shenfenzheng.Text.ToString().Trim()+"','"+xingbie.Text.ToString().Trim()+"','"+beizhu.Text.ToString().Trim()+"')";
intresult;
result=newClass1().hsgexucute(sql);
if(result==1)
{
Response.Write("");
}
else
{
Response.Write("");
}
填写完个人资料以后点击添加就可以成功注册了。
提示注册成功对话框如图4.5所示。
提示注册成功界面
3.1.7订票模块
用户选择影片场次和座位以后点击添加、系统就会把订票信息添加到数据库。
用户订票界面如图所示。
图4.10订票界面
图4.11提示订票成功界面
主要代码如下:
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringsql;
sql="selectidfromdingpiaojiluwhereyingpianbianhao='"+yingpianbianhao.Text.ToString().Trim()+"'andfangyingshijian='"+fangyingshijian.Text.ToString().Trim()+"'andzuowei='"+zuowei.Text.ToString().Trim()+"'";
DataSetresult2=newDataSet();
result2=newClass1().hsggetdata(sql);
if(result2!
=null)
{
if(result2.Tables[0].Rows.Count>0)
{
Response.Write("");
Response.End();
}
}
sql="insertintodingpiaojilu(dingpiaoren,yingpianbianhao,yingpianmingcheng,fangyingshijian,fangyingdidian,zuowei,piaojia)values('"+dingpiaoren.Text.ToString().Trim()+"','"+yingpianbianhao.Text.ToString().Trim()+"','"+yingpianmingcheng.Text.ToString().Trim()+"','"+fangyingshijian.Text.ToString().Trim()+"','"+fangyingdidian.Text.ToString().Trim()+"','"+zuowei.Text.ToString().Trim()+"','"+piaojia.Text.ToString().Trim()+"')";
intresult;
result=newClass1().hsgexucute(sql);
sql="updateyingpiansetpiaoshu=piaoshu-1wherebianhao='"+yingpianbianhao.Text.ToString().Trim()+"'";
result=newClass1().hsgexucute(sql);
if(result==1)
{
Response.Write("");
}
else
{
Response.Write("");
}
}
3.1.8个人后台模块
用户可以在个人后台上自动修改个人资料和管理订票信息。
图4.12点击个人后台